/* The brand, the three disciplines, and room to read. */
.nav{font-size:18px;gap:34px;font-weight:600}.nav a{min-height:44px;display:inline-flex;align-items:center}.nav a:last-child{background:var(--yellow);color:var(--brown);border-color:transparent;padding:10px 24px}.nav a:last-child:hover{background:var(--brown);color:var(--yellow)}
[data-page=home] .site-header{justify-content:flex-end}
.hero-lockup{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:min(64vw,76svh,900px);text-align:center}
.hero-v4 .hero-title{position:relative;inset:auto;transform:none!important;width:100%;aspect-ratio:1014/699;margin:0}
.hero-lockup .hero-services{font-family:Anton,sans-serif;font-size:clamp(18px,2.2vw,34px);letter-spacing:.015em;line-height:1.3;max-width:none;margin:24px 0 0;white-space:nowrap;text-align:center}
.hero-foot{justify-content:center}.scroll-link{font-size:13px;border-bottom:1px solid;padding:8px 0}
.scene-skip{border-radius:0;border-bottom:1px solid;padding:10px 0;background:transparent}.scene-stage{border-radius:0;background:transparent;padding-left:0}.scene-index{gap:18px}
.intro{padding-top:72px;padding-bottom:80px}.intro-top{margin-bottom:40px}.intro-bottom{margin-top:40px}.intro-aside{justify-content:flex-end}
.service-panel{display:block;padding-left:60px}.service-copy{display:grid;grid-template-columns:1fr 1fr;gap:8%}.service-copy p{max-width:34ch}.service-list{align-content:start;font-size:16px}.service-toggle:hover h3{letter-spacing:-.035em}.service-toggle:hover .service-number{transform:none}
.work-teaser{display:block;padding-top:80px;padding-bottom:85px}.work-teaser>div{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:start}.work-teaser h2{grid-row:span 2}.work-teaser p{margin:10px 0 24px}.work-teaser .text-link{justify-self:start;align-self:end}
.circle-link{width:auto;height:auto;min-height:48px;border-radius:0;border:0;border-bottom:1px solid;padding:10px 0;font-size:20px}.circle-link:hover{transform:none;background:transparent}.contact-cta{align-items:end}
[data-page=about] .inner-main{padding-top:115px}.inner-title{padding-top:15px;padding-bottom:25px}.inner-title .kicker{margin-bottom:22px}.inner-title h1{font-size:clamp(64px,9.2vw,145px)}.about-pillars{font-size:clamp(18px,2vw,28px);margin-top:25px;max-width:none}
.about-story{grid-template-columns:1.15fr .85fr;gap:9%;padding-top:15px;padding-bottom:75px}.about-story .story-copy{grid-column:1;grid-row:1;padding-top:0;gap:20px;font-size:19px}.about-story figure{grid-column:2;grid-row:1;transform:none;background:none;padding:0}.about-story figure img{height:420px}.about-story figcaption{display:none}.story-copy .lead{font-size:26px}.pillar-summary{display:grid;gap:15px}.pillar-summary p{font-size:16px}.pillar-summary strong{display:block;font-size:19px;font-weight:700}.story-copy .text-link{justify-self:start}
.work-layout{display:block;padding-bottom:85px}.work-layout>div{display:grid;grid-template-columns:1fr 1fr;column-gap:8%}.work-layout h1{grid-column:1;grid-row:2 / span 2}.work-layout .page-kicker{grid-column:1/-1;font-size:14px;margin-top:0;margin-bottom:25px}.work-layout p:not(.page-kicker){grid-column:2;margin-top:10px}.work-layout .text-link{grid-column:2;justify-self:start;align-self:start}
.contact-layout{display:block}.contact-copy{display:grid;grid-template-columns:1.25fr 1fr;column-gap:8%}.contact-copy .page-kicker{grid-column:1/-1;margin-top:0;margin-bottom:28px}.contact-copy h1{grid-column:1;grid-row:2}.contact-copy>p:not(.page-kicker){grid-column:1;grid-row:3;margin-top:28px}.contact-details{grid-column:2;grid-row:2 / span 2;align-content:start;gap:26px;font-style:normal;padding-top:6px}.contact-details div{border-bottom:0;padding-bottom:20px;min-width:0}.contact-details span{display:block;font-size:13px;margin-bottom:8px}.contact-details a,.contact-details p{font-size:clamp(17px,1.8vw,27px);margin:0;overflow-wrap:anywhere}.contact-details a{display:inline-block}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.nav{font-size:17px;gap:24px}.hero-lockup{width:min(80vw,76svh)}.service-panel{padding-left:0}.about-story{gap:35px}.contact-copy{gap:30px}.scene-stage{background:var(--blue);padding:5px 8px}.scene-skip{background:var(--blue);padding:10px}}
@media(max-width:600px){
 .site-header{padding-left:18px;padding-right:18px;height:88px}.brand-mini{width:40px}.nav{gap:8px;font-size:14px}.nav a{min-width:44px;justify-content:center}.nav a.nav-home{display:inline-flex}.nav a:last-child{padding:8px 12px;min-width:78px}.hero-lockup{width:88vw;top:47%}.hero-v4 .hero-title{width:100%;top:auto}.hero-lockup .hero-services{font-size:clamp(14px,4.15vw,24px);margin-top:22px;max-width:none;letter-spacing:0;line-height:1.3}.hero-foot{justify-content:center}
 .intro{padding-top:55px;padding-bottom:60px}.intro-top{margin-bottom:32px}.intro-aside{justify-content:flex-start}.service-copy{grid-template-columns:1fr;gap:0}.service-list{font-size:14px}.service-panel{padding-left:0}.work-teaser>div{display:block}.work-teaser p{margin:25px 0 18px}.contact-cta{flex-direction:column;align-items:flex-start;gap:25px}.contact-cta h2{font-size:14vw;max-width:none}.circle-link{font-size:18px}.footer-top{font-size:13px}
 [data-page=about] .inner-main{padding-top:105px}.inner-title{padding-bottom:20px}.inner-title h1{font-size:17vw}.inner-title .kicker{font-size:13px;margin-bottom:20px}.about-pillars{font-size:16px;margin-top:20px;white-space:nowrap}.about-story{display:flex;flex-direction:column;gap:30px;padding-top:5px}.about-story .story-copy{order:0;padding:0;font-size:17px}.story-copy .lead{font-size:22px}.about-story figure{order:1;max-width:100%;width:100%}.about-story figure img{height:320px}.work-layout>div{display:block}.work-layout p:not(.page-kicker){margin-top:28px}.contact-copy{display:block}.contact-copy>p:not(.page-kicker){margin:25px 0 30px}.contact-details{gap:22px}.contact-details a,.contact-details p{font-size:21px}
}
@media(max-height:600px) and (orientation:landscape){.hero-lockup{width:min(48vw,66svh);top:53%}.hero-lockup .hero-services{font-size:13px;margin-top:12px}.hero-v4 .hero-title{width:100%;top:auto}}
.no-motion .hero-v4 .hero-title{transform:none!important}
.hero-lockup{width:min(68vw,88svh,940px)}
.hero-lockup .hero-services{font-family:Nunito,sans-serif;font-weight:700;font-size:clamp(18px,2vw,30px);letter-spacing:.025em}
@media(max-width:900px){.hero-lockup{width:min(80vw,80svh)}}
@media(max-width:600px){.hero-lockup{width:88vw}.hero-lockup .hero-services{font-size:clamp(13px,3.85vw,22px);letter-spacing:0}}
@media(max-height:600px) and (orientation:landscape){.hero-lockup{width:min(48vw,66svh)}.hero-lockup .hero-services{font-size:12px}}

