@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:62px}.nav{display:none}.hero{padding-top:82px}.hero-title{font-size:clamp(72px,22vw,160px);line-height:.77}.hero-title .line-indent{padding-left:0}.orbit-a{right:0;top:-40px}.orbit-b{left:auto;right:18vw;bottom:-50px}.hero-bottom{margin-top:65px}.circle-link{width:72px;height:72px}.statement-grid,.work-intro-grid,.ads-head,.brands-head{grid-template-columns:1fr}.statement-copy,.work-intro p,.ads-head p,.brands-head p{justify-self:start;margin-top:30px}.service-row{grid-template-columns:42px 1fr}.service-row p{grid-column:2}.service-arrow{grid-column:3;grid-row:1}.project-media{min-height:0;aspect-ratio:16/9}.project-copy{grid-template-columns:1fr;gap:28px;padding-bottom:80px}.project-pair{grid-template-columns:1fr;gap:20px}.project-offset{padding-top:0}.project-media.compact-media{min-height:0;aspect-ratio:16/9}.ads-grid{grid-template-columns:repeat(2,1fr)}.principles-grid{grid-template-columns:1fr}.principles-grid article{border-right:0;border-bottom:1px solid rgba(17,17,17,.35);padding:28px 0 25px}.principles-grid article+article{padding-left:0}.contact{min-height:82svh}.contact-title{font-size:clamp(72px,22vw,150px)}.contact-bottom{flex-direction:column;align-items:flex-start;gap:28px}.contact-signoff{text-align:left}.footer{grid-template-columns:1fr auto}.footer span{display:none}.case-hero{padding-top:88px;min-height:62svh}.case-hero h1{font-size:clamp(82px,26vw,190px)}.case-hero-bottom,.case-intro,.case-story-row{grid-template-columns:1fr}.case-tags{justify-self:start;margin-top:25px}.case-cover{height:auto;aspect-ratio:16/9}.case-intro{gap:30px}.case-intro-text{grid-column:1;grid-template-columns:1fr}.case-story-row{gap:22px}.case-story-copy{grid-column:1}.case-note{grid-template-columns:1fr;gap:20px}}
@media(max-width:560px){.brand{width:105px}.header-cta{font-size:12px}.hero-title{font-size:clamp(68px,23vw,120px)}.hero-copy{font-size:20px}.circle-link{display:none}.statement,.ads{padding-top:90px;padding-bottom:90px}.brands{padding-top:68px;padding-bottom:72px}.services{padding-bottom:100px}.work{padding-top:90px}.work-intro{margin-bottom:55px}.work-intro h2{font-size:clamp(66px,20vw,105px)}.project-top{flex-direction:column;gap:4px}.project-media{min-height:0;aspect-ratio:16/9}.project-copy h3{font-size:clamp(44px,14vw,70px)}.brands-head h2{font-size:clamp(50px,15vw,78px)}.brands-board{margin-left:calc(var(--pad)*-1);margin-right:calc(var(--pad)*-1)}.ads-grid{gap:7px}.principles{padding-top:90px;padding-bottom:90px}.contact-top span:last-child{display:none}.footer{grid-template-columns:1fr}.footer a{justify-self:start}.case-hero h1{font-size:clamp(74px,27vw,138px)}.case-cover{height:auto;aspect-ratio:16/9;margin:0 12px}.case-body{padding:80px 18px}.case-story{padding:70px 0}.case-story-row{padding:38px 0}.case-story-row h2{font-size:clamp(38px,13vw,62px)}.next-case strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.hero-title .line.reveal>span{opacity:1!important;transform:none!important}}

