    :root {
      --nav-h: 84px;
      --stucco: #ede6d7;
      --stucco-2: #e3dcc9;
      --ink: #100D09;
      --ink-2: #1c1812;
      --line: rgba(16, 13, 9, 0.12);
      --line-strong: rgba(16, 13, 9, 0.45);
      --hl: #DD7078;        /* tea rose — highlight / accent */
      --pop: #302C4D;       /* rhodonite — action / hover */

      /* spacing scale (rem) */
      --s-1: 0.5rem;
      --s-2: 1rem;
      --s-3: 1.5rem;
      --s-4: 2rem;
      --s-5: 3rem;
      --s-6: 4rem;
      --s-7: 6rem;
      --s-8: 8rem;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    [id]:target, .booking, .faq, .about, .pricing, .close-cta { scroll-margin-top: 90px; }
    body {
      background: var(--stucco);
      color: var(--ink);
      font-family: 'Archivo', system-ui, sans-serif;
      font-size: 16px;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    a { color: inherit; text-decoration: none; }
    img, svg { display: block; }

    /* ────────────── TYPE SYSTEM ────────────── */
    .h1 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(3rem, 7vw, 6.5rem);
      line-height: 0.95;
      letter-spacing: -0.035em;
      margin: 0;
    }
    @media (max-width: 540px) {
      .h1 { font-size: clamp(1.75rem, 9vw, 3rem); }
    }
    .h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.6vw, 3.5rem);
      line-height: 1;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .h3 {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.375rem;
      line-height: 1.15;
      letter-spacing: -0.02em;
      margin: 0;
    }
    .body-l { font-size: 1.0625rem; line-height: 1.6; }
    .body-m { font-size: 0.9375rem; line-height: 1.55; }
    .body-s { font-size: 0.8125rem; line-height: 1.55; }
    .mono {
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.75rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .eyebrow {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-size: 0.72rem;
      color: rgba(10, 10, 10, 0.55);
    }

    /* yellow highlighter behind a word (kept for reuse) */
    .hl {
      background: linear-gradient(180deg, transparent 0 52%, var(--hl) 52% 92%, transparent 92%);
      padding: 0 0.25rem;
    }

    /* keyhole-as-period — replaces the dot after "key" in the hero H1.
       Same proportions as the keyhole inside the 8 in the logo. */
    .keyhole-dot {
      display: inline-block;
      width: 0.46em;
      height: 0.84em;
      vertical-align: -0.04em;
      margin-left: 0.08em;
      color: var(--hl);
    }

    /* shared container */
    .container {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 var(--s-4);
    }

    /* ────────────── LOGO MARKS ────────────── */
    /* SVG-based crops of the official logo PNG.
       - .logo-zi8 → full "ZI8" wordmark (viewBox shows cols 0–4250)
       - .logo-8   → just the keyhole-8 (viewBox shows cols 2870–4130)         */
    .logo-zi8, .logo-8 { display: block; }
    .logo-8.invert { filter: brightness(0) invert(1); }

    /* ────────────── NAV ──────────────
       Two states:
       1. TOP   — generous padding, full ZI8 wordmark, address + status visible
       2. SCROLLED — compact padding, keyhole-8 only, address hidden  */
    .nav {
      position: sticky; top: 0; z-index: 50;
      background: rgba(237, 230, 215, 0.88);
      backdrop-filter: saturate(180%) blur(10px);
      -webkit-backdrop-filter: saturate(180%) blur(10px);
      transition: background 0.3s ease, box-shadow 0.3s ease;
    }
    .nav.scrolled {
      background: rgba(237, 230, 215, 0.97);
      box-shadow: 0 1px 0 rgba(10, 10, 10, 0.05), 0 10px 28px -8px rgba(10, 10, 10, 0.06);
    }
    .nav.scrolled.is-on-dark {
      background: rgba(16, 13, 9, 0.96);
      box-shadow: 0 1px 0 rgba(237, 230, 215, 0.08), 0 10px 28px -8px rgba(0, 0, 0, 0.3);
    }
    .nav.is-on-dark:not(.scrolled) {
      background: var(--ink);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      box-shadow: none;
    }
    /* Homepage only: hero overlaps nav via negative margin, so transparent works */
    .has-fullbleed-hero .nav.is-on-dark:not(.scrolled) {
      background: transparent;
    }
    .nav .addr,
    .nav .nav-contact,
    .nav .nav-contact a,
    .nav .nav-menu a,
    .nav .lang,
    .nav .lang .active-lang,
    .nav .cta,
    .nav .menu-toggle,
    .nav .menu-toggle span {
      transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
    }
    .nav .brand-logo svg { transition: filter 0.3s ease, -webkit-filter 0.3s ease; }
    .nav-inner {
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.25rem var(--s-4);
      gap: var(--s-3);
      transition: padding 0.3s ease;
    }
    .nav.scrolled .nav-inner { padding: 0.65rem var(--s-4); }

    /* BRAND — logo + address */
    .nav-brand { display: flex; align-items: center; gap: var(--s-3); }

    .brand-logo {
      position: relative;
      display: block;
      height: 44px;
      width: 58px;             /* full ZI8 portion at this height */
      overflow: hidden;
      transition: height 0.35s ease, width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .nav.scrolled .brand-logo {
      height: 30px;
      width: 14px;             /* keyhole-8 only */
    }
    .brand-logo svg {
      position: absolute; top: 0; left: 0;
      height: 100%; width: auto;
      display: block;
      transition: opacity 0.3s ease;
    }
    .brand-logo .logo-mark { opacity: 0; }
    .nav.scrolled .brand-logo .logo-full { opacity: 0; }
    .nav.scrolled .brand-logo .logo-mark { opacity: 1; }

    .nav-brand .addr {
      display: none;
    }
    .nav.scrolled .nav-brand .addr {
      opacity: 0;
      visibility: hidden;
      max-width: 0;
      padding-left: 0;
      margin-left: 0;
      border-color: transparent;
      display: none;
    }

    /* LIVE STATUS pill */
    .nav-status {
      display: inline-flex; align-items: center; gap: 0.55rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.7rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.7);
      padding: 0.35rem 0.75rem;
      border: 1px solid var(--line-strong);
      border-radius: 999px;
      transition: opacity 0.25s ease, transform 0.35s ease;
    }
    .nav-status .dot {
      width: 7px; height: 7px;
      background: var(--hl);
      border-radius: 50%;
      position: relative;
      flex: none;
    }
    .nav-status .dot::after {
      content: '';
      position: absolute; inset: -5px;
      border-radius: 50%;
      background: var(--hl);
      animation: pulse 2s ease-out infinite;
    }
    @keyframes pulse {
      0%   { opacity: 0.55; transform: scale(0.55); }
      80%  { opacity: 0;    transform: scale(1.7); }
      100% { opacity: 0;    transform: scale(1.7); }
    }
    .nav.scrolled .nav-status { transform: translateX(-6px); }

    /* MENU links */
    .nav-menu { display: flex; gap: var(--s-3); margin: 0; padding: 0; list-style: none; }
    .nav-menu li a {
      position: relative;
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.9375rem;
      color: var(--ink);
      padding: 0.2rem 0;
      transition: color 0.2s ease;
    }
    .nav-menu li a:hover { color: var(--pop); }
    .nav-menu li.active a { color: var(--pop); font-weight: 700; font-size: 1rem; }

    /* inline contact in nav — small black text with a faded divider */
    .nav-contact {
      display: inline-flex; align-items: center; gap: 0.45rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.6rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--ink);
    }
    .nav-contact a {
      position: relative;
      transition: color 0.2s ease;
    }
    .nav-contact a:hover { color: var(--pop); }
    .nav-contact span { opacity: 0.4; }

    /* RIGHT side: lang + CTA + hamburger (mobile) */
    .nav-right { display: flex; align-items: center; gap: var(--s-3); }
    .nav .lang {
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.8125rem;
      letter-spacing: 0.06em;
      color: var(--ink);
    }
    .nav .lang .active-lang { color: var(--pop); }
    .nav .lang .lang-switch {
      all: unset;
      cursor: pointer;
      color: inherit;
      opacity: 0.5;
      transition: opacity 0.2s;
      font-family: inherit;
      font-size: inherit;
      font-weight: inherit;
      letter-spacing: inherit;
    }
    .nav .lang .lang-switch:hover { opacity: 1; }
    .lang-foot {
      background: none; border: none; padding: 0;
      font: inherit; color: inherit; cursor: pointer; opacity: 0.7;
    }
    .lang-foot:hover { opacity: 1; }
    .nav .cta {
      background: var(--pop); color: var(--stucco);
      padding: 0.7rem 1.1rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.8125rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      display: inline-flex; align-items: center; gap: 0.4rem;
      transition: background 0.2s ease, color 0.2s ease;
    }
    .nav .cta:hover { background: var(--hl); color: var(--pop); }

    /* ─── Dark variant — nav adapts when over a dark section ─── */
    .nav.is-on-dark {
      background: var(--ink);
      color: var(--stucco);
    }
    .nav.is-on-dark .brand-logo svg { filter: brightness(0) invert(1); -webkit-filter: brightness(0) invert(1); }
    .nav.is-on-dark .addr { color: rgba(237, 230, 215, 0.7); }
    .nav.is-on-dark .nav-contact { color: rgba(237, 230, 215, 0.6); }
    .nav.is-on-dark .nav-contact a { color: rgba(237, 230, 215, 0.85); }
    .nav.is-on-dark .nav-contact a:hover { color: var(--hl); }
    .nav.is-on-dark .nav-menu a { color: var(--stucco); }
    .nav.is-on-dark .nav-menu li.active a { color: var(--hl); }
    .nav.is-on-dark .nav-menu a:hover { color: var(--hl); }
    .nav.is-on-dark .lang { color: rgba(237, 230, 215, 0.55); }
    .nav.is-on-dark .lang .active-lang { color: var(--hl); }
    .nav.is-on-dark .cta { background: var(--hl); color: var(--ink); }
    .nav.is-on-dark .cta:hover { background: var(--pop); color: var(--hl); }
    .nav.is-on-dark .menu-toggle { border-color: rgba(237, 230, 215, 0.35); }
    .nav.is-on-dark .menu-toggle span { background: var(--stucco); }

    /* HAMBURGER button (mobile only) */
    .menu-toggle {
      display: none;
      width: 40px; height: 40px;
      padding: 0;
      background: none;
      border: 1px solid var(--line-strong);
      cursor: pointer;
      flex-shrink: 0;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 6px;
    }
    .menu-toggle span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      transition: transform 0.25s ease;
    }
    .menu-open .menu-toggle span:nth-child(1) { transform: translateY(4px) rotate(45deg); }
    .menu-open .menu-toggle span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }

    /* (mobile-menu rules consolidated at end of file) */
    .mobile-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
    .mobile-menu li a {
      font-family: 'Archivo Black', sans-serif;
      font-size: 2rem;
      letter-spacing: -0.02em;
      color: var(--ink);
    }
    .mobile-menu li.active a { color: var(--ink); }
    .mobile-menu li.active a span { background: var(--hl); padding: 0 0.3rem; }
    .mobile-menu .foot {
      margin-top: auto;
      padding-top: var(--s-4);
      border-top: 1px solid var(--line);
      display: flex; flex-direction: column; gap: 0.6rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.8rem;
      letter-spacing: 0.06em;
      color: rgba(10, 10, 10, 0.7);
    }

    /* ────────────── HERO ────────────── */
    .hero {
      position: relative;
      overflow: hidden;
      background: var(--ink);
      min-height: 100svh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 0 var(--s-4);
      margin-top: calc(-1 * var(--nav-h));
    }
    .hero-inner {
      max-width: 1400px;
      margin: 0 auto;
      width: 100%;
      position: relative;
      z-index: 2;
      padding: calc(var(--nav-h) + var(--s-5)) 0 var(--s-7);
    }
    .hero-meta {
      display: flex; justify-content: space-between; align-items: center;
      border-top: 1px solid var(--line-strong);
      border-bottom: 1px solid var(--line-strong);
      padding: var(--s-2) 0;
      gap: var(--s-3); flex-wrap: wrap;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.72rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.65);
    }
    .wordmark {
      display: block;
      width: 100%;
      max-width: 720px;
      margin: var(--s-6) 0 var(--s-5);
    }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: clamp(var(--s-4), 5vw, var(--s-6));
      align-items: start;
    }
    .hero-logo {
      display: flex;
      align-items: center;
      justify-content: flex-end;
    }
    .hero-logo .zi8-mark {
      display: block;
      width: 100%;
      max-width: 640px;
      height: auto;
    }
    .hero-text .h1 { color: var(--stucco); }
    .hero-text p {
      margin: var(--s-3) 0 0;
      max-width: 540px;
      color: rgba(237, 230, 215, 0.72);
    }
    .hero-logo .zi8-mark { filter: brightness(0) invert(1); -webkit-filter: brightness(0) invert(1); opacity: 0.1; }
    .hero-actions {
      margin-top: var(--s-4);
      display: flex; flex-wrap: wrap; gap: var(--s-1);
    }
    .hero .btn-ghost {
      border-color: rgba(237, 230, 215, 0.6);
      color: var(--stucco);
    }
    .hero .btn-ghost:hover {
      background: var(--hl);
      color: var(--pop);
      border-color: var(--pop);
    }
    .hero-gallery {
      position: absolute;
      inset: 0;
      z-index: 0;
      margin: 0;
      padding: 0;
    }
    .hero-gallery::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(
        105deg,
        rgba(16,13,9,0.94) 0%,
        rgba(16,13,9,0.82) 55%,
        rgba(16,13,9,0.62) 100%
      );
    }
    .hero-gallery .gallery-foot {
      position: absolute;
      bottom: var(--s-3);
      right: var(--s-4);
      z-index: 2;
      padding: 0;
    }
    .hero-gallery .gallery-foot .slider-nav button { color: var(--stucco); }
    .hero-gallery .gallery-foot .slider-nav button:hover span { color: var(--hl); }
    .hero-gallery .slider {
      width: 100%;
      height: 100%;
      aspect-ratio: unset;
      cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'><path d='M2 14c3-5 7.5-8 12-8s9 3 12 8c-3 5-7.5 8-12 8s-9-3-12-8z' fill='none' stroke='%230a0a0a' stroke-width='1.4' stroke-linejoin='round'/><path d='M2 14c3-5 7.5-8 12-8s9 3 12 8c-3 5-7.5 8-12 8s-9-3-12-8z' fill='none' stroke='%23FF4A1C' stroke-width='0.9' stroke-linejoin='round'/><circle cx='14' cy='14' r='2.8' fill='%23FF4A1C' stroke='%230a0a0a' stroke-width='0.8'/></svg>") 14 14, zoom-in;
    }
    .gallery-head, .gallery-foot {
      display: flex; align-items: center; justify-content: space-between;
      gap: var(--s-3);
      padding: 0.8rem 0;
    }
    .gallery-head { margin-bottom: 0; }
    .gallery-foot { margin-top: 0; justify-content: flex-end; }
    .gallery-head .eyebrow {
      color: var(--ink);
      letter-spacing: 0.16em;
    }
    .gallery-head .slider-count {
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.78rem;
      letter-spacing: 0.06em;
      color: var(--ink);
    }
    .gallery-head .slider-count .now { color: var(--pop); }
    .gallery-head .slider-count .total { color: rgba(10, 10, 10, 0.4); }
    .gallery-caption {
      font-family: 'Archivo', sans-serif;
      font-size: 0.875rem;
      color: rgba(10, 10, 10, 0.72);
      letter-spacing: 0.01em;
      flex: 1; min-width: 0;
    }
    .gallery-foot .slider-nav { display: inline-flex; gap: 1.1rem; }
    .gallery-foot .slider-nav button {
      background: none;
      border: 0;
      padding: 0.25rem 0.2rem;
      font-family: 'Archivo', sans-serif;
      font-size: 1.15rem;
      line-height: 1;
      color: var(--ink);
      cursor: pointer;
      overflow: hidden;
      transition: color 0.2s;
    }
    .gallery-foot .slider-nav button span {
      display: inline-block;
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
    }
    .gallery-foot .slider-nav button:hover span { color: var(--pop); }
    .gallery-foot .slider-nav button#slide-prev:hover span { transform: translateX(-4px); }
    .gallery-foot .slider-nav button#slide-next:hover span { transform: translateX(4px); }

    .btn {
      display: inline-flex; align-items: center; gap: 0.4rem;
      padding: 0.95rem 1.5rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 700; font-size: 0.8125rem;
      letter-spacing: 0.06em; text-transform: uppercase;
      transition: background 0.2s, color 0.2s, border-color 0.2s, gap 0.25s, transform 0.2s;
    }
    .btn-primary { background: var(--pop); color: var(--stucco); }
    .btn-primary:hover { background: var(--hl); color: var(--pop); }
    .btn-ghost { border: 1px solid var(--ink); color: var(--ink); }
    .btn-ghost .arrow { color: var(--hl); -webkit-text-stroke: 0.5px var(--ink); transition: color 0.2s ease, -webkit-text-stroke 0.2s ease; }
    .btn-ghost:hover { background: var(--hl); color: var(--pop); border-color: var(--pop); }
    .btn-ghost:hover .arrow { color: var(--pop); -webkit-text-stroke: 0; }

    /* slider on right of hero */
    .slider {
      position: relative;
      overflow: hidden;
      aspect-ratio: 4 / 5;
      background: var(--stucco-2);
      cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'><path d='M2 14c3-5 7.5-8 12-8s9 3 12 8c-3 5-7.5 8-12 8s-9-3-12-8z' fill='none' stroke='%230a0a0a' stroke-width='1.4' stroke-linejoin='round'/><path d='M2 14c3-5 7.5-8 12-8s9 3 12 8c-3 5-7.5 8-12 8s-9-3-12-8z' fill='none' stroke='%23e7ff90' stroke-width='0.9' stroke-linejoin='round'/><circle cx='14' cy='14' r='2.8' fill='%23e7ff90' stroke='%230a0a0a' stroke-width='0.8'/></svg>") 14 14, zoom-in;
    }
    .slide {
      position: absolute; inset: 0;
      opacity: 0;
      transition: opacity 1.2s ease;
    }
    .slide.active { opacity: 1; }
    .slide img {
      width: 100%; height: 100%;
      object-fit: cover;
      will-change: transform;
    }

    /* Slider count + nav styles — used by the editorial gallery-head/foot */
    .slider-nav { display: inline-flex; gap: 0.25rem; }

    /* ────────────── LIGHTBOX ────────────── */
    .lightbox {
      position: fixed; top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(10, 10, 10, 0.96);
      z-index: 100;
      display: flex; align-items: center; justify-content: center;
      padding: 4rem 2rem;
      opacity: 0; visibility: hidden;
      transition: opacity 0.25s ease, visibility 0s linear 0.25s;
    }
    .lightbox.open {
      opacity: 1; visibility: visible;
      transition: opacity 0.25s ease, visibility 0s linear 0s;
    }
    .lightbox img {
      max-width: 100%; max-height: 100%;
      object-fit: contain;
      box-shadow: 0 20px 60px -10px rgba(0,0,0,0.6);
    }
    .lightbox button {
      position: absolute;
      background: none;
      border: 1px solid rgba(237, 230, 215, 0.3);
      color: var(--stucco);
      cursor: pointer;
      font-family: 'Archivo', sans-serif;
      transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
    .lightbox .lightbox-close { top: 1.25rem; right: 1.25rem; width: 44px; height: 44px; font-size: 1.3rem; line-height: 1; }
    .lightbox .lightbox-prev, .lightbox .lightbox-next { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 1.1rem; }
    .lightbox .lightbox-prev { left: 1.25rem; }
    .lightbox .lightbox-next { right: 1.25rem; }
    .lightbox button:hover { background: var(--hl); color: var(--pop); border-color: var(--hl); }
    .lightbox-counter {
      position: absolute;
      bottom: 1.5rem; left: 50%; transform: translateX(-50%);
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.85rem;
      letter-spacing: 0.06em;
      color: var(--stucco);
    }
    .lightbox-counter .now { color: var(--hl); }
    .lightbox-counter .total { opacity: 0.5; }

    /* ────────────── CONCEPT SECTION ────────────── */
    .concept {
      padding: var(--s-5) var(--s-4) var(--s-7);
    }
    .concept-inner {
      max-width: 1400px; margin: 0 auto;
      display: grid;
      grid-template-columns: 1.1fr 1.4fr;
      gap: var(--s-6);
      align-items: start;
    }
    .concept .lead .eyebrow { display: block; margin-bottom: var(--s-3); }
    .concept .lead h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2.25rem, 4vw, 3.75rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .concept .lead h2 .sub {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--pop);
      margin-top: 0.55rem;
    }
    .lead-stat {
      display: flex;
      align-items: baseline;
      gap: 0.85rem;
      margin-top: var(--s-3);
      padding-top: var(--s-3);
      border-top: 1px solid var(--ink);
    }
    .lead-stat .n {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.4vw, 3rem);
      line-height: 1;
      letter-spacing: -0.03em;
    }
    .lead-stat .n sup {
      font-size: 0.42em;
      vertical-align: 1em;
      margin-left: 0.05em;
      color: var(--ink);
    }
    .lead-stat .l {
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.7rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .concept .body p + p { margin-top: var(--s-3); }
    .concept .body { font-size: 1.0625rem; line-height: 1.65; color: rgba(10, 10, 10, 0.85); }
    /* stats strip — bookend the concept block */
    .concept-stats {
      max-width: 1400px;
      margin: var(--s-6) auto 0;
      display: grid; grid-template-columns: repeat(2, 1fr);
      gap: var(--s-4);
    }
    .concept-stats .stat .n {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2.25rem, 4vw, 3.75rem);
      line-height: 1;
      letter-spacing: -0.03em;
    }
    .concept-stats .stat .n sup {
      font-size: 0.5em;
      vertical-align: super;
      letter-spacing: 0;
    }
    .concept-stats .stat .n .pop { color: var(--pop); }
    .concept-stats .stat .l {
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.7rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-top: 0.4rem;
    }

    /* facilities — 5-column strip */
    .facilities {
      max-width: 1400px;
      margin: var(--s-6) auto 0;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: var(--s-3) var(--s-4);
    }
    .facility {
      display: flex; flex-direction: column; gap: 0.35rem;
      transition: color 0.2s ease;
    }
    .facility:hover .icon { color: var(--pop); }
    .facility .icon {
      width: 26px; height: 26px;
      color: var(--ink);
      display: block;
      margin-bottom: 0.4rem;
    }
    .facility .icon svg { width: 100%; height: 100%; }
    .facility .name {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.0625rem;
      letter-spacing: -0.015em;
      line-height: 1.1;
    }
    .facility .desc {
      font-size: 0.8125rem;
      line-height: 1.45;
      color: rgba(10, 10, 10, 0.7);
    }

    /* ────────────── PAGE HERO (sub-pages like /about) ────────────── */
    .page-hero {
      padding: var(--s-7) var(--s-4);
      background: var(--ink);
      color: var(--stucco);
    }
    /* Hero carousel (desks / event-space) */
    .hero-carousel {
      position: relative;
      margin-top: var(--s-4);
      overflow: hidden;
      aspect-ratio: 16/9;
      cursor: pointer;
      background: var(--ink-2);
    }
    .hc-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 0.75s ease;
    }
    .hc-slide.active { opacity: 1; }
    .hc-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .hc-prev, .hc-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(16, 13, 9, 0.5);
      border: 1px solid rgba(237, 230, 215, 0.18);
      color: var(--stucco);
      cursor: pointer;
      padding: 0.5rem 0.8rem;
      font-size: 1rem;
      line-height: 1;
      transition: background 0.2s;
      z-index: 2;
    }
    .hc-prev:hover, .hc-next:hover { background: rgba(16, 13, 9, 0.85); }
    .hc-prev { left: var(--s-2); }
    .hc-next { right: var(--s-2); }
    /* Lightbox */
    .ph-lb {
      position: fixed;
      inset: 0;
      z-index: 300;
      background: rgba(16, 13, 9, 0.97);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.22s ease;
    }
    .ph-lb.open { opacity: 1; pointer-events: all; }
    .ph-lb-img {
      max-width: min(90vw, 1200px);
      max-height: 88vh;
      object-fit: contain;
      display: block;
    }
    .ph-lb-close {
      position: absolute;
      top: var(--s-3);
      right: var(--s-3);
      font-size: 2rem;
      line-height: 1;
      color: var(--stucco);
      background: none;
      border: none;
      cursor: pointer;
      opacity: 0.65;
      padding: var(--s-1);
    }
    .ph-lb-close:hover { opacity: 1; }
    .ph-lb-prev, .ph-lb-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-size: 1.6rem;
      color: var(--stucco);
      background: none;
      border: none;
      cursor: pointer;
      opacity: 0.55;
      padding: var(--s-2) var(--s-3);
    }
    .ph-lb-prev:hover, .ph-lb-next:hover { opacity: 1; }
    .ph-lb-prev { left: var(--s-3); }
    .ph-lb-next { right: var(--s-3); }
    .page-hero-inner {
      max-width: 1300px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: clamp(var(--s-4), 5vw, var(--s-6));
      align-items: start;
    }
    .page-hero .eyebrow { display: block; margin-bottom: var(--s-3); color: var(--hl); }
    .page-hero h1 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 4vw, 3.5rem);
      line-height: 1;
      letter-spacing: -0.025em;
      margin: 0;
      color: var(--stucco);
    }
    .page-hero h1 .sub {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--hl);
      margin-top: 0.85rem;
    }
    .page-hero h1 .accent { color: var(--hl); }
    .page-hero .hero-subtitle {
      margin: 0.85rem 0 0;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(0.9rem, 1.2vw, 1.1rem);
      letter-spacing: -0.005em;
      line-height: 1.3;
      color: rgba(237, 230, 215, 0.78);
      white-space: nowrap;
    }
    @media (max-width: 760px) {
      .page-hero .hero-subtitle { white-space: normal; }
    }
    .page-hero .hero-subtitle .accent { color: var(--hl); }
    .page-hero .intro {
      margin: var(--s-3) 0 0;
      max-width: 50ch;
      font-size: 0.95rem;
      line-height: 1.6;
      color: rgba(237, 230, 215, 0.78);
    }

    /* Founder pair within the dark hero */
    .founder-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--s-3);
    }
    .founder-pair .founder-card { display: flex; flex-direction: column; }
    .founder-pair .founder-card .photo {
      position: relative;
      aspect-ratio: 4 / 5;
      overflow: hidden;
      background: rgba(237, 230, 215, 0.06);
    }
    .founder-pair .founder-card .photo img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .founder-pair .founder-card:hover .photo img { transform: scale(1.04); }
    .founder-pair .founder-card .meta {
      display: flex; flex-direction: column;
      gap: 0.2rem;
      padding-top: 0.55rem;
      margin-top: 0.5rem;
      border-top: 1px solid rgba(237, 230, 215, 0.18);
    }
    .founder-pair .founder-card .name {
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.78rem;
      letter-spacing: -0.005em;
      line-height: 1.15;
      color: var(--stucco);
    }
    .founder-pair .founder-card .role {
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.58rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.5);
    }


    /* ────────────── CREW ────────────── */
    .about-crew {
      padding: var(--s-7) var(--s-4);
      border-top: 1px solid var(--line);
    }
    .about-crew-inner { max-width: 1400px; margin: 0 auto; }
    .about-crew .lead {
      margin-bottom: var(--s-5);
      max-width: 38ch;
    }
    .about-crew .lead .eyebrow { display: block; margin-bottom: var(--s-3); }
    .about-crew .lead h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.6vw, 3.25rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .about-crew .lead h2 .sub {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--pop);
      margin-top: 0.55rem;
    }
    .crew-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--s-4);
    }
    .crew-card { display: flex; flex-direction: column; }
    .crew-card .photo {
      aspect-ratio: 4 / 5;
      overflow: hidden;
      background: var(--stucco-2);
    }
    .crew-card .photo img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      filter: saturate(0.95);
      transition: filter 0.3s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .crew-card:hover .photo img {
      filter: saturate(1.1);
      transform: scale(1.025);
    }
    .crew-card .meta {
      display: flex; justify-content: space-between; align-items: baseline;
      gap: var(--s-2);
      padding-top: var(--s-2);
      margin-top: 0.65rem;
      border-top: 1px solid var(--line-strong);
    }
    .crew-card .name {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1rem;
      letter-spacing: -0.01em;
      line-height: 1.1;
    }
    .crew-card .role {
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.66rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.55);
      text-align: right;
    }

    /* Story section — concept-style 2-col */
    .about-story {
      padding: var(--s-7) var(--s-4);
    }
    .about-story-inner {
      max-width: 1400px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.1fr 1.4fr;
      gap: var(--s-6);
      align-items: start;
    }
    .about-story .lead .eyebrow { display: block; margin-bottom: var(--s-3); }
    .about-story .lead h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2.25rem, 4vw, 3.75rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .about-story .lead h2 .sub {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--pop);
      margin-top: 0.55rem;
    }
    /* Vision mini-slider — small auto-cycling photo trio */
    .about-story .lead .vision-slider {
      margin-top: var(--s-4);
      padding-top: var(--s-3);
      border-top: 1px solid var(--ink);
      max-width: 360px;
    }
    .about-story .lead .vision-frame {
      position: relative;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      background: var(--stucco);
    }
    .about-story .lead .vision-slide {
      position: absolute;
      inset: 0;
      margin: 0;
      opacity: 0;
      transition: opacity 0.9s ease;
    }
    .about-story .lead .vision-slide.active { opacity: 1; }
    .about-story .lead .vision-slide img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
    }
    /* Blend white sketch paper into the stucco bg, keep only the lines */
    .about-story .lead .vision-slide.is-sketch {
      background: var(--stucco);
      isolation: isolate;
    }
    .about-story .lead .vision-slide.is-sketch img {
      mix-blend-mode: darken;
      object-fit: contain;
      filter: brightness(1.06) contrast(1.08);
    }
    .about-story .lead .vision-meta {
      display: flex; justify-content: space-between; align-items: baseline;
      gap: var(--s-2);
      padding-top: 0.55rem;
      font-family: 'Archivo', sans-serif;
    }
    .about-story .lead .vision-caption {
      font-weight: 600;
      font-size: 0.62rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.6);
    }
    .about-story .lead .vision-caption .year { color: var(--pop); }
    .about-story .lead .vision-count {
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.65rem;
      letter-spacing: 0.04em;
      color: rgba(10, 10, 10, 0.4);
    }
    .about-story .lead .vision-count .now { color: var(--pop); }
    .about-story .body {
      font-size: 1.0625rem;
      line-height: 1.65;
      color: rgba(10, 10, 10, 0.85);
    }
    .about-story .body p { margin: 0; }
    .about-story .body p + p { margin-top: var(--s-3); }
    .about-story .body .hl {
      background: linear-gradient(180deg, transparent 0 52%, var(--hl) 52% 92%, transparent 92%);
      padding: 0 0.15em;
    }

    /* ────────────── ABOUT CLOSING — unified facts + quote block ────────────── */
    .about-closing {
      background: var(--ink);
      border-top: 1px solid rgba(237, 230, 215, 0.08);
      padding: var(--s-5) var(--s-4) var(--s-7);
    }
    .about-closing-inner {
      max-width: 1300px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .about-closing .about-quote--centered {
      width: 100%;
      margin: 0;
      text-align: center;
    }
    .about-closing .about-quote--centered {
      text-align: center;
      margin: 0 auto;
      max-width: 820px;
      width: 100%;
    }
    .aq-credit {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: var(--s-3);
      margin-top: var(--s-5);
    }
    .aq-attr {
      display: flex;
      align-items: flex-start;
      gap: var(--s-4);
      flex-wrap: wrap;
      justify-content: center;
    }
    .aq-person {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.3rem;
    }
    .aq-pname {
      font-family: 'Archivo', sans-serif;
      font-size: 0.92rem;
      font-weight: 600;
      color: rgba(237, 230, 215, 0.8);
      letter-spacing: 0.01em;
    }
    .aq-prole {
      font-family: 'Archivo', sans-serif;
      font-size: 0.68rem;
      font-weight: 400;
      color: rgba(237, 230, 215, 0.36);
      letter-spacing: 0.02em;
    }
    .aq-amp {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.05rem;
      line-height: 1.3;
      color: var(--hl);
      opacity: 0.65;
      flex-shrink: 0;
      padding-top: 0.05em;
    }
    .aq-foot {
      margin: 0;
      font-family: 'Archivo', sans-serif;
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--hl);
    }

    /* Pull quote on dark band — quote left, keyhole watermark right */
    .about-quote-section {
      background: var(--ink);
      color: var(--stucco);
      padding: var(--s-7) var(--s-4);
      position: relative;
      overflow: hidden;
    }
    .about-quote-bg {
      position: absolute;
      top: 50%;
      right: -4%;
      transform: translateY(-50%);
      width: 48%;
      max-width: 620px;
      pointer-events: none;
      z-index: 0;
    }
    .about-quote-bg svg {
      width: 100%;
      height: auto;
      display: block;
    }
    .about-quote-bg svg image {
      filter: brightness(0) invert(1);
      opacity: 0.1;
    }
    .about-quote-inner {
      position: relative;
      z-index: 1;
      max-width: 1300px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 740px) 1fr;
      gap: var(--s-5);
      align-items: center;
    }
    .about-quote { margin: 0; }
    .about-quote blockquote {
      margin: 0;
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-style: italic;
      font-size: clamp(1.5rem, 2.7vw, 2.35rem);
      line-height: 1.25;
      letter-spacing: -0.015em;
      color: var(--stucco);
    }
    .about-quote blockquote .qm {
      color: var(--hl);
      font-style: normal;
      font-weight: 700;
      font-size: 1em;
      margin: 0 0.02em;
    }
    .about-quote figcaption {
      margin-top: var(--s-4);
      display: inline-flex; flex-wrap: wrap; align-items: baseline;
      gap: 0.8rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.72rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--stucco);
    }
    .about-quote figcaption .dot {
      color: var(--hl);
      font-weight: 900;
    }
    .about-quote figcaption .place { color: rgba(237, 230, 215, 0.5); }
    @media (max-width: 980px) {
      .about-quote-inner { grid-template-columns: 1fr; gap: var(--s-3); }
      .about-quote-bg { width: 70%; right: -15%; opacity: 0.6; }
    }

    /* ────────────── ABOUT BODY (redesigned, no images) ────────────── */
    .about-body {
      background: var(--stucco);
      padding: var(--s-7) var(--s-4);
    }
    .about-body-inner {
      max-width: 1300px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: clamp(var(--s-5), 6vw, var(--s-7));
      align-items: start;
    }
    .about-meta {
      display: flex;
      flex-direction: column;
      gap: var(--s-2);
      padding-top: 0.35rem;
    }
    .about-meta-label {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.6rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.38);
      margin-top: var(--s-3);
    }
    .about-meta-label:first-child { margin-top: 0; }
    .about-meta-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }
    .about-meta-list li {
      font-family: 'Archivo', sans-serif;
      font-size: 0.85rem;
      font-weight: 500;
      color: rgba(10, 10, 10, 0.78);
      line-height: 1.4;
    }
    .about-meta-list li span {
      font-weight: 400;
      color: rgba(10, 10, 10, 0.5);
    }
    .about-narrative p {
      font-family: 'Archivo', sans-serif;
      font-size: clamp(1rem, 1.3vw, 1.15rem);
      line-height: 1.65;
      color: rgba(10, 10, 10, 0.82);
      margin: 0;
    }
    .about-narrative p + p {
      margin-top: var(--s-4);
    }
    .about-narrative p:last-child {
      font-style: italic;
      color: rgba(10, 10, 10, 0.5);
    }

    /* ────────────── ABOUT FACTS STRIP ────────────── */
    .about-facts {
      background: var(--ink);
      padding: var(--s-4) var(--s-4);
      border-top: 1px solid rgba(237, 230, 215, 0.08);
    }
    .about-facts-inner {
      max-width: 1300px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--s-4);
    }
    .ab-fact {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      padding-left: var(--s-3);
      border-left: 1px solid rgba(237, 230, 215, 0.15);
    }
    .ab-fact-n {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.6rem, 2.8vw, 2.5rem);
      line-height: 1;
      letter-spacing: -0.02em;
      color: var(--stucco);
    }
    .ab-fact-l {
      font-family: 'Archivo', sans-serif;
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.4);
    }
    @media (max-width: 760px) {
      .about-body-inner { grid-template-columns: 1fr; gap: var(--s-4); }
      .about-meta { flex-direction: row; flex-wrap: wrap; gap: var(--s-3) var(--s-5); padding-top: 0; border-bottom: 1px solid rgba(10,10,10,0.1); padding-bottom: var(--s-4); }
      .about-meta-label { margin-top: 0; width: 100%; }
      .about-meta-list { flex-direction: row; gap: var(--s-3); }
      .about-facts-inner { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 480px) {
      .about-facts-inner { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
    }

    /* ────────────── HERO PRICING CARD (sits inside page-hero) ────────────── */
    .page-hero.is-large {
      padding: var(--s-7) var(--s-4) var(--s-5);
    }
    /* Spread layout variant of the page hero — desks page (kept class name "is-light" for now) */
    .page-hero.is-light {
      background: var(--ink);
      color: var(--stucco);
      padding: var(--s-2) var(--s-4) var(--s-5);
    }
    .page-hero.is-light .page-hero-inner {
      align-items: start;
    }
    .page-hero.is-light h1 { color: var(--stucco); }
    .page-hero.is-light h1 .sub { color: var(--hl); }
    .page-hero.is-light h1 .accent { color: var(--hl); }
    .page-hero.is-light .hero-subtitle { color: rgba(237, 230, 215, 0.7); }
    .page-hero.is-light .intro { color: rgba(237, 230, 215, 0.78); }
    .hero-pricing-card {
      margin-top: 0;
      padding-top: 0;
    }
    .hero-pricing-card .card-head {
      display: flex; align-items: center; justify-content: space-between;
      gap: 0.85rem; flex-wrap: wrap;
    }
    .hero-pricing-card .card-name {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.25rem;
      letter-spacing: -0.01em;
      color: var(--stucco);
    }
    .hero-pricing-card .badge-pop {
      display: inline-flex; align-items: center; gap: 0.35rem;
      color: var(--hl);
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.7rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      line-height: 1;
    }
    .hero-pricing-card .badge-pop svg { width: 13px; height: 13px; }
    .hero-pricing-card .value-row {
      display: flex; align-items: baseline; gap: 0.9rem;
      margin: var(--s-2) 0 var(--s-2);
    }
    .hero-pricing-card .value-side {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
      padding-left: 0.5rem;
    }
    .hero-pricing-card .value-hour-row {
      display: flex;
      align-items: baseline;
      gap: 2.8rem;
    }
    /* Event Space: value-row mirrors card-body grid so tier-subtext aligns with right column */
    .event-pricing-card .value-row {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: var(--s-5);
      align-items: end;
    }
    .event-pricing-card .value-price-group {
      display: flex;
      align-items: baseline;
      gap: 0.9rem;
    }
    .event-pricing-card .value-tier-group {
      display: flex;
      align-items: flex-end;
      padding-bottom: 0.25rem;
    }
    .hero-pricing-card .tier-list {
      margin: 0.2rem 0 var(--s-2);
      font-family: 'Archivo', sans-serif;
      font-size: 0.9rem;
      letter-spacing: 0.01em;
      color: rgba(237, 230, 215, 0.7);
    }
    .hero-pricing-card .tier-list strong {
      font-family: 'Archivo Black', sans-serif;
      font-weight: 400;
      color: var(--stucco);
    }
    /* Subtle text line next to per hour */
    .hero-pricing-card .tier-subtext {
      margin: 0;
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.88rem;
      letter-spacing: 0.01em;
      color: rgba(237, 230, 215, 0.65);
    }
    .hero-pricing-card .tier-subtext strong {
      font-family: 'Archivo Black', sans-serif;
      font-weight: 400;
      color: var(--hl);
      margin: 0 0.05em;
    }
    .hero-pricing-card .value {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(3.5rem, 7vw, 5.5rem);
      line-height: 0.92;
      letter-spacing: -0.04em;
      color: var(--hl);
      display: inline-block;
    }
    .hero-pricing-card .value-unit {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.55);
      line-height: 1.3;
    }
    .hero-pricing-card .card-body {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: var(--s-5);
      padding-top: var(--s-4);
    }
    .hero-pricing-card .card-body h4 {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.5);
      margin: 0 0 0.85rem;
    }
    .hero-pricing-card .card-body ul {
      list-style: none;
      margin: 0; padding: 0;
      display: flex; flex-direction: column;
      gap: 0.45rem;
    }
    .hero-pricing-card .card-body li {
      font-family: 'Archivo', sans-serif;
      font-size: 0.95rem;
      line-height: 1.45;
      color: rgba(237, 230, 215, 0.88);
      display: flex; gap: 0.55rem;
    }
    .hero-pricing-card .card-body li::before {
      content: '+';
      color: var(--hl);
      font-weight: 700;
      font-family: 'Archivo Black', sans-serif;
      flex-shrink: 0;
    }
    .hero-pricing-card .actions {
      margin-top: var(--s-5);
      display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center;
    }
    .hero-pricing-card .terms {
      margin: var(--s-3) 0 0;
      font-family: 'Archivo', sans-serif;
      font-size: 0.78rem;
      line-height: 1.55;
      color: rgba(237, 230, 215, 0.45);
      max-width: 60ch;
    }
    /* Dark-context ghost button: stucco border + stucco text */
    .page-hero .btn-ghost {
      border-color: var(--stucco);
      color: var(--stucco);
    }
    .page-hero .btn-ghost .arrow { color: var(--hl); -webkit-text-stroke: 0.5px var(--stucco); }
    .page-hero .btn-ghost:hover {
      background: var(--hl);
      color: var(--pop);
      border-color: var(--pop);
    }
    /* Dark-context primary: yellow on ink (matches dark-mode nav CTA) */
    .page-hero .btn-primary {
      background: var(--hl);
      color: var(--ink);
    }
    .page-hero .btn-primary:hover {
      background: var(--pop);
      color: var(--hl);
    }

    /* Pricing card — dark palette */
    .page-hero.is-light .hero-pricing-card .card-name { color: var(--stucco); }
    .page-hero.is-light .hero-pricing-card .badge-pop { color: var(--hl); }
    .page-hero.is-light .hero-pricing-card .value {
      color: var(--hl);
      position: relative;
    }
    .page-hero.is-light .hero-pricing-card .value-unit { color: rgba(237, 230, 215, 0.55); }
    .page-hero.is-light .hero-pricing-card .tier-list { color: rgba(237, 230, 215, 0.7); }
    .page-hero.is-light .hero-pricing-card .tier-list strong { color: var(--stucco); }
    .page-hero.is-light .hero-pricing-card .card-body {
      border-top: 1px solid rgba(237, 230, 215, 0.18);
      padding-top: var(--s-4);
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: var(--s-4);
    }
    .page-hero.is-light .hero-pricing-card .card-body h4 { color: rgba(237, 230, 215, 0.5); margin: 0 0 0.85rem; }
    .page-hero.is-light .hero-pricing-card .card-body li { color: rgba(237, 230, 215, 0.88); }
    .page-hero.is-light .hero-pricing-card .card-body li::before { color: var(--hl); }
    .page-hero.is-light .hero-pricing-card .terms { color: rgba(237, 230, 215, 0.5); }

    /* Hero actions in the left text column */
    .page-hero.is-light .hero-actions {
      margin-top: var(--s-4);
      display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center;
    }
    .page-hero.is-light .hero-terms {
      margin: var(--s-3) 0 0;
      font-family: 'Archivo', sans-serif;
      font-size: 0.78rem;
      line-height: 1.55;
      color: rgba(237, 230, 215, 0.5);
      max-width: 50ch;
    }

    /* Dark-palette buttons (yellow primary, stucco ghost) */
    .page-hero.is-light .btn-primary { background: var(--hl); color: var(--ink); border: 0; }
    .page-hero.is-light .btn-primary:hover { background: var(--pop); color: var(--hl); }
    .page-hero.is-light .btn-ghost { border-color: var(--stucco); color: var(--stucco); }
    .page-hero.is-light .btn-ghost .arrow { color: var(--hl); -webkit-text-stroke: 0.5px var(--stucco); }
    .page-hero.is-light .btn-ghost:hover { background: var(--hl); color: var(--pop); border-color: var(--pop); }

    /* ───── Tier matrix (Virtual Office — 4 price tiers) ───── */
    .tier-matrix {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0.5rem;
      margin: var(--s-3) 0 var(--s-3);
    }
    .tier-matrix .tier {
      display: flex; flex-direction: column;
      padding: 0.7rem 0.7rem 0.8rem;
      border: 1px solid var(--line-strong);
      position: relative;
    }
    /* Package — navy border + navy tag (best deal) */
    .tier-matrix .tier.is-deal {
      border-color: var(--pop);
      border-width: 1px;
    }
    .tier-matrix .tier.is-deal .tier-price { color: var(--pop); }
    .tier-matrix .tier.is-deal .tier-tag {
      background: var(--pop);
      color: var(--stucco);
    }
    /* Executive — orange border + outlined tag (most popular) */
    .tier-matrix .tier.is-popular {
      border-color: var(--hl);
      border-width: 2px;
    }
    .tier-matrix .tier-tag {
      position: absolute;
      top: -0.55rem;
      left: 0.6rem;
      background: var(--hl);
      color: var(--ink);
      padding: 0.18rem 0.45rem;
      font-family: 'Archivo Black', sans-serif;
      font-weight: 400;
      font-size: 0.52rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      line-height: 1;
    }
    .tier-matrix .tier-tag.tier-tag-popular {
      background: var(--stucco);
      border: 1.5px solid var(--hl);
      color: var(--hl);
      font-size: 0.42rem;
      letter-spacing: 0.08em;
      white-space: nowrap;
    }
    .tier-matrix .tier-name {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.58rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.55);
      margin-bottom: 0.4rem;
    }
    .tier-matrix .tier-price {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.3rem, 2vw, 1.75rem);
      line-height: 1;
      letter-spacing: -0.025em;
      color: var(--ink);
    }
    .tier-matrix .tier-note {
      font-family: 'Archivo', sans-serif;
      font-size: 0.62rem;
      line-height: 1.35;
      color: rgba(10, 10, 10, 0.55);
      margin-top: 0.4rem;
    }
    @media (max-width: 860px) {
      .tier-matrix { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 500px) {
      .tier-matrix { grid-template-columns: 1fr; }
    }

    /* ───── Light-palette override for the spread hero (Virtual Office) ───── */
    .page-hero.is-light.has-light-palette {
      background: var(--stucco);
      color: var(--ink);
    }
    .page-hero.is-light.has-light-palette h1 { color: var(--ink); }
    .page-hero.is-light.has-light-palette h1 .sub { color: var(--pop); }
    .page-hero.is-light.has-light-palette .hero-subtitle { color: rgba(10, 10, 10, 0.7); }
    .page-hero.is-light.has-light-palette .intro { color: rgba(10, 10, 10, 0.78); }
    .page-hero.is-light.has-light-palette .hero-terms { color: rgba(10, 10, 10, 0.55); }

    .page-hero.is-light.has-light-palette .hero-pricing-card .card-name { color: var(--ink); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .badge-pop { color: var(--pop); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .value { color: var(--pop); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .value-unit { color: rgba(10, 10, 10, 0.55); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .tier-list { color: rgba(10, 10, 10, 0.7); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .tier-list strong { color: var(--ink); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .card-body {
      border-top-color: var(--line-strong);
    }
    .page-hero.is-light.has-light-palette .hero-pricing-card .card-body.card-body-single { grid-template-columns: 1fr; }
    .page-hero.is-light.has-light-palette .hero-pricing-card .card-body h4 { color: rgba(10, 10, 10, 0.5); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .card-body li { color: rgba(10, 10, 10, 0.85); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .card-body li::before { color: var(--pop); }
    .page-hero.is-light.has-light-palette .hero-pricing-card .terms { color: rgba(10, 10, 10, 0.55); }

    /* Light-palette buttons (Klein blue primary, ink ghost) */
    .page-hero.is-light.has-light-palette .btn-primary { background: var(--pop); color: var(--stucco); border: 0; }
    .page-hero.is-light.has-light-palette .btn-primary:hover { background: var(--hl); color: var(--pop); }
    .page-hero.is-light.has-light-palette .btn-ghost { border-color: var(--ink); color: var(--ink); }
    .page-hero.is-light.has-light-palette .btn-ghost .arrow { color: var(--hl); -webkit-text-stroke: 0.5px var(--ink); }
    .page-hero.is-light.has-light-palette .btn-ghost:hover { background: var(--hl); color: var(--pop); border-color: var(--pop); }

    @media (max-width: 760px) {
      .hero-pricing-card .card-body { grid-template-columns: 1fr; gap: var(--s-3); }
    }

    /* ────────────── DESK SPOTLIGHT (desks page) ────────────── */
    .desk-spotlight {
      padding: var(--s-7) var(--s-4);
    }
    .desk-spotlight-inner {
      max-width: 1300px;
      margin: 0 auto;
    }
    .desk-spotlight .lead {
      max-width: 38ch;
      margin-bottom: var(--s-5);
    }
    .desk-spotlight .lead .eyebrow { display: block; margin-bottom: var(--s-3); }
    .desk-spotlight .lead h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2.25rem, 4vw, 3.75rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .desk-spotlight .lead h2 .sub {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--pop);
      margin-top: 0.55rem;
    }
    .desk-card {
      border-top: 1px solid var(--ink);
      padding-top: var(--s-4);
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: var(--s-5);
      align-items: start;
    }
    .desk-card-value {
      display: flex; flex-direction: column;
      gap: 0.4rem;
    }
    .desk-card .card-head {
      display: flex; align-items: center; gap: 0.6rem;
      flex-wrap: wrap;
    }
    .desk-card .card-name {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.1rem;
      letter-spacing: -0.01em;
    }
    .desk-card .card-badge {
      display: inline-flex; align-items: center; gap: 0.35rem;
      background: var(--ink);
      color: var(--stucco);
      padding: 0.3rem 0.55rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.62rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .desk-card .value-row {
      display: flex; align-items: baseline; gap: 0.85rem;
      margin-top: var(--s-2);
    }
    .desk-card .value {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(3rem, 5.5vw, 4.75rem);
      line-height: 0.95;
      letter-spacing: -0.04em;
      color: var(--ink);
      position: relative;
    }
    .desk-card .value::after {
      content: '';
      position: absolute;
      left: 4%; right: 4%; bottom: 0.18em;
      height: 6px;
      background: var(--hl);
      z-index: -1;
    }
    .desk-card .value-unit {
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.78rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.55);
    }
    .desk-card .terms {
      margin-top: var(--s-3);
      font-family: 'Archivo', sans-serif;
      font-size: 0.78rem;
      line-height: 1.5;
      color: rgba(10,10,10,0.58);
      max-width: 30ch;
    }
    .desk-card .card-body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--s-4);
    }
    .desk-card .card-body h4 {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.5);
      margin: 0 0 0.85rem;
    }
    .desk-card .card-body ul {
      list-style: none;
      margin: 0; padding: 0;
      display: flex; flex-direction: column;
      gap: 0.45rem;
    }
    .desk-card .card-body li {
      font-family: 'Archivo', sans-serif;
      font-size: 0.95rem;
      line-height: 1.45;
      color: rgba(10,10,10,0.82);
      display: flex; gap: 0.55rem;
    }
    .desk-card .card-body li::before {
      content: '+';
      color: var(--pop);
      font-weight: 700;
      font-family: 'Archivo Black', sans-serif;
      flex-shrink: 0;
    }
    .desk-card .actions {
      grid-column: 1 / -1;
      margin-top: var(--s-3);
      padding-top: var(--s-3);
      border-top: 1px solid var(--line);
      display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center;
    }
    @media (max-width: 980px) {
      .desk-card { grid-template-columns: 1fr; gap: var(--s-3); }
      .desk-card .card-body { grid-template-columns: 1fr; }
    }

    /* ────────────── MORE section (cross-link + contact, virtual office page) ────────────── */
    .more-section {
      padding: var(--s-6) var(--s-4) var(--s-7);
    }
    .more-inner { max-width: 1300px; margin: 0 auto; }
    .more-head { margin-bottom: var(--s-4); }
    .more-head .eyebrow { display: block; margin-bottom: var(--s-2); }
    .more-head h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.75rem, 3vw, 2.5rem);
      line-height: 1;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .more-head h2 .sub {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--pop);
      margin-top: 0.55rem;
    }
    .more-list {
      border-top: 1px solid rgba(10, 10, 10, 0.18);
    }
    .more-row {
      display: grid;
      grid-template-columns: auto 1fr auto auto;
      gap: var(--s-4);
      align-items: baseline;
      padding: var(--s-3) 0;
      border-bottom: 1px solid rgba(10, 10, 10, 0.18);
      color: var(--ink);
      transition: color 0.25s ease, padding 0.25s ease;
    }
    .more-row:hover { color: var(--pop); }
    .more-title {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.15rem, 1.6vw, 1.4rem);
      line-height: 1.1;
      letter-spacing: -0.02em;
    }
    .more-desc {
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.95rem;
      line-height: 1.4;
      color: rgba(10, 10, 10, 0.72);
      transition: color 0.25s ease;
    }
    .more-row:hover .more-desc { color: var(--pop); }
    .more-meta {
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.9rem;
      letter-spacing: -0.005em;
      color: var(--ink);
      transition: color 0.25s ease;
      white-space: nowrap;
    }
    .more-row:hover .more-meta { color: var(--pop); }
    .more-arrow {
      font-family: 'Archivo', sans-serif;
      font-weight: 400;
      font-size: 0.95rem;
      color: rgba(10, 10, 10, 0.45);
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.25s ease;
      display: inline-block;
    }
    .more-row:hover .more-arrow {
      transform: translateX(6px);
      color: var(--pop);
    }
    @media (max-width: 760px) {
      .more-row {
        grid-template-columns: 1fr auto;
        gap: 0.3rem var(--s-3);
      }
      .more-desc { grid-column: 1 / -1; }
      .more-meta { grid-column: 1 / -1; }
    }

    /* ────────────── FAQ — light variant (desks page) ────────────── */
    .faq-light {
      background: var(--ink);
      color: var(--stucco);
      padding: var(--s-7) var(--s-4);
    }
    .faq-light .faq-inner { max-width: 1300px; margin: 0 auto; }

    /* Split layout — items LEFT, head RIGHT (desks page) */
    .faq-light.is-split .faq-inner {
      display: grid;
      grid-template-columns: 1.8fr 1fr;
      gap: var(--s-6);
      align-items: start;
    }
    .faq-light.is-split .faq-items { order: 1; }
    .faq-light.is-split .faq-head {
      order: 2;
      margin-bottom: 0;
      position: sticky;
      top: 100px;
    }
    .faq-light.is-split .faq-item summary {
      padding: 1.15rem 2.5rem 1.15rem 0;
      font-size: 1.05rem;
    }
    .faq-light.is-split .faq-item:first-of-type {
      border-top: 1px solid var(--line-strong);
    }
    @media (max-width: 880px) {
      .faq-light.is-split .faq-inner { grid-template-columns: 1fr; gap: var(--s-3); }
      .faq-light.is-split .faq-items { order: 2; }
      .faq-light.is-split .faq-head { order: 1; position: static; }
    }

    .faq-light .faq-head { margin-bottom: var(--s-5); }
    .faq-light .faq-head .eyebrow { color: rgba(237, 230, 215, 0.5); display: block; margin-bottom: var(--s-2); }
    .faq-light .faq-head h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.75rem, 3.6vw, 3rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
      color: var(--stucco);
    }
    .faq-light .faq-cat {
      display: grid;
      grid-template-columns: 1fr 3fr;
      gap: var(--s-4);
      padding: var(--s-3) 0;
      border-top: 1px solid rgba(237, 230, 215, 0.12);
    }
    .faq-light .faq-cat:first-of-type,
    .faq-light .faq-head + .faq-cat { border-top: 0; padding-top: 0; }
    .faq-light .faq-cat .cat-label {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.4rem;
      letter-spacing: -0.02em;
      color: var(--hl);
      align-self: start;
    }
    .faq-light .faq-items { display: flex; flex-direction: column; }
    .faq-light .faq-item + .faq-item { border-top: 1px solid rgba(237, 230, 215, 0.08); }
    .faq-light .faq-item summary {
      list-style: none;
      cursor: pointer;
      position: relative;
      padding: 1rem 2.5rem 1rem 0;
      font-family: 'Archivo Black', sans-serif;
      font-size: 1rem;
      letter-spacing: -0.005em;
      color: var(--stucco);
      transition: color 0.2s;
    }
    .faq-light .faq-item summary:hover { color: var(--hl); }
    .faq-light .faq-item summary::-webkit-details-marker { display: none; }
    .faq-light .faq-item summary::after {
      content: '+';
      position: absolute;
      right: 0; top: 50%;
      transform: translateY(-50%);
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.3rem;
      color: rgba(237, 230, 215, 0.5);
      transition: transform 0.3s ease, color 0.2s;
    }
    .faq-light .faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); color: var(--hl); }
    .faq-light .faq-item:hover summary::after { color: var(--hl); }
    .faq-light .faq-item .answer {
      padding: 0 0 1.1rem;
      font-family: 'Archivo', sans-serif;
      font-size: 0.95rem;
      line-height: 1.55;
      color: rgba(237, 230, 215, 0.78);
      max-width: 60ch;
    }
    @media (max-width: 760px) {
      .faq-light .faq-cat { grid-template-columns: 1fr; gap: var(--s-2); }
    }

    /* Closing CTA on the about page */
    .about-cta {
      padding: var(--s-7) var(--s-4);
      border-top: 1px solid var(--line);
    }
    .about-cta-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: var(--s-5);
      align-items: end;
    }
    .about-cta .eyebrow { display: block; margin-bottom: var(--s-3); }
    .about-cta h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.6vw, 3.25rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .about-cta h2 .subline {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: var(--pop);
      margin-top: 0.55rem;
    }
    .about-cta .actions {
      display: flex; flex-wrap: wrap; gap: var(--s-2);
    }
    @media (max-width: 980px) {
      .about-cta-inner { grid-template-columns: 1fr; gap: var(--s-3); align-items: start; }
    }

    /* Then / Now stats on paper bg */
    .about-stats-section {
      padding: var(--s-6) var(--s-4) var(--s-7);
    }
    .about-stats {
      max-width: 1400px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--s-4);
    }
    .about-stats .stat {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
      padding-top: var(--s-3);
      border-top: 1px solid var(--line-strong);
    }
    .about-stats .stat .n {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.5vw, 3rem);
      line-height: 0.95;
      letter-spacing: -0.025em;
      color: var(--ink);
    }
    .about-stats .stat .n sup {
      font-size: 0.4em;
      vertical-align: super;
      font-weight: 400;
      margin-left: 0.05em;
      color: rgba(10, 10, 10, 0.6);
    }
    .about-stats .stat .n .pop { color: var(--pop); }
    .about-stats .stat .l {
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.78rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, 0.6);
      max-width: 18ch;
    }

    @media (max-width: 980px) {
      .page-hero-inner { grid-template-columns: 1fr; gap: var(--s-4); align-items: start; }
      .crew-grid { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
      .about-story-inner { grid-template-columns: 1fr; gap: var(--s-3); }
      .about-stats { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
    }

    /* ────────────── PRICING ────────────── */
    .pricing {
      background: var(--ink);
      color: var(--stucco);
      padding: var(--s-7) var(--s-4);
      position: relative;
    }
    .pricing-inner { max-width: 1400px; margin: 0 auto; position: relative; }
    .pricing .head {
      display: flex; justify-content: space-between; align-items: baseline;
      gap: var(--s-3); flex-wrap: wrap;
      margin-bottom: var(--s-5);
    }
    .pricing .head .mono { color: rgba(237, 230, 215, 0.55); }

    /* feature list inside each price card */
    .price-card .features {
      list-style: none;
      margin: 0; padding: 0;
      display: flex; flex-direction: column;
      gap: 0.45rem;
    }
    .price-card .features li {
      font-size: 0.875rem; line-height: 1.4;
      color: rgba(237, 230, 215, 0.92);
      padding-left: 1rem;
      position: relative;
    }
    .price-card .features li::before {
      content: '+';
      position: absolute;
      left: 0; top: 0;
      color: var(--hl);
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.9rem;
      line-height: 1;
    }

    /* trial banner — subtle strip on the dark bg with yellow accents only */
    .trial-banner {
      margin-top: var(--s-5);
      padding-top: var(--s-4);
      border-top: 1px solid rgba(237, 230, 215, 0.18);
      color: var(--stucco);
      display: flex; align-items: center; gap: var(--s-3);
      flex-wrap: wrap;
    }
    .trial-banner .b-tag {
      background: var(--hl);
      color: var(--ink);
      padding: 0.35rem 0.65rem;
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.65rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      line-height: 1;
      flex-shrink: 0;
    }
    .trial-banner .b-head {
      flex: 1;
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.95rem;
      line-height: 1.4;
      margin: 0;
      color: rgba(237, 230, 215, 0.88);
    }
    .trial-banner .b-head em {
      font-style: italic;
      color: var(--hl);
      font-weight: 600;
    }
    .trial-banner .b-cta {
      color: var(--hl);
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      display: inline-flex; align-items: center; gap: 0.4rem;
      flex-shrink: 0;
      transition: gap 0.25s ease;
    }
    .trial-banner .b-cta:hover { gap: 0.7rem; }
    .price-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 0;
    }
    .price-card {
      padding: var(--s-4) var(--s-4) var(--s-4);
      border-left: 1px solid rgba(237, 230, 215, 0.18);
      display: flex; flex-direction: column; gap: 0;
      min-height: 420px;
      position: relative;
      opacity: 0; transform: translateY(20px);
      transition: opacity 0.6s ease, transform 0.6s ease, background 0.3s ease;
    }
    .price-card:first-child { border-left: 0; padding-left: 0; }
    .price-card.in { opacity: 1; transform: none; }

    .price-card .card-head {
      display: flex; align-items: flex-start; justify-content: space-between;
      gap: 0.5rem; margin-bottom: var(--s-3);
    }
    .price-card .name {
      font-family: 'Archivo', sans-serif;
      font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
      font-size: 0.95rem;
      color: var(--stucco);
    }
    .price-card .badge-pop {
      display: inline-flex; align-items: center; gap: 0.35rem;
      color: var(--hl);
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      line-height: 1;
    }
    .price-card .badge-pop svg { width: 13px; height: 13px; }
    .price-card .value-wrap {
      position: relative;
      display: inline-block;
      padding-bottom: 0.5rem;
    }
    .price-card .value {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(3.25rem, 5.4vw, 5.25rem);
      line-height: 0.95;
      letter-spacing: -0.02em;
      display: block;
    }
    /* thick pencil underline — single bold line just under the price, draws in on hover */
    .price-card .brush {
      position: absolute;
      left: -1%; bottom: -2px;
      width: 70%;
      height: 14px;
      overflow: visible;
      pointer-events: none;
    }
    .price-card .brush path {
      fill: none;
      stroke: var(--hl);
      stroke-width: 5;
      stroke-linecap: round;
      stroke-dasharray: 240;
      stroke-dashoffset: 240;
      transition: stroke-dashoffset 0.65s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .price-card:hover .brush path { stroke-dashoffset: 0; }

    .price-card .unit {
      font-family: 'Archivo', sans-serif;
      font-weight: 600; font-size: 0.8125rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.5);
      margin-top: 0.4rem;
      margin-bottom: var(--s-4);
    }
    .price-card .desc {
      font-size: 0.875rem; line-height: 1.6;
      color: rgba(237, 230, 215, 0.85);
      margin: 0;
    }
    .price-card .more {
      margin-top: auto;
      padding-top: var(--s-3);
      font-family: 'Archivo', sans-serif;
      font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
      font-size: 0.72rem;
      display: inline-flex; align-items: center; gap: 0.4rem;
      transition: color 0.25s, gap 0.25s;
      width: fit-content;
    }
    .price-card:hover .more { color: var(--hl); gap: 0.8rem; }
    .price-foot {
      margin-top: var(--s-4);
      font-size: 0.8125rem;
      color: rgba(237, 230, 215, 0.45);
      letter-spacing: 0.02em;
    }

    /* ────────────── BOOKING ────────────── */
    .booking {
      padding: var(--s-7) var(--s-4);
      background: var(--stucco);
    }
    .booking-inner {
      max-width: 1400px; margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: var(--s-5);
      align-items: start;
    }
    .booking .lead .eyebrow {
      display: block;
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.65rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.4);
      margin-bottom: var(--s-2);
    }
    .booking .lead h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.75rem, 3vw, 2.75rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
      white-space: nowrap;
    }
    @media (max-width: 760px) {
      .booking .lead h2 { white-space: normal; }
    }
    .booking .lead .subline {
      display: block;
      font-family: 'Archivo', sans-serif;
      font-weight: 400;
      font-style: italic;
      font-size: clamp(0.9rem, 1.2vw, 1.05rem);
      letter-spacing: 0;
      line-height: 1.4;
      color: rgba(10,10,10,0.48);
      margin-top: 0.7rem;
    }
    .booking .helper {
      font-size: 0.88rem;
      color: rgba(10,10,10,0.55);
      margin: var(--s-3) 0 var(--s-3);
      max-width: 44ch;
      line-height: 1.6;
    }

    /* Time-of-day hour grid — inline label + tight buttons */
    .slot-tod {
      display: flex; flex-direction: column;
      gap: 0.5rem;
      margin-bottom: var(--s-3);
    }
    .slot-tod:empty { margin: 0; }
    .slot-tod-group {
      display: grid;
      grid-template-columns: 5.5rem 1fr;
      align-items: center;
      gap: 0.5rem;
    }
    .slot-tod-group .tod-label {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.6rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.5);
    }
    .slot-tod-group .tod-cells { display: flex; gap: 0.25rem; flex-wrap: wrap; }
    .slot-tod-group .tod-cells button {
      background: transparent;
      border: 1px solid rgba(10,10,10,0.25);
      padding: 0.22rem 0.4rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.7rem;
      color: var(--ink);
      cursor: pointer;
      transition: background 0.2s, color 0.2s, border-color 0.2s;
      line-height: 1;
    }
    .slot-tod-group .tod-cells button:hover { border-color: var(--ink); }
    .slot-tod-group .tod-cells button.active {
      background: var(--pop);
      color: var(--stucco);
      border-color: var(--pop);
    }

    /* Mode toggle — tab/underline style */
    .mode-toggle {
      display: flex;
      margin-bottom: var(--s-3);
      border-bottom: 1px solid var(--line-strong);
    }
    .mode-toggle button {
      background: transparent;
      border: 0;
      border-bottom: 2px solid transparent;
      margin-bottom: -1px;
      padding: 0.5rem 1rem 0.55rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.35);
      cursor: pointer;
      transition: color 0.2s, border-color 0.2s;
    }
    .mode-toggle button:last-child { border-right: 0; }
    .mode-toggle button.active {
      background: transparent;
      color: var(--ink);
      border-bottom-color: var(--hl);
    }

    /* Duration pills — editorial card strip */
    .duration-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 0;
      border: 1px solid rgba(10,10,10,0.2);
    }
    .duration-pills button {
      flex: 1;
      background: transparent;
      border: 0;
      border-right: 1px solid rgba(10,10,10,0.12);
      padding: 0.9rem 0.85rem 0.8rem;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.18rem;
      transition: background 0.2s, color 0.2s;
      color: var(--ink);
      min-width: 0;
    }
    .duration-pills button:last-child { border-right: 0; }
    .duration-pills button:hover { background: rgba(10,10,10,0.04); }
    .duration-pills button .label {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.58rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.4);
      transition: color 0.2s;
    }
    .duration-pills button .price {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.25rem;
      letter-spacing: -0.03em;
      line-height: 1;
    }
    .duration-pills button.active {
      background: var(--hl);
      color: var(--ink);
      border-color: var(--hl);
    }
    .duration-pills button.active .label { color: rgba(16,13,9,0.5); }
    .duration-pills button.active .price { color: var(--pop); }
    .duration-pills.is-trial { display: none; }

    /* Booking panel (date selected → show form) */
    .book-panel {
      margin-top: var(--s-3);
      padding-top: var(--s-3);
      border-top: 1px solid var(--line);
    }
    .book-panel[hidden] { display: none; }
    .book-panel .panel-date {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.2rem;
      letter-spacing: -0.02em;
      margin: 0 0 var(--s-2);
    }
    .book-panel .slot-label {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.65rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.55);
      margin-bottom: 0.4rem;
    }
    .slot-grid {
      display: flex; gap: 0.35rem;
      flex-wrap: wrap;
      margin-bottom: var(--s-3);
    }
    .slot-grid:empty { margin: 0; }
    .slot-grid button {
      background: transparent;
      border: 1px solid var(--ink);
      padding: 0.4rem 0.6rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.78rem;
      color: var(--ink);
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
    }
    .slot-grid button.active {
      background: var(--pop); color: var(--stucco); border-color: var(--pop);
    }
    .slot-grid button.unavailable {
      opacity: 0.3;
      cursor: not-allowed;
      text-decoration: line-through;
    }
    .book-fields {
      display: grid; gap: 0.5rem;
    }

    /* Event-only fields */
    .event-fields { display: grid; gap: 0.5rem; }
    .event-fields.is-hidden { display: none; }
    .event-fields .field-label {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.6rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.55);
      margin-bottom: 0.1rem;
    }
    .event-type-pills { display: flex; gap: 0.3rem; flex-wrap: wrap; }
    .event-type-pills button {
      background: transparent;
      border: 1px solid rgba(10,10,10,0.25);
      padding: 0.35rem 0.6rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.72rem;
      color: var(--ink);
      cursor: pointer;
      transition: background 0.2s, color 0.2s, border-color 0.2s;
    }
    .event-type-pills button:hover { border-color: var(--ink); }
    .event-type-pills button.active {
      background: var(--ink);
      color: var(--hl);
      border-color: var(--ink);
    }

    /* Custom-time input for half-day */
    .half-custom {
      display: block;
      width: 100%;
      margin-top: 0.4rem;
      margin-bottom: var(--s-2);
      font-family: 'Archivo', sans-serif;
      font-size: 0.85rem;
      padding: 0.6rem 0.8rem;
      border: 1px solid rgba(10,10,10,0.2);
      background: #fafaf5;
      color: var(--ink);
      caret-color: var(--pop);
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    }
    .half-custom[hidden] { display: none; }
    .half-custom::placeholder { color: rgba(10,10,10,0.4); }
    .half-custom:focus {
      outline: none;
      border-color: var(--pop);
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(255, 107, 42, 0.15);
    }
    .book-fields input,
    .book-fields textarea {
      font-family: 'Archivo', sans-serif;
      font-size: 0.9rem;
      padding: 0.7rem 0.85rem;
      border: 1px solid rgba(10,10,10,0.2);
      background: #fafaf5;
      color: var(--ink);
      width: 100%;
      resize: vertical;
      caret-color: var(--pop);
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    }
    .book-fields input::placeholder,
    .book-fields textarea::placeholder { color: rgba(10,10,10,0.4); }
    .book-fields input:hover,
    .book-fields textarea:hover { border-color: rgba(10,10,10,0.4); }
    .book-fields input:focus,
    .book-fields textarea:focus {
      outline: none;
      border-color: var(--pop);
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(255, 107, 42, 0.15);
    }
    .book-submit {
      margin-top: var(--s-2);
      background: var(--pop);
      color: var(--stucco);
      border: 0;
      padding: 0.75rem 1.2rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.8rem;
      cursor: pointer;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      transition: background 0.2s, color 0.2s;
    }
    .book-submit:hover { background: var(--hl); color: var(--pop); }
    .book-submit:disabled { background: rgba(10,10,10,0.15); color: rgba(10,10,10,0.5); cursor: not-allowed; }
    .book-status {
      margin-top: var(--s-2);
      font-size: 0.78rem;
      color: rgba(10,10,10,0.6);
      font-style: italic;
    }

    /* Calendar */
    .calendar {
      background: var(--stucco-2);
      padding: var(--s-4);
    }
    .cal-head {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: var(--s-3);
    }
    .cal-title {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.5rem;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .cal-nav { display: inline-flex; gap: 0.9rem; }
    .cal-nav button {
      background: none;
      border: 0;
      padding: 0.25rem 0.2rem;
      font-family: 'Archivo', sans-serif;
      font-size: 1.1rem;
      line-height: 1;
      color: var(--ink);
      cursor: pointer;
      overflow: hidden;
    }
    .cal-nav button span {
      display: inline-block;
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
    }
    .cal-nav button:hover span { color: var(--pop); }
    .cal-nav button#cal-prev:hover span { transform: translateX(-4px); }
    .cal-nav button#cal-next:hover span { transform: translateX(4px); }
    .cal-grid {
      display: grid; grid-template-columns: repeat(7, 1fr);
      gap: 2px;
    }
    .cal-dow {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.62rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.5);
      text-align: center;
      padding: 0.5rem 0 0.4rem;
    }
    .cal-cell {
      aspect-ratio: 1;
      border: 1px solid transparent;
      background: var(--stucco);
      padding: 0.4rem 0.5rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.85rem;
      color: var(--ink);
      cursor: pointer;
      position: relative;
      transition: background 0.18s, color 0.18s, border-color 0.18s;
      display: flex; align-items: flex-start; justify-content: flex-start;
    }
    .cal-cell.empty { background: transparent; cursor: default; pointer-events: none; }
    .cal-cell:hover { background: rgba(10,10,10,0.08); }
    .cal-cell.today { box-shadow: inset 0 -3px 0 var(--hl); }
    .cal-cell.partial {
      background: var(--stucco);
      box-shadow: inset 0 0 0 2px var(--pop);
    }
    .cal-cell.reserved {
      background: rgba(10,10,10,0.1);
      color: rgba(10,10,10,0.4);
      cursor: not-allowed;
    }
    .cal-cell.reserved:hover { background: rgba(10,10,10,0.1); }
    .cal-cell.dimmed {
      opacity: 0.25;
      cursor: not-allowed;
    }
    .cal-cell.dimmed:hover { background: var(--stucco); }
    .cal-cell.selected {
      background: var(--hl);
      color: var(--ink);
      box-shadow: none;
    }
    .cal-legend {
      margin-top: var(--s-2);
      display: flex; gap: 1rem; flex-wrap: wrap;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(10,10,10,0.55);
    }
    .cal-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
    .cal-legend .swatch { width: 12px; height: 12px; display: inline-block; }
    .cal-legend .sw-free { background: var(--stucco); border: 1px solid rgba(10,10,10,0.18); }
    .cal-legend .sw-partial { background: var(--stucco); box-shadow: inset 0 0 0 2px var(--pop); }
    .cal-legend .sw-res { background: rgba(10,10,10,0.12); }

    /* Help + contact prompt below the columns */
    .booking-help {
      max-width: 1400px;
      margin: var(--s-6) auto 0;
      padding-top: var(--s-4);
      border-top: 1px solid var(--line);
      display: flex; align-items: flex-end; justify-content: space-between;
      gap: var(--s-3);
      flex-wrap: wrap;
    }
    .booking-help p {
      margin: 0;
      max-width: 56ch;
      font-size: 1rem;
      line-height: 1.55;
      color: rgba(10,10,10,0.78);
    }
    .booking-help p em {
      font-style: italic;
      color: var(--pop);
      font-weight: 500;
    }
    .booking-help-actions {
      display: flex; flex-wrap: wrap;
      gap: var(--s-2);
      align-items: center;
    }
    .booking-help .help-text {
      display: flex; flex-direction: column;
      gap: 0.65rem;
      max-width: 56ch;
    }
    .booking-help .help-link {
      align-self: flex-start;
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--pop);
      display: inline-flex; align-items: center; gap: 0.4rem;
      transition: gap 0.25s ease, color 0.2s;
    }
    .booking-help .help-link:hover { gap: 0.7rem; }

    .booking-actions {
      display: flex; flex-wrap: wrap;
      gap: var(--s-2);
      align-items: center;
      margin: var(--s-3) 0;
    }

    /* Booking section — calendar card, warm off-white */
    .booking .calendar {
      background: #f5f0e8;
      border-radius: 6px;
      padding: var(--s-3);
    }

    /* ───── DARK variant of the booking section (used on desks page) ───── */
    .booking.is-dark {
      background: var(--ink);
      color: var(--stucco);
      padding-top: var(--s-5);
      padding-bottom: var(--s-7);
    }
    .booking.is-dark .lead h2 {
      color: var(--stucco);
      font-size: clamp(1.75rem, 3vw, 2.75rem);
      white-space: nowrap;
    }
    .booking.is-dark .lead h2 .subline { color: var(--hl); white-space: normal; }
    @media (max-width: 760px) {
      .booking.is-dark .lead h2 { white-space: normal; }
    }
    .booking.is-dark .lead .eyebrow { color: var(--hl); }
    .booking.is-dark .helper { color: rgba(237, 230, 215, 0.75); }
    .booking.is-dark .helper strong { color: var(--stucco); }

    /* Dark-context buttons */
    .booking.is-dark .btn-primary { background: var(--hl); color: var(--ink); }
    .booking.is-dark .btn-primary:hover { background: var(--pop); color: var(--hl); }
    .booking.is-dark .btn-ghost { border-color: var(--stucco); color: var(--stucco); }
    .booking.is-dark .btn-ghost:hover { background: var(--hl); color: var(--pop); border-color: var(--pop); }

    /* Calendar + booking panel become light "cards" inside the dark section */
    .booking.is-dark .calendar {
      background: var(--stucco);
      color: var(--ink);
      padding: var(--s-3);
    }
    .booking.is-dark .book-panel {
      background: var(--stucco);
      color: var(--ink);
      padding: var(--s-3);
      margin-top: var(--s-3);
    }
    .booking.is-dark .book-panel,
    .booking.is-dark .book-panel input,
    .booking.is-dark .book-panel textarea { color: var(--ink); }

    /* Helper row on dark */
    .booking.is-dark .booking-help {
      border-top-color: rgba(237, 230, 215, 0.18);
    }
    .booking.is-dark .booking-help p { color: rgba(237, 230, 215, 0.78); }
    .booking.is-dark .booking-help p em { color: var(--hl); }
    .booking.is-dark .booking-help .help-link { color: var(--hl); }
    .booking.is-dark .booking-help .help-link:hover { color: var(--stucco); }
    .booking.is-dark .booking-help .btn-primary { background: var(--hl); color: var(--ink); }
    .booking.is-dark .booking-help .btn-primary:hover { background: var(--pop); color: var(--hl); }

    @media (max-width: 880px) {
      .booking-inner { grid-template-columns: 1fr; gap: var(--s-3); }
      .booking-help { flex-direction: column; align-items: flex-start; }
    }

    /* Dark variant — mode-toggle + duration-pills (not covered by is-dark above) */
    .booking.is-dark .mode-toggle { border-bottom-color: rgba(237,230,215,0.18); }
    .booking.is-dark .mode-toggle button { color: rgba(237,230,215,0.38); }
    .booking.is-dark .mode-toggle button.active { color: var(--stucco); border-bottom-color: var(--hl); }
    .booking.is-dark .duration-pills { border-color: rgba(237,230,215,0.18); }
    .booking.is-dark .duration-pills button { color: var(--stucco); border-right-color: rgba(237,230,215,0.1); }
    .booking.is-dark .duration-pills button:hover { background: rgba(237,230,215,0.06); }
    .booking.is-dark .duration-pills button .label { color: rgba(237,230,215,0.38); }
    .booking.is-dark .duration-pills button.active .label { color: rgba(16,13,9,0.5); }

    /* ────────────── FAQ ────────────── */
    .faq {
      background: var(--ink);
      color: var(--stucco);
      padding: var(--s-7) var(--s-4);
    }
    .faq-inner { max-width: 1400px; margin: 0 auto; }
    .faq-head { margin-bottom: var(--s-6); }
    .faq-head .eyebrow { color: var(--hl); display: block; margin-bottom: var(--s-3); }
    .faq-head h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.75rem, 4.4vw, 3.75rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
      color: var(--stucco);
      white-space: nowrap;
    }
    .faq-head .head-sub {
      margin-top: var(--s-3);
      font-size: 1rem;
      line-height: 1.55;
      color: rgba(237, 230, 215, 0.68);
      max-width: 48ch;
    }
    @media (max-width: 760px) {
      .faq-head h2 { white-space: normal; }
    }

    /* Visible paw on dark — small yellow chip */
    .paw-chip {
      display: inline-block;
      background: var(--hl);
      color: var(--ink);
      padding: 0.08em 0.42em;
      border-radius: 999px;
      margin: 0 0.15em;
      font-size: 0.95em;
      line-height: 1;
      vertical-align: 1px;
    }

    .faq-foot {
      margin-top: var(--s-6);
      padding-top: var(--s-4);
      border-top: 1px solid rgba(237, 230, 215, 0.12);
      font-family: 'Archivo', sans-serif;
      font-size: 0.95rem;
      line-height: 1.55;
      color: rgba(237, 230, 215, 0.65);
      display: flex; align-items: center; gap: var(--s-3);
      flex-wrap: wrap;
      justify-content: space-between;
    }
    .faq-foot .foot-msg { flex: 1; min-width: 0; }
    .faq-foot a {
      color: var(--hl);
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      display: inline-flex; align-items: center; gap: 0.4rem;
      flex-shrink: 0;
      transition: gap 0.25s ease;
    }
    .faq-foot a:hover { gap: 0.7rem; }

    /* Categories laid out as a two-column grid: label left, items right.
       Reads more like a magazine table of contents than a stack of boxes. */
    .faq-cat {
      display: grid;
      grid-template-columns: 1fr 3fr;
      gap: var(--s-4);
      padding: var(--s-3) 0;
      border-top: 1px solid rgba(237, 230, 215, 0.1);
    }
    .faq-cat:first-of-type,
    .faq-head + .faq-cat { border-top: 0; padding-top: 0; }
    .faq-cat .cat-label {
      font-family: 'Archivo Black', sans-serif;
      font-size: 1.4rem;
      letter-spacing: -0.02em;
      line-height: 1.1;
      color: var(--hl);
      align-self: start;
      padding-top: 0.7rem;
    }
    .faq-items { display: flex; flex-direction: column; }
    .faq-item + .faq-item { border-top: 1px solid rgba(237, 230, 215, 0.08); }
    .faq-item summary {
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      letter-spacing: -0.005em;
      line-height: 1.4;
      padding: 0.85rem 0;
      cursor: pointer;
      list-style: none;
      display: flex; align-items: flex-start; justify-content: space-between;
      gap: var(--s-3);
      color: var(--stucco);
      transition: color 0.2s;
    }
    .faq-item summary:hover { color: var(--hl); }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: '+';
      font-family: 'Archivo', sans-serif;
      font-weight: 400;
      font-size: 1.2rem;
      line-height: 1;
      color: rgba(237, 230, 215, 0.5);
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
      flex-shrink: 0;
      margin-top: 0.15rem;
    }
    .faq-item:hover summary::after { color: var(--hl); }
    .faq-item[open] summary::after { transform: rotate(45deg); color: var(--hl); }
    .faq-item .answer {
      padding: 0 0 0.85rem;
      font-size: 0.9rem;
      line-height: 1.65;
      color: rgba(237, 230, 215, 0.7);
      max-width: 62ch;
    }
    .faq-item .answer p { margin: 0; }
    .faq-item .answer p + p { margin-top: 0.5rem; }
    .faq-item .answer ul {
      margin: 0.55rem 0 0; padding: 0;
      list-style: none;
      display: flex; flex-direction: column;
      gap: 0.35rem;
    }
    .faq-item .answer ul li {
      padding-left: 1rem;
      position: relative;
    }
    .faq-item .answer ul li::before {
      content: '+';
      position: absolute; left: 0; top: 0.05rem;
      color: var(--hl);
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.85rem;
    }
    .faq-item .answer a {
      color: var(--stucco);
      text-decoration: underline;
      text-decoration-color: rgba(231, 255, 144, 0.5);
      text-underline-offset: 3px;
      transition: color 0.15s, text-decoration-color 0.15s;
    }
    .faq-item .answer a:hover { color: var(--hl); text-decoration-color: var(--hl); }
    .faq-item .answer .meta {
      color: rgba(237, 230, 215, 0.45);
      font-size: 0.82rem;
      margin-left: 0.35rem;
    }

    @media (max-width: 880px) {
      .faq-cat { grid-template-columns: 1fr; gap: var(--s-2); }
      .faq-cat .cat-label { padding-top: 0; }
    }



    /* ────────────── CLOSING CTA ────────────── */
    .close-cta {
      background: var(--ink);
      color: var(--stucco);
      padding: var(--s-7) var(--s-4);
    }
    .close-cta-inner {
      max-width: 1400px;
      margin: 0 auto;
    }
    .close-cta .head .eyebrow { display: block; margin-bottom: var(--s-3); color: var(--hl); }
    .close-cta h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.6vw, 3.25rem);
      line-height: 0.98;
      letter-spacing: -0.025em;
      margin: 0;
    }
    .close-cta h2 .subline {
      display: block;
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.35rem);
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: rgba(237, 230, 215, 0.48);
      margin-top: 0.55rem;
    }
    .close-cta .grid {
      margin-top: var(--s-5);
      display: grid;
      grid-template-columns: 1fr 1.25fr;
      gap: var(--s-5);
      align-items: start;
    }
    .close-cta .info {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
    }
    .close-cta .helper {
      font-size: 0.95rem;
      line-height: 1.55;
      color: rgba(237, 230, 215, 0.68);
      margin: 0;
      max-width: 44ch;
    }
    .close-cta .meta-line {
      display: flex; flex-wrap: wrap;
      gap: 0.4rem 0.85rem;
      align-items: baseline;
      padding: var(--s-2) 0;
      border-top: 1px solid rgba(237, 230, 215, 0.12);
      border-bottom: 1px solid rgba(237, 230, 215, 0.12);
      font-family: 'Archivo', sans-serif;
      font-size: 0.7rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.58);
      white-space: nowrap;
    }
    .close-cta .meta-line .lbl { color: rgba(237, 230, 215, 0.3); font-weight: 700; }
    .close-cta .meta-line .dot { color: rgba(237, 230, 215, 0.18); }
    .close-cta .btn-primary {
      background: var(--hl);
      color: var(--ink);
      border-color: var(--hl);
    }
    .close-cta .btn-primary:hover { background: #c95d65; border-color: #c95d65; }
    .close-cta .actions {
      display: flex; flex-wrap: wrap; gap: var(--s-2);
      align-items: center;
      margin-top: var(--s-2);
    }
    .close-cta .actions .map-link {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.72);
      display: inline-flex; align-items: center; gap: 0.4rem;
      transition: gap 0.2s, color 0.2s;
    }
    .close-cta .actions .map-link:hover { gap: 0.7rem; color: var(--hl); }

    .close-cta .map-wrap {
      position: relative;
      border: 1px solid rgba(237, 230, 215, 0.1);
    }
    .close-cta .map-wrap iframe {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 380px;
      border: 0;
      filter: grayscale(1) invert(1) contrast(0.82) brightness(0.78);
    }

    /* ────────────── FOOTER ────────────── */
    .footer {
      background: var(--ink);
      color: var(--stucco);
      padding: 0 var(--s-4) var(--s-3);
    }
    .footer-inner { max-width: 1400px; margin: 0 auto; }

    /* ── Big editorial address block at the top of footer ── */
    .footer-statement {
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      align-items: center;
      padding: var(--s-6) 0 var(--s-4);
      border-bottom: 1px solid rgba(237, 230, 215, 0.1);
      gap: var(--s-5);
    }
    .fs-eyebrow {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.65rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.35);
      display: block;
      margin-bottom: 0.6rem;
    }
    .fs-address {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.8rem, 3.2vw, 3.6rem);
      line-height: 0.95;
      letter-spacing: -0.03em;
      color: var(--stucco);
      white-space: nowrap;
    }
    .fs-sub {
      font-family: 'Archivo', sans-serif;
      font-size: 0.88rem;
      letter-spacing: 0.06em;
      color: rgba(237, 230, 215, 0.45);
      margin-top: 0.6rem;
    }
    .fs-map {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(237, 230, 215, 0.1);
    }
    .fs-map iframe {
      display: block;
      width: 100%;
      height: 210px;
      border: 0;
      filter: grayscale(1) invert(1) contrast(0.82) brightness(0.78);
    }
    .fs-maps {
      position: absolute;
      bottom: var(--s-2);
      right: var(--s-2);
      background: rgba(16, 13, 9, 0.82);
      padding: 0.32rem 0.65rem;
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.68rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.6);
      transition: color 0.2s;
      white-space: nowrap;
    }
    .fs-maps:hover { color: var(--hl); }

    /* Partners — quiet, near the bottom: small white logos that flash color on hover */
    .footer-partners {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      padding: var(--s-4) 0;
      border-top: 1px solid rgba(237, 230, 215, 0.22);
      border-bottom: 1px solid rgba(237, 230, 215, 0.22);
    }
    .footer-partners .fp-label {
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.72rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.75);
      white-space: nowrap;
    }
    .footer-partners .fp-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: var(--s-3) var(--s-4);
    }
    .footer-partners .fp {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 32px;
    }
    .footer-partners .fp img {
      max-height: 28px;
      max-width: 120px;
      width: auto;
      object-fit: contain;
      filter: brightness(0) invert(1);
      opacity: 0.55;
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .footer-partners .fp:hover img {
      opacity: 1;
      transform: translateY(-1px);
    }
    .footer-partners .fp.fp-color img {
      filter: none;
      opacity: 0.72;
    }
    .footer-partners .fp.fp-color:hover img {
      opacity: 1;
    }

    /* Top columns: Contact · Hours · Connect */
    .footer-cols {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--s-4);
      padding: var(--s-4) 0;
    }
    .footer-col .h4 {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.45);
      margin: 0 0 0.9rem;
      display: flex; align-items: center; gap: 0.5rem;
    }
    .footer-col .h4 .live {
      display: inline-flex; align-items: center; gap: 0.4rem;
      font-size: 0.6rem;
      letter-spacing: 0.16em;
      color: rgba(237, 230, 215, 0.7);
    }
    .footer-col .h4 .live .live-dot {
      width: 7px; height: 7px;
      background: var(--hl);
      border-radius: 50%;
      box-shadow: 0 0 0 0 rgba(231, 255, 144, 0.6);
      animation: live-pulse 2s ease-in-out infinite;
    }
    .footer-col .h4 .live.is-closed .live-dot {
      background: rgba(237, 230, 215, 0.35);
      animation: none;
      box-shadow: none;
    }
    @keyframes live-pulse {
      0%   { box-shadow: 0 0 0 0 rgba(231, 255, 144, 0.5); }
      70%  { box-shadow: 0 0 0 8px rgba(231, 255, 144, 0); }
      100% { box-shadow: 0 0 0 0 rgba(231, 255, 144, 0); }
    }
    .footer-col .row {
      display: flex; align-items: flex-start; gap: 0.65rem;
      font-family: 'Archivo', sans-serif;
      font-size: 0.92rem;
      line-height: 1.45;
      color: rgba(237, 230, 215, 0.92);
    }
    .footer-col .row + .row { margin-top: 0.5rem; }
    .footer-col .row .ico {
      flex-shrink: 0;
      width: 16px; height: 16px;
      margin-top: 0.2rem;
      color: rgba(237, 230, 215, 0.55);
    }
    .footer-col .row strong {
      font-family: 'Archivo', sans-serif;
      font-weight: 700;
      font-size: 0.92rem;
      color: var(--stucco);
      margin-right: 0.4rem;
    }
    .footer-col a { transition: color 0.2s; }
    .footer-col a:hover { color: var(--hl); }

    /* Social icon buttons — no box, just the glyph */
    .footer-socials {
      display: flex; gap: 0.9rem;
      margin-top: 0.1rem;
    }
    .footer-socials a {
      display: inline-flex; align-items: center; justify-content: center;
      color: rgba(237, 230, 215, 0.88);
      transition: color 0.2s, transform 0.2s;
    }
    .footer-socials a svg { width: 24px; height: 24px; }
    .footer-socials a:hover {
      color: var(--hl);
      transform: translateY(-2px);
    }

    /* Sitemap nav */
    .footer-nav {
      display: flex; flex-wrap: wrap; gap: var(--s-3);
      padding: var(--s-3) 0;
      border-top: 1px solid rgba(237, 230, 215, 0.12);
      border-bottom: 1px solid rgba(237, 230, 215, 0.12);
    }
    .footer-nav a {
      font-family: 'Archivo', sans-serif;
      font-weight: 600;
      font-size: 0.74rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(237, 230, 215, 0.72);
      transition: color 0.2s;
    }
    .footer-nav a:hover { color: var(--hl); }

    /* Big ZI8 logo signature at the bottom (with keyhole) */
    .footer-mark {
      display: none;
    }
    .footer-mark svg {
      width: 70%;
      max-width: 720px;
      height: auto;
      display: block;
    }
    .footer-mark svg image {
      filter: brightness(0) invert(1);
      opacity: 0.11;
      transition: opacity 0.4s ease;
    }
    .footer-mark:hover svg image { opacity: 0.22; }
    .footer-bottom .mark {
      color: var(--hl);
      margin-right: 0.5rem;
      display: inline-flex;
      align-items: center;
      vertical-align: -2px;
    }
    .footer-bottom .mark svg { width: 14px; height: 14px; }

    .footer-bottom {
      padding-top: var(--s-3);
      display: flex; justify-content: space-between;
      flex-wrap: wrap; gap: var(--s-2);
      font-family: 'Archivo', sans-serif;
      font-weight: 500;
      font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(237, 230, 215, 0.4);
    }
    .footer-bottom a { transition: color 0.2s; }
    .footer-bottom a:hover { color: var(--hl); }

    /* ────────────── RESPONSIVE ────────────── */
    @media (max-width: 980px) {
      .hero-grid { grid-template-columns: 1fr; gap: var(--s-4); }
      .hero-logo .zi8-mark { max-width: 480px; }
      .slider, .hero-gallery .slider { aspect-ratio: 16 / 11; }
      .concept-inner { grid-template-columns: 1fr; gap: var(--s-3); }
      .concept-stats { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
      .facilities { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
      .about .grid { grid-template-columns: 1fr; gap: var(--s-4); }
      .about-stats { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
      .price-grid { grid-template-columns: 1fr; }
      .price-card { border-left: 0; border-top: 1px solid rgba(237, 230, 215, 0.18); padding: var(--s-4) 0; }
      .price-card:first-child { border-top: 0; padding-top: 0; }
      .footer-statement { grid-template-columns: 1fr; }
      .fs-map { height: 190px; }
      .footer-cols { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
      .footer-nav { gap: var(--s-2); }
      .footer-mark svg { width: 100%; }
      .footer-partners .fp-grid { grid-template-columns: repeat(4, 1fr); }
    }
    @media (max-width: 1080px) {
      .nav-menu, .nav .lang { display: none; }
      .menu-toggle { display: inline-flex !important; }
    }
    @media (max-width: 720px) {
      .nav-status, .nav-brand .addr, .nav-contact { display: none; }
      .nav .cta { padding: 0.55rem 0.85rem; font-size: 0.75rem; }
      .nav-inner { padding: 0.85rem var(--s-3); gap: var(--s-2); }
    }
    @media (max-width: 480px) {
      .nav .cta { display: none; }
    }

    /* ────────────── CONTACT CARD (page-hero right side) ────────────── */
    .contact-card {
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(237,230,215,0.12);
      border-radius: 4px;
      padding: var(--s-4);
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      align-self: start;
    }

    /* Form layout */
    .contact-form {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
    }
    .form-group {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }
    .form-group label {
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(237,230,215,0.5);
    }
    .form-input,
    .form-select,
    .form-textarea {
      background: rgba(237,230,215,0.05);
      border: 1px solid rgba(237,230,215,0.18);
      border-radius: 3px;
      color: var(--stucco);
      font-family: inherit;
      font-size: 0.9rem;
      padding: 0.6rem 0.8rem;
      transition: border-color 0.18s, box-shadow 0.18s;
      outline: none;
      width: 100%;
      box-sizing: border-box;
    }
    .form-input::placeholder,
    .form-textarea::placeholder {
      color: rgba(237,230,215,0.3);
    }
    .form-input:focus,
    .form-select:focus,
    .form-textarea:focus {
      border-color: var(--hl);
      box-shadow: 0 0 0 2px rgba(231,255,144,0.18);
    }
    .form-select {
      appearance: none;
      -webkit-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ede6d7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 0.7rem center;
      background-size: 1rem;
      padding-right: 2.2rem;
      cursor: pointer;
    }
    .form-select option {
      background: #1a1a1a;
      color: var(--stucco);
    }
    .form-textarea {
      resize: vertical;
      min-height: 4.5rem;
    }
    .contact-submit {
      align-self: flex-start;
      margin-top: var(--s-1);
    }

    /* Quick-contact rows below divider */
    .contact-card-divider {
      border: none;
      border-top: 1px solid rgba(237,230,215,0.1);
      margin: 0;
    }
    .contact-quick {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .contact-quick-row {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      color: rgba(237,230,215,0.75);
      font-size: 0.875rem;
      text-decoration: none;
      transition: color 0.18s;
    }
    .contact-quick-row:hover { color: var(--hl); }
    .contact-quick-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1.1rem;
      height: 1.1rem;
      flex-shrink: 0;
      color: rgba(237,230,215,0.45);
    }
    .contact-quick-row:hover .contact-quick-icon { color: var(--hl); }
    .contact-quick-icon svg { width: 100%; height: 100%; }

    @media (max-width: 980px) {
      .contact-card { width: 100%; }
    }

    /* ────────────── CONSULTING PAGE ────────────── */
    .consulting-hero .page-hero-inner {
      align-items: center;
    }
    .consulting-card {
      /* minimal spacer so hero layout stays balanced on wide screens */
      min-height: 12rem;
    }
    @media (max-width: 980px) {
      .consulting-card { display: none; }
    }

    .consulting-teaser {
      padding: var(--s-6) var(--s-4);
    }
    .consulting-note {
      padding: var(--s-3) 0;
      color: rgba(237,230,215,0.72);
      font-size: 1rem;
      line-height: 1.7;
      border-top: none !important;
    }

    /* ────────────── 4-COLUMN FOOTER VARIANT ────────────── */
    .footer-cols-4 {
      grid-template-columns: repeat(4, 1fr);
    }
    @media (max-width: 960px) {
      .footer-cols-4 { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
    }

    /* ────────────── BLOG LISTING ────────────── */
    .blog-list {
      background: var(--stucco);
      padding: var(--s-6) var(--s-4) var(--s-8);
    }
    .blog-list-inner {
      max-width: 1300px;
      margin: 0 auto;
    }
    .blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--s-5);
    }
    @media (max-width: 900px) {
      .blog-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 560px) {
      .blog-grid { grid-template-columns: 1fr; }
    }
    .blog-card {
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: var(--ink);
    }
    .blog-card-img {
      width: 100%;
      aspect-ratio: 3 / 2;
      object-fit: cover;
      display: block;
      margin-bottom: var(--s-3);
      transition: opacity 0.2s ease;
    }
    .blog-card:hover .blog-card-img { opacity: 0.88; }
    .blog-card-meta {
      display: flex;
      align-items: center;
      gap: var(--s-2);
      margin-bottom: var(--s-2);
    }
    .blog-card-cat {
      font-size: 0.63rem; font-weight: 700; letter-spacing: 0.16em;
      text-transform: uppercase; color: var(--pop);
    }
    .blog-card-date {
      font-size: 0.63rem; color: rgba(10,10,10,0.35);
      letter-spacing: 0.04em;
    }
    .blog-card-title {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.15rem, 1.8vw, 1.45rem);
      line-height: 1.1; letter-spacing: -0.02em;
      color: var(--ink);
      margin: 0 0 var(--s-2);
    }
    .blog-card-excerpt {
      font-size: 0.88rem; line-height: 1.65;
      color: rgba(10,10,10,0.52);
      flex: 1;
    }
    .blog-card-cta {
      margin-top: var(--s-3);
      font-size: 0.65rem; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--ink);
      transition: color 0.15s ease;
    }
    .blog-card:hover .blog-card-cta { color: var(--hl); }

    /* ────────────── BLOG LANGUAGE BLOCKS ────────────── */
    .post-lang-en { display: none; }
    html.lang-en .post-lang-de { display: none; }
    html.lang-en .post-lang-en { display: block; }

    /* ────────────── BLOG POST ────────────── */
    .post-article {
      background: var(--stucco);
      padding: var(--s-6) var(--s-4) var(--s-8);
    }
    .post-article-inner {
      max-width: 720px;
      margin: 0 auto;
    }
    .post-lede {
      font-size: clamp(1.1rem, 1.8vw, 1.3rem);
      line-height: 1.62; font-weight: 500;
      color: var(--ink);
      margin: 0 0 var(--s-5);
      border-left: 3px solid var(--hl);
      padding-left: var(--s-3);
    }
    .post-prose p {
      font-size: 1rem; line-height: 1.8;
      color: rgba(10,10,10,0.74); margin: 0 0 1.4rem;
    }
    .post-prose h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.15rem, 1.8vw, 1.45rem);
      letter-spacing: -0.02em;
      margin: var(--s-5) 0 var(--s-2); color: var(--ink);
    }
    .post-back {
      margin-top: var(--s-6);
      padding-top: var(--s-4);
      border-top: 1px solid rgba(10,10,10,0.1);
    }
    .post-back a {
      font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em;
      text-transform: uppercase; color: var(--pop); text-decoration: none;
    }
    .post-back a:hover { color: var(--hl); }
    .post-back .btn { text-transform: none; letter-spacing: 0.04em; font-size: 0.78rem; }
    .post-back .btn-primary { background: var(--pop); color: var(--stucco); }
    .post-back .btn-primary:hover { background: var(--hl); color: var(--pop); }

    /* ────────────── LEGAL (impressum) ────────────── */
    .legal-content {
      background: var(--stucco);
      padding: var(--s-6) var(--s-4) var(--s-8);
    }
    .legal-body {
      max-width: 860px; margin: 0 auto;
    }
    .legal-block {
      padding-bottom: var(--s-5);
      border-bottom: 1px solid rgba(10,10,10,0.1);
      margin-bottom: var(--s-5);
    }
    .legal-block:last-child { border-bottom: none; }
    .legal-block h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.4rem, 2.3vw, 1.9rem);
      letter-spacing: -0.02em; margin: 0 0 1.3rem; color: var(--ink);
    }
    .legal-block h3 {
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 1rem; margin: 1.5rem 0 0.4rem; color: var(--ink);
    }
    .legal-block p, .legal-block address {
      font-size: 0.97rem; line-height: 1.7;
      color: rgba(10,10,10,0.74); margin: 0 0 0.85rem;
      font-style: normal;
    }
    .legal-block ul { padding-left: 1.4rem; margin: 0 0 0.85rem; }
    .legal-block li {
      font-size: 0.97rem; line-height: 1.65;
      color: rgba(10,10,10,0.74); margin-bottom: 0.3rem;
    }
    .legal-block a { color: var(--pop); text-decoration: underline; text-underline-offset: 2px; }

    /* ────────────── EYEBROW — light-palette hero override ────────────── */
    .page-hero.is-light.has-light-palette .eyebrow { color: var(--pop); }

    /* ────────────── CONTACT INFO CARD (hero right, dark or light) ────────────── */
    .contact-info-card {
      display: flex; flex-direction: column;
      gap: var(--s-4);
      padding-top: var(--s-3);
      border-top: 1px solid rgba(237, 230, 215, 0.12);
      align-self: start;
      margin-top: var(--s-2);
    }
    .contact-info-block { display: flex; flex-direction: column; gap: 0.22rem; }
    .cib-label {
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase;
      color: rgba(237, 230, 215, 0.4);
      display: block; margin-bottom: 0.35rem;
    }
    .contact-info-block p,
    .contact-info-block a,
    .contact-info-block .cib-detail {
      font-family: 'Archivo', sans-serif;
      font-size: 0.9rem; line-height: 1.5;
      color: rgba(237, 230, 215, 0.82);
      margin: 0; display: block;
      transition: color 0.2s;
    }
    .contact-info-block a:hover { color: var(--hl); }
    .cib-hours { display: flex; flex-direction: column; gap: 0.22rem; }
    .cib-hour-row {
      display: flex; gap: 0.85rem;
      font-family: 'Archivo', sans-serif; font-size: 0.88rem;
      color: rgba(237, 230, 215, 0.72);
    }
    .cib-hour-row strong { font-weight: 700; color: var(--stucco); min-width: 4.5rem; }
    .cib-maps {
      display: inline-flex; align-items: center; gap: 0.35rem;
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(237, 230, 215, 0.4);
      margin-top: 0.45rem;
      transition: color 0.2s, gap 0.2s;
    }
    .cib-maps:hover { color: var(--hl); gap: 0.5rem; }
    /* Light-palette context overrides */
    .has-light-palette .contact-info-card { border-top-color: rgba(10, 10, 10, 0.1); }
    .has-light-palette .cib-label { color: rgba(10, 10, 10, 0.42); }
    .has-light-palette .contact-info-block p,
    .has-light-palette .contact-info-block a,
    .has-light-palette .contact-info-block .cib-detail { color: rgba(10, 10, 10, 0.78); }
    .has-light-palette .contact-info-block a:hover { color: var(--pop); }
    .has-light-palette .cib-hour-row { color: rgba(10, 10, 10, 0.65); }
    .has-light-palette .cib-hour-row strong { color: var(--ink); }
    .has-light-palette .cib-maps { color: var(--pop); opacity: 0.65; }
    .has-light-palette .cib-maps:hover { opacity: 1; }

    /* ────────────── CONTACT COMPACT (single section) ────────────── */
    .contact-compact {
      background: var(--stucco);
      color: var(--ink);
      padding: var(--s-7) var(--s-4);
      min-height: calc(100vh - 64px);
      display: flex;
      align-items: center;
    }
    .cc-inner {
      max-width: 1300px; margin: 0 auto; width: 100%;
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: clamp(var(--s-5), 7vw, var(--s-9));
      align-items: center;
    }
    .cc-info .eyebrow {
      display: block;
      margin-bottom: var(--s-3);
      color: rgba(10,10,10,0.4);
    }
    .cc-title {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(3rem, 6vw, 5.5rem);
      line-height: 0.95;
      letter-spacing: -0.03em;
      margin: 0 0 var(--s-3);
      color: var(--ink);
    }
    .cc-sub {
      color: rgba(10,10,10,0.55);
      font-size: 1.05rem;
      line-height: 1.55;
      margin-bottom: var(--s-5);
      max-width: 36ch;
    }
    .cc-info .contact-options { margin-bottom: var(--s-4); }
    .cc-meta {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.82rem;
      color: rgba(10,10,10,0.4);
      border-top: 1px solid rgba(10,10,10,0.1);
      padding-top: var(--s-3);
    }
    .cc-meta a { color: var(--pop); opacity: 0.7; text-decoration: none; }
    .cc-meta a:hover { opacity: 1; }
    /* Form — sits on stucco, rosa top-bar accent */
    .cc-form {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      border-top: 1.5px solid #c95d65;
      padding-top: var(--s-4);
    }
    .cc-form-heading {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.4rem, 2.5vw, 1.9rem);
      letter-spacing: -0.025em;
      line-height: 1;
      margin: 0 0 var(--s-2);
      color: var(--ink);
    }
    .cc-form .cfl-row { gap: var(--s-2); }
    .cc-form .btn-primary { margin-top: var(--s-1); }
    /* Rosa line using the site's --hl tea rose */
    .cc-form { border-top-color: var(--hl); }

    /* ────────────── CONTACT FORM SECTION (stucco-2 bg) ────────────── */
    .contact-section {
      background: var(--stucco);
      padding: var(--s-7) var(--s-4);
    }
    .contact-section-inner {
      max-width: 1300px; margin: 0 auto;
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      gap: clamp(var(--s-5), 6vw, var(--s-8));
      align-items: start;
    }
    .contact-form-lead { margin-bottom: var(--s-4); }
    .contact-form-lead .eyebrow { display: block; margin-bottom: var(--s-2); }
    .contact-form-lead h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.75rem, 3vw, 2.5rem);
      line-height: 0.98; letter-spacing: -0.025em; margin: 0;
    }
    .contact-form-light { display: flex; flex-direction: column; gap: 0.65rem; }
    .cfl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; }
    .cfl-group { display: flex; flex-direction: column; gap: 0.28rem; }
    .cfl-label {
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 0.65rem; letter-spacing: 0.14em; text-transform: uppercase;
      color: rgba(10, 10, 10, 0.5);
    }
    .cfl-input, .cfl-select, .cfl-textarea {
      font-family: 'Archivo', sans-serif;
      font-size: 0.9rem; padding: 0.7rem 0.85rem;
      border: 1px solid rgba(10, 10, 10, 0.18);
      background: #fafaf5; color: var(--ink);
      width: 100%; caret-color: var(--pop);
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
      outline: none; -webkit-appearance: none;
    }
    .cfl-input::placeholder, .cfl-textarea::placeholder { color: rgba(10,10,10,0.35); }
    .cfl-input:focus, .cfl-select:focus, .cfl-textarea:focus {
      border-color: var(--pop);
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(255, 107, 42, 0.15);
    }
    .cfl-select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 0.7rem center; background-size: 1rem;
      padding-right: 2.2rem; cursor: pointer;
    }
    .cfl-select option { background: #fafaf5; color: var(--ink); }
    .cfl-textarea { resize: vertical; min-height: 6.5rem; }

    /* Contact option cards */
    .contact-options-head { margin-bottom: var(--s-3); }
    .contact-options-head .eyebrow { display: block; margin-bottom: var(--s-2); }
    .contact-options-head h3 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1.25rem, 2vw, 1.7rem);
      line-height: 1; letter-spacing: -0.02em; margin: 0;
    }
    .contact-options { display: flex; flex-direction: column; gap: 0.45rem; margin-bottom: var(--s-4); }
    .contact-option {
      display: grid;
      grid-template-columns: 1.75rem 1fr auto;
      align-items: center;
      gap: 0.9rem; padding: 0.85rem var(--s-2);
      border: 1px solid rgba(10, 10, 10, 0.1);
      background: rgba(255, 255, 255, 0.55);
      color: var(--ink); text-decoration: none;
      transition: border-color 0.2s, background 0.2s;
    }
    .contact-option:hover { border-color: var(--pop); background: white; }
    .co-icon {
      width: 1.75rem; height: 1.75rem;
      display: flex; align-items: center; justify-content: center;
      color: rgba(10, 10, 10, 0.35); transition: color 0.2s; flex-shrink: 0;
    }
    .contact-option:hover .co-icon { color: var(--pop); }
    .co-icon svg { width: 100%; height: 100%; }
    .co-body { display: flex; flex-direction: column; gap: 0.08rem; min-width: 0; }
    .co-name {
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase;
      color: rgba(10, 10, 10, 0.38); transition: color 0.2s;
    }
    .contact-option:hover .co-name { color: rgba(0, 47, 167, 0.55); }
    .co-value { font-family: 'Archivo', sans-serif; font-size: 0.88rem; font-weight: 600; color: var(--ink); }
    .co-arrow {
      font-size: 0.9rem; color: rgba(10, 10, 10, 0.2);
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
    }
    .contact-option:hover .co-arrow { transform: translateX(3px); color: var(--pop); }
    .contact-aside {
      padding-top: var(--s-3);
      border-top: 1px solid rgba(10, 10, 10, 0.1);
    }
    .contact-aside + .contact-aside { margin-top: var(--s-3); }
    .cas-label {
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase;
      color: rgba(10, 10, 10, 0.38);
      display: block; margin-bottom: 0.45rem;
    }
    .cas-row {
      display: flex; gap: 0.85rem;
      font-family: 'Archivo', sans-serif; font-size: 0.88rem;
      color: rgba(10, 10, 10, 0.68); margin-bottom: 0.25rem;
    }
    .cas-row strong { font-weight: 700; color: var(--ink); min-width: 5rem; }
    .cas-link {
      display: inline-flex; align-items: center; gap: 0.3rem;
      font-family: 'Archivo', sans-serif; font-weight: 700;
      font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--pop); margin-top: 0.4rem;
      transition: gap 0.2s;
    }
    .cas-link:hover { gap: 0.55rem; }
    @media (max-width: 880px) {
      .contact-section-inner { grid-template-columns: 1fr; gap: var(--s-4); }
      .cfl-row { grid-template-columns: 1fr; }
    }

    /* ────────────── CONSULTING COMING SECTION ────────────── */
    .consulting-coming {
      background: var(--stucco);
      padding: var(--s-7) var(--s-4);
    }
    .consulting-coming-inner { max-width: 740px; margin: 0 auto; }
    .consulting-coming .eyebrow { display: block; margin-bottom: var(--s-2); }
    .consulting-coming h2 {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(2rem, 3.6vw, 3.25rem);
      line-height: 0.98; letter-spacing: -0.025em;
      margin: 0 0 var(--s-3);
    }
    .consulting-coming p {
      font-size: 1rem; line-height: 1.65;
      color: rgba(10, 10, 10, 0.72);
      max-width: 50ch; margin: 0 0 var(--s-4);
    }
    .consulting-coming .actions { display: flex; flex-wrap: wrap; gap: var(--s-2); }

    /* ────────────── SLIM FOOTER ────────────── */
    .footer-slim-top {
      display: flex; align-items: center; justify-content: space-between;
      flex-wrap: wrap; gap: 0.5rem var(--s-4);
      padding: var(--s-4) 0;
      border-bottom: 1px solid rgba(237, 230, 215, 0.1);
    }
    .footer-slim-info {
      display: flex; flex-wrap: wrap; align-items: center; row-gap: 0.4rem;
    }
    .fsi {
      display: inline-flex; align-items: center; gap: 0.45rem;
      font-family: 'Archivo', sans-serif; font-size: 0.88rem;
      color: rgba(237, 230, 215, 0.78);
      padding: 0 0.85rem; transition: color 0.2s;
    }
    .fsi:first-child { padding-left: 0; }
    a.fsi:hover { color: var(--hl); }
    .fsi strong { font-weight: 600; color: var(--stucco); }
    .fsi .live { display: inline-flex; align-items: center; gap: 0.3rem; }
    .fsi .live-dot {
      width: 6px; height: 6px; background: var(--hl); border-radius: 50%;
      animation: live-pulse 2s ease-in-out infinite; flex-shrink: 0;
    }
    .fsi .live.is-closed .live-dot { background: rgba(237,230,215,0.35); animation: none; }
    .fsi .live-text { font-size: 0.78rem; color: rgba(237,230,215,0.5); }
    .fsi-sep { color: rgba(237, 230, 215, 0.2); font-size: 0.88rem; user-select: none; padding: 0; }
    @media (max-width: 760px) {
      .footer-slim-top { flex-direction: column; align-items: flex-start; }
      .fsi { padding-left: 0; padding-right: var(--s-3); }
      .fsi-sep { display: none; }
    }

    /* ────────────── PREMIUM FOOTER TOP ────────────── */
    .footer-premium-top {
      display: grid;
      grid-template-columns: 200px 1fr;
      gap: clamp(var(--s-5), 7vw, 6rem);
      align-items: start;
      padding: var(--s-5) 0 var(--s-4);
      border-bottom: 1px solid rgba(237, 230, 215, 0.1);
    }
    .fpt-brand { display: flex; flex-direction: column; gap: var(--s-2); }
    .fpt-mark { height: 72px; }
    .fpt-mark svg { height: 72px; width: auto; display: block; }
    .fpt-addr {
      font-family: 'Archivo', sans-serif;
      font-size: 0.88rem; line-height: 1.52;
      color: rgba(237, 230, 215, 0.65);
      font-style: normal;
    }
    .fpt-maps {
      font-family: 'Archivo', sans-serif; font-weight: 600;
      font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(237, 230, 215, 0.4);
      transition: color 0.2s; display: inline-block; margin-top: 0.2rem;
    }
    .fpt-maps:hover { color: var(--hl); }
    .fpt-cols {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: var(--s-4); padding-top: 0.85rem;
    }
    @media (max-width: 900px) {
      .footer-premium-top { grid-template-columns: 1fr; gap: var(--s-4); }
      .fpt-cols { padding-top: 0; }
    }
    @media (max-width: 600px) {
      .fpt-cols { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
    }
    @media (max-width: 380px) {
      .fpt-cols { grid-template-columns: 1fr; }
    }

    /* ────────────── CONSULTING TEASER (inside faq-light) ────────────── */
    .consulting-teaser-p {
      font-family: 'Archivo', sans-serif;
      font-size: 1rem; line-height: 1.65;
      color: rgba(237, 230, 215, 0.72);
      max-width: 52ch; margin: var(--s-3) 0 var(--s-4);
    }
    .consulting-teaser-actions { display: flex; flex-wrap: wrap; gap: var(--s-2); }

    /* ────────────── MORE-SECTION SPLIT LAYOUT ────────────── */
    .more-inner.is-split {
      display: grid;
      grid-template-columns: 1fr 1.7fr;
      gap: clamp(var(--s-4), 7vw, var(--s-8));
      align-items: start;
    }
    .more-inner.is-split .more-head {
      margin-bottom: 0;
      position: sticky;
      top: var(--s-5);
    }
    @media (max-width: 860px) {
      .more-inner.is-split { grid-template-columns: 1fr; }
      .more-inner.is-split .more-head { position: static; margin-bottom: var(--s-4); }
    }

    /* ────────────── SERVICE CARDS (consulting in-the-meantime) ────────────── */
    .service-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--s-3);
      margin-bottom: var(--s-3);
    }
    .service-card {
      display: flex; flex-direction: column; gap: 0.5rem;
      padding: var(--s-3) var(--s-3) var(--s-3);
      border: 1px solid rgba(10, 10, 10, 0.12);
      border-radius: 3px;
      color: var(--ink);
      transition: border-color 0.2s, background 0.2s, transform 0.2s;
    }
    .service-card:hover {
      border-color: var(--pop);
      background: rgba(255,255,255,0.55);
      transform: translateY(-2px);
    }
    .sc-label {
      font-family: 'Archivo Black', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      letter-spacing: -0.02em;
      line-height: 1.1;
    }
    .sc-price {
      font-family: 'Archivo Black', sans-serif;
      font-size: 0.88rem;
      color: var(--pop);
      letter-spacing: -0.01em;
    }
    .sc-desc {
      font-family: 'Archivo', sans-serif;
      font-size: 0.88rem; line-height: 1.45;
      color: rgba(10, 10, 10, 0.62);
      flex: 1;
    }
    .sc-arrow {
      font-size: 0.9rem;
      color: rgba(10, 10, 10, 0.3);
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
      display: inline-block; margin-top: 0.25rem;
    }
    .service-card:hover .sc-arrow { transform: translateX(4px); color: var(--pop); }
    @media (max-width: 680px) {
      .service-cards { grid-template-columns: 1fr; }
    }

    /* ────────────── TIER LINKS (consulting hero cards) ────────────── */
    .tier-matrix a.tier-link {
      text-decoration: none; color: inherit;
      transition: border-color 0.2s, background 0.2s, transform 0.2s;
      cursor: pointer;
    }
    .tier-matrix a.tier-link:hover {
      border-color: var(--pop);
      background: rgba(0, 47, 167, 0.04);
      transform: translateY(-2px);
    }
    .tier-matrix a.tier-link.is-deal:hover { border-color: var(--pop); }

