:root{--ink:#0a0a0a;--ink-muted:#5c5c5c;--ink-faint:#8a8a8a;--paper:#fff;--paper-soft:#f5f5f5;--line:#e6e6e6;--line-strong:#0a0a0a;--font:"Switzer", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--ease:cubic-bezier(.25, .1, .25, 1);--max:90rem;--gutter:clamp(1.25rem, 3.5vw, 2.75rem);--header-h:4.25rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:400;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{opacity:.55}h1,h2,h3,h4{font-family:var(--font);letter-spacing:-.035em;color:var(--ink);margin:0;font-weight:500;line-height:1.05}p{margin:0 0 1.1em}p:last-child{margin-bottom:0}.container{width:min(100% - (var(--gutter) * 2), var(--max));margin-inline:auto}.container-narrow{width:min(100% - (var(--gutter) * 2), 42rem);margin-inline:auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;font-weight:400}.btn{font-family:var(--font);letter-spacing:-.01em;border:1px solid var(--ink);color:var(--ink);transition:background .25s var(--ease), color .25s var(--ease), opacity .25s ease;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper);opacity:1}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{color:var(--ink);opacity:1;background:0 0}.btn-ghost{color:var(--paper);background:0 0;border-color:#ffffff8c}.btn-ghost:hover{background:var(--paper);color:var(--ink);opacity:1}.btn-dark{background:var(--ink);color:var(--paper)}.btn-outline{border-color:var(--ink);color:var(--ink);background:0 0}.section{padding:clamp(5rem,12vw,9.5rem) 0}.section-tight{padding:clamp(3.5rem,8vw,6.5rem) 0}.section-head{max-width:36rem;margin-bottom:clamp(2.5rem,5.5vw,4rem)}.section-head h2{margin:.5rem 0 .85rem;font-size:clamp(1.9rem,3.6vw,2.85rem);font-weight:500}.section-head p{color:var(--ink-muted);margin:0;font-size:1rem}.prose{max-width:38rem;color:var(--ink-muted);font-size:1.05rem;line-height:1.65}.prose h2,.prose h3{color:var(--ink);margin:2.25rem 0 .85rem;font-weight:500}.prose h2{font-size:clamp(1.45rem,2.4vw,1.85rem)}.prose h3{font-size:clamp(1.15rem,2vw,1.35rem)}.prose.wide{max-width:44rem}.prose a:hover{opacity:.55}.split{align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}@media (width>=900px){.split{grid-template-columns:1fr 1fr}.split.reverse>:first-child{order:2}}.media-frame{background:var(--paper-soft);aspect-ratio:4/5;position:relative;overflow:hidden}.media-frame.landscape{aspect-ratio:16/10}.media-frame.square{aspect-ratio:1}.media-frame img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease)}.media-frame:hover img{transform:scale(1.03)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(16px)}.reveal.in{opacity:1;transform:none}.site-header{z-index:40;background:0 0;border-bottom:1px solid #0000;padding:1.1rem 0;transition:background .35s,border-color .35s;position:fixed;inset:0 0 auto}.site-header.scrolled,.site-header.solid{backdrop-filter:blur(10px);border-bottom-color:var(--line);background:#ffffffeb}.site-header.over-hero:not(.scrolled){color:#fff}.header-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{align-items:center;text-decoration:none;display:inline-flex}.logo:hover{opacity:1}.logo img{width:auto;height:1.35rem;transition:filter .3s}.site-header.over-hero:not(.scrolled) .logo img{filter:brightness(0)invert()}.nav{font-family:var(--font);letter-spacing:-.01em;align-items:center;gap:2.1rem;font-size:.8125rem;font-weight:450;display:none}.nav a{text-decoration:none}.nav a:hover{opacity:.45}.nav-cta{text-underline-offset:.22em;text-decoration:underline}@media (width>=860px){.nav{display:flex}}.menu-toggle{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.45rem 0;font-size:.7rem;display:inline-flex}@media (width>=860px){.menu-toggle{display:none}}.mobile-nav{z-index:50;background:var(--paper);color:var(--ink);padding:5rem var(--gutter) 2rem;display:none;position:fixed;inset:0}.mobile-nav.open{display:block}.mobile-nav a{letter-spacing:-.03em;border-bottom:1px solid var(--line);padding:.65rem 0;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:500;text-decoration:none;display:block}.mobile-nav .close{top:1.25rem;right:var(--gutter);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:.7rem;position:absolute}.site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding:clamp(3.5rem,8vw,6rem) 0 2rem}.site-footer a{text-decoration:none}.site-footer a:hover{opacity:.45}.footer-grid{grid-template-columns:1fr;gap:2.5rem;margin-bottom:3.5rem;display:grid}@media (width>=720px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-brand{letter-spacing:-.035em;margin:0 0 .85rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:500}.footer-grid h3{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 1rem;font-size:.68rem;font-weight:400}.footer-grid p,.footer-grid li{color:var(--ink-muted);font-size:.9rem;line-height:1.55}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li+li{margin-top:.35rem}.footer-bottom{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;padding-top:1.5rem;font-size:.68rem;display:flex}.hero{color:#fff;background:#111;align-items:end;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-media{z-index:0;position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%;animation:heroZoom 14s var(--ease) forwards}.hero-shade{background:linear-gradient(#0003 0%,#0000000d 40%,#0000008c 100%);position:absolute;inset:0}.hero-content{z-index:1;width:min(100% - (var(--gutter) * 2), var(--max));margin-inline:auto;padding:7rem 0 4.25rem;position:relative}.hero-brand{letter-spacing:-.045em;max-width:10ch;animation:rise 1s var(--ease) both;margin:0 0 1.5rem;font-size:clamp(3.2rem,10vw,7.25rem);font-weight:500;line-height:.92}.hero-title{letter-spacing:-.015em;color:#ffffffeb;max-width:26rem;animation:rise 1s var(--ease) .1s both;margin:0 0 .65rem;font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:400;line-height:1.4}.hero-lede{color:#ffffffb3;max-width:28rem;animation:rise 1s var(--ease) .18s both;margin:0 0 1.75rem;font-size:.95rem;line-height:1.5}.hero-actions{animation:rise 1s var(--ease) .26s both;flex-wrap:wrap;gap:.65rem;display:flex}.hero-scroll{right:var(--gutter);z-index:2;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;animation:rise 1s var(--ease) .4s both;font-size:.65rem;position:absolute;bottom:2rem}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes heroZoom{0%{transform:scale(1.06)}to{transform:scale(1)}}.page-hero{padding:calc(var(--header-h) + 5rem) 0 3rem;border-bottom:1px solid var(--line)}.page-hero h1{max-width:14ch;margin:.5rem 0 1.15rem;font-size:clamp(2.4rem,6vw,4.1rem);font-weight:500}.page-hero p{max-width:34rem;color:var(--ink-muted);margin:0;font-size:1.05rem}.reasons{border-top:1px solid var(--ink);gap:0;display:grid}.reason{border-bottom:1px solid var(--line);gap:.65rem 2.5rem;padding:1.35rem 0;display:grid}@media (width>=720px){.reason{grid-template-columns:12rem 1fr;align-items:baseline}}.reason h3{letter-spacing:-.02em;font-size:.95rem;font-weight:500}.reason p{color:var(--ink-muted);margin:0;font-size:.95rem}.faq details{border-bottom:1px solid var(--line);padding:1.15rem 0}.faq summary{letter-spacing:-.02em;cursor:pointer;justify-content:space-between;gap:1rem;font-size:1.05rem;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-mono);opacity:.4;font-size:.85rem}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--ink-muted);max-width:40rem;margin:.75rem 0 .15rem;font-size:.95rem}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-muted);padding:.5rem .7rem;font-size:.68rem;text-decoration:none;transition:border-color .2s,color .2s}.chip:hover{border-color:var(--ink);color:var(--ink);opacity:1}.service-list,.project-grid{gap:1.25rem;display:grid}@media (width>=700px){.service-list{grid-template-columns:repeat(2,1fr);gap:0}.project-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem 1.75rem}}@media (width>=1100px){.project-grid{grid-template-columns:repeat(3,1fr);gap:2.75rem 2rem}}.service-link{border-bottom:1px solid var(--line);padding:1.35rem 0;text-decoration:none;transition:opacity .25s;display:block}.service-link:hover{opacity:.45}.service-link strong{letter-spacing:-.025em;color:var(--ink);margin-bottom:.2rem;font-size:1.15rem;font-weight:500;display:block}.service-link span{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.project-card{color:inherit;text-decoration:none;display:block}.project-card:hover{opacity:1}.project-card .media-frame{margin-bottom:.75rem}.project-card h3{letter-spacing:-.02em;margin:0 0 .15rem;font-size:.95rem;font-weight:500}.project-card p{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.68rem;line-height:1.4}.contact-panel{gap:3rem;display:grid}@media (width>=800px){.contact-panel{grid-template-columns:1.3fr .7fr}}.contact-big a{letter-spacing:-.035em;margin-bottom:.45rem;font-size:clamp(1.45rem,3vw,2.1rem);font-weight:500;line-height:1.2;text-decoration:none;display:block}.hours{color:var(--ink-muted);font-size:.9rem}.hours dt{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-top:.55rem;font-size:.68rem}.hours dd{margin:.15rem 0 0}.cta-band{background:var(--paper-soft);color:var(--ink);border-top:1px solid var(--line);padding:clamp(4rem,9vw,7rem) 0}.cta-band h2{max-width:14ch;margin:0 0 .85rem;font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:500}.cta-band p{color:var(--ink-muted);max-width:30rem;margin:0 0 1.75rem}.clients{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);flex-wrap:wrap;gap:.55rem 1.5rem;font-size:.72rem;display:flex}.team{letter-spacing:-.03em;flex-wrap:wrap;gap:.35rem 1.75rem;font-size:clamp(1.35rem,2.8vw,1.85rem);font-weight:500;display:flex}.seo-note{color:var(--ink-muted);font-size:1rem;line-height:1.65}.full-bleed{aspect-ratio:16/9;background:var(--paper-soft);width:100%;overflow:hidden}.full-bleed img{object-fit:cover;width:100%;height:100%}.work-row{gap:.75rem;margin-bottom:clamp(1.5rem,4vw,2.5rem);display:grid}@media (width>=800px){.work-row.duo{grid-template-columns:1.2fr .8fr;gap:1rem}.work-row.duo .media-frame:first-child{aspect-ratio:5/4}}
