:root{--bg:#fbfaf7;--text:#1d2330;--muted:#5b6475;--line:#e4e1da;--accent:#3b5bdb;--card:#fff;--max:1000px;--read:720px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.0625rem;line-height:1.65}a{color:var(--accent);text-underline-offset:3px}a[rel~=external]:after{content:"↗︎";content:"↗︎" / "";margin-left:.2em;font-size:.85em;font-weight:700;line-height:1;transition:transform .15s;display:inline-block}a[rel~=external]:hover:after,a[rel~=external]:focus-visible:after{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){a[rel~=external]:after{transition:none}}.timeline h3 a{color:inherit;text-decoration-color:var(--line);text-decoration-thickness:2px}.timeline h3 a:hover{color:var(--accent);text-decoration-color:currentColor}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:#fff;padding:.5rem 1rem;top:1rem;left:1rem}nav.top,header.hero,main,footer{max-width:var(--max);margin:0 auto;padding:0 1.25rem}nav.top{justify-content:space-between;align-items:center;padding-top:1.25rem;font-size:.95rem;display:flex}.brand{letter-spacing:.01em;color:var(--text);font-weight:700;text-decoration:none}.links{align-items:center;gap:1rem;display:flex}.links a{color:var(--muted);text-decoration:none}.links a:hover{color:var(--text)}.lang{border:1px solid var(--line);border-radius:999px;padding:.2rem .8rem}.lang:hover{border-color:var(--muted)}header.hero{padding-top:3.5rem;padding-bottom:2rem}.hero.home{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:3.5rem;padding-top:4.5rem;padding-bottom:3.5rem;display:grid}.hero.home h1{margin-bottom:1.4rem;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08}.eyebrow{color:var(--muted);letter-spacing:.01em;align-items:center;gap:.75rem;margin:0 0 1.4rem;font-size:.95rem;font-weight:600;display:flex}.avatar{object-fit:cover;border-radius:50%;width:56px;height:56px;display:none}.photo{aspect-ratio:1;object-fit:cover;border-radius:28px;width:100%;height:auto;display:block;box-shadow:0 24px 48px -24px #1d233059}.btn.btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.btn.btn-ghost:hover{color:var(--accent);border-color:var(--accent);background:0 0}h1{letter-spacing:-.02em;margin:0 0 1.25rem;font-size:clamp(1.9rem,5.2vw,2.9rem);line-height:1.15}h1 span{color:var(--accent)}.lead{color:var(--muted);max-width:40rem;margin:0 0 1.5rem;font-size:1.15rem}.cta{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.btn{background:var(--text);color:#fff;border-radius:8px;padding:.65rem 1.2rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--accent)}main{padding-bottom:2rem}section{margin:3.5rem 0}h2{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.45rem}h3{margin:0 0 .35rem;font-size:1.05rem}h3 small{color:var(--muted);font-size:.9rem;font-weight:400;display:block}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:1.25rem 0;list-style:none;display:grid}.stats li{color:var(--muted);font-size:.9rem;line-height:1.35}.stats strong{color:var(--text);letter-spacing:-.01em;font-size:1.5rem;display:block}.cards{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;display:grid}.cards article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem}.cards article:last-child:nth-child(odd){grid-column:1/-1}.cards p{color:var(--muted);margin:0;font-size:.97rem}.cards p+p,.cards ul+p{margin-top:.6rem}.cards ul{color:var(--muted);margin:.6rem 0 0;padding-left:1.1rem;font-size:.97rem}.cards li strong{color:var(--text)}blockquote{border-left:3px solid var(--accent);margin:0;padding:.25rem 0 .25rem 1.1rem;font-size:1.12rem}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--line);padding:0 0 1.75rem 1.5rem;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:.45rem;left:-7px}.step{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.75rem;font-weight:700}.timeline p{color:var(--muted);margin:.3rem 0 0}.job-more{max-width:var(--read);margin-top:.6rem}.job-more summary{cursor:pointer;width:fit-content;color:var(--accent);border-radius:4px;font-size:.95rem;font-weight:600}.job-more summary:hover{text-underline-offset:3px;text-decoration:underline}.job-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.job-more ol{border-left:2px solid var(--line);gap:.65rem;margin:.7rem 0 0;padding:0 0 0 .9rem;list-style:none;display:grid}.timeline .job-more li{color:var(--muted);border:0;padding:0;font-size:.97rem}.timeline .job-more li:before{content:none}.job-more li{color:var(--muted)}.job-more .when{color:var(--text);white-space:nowrap;font-weight:600}.job-more strong{color:var(--text)}section.small .job-more{margin:0 0 1rem;font-size:.95rem}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:1rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:0 0 100%;padding:1.5rem;display:flex}.carousel-track{align-items:stretch}.carousel-slide figure{flex-direction:column;flex:1;display:flex}.carousel-slide .quote-body{padding-bottom:1rem}.carousel-slide blockquote{border:0;padding:0;font-size:1.05rem}.carousel-slide blockquote p{margin:0 0 .7rem}.carousel-slide blockquote p:last-child{margin-bottom:0}.carousel-slide .clamp{max-height:10.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 65%,#0000);mask-image:linear-gradient(#000 65%,#0000)}.carousel-slide .more{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.5rem;padding:0;font-size:.92rem;font-weight:600}.carousel-slide figcaption{border-top:1px solid var(--line);margin-top:auto;padding-top:.9rem}.carousel-slide blockquote:before{content:"“";color:var(--accent);font-size:2.6rem;line-height:.8;display:block}.carousel-nav{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.carousel-btn{border:1px solid var(--line);background:var(--card);width:2.4rem;height:2.4rem;color:var(--text);cursor:pointer;border-radius:50%;font-size:1rem}.carousel-btn:hover{border-color:var(--accent);color:var(--accent)}.carousel-count{color:var(--muted);text-align:center;min-width:3rem;font-size:.9rem}.carousel-all{margin-left:auto;font-size:.92rem}@media (prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}figure{margin:0}figcaption{color:var(--muted);margin-top:.5rem;font-size:.92rem}figcaption small{color:var(--muted)}section.small p{color:var(--muted);font-size:.95rem}section.contact{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.5rem}section.contact p{color:var(--muted)}.posts{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.posts a{color:var(--text);text-decoration:none}.posts a:hover h3{color:var(--accent)}.posts p{color:var(--muted);margin:.2rem 0 0;font-size:.97rem}.meta{color:var(--muted);font-size:.88rem}.tag-draft{color:#7a5b00;background:#fff3bf;border-radius:6px;margin-left:.4rem;padding:0 .4rem;font-size:.78rem;font-weight:600;display:inline-block}section>p,section>blockquote,.posts,.timeline,.article-head,.prose{max-width:var(--read)}.article-head{padding-top:3rem}.article-head h1{font-size:clamp(1.7rem,4.6vw,2.5rem)}.article-head .lead{margin-bottom:.75rem}.prose{margin-top:2rem}.prose h2{margin-top:2.5rem}.prose h3{margin-top:1.75rem}.prose p,.prose ul,.prose ol{margin:0 0 1.15rem}.prose li{margin-bottom:.35rem}.prose code{background:#f0eee8;border-radius:4px;padding:.1rem .35rem;font-size:.92em}.prose pre{color:#f5f5f5;background:#1d2330;border-radius:10px;padding:1rem 1.1rem;font-size:.9rem;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose img{border-radius:10px;max-width:100%}.prose blockquote{margin:1.5rem 0}.draft-banner{background:#fff3bf;border:1px solid #f0d36b;border-radius:10px;margin-top:1.5rem;padding:.75rem 1rem;font-size:.95rem}footer{border-top:1px solid var(--line);color:var(--muted);padding-top:1.5rem;padding-bottom:3rem;font-size:.9rem}@media (width<=640px){.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}header.hero{padding-top:2.5rem}}@media (width<=860px){.hero.home{grid-template-columns:1fr;gap:0;padding-top:2.25rem;padding-bottom:2.5rem}.hero.home .photo{display:none}.avatar{display:block}.hero.home h1{font-size:clamp(2rem,8.4vw,2.8rem)}}
