/* Responsive polish: shared sizing, then intentional desktop/tablet/mobile compositions.
   Visual tokens, artwork, copy, and interaction styles remain in reference.css. */
:root{--wrap:1200px;--pad:clamp(40px,3.5vw,50px);--section-space:clamp(96px,7vw,120px);--body-size:clamp(1rem,1.3vw,1.1rem);--title-size:clamp(1.35rem,2vw,1.75rem)}
body{font-size:var(--body-size)}
.section{padding-block:var(--section-space)}
.wrap>*{min-width:0}
h2,.services-head h2,.process-intro h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}
.eyebrow.eyebrow,.hero .eyebrow,.tile-kicker,.service-tile .tile-kicker,.black-label{font-size:clamp(.72rem,.85vw,.82rem)}
.services-head p:not(.eyebrow),.process-intro p:not(.eyebrow),.pricing-head p:not(.eyebrow),.work-hero p:not(.eyebrow),.about-grid p:not(.eyebrow),.cta-content p{font-size:var(--body-size);line-height:1.55;max-width:680px}
.service-tile p:not(.tile-kicker),.process-flow .step-card p,.price-card>p,.price-card ul,.case-body p,.case-back-inner p,.case-deliverables,.faq-answer,.quote-card p,.stats-grid p{font-size:var(--body-size);line-height:1.5}
.service-tile h3,.process-flow .step-card h3,.case-body h3,.case-back-inner h3{font-size:var(--title-size);line-height:1.15}
.btn,.hero .btn,.about-grid .actions .btn,.case-back-inner .btn{font-size:14px;min-height:44px}
.service-tile .text-link,.case-flip-hint,.case-close{font-size:14px}
.hero{padding:125px 0 24px}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px}
.hero h1{font-size:clamp(3.75rem,7vw,6.75rem);max-width:100%}
.hero h1 .marker{font-size:clamp(2.5rem,4.6vw,3.8rem)}
.hero .lead{font-size:clamp(1rem,1.3vw,1.2rem);max-width:620px;line-height:1.5}
.hero-art{min-height:0;height:auto;align-self:center;aspect-ratio:1;align-items:center;justify-content:center;margin:0;padding:5%}
.hero-megaphone{width:100%;max-width:620px;height:auto;object-fit:contain;margin:0;transform:rotate(-9deg)}
.hero-art-star{width:76%;max-width:100%;right:8%;top:5%}
.services>.wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-tile{width:100%;min-width:0;min-height:0;padding:24px}
.service-tile-img{top:18px;right:18px;width:54px;height:54px;object-fit:contain}
.service-tile .tile-kicker{max-width:calc(100% - 64px);min-height:48px;margin-bottom:16px;overflow-wrap:anywhere}
.process-flow.step-row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);gap:16px}
.process-flow .step-card{display:flex;flex-direction:column;padding:28px;min-height:0}
.process-flow .step-card>span{margin:0 0 20px;float:none}
.process-flow .step-card p{margin:0 0 16px}.process-flow .step-card p:last-child{margin-bottom:0}
.process-flow .step-arrow{display:block}
.pricing-head{grid-template-columns:minmax(0,1fr) 210px;gap:48px}
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.price-card{padding:30px 26px;min-width:0}
.price-card>strong{font-size:clamp(2rem,3.3vw,2.8rem);margin-top:20px;overflow-wrap:anywhere}
.price-card>span{font-size:16px}.price-card .btn{margin-top:auto;white-space:normal}
.work-hero{grid-template-columns:minmax(0,1fr) 180px;gap:64px}
.work-collage{display:block;min-width:0}.work-collage .paper-note{width:100%;font-size:27px}
.case-carousel-wrap{min-width:0}
.case-carousel{gap:22px;padding:8px 8px 22px;scroll-padding-inline:8px;align-items:stretch}
.case-card{flex:0 0 calc((100% - 66px)/4);height:auto;min-width:0;display:flex;scroll-snap-align:start}
.case-card-inner{height:auto;display:flex;flex:1;min-width:0}
.case-card-front{position:relative;inset:auto;display:flex;flex-direction:column;width:100%;min-width:0}
.case-img-area{position:relative;flex:none;width:100%;height:auto;aspect-ratio:4/3;min-height:0}
.project-art .case-img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:contain}
.project-wordmark{font-size:clamp(1.35rem,2.5vw,2.2rem);padding:10px;overflow-wrap:anywhere}
.case-body{padding:20px 18px 12px}.case-body p{margin-bottom:12px}
.case-flip-hint{position:static;align-self:flex-start;margin:auto 18px 18px;padding:8px 12px}
.case-card-back{padding:22px;overscroll-behavior:contain}
.case-back-inner h4{font-size:16px}
.work-samples{max-width:700px;margin:48px auto 0}
.about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}
.fact-pills{display:flex;flex-wrap:wrap;gap:8px 10px}
.fact-pill{width:auto;min-width:0;max-width:100%;font-size:15px;min-height:40px;text-align:left;justify-content:flex-start}
.quote-card{flex-basis:340px;min-height:0}.quote-card strong,.quote-card small{font-size:15px}
.stats-band{padding-block:80px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.stats-grid article{padding:45px 24px 24px;min-width:0}.stats-grid p{max-width:none}.stats-label{font-size:13px}.stats-grid strong{font-size:clamp(2.5rem,4vw,3.5rem)}
.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);gap:48px}
.faq-question{font-size:clamp(1rem,1.3vw,1.1rem);padding:20px;grid-template-columns:minmax(0,1fr) 48px;gap:6px 14px}
.faq-question>span{font-size:12px}.faq-icon{width:48px;height:48px}.faq-answer{padding-inline:20px}
.final-cta{padding-top:64px}.cta-plane-img{width:90%;margin:0;justify-self:center;transform:none;object-fit:contain}
.footer{padding-top:64px}.footer-grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) minmax(0,1.4fr);gap:32px}
.footer-grid>div:nth-child(4){grid-column:auto}.footer-grid>div>a,.footer-grid>div>p,.footer-brand p,.footer h3{font-size:16px}.footer .signature{font-size:23px}.legal{font-size:14px;flex-wrap:wrap}