/* CONSULTING TIER HIGHLIGHT */
.tier.tier-highlight {
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 2px 12px rgba(10, 10, 10, 0.07);
}
.tier.tier-highlight.is-deal {
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 3px 16px rgba(10, 10, 10, 0.1);
}

/* CENTERED HERO (no pricing card) */
.page-hero-inner.is-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.page-hero-inner.is-centered .hero-actions {
  justify-content: center;
}

/* OVERRIDE: centered hero fix */
.page-hero-inner.is-centered {
  display: block !important;
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.page-hero-inner.is-centered .hero-actions {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}

/* CONSULTING CENTERED HERO — spacing fix */
.page-hero.is-light.has-light-palette:has(.page-hero-inner.is-centered) {
  min-height: 60vh;
  display: flex;
  align-items: center;
}

/* CONSULTING CENTERED HERO — scale down h1 */
.page-hero-inner.is-centered h1 {
  font-size: clamp(2.8rem, 6vw, 5rem);
  margin-bottom: var(--s-2);
}
.page-hero-inner.is-centered .intro {
  font-size: 1rem;
  max-width: 480px;
  margin: 0 auto var(--s-3);
  color: var(--ink-60);
}

/* CONSULTING HERO — tighter h1 size */
.page-hero-inner.is-centered h1 {
  font-size: clamp(2.2rem, 4.5vw, 3.8rem) !important;
}

/* ── INSIGHTS SECTION ── */
.insights-section {
  padding: clamp(var(--s-5), 8vw, 7rem) 0;
  background: var(--stucco);
}
.insights-inner {
  max-width: var(--content-w);
  margin: 0 auto;
  padding: 0 var(--edge);
}
.insights-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--s-3);
  margin-bottom: var(--s-5);
  flex-wrap: wrap;
}
.insights-head h2 {
  margin: 0;
}
.insights-all {
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pop);
  white-space: nowrap;
  padding-bottom: 0.25rem;
}
.insights-all:hover { opacity: 0.7; }
.insights-track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-4);
}
.insight-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 3px;
  overflow: hidden;
}
.insight-img {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--stucco-2);
}
.insight-body {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  padding: var(--s-3);
  flex: 1;
}
.insight-tag {
  font-family: 'Archivo', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pop);
}
.insight-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.3;
  color: var(--ink);
  margin: 0;
}
.insight-excerpt {
  font-family: 'Archivo', sans-serif;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--ink-60, rgba(10,10,10,0.6));
  margin: 0;
  flex: 1;
}
.insight-read {
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  margin-top: auto;
}
.insight-read:hover { color: var(--pop); }
@media (max-width: 900px) {
  .insights-track { grid-template-columns: repeat(2, 1fr); }
  .insight-card:last-child { display: none; }
}
@media (max-width: 600px) {
  .insights-track { grid-template-columns: 1fr; }
  .insight-card:last-child { display: flex; }
  .insights-head { flex-direction: column; align-items: flex-start; }
}

