@font-face{font-family:Figtree;src:url('/assets/9379207946969ce4543d.ttf') format('truetype');font-weight:300 900;font-display:swap}
/* Native CSS art direction. Layers: header 20, dropdown 21, skip link 30. */
:root{--bg:#ffffff;--surface:#f3f3f6;--panel:#f3f3f6;--ink:#202522;--muted:#555d57;--line:#a5aea6;--accent:#d74c29;--on-accent:#0b0e0b;--space:clamp(22px,4.2vw,80px);color-scheme:only light}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Figtree,Arial,sans-serif;font-size:17px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550;letter-spacing:-.055em}h2{font-size:clamp(42px,6.6vw,100px);line-height:.99}p{line-height:1.55}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--on-accent)}[hidden]{display:none!important}.skip{position:fixed;top:8px;left:8px;background:var(--ink);color:var(--bg);padding:14px;transform:translateY(-150%);z-index:30}.skip:focus{transform:none}.section{padding:110px var(--space)}.section-heading{margin-bottom:48px}.section-heading>p{max-width:550px;margin-top:25px;font-size:20px}.eyebrow{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.12em;margin-bottom:26px}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--ink);padding:14px 0;font-size:16px}.text-link span{display:inline-block;transition:transform .25s}.text-link:hover span{transform:translate(4px,-4px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:58px;padding:18px 24px;border:1px solid transparent;border-radius:3px;font-weight:650;font-size:16px;white-space:nowrap;transition:transform .25s,background .25s,color .25s}.primary{background:var(--ink);color:var(--bg)}.primary:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-3px)}.button:active{transform:scale(.98)}.button>span:last-child{font-size:23px;line-height:1}.round-link{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);font-size:24px;flex:none;border-radius:3px;transition:background .25s,color .25s}.round-link:hover{background:var(--ink);color:var(--bg)}
/* Existing navigation labels and routes, recast as a compact dropdown. */
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:0 var(--space);background:var(--bg);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;width:143px;flex:none}.brand img{filter:brightness(0);width:143px;height:auto}.seo-nav{display:flex;align-items:center;gap:clamp(12px,1.35vw,25px);font-size:11px;font-weight:650;text-transform:uppercase;white-space:nowrap}.seo-nav>div{display:flex;align-items:center;gap:4px;position:relative}.seo-nav a{padding:16px 0}.seo-nav .seo-nav-cta{padding:13px 16px;border:1px solid var(--ink);border-radius:3px}.fx-drop{position:relative}.fx-drop summary{list-style:none;cursor:pointer;min-width:25px;min-height:44px;display:flex;align-items:center;justify-content:center}.fx-drop summary::-webkit-details-marker{display:none}.fx-dropdown{position:absolute;top:100%;left:-18px;min-width:260px;background:var(--panel);box-shadow:0 15px 45px #24382720;padding:10px 20px;border:1px solid var(--line);z-index:21;border-radius:3px}.fx-dropdown a{display:block;padding:15px 0;white-space:normal}.fx-nav-description{display:block;text-transform:none;font-size:13px;font-weight:400;margin-top:5px;color:var(--muted)}.fx-dropdown a:hover{color:var(--accent)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:12px 15px;text-transform:uppercase;font-size:13px;border-radius:3px}.menu-toggle span{margin-left:12px}
/* The hero is a full-bleed photographic composition, not a contained card. */
.hero{position:relative;min-height:calc(100dvh - 76px);isolation:isolate;overflow:hidden;background:#f3f3f6}.hero-art{position:absolute;inset:0;z-index:-1}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:75% 52%}.hero-copy{padding:clamp(55px,8vh,90px) var(--space) 65px;min-height:calc(100dvh - 76px);display:flex;align-items:flex-start;flex-direction:column;color:#202522}.hero h1{font-size:clamp(60px,7.6vw,124px);line-height:1.02;font-weight:600;letter-spacing:-.065em;max-width:1000px}.hero .line{display:block;overflow:clip;padding-bottom:.075em;margin-bottom:-.075em}.hero .line>span{display:block}.hero h1 .line:last-child{color:#b43a1d}.hero-lead{font-size:clamp(17px,1.5vw,22px);max-width:390px;margin-top:auto;padding-top:50px;line-height:1.5}.hero .button{margin-top:28px;background:#202522;color:#f3f3f6}.hero .button:hover{background:#bc3d1c;color:#fff8f4}.intro{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:end;padding-top:130px;padding-bottom:130px}.statement{font-size:clamp(38px,5.25vw,80px);line-height:1.08;letter-spacing:-.045em}.statement>span{color:var(--accent)}.intro-body p{font-size:20px;max-width:390px}.intro-body .text-link{margin-top:24px}
.work{padding-top:75px;overflow:hidden;background:var(--surface)}.work .section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.work h2{font-size:clamp(40px,5.4vw,82px)}.work-window{overflow:visible}.work-stage{display:flex;gap:5vw;width:max-content}.project{width:62vw;flex:none}.project-misteli{width:49vw;padding-top:65px}.project-image{display:block;height:min(49vh,510px);overflow:hidden;position:relative}.project-image img{width:100%;height:100%;object-fit:contain;transform:scale(1.13);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-image:hover img{transform:scale(1.18) rotate(-1deg)}.project-caption{padding:26px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:15px}.project-caption h3{font-size:30px;font-weight:600;letter-spacing:-.045em}.project-caption p{font-size:16px;color:var(--muted);margin-top:5px}.services{padding-top:130px;padding-bottom:130px}.services-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;margin-top:65px;align-items:start}.service-selector{display:flex;flex-direction:column;gap:8px;position:sticky;top:100px}.service-selector button{border:0;background:transparent;padding:25px 0;font-size:clamp(25px,3vw,45px);font-weight:500;letter-spacing:-.045em;text-align:left;display:flex;justify-content:space-between;gap:15px;transition:color .3s,transform .3s}.service-selector button span{opacity:0;transform:translateX(-12px);transition:transform .3s,opacity .3s}.service-selector button[aria-selected=true]{color:var(--accent)}.service-selector button[aria-selected=true] span{opacity:1;transform:none}.service-selector button:hover{transform:translateX(8px)}.service-panels{background:var(--panel);padding:40px clamp(24px,4vw,64px) 50px;border-radius:3px;min-height:560px;overflow:hidden}.service-word{display:block;color:var(--accent);font-size:clamp(70px,9vw,135px);line-height:1.1;letter-spacing:-.08em;font-weight:650;margin:0 0 32px}.service-panel h3{font-size:clamp(28px,3.5vw,48px);line-height:1.05;margin-bottom:22px}.service-panel p{max-width:420px;color:var(--muted);font-size:18px}.service-links{display:grid;margin-top:28px}.service-links a{padding:15px 0;display:flex;justify-content:space-between;gap:18px;font-size:16px}.service-links a+a{border-top:1px solid var(--line)}.service-links a:hover{color:var(--accent)}.process{background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start;padding-top:120px;padding-bottom:120px}.process h2{position:sticky;top:100px;font-size:clamp(45px,5.5vw,83px)}.process h2 span{color:var(--accent)}.process-track{display:grid;gap:58px}.process-track article{position:relative;padding-left:60px}.step{position:absolute;left:0;top:5px;font-size:17px;color:var(--muted)}.process h3{font-size:31px;line-height:1.1;margin-bottom:18px;letter-spacing:-.04em}.process p{color:var(--muted);font-size:18px;max-width:390px}.price{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;padding-top:140px;padding-bottom:140px}.price h2{font-size:clamp(40px,5vw,75px);margin-bottom:25px}.price-copy>p:not(.eyebrow){max-width:430px;font-size:19px}.price .button{margin-top:32px}.price-figure{align-self:center;padding-left:5vw;border-left:1px solid var(--line)}.price-figure>p{font-size:15px;color:var(--muted);max-width:300px}.price-number{font-size:clamp(70px,10vw,154px);line-height:1.15;white-space:nowrap;font-weight:500;letter-spacing:-.07em;margin:12px 0}.price-number span{font-size:.35em;vertical-align:top;margin-left:12px;line-height:2.2}.price-figure .text-link{margin-top:26px}.contact{padding-top:115px;padding-bottom:95px;background:var(--surface);overflow:hidden}.contact h2{font-size:clamp(65px,10.5vw,165px);line-height:.98;max-width:1100px;letter-spacing:-.065em}.contact h2 span{color:var(--accent)}.contact-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:36px;align-items:center;margin-top:65px}.contact-bottom p{font-size:18px}.contact-email{font-size:24px;justify-self:end;border-bottom:1px solid var(--ink)}
/* Footer retains the current information architecture. */
.seo-footer{padding:70px var(--space) 25px}.fx-footer-top{margin-bottom:65px}.fx-footer-brand{display:block;width:190px}.fx-footer-brand img{filter:brightness(0)}.fx-footer-top p{margin-top:20px;color:var(--muted);font-size:16px}.fx-footer-columns{display:grid;grid-template-columns:1fr 1.2fr .8fr 1.2fr;gap:35px}.fx-footer-columns h2{font-size:18px;letter-spacing:-.02em;margin:0 0 20px;font-weight:650}.fx-footer-columns a{display:block;font-size:14px;margin:12px 0;color:var(--muted)}.fx-footer-columns a:hover{color:var(--ink);text-decoration:underline}.fx-footer-columns .fx-footer-subheading{margin-top:30px}.fx-footer-person{font-weight:650;font-size:16px}.fx-footer-role{color:var(--muted);font-size:13px}.fx-footer-contacts>div+div{margin-top:28px}.fx-footer-contacts address{font-size:13px;color:var(--muted);font-style:normal;margin-top:25px;line-height:1.6}.fx-footer-bottom{border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;margin-top:55px;padding-top:25px;font-size:12px;color:var(--muted)}.fx-footer-bottom a:last-child{margin-left:auto}
@media(min-width:1800px){.hero-copy{max-width:1800px;margin:auto}.hero-art img{object-position:center 55%}.section{padding-left:max(var(--space),calc((100vw - 1680px)/2));padding-right:max(var(--space),calc((100vw - 1680px)/2))}}
@media(max-width:1199px){.seo-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--panel);max-height:calc(100dvh - 76px);overflow:auto;padding:20px var(--space) 35px;font-size:16px}.seo-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:8px}.seo-nav>div{display:flex;flex-wrap:wrap;align-items:baseline}.seo-nav>div>a{flex:1}.fx-drop{position:static}.fx-drop summary{min-width:44px}.fx-dropdown{position:static;box-shadow:none;border:0;padding:0 20px 10px;min-width:0}.seo-nav>div:has(details[open]){display:block}.seo-nav>div:has(details[open])>a{display:inline-block}.seo-nav>div:has(details[open]) details{display:block}.seo-nav>div:has(details[open]) details summary{position:absolute;right:0;margin-top:-57px}.fx-drop>summary{justify-content:flex-start}.seo-nav .seo-nav-cta{text-align:center;margin-top:14px}.menu-toggle{display:block}.hero h1{font-size:clamp(61px,8.4vw,95px)}.hero-art img{object-position:58% center}.intro{gap:40px}.contact-bottom{grid-template-columns:1fr 1fr}.contact-email{grid-column:1/-1;justify-self:start}.fx-footer-columns{grid-template-columns:1fr 1fr}}
@media(max-width:767px){:root{--space:22px}.site-header{height:70px}.brand,.brand img{width:126px}.seo-nav{top:70px;max-height:calc(100dvh - 70px)}.section{padding:74px var(--space)}.hero{min-height:calc(100dvh - 70px)}.hero-copy{min-height:calc(100dvh - 70px);padding:34px var(--space) 32px}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(41px,9.5vw,72px);line-height:1.06;font-weight:650}.hero-lead{font-size:17px;max-width:330px;padding-top:230px}.hero .button{margin-top:22px;min-height:54px}.hero-art{top:120px;bottom:160px}.hero-art img{object-fit:cover;object-position:68% 50%;transform-origin:70% 50%}.intro{display:block}.intro-heading{margin-bottom:35px}.statement{font-size:clamp(34px,7.8vw,55px)}.intro-body p{font-size:18px}.intro-body .text-link{margin-top:18px}.work .section-heading{display:block;margin-bottom:20px}.work h2{font-size:50px}.work .text-link{margin-top:18px}.work-stage{display:grid;width:100%;gap:50px}.project,.project-misteli{width:100%;padding:0}.project-image{height:auto;aspect-ratio:1.25}.project-image img{transform:scale(1.18)}.project-caption{padding-top:16px}.project-caption h3{font-size:27px}.project-caption p{font-size:14px}.round-link{width:44px;height:44px}.services .section-heading{margin-bottom:30px}.services h2{font-size:47px}.section-heading>p{font-size:18px;margin-top:18px}.services-layout{grid-template-columns:1fr;gap:30px;margin-top:25px}.service-selector{position:static;gap:0}.service-selector button{font-size:29px;padding:14px 0}.service-panels{padding:26px 24px 32px;min-height:510px}.service-word{font-size:85px;margin-bottom:24px}.service-panel h3{font-size:34px}.service-panel p{font-size:17px}.service-links a{font-size:15px}.process{grid-template-columns:1fr;gap:48px}.process h2{position:static;font-size:48px}.process-track{gap:36px}.process-track article{padding-left:46px}.process h3{font-size:27px}.process p{font-size:17px}.price{grid-template-columns:1fr;gap:52px}.price h2{font-size:43px}.price-figure{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.price-number{font-size:100px}.price-copy>p:not(.eyebrow){font-size:18px}.contact h2{font-size:clamp(59px,13.8vw,100px)}.contact-bottom{grid-template-columns:1fr;gap:28px;margin-top:36px}.contact-bottom .button{justify-self:start}.contact-email{grid-column:auto;font-size:22px}.seo-footer{padding:55px var(--space) 25px}.fx-footer-columns{grid-template-columns:1fr 1fr;gap:30px 20px}.fx-footer-top{margin-bottom:45px}.fx-footer-columns h2{font-size:17px;overflow-wrap:anywhere}.fx-footer-columns a{font-size:13px}.fx-footer-contacts{grid-column:1/-1}.fx-footer-bottom{flex-direction:column;align-items:flex-start;gap:15px;margin-top:35px}.fx-footer-bottom a:last-child{margin-left:0}}
@media(max-width:359px){:root{--space:16px}.hero h1{font-size:39px}.hero-copy{padding-top:26px}.hero-lead{padding-top:190px}.button{font-size:14px;gap:22px;padding:16px 18px}.service-selector button{font-size:26px}.service-panel h3{font-size:30px}.service-panels{padding:22px 20px}.price h2{font-size:38px}.contact h2{font-size:58px}}
@media(max-height:650px) and (min-width:768px){.hero-copy{padding-top:35px;padding-bottom:35px}.hero h1{font-size:clamp(60px,6.2vw,90px)}.hero .eyebrow{margin-bottom:20px}.hero-lead{padding-top:30px;font-size:18px}.hero .button{margin-top:18px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.fx-drop[open] .fx-dropdown{animation:menu-in .25s both}@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.work-stage{transform:none!important}}

/* Accessible static gallery fallback and containment during entry transitions. */
.section{overflow-x:clip}.fx-contact-nav .fx-dropdown{left:auto;right:0}
.work-stage{display:grid;grid-template-columns:1.15fr 1fr;width:100%}.project,.project-misteli{width:100%}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){.has-motion-gallery .work-stage{display:flex;width:max-content}.has-motion-gallery .project{width:62vw}.has-motion-gallery .project-misteli{width:49vw}}
@media(max-width:767px){.work-stage{grid-template-columns:1fr}.hero-art{mask-image:linear-gradient(transparent,#000 14%,#000 82%,transparent)}}

/* Keep the complete pinned project, including its caption, inside the viewport. */
@media(min-width:1024px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.has-motion-gallery .work{padding-top:40px;padding-bottom:30px}.has-motion-gallery .work .section-heading{margin-bottom:28px}.has-motion-gallery .project-image{height:min(44vh,460px)}.has-motion-gallery .project-misteli{padding-top:30px}}

.fx-dropdown a:hover,.service-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}

/* Original brand intro, with one synchronized reveal timeline. */
html{scrollbar-gutter:stable}
.brand-intro{display:none}
html.intro-pending{overflow:hidden;background:#191e1b}
.intro-pending .brand-intro{display:grid;position:fixed;inset:0;width:100vw;z-index:50;place-items:center;color:#f3f3f6;isolation:isolate}
.intro-curtain{position:absolute;left:0;right:0;height:50.2%;background:#191e1b;z-index:-1;will-change:transform}
.curtain-top{top:0}.curtain-bottom{bottom:0}
.brand-intro-content{text-align:center}
.brand-intro-content img{display:block;width:clamp(130px,15vw,210px);height:auto;margin:0 auto 35px}
.brand-intro-content p{margin:0;font-size:clamp(50px,9vw,132px);font-weight:650;line-height:.98;letter-spacing:-.06em}
.brand-intro-content p span{display:block}
.brand-intro-content p span+span{color:#f17b53}
.intro-skip{position:absolute;right:clamp(20px,4vw,64px);bottom:clamp(24px,4vw,52px);min-height:44px;padding:10px 18px;border:1px solid #879189;background:#191e1b;color:#f3f3f6;border-radius:3px;font:inherit;cursor:pointer}
.intro-skip:focus-visible{outline:3px solid #f17b53;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.intro-pending .brand-intro{display:none}html.intro-pending{overflow:initial}}

/* Full-bleed image, with an art-directed portrait of the same symbol on narrow screens. */
.hero-art{inset:0;height:auto;overflow:hidden;mask-image:none}
.hero-art picture{display:block;width:100%;height:100%}
.hero-art img{width:100%;max-width:100%;height:100%;margin:0;object-fit:cover;object-position:30% center;mask-image:none}
.hero-copy{max-width:none;margin:0}
@media(min-width:1024px){.hero h1{font-size:clamp(44px,6.15vw,108px);max-width:39vw}.hero-lead{max-width:min(36vw,390px)}}
@media(max-width:1023px){
 .hero-art{inset:0;height:auto;mask-image:none}
 .hero-art img{object-position:center;transform-origin:50% 50%}
 .hero-copy{padding-top:34px;padding-bottom:32px}
 .hero h1{font-size:clamp(39px,7.5vw,65px);max-width:none}
 .hero-lead{max-width:480px;padding-top:280px;font-size:17px}
 .hero .button{margin-top:22px}
}
@media(max-width:767px){.hero h1{font-size:clamp(39px,9.5vw,65px)}.hero-lead{padding-top:clamp(220px,34svh,330px);max-width:330px}}

/* Compact project stages: a shared row on wider screens, readable stack on phones. */
@media(min-width:768px){
 .process{grid-template-columns:1fr;gap:44px;padding-top:76px;padding-bottom:80px}
 .process h2{position:static;font-size:clamp(42px,4.3vw,64px);line-height:1.06}
 .process h2 br{display:none}
 .process h2 span{display:inline-block;margin-left:.2em}
 .process-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,64px)}
 .process-track article{padding-left:0;min-width:0}
 .process .step{position:static;display:block;margin-bottom:16px;font-size:14px}
 .process h3{font-size:clamp(23px,2.15vw,31px);margin-bottom:14px}
 .process p{font-size:17px;max-width:390px}
}
