/* Shared page rhythm and navigation */
:root{--gutter:clamp(20px,6vw,110px);--nav-height:76px}
.nav,.nav.scrolled{height:var(--nav-height);padding-inline:var(--gutter);background:#191713}
.nav nav a{opacity:1;color:#e9dfd1}
.nav nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}
.nav .mini-cta{min-height:42px;align-items:center}
.nav .menu-toggle{min-width:44px;min-height:44px}
section[id]{scroll-margin-top:var(--nav-height)}
.primary-btn{min-width:0;gap:20px;width:max-content;max-width:100%;font-weight:600}
.outline-link{max-width:100%;gap:18px}
.kicker,.eyebrow{font-family:inherit;font-weight:600}
.hero .hero-copy h1,.section-head h2,.project-intro h2,.about-copy h2,.f-heading h1,.final-cta h2{letter-spacing:0;line-height:1.32}
.section-head,.project-intro{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:30px}
.section-head h2,.project-intro h2,.about-copy h2{font-size:clamp(1.8rem,4.4vw,4.3rem)}
.services,.featured-projects,.about-band,.f-wrap,.f-heading{padding-inline:var(--gutter)}
.services,.featured-projects,.about-band,.f-wrap{padding-block:clamp(38px,7vw,104px)}
/* Sector cards work with touch, keyboard and pointer. */
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.service-list .service-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:1px solid #ffffff26;background:#191713;color:#fff8eb;overflow:hidden}
.service-list .sector-thumb{width:100%;aspect-ratio:1.7;object-fit:cover;transition:filter .2s}
.service-list .sector-copy{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:clamp(14px,2vw,24px);align-items:start}
.service-list .index{display:block;grid-column:1/-1;color:#dfac70}
.service-list .card-arrow{display:block;color:inherit}
.service-list .service-card p{color:#dfd4c4}
.service-list .service-card:is(:hover,:focus-visible){background:#2e261d;color:#fff8eb;border-color:#dfac70}
.service-list .service-card:is(:hover,:focus-visible) :is(p,.index){color:#f5e4cf}
.f-wrap.service-list .service-card{background:#fff8eb;color:#211e18;border-color:#cbb99f}
.f-wrap.service-list .service-card:is(:hover,:focus-visible){background:#e8dbcc;color:#211e18}
.f-wrap.service-list .service-card p{color:#514238}
.f-wrap.service-list .service-card:is(:hover,:focus-visible) :is(p,.index){color:#514238}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.project-card figure{min-height:0;aspect-ratio:1.1}
.project-card figcaption{padding:clamp(14px,2vw,26px)}
.project-card h3{font-size:clamp(1.15rem,2vw,2rem)}
.workshop-feature img{aspect-ratio:1.16}
.f-heading{padding-top:calc(var(--nav-height) + clamp(28px,6vw,92px));padding-bottom:clamp(28px,5vw,75px)}
.f-heading p:last-child{line-height:1.95}
.contact-panel{margin:clamp(20px,5vw,68px) var(--gutter);max-width:750px;padding:clamp(20px,4vw,45px)}
.contact-panel select{width:100%;min-height:46px}
.final-cta{padding-block:clamp(44px,7vw,105px)}
@media(max-width:900px){.service-list,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 :root{--nav-height:68px}
 .nav nav{inset-block-start:var(--nav-height)}
 .nav .menu-toggle{order:3}
 .nav .mini-cta{margin-inline-start:auto}
}
@media(max-width:520px){.service-list,.project-grid{grid-template-columns:1fr}.nav .brand .wordmark-lettering{width:77px}.nav .brand-emblem{width:31px}.nav .mini-cta{font-size:11px}.service-list .sector-copy{padding:15px}.site-footer{padding-inline:var(--gutter)}}
@media(prefers-reduced-motion:reduce){.service-list .sector-thumb{transition:none}}


/* Editorial index with a continuous vertical reading order. */
.service-list{display:block;border-block-start:1px solid #ffffff30}
.service-list .service-card{display:grid;grid-template-columns:minmax(0,1fr) clamp(115px,22vw,300px);align-items:center;gap:clamp(14px,4vw,56px);padding:clamp(16px,2vw,28px) 0;border:0;border-bottom:1px solid #ffffff30;background:transparent}
.service-list .sector-thumb{grid-column:2;grid-row:1;aspect-ratio:1.7}
.service-list .sector-copy{grid-column:1;grid-row:1;grid-template-columns:clamp(24px,4vw,55px) minmax(0,1fr) auto;align-items:center;padding:0}
.service-list .index{grid-column:auto}
.service-list .service-card:is(:hover,:focus-visible){background:transparent;border-color:#dfac70}
.service-list .service-card:is(:hover,:focus-visible) h3{color:#dfac70}
.f-wrap.service-list{border:0}
.f-wrap.service-list .service-card,.f-wrap.service-list .service-card:is(:hover,:focus-visible){background:transparent;border-color:#cbb99f}
.f-wrap.service-list .service-card:is(:hover,:focus-visible) h3{color:#76502f}

/* Each gallery entry pairs one large image with a quiet caption panel. */
.project-grid{display:flex;flex-direction:column;gap:clamp(20px,5vw,72px)}
.project-card figure{display:flex;align-items:stretch;aspect-ratio:auto;background:#211e18}
.project-card figure:after{content:none}
.project-card:nth-child(even) figure{flex-direction:row-reverse}
.project-card figure img{flex:0 0 64%;width:64%;height:auto;aspect-ratio:1.65;object-fit:cover}
.project-card figure figcaption{position:static;flex:1;display:flex;flex-direction:column;justify-content:center;background:#26211a;padding:clamp(16px,4vw,55px)}
.project-card:hover img{transform:none}
.project-card:is(:hover,:focus-visible) figcaption h3{color:#dfac70}
@media(max-width:600px){
 .service-list .service-card{grid-template-columns:minmax(0,1fr) clamp(78px,26vw,132px)}
 .service-list .sector-copy{grid-template-columns:minmax(0,1fr) auto}
 .service-list .index{display:none}
 .project-card figure,.project-card:nth-child(even) figure{flex-direction:column}
 .project-card figure img{width:100%;flex-basis:auto}
}

/* The interior covers share the homepage's full-width photographic treatment. */
.inner-cover{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(410px,62svh,690px);display:flex;align-items:flex-end;padding-top:calc(var(--nav-height) + 55px);padding-bottom:clamp(60px,8vw,105px);background:#191713;color:#fff8eb}
.inner-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-2}
.inner-cover::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,#15120ff2,#15120fb8 58%,#15120f42),linear-gradient(0deg,#15120fc4,transparent 60%)}
.inner-cover-copy{max-width:760px}
.inner-cover .kicker{color:#dfac70}
.inner-cover h1{margin-block:10px 15px;color:#fff8eb}
.inner-cover p:last-child{margin:0;color:#fff8eb}
.inner-cover-caption{position:absolute;bottom:16px;left:var(--gutter);color:#fff8eb;background:#191713;padding:6px 10px;font-size:11px}
.inner .f-columns{display:block}
.inner .f-columns article{border:0;border-bottom:1px solid #cbb99f;padding:clamp(18px,3vw,38px) 0}
.inner .f-columns article:first-child{border-top:1px solid #cbb99f}
.inner .f-columns article p{max-width:65ch}
.inner .f-photo img{border-radius:0}
@media(max-width:600px){.inner-cover{min-height:360px}.inner-cover::before{background:linear-gradient(270deg,#15120fed,#15120f82)}}

.final-cta .primary-btn{position:relative;isolation:isolate;overflow:hidden;border:1px solid #24170c}
.final-cta .primary-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff8eb;transform:translateX(102%);transition:transform .35s ease}
.final-cta .primary-btn:is(:hover,:focus-visible){color:#24170c;background:#fff8eb}
.final-cta .primary-btn:is(:hover,:focus-visible)::before{transform:none}
.stories{display:flex;flex-direction:column;gap:clamp(24px,5vw,72px)}
.story-feature{display:flex;align-items:stretch;background:#26211a;color:#fff8eb}
.story-feature:nth-child(even){flex-direction:row-reverse}
.story-feature figure{position:relative;flex:0 0 58%;margin:0}
.story-feature img{display:block;width:100%;height:100%;min-height:240px;aspect-ratio:1.55;object-fit:cover}
.story-feature figcaption{position:absolute;bottom:0;right:0;background:#191713;padding:7px 10px;font-size:11px}
.story-feature>div{align-self:center;padding:clamp(20px,4vw,60px)}
.story-feature h2{font-size:clamp(1.35rem,3vw,2.7rem)}
.story-feature p,.footer-identity p{line-height:1.9;color:#e9dfd1}
.site-footer-rich{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:28px;padding:clamp(28px,6vw,82px) var(--gutter);align-items:start;text-align:start}
.site-footer-rich>div,.site-footer-rich>nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.site-footer-rich h2{font-size:15px;margin:0 0 7px;color:#fff8eb}
.footer-contact a,.contact-channels a,.contact-secondary{display:flex;align-items:center;gap:10px;min-height:42px}
.footer-contact svg,.contact-channels svg{flex:none;color:var(--orange)}
.footer-contact bdi,.contact-channels bdi{display:block;overflow-wrap:anywhere}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,6vw,95px)}
.message-form{display:grid;gap:13px;border:1px solid #cbb99f;padding:clamp(16px,4vw,38px)}
.message-form label{display:grid;gap:6px}
.message-form :is(input,select,textarea){width:100%;min-height:44px;border:1px solid #897358;padding:9px;font:inherit;color:#211e18;background:#fff8eb}
.contact-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.contact-actions .primary-btn{margin:0}
@media(max-width:760px){.site-footer-rich{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1}.contact-layout{grid-template-columns:1fr}}
@media(max-width:580px){.story-feature,.story-feature:nth-child(even){flex-direction:column}.story-feature figure{flex-basis:auto}.story-feature img{min-height:0}.site-footer-rich{grid-template-columns:1fr}.footer-identity{grid-column:auto}}

.about-overview{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:24px;border-bottom:1px solid #cbb99f}
.about-overview .kicker{color:#76502f}
.about-overview h2{font-size:clamp(1.55rem,3.7vw,3.6rem);line-height:1.35}
.about-overview p:not(.kicker){max-width:67ch;line-height:2}
.stories .outline-link{margin-top:20px}
@media(max-width:600px){.about-overview{grid-template-columns:1fr;gap:8px}}

.about-overview{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:clamp(24px,7vw,100px)}
.about-emblem{display:grid;place-items:center;border-inline-start:1px solid #cbb99f;padding-inline-start:clamp(16px,4vw,52px)}
.about-emblem img{display:block;width:min(100%,310px);height:auto}
@media(max-width:640px){.about-overview{grid-template-columns:1fr;gap:24px}.about-emblem{border-inline-start:0;border-block-start:1px solid #cbb99f;padding:20px 0 0}.about-emblem img{width:min(42vw,150px)}}

.project-card[id^="work-"]{scroll-margin-top:calc(var(--nav-height) + 16px)}
.work-open,.work-dialog button{font:inherit;cursor:pointer;background:#191713;color:#fff8eb;border:1px solid #bfa58a;padding:10px 14px;min-height:44px}
.work-open{align-self:flex-start;margin-top:10px}
.work-open:is(:hover,:focus-visible),.work-dialog button:is(:hover,:focus-visible){background:#dfac70;color:#24170c}
.work-dialog{padding:0;width:min(960px,calc(100% - 26px));max-height:calc(100dvh - 24px);background:#191713;color:#fff8eb;border:1px solid #a98f72}
.work-dialog::backdrop{background:#110f0deb}
.work-toolbar,.work-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(12px,3vw,25px)}
.work-toolbar h2{margin:0;font-size:clamp(1rem,3vw,1.5rem)}
.work-toolbar button{min-width:44px;font-size:22px;padding:0}
.work-media{background:#100f0c;display:grid;place-items:center}
.work-media :is(img,video){display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 170px);object-fit:contain}
.work-counter{direction:rtl}

.work-motion figure img{aspect-ratio:1.5}
.work-motion figcaption p{color:#e9dfd1;line-height:1.8}
.work-motion .work-open{background:#dfac70;color:#24170c}
.work-strip{display:flex;gap:8px;overflow-x:auto;padding:10px clamp(12px,3vw,25px)}
.work-strip button{flex:none;width:58px;height:46px;padding:2px;position:relative;border-color:#ffffff55}
.work-strip button[aria-current=true]{border:2px solid #dfac70}
.work-strip img{width:100%;height:100%;object-fit:cover}
.work-strip span{position:absolute;inset:auto 3px 3px auto;background:#191713;color:white;font-size:11px;padding:2px}
.work-media :is(img,video){max-height:max(150px,calc(100dvh - 228px))}

.work-category-nav{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:clamp(24px,4vw,58px)}
.work-category-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #a98f72;color:#24170c;background:#fff8eb}
.work-category-nav a:is(:hover,:focus-visible){background:#dfac70}
.work-category{scroll-margin-top:calc(var(--nav-height) + 14px);padding-block:clamp(20px,4vw,54px);border-top:1px solid #cbb99f}
.work-category h2{margin:0 0 18px;font-size:clamp(1.4rem,3vw,2.7rem)}
.work-dialog [hidden]{display:none}

.work-categories .project-grid{flex-direction:row;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:5px 3px 15px;scrollbar-color:#a98f72 transparent}
.work-categories .project-card{flex:0 0 clamp(260px,35vw,450px);scroll-snap-align:start}
.work-categories .project-card figure,.work-categories .project-card:nth-child(even) figure{flex-direction:column;height:100%}
.work-categories .project-card figure img{width:100%;flex:0 0 auto;aspect-ratio:1.55}
.work-categories .project-card figure figcaption{padding:20px;justify-content:flex-start;align-items:flex-start}
.work-categories .work-open{margin-top:auto}
.work-categories .project-card h3{margin-bottom:12px}
@media(max-width:450px){.work-categories .project-card{flex-basis:86%}}

.site-footer-rich{padding-block:clamp(24px,3.2vw,48px);row-gap:20px}
.site-footer-rich>.footer-contact{gap:0}
.site-footer-rich .footer-contact h2{margin-block-end:3px}
.footer-contact a{min-height:32px;gap:8px}
.footer-contact svg{width:18px;height:18px}
@media(pointer:coarse){.footer-contact a{min-height:44px}}

@media(max-width:760px){
 .nav nav{max-height:calc(100dvh - var(--nav-height));overflow-y:auto;visibility:hidden}
 .nav.menu-open nav{visibility:visible}
}
@media(max-height:420px){
 .work-dialog .work-strip{display:none}
 .work-dialog .work-toolbar,.work-dialog .work-controls{padding-block:6px}
 .work-media :is(img,video){max-height:max(0px,calc(100dvh - 142px))}
}

.sector-overview{padding-block:clamp(26px,4vw,60px) clamp(16px,2vw,28px)}
.sector-overview .kicker{margin:0 0 8px;color:#76502f}
.sector-overview h2{margin:0 0 14px;font-size:clamp(1.45rem,3vw,2.75rem);line-height:1.4}
.sector-overview p:not(.kicker){max-width:74ch;line-height:1.9;margin:0 0 10px}
.sector-overview+.f-wrap{padding-block-start:clamp(10px,2vw,28px)}

.sector-overview.about-overview{padding-block:clamp(26px,4vw,60px)}
.sector-examples,.sector-brief{padding-block:clamp(24px,4vw,54px)}
.sector-examples>p,.sector-brief>p{max-width:74ch;line-height:1.85}
.sector-image-note{font-size:.85rem;color:#76502f}
.sector-example-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,26px);margin-block-start:18px}
.sector-example-list figure{margin:0;background:#fff8eb;border:1px solid #cbb99f}
.sector-example-list img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.sector-example-list figcaption{padding:clamp(14px,2vw,24px)}
.sector-example-list h3{margin:0 0 6px;font-size:clamp(1rem,1.6vw,1.4rem)}
.sector-example-list p{margin:0;line-height:1.8}
.sector-examples .outline-link{margin-block-start:20px}
.sector-brief{border-block-start:1px solid #cbb99f}
@media(max-width:700px){.sector-example-list{grid-template-columns:1fr}.sector-example-list figure{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center}.sector-example-list img{height:100%;min-height:110px}}
@media(max-width:390px){.sector-example-list figure{display:block}.sector-example-list img{height:auto}}
