﻿@font-face{font-family:"Fraunces";font-style:normal;font-weight:400 500;font-display:swap;src:url("/assets/fonts/fraunces.woff2") format("woff2")}@font-face{font-family:"Fraunces";font-style:italic;font-weight:400 500;font-display:swap;src:url("/assets/fonts/fraunces-italic.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url("/assets/fonts/inter.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:italic;font-weight:400 600;font-display:swap;src:url("/assets/fonts/inter-italic.woff2") format("woff2")}:root{--snow: #f4f5f7;--snow-2: #ebedf1;--onyx: #14161a;--ultramarine: #2340d6;--ultramarine-dk: #1a31a8;--slate: #5b6472;--mist: #d5d9e0;--bg: var(--snow);--fg: var(--onyx);--muted: var(--slate);--line: var(--mist);--accent: var(--ultramarine);--maxw: 1280px;--gutter: clamp(1.25rem, 5vw, 4rem);--radius: 999px;--step--1: clamp(0.82rem, calc(0.78rem + 0.2vw), 0.92rem);--step-0: clamp(1rem, calc(0.95rem + 0.25vw), 1.12rem);--step-1: clamp(1.2rem, calc(1.05rem + 0.6vw), 1.5rem);--step-2: clamp(1.6rem, calc(1.3rem + 1.4vw), 2.4rem);--step-3: clamp(2.4rem, calc(1.7rem + 3.4vw), 4.6rem);--step-4: clamp(3.2rem, calc(2rem + 6vw), 7.5rem);--ease: cubic-bezier(0.16, 1, 0.3, 1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:"Inter",system-ui,sans-serif;background:var(--bg);color:var(--fg);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--snow)}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(4rem,9vw,8rem)}.stack>*+*{margin-top:1rem}@media(max-width: 767px){.hide-mob{display:none !important}}.display{font-family:"Fraunces",serif;font-weight:430;line-height:.98;letter-spacing:-0.02em;font-optical-sizing:auto}@media(max-width: 759px){.display{font-size:clamp(2.5rem,1.5rem + 5.5vw,3.4rem)}}h1,h2,h3{font-family:"Fraunces",serif;font-weight:440;line-height:1.02;letter-spacing:-0.02em}.eyebrow{font-family:"Inter",sans-serif;font-size:var(--step--1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:.7rem;align-items:center}.eyebrow::before{content:"";width:1.8rem;height:1px;background:var(--accent);display:inline-block}.lead{font-size:var(--step-1);line-height:1.4;color:var(--fg);max-width:46ch}.muted{color:var(--muted)}.br-desk{display:none}@media(min-width: 760px){.br-desk{display:inline}}.btn{--_bg: var(--onyx);--_fg: var(--snow);display:inline-flex;align-items:center;gap:.6rem;font-family:"Inter",sans-serif;font-weight:500;font-size:var(--step--1);letter-spacing:.02em;text-transform:lowercase;padding:.85rem 1.5rem;border-radius:var(--radius);background:var(--_bg);color:var(--_fg);border:1px solid var(--_bg);cursor:pointer;position:relative;overflow:hidden;transition:transform .5s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);will-change:transform}.btn .arrow{transition:transform .5s var(--ease)}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--snow);transform:translateY(-2px)}.btn:hover .arrow{transform:translate(3px, -3px)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn--ghost{--_bg: transparent;--_fg: var(--onyx);border-color:var(--onyx)}.btn--ghost:hover{background:var(--onyx);border-color:var(--onyx);color:var(--snow)}.btn--lg{padding:1.05rem 2rem;font-size:var(--step-0)}.tlink{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;color:var(--fg);position:relative;transition:color .3s var(--ease)}.tlink::after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}.tlink:hover{color:var(--accent)}.tlink:hover::after{transform:scaleX(1);transform-origin:left}.tlink .arrow{transition:transform .4s var(--ease)}.tlink:hover .arrow{transform:translate(3px, -3px)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding-block:1.15rem;background:color-mix(in srgb, var(--snow) 78%, transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,0);transition:border-color .4s var(--ease),padding .4s var(--ease),background .4s var(--ease)}.site-header.scrolled{border-color:var(--line);padding-block:.75rem}.nav{display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{font-family:"Fraunces",serif;font-weight:500;font-size:1.35rem;letter-spacing:-0.02em;line-height:1;color:var(--fg);transition:color .3s var(--ease)}.wordmark .dot{color:var(--accent)}.wordmark:hover{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);list-style:none}.nav-links a{font-size:var(--step--1);font-weight:500;letter-spacing:.01em;position:relative;padding-block:.3rem}.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}.nav-links a[aria-current=page]{color:var(--accent)}.nav-cta{display:inline-flex}.menu-btn{display:none}.nav-item{position:relative}.nav-caret{display:inline-block;width:.42em;height:.42em;margin-left:.35em;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .35s var(--ease);vertical-align:middle}.nav-has-menu:hover .nav-caret,.nav-has-menu:focus-within .nav-caret{transform:translateY(0) rotate(-135deg)}.submenu-toggle{display:none}.megamenu{position:absolute;top:100%;left:-0.9rem;min-width:320px;padding-top:.9rem;z-index:200;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s linear .3s}@media(min-width: 761px){.nav-has-menu:hover .megamenu,.nav-has-menu:focus-within .megamenu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s}}.megamenu-list{list-style:none;display:grid;gap:.15rem;background:var(--snow);border:1px solid var(--line);border-radius:14px;padding:.6rem;box-shadow:0 24px 48px -22px rgba(20,22,26,.45)}.megamenu-list a{display:block;padding:.7rem .9rem;border-radius:10px;transition:background .25s var(--ease)}.megamenu-list a::after{display:none}.megamenu-list a:hover,.megamenu-list a:focus-visible{background:var(--snow-2)}.megamenu-list a:hover .mm-title{color:var(--accent)}.mm-title{display:block;font-family:"Fraunces",serif;font-weight:440;font-size:1.05rem;line-height:1.2;color:var(--fg)}.mm-kicker{display:block;margin-top:.25rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.mm-all{margin-top:.15rem;border-top:1px solid var(--line);padding-top:.15rem}.mm-all a{font-size:var(--step--1);font-weight:500;color:var(--accent)}.mm-all .arrow{transition:transform .3s var(--ease);display:inline-block}.mm-all a:hover .arrow{transform:translate(2px, -2px)}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:7rem;position:relative}.hero h1{font-size:var(--step-4);font-weight:410}.hero h1 .accent{color:var(--accent);font-style:italic;font-weight:430}.hero .sub{font-size:var(--step-1);color:var(--muted);max-width:52ch;line-height:1.45}.hero-inner{display:grid;gap:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.hero-meta{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:2.5rem;padding-top:2rem;padding-bottom:2rem;border-top:1px solid var(--line)}.hero-meta .item{display:flex;flex-direction:column;gap:.25rem}.hero-meta .k{font-size:var(--step--1);color:var(--muted);letter-spacing:.04em}.hero-meta .v{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:450}.scroll-cue{position:absolute;bottom:1.6rem;left:var(--gutter);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.6rem;display:none}@media screen and (max-width: 600px){.scroll-cue{display:none}}.scroll-cue .line{width:2.5rem;height:1px;background:var(--muted);position:relative;overflow:hidden}.scroll-cue .line::after{content:"";position:absolute;inset:0;background:var(--accent);animation:cue 2.4s var(--ease) infinite}@media(prefers-reduced-motion: reduce){.scroll-cue .line::after{animation:none}}@keyframes cue{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}.marquee{border-block:1px solid var(--line);overflow:hidden;padding-block:1.1rem;background:var(--snow-2)}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track{display:flex;gap:3rem;width:max-content;animation:scroll-x 34s linear infinite}@media(prefers-reduced-motion: reduce){.marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}.marquee-track--rev{animation-direction:reverse}.marquee--tools{border-top:0;background:var(--snow)}.marquee--tools .marquee-item{font-family:"Inter",sans-serif;font-size:var(--step-0);font-weight:500;letter-spacing:.01em;color:var(--muted)}.marquee--tools .marquee-item::after{content:"•"}.marquee-item{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:420;display:flex;align-items:center;gap:3rem;white-space:nowrap;color:var(--fg)}.marquee-item::after{content:"✦";color:var(--accent);font-size:.7em}@keyframes scroll-x{to{transform:translateX(-50%)}}.sec-head{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-bottom:clamp(2.5rem,5vw,4rem);align-items:end}@media(min-width: 820px){.sec-head{grid-template-columns:1fr auto}}.sec-head h2{font-size:var(--step-3);font-weight:420}.sec-head .intro{color:var(--muted);max-width:40ch;font-size:var(--step-0)}.work-list{display:grid;gap:clamp(3rem,6vw,5.5rem)}.project{display:grid;gap:1.5rem;align-items:center;grid-template-columns:1fr}@media(min-width: 900px){.project{grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem)}.project:nth-child(even) .project-media{order:2}.project.wide .project-media{grid-column:1/-1}}.project-media{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--snow-2);aspect-ratio:4/3}.project-media .thumb{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.project:hover .project-media .thumb{transform:scale(1.04)}.project-media .num{position:absolute;top:1rem;left:1.2rem;z-index:2;font-family:"Fraunces",serif;font-size:1rem;color:var(--snow);mix-blend-mode:difference}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{font-size:var(--step--1);letter-spacing:.04em;padding:.3rem .8rem;border-radius:var(--radius);border:1px solid var(--line);color:var(--muted);background:var(--snow)}.tag.accent{border-color:var(--accent);color:var(--accent)}.project-body h3{font-size:var(--step-2);font-weight:430;margin-bottom:.6rem}.project-body .oneline{color:var(--muted);margin-bottom:1.3rem;max-width:46ch}.project a.block{display:block}.cap-band{background:var(--onyx);color:var(--snow)}.cap-band .eyebrow{color:#8f98ad}.cap-band .eyebrow::before{background:var(--accent)}.cap-band h2{color:var(--snow)}.cap-grid{display:grid;gap:0;margin-top:2.5rem;border-top:1px solid rgba(255,255,255,.12)}.cap{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;row-gap:.6rem;align-items:baseline;padding-block:1.5rem;border-bottom:1px solid rgba(255,255,255,.12);transition:padding-left .5s var(--ease)}.cap .idx{font-family:"Fraunces",serif;color:var(--accent);font-size:var(--step-1);grid-column:1;grid-row:1}.cap .name{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:440;grid-column:2;grid-row:1}.cap .desc{color:#aeb6c6;font-size:var(--step-0);grid-column:1/-1;grid-row:2}@media(min-width: 820px){.cap{grid-template-columns:.4fr .9fr 1.4fr;column-gap:2rem;row-gap:0;padding-block:1.8rem;align-items:start}.cap .idx{grid-column:1;grid-row:1}.cap .name{grid-column:2;grid-row:1}.cap .desc{grid-column:3;grid-row:1}}@media(hover: hover){.cap:hover{padding-left:.8rem}}.about-preview{display:grid;gap:2.5rem;align-items:center}@media(min-width: 900px){.about-preview{grid-template-columns:1.1fr .9fr;gap:clamp(3rem,6vw,6rem)}}.about-preview .portrait{border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;background:var(--snow-2);position:relative}.about-preview .portrait img{width:100%;height:100%;object-fit:cover}.about-preview h2{font-size:var(--step-3);font-weight:420;margin-bottom:1.5rem}.about-preview p{color:var(--muted);margin-bottom:1.2rem;max-width:48ch}.contact-cta{text-align:left}.contact-cta .big{font-family:"Fraunces",serif;font-weight:410;font-size:var(--step-4);line-height:.98;letter-spacing:-0.02em}.contact-cta .big a{transition:color .3s var(--ease)}.contact-cta .big a:hover{color:var(--accent)}.contact-cta .row{display:flex;flex-wrap:wrap;gap:1.2rem 2.5rem;margin-top:2.5rem;align-items:center}.avail{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--step--1);color:var(--muted);letter-spacing:.02em}.avail .dot{width:.55rem;height:.55rem;border-radius:50%;background:#39b87a;position:relative}.avail .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid #39b87a;animation:pulse 2.4s var(--ease) infinite}@media(prefers-reduced-motion: reduce){.avail .dot::after{animation:none}}@keyframes pulse{0%{transform:scale(0.8);opacity:1}100%{transform:scale(1.8);opacity:0}}.site-footer{border-top:1px solid var(--line);padding-block:3rem}.footer-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-start}.footer-grid .fm{font-family:"Fraunces",serif;font-size:1.6rem}.footer-grid .fm .dot{color:var(--accent)}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none}.footer-links a{font-size:var(--step--1);color:var(--muted);transition:color .3s var(--ease)}.footer-links a:hover{color:var(--accent)}.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:var(--step--1);color:var(--muted)}.contact-fab{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:90;display:inline-flex;align-items:center;padding:.4rem;color:var(--fg);background:color-mix(in srgb, var(--snow) 82%, transparent);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 30px -14px rgba(20,22,26,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transform:translateY(16px) scale(0.92);pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}.contact-fab.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.contact-fab:hover,.contact-fab:focus-visible{background:var(--snow);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:0 18px 42px -14px rgba(35,64,214,.5)}.contact-fab:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.contact-fab__mark{position:relative;flex:0 0 auto;width:3rem;height:3rem;border-radius:50%;overflow:hidden}.contact-fab__mark img{width:100%;height:100%;object-fit:cover;border-radius:50%}.contact-fab__mark::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);opacity:0;pointer-events:none}.contact-fab__label{display:flex;align-items:center;gap:.4rem;max-width:0;padding-left:0;overflow:hidden;white-space:nowrap;opacity:0;font-weight:500;font-size:var(--step--1);letter-spacing:.01em;transition:max-width .5s var(--ease),padding .5s var(--ease),opacity .4s var(--ease)}.contact-fab__label .arrow{transition:transform .4s var(--ease)}.contact-fab:hover .contact-fab__label,.contact-fab:focus-visible .contact-fab__label{max-width:12rem;padding-inline:.95rem;opacity:1}.contact-fab:hover .contact-fab__label .arrow,.contact-fab:focus-visible .contact-fab__label .arrow{transform:translate(2px, -2px)}@keyframes fab-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fab-pulse{0%{opacity:.55;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.5)}}@media(prefers-reduced-motion: reduce){.contact-fab{transform:none;transition:opacity .01s}.contact-fab.is-visible .contact-fab__mark,.contact-fab.is-visible .contact-fab__mark::after{animation:none}}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .reveal.in{opacity:1;transform:none}.js .reveal[data-delay="1"]{transition-delay:.08s}.js .reveal[data-delay="2"]{transition-delay:.16s}.js .reveal[data-delay="3"]{transition-delay:.24s}.js .hero .reveal,.js .page-hero .reveal{animation:reveal-in .9s var(--ease) both}.js .hero .reveal[data-delay="1"],.js .page-hero .reveal[data-delay="1"]{animation-delay:.08s}.js .hero .reveal[data-delay="2"],.js .page-hero .reveal[data-delay="2"]{animation-delay:.16s}.js .hero .reveal[data-delay="3"],.js .page-hero .reveal[data-delay="3"]{animation-delay:.24s}@keyframes reveal-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion: reduce){.reveal,.js .reveal,.js .hero .reveal,.js .page-hero .reveal{opacity:1;transform:none;transition:none;animation:none}}.page-hero{padding-top:9rem;padding-bottom:2rem}@media screen and (max-width: 600px){.page-hero{padding-top:5rem;padding-bottom:0rem}}.page-hero h1{font-size:var(--step-4);font-weight:410;margin-top:1.2rem}.page-hero .sub{font-size:var(--step-1);color:var(--muted);max-width:54ch;margin-top:1.5rem;line-height:1.45}.about-body{display:grid;gap:2.5rem}@media(min-width: 900px){.about-body{grid-template-columns:1fr 1.3fr;gap:clamp(3rem,6vw,6rem);align-items:start}}.about-body .portrait{border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;background:var(--snow-2)}@media(min-width: 900px){.about-body .portrait{position:sticky;top:6rem}}.about-body .portrait img{width:100%;height:100%;object-fit:cover}.about-prose p{font-size:var(--step-1);line-height:1.55;margin-bottom:1.4rem;max-width:60ch}.about-prose p .drop{font-family:"Fraunces",serif;color:var(--accent)}.principles{display:grid;gap:0;margin-top:1rem;border-top:1px solid var(--line)}.principle{padding-block:1.6rem;border-bottom:1px solid var(--line);display:grid;gap:.5rem;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start}.principle .p-num{font-family:"Fraunces",serif;color:var(--accent);font-size:var(--step-1)}.principle h3{font-size:var(--step-1);font-weight:440}.principle p{color:var(--muted);margin-top:.3rem;max-width:52ch}.exp-list{display:grid;gap:0;border-top:1px solid var(--line);margin-top:1rem}.exp{display:grid;grid-template-columns:1fr auto;gap:1rem;padding-block:1.3rem;border-bottom:1px solid var(--line);align-items:baseline}.exp .role{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:440}.exp .co{color:var(--muted);font-size:var(--step-0)}.exp .yr{color:var(--muted);font-size:var(--step--1);letter-spacing:.04em;white-space:nowrap}.tools-line{color:var(--muted);font-size:var(--step-0);margin-top:1rem;line-height:1.9}.tools-line strong{color:var(--fg);font-weight:600}.cs-facts{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.5rem;padding-block:2rem;border-block:1px solid var(--line);margin-block:2.5rem}@media(min-width: 720px){.cs-facts{grid-template-columns:repeat(4, 1fr)}}.cs-facts .k{font-size:var(--step--1);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.4rem}.cs-facts .v{font-family:"Fraunces",serif;font-size:var(--step-0);font-weight:450;line-height:1.3}.cs-block{display:grid;gap:1.5rem;margin-block:clamp(3rem,6vw,5rem);grid-template-columns:1fr}@media(min-width: 900px){.cs-block{grid-template-columns:.32fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}}.cs-block .label{position:sticky;top:3.3rem;background-color:var(--bg)}.cs-block h2{font-size:var(--step-2);font-weight:430;margin-bottom:1rem}.cs-block p{color:var(--fg);margin-bottom:1.1rem;max-width:62ch;font-size:var(--step-0)}.cs-block p.muted{color:var(--muted)}.cs-block ul{list-style:none;display:grid;gap:.9rem;margin:1rem 0;max-width:62ch}.cs-block ul li{padding-left:1.6rem;position:relative;color:var(--fg)}.cs-block ul li::before{content:"→";position:absolute;left:0;color:var(--accent)}.decisions{display:grid;gap:1.2rem;margin-top:1rem;grid-template-columns:repeat(auto-fit, minmax(178px, 1fr))}.decision{border:1px solid var(--line);border-radius:12px;padding:1.5rem;background:var(--snow);background-color:#fff;transition:border-color .4s var(--ease),transform .4s var(--ease)}.decision:hover{border-color:var(--accent);transform:translateY(-3px)}.decision .d-num{font-family:"Fraunces",serif;color:var(--accent);font-size:var(--step-1);margin-bottom:.4rem}.decision h4{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:440;margin-bottom:.5rem}.decision p{color:var(--muted);margin:0;font-size:var(--step-0)}.cs-figure{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--snow-2);margin-block:clamp(2rem,5vw,4rem)}.cs-figure img{width:100%}.cs-figure figcaption{padding:1rem 1.3rem;font-size:var(--step--1);color:var(--muted);border-top:1px solid var(--line)}.cs-figure__ph{display:grid;place-content:center;justify-items:center;gap:.5rem;aspect-ratio:16/9;margin:.5rem;padding:2rem;text-align:center;border:1px dashed color-mix(in srgb, var(--slate) 35%, transparent);border-radius:10px}.cs-figure__ph--wide{aspect-ratio:3/1}.cs-figure__ph--tall{aspect-ratio:4/5;max-width:460px;margin-inline:auto}.cs-figure__btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;position:relative;overflow:hidden}.cs-figure__btn img{width:100%;display:block;transition:transform .6s var(--ease)}.cs-figure__btn:hover img,.cs-figure__btn:focus-visible img{transform:scale(1.02)}.cs-figure__btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cs-figure__zoom{position:absolute;top:.7rem;right:.7rem;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:50%;color:var(--snow);background:color-mix(in srgb, var(--onyx) 62%, transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transform:translateY(-4px);transition:opacity .3s var(--ease),transform .3s var(--ease)}.cs-figure__zoom svg{width:1rem;height:1rem}.cs-figure__btn:hover .cs-figure__zoom,.cs-figure__btn:focus-visible .cs-figure__zoom{opacity:1;transform:none}@media(prefers-reduced-motion: reduce){.cs-figure__btn img{transition:none}.cs-figure__btn:hover img,.cs-figure__btn:focus-visible img{transform:none}}.cs-figure__scroll{max-height:1400px;overflow-y:auto;overscroll-behavior:contain}.cs-figure__scroll img{width:100%;display:block}.email-figs{display:grid;gap:1.5rem;margin-block:clamp(2rem,5vw,4rem)}@media(min-width: 720px){.email-figs{grid-template-columns:1fr 1fr;align-items:start}}.email-figs .cs-figure{margin-block:0}.email-figs .cs-figure__scroll{max-height:100%;overflow:unset}.fig-cap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem}.fig-views{display:flex;gap:.5rem}.fig-view{display:inline-flex;align-items:center;gap:.4rem;font-family:"Inter",sans-serif;font-size:var(--step--1);font-weight:500;color:var(--snow);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:.35rem .85rem;cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.fig-view__ico{width:.85em;height:.85em}.fig-view:hover,.fig-view:focus-visible{background:var(--ultramarine-dk);border-color:var(--ultramarine-dk)}.fig-view:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cs-figure__label{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:440;color:var(--fg)}.cs-figure__sub{font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.cs-note{border-left:2px solid var(--accent);padding:.2rem 0 .2rem 1.1rem;color:var(--muted);font-size:var(--step--1);line-height:1.5;max-width:62ch}.services{margin-top:2rem}.services .services__k{display:block;margin-bottom:1rem}.services .tags{display:flex;flex-wrap:wrap;gap:.5rem}.opportunity{display:grid;gap:clamp(1.5rem,4vw,3rem)}@media(min-width: 820px){.opportunity{grid-template-columns:.85fr 1fr;align-items:start}}.gap-list{list-style:none;display:grid;gap:.7rem;max-width:52ch}.gap-list li{position:relative;padding-left:1.9rem;color:var(--fg)}.gap-list li::before{position:absolute;left:0;font-weight:600}.gap-list li.is-yes::before{content:"✓";color:var(--accent)}.gap-list li.is-no{color:var(--muted)}.gap-list li.is-no::before{content:"✕";color:color-mix(in srgb, var(--slate) 70%, transparent)}.media-duo{display:grid;gap:1.5rem;margin-block:clamp(2rem,5vw,4rem)}@media(min-width: 720px){.media-duo{grid-template-columns:1fr 1fr;align-items:start}}.media-duo .cs-figure{margin-block:0}.tpl-list{display:grid;gap:clamp(2.5rem,6vw,4rem)}.tpl{min-width:0}.tpl__title{display:flex;align-items:baseline;gap:.7rem;font-size:var(--step-1);font-weight:440;margin-bottom:1rem}.tpl__title .tpl__no{font-family:"Fraunces",serif;color:var(--accent);font-size:var(--step-0)}.tpl .cs-figure{margin-block:0}.doc-links{margin-top:1.5rem}.impact-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}@media(min-width: 640px){.impact-grid{grid-template-columns:repeat(3, 1fr)}}.impact{border-top:2px solid var(--accent);padding-top:1.2rem}.impact .big{font-family:"Fraunces",serif;font-size:var(--step-3);font-weight:430;line-height:1;color:var(--fg)}.impact .cap{display:block;color:var(--muted);font-size:var(--step--1);margin-top:.6rem;padding:0;border:0;grid-template-columns:none}.cs-nav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-block:2.5rem;margin-top:2rem;flex-wrap:wrap}.contact-hero .email-link{font-family:"Fraunces",serif;font-size:var(--step-3);font-weight:420;display:inline-block;margin-top:1rem;transition:color .3s var(--ease);word-break:break-word}.contact-hero .email-link:hover{color:var(--accent)}.contact-methods{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);margin-top:3rem}@media(min-width: 720px){.contact-methods{grid-template-columns:repeat(3, 1fr);border-top:0}}.method{padding-block:1.6rem;border-bottom:1px solid var(--line)}@media(min-width: 720px){.method{border-top:1px solid var(--line);border-bottom:0;padding-right:2rem}}.method .k{font-size:var(--step--1);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.6rem}.method a,.method span{font-family:"Fraunces",serif;font-size:var(--step-1);font-weight:440}.method a{transition:color .3s var(--ease)}.method a:hover{color:var(--accent)}@media(max-width: 760px){.site-header{z-index:130}.menu-btn{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.4rem;z-index:140;position:relative}.menu-btn span{width:26px;height:2px;background:var(--fg);transition:transform .4s var(--ease),opacity .3s var(--ease)}.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-links{position:fixed;top:0;left:0;right:0;height:100svh;min-height:100vh;background:var(--snow);flex-direction:column;justify-content:center;align-items:flex-start;padding-inline:var(--gutter);gap:1.8rem;z-index:120;transform:translateY(-100%);visibility:hidden;opacity:0;transition:transform .55s var(--ease),opacity .3s var(--ease),visibility 0s linear .55s}.nav-links.open{transform:translateY(0);visibility:visible;opacity:1;transition:transform .55s var(--ease),opacity .3s var(--ease),visibility 0s}.nav-links a{font-family:"Fraunces",serif;font-size:var(--step-3);font-weight:430}.nav-links a::after{display:none}.nav-cta{display:none}}@media(max-width: 760px){.nav-links{justify-content:flex-start;padding-top:6rem;padding-bottom:3rem;overflow-y:auto;gap:1.4rem}.nav-item{width:100%}.nav-has-menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.nav-has-menu>a{flex:0 0 auto}.nav-caret{display:none}.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;padding:0;border:1px solid var(--line);border-radius:50%;background:none;color:var(--fg);cursor:pointer}.submenu-toggle .chev{width:.6rem;height:.6rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .35s var(--ease)}.nav-item.submenu-open .submenu-toggle{background:var(--snow-2);border-color:var(--accent);color:var(--accent)}.nav-item.submenu-open .submenu-toggle .chev{transform:translateY(2px) rotate(-135deg)}.megamenu{position:static;flex-basis:100%;min-width:0;padding-top:0;z-index:auto;opacity:1;visibility:visible;transform:none;pointer-events:auto;max-height:0;overflow:hidden;transition:all .4s ease}.nav-item.submenu-open .megamenu{max-height:70vh}.megamenu-list{background:none;border:0;box-shadow:none;padding:.4rem 0 0;gap:.1rem}.megamenu-list a{padding:.5rem 0}.mm-title{font-size:1.2rem}.mm-all a{font-size:var(--step-0)}}@media(prefers-reduced-motion: reduce){.nav-links{transition:visibility 0s,opacity .01s}}.work-slider{margin-top:1.5rem;visibility:hidden}.work-slider.slick-initialized{visibility:visible}.work-slider .slide{padding:0 10px}.work-slider .slick-track{display:flex;padding-block:20px}.work-slider .slick-slide{height:auto}.work-slider .slick-slide>div{height:100%}.wcard{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:16px;overflow:hidden;will-change:transform;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.wcard img{width:100%;aspect-ratio:4/4;object-fit:cover;display:block;background:var(--snow-2);transition:transform .7s var(--ease),filter .5s var(--ease)}.wcard::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s var(--ease)}.wcard::after{content:"⤢";position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(20,22,26,.5);color:var(--snow);font-size:1rem;line-height:1;opacity:0;transform:scale(0.85) translateY(-4px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}@media screen and (max-width: 600px){.wcard::after{opacity:1}}@supports(backdrop-filter: blur(4px)){.wcard::after{background:rgba(20,22,26,.4);backdrop-filter:blur(4px)}}.wcard:hover,.wcard:focus-visible{transform:translateY(-6px)}.wcard:hover{box-shadow:0 15px 42px -20px rgba(20,22,26,.35)}.wcard:hover img{transform:scale(1.06);filter:saturate(1.04)}.wcard:hover::before{opacity:1}.wcard:hover::after,.wcard:focus-visible::after{opacity:1;transform:none}.wcard:hover .wcard-title{color:var(--accent)}.wcard:hover .wcard-cap{transform:translateY(-1px) !important}.wcard:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wcard-cap{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;background:rgba(244,245,247,.92);border-radius:12px;padding:.85rem 1rem;transition:transform .5s var(--ease)}@supports(backdrop-filter: blur(6px)){.wcard-cap{background:rgba(244,245,247,.76);backdrop-filter:blur(6px)}}.wcard-eyebrow{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:.35rem}.wcard-eyebrow .n{color:var(--accent);font-weight:600}.wcard-title{display:block;font-family:"Fraunces",serif;font-weight:430;font-size:1.3rem;line-height:1.15;color:var(--onyx);transition:color .35s var(--ease)}.slider-controls{display:flex;justify-content:flex-end;gap:.75rem;margin-top:0;padding:0 10px}.sl-arrow{width:54px;height:54px;border-radius:50%;border:1px solid var(--onyx);background:rgba(0,0,0,0);color:var(--onyx);cursor:pointer;display:grid;place-items:center;font-size:1.2rem;line-height:1;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}.sl-arrow:hover{background:var(--onyx);color:var(--snow);transform:translateY(-2px)}.sl-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.slider-caption{margin-top:1.25rem;padding:0 10px;font-size:var(--step--1);color:var(--muted);letter-spacing:.02em;max-width:70ch}.flow-track{display:flex;gap:30px;margin-top:1.5rem;padding:4px 2px 1.25rem;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--mist) rgba(0,0,0,0)}.flow-track::-webkit-scrollbar{height:8px}.flow-track::-webkit-scrollbar-thumb{background:var(--mist);border-radius:999px}.flow-slide{flex:0 0 auto;width:clamp(250px,34vw,400px);width:clamp(250px,34vw,312px)}.flow-copy{margin-top:1.1rem;padding:1.1rem 1.2rem;background:var(--snow-2);border-radius:12px;display:grid;gap:.85rem}.flow-copy p{margin:0;font-size:var(--step--1);line-height:1.4;color:var(--fg)}.flow-copy strong{display:block;margin-bottom:.2rem;font-family:"Inter",sans-serif;font-size:.7em;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.flow-copy p:last-child{padding-top:.85rem;border-top:1px solid var(--line)}.flow-card{position:relative;display:block;width:100%;height:clamp(380px,62vh,640px);height:auto;margin:0;padding:0;border:0;background:var(--snow-2);border-radius:16px;overflow:hidden;cursor:pointer;will-change:transform;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.flow-card img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .7s var(--ease)}.flow-card::before{position:absolute;inset:auto 0 0 0;height:90px;z-index:1;pointer-events:none;background:linear-gradient(to top, rgba(20, 22, 26, 0.28), transparent)}.flow-card__cue{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(20,22,26,.5);color:var(--snow);opacity:0;transform:scale(0.85) translateY(-4px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}.flow-card__cue svg{width:16px;height:16px}@media screen and (max-width: 600px){.flow-card__cue{opacity:1;transform:none}}@supports(backdrop-filter: blur(4px)){.flow-card__cue{background:rgba(20,22,26,.4);backdrop-filter:blur(4px)}}.flow-card:hover,.flow-card:focus-visible{transform:translateY(-6px)}.flow-card:hover{box-shadow:0 20px 42px -20px rgba(20,22,26,.55)}.flow-card:hover img{transform:scale(1.01)}.flow-card:hover .flow-card__cue,.flow-card:focus-visible .flow-card__cue{opacity:1;transform:none}.flow-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.flow-arrow:disabled{opacity:.3;cursor:default;pointer-events:none}.flow-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,4vw,3rem);background:rgba(20,22,26,0);opacity:0;visibility:hidden;transition:background .45s var(--ease),opacity .45s var(--ease),visibility 0s linear .45s}.flow-modal.open{background:rgba(20,22,26,.86);opacity:1;visibility:visible;transition:background .45s var(--ease),opacity .45s var(--ease),visibility 0s}.flow-modal__scroll{max-height:100%;overflow-y:auto;border-radius:10px;-webkit-overflow-scrolling:touch;opacity:0;transform:translateY(28px) scale(0.98);transition:opacity .55s var(--ease),transform .6s var(--ease);scrollbar-width:thin;scrollbar-color:rgba(244,245,247,.5) rgba(0,0,0,0)}.flow-modal.open .flow-modal__scroll{opacity:1;transform:none}.flow-modal__scroll img{width:min(460px,90vw);height:auto;display:block;border-radius:10px}.flow-modal__close{position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);z-index:2;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.3rem;line-height:1;border:1px solid rgba(244,245,247,.4);background:rgba(20,22,26,.55);color:var(--snow);display:grid;place-items:center;transition:background .3s var(--ease)}.flow-modal__close:hover{background:rgba(244,245,247,.18)}.flow-modal__close:focus-visible{outline:2px solid var(--snow);outline-offset:2px}@media(prefers-reduced-motion: reduce){.flow-card,.flow-card img,.flow-card__cue,.flow-modal,.flow-modal__scroll{transition:none}.flow-modal__scroll{transform:none}}.img-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:clamp(8px,1vw,14px)}.img-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:8px;border:1px solid var(--line);background:var(--snow-2)}@media(max-width: 900px){.img-grid{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 560px){.img-grid{grid-template-columns:repeat(2, 1fr)}}.img-grid.reveal{opacity:1;transform:none}.img-grid.reveal img{opacity:0;transform:translateY(30px) scale(0.985);transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i, 0)*70ms);will-change:opacity,transform}.img-grid.reveal.in img{opacity:1;transform:none}@media(prefers-reduced-motion: reduce){.img-grid.reveal img{opacity:1;transform:none;transition:none}}.img-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,5rem);background:rgba(20,22,26,0);opacity:0;visibility:hidden;transition:background .45s var(--ease),opacity .45s var(--ease),visibility 0s linear .45s}.img-modal.open{background:rgba(20,22,26,.86);opacity:1;visibility:visible;transition:background .45s var(--ease),opacity .45s var(--ease),visibility 0s}.img-modal img{max-width:min(1100px,92vw);max-height:88vh;width:auto;height:auto;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.45);opacity:0;transform:translateY(28px) scale(0.96);transition:opacity .55s var(--ease),transform .6s var(--ease)}.img-modal.open img{opacity:1;transform:none}.img-modal .modal-close{position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.3rem;line-height:1;border:1px solid rgba(244,245,247,.4);background:rgba(0,0,0,0);color:var(--snow);display:grid;place-items:center;transition:background .3s var(--ease)}.img-modal .modal-close:hover{background:rgba(244,245,247,.15)}@media(prefers-reduced-motion: reduce){.wcard,.wcard img,.wcard-cap,.wcard::before,.wcard::after{transition:none}.img-modal,.img-modal img{transition:opacity .2s linear}.img-modal img{transform:none}}.contact-form-wrap{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid var(--line)}.contact-form-wrap .form-lead{font-size:var(--step-1);color:var(--muted);max-width:46ch;margin:.6rem 0 2rem;line-height:1.45}.contact-form{display:grid;gap:1.4rem;max-width:640px}.contact-form .field{display:grid;gap:.5rem}.contact-form label{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}.contact-form input,.contact-form textarea{font-family:inherit;font-size:var(--step-0);color:var(--fg);background:var(--snow-2);border:1px solid var(--line);border-radius:12px;padding:.9rem 1.05rem;width:100%;line-height:1.5;transition:border-color .3s var(--ease),background .3s var(--ease)}.contact-form textarea{resize:vertical;min-height:9rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--slate);opacity:.6}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);background:var(--snow);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form .form-actions{margin-top:.4rem}.contact-form button[type=submit]{cursor:pointer;font-family:inherit}.form-note{margin-top:1rem;font-size:var(--step--1);color:var(--muted)}.video-band{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:center;grid-template-columns:1fr}@media(min-width: 860px){.video-band{grid-template-columns:1fr auto}}.video-band__intro{max-width:44ch}.video-band__intro h2{color:var(--snow);margin-top:.6rem}.video-band__intro p{margin-top:1rem;color:#b6bccb}.phone{--phone-w: clamp(244px, 72vw, 320px);width:var(--phone-w);margin:0 auto;padding:10px;border-radius:40px;background:linear-gradient(155deg, #33363d 0%, #17181c 55%, #0c0d10 100%);box-shadow:0 30px 70px -24px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.06)}.phone__screen{position:relative;aspect-ratio:9/16;max-height:min(78vh,620px);border-radius:30px;overflow:hidden;background:#000}.phone__screen::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:32%;height:15px;border-radius:999px;background:rgba(0,0,0,.55);z-index:2;pointer-events:none}.phone__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.phone__sound{position:absolute;right:12px;bottom:12px;z-index:3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.28);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .3s var(--ease),background .3s var(--ease)}.phone__sound:hover{background:rgba(0,0,0,.72);transform:scale(1.06)}.phone__sound:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.phone__sound svg{width:19px;height:19px}.phone__sound .ico-on{display:none}.phone.is-unmuted .phone__sound .ico-on{display:block}.phone.is-unmuted .phone__sound .ico-off{display:none}.phone__video[controls]~.phone__sound{display:none}