/* Responsive finish shared by all seven pages. */
html,body{max-width:100%;overflow-x:clip}
img,video,iframe{max-width:100%}
@media(max-width:900px){
 .section,.section--tight{padding-left:24px;padding-right:24px}
 .intro-grid,.story-grid,.contact-grid,.svc-row,.about-grid{grid-template-columns:minmax(0,1fr)}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .svc-row,.service-card,.svc-body,.hero-copy,.col-card{min-width:0;max-width:100%}
 .float-social{display:none!important}
}
@media(max-width:600px){
 :root{--gutter:20px}
 .section,.section--tight{padding:58px 20px}
 .services-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .service-card{width:100%;margin:0;transform:none!important;border-radius:8px}
 .service-card__media{height:auto!important;aspect-ratio:4/3;width:100%;margin:0;border-radius:0;border:0;border-bottom:1px solid rgba(212,175,55,.3)}
 .service-card__media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transform:none!important}
 .service-card__body{padding:22px 20px 26px;transform:none!important}
 .service-card__body h3{font-size:25px;line-height:1.2;margin-bottom:12px}
 .service-card__body p{font-size:15px;line-height:1.7}
 .svc-row{gap:24px;margin-bottom:48px}
 .svc-media{height:auto!important;aspect-ratio:4/3;width:100%;order:0!important}
 .svc-body{order:1!important}
 .svc-media img{width:100%;height:100%;transform:none!important}
 .service-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .service-reference-grid img{width:100%;height:auto;aspect-ratio:1/1}
 .col-grid,.collections-grid,.value-grid,.process-grid{grid-template-columns:minmax(0,1fr)}
 .footer-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .footer-bottom{flex-wrap:wrap;gap:16px}
 .intro-media{margin-bottom:20px}
 .intro-media .img-float{max-width:45%;right:0}
 .header-inner{gap:12px;padding:0 16px}
 .header-actions{gap:10px}
 .header-actions>.btn{display:none}
 .brand{min-width:0}
 .brand-logo-img{width:150px;max-width:45vw}
 .page-hero{min-height:420px;padding:130px 20px 48px}
 .page-hero h1{font-size:38px;line-height:1.12;overflow-wrap:break-word}
 .display-2{font-size:32px;line-height:1.15}
 .lead{font-size:16px;line-height:1.7}
 .field input,.field select,.field textarea{font-size:16px}
 .form-row{grid-template-columns:minmax(0,1fr)}
 .filter-bar{gap:8px;flex-wrap:wrap}
 .gal-item{max-width:100%}
 .float-wa{width:44px;height:44px;right:10px;bottom:12px;box-shadow:0 3px 14px rgba(0,0,0,.25)}
 .float-wa svg{width:22px;height:22px}
 #hero-stage{min-height:0!important;padding:calc(var(--header-h) + 28px) 20px 36px!important}
 #hero-stage .hero-content{grid-template-columns:minmax(0,1fr)!important;gap:14px}
 #hero-stage .hero-copy h1{font-size:40px;line-height:1.1}
 #hero-stage .hero-visual{height:420px;width:100%;margin:0}
 #hero-stage .hero-fallback.show{inset:0;width:100%;height:100%;padding:0}
 #hero-stage .hero-actions .btn{width:100%}
 .cinema-aura{width:700px;height:480px;right:-480px;filter:blur(18px)}
 .cinema-beam{inset:-10%;filter:blur(14px)}
}
@media(max-width:360px){.section{padding-left:16px;padding-right:16px}#hero-stage .hero-copy h1{font-size:35px}.service-reference-grid{grid-template-columns:1fr}}

/* Slightly smaller hero trophy on every screen size. */
#hero-stage .hero-fallback.show img{width:88%;height:88%;max-width:none;justify-self:center;align-self:center}
@media(max-width:600px){#hero-stage .hero-fallback.show img{width:86%;height:86%}}

/* Client review: a composed product stage with mobile actions below the award. */
#hero-stage .hero-visual::before{content:"";position:absolute;left:12%;right:12%;bottom:4%;height:17%;border-radius:50%;background:radial-gradient(ellipse,rgba(220,180,80,.25),rgba(100,80,25,.06) 55%,transparent 72%);transform:rotateX(65deg);pointer-events:none}
#hero-stage .hero-visual::after{content:"";position:absolute;inset:8% 2%;border:1px solid rgba(211,175,81,.14);border-radius:50%;transform:rotate(-28deg);pointer-events:none;z-index:0}
#hero-stage .hero-frame{display:none}
#hero-stage .hero-fallback.show img{filter:drop-shadow(0 28px 24px rgba(0,0,0,.65)) drop-shadow(0 0 28px rgba(205,170,70,.12))}
#hero-stage .hero-copy h1 .gold-text{background:linear-gradient(110deg,#ae8531,#fff1b3 45%,#d7b452 75%);background-clip:text;-webkit-background-clip:text;color:transparent}
@media(max-width:600px){
 #hero-stage{padding-top:calc(var(--header-h) + 24px)!important;padding-bottom:34px!important}
 #hero-stage .hero-content{display:flex!important;flex-direction:column;gap:15px!important}
 #hero-stage .hero-copy{display:contents}
 #hero-stage .hero-copy .eyebrow{order:0;font-size:9px;text-align:center;margin:0}
 #hero-stage .hero-copy h1{order:1;text-align:center;font-size:35px;line-height:1.12;margin:0 auto;max-width:350px}
 #hero-stage .hero-copy .lead{order:2;text-align:center;font-size:14px;line-height:1.6;max-width:350px}
 #hero-stage .hero-tags{display:none}
 #hero-stage .hero-visual{order:3;height:330px!important;max-width:390px;margin:0 auto!important}
 #hero-stage .hero-actions{order:4;width:100%;max-width:390px;display:grid;gap:10px}
 #hero-stage .hero-actions .btn{min-height:48px;padding:14px;font-size:11px}
 #hero-stage .hero-fallback.show img{width:86%;height:86%}
}
@media(prefers-reduced-motion:reduce){.cinema-aura,.cinema-beam{animation:none!important}}
