/* Final wide-screen storytelling repair — 2026-08-31 */
.signal-story.motion-bg{overflow:clip}

@media (min-width:901px){
  .signal-story-track{min-height:275svh}
  .signal-story-sticky{padding:24px 0}
  .signal-story-shell{grid-template-columns:minmax(360px,.68fr) minmax(0,1.32fr);gap:clamp(36px,4vw,68px)}
  .signal-story-intro h2{max-width:7ch;font-size:clamp(66px,5vw,96px);line-height:.82;overflow-wrap:normal}
  .signal-story-media{min-height:min(58svh,620px)}
  .signal-story-scene:after{background:linear-gradient(0deg,rgba(2,2,3,.98),rgba(2,2,3,.72) 34%,transparent 76%),linear-gradient(90deg,rgba(2,2,3,.3),transparent 58%)}
  .signal-story-scene figcaption{left:22px;right:auto;bottom:22px;width:min(820px,calc(100% - 44px));padding:18px 20px;border-left:2px solid var(--red);background:linear-gradient(90deg,rgba(3,3,4,.86),rgba(3,3,4,.34) 78%,transparent)}
  .signal-story-scene figcaption strong{max-width:720px;font-size:clamp(34px,3.1vw,56px);line-height:.94;text-wrap:balance;text-shadow:0 3px 22px rgba(0,0,0,.9)}
  .signal-story-scene figcaption small{font-size:14px;line-height:1.45}
}

@media (min-width:901px) and (max-width:1350px){
  .signal-story-shell{grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:38px}
  .signal-story-intro h2{font-size:clamp(60px,5.5vw,78px)}
}

/* Red Cube responsive QA pass 2026-09-03 */
html,body{max-width:100%;overflow-x:clip}
.hero-copy,.stage,.cube-frame,.section-head,.routes,.service-grid,.signal-story-shell,.signal-story-intro,.signal-story-console,.signal-story-media,.proof-grid,.quote-layout,.form,.fields,.field,.contact-card,.footer-top{min-width:0;max-width:100%}
.signal-story.motion-bg{overflow:visible}

@media(min-width:901px){
  .signal-story-track{min-height:235svh}
  .signal-story-sticky{overflow:visible}
  .signal-story-shell{grid-template-columns:minmax(430px,.72fr) minmax(0,1.28fr);gap:clamp(38px,4vw,64px)}
  .signal-story-intro h2{max-width:none;font-size:clamp(64px,4.7vw,88px);line-height:.86}
  .signal-story-console{width:100%}
  .signal-story-scene figcaption{max-width:calc(100% - 44px)}
  .signal-story-scene figcaption strong{max-width:760px;font-size:clamp(32px,2.8vw,52px)}
}

@media(min-width:901px) and (max-width:1220px){
  .signal-story-shell{grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);gap:34px}
  .signal-story-intro h2{font-size:clamp(58px,5.8vw,74px)}
}

