@view-transition{navigation:auto}:root{--bg:#0b1426;--bg-raised:#111d36;--bg-soft:#0e1a31;--fg:#e8edf7;--muted:#93a2bf;--line:#22314f;--accent:#e3b976;--accent-ink:#1a1405;--accent-soft:#e3b97624;--bar-org:#4d6599;--focus:#9db8ff;--sel:#4f8cff;--spot:#7896e629;--font-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"Figtree", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#e8edf8;--bg-raised:#f4f7fd;--bg-soft:#dde5f4;--fg:#0e1a33;--muted:#4a5878;--line:#c5d0e8;--accent:#8a5c14;--accent-ink:#fff;--accent-soft:#8a5c1424;--bar-org:#6b82b0;--focus:#1f4fd8;--sel:#2f6bff;--spot:#3c64dc1a;color-scheme:light}}:root[data-theme=light]{--bg:#e8edf8;--bg-raised:#f4f7fd;--bg-soft:#dde5f4;--fg:#0e1a33;--muted:#4a5878;--line:#c5d0e8;--accent:#8a5c14;--accent-ink:#fff;--accent-soft:#8a5c1424;--bar-org:#6b82b0;--focus:#1f4fd8;--sel:#2f6bff;--spot:#3c64dc1a;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;padding-block:0 3rem;padding-inline:1.25rem;font-size:1rem;line-height:1.6;overflow-x:hidden}img{max-width:100%}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{z-index:1;max-width:72rem;margin-inline:auto;position:relative}.skip{background:var(--accent);color:var(--accent-ink);z-index:50;padding:.5rem .75rem;position:absolute;top:0;left:-999px}.skip:focus{top:1rem;left:1rem}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.progress{z-index:60;background:var(--accent);transform-origin:0;height:3px;transform:scaleX(var(--p,0));pointer-events:none;position:fixed;inset:0 0 auto}.spot{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(34rem circle at var(--sx,50%) var(--sy,30%), var(--spot), transparent 70%);transition:opacity .4s;position:fixed;inset:0}.spot.on{opacity:1}.guides{z-index:0;pointer-events:none;background:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px calc(100% / 12));border-right:1px solid var(--line);opacity:.38;max-width:72rem;margin-inline:auto;position:fixed;inset:0 1.25rem;-webkit-mask-image:linear-gradient(#000 0 55%,#0000 100%);mask-image:linear-gradient(#000 0 55%,#0000 100%)}.readout{z-index:35;pointer-events:none;font:500 .68rem var(--font-mono);letter-spacing:.06em;color:var(--muted);background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid var(--line);border-radius:6px;padding:.25rem .6rem;display:none;position:fixed;bottom:.9rem;left:1rem}@media (hover:hover) and (pointer:fine) and (width>=64rem){.readout{display:block}}.top{z-index:40;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);margin-inline:-1.25rem;padding-inline:1.25rem;position:sticky;top:0}.top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;padding-block:.7rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.55rem;font-weight:800;text-decoration:none;display:inline-flex}.brand i{background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.top nav{flex-wrap:wrap;align-items:center;gap:.25rem 1.4rem;display:flex}.top nav a{color:var(--muted);padding-block:.3rem;font-size:.9rem;text-decoration:none;transition:color .2s;position:relative}.top nav a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .3s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.top nav a:hover,.top nav a[aria-current=true]{color:var(--fg)}.top nav a:hover:after,.top nav a[aria-current=true]:after{transform:scaleX(1)}.theme{width:2.1rem;height:2.1rem;color:var(--muted);border:1px solid var(--line);cursor:pointer;transition:color .2s, border-color .2s, transform .4s var(--ease);background:0 0;border-radius:50%;place-items:center;display:inline-grid}.theme:hover{color:var(--fg);border-color:var(--muted);transform:rotate(25deg)}.theme svg{width:1.05rem;height:1.05rem}.theme .sun{display:none}:root[data-theme=light] .theme .sun{display:block}:root[data-theme=light] .theme .moon{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .theme .sun{display:block}:root:not([data-theme=dark]) .theme .moon{display:none}}.top nav a.lang{border:1px solid var(--line);min-width:2.1rem;height:2.1rem;font:500 .72rem var(--font-mono);letter-spacing:.06em;border-radius:999px;place-items:center;padding:0 .55rem;transition:color .2s,border-color .2s;display:inline-grid}.top nav a.lang:after{display:none}.top nav a.lang:hover{color:var(--fg);border-color:var(--muted)}@media (width<=40rem){.top .wrap{flex-direction:column;align-items:flex-start}.top nav{gap:.25rem .9rem;width:100%}.top nav a{white-space:nowrap;font-size:.85rem}.theme{width:44px;min-width:44px;height:44px;min-height:44px;position:absolute;top:.35rem;right:0}.top nav a.lang{min-width:44px;height:44px;min-height:44px;padding:0 .65rem;font-size:.75rem;position:absolute;top:.35rem;right:3.5rem}}.js .reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--d,0) * 90ms);transform:translateY(1.5rem)}.js .reveal.is-in{opacity:1;transform:none}.eyebrow{font:500 .75rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.6rem;margin:0;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:1.6rem;height:1px}.btn{border:1px solid var(--line);color:var(--fg);cursor:pointer;transition:transform .25s var(--ease), border-color .2s, background .2s, box-shadow .25s;background:0 0;border-radius:99px;align-items:center;gap:.5rem;padding:.75rem 1.3rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted);transform:translateY(-2px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{box-shadow:0 8px 26px -8px var(--accent)}.btn .arr{transition:transform .25s var(--ease)}.btn:hover .arr{transform:translate(3px,-3px)}.cta{flex-wrap:wrap;gap:.75rem;display:flex}.hero{gap:3rem;padding-block:clamp(2.5rem,7vw,4.5rem);display:grid;position:relative}.hero-left,.hero-right{align-content:center;gap:1.5rem;min-width:0;display:grid}@media (width>=64rem){.hero{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,32rem);align-items:center;gap:2rem 4rem;min-height:calc(100svh - 3.6rem)}.facts{grid-column:1/-1}}.name{width:fit-content;max-width:100%}h1{font-family:var(--font-display);letter-spacing:-.012em;font-variant-ligatures:none;margin:0;font-size:clamp(3.4rem,15vw,9rem);font-weight:800;line-height:.88}h1 .word{white-space:nowrap;margin-right:.2em;display:inline-block}h1 .word:last-child{margin-right:0}h1 .ch{transition:transform .45s var(--ease), color .3s;will-change:transform;display:inline-block}h1 .ch:hover{color:var(--accent);transform:translateY(-.06em)rotate(-3deg)}@media (width>=64rem){h1{font-size:clamp(3.4rem,8.6vw,8.2rem)}}.hero-role{font:500 clamp(.95rem, 2vw, 1.15rem) var(--font-mono);color:var(--muted);min-height:1.6em;margin:0}.hero-role b{color:var(--accent);font-weight:500}.hero-role .caret{background:var(--accent);vertical-align:-.18em;width:.55ch;height:1.1em;margin-left:.15ch;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.lede{max-width:42rem;color:var(--fg);margin:0;font-size:clamp(1.1rem,2.4vw,1.4rem)}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem 2rem;margin:0;padding-top:1.5rem;display:grid}.facts div{min-width:0}.facts dt{font:500 .7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:.2rem 0 0}section{border-top:1px solid var(--line);padding-block:clamp(3rem,7vw,5.5rem);scroll-margin-top:4rem}.hero+section{border-top:0}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 2rem;margin-bottom:2.25rem;padding-bottom:1.1rem;display:flex;position:relative}.head:after{content:"";border-bottom:1px solid var(--muted);background:repeating-linear-gradient(90deg, var(--muted) 0 1px, transparent 1px 12px);opacity:.55;height:7px;position:absolute;bottom:0;left:0;right:0}.head-l{gap:.6rem;display:grid}h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05}.sub{color:var(--muted);max-width:30rem;margin:0}h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.25}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}.chip{font:500 .8rem var(--font-body);color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;padding:.35rem .95rem;transition:all .2s}.chip:hover{color:var(--fg);border-color:var(--muted)}.chip[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.rows{border-top:1px solid var(--line)}.row{border-bottom:1px solid var(--line);color:inherit;transition:opacity .3s, padding .4s var(--ease);grid-template-columns:3.2rem minmax(0,1fr) auto;align-items:baseline;gap:.35rem 1.5rem;padding:clamp(1.4rem,3vw,2.2rem) 0;text-decoration:none;display:grid;position:relative}.row[hidden]{display:none}.r-num{font:500 .8rem var(--font-mono);color:var(--accent);letter-spacing:.08em}.r-title{font-family:var(--font-display);letter-spacing:-.03em;transition:transform .45s var(--ease), color .3s;font-size:clamp(2rem,6.2vw,4.6rem);font-weight:800;line-height:1;display:block}.r-side{text-align:right;justify-items:end;gap:.35rem;display:grid}.r-year{font:500 .8rem var(--font-mono);color:var(--muted);letter-spacing:.06em}.r-arr{color:var(--accent);transition:transform .4s var(--ease);font-size:1.6rem;line-height:1}.r-body{grid-column:2/-1;gap:.6rem;max-width:46rem;display:grid}.r-desc{color:var(--muted);margin:0}.r-meta{font:400 .75rem var(--font-mono);color:var(--muted);letter-spacing:.03em;flex-wrap:wrap;gap:.25rem 1rem;display:flex}.tech{font:400 .8rem var(--font-mono);color:var(--accent)}.r-thumb{aspect-ratio:16/10;border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;margin-top:.75rem;display:none;overflow:hidden}.r-thumb img{object-fit:cover;width:100%;height:100%;display:block}.r-mini{display:none}@media (hover:hover) and (pointer:fine) and (width>=48rem){.row{grid-template-columns:3.2rem minmax(0,1fr) auto auto}.r-mini{aspect-ratio:16/10;border:1px solid var(--line);background:var(--bg-raised);width:8rem;transition:opacity .3s var(--ease), transform .5s var(--ease);border-radius:8px;align-self:center;display:block;overflow:hidden}.r-mini img{object-fit:cover;width:100%;height:100%;display:block}.row:hover .r-mini{opacity:0;transform:scale(.82)translate(-10px)}.rows:has(.row:hover) .row:not(:hover){opacity:.35}.row:hover{padding-left:1rem}.row:hover .r-title{color:var(--accent);transform:translate(.4rem)}.row:hover .r-arr{transform:translate(6px,-6px)}}@media (hover:none),(width<=47.99rem){.row{grid-template-columns:2.2rem minmax(0,1fr)}.r-side{text-align:left;grid-column:2;grid-auto-flow:column;justify-content:start;justify-items:start;gap:1rem}.r-body{grid-column:1/-1}.r-thumb{display:block}}.peek{z-index:30;aspect-ratio:16/10;pointer-events:none;border:1px solid var(--line);background:var(--bg-raised);opacity:0;width:min(26rem,34vw);transition:opacity .25s, scale .35s var(--ease);will-change:transform;border-radius:12px;position:fixed;top:0;left:0;overflow:hidden;scale:.85;box-shadow:0 30px 60px -20px #0009}.peek.on{opacity:1;scale:1}.peek img{object-fit:cover;width:100%;height:100%;display:block}.empty{border:1px dashed var(--line);border-radius:8px;max-width:40rem;padding:clamp(1.5rem,4vw,2.5rem)}.empty p{color:var(--muted);margin:.5rem 0 0}.meta{font:400 .75rem var(--font-mono);color:var(--muted);letter-spacing:.03em;flex-wrap:wrap;gap:.25rem .75rem;display:flex}.back{font:500 .8rem var(--font-mono);letter-spacing:.04em;color:var(--muted);gap:.5rem;margin:2.25rem 0 1.5rem;text-decoration:none;transition:color .2s;display:inline-flex}.back:hover{color:var(--fg)}.back span{transition:transform .25s var(--ease)}.back:hover span{transform:translate(-4px)}.detail{gap:3rem;padding-bottom:2rem;display:grid}.detail-head{gap:1.1rem;display:grid}.detail h1.title{font-size:clamp(2.8rem,10vw,6.5rem);line-height:.95}.detail .lede{max-width:46rem;font-size:clamp(1.05rem,2vw,1.3rem)}.detail .facts{margin-top:.75rem}.gallery{columns:2 24rem;column-gap:1.5rem}.gallery figure{break-inside:avoid;gap:.6rem;margin:0 0 1.5rem;display:grid}.zoom{cursor:zoom-in;background:0 0;border:0;border-radius:8px;padding:0;display:block;position:relative;overflow:hidden}.zoom:after{content:"Enlarge";font:500 .7rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:1px solid var(--line);opacity:0;transition:all .25s var(--ease);border-radius:99px;padding:.2rem .55rem;position:absolute;bottom:.6rem;right:.6rem;transform:translateY(6px)}.zoom:hover:after,.zoom:focus-visible:after{opacity:1;transform:none}.gallery img,.phones img{border:1px solid var(--line);background:var(--bg-raised);width:100%;height:auto;transition:transform .5s var(--ease);border-radius:8px;display:block}.zoom:hover img{transform:scale(1.015)}.gallery figcaption{color:var(--muted);max-width:36rem;font-size:.85rem}.label{font:500 .7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem}.phones{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));align-items:start;gap:1.75rem 1rem;display:grid}.phones figure{gap:.5rem;min-width:0;margin:0;display:grid}.phones .zoom,.phones img{border-radius:12px}.phones figcaption{font:400 .75rem var(--font-mono);color:var(--muted)}.prose{border-top:1px solid var(--line);grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.75rem 3rem;padding-top:2rem;display:grid}.prose h2{font:500 .75rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-self:start;margin:.35rem 0 0;position:sticky;top:5rem}.prose>div{gap:1rem;min-width:0;max-width:44rem;font-size:1.05rem;display:grid}.prose p{margin:0}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.5rem 2rem;padding-top:2rem;display:grid}.stats>div{border:1px solid var(--line);background:var(--bg-soft);border-radius:12px;min-width:0;padding:1.25rem}.stat-v{font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;line-height:1}.stat-k{font:500 .7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}.stat-n{color:var(--muted);margin-top:.45rem;font-size:.9rem}.pager{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.pager a{border:1px solid var(--line);transition:border-color .25s, transform .3s var(--ease), background .25s;border-radius:14px;gap:.3rem;padding:1.25rem 1.4rem;text-decoration:none;display:grid}.pager a:hover{border-color:var(--accent);background:var(--bg-soft);transform:translateY(-3px)}.pager .dir{font:500 .7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.pager .nm{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.pager .next{text-align:right}@media (width<=40rem){.prose{grid-template-columns:minmax(0,1fr)}.prose h2{position:static}.pager{grid-template-columns:1fr}}dialog.lb{color:#fff;background:0 0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0}dialog.lb::backdrop{backdrop-filter:blur(6px);background:#050912eb}.lb-in{grid-template-rows:1fr auto;gap:.75rem;height:100%;padding:3.5rem 1rem 1rem;display:grid}.lb-stage{place-items:center;min-height:0;display:grid}.lb-stage img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lb-cap{text-align:center;color:#c9d3e8;max-width:46rem;margin-inline:auto;font-size:.9rem}.lb button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1.2rem;transition:background .2s;position:absolute}.lb button:hover{background:#ffffff38}.lb .x{top:1rem;right:1rem}.lb .p{top:50%;left:1rem}.lb .n{top:50%;right:1rem}.chart{margin-bottom:2.5rem;padding-bottom:.5rem;overflow-x:auto}.chart-in{gap:.35rem;min-width:36rem;display:grid}.axis,.lane{grid-template-columns:8rem 1fr;align-items:center;gap:1rem;display:grid}.axis-track{height:1.25rem;position:relative}.tick{font:400 .7rem var(--font-mono);color:var(--muted);border-left:1px solid var(--line);height:100%;padding-left:.4rem;line-height:1.25rem;position:absolute;top:0}.lane{cursor:pointer;border-radius:6px;padding-block:.15rem;transition:background .2s}.lane-name{color:var(--muted);min-width:0;font-size:.85rem;transition:color .2s}.lane:hover,.lane.hl{background:var(--accent-soft)}.lane:hover .lane-name,.lane.hl .lane-name{color:var(--fg)}.track{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);border-bottom:1px solid var(--line);background-size:35.2941% 100%;height:1.5rem;position:relative}.bar{background:var(--bar-org);height:1rem;top:.25rem;left:var(--l);width:var(--w);transform-origin:0;transition:transform 1s var(--ease), filter .2s;transition-delay:calc(var(--i,0) * .12s);border-radius:4px;position:absolute}.js .chart:not(.is-in) .bar{transform:scaleX(0)}.bar.work{background:var(--accent)}.lane:hover .bar,.lane.hl .bar{filter:brightness(1.25)}.legend{font:400 .75rem var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.4rem;padding-left:9rem;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:.75rem;height:.75rem;margin-right:.4rem;display:inline-block}.org-tools{justify-content:flex-end;margin-bottom:.5rem;display:flex}.org{border-top:1px solid var(--line);border-radius:10px;margin-inline:-1rem;padding-inline:1rem;scroll-margin-top:5rem;transition:background .25s;display:block}.org:first-of-type{border-top:0}.org.hl{background:var(--accent-soft)}.org summary{cursor:pointer;grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto;align-items:start;gap:.5rem 3rem;padding-block:1.5rem;list-style:none;display:grid}.org summary::-webkit-details-marker{display:none}.org-head{gap:.25rem;display:grid}.org-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1.3}.org-note{font:400 .75rem var(--font-mono);color:var(--muted)}.org-roles{gap:.3rem;min-width:0;display:grid}.org-role-line{flex-wrap:wrap;justify-content:space-between;gap:.1rem 1.5rem;display:flex}.org-role-line>span:first-child{font-weight:600}.org[open] .org-roles{display:none}.chev{border:1px solid var(--line);width:1.7rem;height:1.7rem;color:var(--muted);border-radius:50%;grid-column:3;place-items:center;transition:all .2s;display:grid}.chev:before{content:"+";font:500 1rem/1 var(--font-mono)}.org[open] .chev:before{content:"−"}.org summary:hover .chev{color:var(--accent);border-color:var(--accent)}.org-body{padding:0 0 1.75rem 16rem}.roles{gap:1.75rem;min-width:0;display:grid}.role{min-width:0}.role-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1.5rem;display:flex}.dates{font:400 .8rem var(--font-mono);color:var(--muted)}.tag{font:500 .7rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:.15rem}.role ul{gap:.35rem;max-width:44rem;margin:.75rem 0 0;padding-left:1.1rem;display:grid}.role .pending{color:var(--muted);margin:.6rem 0 0;font-size:.9rem}.role .used{font:400 .8rem var(--font-mono);color:var(--muted);margin:.6rem 0 0}.honor{border-left:2px solid var(--accent);max-width:44rem;margin:.75rem 0 0;padding-left:.85rem;font-weight:600}.projlink{font:500 .8rem var(--font-mono);letter-spacing:.04em;color:var(--accent)}@media (width<=40rem){.org summary{grid-template-columns:minmax(0,1fr) auto}.org-roles{grid-column:1/-1}.chev{grid-area:1/2}.org-body{padding-left:0}.chart{overflow-x:visible}.chart-in{min-width:0}.axis,.lane{grid-template-columns:5.2rem 1fr;gap:.5rem}.lane-name{overflow-wrap:anywhere;font-size:.75rem}.legend{padding-left:0}.tick{padding-left:.25rem;font-size:.62rem}h1{font-size:clamp(3.4rem,33vw,9rem);line-height:.86}h1 .word{margin-right:0;display:block}.hero-role{margin-top:.9rem}}.about{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2.5rem 3rem;display:grid}.about>div{min-width:0}.about .wide{grid-column:1/-1;max-width:46rem;font-size:1.15rem}.about p,.about ul{margin:0}.about ul{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.pill{border:1px solid var(--line);transition:all .2s var(--ease);border-radius:99px;padding:.25rem .9rem;font-size:.9rem}.pill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.todo{color:var(--muted)}.contact-box{border:1px solid var(--line);background:var(--bg-soft);border-radius:18px;gap:1.25rem;padding:clamp(1.75rem,5vw,3.5rem);display:grid;position:relative;overflow:hidden}.contact-box:before{content:"";background:radial-gradient(var(--accent-soft), transparent 65%);pointer-events:none;border-radius:50%;width:28rem;height:28rem;position:absolute;inset:auto -10% -60% auto}.contact-box>*{margin:0;position:relative}.contact-big{font-family:var(--font-display);letter-spacing:-.03em;max-width:28rem;font-size:clamp(1.8rem,5vw,3.2rem);font-weight:800;line-height:1.05}footer{border-top:1px solid var(--line);font:400 .75rem var(--font-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-top:1.5rem;display:flex}.to-top{color:inherit;text-decoration:none}.to-top:hover{color:var(--fg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1;transform:none}@view-transition{navigation:none}}.js .reveal.settled{transition-delay:0s}.showcase{display:none}@media (width>=64rem){.showcase{gap:.75rem;display:grid}}.showcase{perspective:1500px}.deck{aspect-ratio:16/10;transform-style:preserve-3d;transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .6s var(--ease);margin:2.6rem 2.8rem 0 0;position:relative}.deck .s{--step-x:24px;--step-y:-21px;border:1px solid var(--line);background:var(--bg-raised);transform-origin:0 100%;z-index:calc(10 - var(--pos));transform:translate3d(calc(var(--pos) * var(--step-x)), calc(var(--pos) * var(--step-y)), calc(var(--pos) * -34px)) scale(calc(1 - var(--pos) * .04));opacity:calc(1 - max(0, var(--pos) - 2));filter:brightness(calc(1 - var(--pos) * .1));transition:transform .9s var(--ease), opacity .9s var(--ease), filter .9s var(--ease);border-radius:12px;position:absolute;inset:0;overflow:hidden;box-shadow:0 24px 50px -28px #000000b3}.deck .s img{object-fit:cover;width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine){.showcase:hover .deck .s{--step-x:38px;--step-y:-30px}.showcase:hover .deck .s:hover{filter:brightness()}}.shot-cap{font:500 .75rem var(--font-mono);letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;display:flex}.dots{gap:.35rem;display:inline-flex}.dots i{background:var(--line);border-radius:50%;width:.45rem;height:.45rem;transition:background .3s,transform .3s}.dots i.on{background:var(--accent);transform:scale(1.25)}@keyframes rise{0%{opacity:0;transform:translateY(.5em)rotate(5deg)}}.js h1 .ch{animation:rise .95s var(--ease) backwards;animation-delay:calc(var(--i,0) * 60ms + .52s)}.hello{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.65rem;margin:0 0 -.35rem;font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:700;line-height:1.1;display:flex}.hello-t{padding:.05em .1em .22em 0;display:inline-flex;overflow:hidden}.hc{white-space:pre;display:inline-block}.hello-t .hc:nth-child(n+5){color:var(--accent)}.wave{transform-origin:70% 80%;cursor:default;font-size:.9em;animation:2.6s ease-in-out 1.15s 2 both wave;display:inline-block}.hello:hover .wave{animation:1.6s ease-in-out wave2}@keyframes wave{0%,62%,to{transform:rotate(0)}8%{transform:rotate(16deg)}18%{transform:rotate(-10deg)}28%{transform:rotate(16deg)}38%{transform:rotate(-6deg)}48%{transform:rotate(12deg)}56%{transform:rotate(0)}}@keyframes wave2{0%,to{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(16deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(12deg)}}@keyframes maskUp{0%{transform:translateY(120%)}}.js .hc{animation:maskUp .85s var(--ease) backwards;animation-delay:calc(var(--i,0) * 55ms + .12s)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}}@keyframes deckIn{0%{opacity:0;transform:translate3d(90px,40px,-120px)rotate(7deg)scale(.92)}}.js .hero .eyebrow{animation:fadeUp .8s var(--ease) backwards}.js .hero-role{animation:fadeUp .9s var(--ease) backwards .95s}.js .hero-left .lede{animation:fadeUp .9s var(--ease) backwards 1.1s}.js .hero-left .cta{animation:fadeUp .9s var(--ease) backwards 1.25s}.js .hero>.facts{animation:fadeUp 1s var(--ease) backwards 1.4s}.js .deck .s{animation:deckIn 1.2s var(--ease) backwards;animation-delay:calc(.7s + var(--pos) * .14s)}.chip .n{font:500 .68rem var(--font-mono);opacity:.6;margin-left:.25rem}.chip[aria-pressed=true] .n{opacity:.75}@keyframes rowIn{0%{opacity:0;transform:translateY(14px)}}.row.pop{animation:rowIn .55s var(--ease) backwards;animation-delay:calc(var(--k,0) * 70ms)}.about .skills{grid-column:1/-1}.skill-groups{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem 3rem;display:grid}.sub-label{font:500 .7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .6rem}