/* ABOUT HERO — Septiembre-style centered statement */
.about-hero-centered {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62vh;
  text-align: center;
  padding: var(--s-8) var(--s-4);
}
.about-centered-inner {
  max-width: 800px;
  width: 100%;
}
.about-centered-inner .eyebrow {
  display: block;
  margin-bottom: var(--s-4);
}
.about-hero-centered .about-hero-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--hl);
  margin: 0 0 var(--s-4);
}
.about-statement {
  margin: 0;
  font-family: 'Archivo', sans-serif;
  font-size: clamp(1.1rem, 2vw, 1.65rem);
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: var(--stucco);
}
.about-statement strong {
  font-family: 'Archivo Black', sans-serif;
  font-weight: 900;
  color: var(--stucco);
}
.about-statement .fade {
  color: rgba(237, 230, 215, 0.4);
}
.about-founders {
  margin: var(--s-4) auto 0;
  font-family: 'Archivo', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(237, 230, 215, 0.35);
}

/* ABOUT HERO — light/stucco editorial variant */
.about-hero-light {
  background: var(--stucco) !important;
  min-height: 58vh;
  display: flex;
  align-items: flex-end;
  padding-bottom: var(--s-7);
}
.ahl-inner {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--s-4);
}
.ahl-eyebrow {
  display: block;
  font-family: 'Archivo', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--hl);
  margin-bottom: var(--s-3);
}
.about-hero-light .ahl-headline {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(2.2rem, 5vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 var(--s-4);
  max-width: 900px;
}
.ahl-body {
  font-family: 'Archivo', sans-serif;
  font-size: clamp(0.95rem, 1.4vw, 1.15rem);
  line-height: 1.65;
  color: rgba(16, 13, 9, 0.5);
  max-width: 580px;
  margin: 0;
}

/* ABOUT FEATURES — numbered editorial list */
.about-features {
  background: var(--stucco);
  border-top: 1px solid rgba(10, 10, 10, 0.07);
  padding: var(--s-6) var(--s-4) var(--s-7);
}
.afs-inner {
  max-width: 1300px;
  margin: 0 auto;
}
.afs-label {
  font-family: 'Archivo', sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(16, 13, 9, 0.38);
  margin: 0 0 var(--s-4);
}
.afs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.afs-item {
  display: flex;
  align-items: baseline;
  gap: var(--s-4);
  padding: var(--s-3) 0;
  border-top: 1px solid rgba(10, 10, 10, 0.08);
}
.afs-item:last-child { border-bottom: 1px solid rgba(10, 10, 10, 0.08); }
.afs-num {
  font-family: 'Archivo', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--hl);
  letter-spacing: 0.08em;
  flex-shrink: 0;
  min-width: 2rem;
}
.afs-text {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ink);
}

