/* Pitangui / editorial direction 2.0. Image, proportion and quiet motion. */
:root{--paper:#f7f7f2;--muted:#686b64;--line:#dedfd7;--gutter:clamp(24px,5.1vw,92px);--measure:1640px;--ease:cubic-bezier(.22,1,.36,1)}
body{font-size:15px;line-height:1.65;font-weight:400}
h1,h2,h3{letter-spacing:-.04em;line-height:1.1;font-weight:400;text-wrap:balance}
h2{font-size:clamp(30px,3.2vw,48px)}
h3{font-size:clamp(23px,2.2vw,32px)}
.section-pad{padding-block:clamp(78px,8.3vw,138px)}
.eyebrow{font-size:10px;font-weight:400;letter-spacing:.09em;line-height:1.5}
.lead,.lead-copy{font-size:16px;line-height:1.7;letter-spacing:-.01em;max-width:540px}
.prose p,.prose li{font-size:15px;line-height:1.8}
.prose h2{font-size:30px}.prose h3{font-size:23px}
.arrow{width:19px;height:19px}
.button{border-radius:99px;min-height:48px;padding:13px 20px;gap:25px;font-size:12px;font-weight:400;transition:background .3s,color .3s,transform .5s var(--ease)}
.button:hover{transform:translateY(-2px)}
.button .arrow{width:16px;height:16px}
.button--yellow:hover{background:#e7da09}
.text-link{font-size:12px;font-weight:400;gap:18px;padding-bottom:6px;border-bottom-color:#74786e;transition:gap .4s var(--ease),opacity .3s}
.text-link:hover{gap:25px;opacity:1}
.text-link .arrow{width:15px;height:15px}

/* The navigation quietly floats over the portrait and settles on scroll. */
.site-header{position:fixed;inset:0 0 auto;background:var(--ink);color:var(--paper);z-index:50;transition:background .4s,border-color .4s;isolation:isolate}
.home .site-header{background:transparent}
.site-header.is-scrolled{background:#0a0a0af2;backdrop-filter:blur(14px)}
.header-inner{height:80px;border-bottom:1px solid #ffffff1a;gap:35px}
.home .header-inner{border-bottom-color:transparent}
.site-header.is-scrolled .header-inner{border-bottom-color:#ffffff1a}
.wordmark-main{font-size:31px;font-weight:700;letter-spacing:-.065em}
.wordmark-sub{font-size:7px;letter-spacing:.055em;margin-top:5px}
.wordmark img{max-height:45px;max-width:155px}
.site-nav{gap:38px}.nav-links{gap:30px}.nav-links a{font-size:12px}
.nav-links a:after{content:"";display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links a:hover:after,.nav-links .current-menu-item a:after{transform:scaleX(1)}
.nav-cta{border-radius:99px;border-color:#ffffff30;padding:11px 16px;font-size:11px;gap:22px;background:#f7f7f2;color:var(--ink)}
.nav-cta:hover{background:var(--yellow);border-color:var(--yellow)}
.nav-cta .arrow{width:13px;height:13px}
body:not(.home) main{padding-top:80px}
html{scroll-padding-top:100px}

/* Portrait hero. The signature is a composition element; the H1 stays concise. */
.home-hero{padding:0;background:#0a0a0a;color:var(--paper);overflow:hidden}
.hero-shell{position:relative;min-height:clamp(750px,100svh,1050px);display:flex;align-items:center;isolation:isolate}
.hero-image-wrap{position:absolute;inset:0 0 0 auto;width:61%;height:100%;overflow:hidden;z-index:-1;pointer-events:none}
.hero-image-wrap>img{position:absolute;bottom:0;left:17.5%;width:65%;height:92%;object-fit:cover;object-position:50% 0%;filter:grayscale(.18);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(0deg,transparent,#000 27%,#000 88%,transparent);mask-composite:intersect}
.hero-image-wrap:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0a0a0a 0%,#0a0a0a00 32%,#0a0a0a00 85%,#0a0a0a 100%)}
.hero-image-wrap:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#0a0a0a 2%,#0a0a0a00 45%,#0a0a0a20 100%)}
.hero-copy{position:relative;max-width:520px;width:46%;margin-top:-210px;padding-top:0;z-index:2}
.hero-copy>.eyebrow{color:#d2d3ca;margin-bottom:24px}
.home-hero h1{font-size:clamp(42px,4.5vw,70px);font-weight:700;line-height:1.04;letter-spacing:-.043em;max-width:520px}
.home-hero .hero-question{color:inherit;margin:0}
.hero-description{max-width:315px}
.hero-description>p,.hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.6;letter-spacing:0;color:#b7bab1;margin-top:25px;max-width:315px}
.hero-actions{margin-top:29px;gap:23px;align-items:center}
.hero-actions .button{min-height:45px;font-size:11px;padding-inline:18px;gap:22px}
.hero-actions .text-link{font-size:11px;border-bottom-color:#b7bab1;gap:12px}
.hero-actions>.text-link{background:var(--paper);color:var(--ink);border:0;border-radius:99px;padding:12px 17px;min-height:44px;gap:21px}
.hero-secondary{font-size:11px;color:#b7bab1;border-bottom:1px solid #b7bab155;padding-block:6px}
.hero-signature{position:absolute;bottom:65px;left:var(--gutter);right:var(--gutter);font-size:clamp(130px,20.6vw,330px);font-weight:700;letter-spacing:-.072em;line-height:1;pointer-events:none;z-index:2;white-space:nowrap}
.hero-signature>span{color:var(--yellow)}
.hero-footnote{position:absolute;inset:auto var(--gutter) 24px;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.04em;color:#b9bcb2;z-index:3}
.hero-footnote a{display:inline-flex;align-items:center;gap:12px;color:var(--paper)}
.hero-footnote p+p{margin:0}

/* Projects: wide media and small, deliberate captions. */
.projects-section,.projects-archive{background:var(--paper)}
.section-heading{max-width:none;margin-bottom:44px}
.section-heading .eyebrow{margin-bottom:22px;color:var(--muted)}
.section-heading h2{max-width:720px;font-size:clamp(31px,3.4vw,50px)}
.section-heading>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:410px;margin-top:22px}
.section-heading--split{grid-template-columns:1.4fr 1fr;align-items:end;gap:85px}
.section-heading--split>div:last-child>p{font-size:14px;max-width:310px;line-height:1.7}
.section-heading--split .text-link{margin-top:19px}
.home-projects,.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:60px}
.project-card--large,.project-grid .project-card{grid-column:1/-1}
.project-cover,.project-card--large .project-cover,.project-grid .project-card:only-child .project-cover{aspect-ratio:1.8;background:#111;overflow:hidden;border-radius:2px;isolation:isolate}
.project-image-wrap{position:absolute;inset:0;overflow:hidden}
.project-image-wrap>img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .5s}
.project-cover:hover .project-image-wrap>img:not(.is-parallax){transform:scale(1.035)}
.project-cover:after{content:"";position:absolute;inset:70% 0 0;pointer-events:none;background:linear-gradient(transparent,#00000040)}
.project-open{bottom:25px;right:25px;z-index:3;border-radius:99px;background:#f7f7f2;box-shadow:none;min-height:43px;padding:12px 17px;gap:25px;font-size:10px;transform:translate3d(var(--project-x,0px),var(--project-y,0px),0);transition:transform .5s var(--ease),background .3s}
.project-open .arrow{width:14px;height:14px}
.project-cover:hover .project-open{background:var(--yellow)}
.project-caption,.project-grid .project-card:only-child .project-caption{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:18px}
.project-caption .eyebrow{font-size:9px;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}
.project-caption h2,.project-caption h3{font-size:25px;letter-spacing:-.035em;font-weight:400}
.project-category{font-size:10px;line-height:1.6;color:var(--muted);margin-top:8px}
.project-caption-link{height:42px;width:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;transition:background .3s,border-color .3s}
.project-caption-link:hover{background:var(--yellow);border-color:var(--yellow)}
.project-caption>p{font-size:12px;max-width:290px;line-height:1.65;letter-spacing:0;margin-top:0}
.archive-intro{font-size:14px;line-height:1.7;max-width:400px;margin-bottom:40px}

/* Brief editorial sections make room for the work. */
.approach-section{background:#eeeee8;border-top:1px solid var(--line)}
.approach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(45px,9vw,150px)}
.approach-grid .eyebrow{margin-bottom:24px;color:var(--muted)}
.approach-grid h2{font-size:clamp(32px,3.4vw,50px);max-width:540px}
.approach-copy .lead-copy{font-size:16px;max-width:460px}
.approach-copy .text-link{margin-top:29px}
.approach-items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}
.approach-items>div{padding-top:19px;border-top:1px solid #acafa1}
.approach-items span{font-size:9px;color:var(--muted)}
.approach-items h3{font-size:18px;margin-top:12px;letter-spacing:-.025em}
.approach-items p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:10px}
.moments-section{background:#11120f;color:var(--paper)}
.moments-section .section-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:120px;align-items:end}
.moments-section .section-heading .eyebrow{grid-column:1/-1;color:#aaa99e}
.moments-section .section-heading>p:not(.eyebrow){max-width:350px;color:#9b9e93;margin-top:0}
.moment-list{border-color:#ffffff32}
.moment-row{grid-template-columns:38px 1.2fr 1fr 24px;gap:25px;padding-block:29px;border-color:#ffffff20;transition:padding .5s var(--ease),border-color .3s}
.moment-row:hover{padding-left:8px;border-color:#ffffff66}
.moment-row h3{font-size:26px;line-height:1.2;letter-spacing:-.025em}
.moment-number{font-size:10px;color:#94988b}
.moment-row>div{max-width:315px}.moment-row>div>p{font-size:13px;color:#a9aca2;line-height:1.65}
.moment-row>.moment-title{grid-column:2}.moment-row>p{grid-column:3;font-size:13px;color:#a9aca2;line-height:1.65;max-width:320px}
.moment-title .moment-tag{margin-top:0;margin-bottom:10px}
.moment-tag{font-size:8px;font-weight:400;letter-spacing:.06em;margin-top:12px;color:#858d7d}
.moment-row>.arrow{width:18px;height:18px;color:#bec3b6}
.studio-preview{border:0;background:var(--paper)}
.studio-preview-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(60px,12vw,210px);max-width:1450px;align-items:center}
.studio-portrait{max-width:420px}.studio-image{overflow:hidden;border-radius:2px}.studio-portrait img{aspect-ratio:.92;object-position:50% 22%;filter:grayscale(.45);border-radius:2px}
.studio-portrait>p{font-size:9px;letter-spacing:.03em;margin-top:12px}
.studio-preview-grid h2{font-size:clamp(35px,3.7vw,54px);max-width:470px;margin-top:23px}
.studio-preview-grid .lead-copy{font-size:15px;color:var(--muted);max-width:380px;margin-top:24px}
.studio-preview-grid .text-link{margin-top:27px}
.compass-preview{background:#eaece3;color:var(--ink);padding-block:clamp(65px,7vw,110px)}
.compass-grid{grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}
.compass-grid .eyebrow{color:#666d59;margin-bottom:23px}
.compass-grid h2{font-size:clamp(34px,3.5vw,51px);max-width:560px}
.compass-grid>div:last-child>p{font-size:14px;color:#666b5e;max-width:340px}
.compass-grid .compass-note{font-size:9px!important;letter-spacing:.04em;line-height:1.6;margin-top:18px}
.compass-grid .button{margin-top:24px}
.conversation-section{background:#151611;color:var(--paper);padding-block:clamp(80px,9vw,150px)}
.conversation-grid{grid-template-columns:1.3fr 1fr;gap:120px;align-items:end}
.conversation-grid .eyebrow{color:#a5aa9b;margin-bottom:25px}
.conversation-grid h2{font-size:clamp(37px,4.5vw,68px);max-width:700px;letter-spacing:-.035em}
.conversation-aside>p{font-size:14px;color:#a9ada1;max-width:280px;line-height:1.7}
.conversation-aside .button{margin-top:25px;background:var(--paper);color:var(--ink)}
.conversation-aside .button:hover{background:var(--yellow)}

/* The same hierarchy continues through every interior page. */
.page-hero{padding-block:80px 70px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.page-hero .eyebrow{color:var(--muted);margin-bottom:26px}
.page-hero h1{font-size:clamp(42px,5vw,78px);font-weight:700;line-height:1.08;letter-spacing:-.043em;max-width:990px}
.page-intro{font-size:15px;line-height:1.7;color:var(--muted);max-width:430px;margin-top:28px;letter-spacing:0}
.two-column{gap:clamp(50px,10vw,160px);grid-template-columns:1fr 1fr}
.two-column h2{font-size:clamp(30px,3vw,44px);max-width:480px}
.two-column>.lead-copy p{color:var(--muted)!important;font-size:15px}
.about-tabs{gap:35px;margin-bottom:65px;border-color:var(--line)}
.about-tab{font-size:16px;letter-spacing:-.01em;gap:30px;padding-bottom:18px;border-bottom-width:1px}
.belief-grid{gap:38px;margin-top:68px}.belief-grid h3{font-size:25px;max-width:260px;margin-top:23px}
.belief-grid p{font-size:13px;line-height:1.75;max-width:330px;margin-top:18px}
.inline-callout{padding-top:30px;border-color:var(--line)}.inline-callout p{font-size:15px;max-width:550px;letter-spacing:0;line-height:1.7}
.team-grid{gap:60px}.team-image{overflow:hidden;border-radius:2px}.team-image>img{aspect-ratio:1;filter:grayscale(.45)}
.team-card h3{font-size:29px;margin-top:14px}.team-card>p:not(.eyebrow){font-size:14px;line-height:1.75;max-width:430px;margin-top:20px}
.taba-row{grid-template-columns:100px 1.1fr 1fr;padding-block:55px;gap:60px}
.taba-letter{font-size:96px;font-weight:700;letter-spacing:-.06em;color:var(--paper)}
.taba-letter span{font-size:8px;font-weight:400}.taba-row .eyebrow{color:#a6ab9e;font-size:9px}
.taba-row h2{font-size:35px}.taba-row>div:last-child>p{font-size:14px;color:#a6ab9e}
.taba-row .taba-question{font-size:15px!important;color:var(--paper)!important;letter-spacing:0;line-height:1.6}
.process-intro{font-size:16px;max-width:470px;letter-spacing:0;line-height:1.75}
.process-step{grid-template-columns:55px .85fr 1.15fr;gap:60px;padding-block:40px}
.process-step h2{font-size:34px}.step-number{font-size:23px}
.process-step>div:last-child>p{font-size:15px;line-height:1.75;letter-spacing:0}.process-step dd{font-size:13px}
.process-note{font-size:13px;max-width:640px}.faq-section{background:#eeeee8}
.faq-list summary{font-size:16px}.faq-list details p{font-size:14px}
.contact-grid{gap:clamp(60px,10vw,170px)}.contact-aside .lead-copy{font-size:16px;max-width:370px}
.contact-aside .eyebrow{margin-bottom:22px}.contact-links{margin-top:30px;gap:18px}
.contact-links p{font-size:12px}.contact-links>a:not(.button){font-size:13px}
.contact-form h2{font-size:30px;margin-bottom:30px}.contact-compass{margin-top:38px}
.compass-tool-intro{max-width:570px}.compass-tool-intro>p:first-child{font-size:15px;line-height:1.8;letter-spacing:0}
.compass-disclaimer{font-size:12px;max-width:530px}
.compass-tool{max-width:890px}
body:has(.compass-tool){overflow-anchor:none}
.compass-tool [data-pitangui-quiz]{overflow-anchor:none}
.compass-tool .pt-tool{padding:clamp(24px,4.5vw,55px);background:#fff;border-radius:2px}
.compass-tool .pt-tool h2{font-size:clamp(25px,2.8vw,35px);letter-spacing:-.025em;line-height:1.2;font-weight:400}
.compass-tool .pt-tool p{font-size:14px}.compass-tool .pt-tool .pt-footnote{font-size:11px}
.compass-tool .pt-tool h3{font-size:17px;letter-spacing:-.01em}
.compass-tool .pt-tool .pt-kicker,.compass-tool .pt-tool .pt-progress-text,.compass-tool .pt-tool .pt-axis-label{font-size:9px;letter-spacing:.07em;font-weight:400}
.compass-tool .pt-choice{border-radius:2px;padding:18px;font-size:13px;transition:background .2s,border-color .2s}
.compass-tool .pt-choice:has(input:checked){background:#ecefcf;border-color:#6b7350}
.compass-tool .pt-button{font-size:12px;font-weight:400;border-radius:99px;min-height:48px;padding:14px 20px}
.compass-tool .pt-result-card{padding:22px;border-top-width:2px}.compass-tool .pt-first-action{background:#eff0e9}
.pt-contact label{font-size:12px}.pt-contact input:not([type=checkbox]),.pt-contact select,.pt-contact textarea{font-size:14px;padding:12px;border-color:#c8cbc0;border-radius:2px}
.pt-contact .pt-button{font-size:12px;font-weight:400;border-radius:99px;min-height:48px;padding:14px 20px}
.privacy-section .prose--narrow{max-width:800px}.privacy-section .prose p,.privacy-section .prose li{font-size:14px}
.empty-projects{background:#eeeee8;padding:50px}.empty-projects h2{font-size:35px}

/* Case studies combine generous media with measured editorial columns. */
.case-hero{background:var(--paper);color:var(--ink);padding-block:55px 65px}
.case-back{color:var(--muted);font-size:10px;margin-bottom:55px}
.case-back:hover{color:var(--ink)}.case-hero .eyebrow{color:var(--muted);font-size:10px}
.case-hero h1{font-size:clamp(53px,7.5vw,120px);font-weight:700;letter-spacing:-.05em}
.case-hero-bottom{grid-template-columns:1.15fr 1fr;gap:120px;margin-top:30px}
.case-hero-bottom>.lead{font-size:15px;color:var(--muted);max-width:380px}
.case-meta{gap:20px 35px}.case-meta dt{color:var(--muted);font-size:8px}.case-meta dd{font-size:12px}
.case-cover{max-width:none;padding:0;background:#171711;overflow:hidden}
.case-cover-image,.case-gallery-image{overflow:hidden;position:relative}.case-cover img{width:100%;max-height:820px;object-fit:cover}
.case-context{padding-bottom:65px}.case-copy-row{padding-block:48px;border-color:var(--line)}
.case-copy-row h2,.case-context h2{font-size:34px;letter-spacing:-.03em}
.case-copy-row .prose p,.case-context .prose p{font-size:14px;line-height:1.85}
.case-services{border-color:var(--line)}.case-services-list{gap:8px}.case-services-list li{font-size:10px;padding:8px 12px;border-radius:99px}
.case-comparison{gap:20px;margin-block:65px}.case-comparison figure{background:#eceee6}.case-comparison img{aspect-ratio:1.45}
.case-comparison figcaption{font-size:9px;letter-spacing:.05em;padding:13px 17px}
.case-gallery{display:block;margin-top:70px}.case-gallery>figure{overflow:hidden;border-radius:2px}
.case-gallery>figure{width:min(100%,var(--case-master-width,100%));margin-inline:auto}.case-gallery>figure+figure{margin-top:35px}.case-gallery img{width:100%;object-fit:contain}
.case-gallery figcaption{font-size:11px;line-height:1.6;margin-top:15px;padding-inline:1px}
.case-testimonial>p:last-child{font-size:32px;max-width:900px;line-height:1.5}

/* An understated endnote, rather than another competing sales section. */
.site-footer{background:#0a0a0a;color:var(--paper);padding-top:30px}
.footer-top{padding-block:38px 45px;border-color:#ffffff1c}
.footer-wordmark{font-size:clamp(110px,18.5vw,280px);font-weight:700;letter-spacing:-.074em;line-height:.8}
.footer-chevrons{width:70px;opacity:.7}
.footer-signature-note{font-size:11px;line-height:1.7;color:#a3a79b;padding-bottom:5px}
.footer-grid{padding-block:48px;grid-template-columns:1.3fr .7fr 1fr;gap:70px}
.footer-grid .eyebrow{font-size:9px;font-weight:400;color:#919889;letter-spacing:.06em;margin-bottom:21px}
.footer-position{font-size:14px;line-height:1.75;max-width:310px;letter-spacing:0}
.footer-location{font-size:10px;margin-top:18px;color:#909686}
.footer-links a{font-size:12px;gap:13px}.footer-links li+li{margin-top:9px}.footer-links .arrow{width:11px;height:11px}
.footer-bottom{font-size:9px;letter-spacing:.02em;border-color:#ffffff1c;padding-block:24px;gap:30px}

/* Only transform the media. Content and native scrolling remain stable. */
@media(min-width:851px) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .is-parallax{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.06)}
 .is-parallax-active{will-change:transform}
}
@media(min-width:1700px){.home-hero{padding:0}.home-hero h1{font-size:74px}.hero-signature{font-size:330px}.hero-image-wrap{right:3%;width:58%}.hero-copy{margin-top:-220px}}
@media(max-width:1100px){
 .site-nav{gap:24px}.nav-links{gap:23px}.header-inner{height:80px}
 .hero-copy{max-width:350px;margin-top:-185px}.home-hero h1{font-size:55px}.hero-image-wrap{width:66%;right:-4%}.hero-signature{font-size:21vw}
 .section-heading--split{gap:60px}.moments-section .section-heading{column-gap:60px}
 .approach-grid{gap:60px}.approach-items{gap:17px}.moment-row h3{font-size:24px}
 .studio-preview-grid{gap:85px}.compass-grid,.conversation-grid{gap:70px}
 .process-step{gap:40px}.taba-row{gap:40px}.case-hero-bottom{gap:70px}
}
@media(max-width:850px){
 .header-inner{height:75px}.wordmark-main{font-size:29px}.wordmark-sub{font-size:6px}
 body:not(.home) main{padding-top:75px}
 .menu-toggle{font-size:11px;gap:13px}.menu-icon{width:21px}.menu-icon:before,.menu-toggle[aria-expanded=true] .menu-icon:after{width:21px}
 .site-nav{background:#0a0a0afc;padding:20px var(--gutter) 35px;backdrop-filter:blur(15px)}
 .nav-links a{font-size:23px;padding-block:15px;letter-spacing:-.02em}.nav-links a:after{display:none}
 .nav-cta{padding:14px 17px;max-width:250px;font-size:12px}
 .hero-shell{min-height:740px}.hero-copy{width:49%;margin-top:-125px;padding-top:0}.home-hero h1{font-size:47px}
 .hero-description>p,.hero-copy>p:not(.eyebrow){font-size:13px;max-width:240px}
 .hero-image-wrap{width:76%;right:-15%}.hero-image-wrap>img{object-position:45% 20%}
 .hero-actions{gap:15px;flex-wrap:wrap}.hero-signature{font-size:23vw;bottom:79px}
 .hero-footnote{font-size:8px;gap:15px}
 .approach-grid{gap:42px}.approach-items{grid-template-columns:1fr;gap:0;margin-top:32px}
 .approach-items>div{display:grid;grid-template-columns:20px 100px 1fr;gap:12px;padding-block:16px;align-items:start}
 .approach-items h3{font-size:16px;margin:0}.approach-items p{font-size:12px;margin:0}
 .section-heading--split{gap:45px}.moments-section .section-heading{gap:20px 50px}
 .moment-row{grid-template-columns:26px 1fr 1fr 20px;gap:19px}.moment-row h3{font-size:21px}.moment-row>div>p{font-size:12px}
 .studio-preview-grid{gap:60px;grid-template-columns:.85fr 1.15fr}.studio-preview-grid h2{font-size:37px}
 .compass-grid,.conversation-grid{gap:45px}.compass-grid h2{font-size:35px}
 .conversation-grid h2{font-size:43px}.taba-row{grid-template-columns:75px 1fr 1fr;gap:28px}.taba-letter{font-size:80px}.taba-row h2{font-size:29px}
 .process-step{grid-template-columns:35px .8fr 1.2fr;gap:25px}.process-step h2{font-size:29px}
 .contact-grid{gap:55px}.case-hero h1{font-size:77px}.case-hero-bottom{gap:55px}
 .footer-grid{gap:40px}.footer-position{font-size:13px}.footer-links a{font-size:11px}
}
@media(max-width:620px){
 :root{--gutter:24px}
 .section-pad{padding-block:70px}.eyebrow{font-size:9px}.lead,.lead-copy{font-size:15px}
 .hero-shell{min-height:760px;min-height:max(740px,100svh);align-items:start}
 .hero-image-wrap{top:0;right:-28%;width:118%;height:74%;opacity:.85}
 .hero-image-wrap>img{left:0;width:100%;height:100%;object-position:55% 0%;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 80%,transparent),linear-gradient(0deg,transparent,#000 40%,#000 88%,transparent)}
 .hero-image-wrap:before{background:linear-gradient(90deg,#0a0a0a 0%,#0a0a0a10 47%,#0a0a0a00 100%)}
 .hero-image-wrap:after{background:linear-gradient(0deg,#0a0a0a 1%,#0a0a0a00 48%,#0a0a0a50 100%)}
 .hero-copy{width:100%;max-width:300px;margin-top:135px;padding:0}
 .hero-copy>.eyebrow{font-size:8px;max-width:170px;margin-bottom:20px}
 .home-hero h1{font-size:clamp(37px,10vw,49px);line-height:1.06;letter-spacing:-.038em;max-width:270px}
 .hero-description>p,.hero-copy>p:not(.eyebrow){font-size:12px;max-width:200px;color:#c5c7be;line-height:1.65;margin-top:23px}
 .hero-actions{margin-top:24px;flex-direction:column;align-items:start;gap:13px}
 .hero-actions .button{width:auto;min-height:42px;font-size:10px;gap:20px;padding:11px 16px}
 .hero-actions .text-link{font-size:10px}.hero-signature{font-size:24.2vw;bottom:89px;letter-spacing:-.075em;line-height:.84}
 .hero-footnote{bottom:24px;flex-wrap:wrap;gap:8px 18px;font-size:8px;letter-spacing:0;line-height:1.5}
 .hero-footnote>p:first-child{flex-basis:100%}.hero-footnote>a{margin-left:auto;gap:6px}
 .section-heading{margin-bottom:31px}.section-heading .eyebrow{margin-bottom:21px}.section-heading h2{font-size:32px;line-height:1.13}
 .section-heading>p:not(.eyebrow){font-size:13px;max-width:320px;margin-top:20px}
 .section-heading--split{display:block}.section-heading--split>div:last-child{margin-top:20px}.section-heading--split>div:last-child>p{font-size:13px;max-width:280px}.section-heading--split .text-link{margin-top:14px}
 .home-projects,.project-grid{display:block}.project-card+.project-card{margin-top:39px}
 .project-cover,.project-card--large .project-cover,.project-grid .project-card:only-child .project-cover{aspect-ratio:1.05}
 .project-image-wrap>img{object-fit:cover;object-position:65% 50%}
 .project-open{bottom:15px;right:15px;padding:10px 13px;min-height:39px;font-size:9px;gap:19px}
 .project-caption,.project-grid .project-card:only-child .project-caption{display:block;margin-top:17px}.project-caption h2,.project-caption h3{font-size:24px}.project-caption .eyebrow{font-size:8px}.project-caption>p{font-size:11px;margin-top:10px;max-width:290px}
 .project-caption-link{display:none}
 .approach-grid{display:block}.approach-grid h2{font-size:34px;max-width:330px}.approach-copy{margin-top:28px}.approach-copy .lead-copy{font-size:14px;max-width:310px}.approach-copy .text-link{margin-top:23px}
 .approach-items{margin-top:34px}.approach-items>div{grid-template-columns:20px 90px 1fr;gap:13px}.approach-items h3{font-size:15px}.approach-items p{font-size:11px}
 .moments-section .section-heading{display:block}.moments-section .section-heading>p:not(.eyebrow){font-size:13px;margin-top:20px;max-width:300px}
 .moment-row{grid-template-columns:23px 1fr 18px;gap:13px;padding-block:26px}.moment-row h3{grid-column:2;font-size:24px}.moment-row>div{grid-column:2;max-width:260px}.moment-row>div>p{font-size:12px}.moment-number{font-size:9px}.moment-row>.arrow{width:16px;height:16px;grid-row:1;grid-column:3}.moment-row:hover{padding-left:0}.moment-tag{font-size:8px;margin-top:12px}
 .moment-row>p{grid-column:2;font-size:12px;max-width:250px}.moment-title .moment-tag{font-size:7px;margin-top:0;margin-bottom:10px}
 .studio-preview-grid{display:block}.studio-portrait{max-width:340px}.studio-portrait img{aspect-ratio:1.08;object-position:50% 22%}.studio-portrait>p{font-size:8px}
 .studio-preview-grid>div+div{margin-top:40px}.studio-preview-grid h2{font-size:35px;max-width:330px;margin-top:20px}.studio-preview-grid .lead-copy{font-size:14px;max-width:300px;margin-top:22px}.studio-preview-grid .text-link{margin-top:24px}
 .compass-grid,.conversation-grid,.two-column,.contact-grid{display:block}.compass-grid h2{font-size:34px}.compass-grid .eyebrow{font-size:9px;margin-bottom:20px}.compass-grid>div+div{margin-top:25px}.compass-grid>div:last-child>p{font-size:13px;max-width:300px}.compass-grid .compass-note{font-size:8px!important}.compass-grid .button{width:auto;font-size:11px;gap:25px}
 .conversation-section{padding-block:75px}.conversation-grid h2{font-size:40px;max-width:330px;line-height:1.09}.conversation-grid>div+div{margin-top:26px}.conversation-aside>p{font-size:13px;max-width:270px}.conversation-aside .button{width:auto;font-size:11px;gap:25px}
 .page-hero{padding-block:55px 50px}.page-hero .eyebrow{font-size:9px;margin-bottom:24px}.page-hero h1{font-size:40px;line-height:1.1;letter-spacing:-.037em}.page-intro{font-size:13px;max-width:300px;margin-top:24px;line-height:1.75}
 .two-column h2{font-size:31px;max-width:330px}.two-column>div+div{margin-top:26px}.two-column>.lead-copy p{font-size:14px}.about-tabs{gap:28px;margin-bottom:39px}.about-tab{font-size:15px;gap:17px;padding-bottom:17px}.about-tab span{font-size:8px}.belief-grid h3{font-size:26px}.belief-grid p{font-size:13px;max-width:320px}.belief-grid{margin-top:45px}.inline-callout p{font-size:14px;line-height:1.75}.inline-callout .text-link{margin-top:19px}
 .team-grid{margin-top:45px}.team-image>img{aspect-ratio:1.07}.team-card h3{font-size:27px}.team-card>p:not(.eyebrow){font-size:13px;line-height:1.75;margin-top:18px}
 .taba-row{grid-template-columns:55px 1fr;gap:21px;padding-block:38px}.taba-letter{font-size:70px}.taba-letter span{font-size:7px}.taba-row h2{font-size:29px}.taba-row .eyebrow{font-size:8px}.taba-row>div:last-child{grid-column:2}.taba-row>div:last-child>p{font-size:13px}.taba-row .taba-question{font-size:14px!important}
 .process-intro{font-size:15px;max-width:310px}.process-step{grid-template-columns:30px 1fr;gap:15px;padding-block:30px}.process-step h2{font-size:31px}.step-number{font-size:20px}.process-step>div:last-child>p{font-size:14px}.process-step dd{font-size:12px}.process-note{font-size:12px}.faq-list summary{font-size:15px}.faq-list details p{font-size:13px}
 .contact-aside .lead-copy{font-size:15px;max-width:310px}.contact-links .button{width:auto;font-size:11px}.contact-links>a:not(.button){font-size:13px}.contact-grid>div+div{padding-top:32px;border-color:var(--line)}.contact-form h2{font-size:27px;margin-bottom:27px}
 .compass-tool-intro>p:first-child{font-size:14px}.compass-disclaimer{font-size:11px}.compass-tool .pt-tool{padding:24px 20px}.compass-tool .pt-tool h2{font-size:25px}.compass-tool .pt-tool p{font-size:13px}.compass-tool .pt-quiz-header{gap:10px}.compass-tool .pt-tool .pt-progress-text{font-size:8px}.compass-tool .pt-choice{font-size:12px;padding:16px}.compass-tool .pt-button{font-size:11px}
 .prose p,.prose li{font-size:14px;line-height:1.8}.prose h2{font-size:27px}.prose h3{font-size:22px}.archive-intro{font-size:13px;max-width:290px}
 .case-hero{padding-block:40px 45px}.case-back{font-size:9px;margin-bottom:35px}.case-hero .eyebrow{font-size:8px;margin-bottom:21px}.case-hero h1{font-size:49px}.case-hero-bottom{display:block;margin-top:25px}.case-hero-bottom>.lead{font-size:14px;max-width:310px}.case-meta{margin-top:28px;gap:19px}.case-meta dt{font-size:7px}.case-meta dd{font-size:11px}.case-cover img{min-height:230px;object-fit:cover}
 .case-copy-row h2,.case-context h2{font-size:29px}.case-copy-row .prose p,.case-context .prose p{font-size:13px;line-height:1.85}.case-copy-row{padding-block:35px}.case-context{padding-bottom:40px}.case-services-list li{font-size:9px;padding:7px 10px}.case-comparison{gap:12px;margin-block:35px}.case-comparison img{aspect-ratio:1.1}.case-comparison figcaption{font-size:8px;padding:10px 12px}.case-gallery{margin-top:45px}.case-gallery>figure+figure{margin-top:23px}.case-gallery figcaption{font-size:10px}.case-testimonial>p:last-child{font-size:27px}
 .footer-top{padding-block:23px 35px}.footer-wordmark{font-size:23vw;letter-spacing:-.075em}.footer-chevrons{width:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 23px;padding-block:35px}.footer-grid .eyebrow{font-size:8px}.footer-position{font-size:13px;max-width:270px}.footer-location{font-size:9px}.footer-links a{font-size:10px;gap:9px}.footer-links li+li{margin-top:12px}.footer-bottom{font-size:8px;gap:18px;padding-block:21px}
 .footer-signature-note{display:none}
}
.admin-bar .site-header{top:32px}
.admin-bar .compass-tool .pt-tool{scroll-margin-top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .compass-tool .pt-tool{scroll-margin-top:46px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.is-parallax{transform:none!important}.is-parallax-active{will-change:auto}
 .button:hover,.project-cover:hover .project-image-wrap>img{transform:none}
 .project-open{transform:none!important}
}

/* Editorial hero and footer / 2026-10-04 */
/* Home opening. Integrated after the shared rules in refined.css. */
.home-hero--editorial{background:#f7f7f2;color:#171812;padding:clamp(130px,11vw,174px) 0 0;overflow:clip}
.home-hero--editorial .editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:clamp(54px,8vw,138px);align-items:center;padding-block:0 clamp(58px,6vw,94px)}
.home-hero--editorial .editorial-hero-copy{padding-block:24px 38px}
.home-hero--editorial .editorial-hero-kicker{margin:0 0 38px;color:#61645b;font-size:10px;font-weight:400;line-height:1.5;text-transform:uppercase;letter-spacing:.085em}
.home-hero--editorial h1{max-width:none;margin:0;font-size:clamp(54px,6.8vw,102px);font-weight:400;letter-spacing:-.055em;line-height:1.04;text-wrap:initial}
.home-hero--editorial h1>span{display:block}
.home-hero--editorial .editorial-hero-description{max-width:340px;margin:31px 0 0;color:#61645b;font-size:14px;line-height:1.75;letter-spacing:-.005em}
.home-hero--editorial .editorial-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:32px;margin-top:30px}
.home-hero--editorial .editorial-hero-link{display:inline-flex;align-items:center;justify-content:space-between;gap:33px;min-height:44px;padding:8px 0;border-bottom:1px solid #171812;font-size:12px;font-weight:400;line-height:1.4;transition:color .25s,border-color .25s,gap .4s var(--ease)}
.home-hero--editorial .editorial-hero-link .arrow{width:14px;height:14px}
.home-hero--editorial .editorial-hero-link--quiet{color:#61645b;border-bottom-color:#b9bcb2}
.home-hero--editorial .editorial-hero-link:hover{color:#171812;border-bottom-color:#171812;gap:39px}
.home-hero--editorial a:focus-visible{outline:2px solid #565e30;outline-offset:6px}
.home-hero--editorial .editorial-hero-portrait{width:100%;align-self:start}
.home-hero--editorial .editorial-hero-image{overflow:hidden;background:#dedfd7}
.home-hero--editorial .editorial-hero-image>img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;object-position:center top}
.home-hero--editorial .editorial-hero-portrait figcaption{display:flex;justify-content:space-between;gap:18px;margin-top:14px;font-size:10px;line-height:1.5;letter-spacing:.005em}
.home-hero--editorial .editorial-hero-portrait figcaption>span:last-child{color:#61645b}
.home-hero--editorial .editorial-hero-endnote{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;min-height:72px;padding-block:16px;border-top:1px solid #dedfd7;color:#61645b;font-size:10px;line-height:1.5}
.home-hero--editorial .editorial-hero-endnote p{margin:0}
.home-hero--editorial .editorial-hero-endnote a{display:inline-flex;align-items:center;justify-self:end;gap:23px;min-height:40px;color:#171812}
.home-hero--editorial .editorial-hero-endnote a>span{font-size:17px;line-height:1}
@media(max-width:1100px){
.home-hero--editorial .editorial-hero-grid{grid-template-columns:minmax(0,1fr) 290px;gap:55px}
.home-hero--editorial .editorial-hero-kicker{margin-bottom:30px}
.home-hero--editorial .editorial-hero-actions{gap:25px}
.home-hero--editorial .editorial-hero-description{max-width:290px}
}
@media(min-width:701px) and (max-width:850px){
.home-hero--editorial .editorial-hero-grid{grid-template-columns:minmax(0,1fr) 245px;gap:38px}
.home-hero--editorial h1{font-size:6.45vw}
.home-hero--editorial .editorial-hero-kicker{font-size:9px}
.home-hero--editorial .editorial-hero-description{font-size:13px;max-width:270px}
.home-hero--editorial .editorial-hero-link{font-size:11px;gap:18px}
.home-hero--editorial .editorial-hero-actions{gap:21px}
.home-hero--editorial .editorial-hero-portrait figcaption{display:block;font-size:9px}
.home-hero--editorial .editorial-hero-portrait figcaption>span{display:block}
.home-hero--editorial .editorial-hero-portrait figcaption>span+span{margin-top:2px}
.home-hero--editorial .editorial-hero-endnote{gap:20px;font-size:9px}
}
@media(max-width:700px){
.home-hero--editorial{padding-top:132px}
.home-hero--editorial .editorial-hero-grid{display:block;padding-bottom:36px}
.home-hero--editorial .editorial-hero-copy{padding:0}
.home-hero--editorial .editorial-hero-kicker{font-size:9px;margin-bottom:26px}
.home-hero--editorial h1{font-size:clamp(42px,11.1vw,54px);line-height:1.07;letter-spacing:-.048em}
.home-hero--editorial .editorial-hero-description{max-width:285px;font-size:13px;line-height:1.7;margin-top:25px}
.home-hero--editorial .editorial-hero-actions{margin-top:21px;gap:27px}
.home-hero--editorial .editorial-hero-link{font-size:11px;gap:24px}
.home-hero--editorial .editorial-hero-portrait{width:min(62%,220px);margin:42px 0 0 auto}
.home-hero--editorial .editorial-hero-portrait figcaption{display:block;font-size:9px;margin-top:12px}
.home-hero--editorial .editorial-hero-portrait figcaption>span{display:block}
.home-hero--editorial .editorial-hero-portrait figcaption>span+span{margin-top:3px}
.home-hero--editorial .editorial-hero-endnote{grid-template-columns:1fr auto;gap:9px 20px;padding-block:17px;min-height:78px;font-size:9px}
.home-hero--editorial .editorial-hero-endnote>p:first-child{grid-column:1/-1}
.home-hero--editorial .editorial-hero-endnote a{min-height:40px;gap:13px}
}
@media(prefers-reduced-motion:reduce){.home-hero--editorial .editorial-hero-link{transition:none}}

/* An editorial endnote: direct contact, a compact signature and useful links. */
.site-footer.site-footer--editorial{--footer-muted:#63665e;--footer-rule:#d9dbd2;background:#f7f7f2;color:#191b17;padding-block:0;font-weight:400}
.site-footer--editorial .footer-editorial__contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px 70px;padding-block:64px 55px;border-bottom:1px solid var(--footer-rule)}
.site-footer--editorial .footer-editorial__mail{min-width:0}
.site-footer--editorial .footer-editorial__label{color:var(--footer-muted);font-size:12px;line-height:1.5;margin:0 0 15px}
.site-footer--editorial .footer-editorial__email{display:inline-block;min-height:44px;max-width:100%;font-size:clamp(24px,2.6vw,32px);font-weight:400;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:7px;transition:text-decoration-color .25s ease}
.site-footer--editorial .footer-editorial__email:hover{text-decoration-color:currentColor}
.site-footer--editorial .footer-editorial__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;padding-bottom:1px}
.site-footer--editorial .footer-editorial__actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font-size:14px;line-height:1.4}
.site-footer--editorial .footer-editorial__actions .arrow{width:13px;height:13px;transition:transform .35s var(--ease)}
.site-footer--editorial .footer-editorial__actions a:hover .arrow{transform:translate(2px,-2px)}
.site-footer--editorial .footer-editorial__studio{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);align-items:start;gap:45px 70px;padding-block:47px 45px}
.site-footer--editorial .footer-editorial__brand{display:inline-flex;align-items:baseline;min-height:44px;font-size:30px;font-weight:400;line-height:1;letter-spacing:-.06em}
.site-footer--editorial .footer-editorial__brand span{color:inherit}
.site-footer--editorial .footer-editorial__descriptor,.site-footer--editorial .footer-editorial__location{color:var(--footer-muted);font-size:13px;line-height:1.6;margin:0}
.site-footer--editorial .footer-editorial__location{margin-top:8px}
.site-footer--editorial .footer-editorial__nav{padding-top:1px}
.site-footer--editorial .footer-editorial__nav ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 32px;list-style:none}
.site-footer--editorial .footer-editorial__nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.4;text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .25s ease}
.site-footer--editorial .footer-editorial__nav a:hover{text-decoration-color:currentColor}
.site-footer--editorial .footer-editorial__endnote{display:flex;flex-wrap:wrap;align-items:center;gap:6px 32px;padding-block:16px 20px;border-top:1px solid var(--footer-rule);color:var(--footer-muted);font-size:12px;line-height:1.6}
.site-footer--editorial .footer-editorial__endnote p{margin:0 auto 0 0}
.site-footer--editorial .footer-editorial__endnote a{display:inline-flex;align-items:center;gap:14px;min-height:44px}
.site-footer--editorial .footer-editorial__endnote a:hover{color:#191b17}
.site-footer--editorial .footer-editorial__top span{font-size:17px;line-height:1}
.site-footer--editorial a:focus-visible{outline-color:#655f00}
@media(max-width:1000px){
.site-footer--editorial .footer-editorial__contact{gap:28px 35px}
.site-footer--editorial .footer-editorial__actions{flex-direction:column;align-items:stretch;gap:0}
.site-footer--editorial .footer-editorial__studio{grid-template-columns:1fr 1.3fr;gap:40px}
.site-footer--editorial .footer-editorial__nav ul{gap:6px 25px}
}
@media(max-width:700px){
.site-footer--editorial .footer-editorial__contact{grid-template-columns:minmax(0,1fr);padding-block:43px 32px;gap:20px}
.site-footer--editorial .footer-editorial__label{margin-bottom:13px}
.site-footer--editorial .footer-editorial__email{font-size:clamp(22px,5.7vw,32px);line-height:1.45;letter-spacing:-.035em}
.site-footer--editorial .footer-editorial__actions{flex-direction:row;align-items:center;gap:5px 27px;padding:0}
.site-footer--editorial .footer-editorial__actions a{gap:12px}
.site-footer--editorial .footer-editorial__studio{grid-template-columns:minmax(0,1fr);padding-block:32px 30px;gap:26px}
.site-footer--editorial .footer-editorial__brand{font-size:28px}
.site-footer--editorial .footer-editorial__nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;justify-content:start}
.site-footer--editorial .footer-editorial__nav a{width:100%;min-height:48px}
.site-footer--editorial .footer-editorial__endnote{padding-block:15px 16px;gap:0 20px}
.site-footer--editorial .footer-editorial__endnote p{flex-basis:100%;margin:0 0 7px}
.site-footer--editorial .footer-editorial__top{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){
.site-footer--editorial .footer-editorial__email,.site-footer--editorial .footer-editorial__actions .arrow,.site-footer--editorial .footer-editorial__nav a{transition:none}
.site-footer--editorial .footer-editorial__actions a:hover .arrow{transform:none}
}

/* Home navigation follows the light editorial opening. */
.home .site-header:not(.is-scrolled){background:#f7f7f2;color:#171812}
.home .site-header:not(.is-scrolled) .header-inner{border-bottom-color:#dedfd7}
.home .site-header:not(.is-scrolled) .nav-cta{background:transparent;color:#171812;border-color:#b9bcb2}
.home .site-header:not(.is-scrolled) .nav-cta:hover{background:#edece5;border-color:#171812}
.home .site-header:not(.is-scrolled) .menu-toggle{color:#171812}
@media(max-width:850px){.home .site-header .site-nav.is-open{color:#f7f7f2}.home .site-header .site-nav.is-open .nav-cta{background:#f7f7f2;color:#171812}}
