/* Real Sound — final cross-site polish */
:root{
  --rs-gutter:clamp(16px,3vw,42px);
  --rs-section:clamp(72px,8vw,126px);
  --rs-radius:clamp(18px,2vw,28px);
  --rs-header-h:78px;
  --rs-ease:cubic-bezier(.22,1,.36,1);
  --rs-shadow:0 22px 70px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--rs-header-h) + 18px);text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;min-width:320px}
body.nav-open{overflow:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,svg{max-width:100%;height:auto}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
[id]{scroll-margin-top:calc(var(--rs-header-h) + 18px)}
.container{width:min(100% - (var(--rs-gutter) * 2),1400px)!important;margin-inline:auto!important}
.section{padding-block:var(--rs-section)!important}
.section-head{gap:28px;margin-bottom:clamp(30px,4vw,58px)!important}
.section-head h2,.section-copy h2,.inner-hero h1,.hero h1,.agency-copy h2,.faq-intro h2{text-wrap:balance}
p,.lead,.sublead{overflow-wrap:anywhere}

/* Header */
.header,.site-header{transition:background-color .35s var(--rs-ease),border-color .35s var(--rs-ease),box-shadow .35s var(--rs-ease),transform .35s var(--rs-ease);isolation:isolate}
.header.rs-scrolled,.site-header.rs-scrolled{background:rgba(5,6,7,.92)!important;border-color:rgba(255,255,255,.1)!important;box-shadow:0 12px 44px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.header-inner,.header-row{min-height:var(--rs-header-h);gap:clamp(14px,2vw,30px)!important}
.logo img{display:block;object-fit:contain}
.nav a{position:relative;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;border-radius:99px;background:var(--gold,#f6bd13);transition:right .3s var(--rs-ease)}
.nav a:hover::after,.nav a.is-active::after{right:0}
.phone-pill,.wa-pill,.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.burger{width:48px!important;height:48px!important;border-radius:15px!important;flex:0 0 48px;position:relative;z-index:1002}
.burger span{transition:transform .3s var(--rs-ease),opacity .2s ease}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Buttons, cards and controls */
.btn,.phone-pill,.wa-pill,.inner-card,.card-link,.image-card,.service-card,.package-card,.project-card,.info-card,.promo-box,.risk-cards article,.timeline-card{transition:transform .35s var(--rs-ease),border-color .35s ease,box-shadow .35s ease,background-color .35s ease,filter .35s ease}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(246,189,19,.78)!important;outline-offset:4px!important}
input,select,textarea{font-size:16px!important}
textarea{resize:vertical}
.card-content,.content,.package-body,.project-card__body{z-index:2}
.details,details{scroll-margin-top:calc(var(--rs-header-h) + 20px)}
details summary{cursor:pointer;min-height:56px;display:flex;align-items:center}

/* Grid rhythm */
.card-grid,.service-grid,.packages-grid,.project-grid,.projects-grid,.process-grid,.inner-grid,.risk-cards{gap:clamp(14px,1.8vw,24px)!important}
.image-card,.service-card,.package-card,.project-card,.info-card,.inner-card,.timeline-card,.promo-box,.risk-cards article{border-radius:var(--rs-radius)!important}
.package-body,.project-card__body,.service-card .content,.image-card .content{padding-left:clamp(20px,2.2vw,34px)!important;padding-right:clamp(20px,2.2vw,34px)!important}

/* Forms */
.calc-form,.modal-card{box-shadow:var(--rs-shadow)}
.calc-field input,.calc-field select,.calc-field textarea,.modal input,.modal textarea{min-height:54px}
.calc-submit{width:100%}
.calc-upload{min-height:92px}

/* Animation: enabled only after JS initializes */
.rs-motion-ready .rs-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .7s var(--rs-ease),transform .7s var(--rs-ease);transition-delay:var(--rs-delay,0ms);will-change:opacity,transform}
.rs-motion-ready .rs-reveal.rs-visible{opacity:1;transform:none;will-change:auto}

/* Desktop hover only */
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 14px 34px rgba(246,189,19,.14)}
  .card-link:hover,.image-card:hover,.service-card:hover,.package-card:hover,.project-card:hover,.inner-card:hover{transform:translateY(-7px);border-color:rgba(246,189,19,.42)!important;box-shadow:0 24px 52px rgba(0,0,0,.3)}
}

