    .nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 50;
      display: flex;
      align-items: center;
      gap: 28px;
      height: var(--nav);
      padding: 0 calc(var(--pad) + env(safe-area-inset-right)) 0 calc(var(--pad) + env(safe-area-inset-left));
      background: transparent;
      border-bottom: 0;
    }
    .nav-glass {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background: var(--glass-bar);
      border-bottom: 1px solid var(--blue-line);
      --nav-blur: 18px;
      backdrop-filter: blur(var(--nav-blur));
      -webkit-backdrop-filter: blur(var(--nav-blur));
      transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), --nav-blur var(--dur) var(--ease);
    }
    /* 2026-09-26 (audit fix 2): once the page has scrolled, the bar that comes back on an
       upward scroll sits over body copy, so it gets a denser glass than the one over the hero. */
    .nav.nav-has-hidden:not(.nav-away) .nav-glass {
      background: rgba(5, 11, 22, 0.82);
      border-bottom-color: var(--blue-line);
    }
    .nav.nav-away .nav-glass {
      --nav-blur: 0px;
      background: transparent;
      border-bottom-color: transparent;
    }
    .nav > :not(.nav-glass) {
      position: relative;
      z-index: 1;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      margin-right: auto;
    }
    .brand img {
      height: 34px;
      width: auto;
      border-radius: var(--radius-card);
    }
    .brand-word {
      font-weight: 500;
      letter-spacing: -0.04em;
      font-size: 15px;
    }
    .nav-fold {
      position: relative;
      display: flex;
      align-items: center;
      height: 44px;
      padding: 0 16px;
      border: 1px solid rgba(255, 255, 255, 0.22);
      border-radius: var(--radius-pill);
      background: var(--glass-chip);
    }
    .nav-fold-label {
      color: #fff;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: -0.02em;
      white-space: nowrap;
    }
    .nav-links-clip {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      width: max-content;
      max-width: min(860px, 72vw);
      padding: 14px 18px;
      background: var(--glass);
      border: 1px solid var(--blue-line);
      border-radius: var(--radius-card);
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
      z-index: 60;
    }
    .nav-fold::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 16px;
    }
    .nav-fold-label::after {
      content: " ›";
      color: var(--blue);
    }
    .nav-links {
      display: flex;
      gap: 22px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav-links a {
      text-decoration: none;
      color: var(--muted);
      font-size: 17px;
      font-weight: 500;
      white-space: nowrap;
    }
    .nav-links a:hover,
    .nav-links a[aria-current="page"] { color: #fff; }
    .nav-phone {
      position: relative;
      z-index: 0;
      isolation: isolate;
      display: inline-flex;
      align-items: center;
      height: 44px;
      color: #fff;
      text-decoration: none;
      font-size: 16px;
      font-variant-numeric: tabular-nums;
      font-weight: 500;
      white-space: nowrap;
    }
    .nav-phone-glass {
      position: absolute;
      z-index: -1;
      inset: 0 -14px;
      border-radius: var(--radius-card);
      background: transparent;
      border: 1px solid transparent;
      box-shadow: none;
      --phone-blur: 0px;
      backdrop-filter: blur(var(--phone-blur));
      -webkit-backdrop-filter: blur(var(--phone-blur));
      opacity: 1;
      transition: background-color 0.6s ease, border-color 0.6s ease, box-shadow 0.6s ease, --phone-blur 0.6s ease;
      pointer-events: none;
    }
    .nav-phone:hover { color: var(--blue-2); }
    .nav > .btn { font-size: 16px; padding: 0 18px; }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 16px;
      border-radius: var(--radius-pill);
      border: 1px solid transparent;
      text-decoration: none;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: -0.01em;
      cursor: pointer;
      background: var(--blue);
      color: #041018;
    }
    .btn:hover { background: var(--blue-2); }
    .btn-ghost {
      background: var(--glass-chip);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.28);
      backdrop-filter: blur(10px);
    }
    .btn-ghost:hover { background: var(--glass); }
    .btn-huge {
      min-height: 68px;
      padding: 0 48px;
      border-radius: var(--radius-card);
      font-size: clamp(1.15rem, 1.8vw, 1.45rem);
      font-weight: 600;
      letter-spacing: -0.03em;
      box-shadow: 0 14px 32px var(--blue-line);
    }
    .menu-btn {
      display: none;
      width: 44px;
      height: 44px;
      padding: 0;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      background: transparent;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius-card);
      cursor: pointer;
      --menu-blur: 0px;
      backdrop-filter: blur(var(--menu-blur));
      -webkit-backdrop-filter: blur(var(--menu-blur));
      transition: background-color 0.6s ease, border-color 0.6s ease, box-shadow 0.6s ease, --menu-blur 0.6s ease, width 0.6s ease, opacity 0.6s ease, margin 0.6s ease;
    }
    .menu-btn span {
      display: block;
      width: 18px;
      height: 1.5px;
      background: #fff;
      border-radius: 1px;
      transition: transform 0.25s ease, opacity 0.2s ease;
    }
    body.menu-open .menu-btn span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
    body.menu-open .menu-btn span:nth-child(2) { opacity: 0; }
    body.menu-open .menu-btn span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
    .menu-panel {
      display: flex;
      flex-direction: column;
      position: fixed;
      top: var(--menu-top, 68px);
      right: 12px;
      left: 12px;
      max-height: min(78dvh, 720px);
      overflow: auto;
      background: var(--glass);
      backdrop-filter: blur(18px);
      border: 1px solid var(--blue-line);
      border-radius: 0 0 var(--radius-card) var(--radius-card);
      z-index: 49;
      padding: 6px var(--pad) 18px;
      transform-origin: top center;
      transform: translateY(-12px);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.32s ease, visibility 0s linear 0.4s;
    }
    body.menu-open .menu-panel {
      transform: none;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, visibility 0s;
    }
    .menu-panel.is-closing {
      visibility: visible;
      opacity: 0;
      transform: translateY(-18px);
      pointer-events: none;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.42s ease, visibility 0s linear 0.5s;
    }
    .menu-panel.is-closing a {
      opacity: 0;
      transform: translateY(-8px);
      transition: opacity 0.32s ease, transform 0.4s ease;
    }
    .menu-panel.is-closing a:nth-child(1) { transition-delay: 0.22s; }
    .menu-panel.is-closing a:nth-child(2) { transition-delay: 0.2s; }
    .menu-panel.is-closing a:nth-child(3) { transition-delay: 0.18s; }
    .menu-panel.is-closing a:nth-child(4) { transition-delay: 0.16s; }
    .menu-panel.is-closing a:nth-child(5) { transition-delay: 0.14s; }
    .menu-panel.is-closing a:nth-child(6) { transition-delay: 0.12s; }
    .menu-panel.is-closing a:nth-child(7) { transition-delay: 0.1s; }
    .menu-panel.is-closing a:nth-child(8) { transition-delay: 0.08s; }
    .menu-panel.is-closing a:nth-child(9) { transition-delay: 0.06s; }
    .menu-panel.is-closing a:nth-child(10) { transition-delay: 0.04s; }
    .menu-panel.is-closing a:nth-child(11) { transition-delay: 0.02s; }
    .menu-panel.is-closing a:nth-child(12) { transition-delay: 0s; }
    .menu-panel a {
      display: flex;
      align-items: center;
      min-height: 52px;
      border-bottom: 1px solid var(--line);
      text-decoration: none;
      font-size: 26px;
      letter-spacing: -0.04em;
      font-weight: 500;
      opacity: 0;
      transform: translateY(14px);
      transition: opacity 0.28s ease, transform 0.35s ease;
    }
    body.menu-open .menu-panel a {
      opacity: 1;
      transform: none;
    }
    body.menu-open .menu-panel a:nth-child(1) { transition-delay: 0.06s; }
    body.menu-open .menu-panel a:nth-child(2) { transition-delay: 0.1s; }
    body.menu-open .menu-panel a:nth-child(3) { transition-delay: 0.14s; }
    body.menu-open .menu-panel a:nth-child(4) { transition-delay: 0.18s; }
    body.menu-open .menu-panel a:nth-child(5) { transition-delay: 0.22s; }
    body.menu-open .menu-panel a:nth-child(6) { transition-delay: 0.26s; }
    body.menu-open .menu-panel a:nth-child(7) { transition-delay: 0.3s; }
    body.menu-open .menu-panel a:nth-child(8) { transition-delay: 0.34s; }
    body.menu-open .menu-panel a:nth-child(9) { transition-delay: 0.38s; }
    body.menu-open .menu-panel a:nth-child(10) { transition-delay: 0.42s; }
    body.menu-open .menu-panel a:nth-child(11) { transition-delay: 0.46s; }
    body.menu-open .menu-panel a:nth-child(12) { transition-delay: 0.5s; }
    body:not(.menu-open) .menu-panel a:nth-child(1) { transition-delay: 0.16s; }
    body:not(.menu-open) .menu-panel a:nth-child(2) { transition-delay: 0.14s; }
    body:not(.menu-open) .menu-panel a:nth-child(3) { transition-delay: 0.12s; }
    body:not(.menu-open) .menu-panel a:nth-child(4) { transition-delay: 0.1s; }
    body:not(.menu-open) .menu-panel a:nth-child(5) { transition-delay: 0.08s; }
    body:not(.menu-open) .menu-panel a:nth-child(6) { transition-delay: 0.06s; }
    body:not(.menu-open) .menu-panel a:nth-child(7) { transition-delay: 0.05s; }
    body:not(.menu-open) .menu-panel a:nth-child(8) { transition-delay: 0.04s; }
    body:not(.menu-open) .menu-panel a:nth-child(9) { transition-delay: 0.03s; }
    body:not(.menu-open) .menu-panel a:nth-child(10) { transition-delay: 0.02s; }
    body:not(.menu-open) .menu-panel a:nth-child(11) { transition-delay: 0.01s; }
    body:not(.menu-open) .menu-panel a:nth-child(12) { transition-delay: 0s; }
    .menu-panel .menu-sub {
      font-size: 16px;
      color: var(--muted);
      letter-spacing: 0;
      font-weight: 400;
    }
    .menu-panel a.menu-quote {
      align-self: flex-start;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      margin-top: 8px;
      padding: 0 18px;
      border-radius: var(--radius-pill);
      background: var(--blue);
      color: #041018;
      font-weight: 500;
      text-decoration: none;
    }

    .wrap { width: min(var(--max), calc(100% - (var(--pad) * 2))); margin: 0 auto; }
    .eyebrow {
      margin: 0 0 18px;
      font-family: "Geist Mono", "Geist Mono Fallback", ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 12px;
      letter-spacing: var(--track-label);
      text-transform: uppercase;
      color: var(--blue);
    }

    footer {
      padding: 48px 0 120px;
      color: var(--muted);
      font-size: 14px;
    }
    .foot {
      display: grid;
      grid-template-columns: 1.2fr 1.4fr 0.8fr;
      gap: 32px;
      background: var(--glass);
      border: 1px solid var(--blue-line-soft);
      border-radius: var(--radius-card);
      padding: 32px 36px;
      backdrop-filter: blur(18px);
    }
    footer a { color: #fff; text-decoration: none; }
    footer a:hover { text-decoration: underline; }
    .foot nav { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); }
    .foot nav a { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 2px; }
    /* 2026-09-26 (audit fix 21): the address, phone and email links were 18px tall on phones. */
    .foot address a { display: inline-block; min-height: 24px; padding: 3px 0; line-height: 1.5; }
    address { font-style: normal; line-height: 1.6; }
    address a[href*="maps"] { display: inline-block; }
    .copy { margin: 28px 0 0; color: var(--dim); text-shadow: 0 2px 28px rgba(0, 0, 0, 0.55); }

    .dock {
      display: none;
      position: fixed;
      left: calc(12px + env(safe-area-inset-left));
      right: calc(12px + env(safe-area-inset-right));
      bottom: calc(12px + env(safe-area-inset-bottom));
      z-index: 40;
      gap: 8px;
      padding: 8px;
      background: var(--glass);
      border: 1px solid var(--blue-line);
      border-radius: var(--radius-card);
      backdrop-filter: blur(16px);
      opacity: 1;
      transition: opacity 0.85s ease, transform 0.85s ease;
    }
    body.menu-open .dock {
      opacity: 0;
      transform: translateY(10px);
      pointer-events: none;
      transition: opacity 0.85s ease, transform 0.85s ease;
    }
    .dock a { flex: 1; }

    section { padding: 88px 0; }
    section .wrap {
      background: var(--glass);
      border: 1px solid var(--blue-line-soft);
      border-radius: var(--radius-card);
      padding: 40px 36px 36px;
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    details { border-top: 1px solid var(--line); }
    details:last-of-type { border-bottom: 1px solid var(--line); }
    summary {
      display: flex;
      justify-content: space-between;
      gap: 24px;
      align-items: center;
      padding: 20px 0;
      cursor: pointer;
      font-size: 17px;
      font-weight: 500;
      letter-spacing: -0.02em;
      list-style: none;
    }
    summary::-webkit-details-marker { display: none; }
    summary::after {
      content: "+";
      font-family: "Geist Mono", "Geist Mono Fallback", ui-monospace, monospace;
      color: var(--dim);
      font-weight: 400;
    }
    details[open] summary::after { content: "–"; }
    details p { margin: 0 0 20px; max-width: 38rem; color: var(--muted); }
    details a { color: var(--blue-2); }

    /* 2026-09-27 (G9, pillar-site D1): moved here from v2-home.css so /reviews can use the same
       rating badge markup as the homepage instead of the unstyled legacy badge it inherited.
       Unchanged on the homepage. */
    .score {
      text-decoration: none;
      display: block;
    }
    .score b {
      display: block;
      font-size: 84px;
      font-weight: 500;
      letter-spacing: -0.06em;
      line-height: 0.9;
    }
    .stars { color: var(--star); letter-spacing: 0.12em; font-size: 14px; }
    .score span { display: block; margin-top: 8px; color: var(--muted); }

    /* 2026-09-27 (G9, section 8.3): shared small muted line, matched to .fine. The homepage's
       own .note rule in v2-home.css loads after this one and keeps its current look. */
    .note { margin: 14px 0 0; color: var(--dim); font-size: 13px; }

    /* 2026-09-27 (G9, section 8.3 / 4.6): a crawlable photo card for city and venue pages. */
    .card-photo { margin: 0; }
    .card-photo img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: var(--radius-card);
    }
    .card-photo figcaption {
      margin-top: 10px;
      color: var(--dim);
      font-family: "Geist Mono", "Geist Mono Fallback", ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 12px;
      letter-spacing: 0.04em;
    }

    .social-float { padding: 28px 0 8px; }
    .social-float h2 {
      margin: 0 0 8px;
      text-align: center;
      font-size: var(--type-h2);
      font-weight: 500;
      letter-spacing: -0.04em;
    }
    .social-float p {
      margin: 0 auto 22px;
      max-width: 57ch;
      text-align: center;
      color: var(--muted);
    }
    .social-float .wrap {
      background: none;
      border: 0;
      border-radius: 0;
      padding: 0;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      box-shadow: none;
    }
    .social-icons {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 14px;
    }
    .social-icons a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 64px;
      height: 64px;
      border-radius: var(--radius-card);
      border: 1px solid rgba(255, 255, 255, 0.16);
      background: rgba(255, 255, 255, 0.06);
      text-decoration: none;
    }
    .social-icons a:hover { background: var(--blue-line-soft); }
    .social-icons svg {
      width: 28px;
      height: 28px;
      display: block;
    }
    .social-icons .linktree {
      width: auto;
      padding: 0 18px;
      color: #fff;
      font-size: 15px;
    }
    @media (max-width: 640px) {
      .social-icons { flex-wrap: nowrap; gap: 8px; }
      .social-icons a { width: auto; height: 52px; flex: 1 1 0; border-radius: var(--radius-card); }
      .social-icons .linktree { padding: 0 6px; font-size: 12px; letter-spacing: -0.03em; }
    }
    @media (min-width: 981px) {
      .social-icons { gap: 18px; }
      .social-icons a {
        width: 92px;
        height: 92px;
        border-radius: var(--radius-card);
      }
      .social-icons svg { width: 36px; height: 36px; }
      .social-icons .linktree {
        padding: 0 26px;
        font-size: 18px;
      }
    }

    @media (max-width: 980px) {
      .nav.nav-away { pointer-events: none; }
      .brand img,
      .menu-btn,
      .brand-word {
        transition: background-color 0.6s ease, border-color 0.6s ease, box-shadow 0.6s ease, --menu-blur 0.6s ease, opacity 0.6s ease, width 0.6s ease;
      }
      .nav.nav-away .brand,
      .nav.nav-away .menu-btn,
      .nav.nav-away .nav-phone { pointer-events: auto; }
      .nav.nav-away .brand-word {
        opacity: 0;
        width: 0;
        overflow: hidden;
      }
      .nav.nav-away .menu-btn {
        background: var(--glass-chip);
        border: 1px solid rgba(255, 255, 255, 0.24);
        border-radius: var(--radius-card);
        --menu-blur: 14px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
      }
      .nav-fold, .nav .btn { display: none; }
      .nav-phone {
        max-width: 0;
        margin-left: -28px;
        padding: 0;
        pointer-events: none;
        background: transparent;
        border-width: 0;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transition: max-width 0.6s ease, margin-left 0.6s ease, padding 0.6s ease;
      }
      .nav-phone-glass {
        transition: background-color 0.6s ease, border-color 0.6s ease, box-shadow 0.6s ease, --phone-blur 0.6s ease;
      }
      .nav-phone span:not(.nav-phone-glass) { opacity: 0; transition: opacity 0.6s ease; }
      .nav.nav-away .nav-phone {
        max-width: 12rem;
        margin-left: 0;
        padding: 0 14px;
        pointer-events: auto;
        background: transparent;
        border-width: 0;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .nav.nav-away .nav-phone span:not(.nav-phone-glass) { opacity: 1; }
      .nav.nav-away .nav-phone-glass {
        --phone-blur: 14px;
        background: var(--glass-chip);
        border-color: rgba(255, 255, 255, 0.24);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
      }
      .menu-btn { display: inline-flex; }
      .nav-phone { display: none; }
      .foot { grid-template-columns: 1fr; }
      .dock { display: flex; }
      section { padding: 40px 0; }
      section .wrap { padding: 28px 22px; }
    }
    @media (max-width: 640px) {
      :root { --pad: 18px; }
    }
    @media (max-width: 1199px) and (min-width: 981px) {
      .nav-fold { display: none; }
      .brand img,
      .menu-btn,
      .brand-word {
        transition: background-color 0.6s ease, border-color 0.6s ease, box-shadow 0.6s ease, --menu-blur 0.6s ease, opacity 0.6s ease;
      }
      .menu-btn {
        display: inline-flex;
        width: 44px;
        min-width: 44px;
        opacity: 1;
        margin-left: 0;
        padding: 0;
        overflow: visible;
        pointer-events: auto;
        border-color: var(--line-strong);
      }
      .nav.nav-away { pointer-events: none; }
      .nav.nav-away .brand,
      .nav.nav-away .menu-btn,
      .nav.nav-away .nav-phone,
      .nav.nav-away > .btn { pointer-events: auto; }
      .nav.nav-away .brand-word {
        opacity: 0;
        pointer-events: none;
      }
      .nav.nav-away .menu-btn {
        background: var(--glass-chip);
        border: 1px solid rgba(255, 255, 255, 0.24);
        border-radius: var(--radius-card);
        --menu-blur: 14px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
      }
      .nav.nav-away .nav-phone-glass {
        --phone-blur: 14px;
        background: var(--glass-chip);
        border-color: rgba(255, 255, 255, 0.24);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
      }
    }
    @media (max-width: 1199px) {
      body.menu-open .nav.nav-away { pointer-events: auto; }
      body.menu-open .nav .nav-glass {
        --nav-blur: 18px;
        background: var(--glass-bar);
        border-bottom-color: var(--blue-line);
        transition: none;
      }
      body.menu-open .nav.nav-away .brand,
      body.menu-open .nav.nav-away .menu-btn {
        pointer-events: auto;
      }
      body.menu-open .nav.nav-away .brand-word {
        opacity: 1;
        width: auto;
        overflow: visible;
        pointer-events: auto;
        transition: none;
      }
      body.menu-open .nav.nav-away .brand img,
      body.menu-open .nav.nav-away .nav-phone {
        background: transparent;
        box-shadow: none;
        border-color: transparent;
      }
      body.menu-open .nav.nav-away .brand img { padding: 0; }
      body.menu-open .nav.nav-away .menu-btn {
        background: transparent;
        box-shadow: none;
        --menu-blur: 0px;
        border-color: var(--line-strong);
        transition: none;
      }
      body.menu-open .nav.nav-away .nav-phone-glass {
        --phone-blur: 0px;
        background: transparent;
        border-color: transparent;
        box-shadow: none;
        transition: none;
      }
    }
    @media (max-width: 980px) {
      body.menu-open .nav.nav-away .nav-phone {
        max-width: 0;
        margin-left: -28px;
        padding: 0;
        pointer-events: none;
        transition: none;
      }
      body.menu-open .nav.nav-away .nav-phone span:not(.nav-phone-glass) {
        opacity: 0;
        transition: none;
      }
    }
    @media (min-width: 1200px) {
      .menu-btn {
        display: inline-flex;
        width: 0;
        min-width: 0;
        opacity: 1;
        margin: 0;
        padding: 0;
        border-color: transparent;
        overflow: hidden;
        pointer-events: none;
        transition: width 0.6s ease, margin 0.6s ease, border-color 0.6s ease, background-color 0.6s ease, box-shadow 0.6s ease, --menu-blur 0.6s ease;
      }
      .nav-fold {
        background: none;
        border: 0;
        padding: 0;
        height: auto;
      }
      .nav-fold-label,
      .nav-fold::after { display: none; }
      .nav-links-clip {
        position: static;
        width: auto;
        max-width: none;
        padding: 0;
        background: none;
        border: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
      }
      .nav,
      .nav-fold,
      .nav-links,
      .nav-links-clip { overflow: visible; }
      .nav-phone,
      .nav > .btn,
      .brand-word { transition: opacity 0.6s ease; }
      .nav-links a {
        transform-origin: right center;
        opacity: 1;
        transform: none;
        transition: transform 0.6s ease, opacity 0.6s ease;
      }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links a {
        opacity: 0;
        pointer-events: none;
        transition: transform 0.6s ease, opacity 0.6s ease;
      }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(1) a { transform: translateX(540px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(2) a { transform: translateX(460px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(3) a { transform: translateX(380px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(4) a { transform: translateX(300px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(5) a { transform: translateX(220px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(6) a { transform: translateX(150px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(7) a { transform: translateX(80px) scale(0.12); }
      .nav.nav-away:not(.nav-open):not(:hover):not(:focus-within) .nav-links li:nth-child(8) a { transform: translateX(24px) scale(0.12); }
      .nav.nav-away:hover .nav-links a,
      .nav.nav-away:focus-within .nav-links a,
      .nav.nav-away.nav-open .nav-links a {
        opacity: 1;
        transform: none;
        pointer-events: auto;
        transition: transform 0.6s ease, opacity 0.6s ease;
      }
      .nav.nav-away:hover .nav-glass,
      .nav.nav-away:focus-within .nav-glass,
      .nav.nav-away.nav-open .nav-glass {
        --nav-blur: 18px;
        background: var(--glass-bar);
        border-bottom-color: var(--blue-line);
      }
      .nav.nav-away.nav-open .nav-glass { transition: none; }
      .nav.nav-away .brand,
      .nav.nav-away .menu-btn,
      .nav.nav-away .nav-phone,
      .nav.nav-away > .btn { pointer-events: auto; }
      .nav.nav-away .brand-word {
        opacity: 0;
        pointer-events: none;
      }
      .nav.nav-away .menu-btn {
        width: 44px;
        margin-left: 10px;
        border-color: rgba(255, 255, 255, 0.24);
      }
      .nav.nav-away .menu-btn {
        background: var(--glass-chip);
        border: 1px solid rgba(255, 255, 255, 0.24);
        --menu-blur: 14px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
      }
      .nav.nav-away:not(:hover):not(:focus-within) .nav-phone-glass {
        --phone-blur: 14px;
        background: var(--glass-chip);
        border-color: rgba(255, 255, 255, 0.24);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
      }
      .nav.nav-away:hover .brand-word,
      .nav.nav-away:focus-within .brand-word {
        opacity: 1;
        pointer-events: auto;
      }
      .nav.nav-away:hover .brand img,
      .nav.nav-away:focus-within .brand img {
        background: transparent;
        border-color: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        padding: 0;
      }
      .nav.nav-away:hover .menu-btn,
      .nav.nav-away:focus-within .menu-btn {
        width: 0;
        min-width: 0;
        margin-left: 0;
        pointer-events: none;
        border-color: transparent;
        box-shadow: none;
        background: transparent;
        --menu-blur: 0px;
      }
      /* 2026-09-26 (audit fix 3): a 0px-wide Menu button is still a tab stop and can show as a
         2px sliver while its width animates. Hide it whenever the link row is the control. */
      .nav:not(.nav-away) .menu-btn,
      .nav.nav-away:hover .menu-btn,
      .nav.nav-away:focus-within .menu-btn { visibility: hidden; }
      .nav.nav-away.nav-open .menu-btn,
      body.menu-open .menu-btn { visibility: visible; }
    }
    .brand img,
    .nav.nav-away .brand img,
    .nav.nav-away:hover .brand img,
    .nav.nav-away:focus-within .brand img,
    body.menu-open .nav.nav-away .brand img {
      background: transparent;
      border-color: transparent;
      box-shadow: none;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      padding: 0;
    }
    @media (prefers-reduced-motion: no-preference) {
      @view-transition { navigation: auto; }
    }
    /* 2026-09-27 (G9, section 8.4, pillar-site M1): press feedback for tappable controls that
       had none. Elements that already carry their own transition or :active treatment
       (.service-request, .requestbtn, .q-back, .claim-ticket-btn, .sa-chip) are not given a
       competing transition-property here, so nothing existing is replaced or dropped; some of
       those still get the shared :active scale below, where it cannot fight a more specific or
       later-loaded rule. .q-back and .claim-ticket-btn already have their own :active transform
       at equal specificity in a later-loaded file, so a shared rule here would win and change
       their look; both are skipped entirely (see G9 report). Same reasoning covers the newer
       .q-lookup-saved-btn (pages/quotePage/quote.css): it has its own
       ":active{transform:translateY(1px) scale(.99)}" at equal specificity, and quote.css loads
       before this file, so adding it here would win the cascade and silently change its look
       (2026-09-27 G9 repair pass, request declined for that reason; the button already has its
       own working press feedback). */
    @media (prefers-reduced-motion: no-preference) {
      .btn, .btn-huge, .btn-ghost, .dock .btn, .link-chips a, .cta-alt a {
        transition: transform var(--dur-press);
      }
      .btn:active, .btn-huge:active, .btn-ghost:active, .dock .btn:active,
      .link-chips a:active, .cta-alt a:active,
      .service-request:active, .requestbtn:active, .sa-chip:active {
        transform: scale(0.97);
      }
      /* .menu-btn already has a full transition list (above); appended here rather than
         replaced, and only under this media query so reduced-motion keeps today's exact rule. */
      .menu-btn {
        transition: background-color 0.6s ease, border-color 0.6s ease, box-shadow 0.6s ease, --menu-blur 0.6s ease, width 0.6s ease, opacity 0.6s ease, margin 0.6s ease, transform var(--dur-press);
      }
      .menu-btn:active { transform: scale(0.97); }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      * { transition: none !important; animation: none !important; }
      body.menu-open .menu-panel a { opacity: 1; transform: none; }
    }