/* ABOUT IMAGES — light section wrapping the vision grid */
.about-images {
  background: var(--stucco);
}

/* ABOUT HERO — single column (legacy, kept for reference) */
.about-hero-solo .page-hero-inner {
  grid-template-columns: 1fr;
  max-width: 1300px;
}
.about-hero-solo .page-hero-text { max-width: 100%; }
.about-hero-solo h1 { font-size: clamp(2rem, 4vw, 3.4rem); }

/* ABOUT VISION — 3 images inside the light body section */
.about-vision-inner {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-3);
  padding: var(--s-6) var(--s-4) var(--s-5);
}
.av-item { margin: 0; }
.av-img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: rgba(10, 10, 10, 0.06);
}
.av-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.av-item--sketch .av-img img {
  object-fit: contain;
  mix-blend-mode: multiply;
}
.av-item:hover .av-img img {
  transform: scale(1.025);
}
.av-item figcaption {
  margin-top: 0.6rem;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.av-tag {
  font-family: 'Archivo Black', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hl);
  white-space: nowrap;
}
.av-cap {
  font-family: 'Archivo', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(10, 10, 10, 0.38);
}
@media (max-width: 760px) {
  .about-vision-inner { grid-template-columns: 1fr; gap: var(--s-3); padding: var(--s-5) var(--s-4) var(--s-4); }
  .av-img { aspect-ratio: 16 / 9; }
}