/* Tablet */
@media (max-width:1100px){
  :root{--rs-header-h:72px;--rs-section:clamp(64px,9vw,96px)}
  .header-actions{gap:8px!important}
  .phone-pill{display:none!important}
  .hero-grid,.hero-inner,.split-grid,.risk-grid,.faq-grid,.calc-layout{gap:clamp(28px,5vw,54px)!important}
  .card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile navigation and layout */
@media (max-width:960px){
  :root{--rs-header-h:68px;--rs-gutter:clamp(15px,4.5vw,24px)}
  .header,.site-header{height:auto!important}
  .header-inner,.header-row{min-height:var(--rs-header-h)!important;padding-block:8px!important}
  .logo{position:relative;z-index:1002}
  .logo img{max-height:42px!important;max-width:210px!important}
  .header-actions .wa-pill,.header-actions>.btn:not(.burger){display:none!important}
  .burger{display:inline-flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px}
  .nav{position:fixed!important;inset:0!important;z-index:1001!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;padding:calc(var(--rs-header-h) + 34px) var(--rs-gutter) calc(36px + env(safe-area-inset-bottom))!important;background:rgba(5,6,7,.985)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translateY(-14px);pointer-events:none;transition:opacity .28s ease,visibility .28s ease,transform .38s var(--rs-ease)!important}
  .nav.open{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .nav a{display:block!important;width:100%;padding:15px 0!important;border-bottom:1px solid rgba(255,255,255,.1);font-size:clamp(22px,6vw,34px)!important;line-height:1.1!important;text-transform:uppercase;font-weight:800}
  .nav a::after{display:none}
  .hero,.concert-hero,.corporate-hero{min-height:auto!important}
  .hero-grid,.hero-inner,.split-grid,.risk-grid,.faq-grid,.calc-layout,.dual-promo{grid-template-columns:1fr!important}
  .hero-grid,.hero-inner{padding-top:calc(var(--rs-header-h) + 42px)!important;padding-bottom:56px!important}
  .hero-copy,.hero-content{max-width:760px!important}
  .hero-panel,.hero-aside{margin-top:8px}
  .card-grid-4,.service-grid,.projects-grid,.project-grid,.process-grid,.risk-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .packages-grid{grid-template-columns:1fr!important;max-width:720px;margin-inline:auto}
  .agency-strip{min-height:520px!important}
  .agency-copy{padding-block:64px!important;max-width:680px!important}
  .agency-strip::before{background:linear-gradient(90deg,rgba(5,6,7,.96) 0%,rgba(5,6,7,.78) 65%,rgba(5,6,7,.4) 100%)!important}
  .concert-agency-bg{background-position:68% center!important}
  .inner-hero{padding-top:calc(var(--rs-header-h) + 56px)!important;padding-bottom:56px!important}
  .inner-grid{padding-block:52px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid{gap:34px!important}
}

@media (max-width:640px){
  :root{--rs-section:64px;--rs-radius:20px}
  .section{padding-block:var(--rs-section)!important}
  .section-head{align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
  h1{font-size:clamp(38px,12vw,62px)!important;line-height:.92!important}
  h2{font-size:clamp(32px,9vw,48px)!important;line-height:.98!important}
  h3{overflow-wrap:anywhere}
  .lead{font-size:clamp(18px,5vw,22px)!important}
  .sublead{font-size:16px!important}
  .hero-buttons,.hero-actions,.agency-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .hero-buttons .btn,.hero-actions .btn,.agency-actions .btn{width:100%!important}
  .trust-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .trust-pill{min-width:0!important;text-align:center}
  .card-grid,.card-grid-4,.service-grid,.projects-grid,.project-grid,.process-grid,.risk-cards,.inner-grid{grid-template-columns:1fr!important}
  .image-card,.service-card{min-height:360px!important}
  .package-card{min-height:0!important}
  .package-photo{min-height:230px!important}
  .project-card{min-height:390px!important}
  .timeline{padding-left:0!important}
  .timeline-step{grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important}
  .timeline-card{padding:20px!important}
  .risk-side{min-height:560px!important}
  .promo-box{min-height:420px!important}
  .agency-strip{min-height:600px!important}
  .agency-copy{padding-block:58px!important}
  .agency-copy p{font-size:16px!important}
  .concert-agency-bg{background-position:72% center!important}
  .calc-fields{grid-template-columns:1fr!important}
  .calc-field-wide{grid-column:auto!important}
  .calc-form{padding:22px!important}
  .calc-benefits,.calc-quicklinks{grid-template-columns:1fr!important}
  .inner-card{min-height:0!important;padding:24px!important}
  .inner-hero p{font-size:17px!important}
  .mobile-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
  body:has(.mobile-bar){padding-bottom:calc(66px + env(safe-area-inset-bottom))}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rs-motion-ready .rs-reveal{opacity:1!important;transform:none!important}
}