@media(max-width:900px){
  .wrap{width:min(calc(100% - 30px),760px)}
  .hero .wrap{grid-template-columns:minmax(0,1fr);gap:10px;padding:52px 0 18px}
  .hero-copy{width:100%}
  .stage{width:100%;min-height:380px}
  .cube-frame{position:absolute;inset:0;min-height:100%}
  .cube-frame canvas{display:block!important;width:100%!important;height:100%!important;opacity:1!important}
  .cube-fallback{inset:16% 13%;font-size:clamp(64px,22vw,100px);background:linear-gradient(145deg,rgba(242,5,24,.1),transparent 58%)}
  .signal-story{padding:76px 0;overflow:clip}
  .signal-story-track{min-height:auto!important}
  .signal-story-sticky{position:static!important;min-height:0!important;padding:0}
  .signal-story-shell{grid-template-columns:minmax(0,1fr);gap:30px}
  .signal-story-intro h2{max-width:100%;font-size:clamp(58px,14vw,82px);overflow-wrap:normal}
  .signal-story-media{width:100%;min-height:0;height:auto;aspect-ratio:4/5}
  .signal-story-scene figcaption{left:18px;right:18px;bottom:18px;width:auto;max-width:none;padding:16px;background:linear-gradient(90deg,rgba(3,3,4,.9),rgba(3,3,4,.45))}
  .signal-story-scene figcaption strong{max-width:100%;font-size:clamp(34px,10vw,48px);line-height:.92}
  .signal-story-scene figcaption small{max-width:100%;font-size:12px}
  .signal-story-controls{display:grid;grid-auto-flow:column;grid-auto-columns:calc(50% - 5px);grid-template-columns:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}
  .signal-story-tab{width:100%;min-width:0;min-height:68px;scroll-snap-align:start}
  .fields{grid-template-columns:minmax(0,1fr);gap:14px}
  .field,.field.full{grid-column:1;width:100%;min-width:0}
  .field input,.field select,.field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:54px;min-height:54px;padding:13px 14px}
  .field textarea{height:auto;min-height:120px;resize:vertical}
  .checks{grid-template-columns:minmax(0,1fr);gap:9px}
  .check,.check label{width:100%;min-width:0}
  .check label{display:flex;align-items:center;min-height:50px}
  .form .btn{width:100%;min-height:52px;white-space:normal;text-align:center}
  .contact-actions,.contact-actions .btn{width:100%}
}

@media(max-width:600px){
  .nav{height:72px}
  .brand,.brand img{width:158px;height:48px}
  .navlinks{left:15px;right:15px;top:82px;max-height:calc(100svh - 96px);overflow-y:auto}
  .hero .wrap{padding:42px 0 14px}
  .hero h1{max-width:100%;font-size:clamp(50px,14.6vw,59px);line-height:.88;overflow-wrap:normal}
  .lead{margin:22px 0 24px}
  .actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .actions .btn{width:100%;white-space:normal;text-align:center}
  .stage{min-height:340px}
  .cue{max-width:52%;white-space:normal;line-height:1.4}
  .cue.one{right:0;top:8%}.cue.two{left:0;bottom:8%}
  section{padding:72px 0}
  .section-head h2{max-width:100%;font-size:clamp(46px,13vw,58px);overflow-wrap:normal}
  .route{min-height:320px;padding:24px}
  .service,.service.wide{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:24px 0}
  .service-icon{width:54px}
  .service h3{font-size:32px}
  .signal-story{padding:72px 0}
  .signal-story-media{aspect-ratio:3/4}
  .signal-story-controls{grid-auto-columns:calc(50% - 5px)}
  .reel{min-height:440px}
  .reel h2{max-width:100%;font-size:clamp(52px,15vw,66px);overflow-wrap:normal}
  .showcase{min-height:390px}
  .showcase-copy h3{font-size:38px}
  .quote{padding-top:72px}
  .quote h2{font-size:clamp(56px,16vw,76px)}
  .form{width:100%;padding:18px}
  .contact-card{padding:24px}
  .footer{padding:54px 0 82px}
  .footer-logo img{width:min(240px,100%);height:auto}
  .footer-links{grid-template-columns:1fr}
}
/* iOS Safari form containment + mobile header release 2026-09-04 */
@media(max-width:900px){
  .header{position:relative!important;top:auto!important}
  .form,.fields,.field{min-inline-size:0;max-inline-size:100%;overflow-x:clip}
  .field input[type="date"]{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;inline-size:-webkit-fill-available!important;width:-webkit-fill-available!important;min-inline-size:0!important;min-width:0!important;max-inline-size:100%!important;max-width:100%!important;overflow:hidden;font-size:16px}
  .field input[type="date"]::-webkit-date-and-time-value{width:100%;min-width:0;text-align:left}
  .field input[type="date"]::-webkit-calendar-picker-indicator{margin:0;flex:0 0 auto}
}