/* Editorial storytelling inside Musou's existing monochrome world. */
.agency-page{--editorial-rail:126px;padding-top:clamp(150px,20svh,190px);overflow:clip}
.admin-bar .agency-page{--editorial-rail:158px}
.agency-body{--agency-space:clamp(100px,9vw,170px)}
.agency-page section[id]{scroll-margin-top:calc(var(--editorial-rail) + 20px)}
.editorial-line{display:block;overflow:clip;padding-block:.04em .11em;margin-block:-.04em -.11em}
.editorial-line-inner{display:block}
.agency-display{letter-spacing:-.04em;line-height:.94;max-width:none;text-wrap:initial}
.agency-heading{letter-spacing:-.035em;line-height:1.08;font-weight:500}
.agency-page .artwork-note{font-size:11px;line-height:1.5;letter-spacing:.025em}
.agency-page .section-opening{gap:8vw;align-items:start}
.agency-page .editorial-copy{line-height:1.65}
/* About is a centred studio statement, followed by a continuous story. */
.about-hero{display:block;min-height:0;padding-bottom:clamp(70px,8vw,150px);text-align:center}
.about-hero-heading h1{font-size:clamp(74px,min(16vw,26svh),310px);line-height:.94;max-width:none}
.about-hero-copy{padding:0;width:100%;max-width:none;margin:40px auto 0}
.about-hero-copy .agency-lead{font-size:clamp(21px,1.6vw,30px);line-height:1.45;max-width:42ch;margin-inline:auto;text-wrap:balance}
.about-hero-copy .agency-link{margin-top:28px}
.about-hero .hero-aside{font-size:13px;line-height:1.5;max-width:40ch;margin:38px auto 0;color:var(--musou-muted)}
.studio-intro{display:block;padding-block:clamp(60px,7vw,135px);border-top:1px solid var(--agency-rule)}
.studio-intro>div:first-child{position:static;margin-bottom:65px}
.studio-intro .agency-heading{font-size:clamp(50px,7.6vw,145px);max-width:18ch;line-height:1.04}
.studio-intro>div+div{display:grid;grid-template-columns:1fr 1fr;gap:34px 8vw;margin-left:24%;}
.studio-intro .agency-lead{grid-column:1/-1;font-size:clamp(26px,2.3vw,44px);line-height:1.4;max-width:45ch;margin-bottom:12px}
.studio-intro .editorial-copy{font-size:clamp(18px,1.2vw,23px);max-width:none;margin:0}
.studio-contactsheet{display:grid;grid-template-columns:1.4fr 1fr;gap:24px 8vw;align-items:center;padding-block:20px var(--agency-space)}
.studio-contactsheet figure{overflow:hidden}.studio-contactsheet figure:first-child{height:clamp(280px,38vw,730px)}.studio-contactsheet figure:nth-child(2){height:clamp(330px,47vw,900px)}
.studio-contactsheet img{width:100%;height:100%;object-fit:cover}
.studio-contactsheet .artwork-note{grid-column:1/-1;font-size:10px;color:var(--musou-muted);margin-top:-8px}
/* One authored scroll scene: the image opens out, then the caption resolves. */
.studio-image-story{height:auto;position:relative}
.spread-frame{position:relative;height:100svh;min-height:280px;isolation:isolate;overflow:hidden}
.has-editorial-motion .studio-image-story{height:170svh}
.has-editorial-motion .spread-frame{position:sticky;top:0;min-height:0}
.studio-spread{position:absolute;inset:0;height:100%;min-height:0;max-height:none;clip-path:inset(0 var(--spread-inset,0%));transform:none}
.studio-spread img{height:100%;transform:scale(var(--spread-scale,1));object-position:center}
.studio-spread::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgb(0 0 0 / .72));pointer-events:none}
.studio-spread figcaption{left:auto;right:calc(var(--agency-gutter) + var(--spread-inset,0%));top:20px;bottom:auto;z-index:1;font-size:10px}
.spread-story{position:absolute;inset:auto 0 0;z-index:1;grid-template-columns:1.2fr 1fr;align-items:end;gap:10vw;padding-block:clamp(16px,4svh,48px);border:0;color:#fff;opacity:var(--spread-caption,1);transform:translateY(calc((1 - var(--spread-caption,1))*30px))}
.spread-story .agency-heading{font-size:clamp(36px,min(5.5vw,11svh),106px);line-height:1.03;max-width:14ch}
.spread-story .agency-lead{font-size:clamp(16px,2.3svh,24px);line-height:1.5;max-width:33ch}
.studio-manifesto{padding-block:clamp(110px,13vw,250px)}
.studio-manifesto p{max-width:none;font-size:clamp(54px,7.6vw,146px);line-height:1.08;letter-spacing:-.04em;font-weight:500;text-wrap:balance}
.studio-principles{grid-template-columns:1fr 1.2fr;gap:11vw}
.studio-principles>div:first-child{position:sticky;top:calc(var(--editorial-rail) + 24px);align-self:start}
.studio-principles>div>.agency-heading{font-size:clamp(44px,4.8vw,92px);max-width:13ch}
.studio-principle summary{font-size:clamp(24px,2.1vw,40px);padding-block:30px}
.studio-principle>div{padding-left:42px;max-width:54ch;font-size:19px}
.studio-collaboration{grid-template-columns:1.2fr 1fr;gap:10vw;background:transparent;border-top:1px solid var(--agency-rule)}
.studio-collaboration figure{width:100%}.studio-collaboration img{aspect-ratio:5/6}
.studio-collaboration .agency-heading{font-size:clamp(46px,4.8vw,92px);line-height:1.04}
.studio-collaboration .agency-lead{font-size:clamp(22px,1.8vw,34px);line-height:1.45}
.studio-collaboration .editorial-copy{max-width:45ch}
.studio-connections{border-top:1px solid var(--agency-rule)}
.studio-connections .section-opening{margin-bottom:75px}
.studio-connections .section-opening .agency-heading{max-width:15ch}
.discipline-index a{grid-template-columns:1.25fr 1fr 60px;padding-block:32px}
.discipline-index h3{font-size:clamp(58px,7.6vw,146px);letter-spacing:-.04em}
.studio-fit{padding-top:30px;gap:11vw}.studio-fit .agency-heading{max-width:14ch}
/* Services is an image-free typographic opening and a native service catalogue. */
.services-hero{display:block;padding-bottom:clamp(70px,8vw,150px)}
.services-hero .agency-display{font-size:clamp(72px,min(16vw,29svh),310px);line-height:.94;word-spacing:.1em;max-width:none}
.services-hero .editorial-line{display:block;text-align:left}
.services-hero .editorial-line:nth-child(n+2){text-align:right}
.services-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:7vw;margin:48px 0 0;padding:0}
.services-hero-bottom .agency-lead{font-size:clamp(21px,1.6vw,30px);line-height:1.45;max-width:42ch}
.services-overview{padding-bottom:clamp(60px,6vw,115px)}.services-overview .section-opening{padding-top:45px;margin:0;gap:9vw}
.services-overview .agency-heading{font-size:clamp(44px,4.8vw,92px);max-width:16ch}
.service-offering{border-top:1px solid var(--agency-rule);scroll-margin-top:max(0px,calc(var(--editorial-rail) - 85px))}
.service-offering:last-child{border-bottom:1px solid var(--agency-rule)}
.service-offering-toggle{display:flex;align-items:center;justify-content:space-between;gap:5vw;padding-block:clamp(28px,3vw,58px);list-style:none;cursor:pointer}
.service-offering-toggle::-webkit-details-marker{display:none}
.service-title{font-size:clamp(64px,8vw,154px);font-weight:600;line-height:1;letter-spacing:-.04em;margin:0}
.service-offering-mark{width:clamp(32px,3.4vw,65px);height:clamp(32px,3.4vw,65px);flex:none;transition:transform .5s var(--musou-ease)}
.service-offering-mark svg{display:block;width:100%;height:100%}
.service-offering[open] .service-offering-mark{transform:rotate(45deg)}
.service-offering-toggle:focus-visible{outline:0;background:color-mix(in srgb,var(--musou-ink) 5%,transparent)}
.service-offering-toggle:focus-visible .service-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.service-offering-body{padding-top:20px;padding-bottom:clamp(65px,7vw,134px)}
.service-description{font-size:clamp(27px,3.2vw,62px);line-height:1.25;letter-spacing:-.025em;max-width:40ch;margin-left:18%;margin-bottom:65px}
.service-band{position:relative;overflow:hidden;height:clamp(240px,36vw,680px);margin-block:0 65px}
.service-band img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-band figcaption{position:absolute;left:18px;bottom:18px;padding:6px 10px;background:#000b;color:#fff;font-size:10px;line-height:1.5}
.service-offering-content{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:6vw;align-items:start}
.service-offering-content .editorial-copy{font-size:clamp(18px,1.2vw,23px);line-height:1.65;max-width:none;margin-top:0}
.service-offering-content .agency-link{margin-top:28px}
.service-deliverables{margin:0}.service-deliverables li{font-size:17px;padding-block:13px}.service-deliverables li:first-child{border-top:0;padding-top:0}
.service-specifics{display:block;margin:0;padding:0;border:0}.service-specifics>div+div{margin-top:30px}
.service-specifics h3,.service-intention h3{font-size:13px;line-height:1.4;letter-spacing:0;font-weight:500;margin-bottom:16px}
.service-specifics p{font-size:17px;line-height:1.6;max-width:none}
.service-intention{display:grid;grid-template-columns:1fr 2fr;gap:8vw;border-top:1px solid var(--agency-rule);padding-top:40px;margin-top:clamp(65px,7vw,134px)}
.service-intention h3{margin-top:10px}
.service-intention p{font-size:clamp(32px,4vw,76px);line-height:1.15;letter-spacing:-.035em;max-width:27ch;text-wrap:balance}
.engagement-image{position:relative;height:clamp(220px,23vw,440px);overflow:hidden;margin-bottom:40px}.engagement-image img{width:100%;height:100%;object-fit:cover}.engagement-image figcaption{position:absolute;left:15px;bottom:15px;background:#000b;color:#fff;padding:6px 10px;font-size:10px}
@supports(interpolate-size:allow-keywords){
 .service-offering::details-content{interpolate-size:allow-keywords;block-size:0;overflow:clip;content-visibility:hidden;transition:block-size .6s cubic-bezier(.16,1,.3,1),content-visibility .6s allow-discrete}
 .service-offering[open]::details-content{block-size:auto;content-visibility:visible}
}
@media(hover:hover) and (pointer:fine){.service-offering-toggle:hover{background:color-mix(in srgb,var(--musou-ink) 3%,transparent)}}
.agency-engagement .section-opening{align-items:start}
.engagement-options{gap:8vw;padding-top:40px}
.engagement-options>div,.engagement-options>div+div{border:0;padding:0}
.engagement-symbol{display:none}
.engagement-options h3{font-size:clamp(32px,3.2vw,62px);line-height:1.08;font-weight:500;max-width:15ch;margin-bottom:28px}
.engagement-options p{font-size:clamp(18px,1.4vw,26px);line-height:1.55;max-width:40ch}
/* Process is a reading sequence, with enough space for the reasoning at each step. */
.agency-process{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}
.agency-process>div{position:sticky;top:calc(var(--editorial-rail) + 24px)}
.agency-process .agency-heading{max-width:14ch;font-size:clamp(46px,4.7vw,90px)}
.agency-process ol{display:block;margin:0}
.agency-process li{display:grid;grid-template-columns:55px 1fr;gap:28px;padding:32px 0 44px;position:relative}
.agency-process li::before,.contact-steps li::before{content:"";position:absolute;inset:-1px 0 auto;height:1px;transform:scaleX(var(--step-progress,0));transform-origin:left;background:var(--musou-ink)}
.agency-process .process-number{font-size:18px;line-height:1.4;letter-spacing:0;margin:0}
.agency-process h3{font-size:clamp(30px,2.5vw,48px);line-height:1.05;margin-bottom:24px}
.agency-process p{font-size:19px;line-height:1.6;max-width:36ch}
.agency-faq{gap:10vw}.agency-faq .agency-heading{font-size:clamp(44px,4.7vw,90px);max-width:14ch}
.agency-question summary{padding-block:28px;font-size:clamp(20px,1.5vw,29px)}
/* Contact surrounds the approved form with a quieter, more confident introduction. */
.contact-hero{grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center;min-height:0;padding-bottom:var(--agency-space)}
.contact-hero .agency-display{font-size:clamp(68px,min(10.6vw,20svh),204px);max-width:none;line-height:.96}
.contact-hero .agency-lead{font-size:clamp(21px,1.6vw,30px);max-width:31ch;margin-top:40px}
.contact-artwork{height:clamp(350px,62svh,720px);width:100%;align-self:stretch}
.contact-artwork img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transform:none}
.contact-next .section-opening{align-items:start}
.contact-steps{grid-template-columns:1fr;gap:0;margin-top:65px;counter-reset:contact-step}
.contact-steps li{position:relative;display:grid;grid-template-columns:80px 1fr 1fr;gap:6vw;align-items:start;padding:35px 0 44px;margin:0}
.contact-step-number{font-size:18px;line-height:1.4;letter-spacing:0;margin:0}
.contact-steps h3{font-size:clamp(30px,3vw,58px);max-width:14ch;margin:0;font-weight:500}
.contact-steps p{font-size:clamp(18px,1.3vw,25px);line-height:1.6;max-width:40ch}
@media(max-width:1100px){
 .contact-hero .agency-display{font-size:10vw}.service-offering-content{grid-template-columns:1fr 1fr;gap:40px 7vw}.service-specifics{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.service-specifics>div+div{margin:0}
}
@media(max-width:900px){
 .agency-page{--editorial-rail:104px}.admin-bar .agency-page{--editorial-rail:142px}
 .studio-intro,.studio-principles,.studio-collaboration{gap:7vw}
}
@media(max-width:700px){
 .agency-body{--agency-space:90px}.agency-page{padding-top:145px}
 .agency-heading{font-size:clamp(40px,10.5vw,66px)}
 .about-hero{padding-bottom:70px}.about-hero-heading h1{font-size:18vw}.about-hero-copy{margin-top:30px}.about-hero-copy .agency-lead{font-size:21px;max-width:31ch}.about-hero .hero-aside{margin-top:30px;font-size:12px}
 .studio-intro{padding-block:65px}.studio-intro>div:first-child{margin-bottom:35px}.studio-intro .agency-heading{font-size:12vw;max-width:17ch}.studio-intro>div+div{display:block;margin:0}.studio-intro .agency-lead{font-size:25px;margin-bottom:30px}.studio-intro .editorial-copy{font-size:18px;margin-top:22px}
 .studio-contactsheet{grid-template-columns:1fr 1fr;gap:20px 5vw;padding-bottom:70px}.studio-contactsheet figure:first-child{height:54vw}.studio-contactsheet figure:nth-child(2){height:74vw}.studio-contactsheet .artwork-note{font-size:9px;margin:0}
 .has-editorial-motion .studio-image-story{height:140svh}
 .spread-frame{min-height:390px}.has-editorial-motion .spread-frame{height:100svh;min-height:0}
 .spread-story{display:block;padding-block:24px}.spread-story .agency-heading{font-size:clamp(38px,11vw,60px);max-width:17ch}.spread-story .agency-lead{font-size:17px;line-height:1.45;margin-top:22px;max-width:32ch}
 .studio-spread figcaption{top:15px;font-size:9px}
 .studio-manifesto{padding-block:95px}.studio-manifesto p{font-size:12.2vw;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
 .studio-principles{display:block;padding-bottom:80px}.studio-principles>div>.agency-heading{font-size:11vw;max-width:15ch}.studio-principles>div+div{margin-top:40px}
 .studio-principle summary{font-size:26px;padding-block:26px}.studio-principle>div{font-size:17px;padding-left:30px}
 .studio-collaboration{gap:38px;padding-block:75px}.studio-collaboration figure{width:100%}.studio-collaboration img{aspect-ratio:5/6}.studio-collaboration .agency-heading{font-size:12vw}.studio-collaboration .agency-lead{font-size:22px}
 .studio-connections{padding-top:75px}.studio-connections .section-opening{margin-bottom:40px}
 .discipline-index a{grid-template-columns:1fr 32px;gap:18px;padding-block:24px}.discipline-index h3{font-size:14vw}
 .studio-fit{padding-top:0}.studio-fit .agency-heading{font-size:11vw;max-width:15ch}
 .services-hero{padding-bottom:70px}.services-hero .agency-display{font-size:15.5vw}.services-hero-bottom{margin-top:34px;gap:20px}.services-hero-bottom .agency-lead{font-size:20px}
 .services-overview{padding-bottom:55px}.services-overview .section-opening{padding-top:35px}.services-overview .agency-heading{font-size:11vw;max-width:17ch}
 .service-offering-toggle{padding-block:27px;gap:20px}.service-title{font-size:12vw}.service-offering-mark{width:30px;height:30px}
 .service-offering-body{padding-block:8px 65px}.service-description{font-size:27px;line-height:1.35;margin:0 0 35px;max-width:none}.service-band{height:78vw;max-height:480px;margin-bottom:35px}.service-band figcaption{left:12px;bottom:12px;font-size:9px}
 .service-offering-content{display:block}.service-offering-content>div,.service-deliverables{margin-top:35px}.service-offering-content>div:first-child{margin:0}.service-offering-content .editorial-copy{font-size:18px}.service-deliverables li{font-size:16px}
 .service-specifics{display:block;padding-top:0}.service-specifics>div{border:0;padding:0}.service-specifics>div+div{margin-top:28px}.service-specifics h3{font-size:13px;margin-bottom:12px}.service-specifics p{font-size:17px}
 .service-intention{display:block;margin-top:45px;padding-top:25px}.service-intention h3{margin:0 0 20px}.service-intention p{font-size:32px;max-width:27ch}
 .engagement-image{height:65vw;margin-bottom:28px}
 .engagement-options{display:block;padding-top:0}.engagement-options>div,.engagement-options>div+div{padding-top:32px}.engagement-options>div+div{margin-top:35px;border-top:1px solid var(--agency-rule)}.engagement-options h3{font-size:36px;max-width:17ch}.engagement-options p{font-size:19px}
 .agency-process{display:block}.agency-process>div{position:static}.agency-process .agency-heading{font-size:11vw;max-width:16ch}.agency-process ol{margin-top:40px}.agency-process li{grid-template-columns:30px 1fr;gap:22px;padding-block:26px 32px}.agency-process .process-number{font-size:13px}.agency-process h3{font-size:31px}.agency-process p{font-size:18px}
 .agency-faq .agency-heading{font-size:11vw;max-width:15ch}.agency-question summary{font-size:21px;padding-block:24px}
 .contact-hero{display:flex;flex-direction:column;gap:38px}.contact-hero .agency-display{font-size:16.5vw}.contact-hero .agency-lead{font-size:21px;margin-top:28px}
 .contact-artwork{width:85%;align-self:end;height:95vw;min-height:0;max-height:580px;margin:0}
 .contact-next .agency-heading{font-size:11vw;max-width:16ch}.contact-steps{margin-top:40px}.contact-steps li{grid-template-columns:30px 1fr;gap:18px 22px;padding-block:26px 32px}.contact-step-number{font-size:13px}.contact-steps h3{font-size:33px;max-width:16ch}.contact-steps p{grid-column:2;font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 .has-editorial-motion .studio-image-story{height:auto}.has-editorial-motion .spread-frame{position:relative;top:0;height:auto;min-height:460px}.studio-spread{clip-path:none}.studio-spread img,.spread-story{transform:none;opacity:1}
 .service-offering::details-content,.service-offering-mark{transition:none}
 .studio-intro>div:first-child,.studio-principles>div:first-child,.agency-process>div{position:static}
}
/* Native navigation is bridged by the shared Silk Curtain when eligible. */