/* Tablet: move dense compositions into rows rather than shrinking their copy. */
@media(min-width:700px) and (max-width:1099px){
 :root{--pad:32px;--section-space:80px}
 .hero-grid{grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:8px}
 .hero h1{font-size:clamp(3.75rem,7vw,4.8rem)}
 .services>.wrap{grid-template-columns:minmax(0,1fr);gap:32px}
 .process-flow.step-row{grid-template-columns:minmax(0,1fr);gap:24px}
 .process-flow .step-arrow{display:none}
 .process-flow .step-card{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:20px}
 .process-flow .step-card>span{grid-row:1/4;grid-column:1;margin:0}
 .process-flow .step-card h3,.process-flow .step-card p{grid-column:2}
 .price-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px}
 .price-card{padding:28px 20px}.price-card>strong{font-size:clamp(1.9rem,3.2vw,2.3rem)}
 .pricing-head{grid-template-columns:minmax(0,1fr) 170px;gap:28px}.large-note{font-size:21px}
 .work-hero{grid-template-columns:minmax(0,1fr) 160px;gap:32px}.work-collage .paper-note{font-size:24px}
 .case-card{flex-basis:calc((100% - 22px)/2.2);scroll-snap-align:start}
 .about-grid{grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:28px}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}
 .faq-grid{grid-template-columns:minmax(0,1fr);gap:24px}.faq-image{width:240px;margin-top:20px}
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.footer-brand{grid-column:1/-1;max-width:680px}
}