.ads-board{overflow:hidden;background:#ddd}.ads-board img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.7,.1,1)}.ads-board:hover img{transform:scale(1.012)}

.project-media img{object-fit:cover!important}
@media(max-width:900px){.project-media,.project-media.compact-media{aspect-ratio:16/9!important;min-height:0!important}}

@media(max-width:900px){
  .header-actions{gap:9px}
  .lang-switch{padding:6px 8px}
  .page-hero{padding-top:105px;padding-bottom:70px}
  .page-intro{grid-template-columns:1fr;gap:28px;margin-top:45px}
  .page-intro a{justify-self:start}
  .blog-card{grid-template-columns:1fr;gap:20px;padding:30px 0}
  .blog-read{justify-self:start}
  .article{padding-top:105px}
  .article-header{margin-bottom:60px}
  .project-form{grid-template-columns:1fr}
  .form-wide{grid-column:1}
  .form-submit{grid-template-columns:1fr;align-items:start}
}
@media(max-width:560px){
  .header-actions .header-cta{font-size:11px}
  .page-title{font-size:clamp(58px,18vw,96px)}
  .article-header h1{font-size:clamp(52px,16vw,90px)}
  .article-body h2{margin-top:52px}
}

@media(max-width:900px){
  .footer-global{grid-template-columns:1fr;gap:20px;align-items:start}
  .footer-global span{text-align:left}
  .footer-languages{justify-self:start;flex-wrap:wrap}
}


/* Cinematic growth hero responsive */
@media(max-width:900px){
  .growth-can-shell{display:none}
  .growth-water-button{display:grid}
  .growth-video{object-position:center center}
  .hero.growth-video-active{cursor:auto}
}
@media(max-width:560px){
  .growth-water-button{
    bottom:18px;
    width:76px;
    height:76px;
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce){
  .growth-game{display:none!important}
  .hero.growth-video-active{cursor:auto}
}



/* Mobile hero composition — viewport locked */
@media(max-width:900px){
  .hero.growth-video-active{
    height:100vh;
    min-height:100vh;
    padding-top:82px;
    padding-bottom:18px;
  }
  .hero.growth-video-active .hero-title-wrap{
    flex:none;
    margin-top:clamp(92px,12vh,112px);
  }
  .hero.growth-video-active .hero-title{
    margin:0;
  }
  .hero.growth-video-active .hero-bottom{
    margin-top:15px;
    align-items:flex-start;
  }
  .hero.growth-video-active .growth-water-button{
    top:212px;
    right:var(--pad);
    bottom:auto;
    left:auto;
    width:76px;
    height:76px;
    transform:none;
  }
  .hero.growth-video-active .growth-water-button.is-watering{
    transform:scale(.96);
  }
}
@media(max-width:560px){
  .hero.growth-video-active .growth-water-button{
    top:205px;
    right:18px;
    width:70px;
    height:70px;
  }
}


/* Prevent horizontal page drift on mobile Safari */
@media(max-width:900px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
  }
  body{
    position:relative;
  }
  main,
  .site-header,
  .hero,
  .statement,
  .services,
  .work,
  .principles,
  .brands,
  .ads,
  .contact,
  .footer{
    width:100%;
    max-width:100vw;
  }
  .hero,
  .work,
  .principles,
  .brands,
  .ads,
  .contact,
  .footer{
    overflow-x:hidden;
  }
}


/* Expanded footer mobile overrides */
@media(max-width:900px){
  .footer.footer-global span{display:inline}
  .footer.footer-global .footer-label{display:block}
  .footer.footer-global .footer-bottom>span{display:block}
}


/* Service/local landing pages */
@media(max-width:900px){
  .service-hero{padding-top:108px;padding-bottom:72px}
  .service-hero-title{font-size:clamp(64px,18vw,120px)}
  .service-hero-grid{grid-template-columns:1fr;gap:30px;margin-top:48px}
  .service-location{justify-self:start;text-align:left}
  .service-answer{padding-top:72px;padding-bottom:78px}
  .service-answer-copy{font-size:clamp(36px,10vw,68px)}
  .service-offer,.service-process,.service-proof,.service-facts,.service-related{padding-top:78px;padding-bottom:78px}
  .service-offer-grid,.answer-grid,.service-related-links{grid-template-columns:1fr}
  .service-offer-card,
  .service-offer-card:nth-child(odd),
  .service-offer-card:nth-child(even),
  .answer-card,
  .answer-card:nth-child(odd),
  .answer-card:nth-child(even),
  .service-related-links a,
  .service-related-links a:nth-child(odd),
  .service-related-links a:nth-child(even){
    padding-left:0;
    padding-right:0;
    border-right:0;
  }
  .service-offer-card{min-height:0;padding-top:24px;padding-bottom:42px}
  .service-offer-card h2{margin-top:45px}
  .service-process-grid{grid-template-columns:1fr 1fr}
  .service-process-grid article{min-height:260px}
  .service-process-grid article:nth-child(2){border-right:0}
  .service-process-grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.2)}
  .service-process-grid article:nth-child(3){padding-left:0}
  .service-proof-grid{grid-template-columns:1fr;gap:54px}
  .service-proof-list{justify-content:flex-start}
  .service-cta{min-height:68svh;padding-top:80px;padding-bottom:54px}
  .service-cta h2{font-size:clamp(62px,17vw,120px)}
}
@media(max-width:560px){
  .service-hero-title{font-size:clamp(58px,17vw,94px)}
  .service-hero-grid p{font-size:23px}
  .service-process-grid{grid-template-columns:1fr}
  .service-process-grid article,
  .service-process-grid article+article{
    min-height:0;
    padding:24px 0 38px;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.2);
  }
  .service-process-grid article:first-child{border-top:0}
  .service-process-grid h3{margin-top:42px}
  .service-proof-feature h2{font-size:clamp(34px,11vw,54px)}
  .answer-card h3{font-size:28px}
}