/* INSIGHTS — small blue heading, clean cards, all-posts below */
.insights-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--s-4);
}
.insights-head {
  display: block;
  margin-bottom: var(--s-5);
  text-align: left;
}
.insights-head h2 {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(1rem, 1.4vw, 1.35rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--pop);
  margin: 0;
}
.insights-track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-4);
}
.insight-card {
  display: flex;
  flex-direction: column;
  background: transparent;
  border-radius: 0;
  overflow: hidden;
}
.insight-img {
  width: 100%;
  aspect-ratio: 4/3;
  background: var(--stucco-2);
  margin-bottom: var(--s-3);
  overflow: hidden;
}
.insight-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.insight-body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0;
  flex: 1;
}
.insight-tag {
  font-family: 'Archivo', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pop);
}
.insight-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.3;
  color: var(--ink);
  margin: 0;
}
.insight-excerpt {
  font-family: 'Archivo', sans-serif;
  font-size: 0.88rem;
  line-height: 1.55;
  color: rgba(10, 10, 10, 0.6);
  margin: 0;
  flex: 1;
}
.insight-read {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  margin-top: 0.5rem;
}
.insight-read:hover { color: var(--pop); }
.insights-foot {
  display: block;
  margin-top: var(--s-5);
  text-align: right;
}
.insights-foot .insights-all {
  display: inline-block;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pop);
}
.insights-foot .insights-all:hover { opacity: 0.7; }
@media (max-width: 900px) {
  .insights-track { grid-template-columns: repeat(2, 1fr); }
  .insight-card:last-child { display: none; }
}
@media (max-width: 600px) {
  .insights-track { grid-template-columns: 1fr; }
  .insight-card:last-child { display: flex; }
}