/* Mobile: text-led stacks, with full artwork and self-contained horizontal rails. */
@media(max-width:699px){
 :root{--pad:20px;--section-space:64px}
 .hero{padding:112px 0 28px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .hero-copy{padding:0}.hero h1{font-size:clamp(3.75rem,12vw,5rem);max-width:520px}
 .hero h1 .marker{font-size:clamp(2.5rem,8.5vw,3.5rem)}.hero .lead{max-width:620px;margin-top:24px}
 .hero-art{width:min(82vw,420px);max-width:100%;justify-self:end;aspect-ratio:1;height:auto;min-height:0;margin:0;padding:6%;pointer-events:none}
 .hero-megaphone{width:100%;height:auto;max-width:100%;margin:0}
 .hero-art-star{width:75%;right:9%;top:5%}
 .services>.wrap{grid-template-columns:minmax(0,1fr);gap:28px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .service-tile{padding:24px}.service-tile-img{width:52px;height:52px;top:18px;right:18px}
 .service-tile .tile-kicker{min-height:48px;max-width:calc(100% - 62px)}
 .process-flow.step-row{grid-template-columns:minmax(0,1fr);gap:24px}
 .process-flow .step-arrow{display:none}.process-flow .step-card{display:flex;padding:26px;min-height:0}
 .process-flow .step-card h3,.process-flow .step-card p{margin-left:0}
 .mini-cta{flex-wrap:wrap}.mini-cta strong{flex:1;font-size:18px}.mini-cta .btn{margin-left:0}
 .pricing-head{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:40px}
 .large-note{position:static;max-width:260px;margin-left:auto;font-size:20px}.large-note a{font-size:18px}
 .price-grid{grid-template-columns:minmax(0,1fr);gap:36px}.price-card{padding:28px}.price-card>strong{font-size:clamp(2.25rem,8vw,2.8rem)}
 .work-hero{grid-template-columns:minmax(0,1fr);gap:24px}.work-collage{position:relative;display:block;justify-self:end;width:170px;margin:8px 12px 12px 0}
 .work-collage .paper-note{font-size:24px}.work-collage .burst{right:-10px;width:36px}
 .case-card{flex-basis:100%;scroll-snap-align:center}.carousel-nav{justify-content:center}
 .case-body{padding:20px 22px 12px}.case-flip-hint{margin-inline:22px}
 .work-samples{margin-top:40px}.work-samples h3{font-size:clamp(1.35rem,5vw,1.75rem)}
 .about-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .portrait-collage{width:min(100%,260px);justify-self:center}.portrait-img{width:100%;max-height:none;object-fit:contain}
 .about-note{font-size:24px}.quick-facts{padding:24px 16px}.quick-facts>.eyebrow{font-size:.72rem}
 .fact-pill{font-size:14px;min-height:40px;line-height:1.5}
 .quote-grid{padding-inline:12px;scroll-padding-inline:12px;mask-image:linear-gradient(to right,transparent,#000 10px,#000 calc(100% - 10px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10px,#000 calc(100% - 10px),transparent)}
 .quote-card{flex-basis:100%;padding:24px}
 .stats-band{padding-block:64px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 16px}
 .stats-grid article{padding:40px 16px 20px}.stats-grid strong{font-size:clamp(2.5rem,9vw,3.25rem)}
 .stat-badge{width:54px;height:54px;top:-25px;left:14px}.stat-icon{width:42px;height:42px}
 .faq-grid{grid-template-columns:minmax(0,1fr);gap:24px}.faq-grid h2{font-size:clamp(2.25rem,8vw,2.8rem);max-width:100%}
 .faq-image{width:200px;max-width:100%;margin-top:16px}.faq-feature-image{object-fit:contain}
 .faq-question{padding:20px;grid-template-columns:minmax(0,1fr) 44px}.faq-icon{width:44px;height:44px}
 .cta-banner{grid-template-columns:minmax(0,1fr);gap:24px}.cta-content{padding-bottom:0}.cta-plane-img{width:min(80%,300px);max-height:none;justify-self:end}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.footer-brand{grid-column:1/-1}.footer-grid>div:nth-child(4){grid-column:1/-1}.footer-logo-img{width:160px}
}
@media(max-width:619px){.service-grid{grid-template-columns:minmax(0,1fr)}}
