/* Responsive bindings for the existing static pages; 320px is the smallest target. */
:root{
 --raw-space-mobile-gutter:clamp(16px,5vw,28px);--raw-type-mobile-title:clamp(28px,7.4vw,48px);--raw-type-mobile-section:clamp(26px,6.6vw,42px);--raw-type-mobile-body:16px;--raw-type-reading-width:60ch;--raw-leading-mobile-title:1.16;--raw-space-mobile-gap:16px;--raw-size-touch:44px;
 --compact-gutter:var(--raw-space-mobile-gutter);--compact-title:var(--raw-type-mobile-title);--compact-heading:var(--raw-type-mobile-section);--compact-body:var(--raw-type-mobile-body);--reading-measure:var(--raw-type-reading-width);--compact-leading:var(--raw-leading-mobile-title);--compact-gap:var(--raw-space-mobile-gap);--control-minimum:var(--raw-size-touch);
 --spacing-responsive-gutter:var(--compact-gutter);--text-responsive-title:var(--compact-title);--text-responsive-heading:var(--compact-heading);--text-responsive-body:var(--compact-body);--width-responsive-copy:var(--reading-measure);--leading-responsive-title:var(--compact-leading);--spacing-responsive-gap:var(--compact-gap);--size-responsive-control:var(--control-minimum);
}
/* Wrapping addresses content, rather than concealing it with overflow-x:hidden. */
:where(h1,h2,h3,p,address,label,summary,button,a){overflow-wrap:break-word}
:where(h1,h2,h3){text-wrap:balance}
:where(p,address){text-wrap:pretty}
:where(input,select,textarea){min-width:0;max-width:100%}
:where(.form-grid,.form-grid>*,.stat-col,.particle-copy,.scene-copy){min-width:0}
@media(max-width:1023px){
 body:not(.static-flow) .hero-line{white-space:normal}
 body:not(.static-flow) .glass-gradient-wrapper{width:94%;height:90%}
 body:not(.static-flow) .gradient-content{padding:var(--spacing-responsive-gutter)}
 body:not(.static-flow) .gc-top-left{white-space:normal;font-size:var(--text-responsive-heading)}
 body:not(.static-flow) .stat-col{padding:0!important;border:0}
 .stat-desc,.stat-desc span{overflow-wrap:anywhere}
 .clarix-footer address,.clarix-footer p,footer address{white-space:normal;overflow-wrap:anywhere}
 .ne-caption{right:var(--spacing-responsive-gutter);line-height:var(--leading-responsive-title)}
 .ne-word{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .ne-nav{width:94%;justify-content:center;flex-wrap:wrap}
 .ne-nav button{min-height:var(--size-responsive-control);padding-inline:1.5vw}
 .ne-intro h2{font-size:var(--text-responsive-title);line-height:var(--leading-responsive-title)}
 #complete-site .section-head,.particle-copy{max-width:100%}
 #complete-site h2{overflow-wrap:break-word}
 .cascade-enabled .service-card{max-width:90vw}
 .cascade-enabled .chapter-label{white-space:normal;line-height:1.5;overflow-wrap:anywhere}
 .cascade-enabled .service-card>p,.cascade-enabled .service-card details{flex-shrink:0}
 .journey-label{flex-wrap:wrap;line-height:1.5}
 .journey-label span{max-width:none!important;text-align:left}
 .story .scene-copy h3{font-size:var(--text-responsive-title);line-height:var(--leading-responsive-title)}
 .story .scene-copy{max-width:100%}
 .story-steps{flex-wrap:wrap;max-width:100%;gap:var(--spacing-responsive-gap)}
 .story-steps button{white-space:normal}
}
@media(max-width:699px){
 .hero-copy h1,.influence-hero h1,.detail h1{font-size:var(--text-responsive-title);line-height:var(--leading-responsive-title)}
 .intro h2,.closing h2,.gallery-heading h2,.section h2{font-size:var(--text-responsive-heading);line-height:var(--leading-responsive-title)}
 .hero-copy,.scene-copy,.intro-bottom p,.section-lead{max-width:100%}
 .hero-description,.intro-bottom p,.scene-copy p{font-size:var(--text-responsive-body)}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .form-grid input,.form-grid select,.form-grid textarea{font-size:var(--text-responsive-body)}
 .form-submit{gap:var(--spacing-responsive-gap)}
 .form-submit p{max-width:100%}
 .button,.primary-button,.back-link{max-width:100%;white-space:normal;text-align:center}
 footer,.footer-top,.footer-bottom{gap:var(--spacing-responsive-gap);flex-wrap:wrap}
 .studio-offers{grid-template-columns:minmax(0,1fr)}
 .site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-responsive-gap)}
 .site-header .nav-inner{gap:var(--spacing-responsive-gap)}
 .ne-wave{padding-top:12dvh;gap:var(--spacing-responsive-gap)}
 .ne-wave h2,.ne-galaxy h2{font-size:var(--text-responsive-heading)}
 .ne-copy{line-height:1.5;max-width:var(--width-responsive-copy)}
 .ne-stage{min-height:0}
 .ne-galaxy{padding-top:12dvh;padding-bottom:18dvh}
 .ne-card{top:45%;max-height:42dvh;overflow:auto}
}
@media(max-height:600px) and (orientation:landscape){
 body:not(.static-flow) .hero-title{top:20dvh;width:50%;font-size:var(--text-responsive-heading)}
 body:not(.static-flow) .hero-info-block{top:43dvh;width:52%}
 body:not(.static-flow) .hero-clients{top:80dvh;height:20dvh}
 body:not(.static-flow) .hero-clients .partner-logo{height:var(--size-responsive-control)}
 .ne-wave{grid-template-columns:1fr 1fr;padding-top:15dvh;align-content:center}
 .ne-card{top:25%;max-height:55dvh;width:44%}
 .ne-copy{font-size:.85rem}
}
/* The Influence title/navigation banner stays transparent, including its compact state. */
body:has(.official-influence) .site-header,
body:has(.official-influence) .site-header.compact{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0}
@media(max-width:1023px){
 .scroll-title-container h3{white-space:normal;font-size:var(--text-responsive-heading);overflow-wrap:anywhere}
 .scroll-title-container{padding-inline:var(--spacing-responsive-gutter)}
 .footer-address>span{white-space:normal}
 .footer-main .footer-address{overflow:visible}
}
/* Explicit opt-in remains available when the system requests less motion or WebGL failed. */
.motion-retry{position:fixed;bottom:var(--spacing-responsive-gap);left:var(--spacing-responsive-gutter);z-index:100;display:inline-flex;align-items:center;min-height:var(--size-responsive-control);max-width:calc(100% - 2 * var(--spacing-responsive-gutter));padding-inline:var(--spacing-responsive-gap);border:1px solid currentColor;border-radius:2em;background:var(--color-surface);color:var(--color-text);font:inherit;text-decoration:none}
/* Readable journey controls, with two balanced rows on narrow phones. */
:root{--raw-type-journey-control:14px;--raw-space-journey-control:12px;--raw-space-journey-nav:6px;--journey-control-text:var(--raw-type-journey-control);--journey-control-padding:var(--raw-space-journey-control);--journey-control-gap:var(--raw-space-journey-nav);--text-journey-control:var(--journey-control-text);--spacing-journey-control:var(--journey-control-padding);--spacing-journey-nav:var(--journey-control-gap)}
.ne-nav{width:max-content;max-width:94%;flex-wrap:wrap;justify-content:center;gap:var(--spacing-journey-nav);padding:var(--spacing-journey-nav)}
.ne-nav button{font-size:var(--text-journey-control);min-height:var(--size-responsive-control);padding-inline:var(--spacing-journey-control);line-height:1.4}
.trust-more{text-align:center;margin-top:var(--spacing-responsive-gap);font-size:var(--text-responsive-body)}
@media(max-width:600px){.ne-nav button{flex:0 1 calc(33.333% - var(--spacing-journey-nav))}}

/* The final trust item uses the same card geometry as every partner. */
.trust li.trust-more{margin:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-responsive-body);}
