/* Shared editorial system. Viewer canvases keep their own controls and palette. */
:root { --experience-bg:#101216; --experience-fg:#f4f6f8; --experience-accent:#14d5cf; --experience-line:#343c46; }
.site-header { background:rgba(16,18,22,.97); border-bottom:1px solid #343c46; }
.site-header .nav-shell { gap:24px; min-height:82px; }
.site-header .brand { width:128px; min-width:128px; height:58px; }
.site-links { margin-left:auto; display:flex; align-items:center; gap:25px; }
.site-links a { color:#f4f6f8; font-size:13px; font-weight:650; text-decoration:none; }
.site-links a:hover,.site-links a[aria-current] { color:#14d5cf; }
.site-menu-button,.atlas-close { width:44px; height:44px; flex-shrink:0; display:grid; place-items:center; color:#f4f6f8; border:1px solid #687581; border-radius:50%; background:transparent; cursor:pointer; }
.site-menu-button:hover,.atlas-close:hover { background:#14d5cf; color:#101216; }
.site-menu-button[hidden] { display:none; }
.language-switch { color:#14d5cf; font-size:12px; text-decoration:none; min-width:30px; padding:12px 2px; text-align:center; margin-left:auto; }
.site-nojs-nav { color:#c8d0d8; font-size:12px; text-underline-offset:4px; }
.service-coverage { background:#161a20; color:#c8d0d8; padding:12px 0; font-size:12px; line-height:1.5; border-bottom:1px solid #343c46; }
.solution-explore[hidden] { display:none; }
.site-menu-button svg,.atlas-close svg { width:21px; height:21px; }
.site-progress { position:absolute; bottom:-1px; left:0; width:100%; height:2px; border:0; appearance:none; background:transparent; pointer-events:none; }
.site-progress::-webkit-progress-bar { background:transparent; }
.site-progress::-webkit-progress-value { background:#14d5cf; }
.site-progress::-moz-progress-bar { background:#14d5cf; }
.site-atlas { box-sizing:border-box; width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; background:#101216; color:#f4f6f8; overflow:auto; }
.site-atlas::backdrop { background:#101216; }
.atlas-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px; border-bottom:1px solid #343c46; }
.atlas-top p { margin:0; color:#14d5cf; font-size:13px; }
.atlas-title { font-size:48px; line-height:1.05; margin:34px 0 28px; color:#f4f6f8; }
.atlas-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding-bottom:42px; }
.atlas-grid section { min-width:0; }
.atlas-grid h3 { color:#14d5cf; font-size:15px; line-height:1.4; margin:0 0 20px; }
.atlas-grid a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #343c46; color:#f4f6f8; text-decoration:none; font-size:15px; line-height:1.45; }
.atlas-grid a:hover,.atlas-grid a:focus-visible { color:#14d5cf; border-color:#14d5cf; }
.atlas-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:24px 0 40px; border-top:1px solid #343c46; }
.atlas-bottom a { color:#f4f6f8; text-decoration:none; }
body.atlas-open { overflow:hidden; }
.experience-footer { background:#101216; color:#aeb8c2; padding:64px 0 24px; }
.experience-footer .footer-grid { grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.experience-footer h3 { font-size:13px; color:#14d5cf; }
.experience-footer a { color:#f4f6f8; }
.experience-footer .footer-bottom { border-color:#343c46; }
.experience-footer p { font-size:15px; max-width:390px; }
.experience-site .section-head h2 { font-size:38px; line-height:1.15; }
.experience-site .page-hero h1 { font-size:56px; line-height:1.08; }
.experience-site .page-hero .container { padding-block:70px 60px; }
.experience-site .page-hero { min-height:450px; }
.experience-site .service { border:0; border-top:1px solid #aeb8c2; border-radius:0; box-shadow:none; background:transparent; padding:26px 0; }
.experience-site .service-grid { gap:24px 44px; }
.experience-site .service h3 { font-size:26px; line-height:1.2; }
.experience-site .service > svg { color:#08747a; width:25px; height:25px; }
.experience-site .text-link { display:inline-flex; align-items:center; gap:10px; text-underline-offset:5px; }
.experience-site .section { padding-block:76px; }
.experience-site .mist { background:#f4f6f8; }
.experience-site .cta-band { background:#161a20; color:#f4f6f8; }
.experience-site .cta-band h2 { color:inherit; }
.experience-site .cta-band p { color:#c8d0d8; }
.experience-site .button { border-radius:3px; }
.experience-site :is(a,button,summary,input,select):focus-visible { outline:3px solid #687581; outline-offset:4px; }
.site-atlas :is(a,button):focus-visible { outline-color:#14d5cf; }
.solution-hero { position:relative; min-height:660px; height:calc(100svh - 140px); max-height:880px; overflow:hidden; background:#101216; color:#f4f6f8; }
.solution-hero > img,.solution-hero > canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.solution-poster { position:absolute; inset:0; width:100%; height:100%; }
.solution-poster img { width:100%; height:100%; object-fit:cover; }
.solution-hero > img { opacity:.78; }
.solution-hero > canvas[hidden] { display:none; }
.solution-hero-content { position:relative; z-index:2; padding-top:65px; pointer-events:none; }
.solution-hero-content h1 { color:#f4f6f8; font-size:62px; line-height:1.04; max-width:620px; }
.solution-hero-content h1 span { color:#14d5cf; }
.solution-hero-content p { max-width:500px; color:#c8d0d8; font-size:18px; }
.solution-hero-content .eyebrow { color:#14d5cf; font-size:12px; }
.solution-hero-content a { pointer-events:auto; }
.solution-explore { position:absolute; z-index:3; bottom:24px; right:32px; border:1px solid #14d5cf; border-radius:3px; padding:13px 18px; background:#101216; color:#f4f6f8; display:flex; align-items:center; gap:14px; cursor:pointer; font-size:14px; }
.solution-explore svg { width:20px; height:20px; }
.solution-status { position:absolute; z-index:3; bottom:78px; right:32px; max-width:280px; color:#f4f6f8; font-size:13px; }
.solution-hero.is-exploring .solution-hero-content { visibility:hidden; }
.solution-hero.is-exploring canvas { touch-action:none; }
.solution-route-nav { background:#101216; color:#f4f6f8; border-top:1px solid #343c46; }
.solution-route-nav .container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.solution-route-nav a { padding:24px 16px; text-decoration:none; color:#f4f6f8; border-right:1px solid #343c46; font-size:15px; }
.solution-route-nav a:first-child { padding-left:0; }
.solution-route-nav a span { display:block; color:#14d5cf; font-size:11px; margin-bottom:8px; }
.solution-route-nav a:hover { color:#14d5cf; }
.solution-chapter { padding:88px 0; scroll-margin-top:95px; border-bottom:1px solid #c8d0d8; }
.solution-chapter:nth-child(even) { background:#f4f6f8; }
.solution-chapter .container { display:grid; grid-template-columns:90px minmax(0,1fr) minmax(0,1fr); gap:36px; }
.solution-number { color:#08747a; font-size:16px; border-top:1px solid #aeb8c2; padding-top:14px; }
.solution-chapter h2 { font-size:38px; line-height:1.12; }
.solution-chapter p { font-size:18px; line-height:1.6; }
.solution-chapter ul { list-style:none; margin:0; padding:0; }
.solution-chapter li { border-bottom:1px solid #aeb8c2; }
.solution-chapter li a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; color:#161a20; font-size:18px; font-weight:650; text-decoration:none; }
.solution-chapter li svg { width:20px; height:20px; flex-shrink:0; }
.solution-chapter li a:hover { color:#08747a; }
.solution-sectors { background:#101216; color:#f4f6f8; padding:76px 0; }
.solution-sectors h2 { color:inherit; font-size:38px; }
.solution-sectors p { color:#aeb8c2; }
.solution-sectors nav { display:flex; flex-wrap:wrap; gap:12px 32px; margin-top:30px; }
.solution-sectors a { color:#14d5cf; text-underline-offset:6px; padding-block:8px; }
@media(min-width:901px) and (prefers-reduced-motion:no-preference) {
  .atlas-grid a { transition:color .18s,border-color .18s; }
  .site-atlas[open] .atlas-grid { animation:atlas-enter .25s ease-out; }
  @keyframes atlas-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
}
@media(max-width:1050px) { .site-links { gap:18px; } .site-links a { font-size:12px; } .atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .site-header .nav-shell { gap:10px; }
  .site-header .brand { width:110px; min-width:110px; }
  .site-links { gap:10px; }
  .site-links a { font-size:12px; }
  .site-links a:not(:first-child) { display:none; }
  .atlas-title { font-size:34px; }
  .atlas-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .atlas-grid h3 { margin-bottom:8px; }
  .atlas-grid a { min-height:44px; }
  .atlas-bottom { flex-direction:column; }
  .experience-footer .footer-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .experience-site .section { padding-block:48px; }
  .experience-site .section-head h2 { font-size:30px; }
  .experience-site .page-hero h1 { font-size:37px; }
  .experience-site .page-hero { min-height:0; }
  .experience-site .page-hero .container { padding-block:48px; }
  .experience-site .service h3 { font-size:24px; }
  .solution-hero { min-height:740px; height:calc(100svh - 132px); }
  .solution-hero-content { padding-top:38px; }
  .solution-hero-content h1 { font-size:42px; }
  .solution-hero-content p { font-size:17px; }
  .solution-hero > img { top:auto; bottom:78px; height:52%; object-fit:contain; object-position:center; opacity:1; }
  .solution-poster img { object-fit:cover; }
  .solution-explore { right:20px; bottom:22px; }
  .solution-route-nav .container { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solution-route-nav a { font-size:13px; padding:18px 12px; border-bottom:1px solid #343c46; }
  .solution-route-nav a:nth-child(odd) { padding-left:0; }
  .solution-chapter { padding:48px 0; }
  .solution-chapter .container { grid-template-columns:minmax(0,1fr); gap:20px; }
  .solution-chapter h2 { font-size:32px; }
  .solution-chapter p { font-size:17px; }
  .solution-chapter li a { font-size:16px; }
  .solution-sectors { padding:48px 0; }
  .solution-sectors h2 { font-size:30px; }
}
@media(max-width:380px) {
  .site-header:has(.cinema-sound) .site-links { display:none; }
}
.experience-context{padding:80px 0;background:#f4f6f8;color:#161a20;border-block:1px solid #c8d0d8}
.experience-context-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:start}
.experience-context .eyebrow{color:#343c46}
.experience-context h2{font-size:32px;line-height:1.17;margin:12px 0 24px;letter-spacing:0;overflow-wrap:anywhere}
.experience-context p{font-size:17px;line-height:1.75;color:#687581}
.experience-context ul{padding:0;margin:0;list-style:none}
.experience-context li{padding:16px 0;border-bottom:1px solid #c8d0d8;line-height:1.6;color:#343c46}
.experience-context nav{display:grid;gap:0;margin-top:28px}
.experience-context nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;color:#343c46;font-weight:650;text-decoration:underline;text-underline-offset:5px;line-height:1.5}
.experience-context nav svg{width:20px;height:20px;flex:0 0 20px}
.experience-context nav a:focus-visible{outline:3px solid #ac7524;outline-offset:5px}
.experience-context-inline{padding:44px 0 0;margin-top:40px;background:transparent;border-bottom:0}
@media(max-width:800px){.experience-context{padding:48px 0}.experience-context-inner{grid-template-columns:minmax(0,1fr);gap:24px}.experience-context h2{font-size:27px}.experience-context p{font-size:16px}.experience-context-inline{padding:32px 0 0}}