/* ABOUT HERO — smaller h1 (long full sentence, not punchy headline) */
.about-hero h1 {
  font-size: clamp(1.4rem, 2.4vw, 2.4rem) !important;
  line-height: 1.1;
}
.about-hero h1 .sub {
  font-size: clamp(0.95rem, 1.3vw, 1.25rem) !important;
}

/* BOOKING THANK-YOU placeholder */
.book-thanks {
  padding: var(--s-3) 0;
}
.book-thanks h3 {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 0.6rem;
}
.book-thanks p {
  font-family: 'Archivo', sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(10, 10, 10, 0.65);
  margin: 0;
}

/* Member note callout (booking forms) */
.member-note {
  background: rgba(0, 47, 167, 0.05);
  border-left: 3px solid var(--pop);
  padding: 0.65rem 0.9rem;
  font-size: 0.83rem;
  line-height: 1.5;
  margin-bottom: var(--s-3);
  border-radius: 0 3px 3px 0;
}
.member-note a { color: var(--pop); text-decoration: underline; }
.booking.is-dark .member-note {
  background: rgba(231, 255, 144, 0.08);
  border-left-color: var(--hl);
  color: rgba(237, 230, 215, 0.8);
}
.booking.is-dark .member-note a { color: var(--hl); }

/* Book summary review step */
.book-summary { padding-top: var(--s-1); }
.summary-heading {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(10,10,10,0.45);
  margin-bottom: var(--s-2);
}
.summary-rows {
  margin: 0 0 var(--s-2);
  border-top: 1px solid rgba(10,10,10,0.1);
}
.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(10,10,10,0.08);
  font-size: 0.88rem;
}
.summary-row dt { color: rgba(10,10,10,0.5); font-weight: 400; }
.summary-row dd { margin: 0; font-weight: 500; text-align: right; }
.summary-row.summary-price dd {
  font-family: 'Archivo Black', sans-serif;
  font-size: 1.05rem;
  color: var(--pop);
}
.summary-member-note {
  background: rgba(0, 47, 167, 0.05);
  border-left: 3px solid var(--pop);
  padding: 0.65rem 0.9rem;
  font-size: 0.82rem;
  line-height: 1.5;
  margin-bottom: var(--s-2);
  border-radius: 0 3px 3px 0;
}
.summary-member-note a { color: var(--pop); text-decoration: underline; }
.summary-actions {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  flex-wrap: wrap;
}
.book-edit {
  background: transparent;
  border: 1px solid rgba(10,10,10,0.25);
  padding: 0.75rem 1.1rem;
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  color: rgba(10,10,10,0.6);
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
}
.book-edit:hover { border-color: var(--ink); color: var(--ink); }
.booking.is-dark .summary-heading { color: rgba(237,230,215,0.45); }
.booking.is-dark .summary-rows { border-top-color: rgba(237,230,215,0.12); }
.booking.is-dark .summary-row { border-bottom-color: rgba(237,230,215,0.08); }
.booking.is-dark .summary-row dt { color: rgba(237,230,215,0.5); }
.booking.is-dark .summary-row dd { color: var(--stucco); }
.booking.is-dark .summary-row.summary-price dd { color: var(--hl); }
.booking.is-dark .summary-member-note {
  background: rgba(231,255,144,0.08);
  border-left-color: var(--hl);
  color: rgba(237,230,215,0.8);
}
.booking.is-dark .summary-member-note a { color: var(--hl); }
.booking.is-dark .book-edit { border-color: rgba(237,230,215,0.25); color: rgba(237,230,215,0.6); }
.booking.is-dark .book-edit:hover { border-color: var(--stucco); color: var(--stucco); }