/* Quiet feedback: tiny displacement, soft colour, and composed page arrivals. */
.nav a,.text-link,.circle-link,.footer-links a,.contact-details a,.scene-skip{transition:color .25s ease,background-color .25s ease,transform .35s cubic-bezier(.22,1,.36,1),opacity .25s ease}
.nav a:after{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.service-toggle h3{transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s ease}
.service-toggle .plus{transition:transform .4s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
 .nav a:hover,.nav a:focus-visible{transform:translateY(-2px)}
 .text-link:hover,.circle-link:hover,.scene-skip:hover{transform:translateY(-2px)}
 .footer-links a:hover,.contact-details a:hover{opacity:.72}
 .service-toggle:hover h3{transform:translateX(5px);letter-spacing:-.035em}
}
@keyframes editorial-arrival{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 body:not(.no-motion) .inner-main>:first-child{animation:editorial-arrival .6s cubic-bezier(.22,1,.36,1) both}
 body:not(.no-motion) .inner-main>:nth-child(2){animation:editorial-arrival .65s .07s cubic-bezier(.22,1,.36,1) both}
}
.no-motion a,.no-motion .service-toggle h3,.no-motion .service-toggle .plus{transition:none!important}
@media(prefers-reduced-motion:reduce){.nav a,.text-link,.circle-link,.scene-skip,.service-toggle h3{transform:none!important}}

/* Shared alignment rhythm across the three interior pages. */
[data-page=about] .inner-main,.inner-main{padding-top:136px}
.inner-main>:first-child{padding-top:24px}
.inner-title .kicker,.work-layout .page-kicker,.contact-copy .page-kicker{margin-bottom:24px}
.contact-page .nav a:last-child{border-color:#43302e45}
.footer-bottom{align-items:center}
@media(max-width:600px){
 [data-page=about] .inner-main,.inner-main{padding-top:108px}
 .inner-main>:first-child{padding-top:16px}
 .inner-title .kicker,.work-layout .page-kicker,.contact-copy .page-kicker{margin-bottom:22px}
}

/* Keep the table anchored when a desktop window becomes narrower or taller. */
@media(min-width:601px),(orientation:landscape){
 .hero-v4 .hero-scene img,.hero-v4 .hero-film{object-position:left bottom}
}

/* Second editorial pass: consistent labels, body scale and softer film blue. */
.hero-v4 .hero-scene{background:var(--blue)}
.hero-v4 .hero-film,.hero-v4 .scene-poster{filter:none}
.hero-v4 .hero-scene:after{background:var(--blue);opacity:0}
.about-story .story-copy,.story-copy .lead{font-size:17px;line-height:1.6}
.pillar-summary strong{font-size:16px;letter-spacing:.025em;margin-bottom:3px}
.contact-cta h2{font-size:clamp(42px,6.4vw,100px);max-width:19ch}
.cta-brand{white-space:nowrap}
.contact-copy h1{font-size:clamp(38px,5.2vw,82px)}
@media(max-width:600px){
 .about-story .story-copy,.story-copy .lead{font-size:16px}
 .contact-cta h2,.contact-copy h1{font-size:10.5vw}
}

/* Shared brand-blue Stay curious footer. */
.site-footer{background:var(--blue);color:var(--brown)}

.site-footer .footer-top{border-top:0}
