/* MSAV Solutions page — component and responsive styles. */
:root { color-scheme:dark; --black:var(--msav-black,#050505); --black-2:#0a0a0a; --white:var(--msav-off-white,#f7f7f3); --paper:var(--msav-paper,#f7f6f2); --muted:rgba(255,255,255,.64); --line:rgba(255,255,255,.14); --red:var(--msav-red-bright,#dc1f2f); --lime:var(--msav-lime,#d6ff30); --page:var(--msav-page-wide,min(100% - 40px,1500px)); --ease:var(--msav-motion-ease,cubic-bezier(.16,1,.3,1)); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; overflow-x:hidden; background:var(--black); color:var(--white); font-family:"Inter",Arial,sans-serif; }
    body.menu-open { overflow:hidden; }
    img { display:block; width:100%; }
    a { color:inherit; }
    button { color:inherit; font:inherit; }
    main { width:100%; max-width:100%; overflow-x:hidden; }
    .container { width:var(--page); margin-inline:auto; }
    .sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
    :focus-visible { outline:2px solid var(--lime); outline-offset:4px; }

    /* Approved Services-page navigation */
    .liquid-glass { position:relative; overflow:hidden; background:rgba(255,255,255,.01); background-blend-mode:luminosity; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); box-shadow:inset 0 1px 1px rgba(255,255,255,.1); }
    .liquid-glass::before { position:absolute; inset:0; padding:1.4px; border-radius:inherit; background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.15) 20%,transparent 40%,transparent 60%,rgba(255,255,255,.15) 80%,rgba(255,255,255,.45)); content:""; pointer-events:none; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
    .nav { position:fixed; z-index:1000; inset:16px 0 auto; display:grid; grid-template-columns:132px 1fr 132px; align-items:center; padding:0 clamp(24px,4vw,64px); pointer-events:none; transform:translate3d(0,var(--msav-nav-scroll-shift,0),0); will-change:transform; }
    .nav > * { pointer-events:auto; }
    .nav .brand { display:grid; width:132px; height:55px; place-items:center; padding:0; text-decoration:none; }
    .nav .brand img { width:100%; height:100%; object-fit:contain; }
    .menu { display:flex; align-items:center; justify-self:center; gap:2px; padding:5px; overflow:visible; border:.65px solid rgba(255,255,255,.34); border-radius:999px; background:linear-gradient(120deg,rgba(255,255,255,.22),rgba(255,255,255,.055) 42%,rgba(255,255,255,.14)); box-shadow:0 12px 35px rgba(0,0,0,.24),inset 0 .65px .75px rgba(255,255,255,.54),inset 0 -.65px 1px rgba(0,0,0,.16); backdrop-filter:blur(26px) saturate(180%) brightness(1.18); -webkit-backdrop-filter:blur(26px) saturate(180%) brightness(1.18); }
    .menu a { display:inline-flex; position:relative; z-index:2; align-items:center; gap:8px; padding:8px 12px; color:rgba(255,255,255,.96); font:500 14px "Inter",sans-serif; letter-spacing:.018em; text-decoration:none; text-shadow:0 1px 6px rgba(0,0,0,.35); white-space:nowrap; }
    .nav-dropdown { position:relative; z-index:2; }
    .nav-dropdown::after { position:absolute; z-index:3; top:100%; right:-18px; left:-18px; height:22px; content:""; }
    .nav-dropdown > button { display:inline-flex; position:relative; z-index:4; align-items:center; gap:5px; padding:8px 10px; border:0; background:transparent; color:rgba(255,255,255,.96); cursor:pointer; font:500 13px "Inter",sans-serif; letter-spacing:.018em; text-shadow:0 1px 6px rgba(0,0,0,.35); white-space:nowrap; }
    .nav-dropdown > button i { font-size:14px; transition:transform .2s ease; }
    .nav-dropdown.open > button i,.nav-dropdown.is-hovered > button i { transform:rotate(180deg); }
    .nav .dropdown-panel { position:absolute; z-index:2; top:calc(100% + 18px); left:50%; display:grid; grid-template-columns:minmax(145px,.85fr) minmax(220px,1.15fr); gap:8px; width:520px; padding:9px; border:1px solid rgba(255,255,255,.23); border-radius:20px; background:linear-gradient(145deg,rgba(35,42,55,.74),rgba(8,11,16,.62)); box-shadow:0 20px 55px rgba(0,0,0,.4),inset 0 1px 1px rgba(255,255,255,.28); opacity:0; visibility:hidden; transform:translate(-50%,-8px) scale(.97); transform-origin:top center; pointer-events:none; transition:opacity .22s ease,transform .3s var(--ease),visibility 0s linear .22s; backdrop-filter:blur(32px) saturate(175%); -webkit-backdrop-filter:blur(32px) saturate(175%); }
    .nav-dropdown.open .dropdown-panel,.nav-dropdown.is-hovered .dropdown-panel { opacity:1; visibility:visible; transform:translate(-50%,0) scale(1); pointer-events:auto; transition-delay:0s; }
    .nav .dropdown-hero { position:relative; isolation:isolate; display:flex; height:220px; min-height:220px; flex-direction:column; justify-content:end; padding:17px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:13px; background:var(--dropdown-image,url('../home/concert-hero-background.webp')) center/cover; }
    .nav .dropdown-hero::before { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(5,9,14,.05),rgba(5,9,14,.24) 42%,rgba(5,9,14,.94)); content:""; }
    .dropdown-kicker,.dropdown-hero strong,.dropdown-hero p { position:relative; z-index:2; margin:0; }
    .dropdown-kicker { margin-bottom:8px; color:var(--lime); font:700 10px "Inter",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
    .dropdown-hero strong { font:600 21px/1 "Inter",sans-serif; }
    .dropdown-hero p { margin-top:9px; color:rgba(255,255,255,.7); font:400 12px/1.35 "Inter",sans-serif; }
    .dropdown-links { display:grid; align-content:center; gap:2px; padding:4px; }
    .nav .dropdown-panel a { display:flex; min-height:39px; align-items:center; padding:10px 13px 10px 29px; border-radius:10px; color:rgba(255,255,255,.9); font-size:13px; font-weight:400; text-shadow:none; }
    .nav .dropdown-panel a::before { position:absolute; left:12px; width:5px; height:5px; border:1px solid rgba(255,255,255,.64); border-radius:50%; content:""; }
    .nav .dropdown-panel a:hover,.nav .dropdown-panel a:focus-visible { background:rgba(255,255,255,.1); outline:none; }
    .nav .dropdown-panel a:hover::before,.nav .dropdown-panel a:focus-visible::before { border-color:var(--lime); background:var(--lime); box-shadow:0 0 8px rgba(214,255,48,.9); }
    .claim { display:inline-flex; position:relative; z-index:2; isolation:isolate; align-items:center; gap:8px; margin-left:4px; padding:8px 17px; overflow:hidden; border:1px solid var(--lime); border-radius:999px; background:var(--lime); color:#10151d!important; font-size:15px; font-weight:800!important; text-decoration:none; text-shadow:none!important; white-space:nowrap; }
    .claim::before { position:absolute; z-index:0; inset:0; background:radial-gradient(circle at 76% 50%,rgba(213,255,44,.15),transparent 30%),#050705; content:""; opacity:0; transition:opacity .26s ease; }
    .claim > span { position:relative; z-index:2; }
    .claim:hover,.claim:focus-visible { color:#fff!important; outline:none; }
    .claim:hover::before,.claim:focus-visible::before { opacity:1; }
    .claim-particles { position:absolute!important; z-index:1!important; inset:0; opacity:0; pointer-events:none; transition:opacity .2s ease; }
    .claim:hover .claim-particles,.claim:focus-visible .claim-particles { opacity:1; }
    .claim-particles i { position:absolute; top:var(--top); left:var(--left); width:var(--size,2px); height:var(--size,2px); background:var(--lime); box-shadow:0 0 7px rgba(212,255,44,.85); animation:led-square-glow var(--duration) ease-in-out infinite; animation-delay:var(--delay); }
    .nav-spacer { width:48px; height:48px; }
    .nav .mobile-toggle { display:none; width:48px; height:48px; border:0; border-radius:50%; color:#fff; cursor:pointer; place-items:center; }
    .menu-icon,.menu-icon::before,.menu-icon::after { display:block; width:18px; height:1.5px; border-radius:2px; background:currentColor; transition:transform .25s ease,opacity .2s ease; }
    .menu-icon { position:relative; }
    .menu-icon::before,.menu-icon::after { position:absolute; left:0; content:""; }
    .menu-icon::before { top:-6px; }
    .menu-icon::after { top:6px; }
    .mobile-toggle[aria-expanded="true"] .menu-icon { background:transparent; }
    .mobile-toggle[aria-expanded="true"] .menu-icon::before { top:0; transform:rotate(45deg); }
    .mobile-toggle[aria-expanded="true"] .menu-icon::after { top:0; transform:rotate(-45deg); }
    @keyframes led-square-glow { 0%,100%{opacity:.08}48%{opacity:.96;box-shadow:0 0 11px rgba(212,255,44,.95)} }
    @media (min-width:1281px) { .menu a:not(.claim):hover,.menu a:not(.claim):focus-visible,.nav-dropdown>button:hover,.nav-dropdown>button:focus-visible { border-radius:999px; background:rgba(255,255,255,.16); box-shadow:inset 0 1px 1px rgba(255,255,255,.34),0 1px 10px rgba(0,0,0,.12); outline:none; } }

    /* Solutions hero */
    .solutions-hero { position:relative; isolation:isolate; display:grid; min-height:900px; align-items:end; overflow:hidden; padding:180px 0 clamp(76px,8vw,124px); background:#060606; }
    .solutions-hero::before { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.82) 48%,rgba(4,4,4,.28) 78%),linear-gradient(0deg,#050505,transparent 40%),url('../home/concert-hero-background.webp') 72% center/cover no-repeat; content:""; }
    .solutions-hero::after { position:absolute; z-index:-2; inset:0; background:radial-gradient(circle at 82% 28%,rgba(220,31,47,.24),transparent 27%),radial-gradient(rgba(255,255,255,.1) .55px,transparent .7px); background-size:auto,5px 5px; content:""; opacity:.66; }
    .hero-beam { position:absolute; z-index:-1; top:-25%; right:7%; width:28vw; height:130%; background:linear-gradient(180deg,rgba(214,255,48,.12),transparent 70%); opacity:.25; transform:rotate(17deg); transform-origin:top; }
    .hero-inner { position:relative; width:var(--page); margin-inline:auto; }
    .eyebrow,.section-kicker { margin:0 0 25px; color:var(--red); font:600 11px "Fira Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }
    .solution-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:0 0 25px; color:rgba(255,255,255,.46); font:600 11px "Fira Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
    .solution-breadcrumb a { color:#fff; text-decoration:none; transition:color .22s ease; }
    .solution-breadcrumb a:hover,.solution-breadcrumb a:focus-visible { color:var(--lime); outline:none; }
    .solution-breadcrumb .is-current { color:rgba(255,255,255,.62); }
    .solutions-hero h1 { max-width:1180px; margin:0; font-size:clamp(64px,8.6vw,88px); font-weight:500; line-height:.84; letter-spacing:-.075em; text-wrap:balance; }
    .solutions-hero h1 span { color:var(--red); }
    .hero-lower { display:grid; grid-template-columns:minmax(0,620px) 1fr; gap:clamp(38px,10vw,170px); align-items:end; margin-top:clamp(38px,6vw,76px); }
    .hero-copy { margin:0; color:rgba(255,255,255,.78); font-size:clamp(18px,1.55vw,24px); font-weight:300; line-height:1.48; letter-spacing:-.02em; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; justify-self:end; }
    .btn { display:inline-flex; min-height:54px; align-items:center; justify-content:space-between; gap:24px; padding:0 20px; border:1px solid rgba(255,255,255,.42); background:transparent; color:#fff; font:800 12px "Inter",sans-serif; letter-spacing:.03em; text-decoration:none; text-transform:uppercase; transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease; }
    .btn i { font-size:18px; transition:transform .25s ease; }
    .btn:hover,.btn:focus-visible { border-color:#fff; background:#fff; color:#111; outline:none; transform:translateY(-2px); }
    .btn:hover i,.btn:focus-visible i { transform:translateX(4px); }
    .btn-red { border-color:var(--red); background:var(--red); }
    .btn-lime { border-color:var(--lime); background:var(--lime); color:#101010; }
    .btn-outline-lime { border-color:var(--lime); background:transparent; color:var(--lime); }
    .btn-outline-lime:hover,.btn-outline-lime:focus-visible { border-color:var(--lime); background:var(--lime); color:#101010; }

    /* Shared editorial sections */
    .section { position:relative; padding:clamp(100px,11vw,180px) 0; }
    .section-head { display:grid; grid-template-columns:minmax(200px,.45fr) minmax(0,1.55fr); gap:clamp(40px,8vw,135px); align-items:start; margin-bottom:clamp(56px,7vw,100px); }
    .section-head h2,.editorial-title { max-width:980px; margin:0; font-size:clamp(46px,6.4vw,88px); font-weight:500; line-height:.89; letter-spacing:-.066em; text-wrap:balance; }
    .section-head h2 span,.editorial-title span { color:var(--red); }
    .section-intro { max-width:670px; margin:26px 0 0; color:var(--muted); font-size:clamp(16px,1.35vw,20px); font-weight:300; line-height:1.56; }

    /* Home-page-inspired type rhythm: more air around display text and supporting copy. */
    .solutions-hero h1 { line-height:.9; letter-spacing:-.064em; }
    .hero-copy,.section-intro,.industry-heading-side p,.industry-panel-content p,.mode-card p,.process-title p,.process-step p,.proof-item p,.msav-faq-intro,.msav-faq-answer p,.specialist-cta p { letter-spacing:.003em; line-height:1.65; }
    .section-head h2,.editorial-title,.industry-heading h2 { line-height:.94; letter-spacing:-.055em; }
    .industry-panel-content h3,.proof-visual-copy h2,.project-card h3 { line-height:.95; letter-spacing:-.055em; }

    /* Portrait industry accordion */
    .industries { position:relative; padding:clamp(100px,10vw,160px) 0; overflow:hidden; background:radial-gradient(circle at 76% 16%,rgba(72,39,190,.18),transparent 27%),radial-gradient(circle at 12% 70%,rgba(220,31,47,.18),transparent 28%),#08080b; }
    .industries::before { position:absolute; inset:0; background:radial-gradient(rgba(255,255,255,.12) .6px,transparent .75px); background-size:5px 5px; content:""; opacity:.14; pointer-events:none; }
    .industry-heading { position:relative; display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
    @media (min-width:961px) { .industry-heading>div:first-child { margin-left:auto; text-align:right; } .industry-heading-side { align-self:flex-end; } }
    .industry-heading h2 { max-width:870px; margin:0; font-size:clamp(48px,6.4vw,88px); font-weight:500; line-height:.89; letter-spacing:-.066em; }
    .industry-heading h2 span { color:var(--red); }
    .industry-heading-side { max-width:360px; }
    .industry-heading-side p { margin:0 0 15px; color:rgba(255,255,255,.63); font-size:15px; line-height:1.52; }
    .industry-heading-side .text-link { margin-top:18px; }
    .industry-count { color:var(--lime); font:600 10px "Fira Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
    .industry-accordion { position:relative; display:flex; gap:10px; height:clamp(520px,50vw,690px); }
    .industry-panel { position:relative; isolation:isolate; flex:1 1 0; min-width:52px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:0; background:#111; color:#fff; cursor:pointer; transition:flex .78s var(--ease),border-color .3s ease; }
    .industry-panel[aria-selected="true"] { flex:6.2 1 0; border-color:rgba(214,255,48,.76); }
    .industry-panel:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
    .industry-panel::after { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.92) 100%); content:""; transition:background .4s ease; }
    .industry-panel[aria-selected="true"]::after {
      background:
        linear-gradient(180deg,rgba(0,0,0,.08) 16%,rgba(0,0,0,.22) 42%,rgba(0,0,0,.76) 72%,rgba(0,0,0,.97) 100%),
        linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.06) 72%);
    }
    .industry-panel img { position:absolute; z-index:-2; inset:0; height:100%; object-fit:cover; object-position:center; filter:grayscale(.78) brightness(.56); transform:scale(1.035); transition:filter .58s ease,transform .82s var(--ease); will-change:transform; }
    .industry-panel[aria-selected="true"] img { filter:grayscale(.08) brightness(.66) contrast(1.06); transform:scale(1); }
    .industry-panel-label { position:absolute; right:0; bottom:30px; left:0; display:flex; align-items:center; gap:17px; padding:0 24px; transform:rotate(-90deg) translateY(100%); transform-origin:left bottom; white-space:nowrap; }
    .industry-panel-label span { color:var(--lime); font:600 10px "Fira Mono",monospace; }
    .industry-panel-label strong { font-size:clamp(18px,1.45vw,22px); font-weight:400; letter-spacing:-.01em; word-spacing:.16em; }
    .industry-panel-content { position:absolute; right:0; bottom:0; left:0; width:min(100%,600px); max-width:100%; padding:clamp(24px,3.4vw,48px); opacity:0; transform:translateY(22px); transition:opacity .3s ease,transform .54s var(--ease); pointer-events:none; }
    .industry-panel[aria-selected="true"] .industry-panel-content { opacity:1; transform:none; transition-delay:.2s; pointer-events:auto; }
    .industry-panel[aria-selected="true"] .industry-panel-label { opacity:0; }
    .industry-panel-content small { display:none; }
    .industry-panel-content h3 {
      max-width:100%;
      margin:0 0 16px;
      color:var(--red);
      font-size:clamp(34px,3.8vw,60px);
      font-weight:500;
      line-height:.92;
      letter-spacing:-.06em;
      text-wrap:balance;
      overflow-wrap:normal;
      text-shadow:0 3px 22px rgba(0,0,0,.94),0 1px 3px rgba(0,0,0,.9);
    }
    .industry-panel.is-long-title .industry-panel-content h3 { font-size:clamp(31px,3.35vw,52px); }
    .industry-panel.is-very-long-title .industry-panel-content h3 { font-size:clamp(29px,3vw,47px); }
    .industry-panel-content p {
      max-width:480px;
      margin:0;
      color:rgba(255,255,255,.94);
      font-size:15px;
      line-height:1.52;
      text-shadow:0 2px 14px rgba(0,0,0,.96);
    }
    .industry-panel-content a { display:inline-flex; align-items:center; gap:10px; margin-top:20px; color:var(--lime); font:700 11px "Inter",sans-serif; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
    .industry-scroll-cue { display:none; align-items:center; justify-content:center; gap:9px; margin-top:24px; color:rgba(255,255,255,.68); font:600 9px "Fira Mono",monospace; letter-spacing:.1em; text-transform:uppercase; transition:opacity .35s ease; }
    .industry-scroll-cue i { color:var(--lime); font-size:17px; animation:industry-scroll-cue 1.5s ease-in-out infinite; }
    .industries.has-interacted .industry-scroll-cue { opacity:0; }
    @keyframes industry-scroll-cue { 50% { transform:translateX(5px); } }

    /* Compact capability tiles */
    .capabilities { background:#050505; }
    .capabilities-layout { display:block; }
    .capabilities-heading { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); gap:clamp(40px,9vw,150px); align-items:end; margin-bottom:58px; }
    .capabilities-heading>div:first-child { grid-column:2; text-align:right; }
    .capabilities-heading-meta { grid-column:1; grid-row:1; }
    .capabilities-heading .section-kicker { color:var(--lime); }
    .capabilities-heading-meta { max-width:480px; }
    .capabilities-count { display:block; margin:22px 0 0; color:rgba(255,255,255,.48); font:600 11px "Fira Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
    .capabilities-count b { color:var(--lime); font-weight:600; }
    .capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:dense; grid-auto-rows:1fr; gap:16px; }
    .capability-item { position:relative; display:flex; min-height:205px; flex-direction:column; justify-content:center; padding:24px 27px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:0; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.016)); transition:transform .38s var(--ease),border-color .3s ease,background .3s ease; will-change:transform; }
    .capability-item::before { position:absolute; top:18px; bottom:18px; left:0; width:4px; border-radius:0 4px 4px 0; background:var(--lime); box-shadow:0 0 15px rgba(214,255,48,.52); content:""; }
    .capability-icon { display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:rgba(255,255,255,.05); transition:transform .38s var(--ease),background .3s ease,border-color .3s ease; }
    .capability-item i { color:var(--lime); font-size:23px; }
    .capability-item h3 { margin:18px 0 8px; color:#fff; font-size:21px; font-weight:600; line-height:1; letter-spacing:-.04em; }
    .capability-item p { max-width:310px; margin:0; color:rgba(255,255,255,.67); font-size:12px; line-height:1.42; opacity:1; transform:none; }
    .capability-item:hover,.capability-item:focus { border-color:rgba(214,255,48,.72); background:linear-gradient(145deg,rgba(214,255,48,.11),rgba(255,255,255,.03)); outline:none; transform:translate3d(0,-10px,0); }
    .capability-item:hover .capability-icon,.capability-item:focus .capability-icon { border-color:var(--lime); background:rgba(214,255,48,.1); transform:scale(1.06); }
    .capability-item:focus-visible,.proof-item:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }

    /* Rental / installation split */
    .modes { background:var(--red); }
    .modes-head { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:clamp(90px,10vw,150px) max(20px,calc((100vw - 1500px)/2)) 46px; color:#fff; }
    .modes-head .section-kicker { color:var(--lime); }
    .modes-head .editorial-title { max-width:900px; color:#fff; }
    .modes-head .editorial-title span { color:var(--lime); }
    .modes-helper { max-width:390px; margin:0; color:rgba(255,255,255,.84); font-size:15px; line-height:1.55; }
    .modes-helper a { color:var(--lime); font-weight:600; text-underline-offset:3px; }
    .modes-helper a:hover,.modes-helper a:focus-visible { color:#fff; }
    .mode-grid { display:grid; grid-template-columns:1fr 1fr; min-height:720px; background:var(--red); }
    .mode-card { position:relative; isolation:isolate; display:flex; min-height:720px; flex-direction:column; justify-content:space-between; padding:clamp(36px,5.4vw,86px); overflow:hidden; color:#fff; text-decoration:none; }
    .mode-card::after { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(8,0,1,.32),rgba(4,0,0,.88)),linear-gradient(105deg,rgba(220,31,47,.20),transparent 58%); content:""; }
    .mode-card img { position:absolute; z-index:-2; inset:0; height:100%; object-fit:cover; filter:grayscale(.8) brightness(.62); transition:transform .9s var(--ease),filter .6s ease; will-change:transform; }
    .mode-card + .mode-card { border-left:1px solid rgba(255,255,255,.34); }
    .mode-card small { color:var(--lime); font:600 10px/1.5 "Fira Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
    .mode-card h3 { margin:0 0 22px; color:var(--lime); font-size:clamp(58px,7.5vw,88px); font-weight:500; line-height:.88; letter-spacing:-.07em; }
    .mode-card p { max-width:540px; margin:0; color:rgba(255,255,255,.84); font-size:clamp(15px,1.2vw,18px); line-height:1.62; letter-spacing:-.012em; }
    .mode-card-bottom { display:flex; align-items:end; justify-content:space-between; gap:40px; }
    .mode-arrow { display:grid; width:58px; height:58px; flex:0 0 58px; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-size:24px; transition:transform .35s ease,background .3s ease,color .3s ease; }
    .mode-card:hover img,.mode-card:focus-visible img { filter:grayscale(.15) brightness(.7); transform:scale(1.055); }
    .mode-card:hover .mode-arrow,.mode-card:focus-visible .mode-arrow { background:var(--lime); color:#111; transform:rotate(45deg); }
    .mode-card:focus-visible { outline:2px solid var(--lime); outline-offset:-2px; }

    /* Projects */
    .projects { background:#0a0a0a; }
    .projects-top { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
    .projects-top .section-kicker { margin:0 0 18px; }
    .projects-title { max-width:860px; margin:0; font-size:clamp(46px,6.4vw,88px); font-weight:500; line-height:.94; letter-spacing:-.055em; }
    .text-link { display:inline-flex; align-items:center; gap:10px; color:var(--lime); font:700 11px "Inter",sans-serif; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
    .text-link i { font-size:18px; transition:transform .25s ease; }
    .text-link:hover i,.text-link:focus-visible i { transform:translateX(5px); }
    .project-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:9px; }
    .project-card { position:relative; isolation:isolate; display:flex; min-height:560px; grid-column:span 4; flex-direction:column; justify-content:end; padding:clamp(24px,3vw,42px); overflow:hidden; color:#fff; text-decoration:none; }
    .project-card:nth-child(1) { grid-column:span 7; }
    .project-card:nth-child(2) { grid-column:span 5; }
    .project-card:nth-child(3) { grid-column:span 5; }
    .project-card:nth-child(4) { grid-column:span 7; }
    .project-card::after { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.92)); content:""; }
    .project-card img { position:absolute; z-index:-2; inset:0; height:100%; object-fit:cover; filter:grayscale(.88) brightness(.62) contrast(1.1); transition:transform .8s var(--ease),filter .55s ease; will-change:transform; }
    .project-card:hover img,.project-card:focus-visible img { filter:grayscale(.2) brightness(.72); transform:scale(1.055); }
    .project-card:focus-visible { outline:2px solid var(--lime); outline-offset:-2px; }
    .project-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:auto; }
    .project-tags span { padding:7px 9px; border:1px solid rgba(255,255,255,.35); color:rgba(255,255,255,.86); font:600 9px "Fira Mono",monospace; text-transform:uppercase; transition:border-color .3s ease,color .3s ease,box-shadow .3s ease; }
    .project-card h3 { max-width:630px; margin:54px 0 12px; font-size:clamp(30px,4vw,62px); font-weight:500; line-height:.92; letter-spacing:-.06em; transition:color .3s ease,text-shadow .3s ease; }
    .project-card p { margin:0; color:rgba(255,255,255,.66); font-size:13px; transition:color .3s ease; }
    .project-card:hover .project-tags span,.project-card:focus-visible .project-tags span { border-color:var(--lime); color:var(--lime); box-shadow:0 0 14px rgba(201,255,33,.14); }
    .project-card:hover h3,.project-card:focus-visible h3 { color:var(--lime); text-shadow:0 0 20px rgba(201,255,33,.2); }
    .project-card:hover p,.project-card:focus-visible p { color:var(--lime); }

    /* Approved Services-page delivery process */
    .delivery { overflow:hidden; background:#090909; }
    .process-layout { display:grid; grid-template-columns:minmax(170px,.35fr) minmax(0,1.65fr); gap:clamp(45px,7vw,105px); align-items:start; }
    .process-title .section-kicker { margin:0 0 17px; }
    .process-title h2 { margin:0; font-size:clamp(35px,4vw,58px); font-weight:500; line-height:.93; letter-spacing:-.055em; }
    .process-title p { max-width:230px; margin:22px 0 0; color:rgba(255,255,255,.59); font-size:14px; line-height:1.55; }
    .process-note { display:flex; align-items:center; gap:9px; margin-top:26px; color:var(--lime); font:600 10px "Fira Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
    .process-note i { font-size:14px; }
    .process-track { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
    .process-line { position:absolute; z-index:1; top:34px; right:8%; left:8%; height:1px; overflow:hidden; background:rgba(220,31,47,.78); }
    .process-line::after { position:absolute; top:-2px; bottom:-2px; left:-28%; width:28%; background:linear-gradient(90deg,transparent,var(--lime) 38%,#fff 52%,var(--lime) 66%,transparent); box-shadow:0 0 15px rgba(214,255,48,.92); content:""; animation:process-line-flow 5.8s ease-in-out infinite; will-change:transform; }
    .process-step { position:relative; z-index:2; text-align:center; }
    .process-icon { display:grid; width:69px; height:69px; margin:0 auto 15px; place-items:center; border:1px solid var(--red); border-radius:50%; background:#090909; font-size:30px; transition:border-color .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease; animation:process-icon-signal 5.8s ease-in-out infinite; }
    .process-step:nth-of-type(1) .process-icon { animation-delay:0s; }
    .process-step:nth-of-type(2) .process-icon { animation-delay:1.45s; }
    .process-step:nth-of-type(3) .process-icon { animation-delay:2.9s; }
    .process-step:nth-of-type(4) .process-icon { animation-delay:4.35s; }
    .process-step h3 { margin:0; font-size:15px; font-weight:500; }
    .process-step p { max-width:190px; margin:11px auto 0; color:rgba(255,255,255,.58); font-size:11px; line-height:1.45; }
    @keyframes process-line-flow { 0%{transform:translateX(0);opacity:0}10%{opacity:1}76%{opacity:1}100%{transform:translateX(460%);opacity:0} }
    @keyframes process-icon-signal { 0%,20%{border-color:var(--lime);background:var(--lime);color:#101010;box-shadow:0 0 0 7px rgba(214,255,48,.06),0 0 28px rgba(214,255,48,.36)}31%,100%{border-color:var(--red);background:#090909;color:#fff;box-shadow:none} }

    /* Why MSAV editorial proof split */
    .proof { background:#070707; }
    .proof-layout { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(48px,9vw,145px); align-items:start; }
    .proof-visual { position:sticky; top:110px; min-height:720px; overflow:hidden; border-radius:0; }
    .proof-visual::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.94)); content:""; }
    .proof-visual img { height:720px; object-fit:cover; filter:grayscale(.38) brightness(.72); }
    .proof-visual-copy { position:absolute; z-index:2; right:34px; bottom:34px; left:34px; }
    .proof-visual-copy .section-kicker { margin:0 0 14px; color:var(--lime); }
    .proof-visual-copy h2 { max-width:570px; margin:15px 0 0; font-size:clamp(45px,5.1vw,79px); font-weight:500; line-height:.88; letter-spacing:-.07em; }
    .proof-visual-copy h2 span { color:var(--red); }
    .proof-list { border-top:1px solid rgba(255,255,255,.18); }
    .proof-item { display:grid; grid-template-columns:54px minmax(150px,.7fr) minmax(220px,1.3fr); gap:24px; align-items:center; min-height:142px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.18); transition:padding .35s var(--ease),background .3s ease,color .3s ease; }
    .proof-item-icon { display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(214,255,48,.42); border-radius:50%; color:var(--lime); font-size:21px; }
    .proof-item h3 { margin:0; font-size:clamp(20px,1.8vw,28px); font-weight:500; line-height:1; letter-spacing:-.04em; }
    .proof-item p { margin:0; color:rgba(255,255,255,.59); font-size:13px; line-height:1.48; }
    .proof-item:hover,.proof-item:focus { padding-right:22px; padding-left:22px; background:var(--red); outline:none; }
    .proof-item:hover .proof-item-icon,.proof-item:focus .proof-item-icon { border-color:var(--lime); background:var(--lime); color:#111; }
    .proof-item:hover p,.proof-item:focus p { color:rgba(255,255,255,.9); }

    /* Approved Services-page FAQ treatment */
    .msav-faq-section { position:relative; overflow:hidden; padding:clamp(88px,10vw,156px) clamp(22px,7vw,112px); background:#f7f6f2; color:#151313; }
    .msav-faq-layout { display:grid; grid-template-columns:minmax(260px,.76fr) minmax(0,1.24fr); gap:clamp(44px,10vw,180px); max-width:1440px; margin:0 auto; }
    .msav-faq-eyebrow { margin:0 0 18px; color:var(--red); font:600 11px "Fira Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
    .msav-faq-title { max-width:520px; margin:0; font-size:clamp(48px,5.8vw,88px); font-weight:600; line-height:.91; letter-spacing:-.075em; }
    .msav-faq-intro { max-width:390px; margin:24px 0 0; color:#5d5855; font-size:16px; line-height:1.52; }
    .msav-faq-list { border-top:1px solid #d5d1cc; }
    .msav-faq-item { border-bottom:1px solid #d5d1cc; }
    .msav-faq-question { display:grid; grid-template-columns:minmax(0,1fr) 36px; align-items:center; width:100%; padding:23px 0; border:0; background:transparent; color:inherit; cursor:pointer; text-align:left; }
    .msav-faq-question span:first-child { font-size:clamp(18px,1.65vw,24px); font-weight:550; line-height:1.15; letter-spacing:-.04em; }
    .msav-faq-icon { position:relative; display:grid; width:26px; height:26px; place-items:center; justify-self:end; border:1px solid #bbb5af; border-radius:50%; transition:background .28s ease,border-color .28s ease,transform .35s var(--ease); }
    .msav-faq-icon i { color:#171515; font-size:14px; transition:transform .28s ease; }
    .msav-faq-item.is-open .msav-faq-icon { border-color:var(--lime); background:var(--lime); transform:rotate(180deg); }
    .msav-faq-item.is-open .msav-faq-icon i { transform:rotate(45deg); }
    .msav-faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .42s var(--ease); }
    .msav-faq-answer>div { overflow:hidden; }
    .msav-faq-answer p { max-width:620px; margin:0; padding:0 56px 0 0; color:#625c58; font-size:16px; line-height:1.52; opacity:0; transform:translateY(-6px); transition:opacity .24s ease,transform .35s ease,padding .42s var(--ease); }
    .msav-faq-item.is-open .msav-faq-answer { grid-template-rows:1fr; }
    .msav-faq-item.is-open .msav-faq-answer p { padding-bottom:25px; opacity:1; transform:none; }

    /* Closing CTA */
    .specialist-cta { position:relative; isolation:isolate; display:grid; min-height:720px; place-items:center; overflow:hidden; padding:100px 22px; text-align:center; }
    .specialist-cta::before { position:absolute; z-index:-2; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.78)),url('../home/msav-story-conference-av.webp') center/cover; content:""; filter:grayscale(.72) brightness(.64); }
    .specialist-cta::after { position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 50% 50%,rgba(220,31,47,.27),transparent 34%); content:""; }
    .specialist-cta-inner { max-width:1040px; }
    .specialist-cta h2 { margin:0; font-size:clamp(68px,10vw,88px); font-weight:500; line-height:.82; letter-spacing:-.08em; }
    .specialist-cta h2 span { color:var(--red); }
    .specialist-cta p { max-width:590px; margin:30px auto 34px; color:rgba(255,255,255,.76); font-size:18px; line-height:1.55; }

    /* Approved Services-page footer */
    .msav-footer { position:relative; overflow:hidden; padding:clamp(88px,10vw,154px) clamp(22px,7vw,112px) 28px; background:radial-gradient(ellipse at 10% 0%,rgba(213,31,49,.34),transparent 32%),radial-gradient(ellipse at 82% 84%,rgba(214,255,48,.08),transparent 23%),#070707; color:#fff; }
    .msav-footer::before { position:absolute; inset:0; background:radial-gradient(rgba(255,255,255,.11) .65px,transparent .8px); background-size:5px 5px; content:""; mask-image:linear-gradient(155deg,#000,transparent 75%); opacity:.13; pointer-events:none; }
    .msav-footer-main,.msav-footer-bottom { position:relative; max-width:1440px; margin-inline:auto; }
    .msav-footer-main { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr); gap:clamp(56px,9vw,168px); align-items:stretch; }
    .msav-footer-brand { display:flex; min-height:clamp(390px,38vw,560px); flex-direction:column; justify-content:space-between; }
    .msav-footer-logo { position:relative; width:min(100%,680px); line-height:0; }
    .msav-footer-logo img { width:100%; height:auto; }
    .msav-footer-logo-av { position:absolute; inset:0; clip-path:inset(0 0 0 54.5%); filter:brightness(0) invert(1); pointer-events:none; }
    .msav-footer-company { max-width:460px; margin-top:clamp(32px,4vw,58px); }
    .msav-footer-company-name { margin:0; color:#fff; font-size:clamp(18px,1.55vw,25px); font-weight:620; line-height:1.35; letter-spacing:-.045em; }
    .msav-footer-company-name span { color:rgba(255,255,255,.62); font-size:.52em; letter-spacing:.025em; vertical-align:.16em; }
    .msav-footer-company-description { max-width:400px; margin:20px 0 0; color:rgba(255,255,255,.8); font-size:clamp(16px,1.28vw,19px); font-weight:500; line-height:1.35; letter-spacing:-.035em; }
    .msav-footer-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(54px,6vw,94px) clamp(30px,4vw,68px); align-content:end; }
    .msav-footer-links { display:contents; }
    .msav-footer-links h3,.msav-footer-contact-block h3,.msav-footer-social-block h3 { margin:0 0 18px; color:rgba(255,255,255,.48); font-size:11px; font-weight:650; text-transform:uppercase; }
    .msav-footer-links a { display:block; width:fit-content; margin:0 0 13px; color:#fff; font-size:15px; font-weight:550; text-decoration:none; transition:color .2s ease,transform .2s ease; }
    .msav-footer-links a:hover,.msav-footer-links a:focus-visible { color:var(--lime); transform:translateX(3px); }
    .msav-footer-contact-block p { max-width:240px; margin:0; color:rgba(255,255,255,.66); font-size:14px; line-height:1.48; }
    .msav-footer-contact-details { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px; }
    .msav-footer-contact-detail { display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:14px; font-weight:550; text-decoration:none; }
    .msav-footer-contact { display:inline-flex; align-items:center; gap:10px; margin-top:20px; padding:12px 18px; border-radius:999px; background:var(--lime); color:#101010; font-size:13px; font-weight:750; text-decoration:none; }
    .msav-footer-social { display:flex; gap:9px; }
    .msav-footer-social a { display:grid; width:35px; height:35px; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:4px; color:#fff; text-decoration:none; }
    .msav-footer-social a:hover,.msav-footer-social a:focus-visible { border-color:var(--lime); background:var(--lime); color:#101010; }
    .msav-footer-bottom { margin-top:clamp(76px,10vw,156px); padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.48); font-size:10px; text-transform:uppercase; }

    @media (max-width:1280px) {
      .nav { grid-template-columns:132px 1fr; padding:0 20px; }
      .nav .mobile-toggle { display:grid; justify-self:end; }
      .nav-spacer { display:none; }
      .menu { position:absolute; top:68px; right:20px; left:20px; display:none; width:auto; max-height:calc(100svh - 88px); align-items:stretch; flex-direction:column; overflow-y:auto; border-radius:20px; background:rgba(14,17,24,.74); backdrop-filter:blur(34px) saturate(155%); }
      .menu.open { display:flex; }
      .menu a { width:100%; padding:12px 14px; border-radius:12px; }
      .menu .claim { justify-content:center; margin:4px 0 0; padding:12px 14px; border-radius:12px; }
      .nav-dropdown { width:100%; }
      .nav-dropdown>button { width:100%; justify-content:space-between; padding:12px 14px; border-radius:12px; font-size:14px; }
      .nav .dropdown-panel { position:static; display:none; grid-template-columns:1fr; width:auto; margin:0 7px 4px; padding:6px; border-radius:14px; background:rgba(255,255,255,.06); box-shadow:none; opacity:1; visibility:visible; transform:none; pointer-events:auto; }
      .nav-dropdown.open .dropdown-panel { display:grid; transform:none; }
      .nav-dropdown.is-hovered:not(.open) .dropdown-panel { display:none; }
      .nav .dropdown-hero { height:132px; min-height:132px; padding:14px; }
    }
    @media (max-width:960px) {
      .solutions-hero { min-height:820px; }
      .hero-lower,.section-head,.capabilities-heading,.process-layout,.proof-layout,.msav-faq-layout,.msav-footer-main { grid-template-columns:1fr; }
      .hero-actions { justify-self:start; }
      .capabilities-heading>div:first-child,.capabilities-heading-meta { grid-column:auto; grid-row:auto; text-align:left; }
      .industry-heading { align-items:flex-start; flex-direction:column; }
      .industry-accordion { height:590px; }
      .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .modes-head { align-items:flex-start; flex-direction:column; }
      .mode-grid { grid-template-columns:1fr; }
      .mode-card { min-height:620px; }
      .mode-card + .mode-card { border-top:1px solid rgba(255,255,255,.34); border-left:0; }
      .project-card,.project-card:nth-child(n) { grid-column:span 6; }
      .process-title p { max-width:480px; }
      .process-track { margin-top:52px; }
      .proof-visual { position:relative; top:auto; min-height:620px; }
      .proof-visual img { height:620px; }
      .msav-faq-layout { gap:54px; }
      .msav-footer-brand { min-height:290px; }
    }
    @media (min-width:681px) and (max-width:1180px) {
      .industry-accordion { width:calc(100vw - 20px); height:560px; gap:10px; overflow-x:auto; padding:0 20px 14px 0; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
      .industry-accordion::-webkit-scrollbar { display:none; }
      .industry-panel,.industry-panel[aria-selected="true"] { flex:0 0 min(72vw,460px); min-width:min(72vw,460px); scroll-snap-align:center; }
      .industry-panel-label { display:none; }
      .industry-panel-content,.industry-panel[aria-selected="true"] .industry-panel-content { width:100%; opacity:1; transform:none; pointer-events:auto; }
      .industry-panel-content h3 { font-size:clamp(32px,4.2vw,46px); }
      .industry-panel.is-long-title .industry-panel-content h3 { font-size:clamp(29px,3.8vw,41px); }
      .industry-panel.is-very-long-title .industry-panel-content h3 { font-size:clamp(27px,3.5vw,38px); }
      .industry-panel-content p { font-size:14px; }
      .industry-scroll-cue { display:flex; }
    }
    @media (max-width:680px) {
      :root { --page:min(100% - 40px,1500px); }
      .nav { inset:11px 0 auto; padding:0 14px; }
      .nav .brand { width:112px; height:48px; }
      .menu { top:60px; right:14px; left:14px; }
      .solutions-hero { min-height:780px; padding:132px 0 58px; }
      .solutions-hero::before { background:linear-gradient(90deg,rgba(4,4,4,.91),rgba(4,4,4,.45)),linear-gradient(0deg,#050505,transparent 48%),url('../home/concert-hero-background.webp') 62% center/cover no-repeat; }
      .solutions-hero h1 { max-width:600px; font-size:clamp(54px,16vw,76px); line-height:.86; }
      .hero-lower { gap:30px; margin-top:35px; }
      .hero-copy { font-size:17px; }
      .hero-actions { width:100%; }
      .hero-actions .btn { flex:1 1 190px; }
      .section { padding:90px 0; }
      .section-head { gap:30px; margin-bottom:52px; }
      .section-head h2,.editorial-title { font-size:clamp(44px,13.5vw,62px); }
      .industries { padding:90px 0 80px; }
      .industry-heading { margin-bottom:34px; }
      .industry-heading h2 { font-size:clamp(45px,13vw,62px); }
      .industry-accordion { width:calc(100vw - 20px); height:540px; gap:10px; overflow-x:auto; padding:0 20px 14px 0; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
      .industry-accordion::-webkit-scrollbar { display:none; }
      .industry-panel,.industry-panel[aria-selected="true"] { flex:0 0 min(82vw,350px); min-width:min(82vw,350px); scroll-snap-align:center; }
      .industry-panel-label { display:none; }
      .industry-panel-content,.industry-panel[aria-selected="true"] .industry-panel-content { opacity:1; transform:none; }
      .industry-panel-content { padding:24px 22px; }
      .industry-panel-content h3 { font-size:clamp(30px,8.3vw,39px); line-height:.94; }
      .industry-panel.is-long-title .industry-panel-content h3 { font-size:clamp(27px,7.5vw,35px); }
      .industry-panel.is-very-long-title .industry-panel-content h3 { font-size:clamp(25px,6.8vw,32px); }
      .industry-panel-content p { font-size:13px; line-height:1.5; }
      .industry-scroll-cue { display:flex; }
      .capability-grid { grid-template-columns:1fr; }
      .capability-item { min-height:190px; }
      .modes-head { padding:84px 20px 40px; }
      .mode-card { min-height:560px; padding:32px 22px; }
      .mode-card h3 { font-size:67px; }
      .mode-card p { font-size:15px; line-height:1.58; }
      .mode-arrow { width:50px; height:50px; flex-basis:50px; }
      .project-grid { grid-template-columns:1fr; }
      .projects-top { align-items:flex-start; flex-direction:column; gap:24px; margin-bottom:36px; }
      .projects-title { font-size:clamp(44px,13vw,62px); }
      .project-card,.project-card:nth-child(n) { min-height:500px; grid-column:1; }
      .process-track { grid-template-columns:1fr 1fr; gap:42px 18px; }
      .process-line { display:none; }
      .process-title h2 { font-size:48px; }
      .proof-visual { min-height:540px; }
      .proof-visual img { height:540px; }
      .proof-visual-copy { right:24px; bottom:25px; left:24px; }
      .proof-item { grid-template-columns:48px minmax(0,1fr); gap:16px; min-height:0; padding:26px 0; }
      .proof-item p { grid-column:2; }
      .msav-faq-section { padding:90px 20px; }
      .msav-faq-question { grid-template-columns:minmax(0,1fr) 32px; padding:19px 0; }
      .msav-faq-question span:first-child { font-size:18px; }
      .specialist-cta { min-height:650px; }
      .specialist-cta h2 { font-size:clamp(66px,19vw,88px); }
      .msav-footer { padding:78px 20px 23px; }
      .msav-footer-brand { min-height:220px; }
      .msav-footer-side { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 24px; }
      .msav-footer-bottom { margin-top:66px; }
    }
    @media (prefers-reduced-motion:reduce) {
      html { scroll-behavior:auto; }
      *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
      .industry-panel img,.mode-card img,.project-card img { transform:none!important; }
      .process-line::after,.process-icon,.industry-scroll-cue i { animation:none!important; }
    }
    .mode-card:hover .mode-arrow,
    .mode-card:focus-visible .mode-arrow { border-color: var(--red); background: var(--red); color: #fff; transform: translateX(5px); }
  
    /* Match the tighter supporting-copy rhythm used on Event Production. */
    .solutions-hero .hero-copy {
      max-width: 760px;
      line-height: 1.42;
      letter-spacing: -.025em;
    }

    /* Same-page solutions enquiry form. */
    .specialist-enquiry { place-items: stretch; text-align: left; }
    .specialist-enquiry-grid {
      display: grid;
      grid-template-columns: minmax(0,.82fr) minmax(420px,1.18fr);
      gap: clamp(54px,8vw,130px);
      width: var(--page);
      margin-inline: auto;
      align-items: start;
    }
    .specialist-enquiry .specialist-cta-copy h2 { font-size: clamp(58px,7.4vw,88px); }
    .specialist-enquiry .specialist-cta-copy p { margin: 28px 0 0; }
    .solutions-enquiry-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
    .solutions-enquiry-form .solution-field { display: grid; gap: 8px; }
    .solutions-enquiry-form .solution-field-full { grid-column: 1 / -1; }
    .solutions-enquiry-form label { color: rgba(255,255,255,.58); font: 600 9px "Fira Mono",monospace; letter-spacing: .09em; text-transform: uppercase; }
    .solutions-enquiry-form input, .solutions-enquiry-form select, .solutions-enquiry-form textarea { width: 100%; min-height: 50px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 0; outline: 0; background: rgba(255,255,255,.045); color: #fff; font: 500 15px "Inter",sans-serif; }
    .solutions-enquiry-form textarea { min-height: 126px; resize: vertical; }
    .solutions-enquiry-form input:focus, .solutions-enquiry-form select:focus, .solutions-enquiry-form textarea:focus { border-color: var(--lime); background: rgba(255,255,255,.07); }
    .solutions-enquiry-form select { color-scheme: dark; }
    .solutions-enquiry-submit { grid-column: 1 / -1; display: flex; min-height: 55px; align-items: center; justify-content: space-between; padding: 0 20px; border: 1px solid var(--lime); background: var(--lime); color: #101010; cursor: pointer; font: 800 12px "Inter",sans-serif; letter-spacing: .03em; text-transform: uppercase; transition: background .25s ease, transform .25s ease; }
    .solutions-enquiry-submit:hover, .solutions-enquiry-submit:focus-visible { background: #fff; outline: none; transform: translateY(-2px); }
    .solutions-form-status { grid-column: 1 / -1; min-height: 20px; margin: 0; color: var(--lime); font-size: 12px; }
    @media (max-width: 900px) {
      .specialist-enquiry-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 620px) {
      .solutions-enquiry-form { grid-template-columns: 1fr; }
      .solutions-enquiry-form .solution-field, .solutions-enquiry-form .solution-field-full { grid-column: 1; }
    }


/* MSAV shared Featured Projects card layout */
.msav-shared-project-grid{display:grid!important;grid-template-columns:1.25fr .85fr 1fr!important;grid-template-rows:repeat(2,270px)!important;gap:8px!important}
.msav-shared-project-grid .project-card{position:relative!important;min-height:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;text-decoration:none!important;grid-column:auto!important;grid-row:auto!important}
.msav-shared-project-grid .project-card:first-child{grid-row:1 / 3!important}
.msav-shared-project-grid .project-card:last-child{grid-column:3!important;grid-row:1 / 3!important}
.msav-shared-project-grid .project-card:only-child{grid-column:1!important;grid-row:1 / 3!important}
.msav-shared-project-grid .project-card::after{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.88))!important;content:""!important}
.msav-shared-project-grid .project-card img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:grayscale(.92) brightness(.63) contrast(1.1)!important;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .55s ease!important}
.msav-shared-project-grid .project-copy{position:absolute!important;z-index:2!important;right:0!important;bottom:0!important;left:0!important;padding:clamp(20px,2.4vw,34px)!important}
.msav-shared-project-grid .project-copy h3{max-width:330px!important;margin:0!important;color:#fff!important;font-size:clamp(19px,2vw,31px)!important;font-weight:500!important;line-height:1.05!important;letter-spacing:-.04em!important}
.msav-shared-project-grid .project-copy p{margin:11px 0 0!important;color:rgba(255,255,255,.64)!important;font-size:11px!important}
.msav-shared-project-grid .project-card:hover img,.msav-shared-project-grid .project-card:focus-visible img{filter:grayscale(.25) brightness(.74)!important;transform:scale(1.055)!important}
.msav-shared-project-grid .project-card:hover,.msav-shared-project-grid .project-card:focus-visible{border-color:#e31b2b!important;outline:none!important}
.msav-shared-project-grid .project-card:hover .project-copy h3,.msav-shared-project-grid .project-card:focus-visible .project-copy h3,.msav-shared-project-grid .project-card:hover .project-copy p,.msav-shared-project-grid .project-card:focus-visible .project-copy p{color:#c9ff21!important}
@media(max-width:1100px){.msav-shared-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,330px)!important}.msav-shared-project-grid .project-card:first-child,.msav-shared-project-grid .project-card:last-child,.msav-shared-project-grid .project-card:only-child{grid-column:auto!important;grid-row:auto!important}}
@media(max-width:680px){.msav-shared-project-grid{grid-template-columns:1fr!important;grid-template-rows:none!important}.msav-shared-project-grid .project-card{min-height:330px!important}}


    /* Live WordPress Featured Projects */
    #featured-projects.project-grid .project-card:only-child {
      grid-column: 1;
      grid-row: 1 / 3;
    }
    #featured-projects.project-grid .project-card:nth-child(2):last-child {
      grid-column: 3;
      grid-row: 1 / 3;
    }
    #featured-projects.project-grid .project-card img {
      object-fit: cover;
    }

/* ---- msav-medium-dots-solutions-path ---- */
/* Choose the right path — background images only */
    .modes .mode-card::before {
      position: absolute;
      z-index: -1;
      inset: 0;
      background: radial-gradient(rgba(255,255,255,.066) .55px, transparent .7px);
      background-size: 5px 5px;
      content: "";
      pointer-events: none;
    }