/* Book thanks enriched */
.book-thanks-member { margin-top: 0.5rem !important; font-size: 0.83rem !important; }
.book-thanks-member a { color: var(--pop); text-decoration: underline; }
.booking.is-dark .book-thanks-member a { color: var(--hl); }
.book-thanks-links { display: flex; gap: 1rem; margin-top: var(--s-2); flex-wrap: wrap; }
.book-thanks-link {
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--pop);
  text-decoration: none;
  transition: color 0.2s;
}
.book-thanks-link:hover { color: var(--ink); }
.booking.is-dark .book-thanks-link { color: var(--hl); }
.booking.is-dark .book-thanks-link:hover { color: var(--stucco); }

/* Booking confirmed page */
.booking-confirmed-section {
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  padding: 8rem 2rem 5rem;
}
.bc-inner { max-width: 600px; margin: 0 auto; }
.bc-eyebrow {
  display: block;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pop);
  margin-bottom: 1rem;
}
.bc-heading {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(2.5rem, 6vw, 4rem);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--ink);
  margin: 0 0 1rem;
}
.bc-body {
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(10,10,10,0.65);
  margin: 0 0 2rem;
  max-width: 42ch;
}
.bc-address {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.9rem;
  color: rgba(10,10,10,0.6);
  margin-bottom: 2rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(10,10,10,0.1);
  border-bottom: 1px solid rgba(10,10,10,0.1);
}
.bc-address a { color: var(--pop); text-decoration: none; font-weight: 600; }
.bc-address a:hover { text-decoration: underline; }
.bc-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 2rem; }
.bc-info {
  margin-top: 2rem;
  border-top: 1px solid var(--line);
  padding-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.bc-info-row {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.5rem;
  font-size: 0.85rem;
  line-height: 1.5;
}
.bc-info-label {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(10,10,10,0.4);
  padding-top: 0.15rem;
}
.bc-info a { color: var(--pop); text-decoration: none; }
.bc-info a:hover { text-decoration: underline; }

/* ════════════════════════════════
   MOBILE SAFETY + LAYOUT FIXES
   Prevent horizontal overflow site-wide, collapse tight grids on phones,
   trim padding on very small screens.
   ════════════════════════════════ */

/* Global overflow safety — no horizontal scroll anywhere */
html, body {
  overflow-x: clip;
}
img, video {
  max-width: 100%;
  height: auto;
}

/* ════════════════════════════════
   MOBILE MENU — single source of truth
   Closed: hidden via display:none
   Open: fixed full-screen overlay, scrollable, on top of nav
   ════════════════════════════════ */
.mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh; /* dynamic vh handles iOS Safari URL bar */
  background: var(--stucco);
  z-index: 200;
  padding: 5.5rem var(--s-4) var(--s-4);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex-direction: column;
  gap: var(--s-4);
}
.menu-open .mobile-menu { display: flex; }
/* keep nav clickable above menu */
.nav { z-index: 210; }
/* hide the hamburger when menu is open — in-menu X takes over */
.menu-open .menu-toggle { opacity: 0; pointer-events: none; }
/* lock body scroll when menu is open */
body.menu-open { overflow: hidden; }
/* close button injected inside .mobile-menu via JS */
.mobile-menu-close {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--ink);
  cursor: pointer;
}

