:root{--yellow: #fbbb10;--yellow-deep: #e2a300;--os-mark-fill: #ebe9e1;--ink: #0e0e0d;--ink-soft: #1d1e1b;--paper: #ffffff;--paper-soft: #f4f3f0;--line-on-ink: rgba(255,255,255,.16);--line-on-paper: rgba(14,14,13,.14);--text-on-ink: rgba(255,255,255,.92);--text-on-ink-dim: rgba(255,255,255,.56);--text-on-paper: rgba(14,14,13,.92);--text-on-paper-dim: rgba(14,14,13,.56);--font-display: "Instrument Serif", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-eyebrow: clamp(.68rem, .6rem + .2vw, .78rem);--fs-body: clamp(1rem, .95rem + .2vw, 1.125rem);--fs-h2: clamp(1.9rem, 1.4rem + 2.2vw, 3.2rem);--fs-h3: clamp(1.3rem, 1.1rem + 1vw, 1.8rem);--fs-quote: clamp(1.6rem, 1.2rem + 2vw, 2.6rem);--fs-huge: clamp(2.4rem, 1.4rem + 5vw, 6.4rem);--gap-xs: .5rem;--gap-sm: 1rem;--gap-md: 2rem;--gap-lg: 4rem;--gap-xl: clamp(4rem, 3rem + 4vw, 6.5rem);--ease: cubic-bezier(.77, 0, .175, 1);--dur-fast: .35s;--dur-mid: .8s;--dur-slow: 1.4s;--radius: 2px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--ink);color:var(--text-on-ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol,blockquote{margin:0}h1,h2{font-family:var(--font-display);font-weight:400;line-height:1.05}img,svg{display:block;max-width:100%}a{color:inherit}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.skip-link{position:absolute;left:-999px;top:0;background:var(--yellow);color:var(--ink);padding:.6rem 1rem;z-index:999;font-family:var(--font-mono);font-size:.8rem}.skip-link:focus{left:1rem;top:1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}html{scroll-snap-type:none}.section{position:relative;padding:var(--gap-xl) clamp(1.25rem,4vw,4rem);min-height:100vh;min-height:100svh}.section--ink{background:var(--ink);color:var(--text-on-ink)}.section--paper{background:var(--paper);color:var(--text-on-paper)}.section-inner{max-width:74rem;margin:0 auto;position:relative;z-index:1}.eyebrow{display:block;font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:var(--gap-sm)}.grain-overlay{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:60;opacity:.05;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;animation:grainShift 8s steps(8) infinite}@keyframes grainShift{0%{transform:translate(0)}10%{transform:translate(-3%,-8%)}20%{transform:translate(-9%,3%)}30%{transform:translate(6%,-11%)}40%{transform:translate(-6%,7%)}50%{transform:translate(3%,-4%)}60%{transform:translate(-10%,10%)}70%{transform:translate(9%)}80%{transform:translateY(9%)}90%{transform:translate(-6%,-6%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.grain-overlay{animation:none}}[data-magnetic]{will-change:transform}[data-magnetic].is-returning{transition:transform .5s var(--ease)}@media (prefers-reduced-motion: reduce){[data-magnetic]{transform:none!important;transition:none!important}}.page-transition-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:90;pointer-events:none}@media (prefers-reduced-motion: reduce){.page-transition-canvas{display:none!important}}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:var(--ink);opacity:1}.preloader.is-leaving{opacity:0;pointer-events:none;transition:opacity .25s linear}.preloader-inner{display:flex;flex-direction:column;align-items:center;gap:var(--gap-md);animation:preloaderFlicker 1.1s steps(2,jump-none) 1}@keyframes preloaderFlicker{0%{opacity:0;filter:brightness(3.5) saturate(1.6)}6%{opacity:1;filter:brightness(.4) saturate(1.6)}11%{opacity:.3;filter:brightness(2.4)}16%{opacity:1;filter:brightness(1)}40%{opacity:1;filter:brightness(1)}42%{opacity:.5;filter:brightness(2)}45%{opacity:1;filter:brightness(1)}to{opacity:1;filter:brightness(1)}}.preloader-mark-stage{position:relative;width:clamp(72px,11vw,120px);aspect-ratio:37.08 / 20.76}.preloader-mark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.preloader-mark-stage.is-formed .mark-path{stroke-dashoffset:0;clip-path:inset(0 0 0 0);fill-opacity:1;stroke-opacity:0}.preloader-readout{display:flex;align-items:baseline;gap:.15em;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--paper)}.preloader-percent{font-size:clamp(2.2rem,1.6rem + 2.4vw,3.6rem);font-weight:500;letter-spacing:-.02em}.preloader-percent-sign{font-size:clamp(1rem,.8rem + .6vw,1.4rem);color:var(--text-on-ink-dim)}.preloader-bar{width:clamp(220px,22vw,320px);height:1px;background:var(--line-on-ink);overflow:hidden}.preloader-bar-fill{display:block;height:100%;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left}.preloader-log{height:1.4em;overflow:hidden;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-on-ink-dim);text-align:center}.preloader-log p{margin:0;opacity:0;transform:translateY(4px);animation:preloaderLogLine .25s var(--ease) forwards;animation-delay:calc(var(--i, 0) * .13s + .26s)}@keyframes preloaderLogLine{to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.preloader-log{display:none}}@media (prefers-reduced-motion: reduce){.preloader-inner{animation:none!important}.preloader-log p{animation:none!important;opacity:1!important;transform:none!important}}.persistent-nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.25rem,4vw,2.5rem);z-index:40;mix-blend-mode:difference;opacity:0;transform:translateY(-8px);transition:opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease);pointer-events:none}.persistent-nav.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.persistent-nav.is-visible a,.persistent-nav.is-visible button{pointer-events:auto}.mark-link{width:34px}.mark-link svg path{fill:#fff}.persistent-cta{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}.persistent-cta span.short{display:none}.menu-toggle{position:fixed;bottom:1.1rem;right:clamp(1.25rem,4vw,2.5rem);z-index:40;mix-blend-mode:difference;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:none;border:none;padding:0;cursor:pointer;line-height:1;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease)}.menu-toggle.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}@media (prefers-reduced-motion: reduce){.menu-toggle{transition:opacity var(--dur-mid) linear}}.menu-toggle-text{display:inline-block}.section-curtain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:var(--yellow);transform:scaleX(1);transform-origin:right;pointer-events:none}@media (prefers-reduced-motion: reduce){.section-curtain{transform:scaleX(0)}}[data-reveal] .word{display:inline-block;will-change:filter,opacity,transform;filter:blur(9px);opacity:0;transform:translateY(.25em);transition:filter var(--dur-mid) var(--ease),opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease);transition-delay:calc(var(--i, 0) * 40ms)}[data-reveal].is-visible .word{filter:blur(0);opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){[data-reveal] .word{filter:none;opacity:1;transform:none;transition:none}}.hero{--mx: 0;--my: 0;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--gap-md);overflow:hidden}.hero-bg-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.6;pointer-events:none;transform:scale(1.08) translate(calc(var(--mx) * -14px),calc(var(--my) * -14px));transition:transform .6s var(--ease)}.hero-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#0e0e0d8c;pointer-events:none}.hero-stage{position:relative;z-index:1;width:clamp(220px,32vw,360px);aspect-ratio:1;margin-bottom:var(--gap-sm);transform:perspective(900px) rotateX(calc(var(--my) * -8deg)) rotateY(calc(var(--mx) * 8deg));transition:transform .5s var(--ease);will-change:transform}.hero-mark{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:42%;transform-origin:50% 50%;transition:transform .4s var(--ease)}.hero-mark-link{position:absolute;top:0;right:0;bottom:0;left:0;display:block;cursor:pointer}@media (hover: hover) and (pointer: fine){.js .hero-mark-link:hover .hero-mark{transform:scale(1.06)}}.mark-path{fill:var(--yellow);fill-opacity:0;stroke:var(--yellow);stroke-width:.35;stroke-opacity:1;stroke-dasharray:var(--len, 400);stroke-dashoffset:var(--len, 400);transition:stroke-dashoffset 1.2s var(--ease),clip-path 1.2s var(--ease),fill-opacity .5s var(--ease) 1s,stroke-opacity .5s var(--ease) 1.3s}.hero-stage.is-formed .mark-path,.closing-stage:not(.is-forming) .mark-path{stroke-dashoffset:0;clip-path:inset(0 0 0 0);fill-opacity:1;stroke-opacity:0}.mark-reveal{stroke-dasharray:none;stroke-dashoffset:0;clip-path:inset(0 100% 0 0)}.hero-kicker{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem);line-height:1.1;font-style:italic;color:var(--text-on-ink-dim)}.hero-vision{position:relative;z-index:1;display:flex;flex-direction:column;gap:.35em}.hero-vision p{font-family:var(--font-display);font-size:clamp(1.9rem,1.3rem + 3vw,3.6rem);line-height:1.08;max-width:16ch;margin:0 auto;color:var(--text-on-ink)}.hf-char{-webkit-text-stroke-color:currentColor;-webkit-text-stroke-width:0}.hero-final{position:relative;z-index:1;max-width:34ch;font-family:var(--font-mono);font-weight:500;font-size:clamp(.85rem,.7rem + .6vw,1.05rem);letter-spacing:.03em;text-transform:uppercase;color:var(--yellow);margin-top:var(--gap-sm)}.scroll-cue{position:absolute;z-index:1;bottom:clamp(1.25rem,4vh,2.5rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-on-ink-dim);text-decoration:none;opacity:0;transition:opacity var(--dur-mid) var(--ease)}.scroll-cue.is-visible{opacity:1}.scroll-cue-line{width:1px;height:26px;background:var(--text-on-ink-dim);animation:cueMove 1.8s var(--ease) infinite}@keyframes cueMove{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.01%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media (prefers-reduced-motion: reduce){.scroll-cue-line{animation:none}}.section-transition{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.section-transition--sweep .section-transition-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0)}.section-transition--sweep .section-transition-line--v{position:absolute;top:0;bottom:0;left:0;width:1px;height:100%;overflow:visible;filter:drop-shadow(0 0 7px rgba(226,163,0,.8))}.section-transition--sweep .section-transition-line--v path{fill:none;stroke:var(--yellow-deep);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100}.section-transition--shutter{display:flex}.section-transition--shutter .section-transition-bar{flex:1 0 0;background:var(--paper);transform:scaleY(1);transform-origin:top}.section-transition--diagonal .section-transition-fill{position:absolute;left:-25%;right:-25%;top:-60%;height:160%;background:var(--ink);transform-origin:top left}.section-transition--lines .section-transition-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0)}.section-transition--lines .section-transition-line{position:absolute;left:0;right:0;top:0;width:100%;height:1px;overflow:visible;filter:drop-shadow(0 0 7px rgba(226,163,0,.8))}.section-transition--lines .section-transition-line path{fill:none;stroke:var(--yellow-deep);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100}.section-transition--grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr)}.section-transition--grid .section-transition-block{background:var(--paper-soft);transform:scale(1);transform-origin:center}.section-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:38;display:flex;align-items:center;justify-content:flex-start;padding:7rem clamp(1.25rem,5vw,4rem) 3rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-mid) var(--ease),visibility 0s linear var(--dur-mid)}.section-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur-mid) var(--ease),visibility 0s linear 0s}.section-menu-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e0e0d59;backdrop-filter:brightness(1) blur(0px);-webkit-backdrop-filter:brightness(1) blur(0px);opacity:0;transition:opacity var(--dur-mid) var(--ease),backdrop-filter var(--dur-mid) var(--ease),-webkit-backdrop-filter var(--dur-mid) var(--ease);z-index:-1}.section-menu.is-open .section-menu-bg{opacity:1;backdrop-filter:brightness(.25) blur(28px);-webkit-backdrop-filter:brightness(.25) blur(28px)}.section-menu-list{list-style:none;margin:0;padding:0;width:100%;max-height:100%;overflow-y:auto}.section-menu-item a{position:relative;display:flex;align-items:baseline;gap:.25rem;text-decoration:none;color:var(--paper);padding:.35rem 0;cursor:pointer}.section-menu-item.is-current a{color:var(--yellow)}.item-index{display:inline-block;align-self:flex-start;margin-top:.5rem;margin-right:.35rem;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.04em;color:var(--yellow)}.item-label{display:inline-flex;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,3rem);letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.item-divider{width:2px;height:1.6em;margin:0 1.1rem;background:var(--yellow);transform:rotate(20deg) scaleY(0);transform-origin:center center;transition:transform 1s var(--ease);transition-delay:calc(var(--menu-delay, 0ms) + 50ms);will-change:transform}.section-menu.is-open .item-divider{transform:rotate(20deg) scaleY(1)}.menu-char{display:inline-block;transition:color .15s var(--ease)}.menu-char.is-decoding{color:var(--yellow)}@media (max-width: 700px){.section-menu{padding:6rem 1.25rem 2.5rem}.item-label{font-size:2.1rem}.item-divider{margin:0 .7rem}}@media (prefers-reduced-motion: reduce){.section-menu{transition:opacity .15s linear!important}.section-menu-bg,.item-divider,.menu-char{transition:none!important}}.os-statement{position:fixed;top:15vh;left:50%;transform:translate(-50%);z-index:15;width:min(32ch,90vw);text-align:center;font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.15;color:var(--paper);pointer-events:none}@media (max-width: 720px){.os-statement{top:11vh}}.os-stage{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(3rem,8vw,6rem) 0;transform-origin:50% 50%;will-change:transform}.os-rail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center;gap:clamp(1rem,3vw,2.5rem) clamp(1.5rem,4vw,3rem);padding:clamp(7rem,16vw,9rem) clamp(2rem,6vw,5rem) clamp(2rem,6vw,3rem)}@media (max-width: 720px){.os-rail{display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;padding:clamp(4.5rem,20vw,6rem) 1.5rem clamp(1.5rem,6vw,2rem)}.os-unit{max-width:210px}}.os-unit{position:relative;display:block;width:100%;opacity:0;filter:blur(9px);transform:translateY(.25em);transition:filter var(--dur-mid) var(--ease),opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease);will-change:opacity,filter,transform}.os-unit.is-visible{opacity:1;filter:blur(0);transform:translateY(0)}.os-unit-inner{position:static;width:100%}.os-mark{display:block;width:100%;height:auto;overflow:visible;margin:0 auto}.os-mark path{fill:var(--os-mark-fill);transition:fill .3s var(--ease)}.os-divider{opacity:.9}.os-accent{opacity:.7}@media (hover: hover) and (pointer: fine){.os-unit:hover .os-mark path{fill:var(--yellow)}}@media (prefers-reduced-motion: reduce){.os-unit{transition:none!important;opacity:1!important;filter:none!important;transform:none!important}}.process-scroll-zone{min-height:220vh}.process-sticky-stage{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:var(--gap-xl) 0}@media (prefers-reduced-motion: reduce){.process-scroll-zone{min-height:auto}.process-sticky-stage{position:static;min-height:0}}.process-intro{max-width:46rem;margin:0 auto var(--gap-xl);text-align:center;transition:opacity .6s var(--ease),transform .6s var(--ease)}@media (prefers-reduced-motion: reduce){.process-intro{transition:none!important;opacity:1!important;transform:none!important}}.process-quote{font-family:var(--font-display);font-size:var(--fs-quote);line-height:1.15;max-width:22ch;margin:var(--gap-sm) auto 0}.process-line-wrap{position:relative;margin:0 auto var(--gap-md)}.process-line-svg{width:100%;height:3px;display:block;overflow:visible}.process-line-svg path{fill:none;stroke:var(--yellow);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100}.process-line-marker{position:absolute;top:50%;left:0%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #fbbb102e,0 0 12px #fbbb10b3;opacity:0;transition:opacity .3s var(--ease),left .1s linear;pointer-events:none}.process-line-marker.is-active{opacity:1;animation:processMarkerPulse 1.6s ease-in-out infinite}@keyframes processMarkerPulse{0%,to{box-shadow:0 0 0 4px #fbbb102e,0 0 12px #fbbb10b3}50%{box-shadow:0 0 0 7px #fbbb101a,0 0 18px #fbbb10e6}}@media (prefers-reduced-motion: reduce){.process-line-marker.is-active{animation:none}}.process-stations{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap-sm)}.process-station{text-align:center;padding-top:var(--gap-sm);border-top:1px solid var(--line-on-paper);transition:border-color var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease)}.process-station-index{display:block;font-family:var(--font-mono);font-size:.7rem;color:var(--text-on-paper-dim);margin-bottom:.4rem;transition:color var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease)}.process-station-name{display:block;font-family:var(--font-mono);font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;margin-bottom:.5rem;transition:color var(--dur-mid) var(--ease)}.process-station-desc{font-size:.85rem;color:var(--text-on-paper-dim);line-height:1.4}.process-station.is-active{border-color:var(--yellow-deep);transform:translateY(-3px)}.process-station.is-active .process-station-name{color:var(--yellow-deep)}.process-station.is-active .process-station-index{color:var(--yellow-deep);transform:scale(1.15)}@media (prefers-reduced-motion: reduce){.process-station{transition:none!important;transform:none!important}.process-line-marker{transition:opacity .3s var(--ease)!important}}@media (max-width: 780px){.process-stations{grid-template-columns:repeat(3,1fr);row-gap:var(--gap-md)}}@media (max-width: 520px){.process-stations{grid-template-columns:repeat(2,1fr)}}#field-notes{background:radial-gradient(circle,rgba(14,14,13,.09) 1px,transparent 1.6px) 0 0 / 24px 24px,var(--paper-soft)}.fn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--gap-md)}.fn-card{-webkit-perspective:1600px;perspective:1600px;min-height:15rem;opacity:0;transform:translateY(28px);transition:opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease);transition-delay:calc(var(--fn-i, 0) * 90ms);cursor:pointer}.fn-card.is-visible{opacity:1;transform:translateY(0)}.fn-card-inner{position:relative;display:grid;min-height:15rem;border-radius:var(--radius);transition:transform var(--dur-slow) var(--ease),box-shadow var(--dur-mid) var(--ease);-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.fn-card.is-flipped .fn-card-inner{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.fn-card:not(.is-flipped):hover .fn-card-inner{box-shadow:0 20px 45px -22px #0e0e0d66,0 0 0 1px var(--yellow-deep)}.fn-card.is-flipping .fn-card-inner{-webkit-animation:fnFlipPulse var(--dur-slow) var(--ease);animation:fnFlipPulse var(--dur-slow) var(--ease)}@keyframes fnFlipPulse{0%{box-shadow:0 0 #e2a30000}45%{box-shadow:0 22px 50px -20px #0e0e0d80,0 0 0 1px var(--yellow-deep),0 0 34px -4px #e2a3008c}to{box-shadow:0 0 #e2a30000}}.fn-glare{position:absolute;top:var(--fn-gy, 50%);left:var(--fn-gx, 50%);width:130px;height:130px;margin:-65px 0 0 -65px;border-radius:50%;background:#ffffff8c;filter:blur(30px);opacity:0;transition:opacity .15s var(--ease);pointer-events:none;z-index:2}.fn-card:not(.is-flipped):hover .fn-glare{opacity:1}@media (prefers-reduced-motion: reduce){.fn-card{transition:none!important;opacity:1!important;transform:none!important}.fn-card-inner{transition:box-shadow var(--dur-mid) var(--ease)!important}.fn-card.is-flipping .fn-card-inner{animation:none!important}.fn-glare{display:none!important}}.fn-face{padding:var(--gap-md);display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius);overflow:hidden;grid-area:1 / 1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.fn-front{background:var(--paper-soft);border:1px solid var(--line-on-paper)}.fn-back{background:var(--ink-soft);color:var(--text-on-ink);-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.fn-front-statement{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.15}.fn-hint{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-paper-dim)}.fn-back-client{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--yellow);margin-bottom:.6rem}.fn-back-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--gap-sm)}.fn-back-tags li{font-size:.74rem;border:1px solid var(--line-on-ink);padding:.25em .6em;border-radius:var(--radius);color:var(--text-on-ink-dim)}.situations{padding-top:var(--gap-lg);padding-bottom:var(--gap-lg)}.situation{position:relative;padding:var(--gap-lg) 0;border-top:1px solid var(--line-on-ink);display:grid;grid-template-columns:1fr;gap:var(--gap-md);overflow:hidden}.situation:last-child{border-bottom:1px solid var(--line-on-ink)}.situation:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease);pointer-events:none}.situation.is-visible:before{transform:scaleX(1)}.situation-index{font-family:var(--font-mono);font-size:.75rem;color:var(--yellow);display:inline-block;opacity:0;transform:scale(.6);transition:opacity .4s var(--ease),transform .5s cubic-bezier(.34,1.56,.64,1)}.situation.is-visible .situation-index{opacity:1;transform:scale(1)}.situation-title{font-family:var(--font-display);font-size:var(--fs-huge);line-height:1;max-width:16ch;transform:translateY(var(--situation-parallax-y, 0px)) translate(var(--situation-hover-x, 0px));transition:color var(--dur-mid) var(--ease)}.situation-title:hover{color:var(--yellow)}.situation-tags{display:flex;flex-wrap:wrap;gap:.5rem .9rem;max-width:42rem}.situation-tags li{font-family:var(--font-mono);font-size:.78rem;color:var(--text-on-ink-dim);opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.situation.is-visible .situation-tags li{opacity:1;transform:translateY(0)}.situation-tags li:not(:last-child):after{content:"·";margin-left:.9rem;color:var(--line-on-ink)}.situation-tags li:nth-child(1){transition-delay:.05s}.situation-tags li:nth-child(2){transition-delay:.11s}.situation-tags li:nth-child(3){transition-delay:.17s}.situation-tags li:nth-child(4){transition-delay:.23s}.situation-tags li:nth-child(5){transition-delay:.29s}.situation-tags li:nth-child(6){transition-delay:.35s}.situation-tags li:nth-child(7){transition-delay:.41s}@media (prefers-reduced-motion: reduce){.situation:before,.situation-index,.situation-tags li,.situation-title{transition:none!important;opacity:1!important;transform:none!important}}.tool-pager{display:flex;flex-direction:column;align-items:center;gap:var(--gap-md);max-width:34rem;margin:0 auto}.tool-viewport{position:relative;width:100%}.toolbox-row{position:relative}.tool-item{display:none}.tool-item.is-active{display:block}.tool-item{border:1px solid var(--line-on-paper);border-radius:var(--radius);padding:var(--gap-md);background:var(--paper);transition:transform .3s var(--ease),box-shadow var(--dur-mid) var(--ease),border-color var(--dur-mid) var(--ease)}.tool-item.is-active:hover{transform:translateY(-6px);border-color:var(--yellow-deep);box-shadow:0 20px 40px -24px #0e0e0d59}.tool-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);pointer-events:none}.tool-cover-block{background:var(--ink);transform:scale(0);transform-origin:center;transition:transform .32s var(--ease)}.tool-cover.is-covering .tool-cover-block{transform:scale(1)}.tool-pager-nav{display:flex;align-items:center;gap:var(--gap-sm)}.tool-pager-arrow{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--line-on-paper);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background-color var(--dur-mid) var(--ease),border-color var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease)}.tool-pager-arrow svg{width:1.1rem;height:auto}.tool-pager-arrow path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.tool-pager-arrow:not(:disabled):hover{border-color:var(--yellow-deep);background:var(--yellow);transform:translateY(-2px)}.tool-pager-arrow:disabled{opacity:.3;cursor:default}.tool-pager-count{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--text-on-paper-dim);min-width:4.5em;text-align:center}@media (prefers-reduced-motion: reduce){.tool-item{transition:none!important;transform:none!important}.tool-cover-block{transition:none!important}.tool-pager-arrow{transition:none!important;transform:none!important}}.tool-icon{width:100%;height:5.5rem;margin-bottom:var(--gap-sm);overflow:visible}.tool-icon path,.tool-icon circle,.tool-icon line,.tool-icon rect,.tool-icon polyline{stroke:var(--ink);fill:none;stroke-width:1.2}.tool-icon .tool-icon-dot{fill:var(--ink);stroke:none}.tool-icon path,.tool-icon line,.tool-icon rect,.tool-icon polyline{stroke-dasharray:var(--len, 260);stroke-dashoffset:var(--len, 260);transition:stroke-dashoffset 1.1s var(--ease)}.tool-item.is-drawn .tool-icon path,.tool-item.is-drawn .tool-icon line,.tool-item.is-drawn .tool-icon rect,.tool-item.is-drawn .tool-icon polyline{stroke-dashoffset:0}.tool-icon-dot{opacity:0;transition:opacity .4s var(--ease) .9s}.tool-item.is-drawn .tool-icon-dot{opacity:1}@media (prefers-reduced-motion: reduce){.tool-item{transition:none!important;transform:none!important}.tool-icon path,.tool-icon line,.tool-icon rect,.tool-icon polyline{stroke-dashoffset:0!important;transition:none!important}.tool-icon-dot{opacity:1!important;transition:none!important}}.tool-name{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-on-paper-dim);margin-bottom:.5rem}.tool-quote{font-family:var(--font-display);font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.25;font-style:italic}.investment-scroll-zone{min-height:220vh}.investment-sticky-stage{position:sticky;top:0;min-height:100vh;display:flex;align-items:center;overflow:hidden}.investment-inner{position:relative;z-index:1;max-width:64rem;margin:0 auto;text-align:center}@media (prefers-reduced-motion: reduce){.investment-scroll-zone{min-height:auto}.investment-sticky-stage{position:static;min-height:0;overflow:visible}}.investment-quote{font-family:var(--font-display);font-size:var(--fs-quote);line-height:1.15;max-width:44ch;text-wrap:balance;margin:0 auto var(--gap-sm)}.investment-sub{color:var(--text-on-ink-dim);max-width:40ch;margin:0 auto var(--gap-lg)}.conditions{display:grid;grid-template-columns:repeat(3,minmax(0,15rem));justify-content:center;gap:var(--gap-md);text-align:left;counter-reset:condition}@media (max-width: 640px){.conditions{grid-template-columns:1fr;max-width:20rem;margin:0 auto}}.conditions li{counter-increment:condition;position:relative;border-top:1px solid var(--line-on-ink);padding-top:var(--gap-sm);font-family:var(--font-mono);font-size:.9rem;letter-spacing:.01em;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease),border-color .6s var(--ease)}.conditions li:before{content:counter(condition,decimal-leading-zero);display:block;font-size:.7rem;color:var(--yellow);margin-bottom:.5rem}.conditions.is-visible li{opacity:1;transform:translateY(0);border-color:var(--yellow-deep)}.conditions li:nth-child(1){transition-delay:.05s}.conditions li:nth-child(2){transition-delay:.2s}.conditions li:nth-child(3){transition-delay:.35s}@media (prefers-reduced-motion: reduce){.conditions li{transition:none!important;opacity:1!important;transform:none!important}}.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:var(--gap-lg)}.audience-card{position:relative;padding-left:var(--gap-md);border-left:1px solid var(--line-on-ink);transition:border-color var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease)}.audience-card:hover{border-color:var(--yellow);transform:translate(6px)}.audience-card h3{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);margin-bottom:var(--gap-sm)}.audience-card p{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.25;max-width:28ch}@media (prefers-reduced-motion: reduce){.audience-card{transition:none!important;transform:none!important}}.audience-media{position:relative;width:100%;height:90px;margin-bottom:var(--gap-lg);border:1px solid var(--line-on-ink);border-radius:var(--radius);overflow:hidden;background:var(--ink-soft)}.audience-illustration{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:var(--gap-md)}.audience-illustration path,.audience-illustration circle,.audience-illustration rect,.audience-illustration polygon{stroke:var(--os-mark-fill);fill:none;stroke-width:1.4}.audience-illustration .ai-dot{fill:var(--yellow);stroke:none}.audience-illustration path,.audience-illustration rect,.audience-illustration polygon{stroke-dasharray:var(--len, 260);stroke-dashoffset:var(--len, 260);transition:stroke-dashoffset 1.1s var(--ease)}.audience-media.is-drawn .audience-illustration path,.audience-media.is-drawn .audience-illustration rect,.audience-media.is-drawn .audience-illustration polygon{stroke-dashoffset:0}.audience-illustration .ai-dot{opacity:0;transition:opacity .4s var(--ease) .9s}.audience-media.is-drawn .audience-illustration .ai-dot{opacity:1}.audience-media-wipe{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:var(--yellow);transform:scaleY(1);transform-origin:bottom;pointer-events:none}.audience-media-wipe.is-revealing{transition:transform 1s cubic-bezier(.22,1,.36,1);transform-origin:top;transform:scaleY(0)}@media (prefers-reduced-motion: reduce){.audience-media-wipe{display:none}.audience-illustration path,.audience-illustration rect,.audience-illustration polygon{stroke-dashoffset:0!important;transition:none!important}.audience-illustration .ai-dot{opacity:1!important;transition:none!important}}.about-inner--photo{max-width:62rem;display:grid;grid-template-columns:minmax(200px,22rem) 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}.about-lead{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.15;max-width:20ch;margin-bottom:var(--gap-md)}.about-bio{font-size:1.05rem;line-height:1.6;color:var(--text-on-paper-dim);max-width:52ch;margin-bottom:var(--gap-md)}.about-roles{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 var(--gap-sm);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-on-paper-dim)}.about-roles li:not(:last-child):after{content:"·";margin:0 .7rem;color:var(--line-on-paper)}.about-langs{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--text-on-paper-dim)}.about-portrait{position:relative}.about-portrait:before{content:"";position:absolute;top:1.1rem;right:-1.1rem;bottom:-1.1rem;left:1.1rem;background:var(--paper-soft);border:1px solid var(--line-on-paper);border-radius:var(--radius);z-index:-1}.about-portrait-frame{aspect-ratio:4 / 5;width:100%;overflow:hidden;border:1px solid var(--line-on-paper);border-radius:var(--radius);transition:border-color var(--dur-mid) var(--ease)}.about-portrait-img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);transform:scale(1.18)}.about-portrait-frame:hover{border-color:var(--yellow)}@media (max-width: 640px){.about-inner--photo{grid-template-columns:1fr}.about-portrait-frame{max-width:16rem;margin:0 auto}.about-portrait:before{display:none}}@media (prefers-reduced-motion: reduce){.about-portrait-img{transform:none!important}}.closing{text-align:center;min-height:90svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-md)}.closing-stage{width:clamp(160px,20vw,240px);aspect-ratio:1;position:relative}.closing-title{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.1;max-width:20ch;margin:0 auto}.closing-sub{color:var(--text-on-ink-dim);font-size:1.05rem}.btn-primary{display:inline-block;margin-top:var(--gap-sm);padding:.9em 1.8em;background:var(--yellow);color:var(--ink);font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:var(--radius);transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--yellow-deep);transform:translateY(-2px)}.btn-primary:disabled{cursor:default;opacity:.75}.btn-primary.is-sent{animation:btnSentPulse .5s var(--ease)}@keyframes btnSentPulse{0%{transform:scale(1)}40%{transform:scale(.96)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.btn-primary.is-sent{animation:none}}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--gap-lg)}.contact-intro p{color:var(--text-on-paper-dim);margin-top:var(--gap-sm);max-width:32ch}.contact-intro a{display:inline-block;margin-top:var(--gap-md);font-family:var(--font-mono);font-size:.85rem;border-bottom:1px solid currentColor}.field{margin-bottom:var(--gap-md);position:relative}.field label{display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-on-paper-dim);margin-bottom:.5rem;transition:color var(--dur-fast) var(--ease)}.field:focus-within label{color:var(--yellow-deep)}.field input,.field textarea,.field select{width:100%;border:none;border-bottom:1px solid var(--line-on-paper);background:transparent;padding:.6rem .1rem;color:var(--text-on-paper);transition:border-color var(--dur-fast) var(--ease)}.field input:focus,.field textarea:focus,.field select:focus{border-color:transparent;outline:none}.field:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transition:transform var(--dur-mid) var(--ease)}.field:focus-within:after{transform:scaleX(1)}.field textarea{resize:vertical;min-height:5rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-md)}@media (prefers-reduced-motion: reduce){.field:after{transition:none!important}}.form-note{font-size:.78rem;color:var(--text-on-paper-dim);margin-top:var(--gap-sm)}.form-status{font-family:var(--font-mono);font-size:.82rem;margin-top:var(--gap-sm);padding:.7rem .9rem;border-radius:var(--radius);opacity:0;transform:translateY(4px);transition:opacity var(--dur-mid) var(--ease),transform var(--dur-mid) var(--ease)}.form-status[hidden]{display:none}.form-status.is-visible{opacity:1;transform:translateY(0)}.form-status--success{color:var(--ink);background:#e2a30029;border:1px solid var(--yellow-deep)}.form-status--error{color:var(--text-on-paper);background:var(--paper-soft);border:1px solid var(--line-on-paper)}.form-status--error a{color:var(--yellow-deep);text-decoration:underline}@media (prefers-reduced-motion: reduce){.form-status{transition:none!important}}.site-footer{padding:var(--gap-md) clamp(1.25rem,4vw,4rem);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--gap-sm);font-family:var(--font-mono);font-size:.72rem;color:var(--text-on-ink-dim)}@media (max-width: 780px){.contact-grid,.field-row{grid-template-columns:1fr}}@media (max-width: 520px){.persistent-cta span.long{display:none}.persistent-cta span.short{display:inline}}@media (prefers-reduced-motion: reduce){.mark-path{transition:none!important;stroke-dashoffset:0!important;fill-opacity:1!important;stroke-opacity:0!important}.hero-mark{transition:none!important;transform:none!important}.process-line-svg path{stroke-dashoffset:0!important}.fn-card-inner{transition:none!important}}
