/* Version 9 responsive corrections. Its desktop art direction remains the base. */
html{scroll-padding-top:100px}
body{overflow-wrap:break-word}
main *,footer *,.topbar *{min-width:0}
input,select,textarea{max-width:100%}
.btn,.text-link,.editorial-link{max-width:100%;white-space:normal}
.btn>span,.text-link>span,.editorial-link>i{flex-shrink:0}
.nav-actions{flex-shrink:0}
.comparison-scroll{max-width:100%;overscroll-behavior-x:contain}
/* Let content determine height; constrain only the image frame. */
.atlas-panel{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.dossier-layout{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr)}
@media(max-width:1200px){
 .main-nav{display:none}.menu-toggle{display:block}
 .nav-shell{width:calc(100% - 48px);height:76px;gap:20px}
 .chapter-nav{top:76px}
 .chapter-nav>.container{gap:22px}
}
@media(min-width:761px) and (max-width:1000px){
 .container{width:calc(100% - 56px)}
 .hero h1{font-size:clamp(58px,7.8vw,74px);max-width:100%}
 .hero-content{padding-top:36px}
 .hero-content>p:not(.label){max-width:500px}
 .benefit-grid{gap:22px}.benefit-card h3{font-size:26px}
 .benefit-card h3 br{display:none}
 .pricing-grid{grid-template-columns:minmax(0,1fr);max-width:650px;margin-inline:auto}
 .price-card .price-description{min-height:0}
 .price-card>.btn{font-size:14px}
 .split,.intro-grid,.faq-layout,.closing-grid,.package-overview,.contact-layout,.roi-layout,.article-layout,.finder-layout,.resource-teaser-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .intro-grid>div,.prose{max-width:650px}
 .intro-grid h1{font-size:clamp(44px,6vw,60px)}
 .article-layout>aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
 .article-layout>aside>.label-plain{grid-column:1/-1}
 .article-layout>article{padding-left:0;border-left:0}
 .section-heading{align-items:flex-start;gap:30px}
 .section-heading h2{font-size:43px}
 .section-heading>p{max-width:300px}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .scope-stats{gap:24px}.scope-stats strong{font-size:48px}.scope-stats strong>span{font-size:26px}
 .report-heading{flex-wrap:wrap}
 .scenario-grid{grid-template-columns:minmax(0,1fr);max-width:650px;margin-inline:auto}
 .scenario-card{min-height:500px}
 .photographic-scenario h3{font-size:38px}.photographic-scenario>p{font-size:14px}
 .photographic-scenario .scenario-link{font-size:14px}
}
@media(max-width:900px){
 .dossier-layout,.atlas-panel,.editorial-service,.editorial-service:nth-child(even){grid-template-columns:minmax(0,1fr);gap:34px}
 .editorial-service:nth-child(even) .editorial-visual{order:0}
 .editorial-service-copy{max-width:650px}
 .editorial-visual{aspect-ratio:1.4}
 .dossier-visual{max-width:700px}
 .atlas-image{min-height:0;aspect-ratio:1.3}
 .atlas-image img{object-position:68% 35%}
 .atlas-copy{padding:0;max-width:650px}
 .atlas-tabs{grid-template-columns:minmax(0,1fr)}
 .atlas-tabs button{border-right:0;border-bottom:1px solid var(--paper-line)}
 .agency-banner,.asset-feature{grid-template-columns:minmax(0,1fr)}
 .agency-banner-photo img{height:auto;aspect-ratio:1.5;object-fit:cover}
 .asset-feature-copy,.agency-banner-copy{padding:60px 28px;max-width:750px}
 .scope-detail-grid{grid-template-columns:minmax(0,1fr)}
 .engagement-notes{grid-template-columns:minmax(0,1fr);gap:30px}
}
@media(max-width:760px){
 .container{width:calc(100% - 40px)}
 .nav-shell{width:calc(100% - 40px);height:68px;gap:12px}
 .chapter-nav{top:68px}
 .chapter-nav>.container{width:100%;padding-inline:20px;justify-content:flex-start;gap:22px;overflow-x:auto}
 .chapter-nav a{flex-shrink:0;min-height:48px}
 .cover-edition{flex-wrap:wrap;gap:10px}
 .hero-bottom{flex-wrap:wrap;gap:16px;font-size:9px}
 .hero-bottom>div{max-width:100%;flex-wrap:wrap}
 .hero-promises{gap:10px 18px}.hero-promises li{font-size:12px}
 .hero-content>p:not(.label){font-size:16px;line-height:1.8}
 .network-label{flex-wrap:wrap;gap:8px 20px}
 .publisher-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;padding-inline:0}
 .publisher-logos img{width:min(135px,100%)}
 .intro-grid h1{font-size:clamp(36px,9vw,58px);overflow-wrap:normal}
 .intro-grid h1 br{display:none}
 .detail-rows>article{grid-template-columns:24px minmax(0,1fr)}
 .service-list>a{grid-template-columns:minmax(0,1fr) auto}
 .benefit-card h3 br{display:none}
 .report-heading{flex-wrap:wrap}
 .report-tag{white-space:normal;font-size:10px}
 .report-heading h3{font-size:28px}
 .report-bottom,.report-bottom>a{font-size:11px;white-space:normal}
 .demo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
 .demo-tabs button{min-width:0;flex-direction:column;gap:4px;min-height:58px;padding:10px 5px}
 .demo-tabs button>span{font-size:12px}
 .report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .report-metrics span{font-size:10px;line-height:1.5}.report-metrics strong{font-size:15px}
 .report-table>div{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);font-size:11px}
 .report-table .report-table-head{font-size:10px}
 .browser-chrome{height:auto;min-height:38px;flex-wrap:wrap;padding:10px;gap:5px}
 .browser-chrome>span,.browser-chrome>b{font-size:8px}
 .deck-mock{grid-template-columns:minmax(0,1fr);padding:28px 24px 54px;gap:28px}
 .deck-art{max-width:300px;width:100%;justify-self:center}
 .deck-mock h3{font-size:32px}.deck-mock p,.mock-site-body p{font-size:13px}
 .mock-disclosure{font-size:11px;line-height:1.7}
 .price-card .price-description{min-height:0}
 .brief-form input,.brief-form select,.brief-form textarea{font-size:16px;width:100%}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
 .footer-contact{grid-column:1/-1;max-width:440px}
 .footer-bottom nav{flex-wrap:wrap}
 .inner-edition{gap:12px;flex-wrap:wrap;font-size:9px}
 .feature-footnote{flex-wrap:wrap;font-size:10px;gap:12px}
 .feature-footnote>span:last-child{font-size:10px}
 .dossier-visual figcaption{padding:26px}
 .resource-downloads>article{grid-template-columns:32px minmax(0,1fr)}
 .resource-downloads .btn{min-width:0;max-width:100%}
 .motion-control{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:126px;min-height:44px}
 .floating-enquiry{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100% - 154px);font-size:10px;gap:7px;padding:12px;min-height:44px}
}
@media(max-width:600px){
 .nav-actions .btn.small{display:none}
 .brand{font-size:20px;gap:8px}
 .hero-content>h1{font-size:clamp(34px,10.4vw,62px);line-height:1.14;max-width:100%}
 .hero .label{font-size:9px;letter-spacing:.06em;line-height:1.8}
 .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:420px}
 .hero-actions .btn{font-size:14px;min-height:52px;gap:16px}
 .hero-actions .btn.ghost{font-size:14px}
 .scope-stats{grid-template-columns:minmax(0,1fr);gap:0;border-top:0;padding-top:0}
 .scope-stats>div{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border-right:0;border-top:1px solid var(--line);padding:24px 0}
 .scope-stats strong{font-size:44px}.scope-stats p{font-size:14px;margin:0}
 .steps{grid-template-columns:minmax(0,1fr);gap:28px}
 .split h2,.faq-layout h2,.closing h2{font-size:clamp(33px,8.6vw,48px);line-height:1.2}
 .feature-body h2{font-size:clamp(35px,9.4vw,52px)}
 .section-heading h2{font-size:clamp(33px,8.5vw,48px);line-height:1.2}
 .report-main{padding:24px 16px}
 .report-metrics{grid-template-columns:minmax(0,1fr);gap:10px}
 .report-metrics>div{padding:14px}
 .website-mock{padding:22px 16px}.mock-site-body h3{font-size:29px}
 .roi-fields,.form-grid{grid-template-columns:minmax(0,1fr)}
 .roi-fields input{width:100%;font-size:18px}
 .resource-downloads>article{grid-template-columns:minmax(0,1fr);gap:20px}
 .resource-downloads>article>*{grid-column:auto}
 .resource-downloads .btn{grid-column:auto;justify-self:stretch}
 .resource-cover{transform:none;padding:24px}
 .resource-cover>strong{font-size:clamp(32px,9vw,46px)}
 .resource-cover>div{flex-wrap:wrap;gap:16px}
 .package-investment{padding:25px 20px}.package-investment>strong{font-size:52px}
 .closing .btn,.intro-grid .btn{min-width:0}
 .dialog-actions{flex-direction:column;align-items:stretch}
 .brief-dialog{max-height:calc(100dvh - 24px);overflow:auto}
}
@media(max-width:374px){
 .container,.nav-shell{width:calc(100% - 32px)}
 .footer-grid{gap:28px 18px}
 .price-card{padding:28px 22px}
 .label{overflow-wrap:anywhere}
 .feature-body h2{font-size:34px}
}
/* Touch browsers use one-pass reveals; text stays available while scrolling fast. */
@media(hover:none){.reveal-pending{opacity:1}.hero-photo>img{animation:none}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1}}