/* Phone breakpoint: <= 680px */
@media (max-width: 680px) {
  /* Founder cards on About — stack on phones */
  .founder-pair { grid-template-columns: 1fr; gap: var(--s-3); }
  .founder-pair .founder-card .photo { aspect-ratio: 3/2; }

  /* Insights cards — single column on phones */
  .insights-track { grid-template-columns: 1fr !important; }
  .insight-card:last-child { display: flex !important; }

  /* Page sections — tighter side padding so things don't crowd the edge */
  .page-hero,
  .insights-section,
  .more-section,
  .contact-section,
  .booking,
  .pricing,
  .faq,
  .faq-light,
  .close-cta,
  .about-story,
  .about-crew,
  .concept,
  .hero {
    padding-left: var(--s-3);
    padding-right: var(--s-3);
  }

  /* Contact compact — stack on mobile */
  .contact-compact { min-height: unset; padding: var(--s-6) var(--s-3); align-items: flex-start; }
  .cc-inner { grid-template-columns: 1fr !important; gap: var(--s-5); }
  .cc-title { font-size: clamp(2.4rem, 9vw, 3.5rem); }
  .cc-form { border-top: 1.5px solid var(--hl); padding-top: var(--s-4); }

  /* Headings: bring h1 size down a notch on tiny screens */
  .page-hero h1 { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
  .page-hero h1 .sub { font-size: clamp(0.85rem, 3.5vw, 1rem) !important; }
  .hero .h1 { font-size: clamp(2rem, 9vw, 3.2rem); }

  /* Pricing cards — single column */
  .pricing-cards,
  .price-grid { grid-template-columns: 1fr !important; gap: var(--s-3) !important; }

  /* Hero pricing card on event-space / desks / virtual-office — keep readable */
  .hero-pricing-card { padding: var(--s-3); }

  /* Footer — give the address breathing room */
  .footer-statement { flex-direction: column; align-items: flex-start; gap: var(--s-3); }
  .fs-address { font-size: clamp(1.5rem, 7vw, 2.4rem); }

  /* Partners — 2 columns on mobile so logos stay readable */
  .footer-partners .fp-grid { grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
  .footer-partners .fp img { max-width: 140px; max-height: 26px; }
  .footer-cols { grid-template-columns: 1fr !important; }

  /* Booking grid — controls + calendar stack vertically */
  .booking-inner { grid-template-columns: 1fr !important; gap: var(--s-4); }

  /* Mobile menu — slightly smaller links so longer items fit */
  .mobile-menu li a { font-size: 1.6rem; }
}

/* Very small phones: <= 380px — tighten more */
@media (max-width: 380px) {
  .page-hero h1 { font-size: 1.3rem !important; }
  .hero .h1 { font-size: clamp(1.8rem, 9vw, 2.4rem); }
  .nav .cta { display: none; }
}

/* MOBILE — hero specific fixes */
@media (max-width: 680px) {
  /* Remove logo watermark — nav already has the brand, no need to repeat */
  .hero-logo { display: none; }

  /* Hide long body paragraph — h1 + CTAs carry the hero on mobile */
  .hero-text p { display: none; }

  /* Tighten hero padding and bring gallery up */
  .hero { padding: var(--s-3) var(--s-3) 0; }
  .hero-inner { padding-bottom: var(--s-4); }
  .hero-gallery { padding: 0 var(--s-3); margin-top: var(--s-3); }
  .hero-gallery .slider { aspect-ratio: 5/4; }

  /* Hero text size */
  .hero .h1 { font-size: clamp(2.2rem, 11vw, 3rem); line-height: 1; }

  /* Concept / sections — single column on mobile if not already */
  .concept-inner,
  .more-inner,
  .insights-inner,
  .about-story-inner,
  /* Hide footer map on very small screens — address text is enough */
  .fs-map { display: none; }

  /* Footer columns stack */
  .footer-cols { grid-template-columns: 1fr !important; gap: var(--s-3); }
  .footer-bottom { flex-direction: column; gap: var(--s-2); align-items: flex-start; }

  /* Make sure section padding never gets too tight */
  section, header { padding-left: var(--s-3) !important; padding-right: var(--s-3) !important; }

  /* Insights section: inner already hidden — kill the wrapper padding too */
  .insights-section { display: none; }

  /* Facilities: remove top margin that was spacing it from concept-inner (now hidden) */
  .facilities { margin-top: 0; }

  /* Blog posts: reduce generous desktop bottom padding */
  .post-article { padding-bottom: var(--s-5); }
}

/* ────────────── COOKIE BANNER ────────────── */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9000;
  background: var(--ink); color: var(--stucco);
  padding: var(--s-3) var(--s-5);
  display: flex; align-items: center; gap: var(--s-5);
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.18);
}
.cookie-banner.is-visible { transform: translateY(0); }
.cookie-banner-text {
  flex: 1; font-size: 0.8rem; line-height: 1.6;
  color: rgba(237,230,215,0.8);
}
.cookie-banner-text a { color: var(--hl); text-underline-offset: 2px; }
.cookie-banner-actions { display: flex; gap: var(--s-2); flex-shrink: 0; }
.cookie-btn-accept {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: var(--hl); color: var(--ink); border: none; cursor: pointer;
  padding: 0.55rem 1.2rem; white-space: nowrap;
  transition: background 0.15s ease;
}
.cookie-btn-accept:hover { background: #e88a92; }
.cookie-btn-reject {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: transparent; color: rgba(237,230,215,0.65);
  border: 1px solid rgba(237,230,215,0.2); cursor: pointer;
  padding: 0.55rem 1.2rem; white-space: nowrap;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.cookie-btn-reject:hover { border-color: rgba(237,230,215,0.6); color: var(--stucco); }
@media (max-width: 640px) {
  .cookie-banner { flex-direction: column; align-items: flex-start; padding: var(--s-3) var(--s-3); gap: var(--s-3); }
  .cookie-banner-actions { width: 100%; }
  .cookie-btn-accept, .cookie-btn-reject { flex: 1; text-align: center; padding: 0.7rem 0.5rem; }
}
