@import"https://fonts.googleapis.com/css2?family=Caveat+Brush&family=Gochi+Hand&family=Inter+Tight:wght@400;500;600;700;800&family=Syne:wght@500;600;700;800&display=swap";:root{color-scheme:dark;--font-sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Syne", "Inter Tight", sans-serif;--font-mono: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mark: "Caveat Brush", cursive;--font-hand: "Gochi Hand", cursive;--color-bg: #090a0d;--color-bg-rgb: 9 10 13;--color-bg-elevated: #10131a;--color-surface: #141922;--color-surface-strong: #1b212b;--color-surface-soft: rgba(20, 25, 34, .78);--color-surface-float: rgba(255, 255, 255, .035);--color-surface-smoke: rgba(240, 244, 248, .04);--color-surface-wash: rgba(200, 149, 98, .08);--color-text: #f3efe6;--color-text-rgb: 243 239 230;--color-muted-strong: #d1d7e0;--color-muted: #98a1ad;--color-border: #252c35;--color-border-strong: #3a434e;--color-accent: #c4ccd7;--color-accent-strong: #e1e7ef;--color-accent-soft: rgba(196, 204, 215, .12);--color-brand: #c89562;--color-brand-rgb: 200 149 98;--color-brand-strong: #ddb183;--color-brand-strong-rgb: 221 177 131;--color-ink: #0b0d10;--color-ink-rgb: 11 13 16;--color-inverse: #f7f3ed;--color-inverse-rgb: 247 243 237;--color-sheen-rgb: 243 239 230;--color-button-surface: rgba(255, 255, 255, .02);--color-button-surface-strong: rgba(255, 255, 255, .06);--color-button-border: rgba(243, 239, 230, .14);--color-button-shadow: rgba(0, 0, 0, .18);--color-action-icon-hover-bg: rgba(11, 13, 16, .96);--color-action-icon-hover-fg: var(--color-brand);--color-panel-bg: rgba(16, 19, 26, .84);--color-backdrop: rgba(9, 10, 13, .22);--color-modal-backdrop: rgba(9, 10, 13, .88);--body-overlay-top: rgba(255, 255, 255, .025);--body-overlay-bottom: rgba(0, 0, 0, .28);--color-shadow: rgba(0, 0, 0, .42);--nav-height: 5.4rem;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background:var(--color-bg)}:root[data-theme=light]{color-scheme:light;--color-bg: #f5efe7;--color-bg-rgb: 245 239 231;--color-bg-elevated: #fcfaf6;--color-surface: #f3ede4;--color-surface-strong: #ebe3d8;--color-surface-soft: rgba(255, 255, 255, .82);--color-surface-float: rgba(17, 22, 28, .04);--color-surface-smoke: rgba(17, 22, 28, .03);--color-surface-wash: rgba(200, 149, 98, .12);--color-text: #181d25;--color-text-rgb: 24 29 37;--color-muted-strong: #3f4856;--color-muted: #697280;--color-border: #d7cec2;--color-border-strong: #bcae9d;--color-accent: #556576;--color-accent-strong: #2e3947;--color-accent-soft: rgba(85, 101, 118, .12);--color-ink: #11161c;--color-ink-rgb: 17 22 28;--color-inverse: #fbf7f0;--color-inverse-rgb: 251 247 240;--color-sheen-rgb: 50 60 74;--color-button-surface: rgba(255, 255, 255, .66);--color-button-surface-strong: rgba(255, 255, 255, .9);--color-button-border: rgba(17, 22, 28, .14);--color-button-shadow: rgba(17, 22, 28, .08);--color-action-icon-hover-bg: var(--color-inverse);--color-action-icon-hover-fg: var(--color-ink);--color-panel-bg: rgba(255, 255, 255, .84);--color-backdrop: rgba(17, 22, 28, .16);--color-modal-backdrop: rgba(17, 22, 28, .72);--body-overlay-top: rgba(255, 255, 255, .72);--body-overlay-bottom: rgba(207, 194, 173, .34);--color-shadow: rgba(15, 19, 28, .12)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg);background-image:linear-gradient(180deg,var(--body-overlay-top),rgba(255,255,255,0) 14rem),linear-gradient(180deg,rgba(0,0,0,0),var(--body-overlay-bottom));background-size:auto,auto;color:var(--color-text);font-family:var(--font-sans);letter-spacing:-.012em}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{background:none;color:inherit}input,textarea{color:inherit}#root{min-height:100vh;position:relative;z-index:1}::selection{background:#b4c0cf2e;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh}.site-main{padding-top:0}.page-main{padding-top:calc(var(--nav-height) + 1rem)}.site-container{width:min(1220px,calc(100% - 2.75rem));margin:0 auto}.site-container--work{width:min(1440px,calc(100% - 2.75rem))}section[id]{scroll-margin-top:calc(var(--nav-height) + 1rem)}.section-label{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.2rem;padding:.88rem 1.28rem;border:1px solid transparent;border-radius:.92rem;font-family:var(--font-sans);font-size:.88rem;font-weight:600;letter-spacing:-.02em;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.button-link:hover{transform:translateY(-1px)}.button-link--primary{background:var(--color-brand);color:var(--color-ink);box-shadow:0 20px 36px var(--color-shadow)}.button-link--primary:hover{background:var(--color-brand-strong);box-shadow:0 24px 40px rgb(var(--color-brand-rgb) / .18)}.action-pill{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:.75rem;flex-shrink:0;width:fit-content;min-height:3.1rem;padding:.5rem .55rem .5rem 1rem;border:1px solid var(--color-button-border);border-radius:999px;font-family:var(--font-hand);font-size:1.2rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);background:var(--color-button-surface);box-shadow:0 12px 24px var(--color-button-shadow);transition:border-color .22s ease,background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}.action-pill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--color-brand);transform:scaleX(0);transform-origin:left;transition:transform .26s ease}.action-pill>*{position:relative;z-index:1}.action-pill:hover,.action-pill:focus-visible{transform:translateY(-1px);border-color:var(--color-brand);background:var(--color-button-surface-strong);color:var(--color-ink);box-shadow:0 18px 32px rgb(var(--color-brand-rgb) / .14)}.action-pill:hover:before,.action-pill:focus-visible:before{transform:scaleX(1)}.action-pill__icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--color-brand);color:var(--color-ink);transition:background-color .22s ease,color .22s ease,transform .22s ease}.action-pill:hover .action-pill__icon,.action-pill:focus-visible .action-pill__icon{transform:translate(2px);background:var(--color-action-icon-hover-bg);color:var(--color-action-icon-hover-fg)}.action-pill svg{width:1rem;height:1rem}.text-link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);transition:color .18s ease,transform .18s ease}.text-link:hover{color:var(--color-brand-strong);transform:translate(2px)}.tag-list{display:flex;flex-wrap:wrap;gap:.65rem;padding:0;margin:0;list-style:none}.tag-list li{padding:.58rem .78rem;border:1px solid rgb(var(--color-text-rgb) / .08);border-radius:999px;background:var(--color-surface-float);font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted-strong)}.back-link{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.2rem;font-family:var(--font-mono);font-size:.76rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.back-link:hover{color:var(--color-text)}.empty-state{padding:6rem 0}.empty-state__panel{display:grid;gap:1rem;max-width:34rem;padding:2rem;border:1px solid var(--color-border);border-radius:1.4rem;background:linear-gradient(180deg,rgb(var(--color-inverse-rgb) / .045),rgb(var(--color-inverse-rgb) / .015)),var(--color-panel-bg);box-shadow:0 28px 40px var(--color-shadow)}.empty-state__panel h1,.empty-state__panel p{margin:0}.site-header{position:relative;z-index:40}.site-nav{position:fixed;inset:0 0 auto;padding-top:2.05rem;pointer-events:none}.site-nav__inner{display:flex;align-items:center;position:relative;z-index:1}.site-nav__frame{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;width:100%;max-width:100%;min-height:auto;padding:0;opacity:.84;transition:opacity .18s ease}.site-nav.is-scrolled .site-nav__frame{opacity:.97}body.project-page-active .site-nav__frame,body.project-page-active .site-nav.is-scrolled .site-nav__frame{opacity:1}.site-brand{display:block;padding:0;border:0;background:transparent;box-shadow:none;line-height:1}.site-brand__script{display:inline-flex;align-items:flex-end;font-family:var(--font-hand);font-size:3.15rem;line-height:.82;letter-spacing:.01em;color:var(--color-text);transform:translateY(-.04em);white-space:nowrap}.site-brand__script-letter{display:block}.site-brand__script-letter+.site-brand__script-letter{margin-left:-.28rem}.site-brand__script-letter--accent{color:var(--color-brand)}.site-nav__panel{display:flex;align-items:center;gap:clamp(1.3rem,3vw,2.6rem);margin-left:auto}.site-nav__links{display:flex;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);padding:0;margin:0;list-style:none}.site-nav__link{display:inline-flex;align-items:center;min-height:auto;padding:0;border:0;cursor:pointer;font-family:var(--font-sans);font-size:1.22rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted-strong);opacity:.68;transition:color .18s ease,opacity .18s ease}.site-nav__link:after{display:none}.site-nav__link:hover,.site-nav__link.is-active{color:var(--color-text);opacity:1}.site-nav__resume{min-height:2.9rem;padding:.36rem .42rem .36rem .86rem;margin-left:.2rem;font-family:var(--font-hand);font-size:1.5rem;line-height:1;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);opacity:.92}.site-nav__theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:4.75rem;min-height:2.65rem;padding:.28rem;border:1px solid var(--color-button-border);border-radius:999px;cursor:pointer;background:var(--color-button-surface);box-shadow:0 10px 22px var(--color-button-shadow);transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.site-nav__theme-toggle:hover,.site-nav__theme-toggle:focus-visible{transform:translateY(-1px);border-color:var(--color-border-strong);background:var(--color-button-surface-strong);box-shadow:0 14px 26px var(--color-button-shadow)}.site-nav__theme-toggle:before{content:"";position:absolute;top:.28rem;right:.28rem;bottom:.28rem;left:.28rem;border-radius:999px;background:rgb(var(--color-text-rgb) / .08);transition:background-color .18s ease,opacity .18s ease}.site-nav__theme-toggle.is-light:before{background:rgb(var(--color-brand-rgb) / .18)}.site-nav__theme-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--color-brand);color:var(--color-ink);box-shadow:0 8px 18px rgb(var(--color-brand-rgb) / .24);transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .22s ease}.site-nav__theme-toggle.is-light .site-nav__theme-icon{transform:translate(2.06rem);background:var(--color-inverse);color:var(--color-brand);box-shadow:0 8px 18px rgb(var(--color-ink-rgb) / .16)}.site-nav__theme-toggle:hover .site-nav__theme-icon,.site-nav__theme-toggle:focus-visible .site-nav__theme-icon{background:var(--color-brand-strong);box-shadow:0 10px 20px rgb(var(--color-brand-rgb) / .3)}.site-nav__theme-toggle.is-light:hover .site-nav__theme-icon,.site-nav__theme-toggle.is-light:focus-visible .site-nav__theme-icon{transform:translate(2.06rem);background:var(--color-inverse);color:var(--color-brand-strong);box-shadow:0 10px 20px rgb(var(--color-ink-rgb) / .18)}.site-nav__theme-icon svg{width:.95rem;height:.95rem}.site-nav__resume:hover{opacity:1}.site-nav__socials,.site-nav__social-link{display:none}.site-nav__toggle{display:none;align-items:center;justify-content:center;padding:.1rem 0;border:0;border-radius:0;cursor:pointer;font-family:var(--font-sans);font-size:1.4rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:transparent;color:var(--color-text)}.site-nav__backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--color-backdrop);opacity:0;pointer-events:none}.hero-intro{--hero-pad-top: calc(var(--nav-height) + 1.45rem);--hero-pad-bottom: 2.1rem;position:relative;overflow:hidden;padding:var(--hero-pad-top) 0 var(--hero-pad-bottom);min-height:100svh;background:var(--color-bg)}.hero-intro__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center;min-height:calc(100svh - var(--hero-pad-top) - var(--hero-pad-bottom))}.hero-intro__copy{position:relative;z-index:2;display:grid;align-content:center;gap:1.15rem;max-width:39rem;padding-top:2.9rem;padding-bottom:.45rem}.hero-intro__title{--sheen-pointer-x: 50;--sheen-pointer-y: 50;--sheen-rotate-x: 0deg;--sheen-rotate-y: 0deg;--sheen-shift-x: 0px;--sheen-shift-y: 0px;--sheen-scale: 1;margin:6.4rem 0 0;font-family:var(--font-hand);font-size:clamp(6rem,36vw,10rem);font-weight:400;line-height:.68;letter-spacing:.01em;overflow:visible;transform:perspective(780px) translate3d(var(--sheen-shift-x),var(--sheen-shift-y),0) rotateX(var(--sheen-rotate-y)) rotateY(var(--sheen-rotate-x)) scale(var(--sheen-scale));transform-origin:50% 50%;transform-style:preserve-3d;will-change:transform}.hero-intro__name-part{display:inline-block;overflow:visible;line-height:1;padding-inline:.05em .03em;padding-block:.08em .12em;margin-inline:-.05em -.03em;margin-block:-.08em -.12em;color:rgb(var(--color-sheen-rgb) / .92);animation:hero-name-sheen 7.5s linear infinite;will-change:transform,opacity,background-position}.hero-intro__name-part:last-child{animation-delay:-3.1s}.hero-intro__name-part+.hero-intro__name-part{margin-top:-1.5em}.hero-intro__title[data-sheen-active=true] .hero-intro__name-part{animation-duration:4.2s}@keyframes hero-name-sheen{0%{background-position:190% 50%,0% 50%,0 0}55%{background-position:104% 50%,12% 50%,0 0}to{background-position:8% 50%,24% 50%,0 0}}.hero-intro__lede{margin:4rem 0 0;max-width:40ch;font-size:clamp(1.24rem,2.05vw,1.72rem);line-height:1.08;letter-spacing:-.04em;color:var(--color-text);will-change:transform,opacity}.hero-intro__visual{position:absolute;right:clamp(-14rem,-7vw,-6rem);bottom:-4.6rem;z-index:1;width:clamp(50rem,96vw,66rem);pointer-events:none;will-change:transform,clip-path,opacity}.hero-intro__visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,var(--color-bg) 0%,rgb(var(--color-bg-rgb) / .96) 22%,rgb(var(--color-bg-rgb) / .56) 46%,rgb(var(--color-bg-rgb) / .1) 72%,rgb(var(--color-bg-rgb) / 0) 100%),linear-gradient(180deg,rgb(var(--color-bg-rgb) / .08) 0%,rgb(var(--color-bg-rgb) / 0) 42%,rgb(var(--color-bg-rgb) / .52) 82%,var(--color-bg) 100%)}.hero-intro__portrait{width:100%;height:auto;transform:translate(5%) translateY(-5%) scale(1.14);transform-origin:center bottom;opacity:.74;filter:grayscale(1) contrast(1.16) brightness(.9)}.systems-section,.method-section,.closing-section{position:relative;padding:7.5rem 0}.systems-section{background:var(--color-bg);padding-top:9rem}.method-section{background:var(--color-bg)}.closing-section{background:var(--color-brand);color:var(--color-ink)}.systems-layout,.method-layout{display:grid;gap:4rem}.systems-layout{gap:.01rem}.systems-intro,.method-intro,.closing-strip__copy{display:grid;gap:1rem}.systems-intro{max-width:none;margin-bottom:50px}.systems-intro__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.75rem 2.75rem}.systems-intro h2{margin:0;font-family:var(--font-display);font-size:clamp(3rem,6.4vw,4.9rem);font-weight:700;line-height:.94;letter-spacing:-.06em;max-width:none;white-space:normal}.section-title--sheen{--sheen-pointer-x: 50;--sheen-pointer-y: 50;--sheen-rotate-x: 0deg;--sheen-rotate-y: 0deg;--sheen-shift-x: 0px;--sheen-shift-y: 0px;--sheen-scale: 1;display:block;overflow:visible;padding-inline:.04em;padding-block:.05em .08em;margin-inline:-.04em;margin-block:-.05em -.08em;color:rgb(var(--color-sheen-rgb) / .92);transform:perspective(760px) translate3d(var(--sheen-shift-x),var(--sheen-shift-y),0) rotateX(var(--sheen-rotate-y)) rotateY(var(--sheen-rotate-x)) scale(var(--sheen-scale));transform-origin:50% 50%;transform-style:preserve-3d;animation:hero-name-sheen 8.5s linear infinite;will-change:transform,background-position}.section-title--sheen[data-sheen-active=true]{animation-duration:4.8s}@supports ((-webkit-background-clip: text) or (background-clip: text)){.hero-intro__name-part,.section-title--sheen{background-image:linear-gradient(96deg,rgb(var(--color-sheen-rgb) / .74),rgb(var(--color-sheen-rgb) / .74) 38%,rgb(var(--color-brand-rgb) / .16) 43%,rgb(var(--color-brand-rgb) / .94) 48.5%,rgb(var(--color-brand-strong-rgb) / 1) 50%,rgb(var(--color-brand-rgb) / .24) 52%,rgb(var(--color-sheen-rgb) / .82) 60%,rgb(var(--color-sheen-rgb) / .74)),repeating-linear-gradient(-72deg,rgb(var(--color-brand-rgb) / .16) 0 2px,transparent 2px 10px),linear-gradient(180deg,rgb(var(--color-sheen-rgb) / .98),rgb(var(--color-sheen-rgb) / .68));background-size:210% 100%,160% 100%,100% 100%;background-position:190% 50%,0% 50%,0 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}.method-intro h2,.closing-strip__copy h2{margin:0;font-family:var(--font-display);font-size:clamp(2.1rem,4.3vw,3.95rem);font-weight:700;line-height:.93;letter-spacing:-.06em}.system-tile__action-icon svg,.system-feature__action-icon svg{width:1rem;height:1rem}.method-intro>p,.closing-strip__copy>p{margin:0;max-width:44rem;color:var(--color-muted);line-height:1.8}.system-feature{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:1.5rem;padding:1.8rem clamp(1.3rem,3vw,2.35rem) 1.9rem;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-text);background:linear-gradient(180deg,rgb(var(--color-inverse-rgb) / .02),rgb(var(--color-inverse-rgb) / 0));transition:border-color .22s ease,transform .22s ease;will-change:transform}.system-feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--color-brand);transform:scaleX(0);transform-origin:left;transition:transform .32s ease}.system-feature>*{position:relative;z-index:1}.system-feature__meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin:0;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.035em;color:rgb(var(--color-text-rgb) / .46)}.system-feature__meta span+span:before{content:"/";margin-right:.9rem;color:rgb(var(--color-text-rgb) / .24)}.system-feature__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:clamp(1.6rem,4vw,4rem);align-items:end}.system-feature__copy{display:grid;gap:1rem}.system-feature h3{margin:0;max-width:9ch;font-family:var(--font-display);font-size:clamp(3rem,6vw,5.6rem);font-weight:700;line-height:.88;letter-spacing:-.07em;transition:transform .22s ease,color .22s ease}.system-feature__summary{margin:0;max-width:24ch;font-family:var(--font-sans);color:var(--color-muted-strong);font-size:clamp(1.15rem,1.45vw,1.42rem);font-weight:500;line-height:1.16;letter-spacing:-.035em;transition:color .22s ease}.system-feature__details{display:grid;gap:1rem;align-content:end;justify-items:start}.system-feature__note{margin:0;max-width:33ch;font-family:var(--font-sans);color:rgb(var(--color-text-rgb) / .72);font-size:.96rem;line-height:1.45;letter-spacing:-.02em;transition:color .22s ease}.system-feature__stack{margin:0;font-family:var(--font-sans);font-size:.8rem;font-weight:600;line-height:1.28;letter-spacing:.04em;color:rgb(var(--color-text-rgb) / .5);transition:color .22s ease}.system-feature__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.system-feature__action{display:inline-flex;align-items:center;gap:.6rem;min-height:2.9rem;padding:.36rem .42rem .36rem .86rem;border:1px solid var(--color-button-border);border-radius:999px;background:var(--color-button-surface);color:var(--color-text);font-family:var(--font-hand);font-size:1.4rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 24px var(--color-button-shadow);transition:border-color .22s ease,background-color .22s ease,transform .22s ease,box-shadow .22s ease}.system-feature__action-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--color-text);color:var(--color-bg);transition:transform .22s ease,background-color .22s ease,color .22s ease}.systems-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-bottom:1px solid var(--color-border)}.system-tile{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:.8rem;padding:1.28rem clamp(1.3rem,3vw,2.35rem) 1.45rem;color:var(--color-text);transition:border-color .22s ease,transform .22s ease,opacity .22s ease;will-change:transform}.system-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--color-brand);transform:scaleX(0);transform-origin:left;transition:transform .26s ease}.system-tile:nth-child(odd){border-top:1px solid var(--color-border);border-right:1px solid var(--color-border)}.system-tile:nth-child(2n){border-top:1px solid var(--color-border);padding-top:calc(1.28rem + clamp(.45rem,1vw,.75rem))}.systems-grid>.system-tile:first-child,.systems-grid>.system-tile:nth-child(2){border-top:0}.system-tile>*{position:relative;z-index:1}.system-tile__meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin:0;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.035em;color:rgb(var(--color-text-rgb) / .46)}.system-tile__meta span+span:before{content:"/";margin-right:.9rem;color:rgb(var(--color-text-rgb) / .24)}.system-tile h3{margin:0;max-width:12ch;font-family:var(--font-display);font-size:clamp(1.72rem,3.2vw,2.6rem);font-weight:700;line-height:.94;letter-spacing:-.055em;transition:transform .22s ease,color .22s ease}.system-tile__summary{margin:0;max-width:42rem;font-family:var(--font-sans);color:var(--color-muted-strong);font-size:clamp(.98rem,1.04vw,1.08rem);font-weight:500;line-height:1.38;letter-spacing:-.028em;transition:color .22s ease}.system-tile__stack{margin:0;font-family:var(--font-sans);font-size:clamp(.78rem,.84vw,.88rem);font-weight:500;line-height:1.28;letter-spacing:.01em;color:rgb(var(--color-text-rgb) / .5);white-space:normal;overflow:visible;text-overflow:clip;transition:color .22s ease}.system-tile__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.25rem}.system-tile__action{display:inline-flex;align-items:center;gap:.6rem;width:fit-content;margin-top:0;min-height:2.9rem;padding:.36rem .42rem .36rem .86rem;border:1px solid var(--color-button-border);border-radius:999px;background:var(--color-button-surface);opacity:0;visibility:hidden;transform:translateY(.45rem);color:var(--color-text);font-family:var(--font-hand);font-size:1.4rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease,transform .22s ease,visibility 0s linear .22s}.system-tile__action-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--color-text);color:var(--color-bg);transition:transform .22s ease,background-color .22s ease,color .22s ease}.system-tile:hover,.system-tile:focus-visible{border-top-color:var(--color-border-strong)}.system-feature:hover,.system-feature:focus-visible{border-color:var(--color-border-strong);transform:translateY(-2px)}.system-feature:hover:before,.system-feature:focus-visible:before{transform:scaleX(1)}.system-feature:hover h3,.system-feature:focus-visible h3{transform:translateY(-2px);color:var(--color-ink)}.system-feature:hover .system-feature__meta,.system-feature:focus-visible .system-feature__meta{color:rgb(var(--color-ink-rgb) / .58)}.system-feature:hover .system-feature__meta span+span:before,.system-feature:focus-visible .system-feature__meta span+span:before{color:rgb(var(--color-ink-rgb) / .3)}.system-feature:hover .system-feature__summary,.system-feature:focus-visible .system-feature__summary{color:rgb(var(--color-ink-rgb) / .9)}.system-feature:hover .system-feature__note,.system-feature:focus-visible .system-feature__note{color:rgb(var(--color-ink-rgb) / .76)}.system-feature:hover .system-feature__stack,.system-feature:focus-visible .system-feature__stack{color:rgb(var(--color-ink-rgb) / .62)}.system-feature:hover .system-feature__action,.system-feature:focus-visible .system-feature__action{border-color:rgb(var(--color-ink-rgb) / .18);background:rgb(var(--color-ink-rgb) / .08);color:var(--color-ink);box-shadow:0 18px 30px rgb(var(--color-brand-rgb) / .14)}.system-feature:hover .system-feature__action-icon,.system-feature:focus-visible .system-feature__action-icon{transform:translate(2px);background:var(--color-ink);color:var(--color-inverse)}.system-tile:hover:before,.system-tile:focus-visible:before{transform:scaleX(1)}.system-tile:nth-child(odd):hover,.system-tile:nth-child(odd):focus-visible{border-right-color:var(--color-border-strong)}.system-tile:hover h3,.system-tile:focus-visible h3{transform:translateY(-2px);color:var(--color-ink)}.system-tile:hover .system-tile__meta,.system-tile:focus-visible .system-tile__meta{color:rgb(var(--color-ink-rgb) / .52)}.system-tile:hover .system-tile__summary,.system-tile:focus-visible .system-tile__summary{color:rgb(var(--color-ink-rgb) / .78)}.system-tile:hover .system-tile__stack,.system-tile:focus-visible .system-tile__stack{color:rgb(var(--color-ink-rgb) / .58)}.system-tile:hover .system-tile__meta span+span:before,.system-tile:focus-visible .system-tile__meta span+span:before{color:rgb(var(--color-ink-rgb) / .3)}.system-tile:hover .system-tile__action,.system-tile:focus-visible .system-tile__action{opacity:1;visibility:visible;transform:translateY(0);border-color:rgb(var(--color-ink-rgb) / .18);background:rgb(var(--color-ink-rgb) / .08);color:var(--color-ink);box-shadow:0 18px 30px rgb(var(--color-brand-rgb) / .14);transition-delay:0s,0s,.12s,.12s,.12s,0s}.system-tile:hover .system-tile__action-icon,.system-tile:focus-visible .system-tile__action-icon{transform:translate(2px);background:var(--color-ink);color:var(--color-inverse)}.method-layout{gap:clamp(2.2rem,5vw,4rem);align-items:start}.method-intro{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:clamp(1.8rem,4vw,4.4rem);align-items:start;padding-bottom:1.9rem;border-bottom:1px solid var(--color-border)}.method-intro__body{display:grid;gap:1rem;will-change:transform,opacity}.method-intro h2{margin:0;max-width:10ch}.method-intro__body>p{margin:0;max-width:48rem;color:var(--color-muted);font-size:1rem;line-height:1.75;letter-spacing:-.02em}.method-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--color-border)}.method-principle{display:grid;gap:1rem;padding:1.7rem clamp(1.1rem,2vw,1.8rem) 1.85rem 0;border-top:1px solid var(--color-border);will-change:transform,opacity}.method-board>.method-principle{border-top:0}.method-principle+.method-principle{padding-left:clamp(1.2rem,2vw,2rem);border-left:1px solid var(--color-border)}.method-principle__index{margin:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-strong)}.method-principle__main{display:grid;gap:.7rem}.method-principle__main h3{margin:0;max-width:14ch;font-family:var(--font-display);font-size:clamp(1.35rem,2.7vw,1.95rem);font-weight:600;letter-spacing:-.045em;line-height:1.08}.method-principle__main p{margin:0;max-width:31rem;color:var(--color-muted);font-size:.98rem;line-height:1.68;letter-spacing:-.018em}.closing-strip{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:2.4rem 5rem;align-items:start}.closing-section .section-label{color:rgb(var(--color-ink-rgb) / .62)}.closing-strip__copy h2{max-width:8ch}.closing-strip__copy>p{color:rgb(var(--color-ink-rgb) / .72)}.closing-strip__channel{display:grid;gap:1rem;align-content:start;will-change:transform,opacity}.closing-strip__email{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 .18em;max-width:16ch;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4.5rem);font-weight:700;line-height:.94;letter-spacing:-.055em;color:var(--color-ink);overflow-wrap:anywhere;will-change:clip-path}.closing-strip__email-domain{color:rgb(var(--color-ink-rgb) / .62)}.closing-strip__email:hover{color:rgb(var(--color-ink-rgb) / .72)}.closing-strip__email:hover .closing-strip__email-domain{color:var(--color-ink)}.closing-strip__links{display:grid;gap:.8rem;min-width:0;max-width:18rem;padding-top:1.1rem;border-top:1px solid rgb(var(--color-ink-rgb) / .2);will-change:transform,opacity}.closing-section .text-link{color:rgb(var(--color-ink-rgb) / .74)}.closing-section .text-link:hover{color:var(--color-ink)}@media (max-width: 1080px){.hero-intro{--hero-pad-top: calc(var(--nav-height) + 1.2rem);--hero-pad-bottom: 2rem}.hero-intro__grid,.closing-strip{grid-template-columns:1fr}.hero-intro__visual{right:-7.5rem;bottom:-2rem;width:clamp(32rem,70vw,44rem)}.systems-intro__header{flex-direction:column;align-items:flex-start}.systems-intro h2{white-space:normal}.system-feature__layout,.systems-grid,.method-intro,.method-board{grid-template-columns:1fr}.systems-section{padding-top:6.5rem}.system-tile:nth-child(odd){border-right:0}.system-tile:nth-child(2n){border-top:1px solid var(--color-border);padding-top:1.55rem}.systems-grid>.system-tile:nth-child(2){border-top:1px solid var(--color-border)}.system-feature{gap:1.3rem;padding-top:1.55rem;padding-bottom:1.7rem}.system-feature h3{max-width:10ch;font-size:clamp(2.5rem,8vw,4rem)}.system-feature__summary{max-width:28ch;font-size:1.04rem}.system-feature__note{max-width:42ch}.system-feature__footer{align-items:center}.system-tile__stack{font-size:.82rem;line-height:1.28}.system-tile__footer{align-items:flex-end}.method-principle{gap:.8rem;padding-right:0}.method-principle+.method-principle{padding-left:0;border-left:0}}@media (max-width: 920px){.site-nav__inner{display:block}.site-nav__toggle{display:inline-flex;position:relative;z-index:25}.site-nav__frame{display:flex;justify-content:space-between;width:100%;opacity:1}.site-nav__panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:grid;align-content:start;gap:3.2rem;margin-left:0;padding:calc(var(--nav-height) + 3.4rem) 2.1rem 2.2rem;border:0;border-radius:0;background:var(--color-brand);box-shadow:none;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;clip-path:circle(18px at calc(100% - 2.5rem) 2.5rem);transition:opacity .3s ease,visibility 0s linear .3s,clip-path .3s ease;will-change:clip-path}.site-nav__panel.is-open{opacity:1;visibility:visible;pointer-events:auto;clip-path:circle(150% at calc(100% - 2.5rem) 2.5rem);transition:opacity .3s ease,visibility 0s linear 0ms,clip-path .5s ease}.site-nav__backdrop{display:block}.site-nav__links{flex-direction:column;align-items:flex-start;gap:5rem}.site-nav__link{width:fit-content;justify-content:flex-start;padding:0;font-family:var(--font-display);font-size:clamp(2.5rem,11vw,3.9rem);font-weight:700;line-height:.92;letter-spacing:-.05em;text-transform:none;color:rgb(var(--color-ink-rgb) / .72);opacity:1}.site-nav__link:after{display:none}.site-nav__link:hover,.site-nav__link.is-active{color:var(--color-ink);opacity:1}.site-nav__theme-toggle{width:5rem;min-height:2.9rem;padding:.32rem;border-color:rgb(var(--color-ink-rgb) / .14);background:rgb(var(--color-ink-rgb) / .08);transform:none;transition:none}.site-nav__theme-toggle:before{top:.32rem;right:.32rem;bottom:.32rem;left:.32rem;background:rgb(var(--color-ink-rgb) / .12)}.site-nav__theme-toggle.is-light:before{background:rgb(var(--color-inverse-rgb) / .28)}.site-nav__theme-icon{width:2.25rem;height:2.25rem;background:rgb(var(--color-inverse-rgb) / .94);color:var(--color-ink);transform:none;box-shadow:none}.site-nav__theme-toggle.is-light .site-nav__theme-icon{transform:translate(2.1rem);background:rgb(var(--color-ink-rgb) / .94);color:var(--color-inverse)}.site-nav__theme-toggle:hover,.site-nav__theme-toggle:focus-visible{border-color:rgb(var(--color-ink-rgb) / .14);background:rgb(var(--color-ink-rgb) / .08);transform:none}.site-nav__theme-toggle:hover .site-nav__theme-icon,.site-nav__theme-toggle:focus-visible .site-nav__theme-icon{background:rgb(var(--color-inverse-rgb) / .94);color:var(--color-ink);box-shadow:none}.site-nav__theme-toggle.is-light:hover .site-nav__theme-icon,.site-nav__theme-toggle.is-light:focus-visible .site-nav__theme-icon{transform:translate(2.1rem);background:rgb(var(--color-ink-rgb) / .94);color:var(--color-inverse)}.site-nav__resume{min-height:3.9rem;padding:.66rem .72rem .66rem 1.28rem;margin-left:0;width:fit-content;font-size:1.9rem;letter-spacing:.1em;opacity:1;border-color:var(--color-inverse);background:var(--color-inverse);color:var(--color-ink);transform:none;transition:none}.site-nav__resume:before{display:none}.site-nav__resume .action-pill__icon{width:2.45rem;height:2.45rem;background:rgb(var(--color-ink-rgb) / .96);color:var(--color-inverse);transform:none}.site-nav__resume:hover,.site-nav__resume:focus-visible{border-color:var(--color-inverse);background:var(--color-inverse);color:var(--color-ink);transform:none}.site-nav__resume:hover .action-pill__icon,.site-nav__resume:focus-visible .action-pill__icon{background:rgb(var(--color-ink-rgb) / .96);color:var(--color-inverse);transform:none}.site-nav__socials{display:flex;align-items:center;gap:.9rem;margin-top:5rem}.site-nav__social-link{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border:1px solid rgb(var(--color-ink-rgb) / .14);border-radius:999px;background:rgb(var(--color-ink-rgb) / .94);color:var(--color-inverse);transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.site-nav__social-link:hover,.site-nav__social-link:focus-visible{transform:translateY(-1px);border-color:rgb(var(--color-inverse-rgb) / .22);background:var(--color-inverse);color:var(--color-ink)}.site-nav__social-link svg{width:1.2rem;height:1.2rem}}@media (max-width: 720px){.page-main{padding-top:calc(var(--nav-height) + .45rem)}.site-container{width:min(100%,calc(100% - 2.1rem))}.site-nav{padding:1.1rem;margin-top:10px}.site-brand__script{font-size:2.75rem}.hero-intro{--hero-pad-top: calc(var(--nav-height) + .95rem);--hero-pad-bottom: 1.5rem;min-height:100svh}.hero-intro__grid{min-height:calc(100svh - var(--hero-pad-top) - var(--hero-pad-bottom));gap:0}.hero-intro__title{font-size:clamp(4.8rem,18vw,6.6rem);line-height:.9}.hero-intro__name-part{display:block}.hero-intro__name-part+.hero-intro__name-part{margin-left:0;margin-top:-.28em}.hero-intro__lede{font-size:1rem;max-width:30ch;margin-top:2cap;line-height:1.5}.hero-intro__copy{max-width:100%;padding-bottom:2.65rem}.hero-intro__visual{right:-15rem;bottom:-3.2rem;width:min(132vw,42rem)}.hero-intro__portrait{transform:translate(6%) translateY(-9%) scale(1.38);opacity:.44}.systems-section,.method-section,.closing-section{padding:5.5rem 0}.system-tile{gap:.65rem;padding:1.05rem 0 1.2rem}.system-feature{gap:1rem;padding:1.2rem 0 1.35rem}.system-feature__layout{gap:1rem}.system-feature__meta{font-size:.72rem}.system-feature h3{font-size:clamp(2.5rem,12vw,4rem)}.system-feature__summary{font-size:1rem;max-width:26ch;line-height:1.18}.system-feature__note{font-size:.92rem;line-height:1.4}.system-feature__stack{font-size:.78rem;line-height:1.24}.system-feature__footer{align-items:center}.system-feature__action{min-height:2.5rem;padding:.3rem .38rem .3rem .74rem;font-size:1.12rem}.system-feature__action-icon{width:1.72rem;height:1.72rem}.system-tile__meta{font-size:.72rem}.system-tile h3{font-size:clamp(1.7rem,8vw,2.2rem)}.system-tile__stack{font-size:.8rem;line-height:1.26}.system-tile__footer{flex-wrap:wrap;align-items:center}.system-tile__summary{font-size:.96rem;line-height:1.42}.system-tile__action{min-height:2.4rem;padding:.28rem .38rem .28rem .72rem;opacity:1;visibility:visible;transform:translateY(0);font-size:1.12rem}.method-principle{gap:.7rem;padding:1.2rem 0 1.4rem}.method-principle__index{font-size:.68rem}.method-principle__main h3{font-size:1.18rem}.method-intro__body>p,.method-principle__main p{font-size:.92rem;line-height:1.58}.closing-strip__channel{gap:.9rem}.closing-strip__email{max-width:100%;font-size:clamp(1.5rem,9vw,2.7rem);line-height:.98}.closing-strip__links{width:100%;min-width:0;max-width:none}}.case-study-page{position:relative;isolation:isolate;padding-bottom:8rem;background:var(--color-bg)}body.case-study-lightbox-open{overflow:hidden}.case-study-page:before{content:"";position:absolute;inset:0 0 auto;z-index:-1;height:52rem;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 60% -10%,rgba(180,120,60,.18) 0%,transparent 70%)}.case-study-hero{position:relative;overflow:clip;padding:1.4rem 0 6rem}.case-study-hero__inner{position:relative;display:grid;gap:2.8rem}.case-study-hero__mast{display:flex;align-items:center;justify-content:space-between;gap:1rem}.case-study-hero__back-link{gap:.72rem;margin-bottom:0;padding:.15rem 0;color:rgb(var(--color-text-rgb) / .62);letter-spacing:.14em;transition:color .22s ease}.case-study-hero__back-link-icon{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid rgb(var(--color-text-rgb) / .1);background:rgb(var(--color-text-rgb) / .03);color:rgb(var(--color-text-rgb) / .78);transition:transform .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease}.case-study-hero__back-link-icon svg{width:.9rem;height:.9rem}.case-study-hero__back-link:hover,.case-study-hero__back-link:focus-visible{color:var(--color-text)}.case-study-hero__back-link:hover .case-study-hero__back-link-icon,.case-study-hero__back-link:focus-visible .case-study-hero__back-link-icon{transform:translate(-2px);border-color:#c8956273;background:#c895621a;color:var(--color-brand-strong)}.case-study-hero__meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--color-text-rgb) / .38)}.case-study-hero__meta span+span:before{content:"·";margin:0 .6rem;color:rgb(var(--color-text-rgb) / .2)}.case-study-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"copy media" "rail media";gap:clamp(2rem,4vw,3.2rem) clamp(2rem,5vw,5rem);align-items:start}.case-study-hero__copy{grid-area:copy;display:grid;min-width:0;gap:1.4rem}.case-study-hero__copy h1,.case-study-hero__copy p,.case-study-hero__caption p,.case-study-proof p,.case-study-story__intro h2,.case-study-story__body p,.case-study-panel h3,.case-study-panel p{margin:0}.case-study-hero__copy h1{max-width:10ch;font-family:var(--font-display);font-size:clamp(4.2rem,9.5vw,8rem);font-weight:700;line-height:.82;letter-spacing:-.09em}.case-study-hero__title--compact{overflow-wrap:anywhere}.case-study-hero__summary{max-width:40ch;color:var(--color-muted-strong);font-size:clamp(1.08rem,1.6vw,1.38rem);font-weight:500;line-height:1.28;letter-spacing:-.028em}.case-study-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.2rem;padding-top:.5rem}.case-study-hero__rail{grid-area:rail;display:grid;gap:0;align-content:start;padding-top:1.8rem;border-top:1px solid var(--color-border)}.case-study-hero__media{grid-area:media;display:grid;gap:1.2rem;align-content:start}.case-study-hero__caption{display:grid;gap:.38rem}.case-study-hero__caption p:last-child{color:rgb(var(--color-text-rgb) / .6);font-size:.9rem;line-height:1.58;letter-spacing:-.01em}.case-study-proof{display:grid;gap:1rem;padding:1.4rem 0}.case-study-proof+.case-study-proof{border-top:1px solid var(--color-border)}.case-study-panel__label{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.case-study-proof__stack{font-family:var(--font-display);font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:700;line-height:.96;letter-spacing:-.06em;color:var(--color-text)}.case-study-showcase__gallery{--row: clamp(9rem, 11.5vw, 12rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-areas:"lead side-top" "lead side-main" "base side-main";grid-template-rows:repeat(3,var(--row));gap:clamp(.6rem,1.2vw,.9rem);width:100%}.case-study-showcase__tile{position:relative;overflow:hidden;min-height:0;margin:0;border:1px solid rgb(var(--color-text-rgb) / .08);border-radius:0;background:rgb(var(--color-text-rgb) / .03);transform:translateY(0);transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .28s ease,background-color .22s ease;will-change:transform}.case-study-showcase__tile--lead{grid-area:lead}.case-study-showcase__tile--side-top{grid-area:side-top}.case-study-showcase__tile--side-main{grid-area:side-main}.case-study-showcase__tile--base{grid-area:base}.case-study-showcase__button{position:relative;overflow:hidden;display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:zoom-in;transition:transform .18s ease;will-change:transform}.case-study-showcase__button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:0;background:radial-gradient(circle at 76% 22%,rgb(var(--color-inverse-rgb) / .12),transparent 34%),linear-gradient(180deg,rgb(var(--color-inverse-rgb) / .06),transparent 55%);transition:opacity .22s ease;pointer-events:none}.case-study-showcase__tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.25,.46,.45,.94);will-change:transform}.case-study-showcase__tile:hover,.case-study-showcase__tile:focus-within{transform:translateY(-4px);border-color:rgb(var(--color-text-rgb) / .14);background:rgb(var(--color-text-rgb) / .045);box-shadow:0 18px 34px rgb(var(--color-ink-rgb) / .14)}.case-study-showcase__tile:hover img,.case-study-showcase__button:focus-visible img{transform:scale(1.04)}.case-study-showcase__tile:hover .case-study-showcase__button:before,.case-study-showcase__button:focus-visible:before{opacity:1}.case-study-showcase__button:active{transform:scale(.985)}.case-study-showcase__tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgb(var(--color-text-rgb) / .04) 0%,transparent 60%);pointer-events:none}.case-study-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:var(--color-modal-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);will-change:opacity}.case-study-lightbox__dialog{position:relative;overflow:hidden;width:min(1100px,100%);max-height:100%;padding:clamp(.9rem,2vw,1rem);border:1px solid rgb(var(--color-text-rgb) / .11);border-radius:0;background:var(--color-bg);box-shadow:0 24px 64px rgb(var(--color-ink-rgb) / .46),inset 0 1px rgb(var(--color-inverse-rgb) / .03);transform-origin:center center;will-change:transform,opacity}.case-study-lightbox__dialog:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.14;background-image:linear-gradient(180deg,rgb(var(--color-inverse-rgb) / .02),rgb(var(--color-inverse-rgb) / 0) 10rem);background-repeat:no-repeat;background-size:auto}.case-study-lightbox__header{position:relative;z-index:2;display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.05rem .1rem .9rem;margin-bottom:.9rem;border-bottom:1px solid rgb(var(--color-text-rgb) / .07)}.case-study-lightbox__copy{display:grid;gap:.28rem}.case-study-lightbox__copy p,.case-study-lightbox__copy h2{margin:0}.case-study-lightbox__copy p{font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--color-text-rgb) / .44)}.case-study-lightbox__copy h2{max-width:16ch;font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,2rem);font-weight:700;line-height:.95;letter-spacing:-.055em}.case-study-lightbox__image{position:relative;z-index:2;display:block;width:100%;max-height:calc(100vh - 9rem);border:1px solid rgb(var(--color-text-rgb) / .06);border-radius:0;object-fit:contain;background-color:var(--color-bg);will-change:transform,opacity}.case-study-lightbox__close{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:.7rem;flex-shrink:0;min-height:3rem;padding:.38rem .42rem .38rem .9rem;border:1px solid var(--color-button-border);border-radius:999px;background:var(--color-button-surface);color:var(--color-text);font-family:var(--font-hand);font-size:1.08rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 24px var(--color-button-shadow);transition:border-color .22s ease,box-shadow .22s ease,color .22s ease,background-color .22s ease}.case-study-lightbox__close:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--color-brand);transform:scaleX(0);transform-origin:left;transition:transform .26s ease}.case-study-lightbox__close>*{position:relative;z-index:1}.case-study-lightbox__close:hover,.case-study-lightbox__close:focus-visible{border-color:var(--color-brand);color:var(--color-ink);box-shadow:0 14px 28px #c895622e}.case-study-lightbox__close:hover:before,.case-study-lightbox__close:focus-visible:before{transform:scaleX(1)}.case-study-lightbox__close-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--color-brand);color:var(--color-ink);transition:background-color .22s ease,color .22s ease}.case-study-lightbox__close:hover .case-study-lightbox__close-icon,.case-study-lightbox__close:focus-visible .case-study-lightbox__close-icon{background:var(--color-action-icon-hover-bg);color:var(--color-action-icon-hover-fg)}.case-study-lightbox__close-icon svg{width:1rem;height:1rem}.case-study-story,.case-study-engineering{padding:0 0 5.5rem}.case-study-story{position:relative}.case-study-story:before{content:"";display:block;height:1px;background:var(--color-border);margin-bottom:5.5rem}.case-study-story__grid,.case-study-engineering__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}.case-study-story__intro,.case-study-engineering__intro{position:sticky;top:calc(var(--nav-height) + 2rem);display:grid;gap:.7rem}.case-study-story__intro h2,.case-study-engineering__intro h2{font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,4rem);font-weight:700;line-height:.88;letter-spacing:-.07em}.case-study-engineering__intro h2{max-width:14ch;font-size:clamp(1.9rem,3.2vw,2.9rem)}.case-study-hero__source-icon{display:inline-flex;align-items:center;justify-content:center}.case-study-hero__source-icon svg{width:1.7rem;height:1.7rem;margin-left:-5px}.case-study-story__body{display:grid;gap:1.5rem}.case-study-story__body p{max-width:88ch;color:var(--color-muted-strong);font-size:1.02rem;line-height:1.86;letter-spacing:-.016em}.case-study-story__body p:first-child{color:var(--color-text);font-size:1.12rem;line-height:1.72;letter-spacing:-.024em}.case-study-engineering__panels{display:grid;align-content:start}.case-study-panel{position:relative;display:grid;grid-template-columns:minmax(13rem,.7fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem);align-items:start;padding:clamp(1.4rem,2.5vw,2rem) 0;border-top:1px solid var(--color-border);transition:border-color .22s ease}.case-study-panel:hover{border-top-color:var(--color-border-strong)}.case-study-panel:last-child{border-bottom:1px solid var(--color-border)}.case-study-panel__header,.case-study-panel__body{display:grid}.case-study-panel__header{gap:.72rem}.case-study-panel__body{max-width:58ch;gap:.95rem}.case-study-panel__label{display:inline-block}.case-study-panel h3{max-width:11ch;font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:700;line-height:.92;letter-spacing:-.06em;transition:transform .22s ease,color .22s ease}.case-study-panel:hover h3{transform:translate(.12rem)}.case-study-panel__body p{color:var(--color-muted);font-size:.97rem;line-height:1.82;letter-spacing:-.014em}.case-study-panel__body p:first-child{color:var(--color-muted-strong)}@media (max-width: 1080px){.case-study-hero__grid,.case-study-story__grid,.case-study-engineering__grid{grid-template-columns:1fr}.case-study-hero__grid{grid-template-areas:"copy" "media" "rail";gap:2.2rem}.case-study-story__intro,.case-study-engineering__intro{position:static}.case-study-hero__caption{max-width:28rem}.case-study-showcase__gallery{width:100%}}@media (max-width: 920px){.case-study-page{padding-bottom:5rem}.case-study-hero{padding-bottom:3.2rem}.case-study-hero__mast{flex-direction:column;align-items:flex-start}.case-study-hero__rail{grid-template-columns:1fr}.case-study-panel{grid-template-columns:1fr;gap:.9rem}}@media (max-width: 720px){.case-study-hero{padding-bottom:3.6rem}.case-study-hero__copy h1{font-size:clamp(3.4rem,17vw,5.2rem);max-width:10ch}.case-study-hero__title--compact{max-width:100%;font-size:clamp(2.7rem,12vw,4.2rem);line-height:.88}.case-study-hero__summary{font-size:1rem;max-width:40ch;line-height:1.32}.case-study-hero__caption p:last-child,.case-study-story__body p,.case-study-panel__body p{font-size:.94rem;line-height:1.7}.case-study-proof__stack{font-size:clamp(1.5rem,10vw,2.1rem)}.case-study-story,.case-study-engineering{padding-bottom:4rem}.case-study-story:before{margin-bottom:4rem}.case-study-showcase__gallery{--row: clamp(7rem, 25vw, 9.5rem);gap:.6rem}.case-study-lightbox{padding:.75rem}.case-study-lightbox__dialog{padding:.85rem;border-radius:0}.case-study-lightbox__header{flex-direction:column;align-items:stretch;gap:.75rem;padding-bottom:.8rem;margin-bottom:.8rem}.case-study-lightbox__copy h2{max-width:none;font-size:clamp(1.35rem,8vw,1.9rem)}.case-study-lightbox__close{width:fit-content;min-height:2.8rem;padding:.32rem .38rem .32rem .78rem;font-size:1rem}.case-study-lightbox__image{max-height:calc(100vh - 10rem);border-radius:0}.case-study-story__intro h2{font-size:clamp(2.1rem,11vw,3.2rem)}.case-study-engineering__intro h2{font-size:clamp(1.7rem,9vw,2.5rem)}.case-study-panel{padding:1.25rem 0 1.45rem}}@media (max-width: 560px){.case-study-showcase__gallery{--row: clamp(6.4rem, 27vw, 8.5rem)}.case-study-hero__title--compact{font-size:clamp(2.45rem,11vw,3.5rem)}}.writing-page{position:relative;isolation:isolate;padding-bottom:7rem;background:var(--color-bg)}.writing-page:before{content:"";position:absolute;inset:0 0 auto;z-index:-1;height:40rem;pointer-events:none;background:radial-gradient(circle at 18% -8%,rgb(var(--color-brand-rgb) / .14) 0%,transparent 58%)}.writing-hero{padding:1.4rem 0 4.8rem}.writing-hero__inner,.writing-collection__inner{display:grid;gap:2rem}.writing-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.44fr);gap:clamp(2rem,5vw,5rem);align-items:end}.writing-hero__copy{display:grid;gap:1.35rem;max-width:58rem;min-width:0}.writing-hero__copy h1,.writing-feature__copy h2,.writing-card h2,.writing-empty__panel h2,.writing-empty__panel p,.writing-hero__summary,.writing-hero__stat p,.writing-feature__excerpt,.writing-archive__eyebrow,.writing-card__excerpt{margin:0}.writing-hero__copy h1{max-width:12ch;font-family:var(--font-display);font-size:clamp(4rem,9vw,7rem);font-weight:700;line-height:.84;letter-spacing:-.08em}.writing-hero__summary{max-width:42rem;color:var(--color-muted-strong);font-size:clamp(1.08rem,1.65vw,1.34rem);font-weight:500;line-height:1.34;letter-spacing:-.026em}.writing-hero__rail{display:grid;gap:1.2rem;align-content:start;padding-top:1.2rem;border-top:1px solid var(--color-border);min-width:0}.writing-hero__stat{display:grid;gap:.45rem}.writing-hero__stat-value{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:700;line-height:.88;letter-spacing:-.08em;color:var(--color-text)}.writing-hero__stat p{max-width:24rem;color:var(--color-muted);font-size:.96rem;line-height:1.65;letter-spacing:-.015em}.writing-feature,.writing-archive{display:grid;gap:1.4rem}.writing-feature{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.writing-feature__link{display:grid;gap:1.45rem;padding:1.8rem 0 2rem;color:var(--color-text)}.writing-feature__meta,.writing-card__meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--color-text-rgb) / .46)}.writing-feature__meta span+span:before,.writing-card__meta span+span:before{content:"/";margin-right:.9rem;color:rgb(var(--color-text-rgb) / .24)}.writing-feature__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.5fr);gap:clamp(1.8rem,4vw,4rem);align-items:end}.writing-feature__copy{display:grid;gap:.95rem;min-width:0}.writing-feature__copy h2{max-width:12ch;font-family:var(--font-display);font-size:clamp(2.9rem,6vw,4.9rem);font-weight:700;line-height:.9;letter-spacing:-.08em}.writing-feature__excerpt{max-width:32ch;color:var(--color-muted-strong);font-size:clamp(1.02rem,1.2vw,1.16rem);font-weight:500;line-height:1.44;letter-spacing:-.022em}.writing-feature__rail{display:grid;gap:1rem;align-content:end;min-width:0}.writing-feature__rail--with-media{gap:1.15rem}.writing-feature__media{overflow:hidden;border:1px solid rgb(var(--color-text-rgb) / .08);background:linear-gradient(180deg,rgb(var(--color-inverse-rgb) / .06),rgb(var(--color-inverse-rgb) / .02)),var(--color-panel-bg);box-shadow:0 24px 44px var(--color-shadow)}.writing-feature__media img{display:block;width:100%;aspect-ratio:1.9 / 1;object-fit:cover}.writing-feature__details{display:grid;gap:1rem;align-content:end;justify-items:start;min-width:0}.writing-feature__action{pointer-events:auto}.writing-feature__link:focus-visible .writing-feature__action{transform:translateY(-1px);border-color:var(--color-brand);background:var(--color-button-surface-strong);color:var(--color-ink);box-shadow:0 18px 32px rgb(var(--color-brand-rgb) / .14)}.writing-feature__link:focus-visible .writing-feature__action:before{transform:scaleX(1)}.writing-feature__link:focus-visible .writing-feature__action .action-pill__icon{transform:translate(2px);background:var(--color-action-icon-hover-bg);color:var(--color-action-icon-hover-fg)}.writing-empty__panel{display:grid;gap:1rem;max-width:48rem;padding:2rem;border:1px solid var(--color-border);background:linear-gradient(180deg,rgb(var(--color-inverse-rgb) / .04),rgb(var(--color-inverse-rgb) / .015)),var(--color-panel-bg);box-shadow:0 24px 40px var(--color-shadow)}.writing-empty__panel h2{max-width:12ch;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:.92;letter-spacing:-.06em}.writing-empty__panel p:last-child{max-width:38rem;color:var(--color-muted-strong);line-height:1.72}.writing-archive__header{display:flex;align-items:end;justify-content:space-between;gap:1rem 2rem}.writing-archive__eyebrow{color:var(--color-muted);font-size:.96rem;line-height:1.55;letter-spacing:-.015em}.writing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--color-border)}.writing-card{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:.95rem;padding:1.35rem clamp(1.2rem,3vw,2rem) 1.55rem;color:var(--color-text);min-width:0}.writing-card:nth-child(odd){border-top:1px solid var(--color-border);border-right:1px solid var(--color-border)}.writing-card:nth-child(2n){border-top:1px solid var(--color-border)}.writing-grid>.writing-card:first-child,.writing-grid>.writing-card:nth-child(2){border-top:0}.writing-card h2{max-width:14ch;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.45rem);font-weight:700;line-height:.94;letter-spacing:-.055em}.writing-card__excerpt{max-width:34rem;color:var(--color-muted-strong);font-size:.98rem;line-height:1.56;letter-spacing:-.018em}.writing-card__footer{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:.35rem}.writing-card__action{flex-shrink:0;color:var(--color-accent)}.writing-card__action svg{width:.95rem;height:.95rem}.writing-feature__link:focus-visible,.writing-card:focus-visible{outline:2px solid rgb(var(--color-brand-rgb) / .44);outline-offset:.35rem}@media (max-width: 1080px){.writing-page{padding-bottom:6rem}.writing-hero__grid,.writing-feature__body{gap:clamp(1.5rem,3vw,2.6rem)}.writing-hero__grid{grid-template-columns:minmax(0,1fr) minmax(15.5rem,.42fr);gap:clamp(1.6rem,4vw,3rem);align-items:start}.writing-feature__body{grid-template-columns:minmax(0,1fr) minmax(16rem,.56fr)}.writing-feature__copy h2{font-size:clamp(2.45rem,5vw,3.8rem);max-width:11ch}.writing-feature__excerpt{max-width:38ch}.writing-feature__media img{aspect-ratio:2 / 1}}@media (max-width: 900px){.writing-hero{padding-bottom:4rem}.writing-hero__grid,.writing-feature__body,.writing-grid{grid-template-columns:1fr}.writing-hero__copy h1{max-width:11ch;font-size:clamp(3.6rem,9vw,5.4rem)}.writing-hero__rail{max-width:28rem}.writing-feature__media img{aspect-ratio:2.1 / 1}.writing-card:nth-child(odd){border-right:0}.writing-grid>.writing-card:nth-child(2){border-top:1px solid var(--color-border)}.writing-archive__header,.writing-card__footer{align-items:flex-start;flex-direction:column}}@media (max-width: 720px){.writing-page{padding-bottom:5rem}.writing-hero{padding-bottom:3.6rem}.writing-hero__copy h1{font-size:clamp(3.4rem,16vw,4.9rem);max-width:11ch}.writing-hero__summary,.writing-feature__excerpt,.writing-card__excerpt{font-size:.94rem;line-height:1.65}.writing-feature__link{padding:1.35rem 0 1.55rem}.writing-feature__meta,.writing-card__meta{gap:.4rem .55rem}.writing-feature__meta span+span:before,.writing-card__meta span+span:before{margin-right:.65rem}.writing-empty__panel{padding:1.6rem}.writing-card{padding:1.1rem 0 1.35rem}}