/* V14: intrinsic image heights must scale with their displayed widths. */
.dossier-visual>img,.presence-visual>img{height:auto;aspect-ratio:3 / 2}
/* A real grid keeps the sample headline, portrait and copy in separate cells. */
.journey-paper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);grid-template-rows:auto auto auto 1fr auto;gap:10px 14px;transform:none;padding:18px}
.paper-topline,.paper-category,.journey-paper h3,.paper-rules{grid-column:1 / -1}
.paper-category{margin-top:0}
.journey-paper h3{max-width:none;font-size:clamp(26px,3vw,36px);line-height:1.08;letter-spacing:-1px;margin:0}
.paper-portrait{position:static;grid-column:2;grid-row:4;align-self:center;width:100%;height:96px;min-height:0}
.journey-paper>p{grid-column:1;grid-row:4;align-self:center;max-width:none;margin:0;font-size:9px;line-height:1.65}
.paper-rules{position:static;gap:5px}
@media(max-width:900px){
 .reveal-pending{opacity:1}
 .journey-stage{height:420px}
 .journey-scene{padding:18px}
 .journey-paper{max-width:390px;padding:18px}
 .journey-paper h3{font-size:clamp(26px,7.4vw,36px)}
 .dossier-visual{align-self:start}
 .dossier-visual>img{display:block;height:auto;max-height:none;object-fit:contain}
 .presence-visual>img{height:auto;object-fit:contain}
 .floating-enquiry{display:none}
 .motion-control{position:static;width:fit-content;max-width:none;margin-top:24px;font-size:12px;min-height:44px;padding:11px 16px;box-shadow:none}
}
@media(max-width:760px){
 .chapter-nav{position:relative;top:auto}
 .chapter-nav>.container{height:48px}
 .edition-rule{margin-bottom:28px}
 .dossier-layout{gap:32px}
}
