/* Local revision — same Vikanys palette and Montserrat identity. */
:root{--reading-muted:#525b58;--focus:#176387}
::selection{color:#172123;background:#cfe4e8}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.v-hero a:focus-visible,.page-hero.with-image a:focus-visible,.media-controls button:focus-visible,.final-cta a:focus-visible{outline-color:#fff}
.solution-index a{color:#525b58}
.solution-index a.active{color:var(--ink)}
.solution-visual{--art-muted:#52655b}
.solution-visual.visual-1,.solution-visual.visual-4{--art-muted:#bac6bf}
.ms-note,.ms-step{color:var(--art-muted);font-size:14px}
.ms-heading{font-size:14px}
.ms-step{padding-inline:10px;white-space:normal;text-align:center;min-height:44px}
.ms-step-number{font-size:12px;opacity:1}
.ms-index{font-size:12px}
.solution-visual.motion-story{height:460px}
.ms-footer{gap:8px}
.eyebrow,.metric-note,.client-note,.reference-note,.diagram-caption,.scene-meta,.footer-bottom,.footer-languages{font-size:14px}
.metric-note,.client-note,.reference-note{color:var(--reading-muted);line-height:1.6}
.eyebrow{letter-spacing:.1em}
.v-hero-copy .eyebrow{color:#fff}
.v-hero-lede,.page-hero.with-image>div:first-child>p:not(.eyebrow){color:#fff;line-height:1.6}
.v-hero h1{font-size:clamp(2.5rem,4.5vw,4.75rem);line-height:1.12;letter-spacing:-.03em}
.v-hero-lede{max-width:52ch}
h2{line-height:1.18}h3,h4{line-height:1.26}
p,li{line-height:1.65}
.footer-column a,.footer-languages a,.cookie-consent p,.cookie-policy,.cookie-btn,.final-secondary{font-size:14px}
.footer-column a{min-height:36px;display:flex;align-items:center}
.footer-bottom{align-items:center;gap:12px 20px;flex-wrap:wrap}
.footer-bottom span{line-height:1.6}
.footer-languages a,.cookie-prefs{min-height:44px;display:inline-flex;align-items:center}
.cookie-consent-actions{gap:10px}.cookie-btn{min-height:44px}
.media-controls{flex-wrap:wrap;gap:10px 20px}
.scene-label{opacity:1}
.scene-buttons{display:none!important}
.motion-paused .ms-travel,.motion-paused .phase-visual *,.motion-paused .art-ring,.motion-paused .art-stream,.motion-paused .art-token{animation-play-state:paused!important}
.motion-paused .reveal,.motion-paused .reveal-ready .reveal{opacity:1;transform:none}
.meeting-note,.evidence-note{font-size:14px;line-height:1.65;color:var(--reading-muted);max-width:72ch}
.contact-expectation{grid-column:1/-1;padding:0 0 24px;border-bottom:1px solid var(--line)}
.evidence-note{margin-top:24px}
.compact-process,.compact-faq{max-width:1000px}
.compact-process h2,.compact-faq h2{font-size:clamp(28px,3vw,44px);max-width:20ch}
.compact-process p{max-width:65ch;margin:24px 0;font-size:18px}
.compact-faq .text-link{margin-top:24px}
.legal-copy{max-width:860px;margin-inline:auto}
.legal-copy p,.legal-copy li{line-height:1.7}
.legal-copy li+li{margin-top:12px}
.legal-page .page-hero{min-height:0;height:auto;padding-block:72px;margin-bottom:0}
.legal-page .page-hero h1{font-size:clamp(36px,4.5vw,64px)}
.legal-page .legal-context{padding:24px;background:var(--soft);border-radius:12px;font-size:16px}
.contact-page .page-hero.with-image{min-height:500px;height:auto;padding-block:100px}
body:not(.reveal-ready) .reveal{opacity:1}
@media(max-width:1000px){.solution-visual.motion-story{height:440px}}
@media(max-width:600px){
 .eyebrow{font-size:12px!important;letter-spacing:.08em}
 .v-hero h1{font-size:clamp(32px,8.2vw,44px);line-height:1.15;letter-spacing:-.025em}
 .v-hero-copy{padding-bottom:136px}
 .v-hero-lede{font-size:16px;max-width:33ch}
 .scene-meta{font-size:12px}.media-controls{gap:8px}
 .solution-visual.motion-story{height:430px;padding:18px 16px}
 .ms-heading{font-size:14px;gap:10px}
 .ms-thesis{font-size:20px;line-height:1.35}
 .ms-step,.ms-note{font-size:14px}
 .ms-label{font-size:18px}
 .ms-step-number{display:none}
 .metric-note,.client-note,.diagram-caption{font-size:14px}
 .footer-columns{gap:28px 16px}
 .footer-column a{font-size:14px;min-height:44px;overflow-wrap:anywhere}
 .footer-bottom,.footer-languages{font-size:14px}
 .footer-languages{gap:20px;flex-wrap:wrap}
 .cookie-consent p{font-size:14px}
 .language-trigger,.mobile-trigger,.carousel-controls button{min-width:44px;min-height:44px}
 .solution-index a{min-height:44px;font-size:14px;display:inline-flex;align-items:center}
 .solution-index a.active{color:#fff}
 .legal-page .page-hero{padding-block:44px}
 .contact-page .page-hero.with-image{min-height:0;padding-block:64px}
 .contact-options{gap:28px}
 .compact-process p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .media-slide,.media-slide video{transition:opacity 120ms linear}
 .reveal,.reveal-ready .reveal{opacity:1!important;transform:none!important;transition:opacity 120ms linear}
 .motion-story .ms-travel{display:none}
 .phase-visual *,.art-ring,.art-stream{animation:none!important}
}
@media(forced-colors:active){button,a,summary{forced-color-adjust:auto}}

.final-cta .meeting-note{width:100%;text-align:center;align-self:center;color:#e0e8e6;max-width:60ch;margin:24px auto 0!important;font-size:14px!important;line-height:1.65!important}

html.motion-paused.reveal-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:600px){.solution-index a.active{color:#172123;background:transparent;font-weight:600;text-decoration:underline;text-underline-offset:6px}}

.footer-languages small,.scene-meta{opacity:1}


