/* === GLOBAL BASE STYLES (FORCED) === */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

main {
  max-width: 1600px;
  margin-inline: auto;
  width: 100%;
}

.container {
  margin-inline: auto;
}

body {
  overflow-x: hidden;
}

section {
  width: 100%;
}

.utility-shell {
  width: min(980px, calc(100% - 24px));
  margin: 0 auto;
  padding: 28px 0 56px;
}

.utility-page--with-header .utility-shell {
  padding-top: calc(
    28px +
    var(
      --utility-chrome-offset,
      calc(var(--spacing-6, 48px) + var(--spacing-4, 32px))
    )
  );
}

@media (max-width: 720px) {
  .utility-shell {
    width: min(100% - 16px, 980px);
    padding-top: 16px;
    padding-bottom: 36px;
  }

  .utility-page--with-header .utility-shell {
    padding-top: calc(
      16px +
      var(
        --utility-chrome-offset-mobile,
        calc(var(--spacing-4, 32px) + var(--spacing-3, 24px))
      )
    );
  }
}

/* --- SVG icons (local sprite) --- */
.icon {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  vertical-align: middle;
  flex: 0 0 auto;
}

/* --- index.html --- */
:root {
      --bg: #071024;
      --surface: #0F172A;
      --surface-hover: #1E293B;
      --text: #E5E7EB;
      --text-dark: #071024;
      --muted: #94A3B8;
      --accent: #10B981;
      --accent-hover: #34D399;
      --radius-pill: 9999px;
      --radius-card: 1.5rem;
      --space-base: 0.375rem; /* 6pt rhythm base */
      --font-sans: system-ui, -apple-system, sans-serif;
      --font-serif: "Georgia", ui-serif, serif;
      --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.4);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      background-color: var(--bg);
      color: var(--text);
      font-family: var(--font-sans);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    a {
      color: var(--accent);
      text-decoration: none;
      transition: color 0.2s ease;
    }

    a:hover {
      color: var(--accent-hover);
    }

    /* Layout Utilities */
    .container {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: calc(var(--space-base) * 8) calc(var(--space-base) * 4);
    }

    .section-band {
      width: 100%;
      padding: calc(var(--space-base) * 12) 0;
    }

    .surface-band {
      background-color: var(--surface);
    }

    /* Typography */
    .font-serif {
      font-family: var(--font-serif);
    }

    .kicker {
      display: inline-block;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 0.875rem;
      letter-spacing: 0.05em;
      color: var(--accent);
      margin-bottom: calc(var(--space-base) * 2);
    }

    .headline-expressive {
      font-size: clamp(2.5rem, 5vw, 4rem);
      line-height: 1.1;
      font-weight: 700;
      margin-bottom: calc(var(--space-base) * 4);
      color: #FFFFFF;
    }

    .heading-inset {
      display: inline-flex;
      align-items: center;
      background-color: var(--bg);
      border: 1px solid var(--accent);
      padding: calc(var(--space-base) * 1.5) calc(var(--space-base) * 3);
      border-radius: var(--radius-pill);
      font-weight: 700;
      font-size: 1.25rem;
      margin-bottom: calc(var(--space-base) * 6);
    }

    .heading-op {
      font-size: 1.5rem;
      font-weight: 700;
      margin-bottom: calc(var(--space-base) * 2);
      color: #FFFFFF;
    }

    .text-body-large {
      font-size: 1.125rem;
      color: var(--muted);
      margin-bottom: calc(var(--space-base) * 6);
      max-width: 500px;
    }

    /* Buttons */
    .btn-group {
      display: flex;
      gap: calc(var(--space-base) * 3);
      flex-wrap: wrap;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: calc(var(--space-base) * 2.5) calc(var(--space-base) * 5);
      border-radius: var(--radius-pill);
      font-weight: 700;
      font-size: 1rem;
      text-align: center;
      cursor: pointer;
      transition: all 0.2s ease;
      border: none;
    }

    .btn-primary {
      background-color: var(--accent);
      color: var(--text-dark);
    }

    .btn-primary:hover {
      background-color: var(--accent-hover);
      color: var(--text-dark);
      transform: translateY(-2px);
    }

    .btn-secondary {
      background-color: transparent;
      color: var(--text);
      border: 2px solid var(--muted);
    }

    .btn-secondary:hover {
      border-color: var(--text);
      color: #FFFFFF;
    }

    /* Hero Split */
    .hero-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: calc(var(--space-base) * 8);
      align-items: center;
    }

    .hero-content {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }

    .hero-image-wrapper {
      position: relative;
      border-radius: var(--radius-card);
      overflow: hidden;
      box-shadow: var(--shadow-soft);
    }

    .hero-image-wrapper img {
      width: 100%;
      height: auto;
      object-fit: cover;
      aspect-ratio: 4/5;
    }

    /* Step Rhythm */
    .step-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: calc(var(--space-base) * 6);
    }

    .step-card {
      background-color: var(--surface);
      border-radius: var(--radius-card);
      padding: calc(var(--space-base) * 6);
      text-align: left;
      box-shadow: var(--shadow-soft);
    }

    .step-num {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      background-color: var(--accent);
      color: var(--text-dark);
      border-radius: var(--radius-pill);
      font-weight: 700;
      margin-bottom: calc(var(--space-base) * 3);
    }

    .step-card img {
      border-radius: var(--radius-card);
      margin-bottom: calc(var(--space-base) * 4);
      aspect-ratio: 16/9;
      object-fit: cover;
    }

    /* Magazine Grid */
    .magazine-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows: 250px;
      gap: calc(var(--space-base) * 3);
    }

    .mag-item {
      position: relative;
      border-radius: var(--radius-card);
      overflow: hidden;
    }

    .mag-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }

    .mag-item:hover img {
      transform: scale(1.05);
    }

    .mag-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(7, 16, 36, 0.9) 0%, transparent 70%);
      display: flex;
      align-items: flex-end;
      padding: calc(var(--space-base) * 4);
    }

    .mag-title {
      font-weight: 700;
      font-size: 1.25rem;
      color: #FFFFFF;
    }

    .mag-item.large {
      grid-column: span 2;
      grid-row: span 2;
    }

    .mag-item.wide {
      grid-column: span 2;
    }

    /* Table / List Rhythm */
    .list-wrapper {
      max-width: 800px;
      margin: 0 auto;
    }

    .list-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: calc(var(--space-base) * 4) 0;
      border-bottom: 1px solid rgba(148, 163, 184, 0.2);
      gap: calc(var(--space-base) * 3);
    }

    .list-row:last-child {
      border-bottom: none;
    }

    .list-info {
      display: flex;
      flex-direction: column;
      gap: calc(var(--space-base) * 1);
    }

    .list-name {
      font-size: 1.25rem;
      font-weight: 700;
      color: #FFFFFF;
    }

    .list-meta {
      color: var(--muted);
      font-size: 0.875rem;
    }

    .list-action {
      font-weight: 700;
      padding: calc(var(--space-base) * 1.5) calc(var(--space-base) * 3);
      border-radius: var(--radius-pill);
      background-color: var(--surface-hover);
      color: var(--text);
    }

    .list-action:hover {
      background-color: var(--accent);
      color: var(--text-dark);
    }

    /* Action Cluster (Framed) */
    .action-cluster {
      background-color: var(--surface);
      border-radius: var(--radius-card);
      padding: calc(var(--space-base) * 10) calc(var(--space-base) * 4);
      text-align: center;
      border: 1px solid rgba(148, 163, 184, 0.1);
      box-shadow: var(--shadow-soft);
      max-width: 900px;
      margin: 0 auto;
    }

    .contact-links {
      display: flex;
      justify-content: center;
      gap: calc(var(--space-base) * 6);
      margin: calc(var(--space-base) * 6) 0;
      flex-wrap: wrap;
    }

    .contact-link-item {
      display: inline-flex;
      align-items: center;
      gap: calc(var(--space-base) * 1.5);
      font-weight: 700;
      color: var(--text);
    }

    .contact-link-item svg {
      width: 20px;
      height: 20px;
      color: var(--accent);
    }

    /* Responsive */
    @media (max-width: 992px) {
      .magazine-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .mag-item.large, .mag-item.wide {
        grid-column: span 1;
        grid-row: span 1;
      }
    }

    @media (max-width: 768px) {
      .hero-split {
        grid-template-columns: 1fr;
      }
      .hero-image-wrapper img {
        aspect-ratio: 16/9;
      }
      .step-grid {
        grid-template-columns: 1fr;
      }
      .magazine-grid {
        grid-template-columns: 1fr;
      }
      .list-row {
        flex-direction: column;
        align-items: flex-start;
      }
      .contact-links {
        flex-direction: column;
        align-items: center;
        gap: calc(var(--space-base) * 3);
      }
    }

/* --- restaurants.html --- */
:root {
            --bg: #071024;
            --surface: #0F172A;
            --text: #E5E7EB;
            --muted: #94A3B8;
            --accent: #2DD4BF;
            --accent-hover: #14B8A6;
            --radius-pill: 9999px;
            --radius-card: 24px;
            --space-1: 6px;
            --space-2: 12px;
            --space-3: 24px;
            --space-4: 48px;
            --space-5: 96px;
            --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
            --font-serif: Georgia, Cambria, 'Times New Roman', Times, serif;
        }

        *, *::before, *::after {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            background-color: var(--bg);
            color: var(--text);
            font-family: var(--font-sans);
            line-height: 1.6;
            overflow-x: hidden;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        a {
            color: var(--accent);
            text-decoration: none;
            transition: color 0.2s ease;
        }

        a:hover {
            color: var(--accent-hover);
        }

        h1, h2, h3, h4 {
            margin-top: 0;
            margin-bottom: var(--space-2);
            font-weight: 700;
            line-height: 1.1;
            color: #FFFFFF;
        }

        p {
            margin-top: 0;
            margin-bottom: var(--space-3);
            color: var(--muted);
        }

        .font-accent {
            font-family: var(--font-serif);
            font-style: italic;
            font-weight: normal;
        }

        .container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 var(--space-3);
        }

        .section-spacing {
            padding-top: var(--space-5);
            padding-bottom: var(--space-5);
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: var(--space-2) var(--space-4);
            border-radius: var(--radius-pill);
            font-weight: 700;
            text-align: center;
            transition: all 0.2s ease;
            border: none;
            cursor: pointer;
        }

        .btn-primary {
            background-color: var(--accent);
            color: #071024;
        }

        .btn-primary:hover {
            background-color: var(--accent-hover);
            color: #071024;
            transform: translateY(-2px);
        }

        .btn-secondary {
            background-color: transparent;
            color: var(--text);
            border: 2px solid var(--surface);
        }

        .btn-secondary:hover {
            background-color: var(--surface);
            border-color: var(--muted);
        }

        /* Hero Stacked */
        .hero-stacked {
            position: relative;
            padding-bottom: var(--space-5);
        }

        .hero-media {
            height: 55vh;
            min-height: 400px;
            width: 100%;
            background-color: var(--surface);
        }

        .hero-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 0 0 var(--radius-card) var(--radius-card);
            opacity: 0.8;
        }

        .hero-content-layer {
            max-width: 800px;
            margin: -15vh auto 0;
            position: relative;
            z-index: 10;
            background: var(--surface);
            padding: var(--space-4) var(--space-3);
            border-radius: var(--radius-card);
            text-align: center;
            box-shadow: 0 24px 48px rgba(0,0,0,0.6);
            width: calc(100% - var(--space-4));
        }

        .hero-content-layer h1 {
            font-size: clamp(2rem, 5vw, 3.5rem);
            margin-bottom: var(--space-3);
        }

        .kicker {
            display: block;
            color: var(--accent);
            font-size: 1.25rem;
            margin-bottom: var(--space-2);
        }

        /* Headings */
        .heading-left-led {
            max-width: 600px;
            margin-bottom: var(--space-4);
        }

        .heading-inset-framed {
            background: var(--surface);
            padding: var(--space-3) var(--space-4);
            border-radius: var(--radius-pill);
            display: inline-block;
            margin-bottom: var(--space-4);
            border: 1px solid rgba(255,255,255,0.05);
        }
        
        .heading-inset-framed h2 {
            margin-bottom: 0;
            font-size: 1.5rem;
        }
        
        .heading-inset-framed p {
            margin-bottom: 0;
            font-size: 0.9rem;
            margin-top: var(--space-1);
        }

        /* Magazine Grid */
        .magazine-grid {
            display: grid;
            gap: var(--space-3);
            grid-template-columns: 1fr;
        }

        @media(min-width: 768px) {
            .magazine-grid {
                grid-template-columns: repeat(12, 1fr);
            }
            .mag-item.large {
                grid-column: span 8;
            }
            .mag-item.small {
                grid-column: span 4;
            }
            .mag-item.medium {
                grid-column: span 12;
                flex-direction: row;
                align-items: stretch;
            }
            .mag-item.medium img {
                width: 50%;
                height: auto;
            }
            .mag-item.medium .mag-content {
                width: 50%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                padding: var(--space-4);
            }
        }

        .mag-item {
            background: var(--surface);
            border-radius: var(--radius-card);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transition: transform 0.3s ease;
        }

        .mag-item:hover {
            transform: translateY(-4px);
        }

        .mag-item img {
            height: 320px;
            width: 100%;
            object-fit: cover;
        }

        .mag-content {
            padding: var(--space-3);
        }

        /* List Rhythm */
        .bg-surface-band {
            background-color: var(--surface);
            border-radius: var(--radius-card);
        }

        .list-rhythm {
            display: flex;
            flex-direction: column;
        }

        .list-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: var(--space-3) var(--space-2);
            border-bottom: 1px solid rgba(148, 163, 184, 0.2);
            color: var(--text);
        }

        .list-row:last-child {
            border-bottom: none;
        }

        .list-row:hover {
            background: rgba(255,255,255,0.02);
            border-radius: var(--radius-card);
            padding-left: var(--space-3);
            padding-right: var(--space-3);
        }

        .list-title {
            font-weight: 700;
            font-size: 1.25rem;
            flex: 1;
        }

        .list-meta {
            color: var(--muted);
            margin-right: var(--space-3);
            font-size: 0.95rem;
        }

        .list-arrow {
            color: var(--accent);
            font-size: 1.5rem;
            line-height: 1;
        }

        /* Steps Grid */
        .steps-grid {
            display: grid;
            gap: var(--space-3);
            grid-template-columns: 1fr;
        }

        @media(min-width: 768px) {
            .steps-grid {
                grid-template-columns: repeat(4, 1fr);
            }
        }

        .step-card {
            padding: var(--space-3);
            border-top: 2px solid var(--accent);
            background: var(--surface);
            border-radius: 0 0 var(--radius-card) var(--radius-card);
        }

        .step-num {
            font-size: 2.5rem;
            color: var(--accent);
            display: block;
            margin-bottom: var(--space-2);
            line-height: 1;
        }

        /* Framed CTA */
        .framed-cta {
            background: linear-gradient(135deg, var(--surface) 0%, rgba(15,23,42,0.8) 100%);
            border: 1px solid rgba(45, 212, 191, 0.2);
            padding: var(--space-5) var(--space-3);
            border-radius: var(--radius-card);
            text-align: center;
            max-width: 800px;
            margin: 0 auto;
            position: relative;
            overflow: hidden;
        }

        .framed-cta::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(45,212,191,0.05) 0%, transparent 70%);
            z-index: 0;
            pointer-events: none;
        }

        .framed-cta > * {
            position: relative;
            z-index: 1;
        }

        /* Contact Slab */
        .contact-slab {
            text-align: center;
            background: var(--surface);
            border-radius: var(--radius-card);
            padding: var(--space-4) var(--space-3);
            margin-bottom: var(--space-5);
        }

        .contact-links {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: var(--space-2);
            margin-top: var(--space-3);
        }

        @media(max-width: 600px) {
            .contact-links {
                flex-direction: column;
            }
            .list-row {
                flex-wrap: wrap;
            }
            .list-title {
                width: 100%;
                margin-bottom: var(--space-1);
            }
            .list-meta {
                margin-right: auto;
            }
        }

/* --- menu.html --- */
:root {
      /* Navy-Mint Dark Mode Palette */
      --bg-color: #071024;
      --surface-color: #0F172A;
      --surface-alt: #1E293B;
      --text-color: #E5E7EB;
      --text-muted: #94A3B8;
      --accent-color: #2DD4BF;
      --accent-hover: #14B8A6;
      --accent-text: #071024;
      
      /* Typography */
      --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
      
      /* Spacing: 6pt scale */
      --sp-1: 6px;
      --sp-2: 12px;
      --sp-3: 18px;
      --sp-4: 24px;
      --sp-6: 36px;
      --sp-8: 48px;
      --sp-12: 72px;
      --sp-16: 96px;
      
      /* Radius */
      --radius-pill: 9999px;
      --radius-card: 24px;
      
      /* Layout */
      --max-width: 1200px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      background-color: var(--bg-color);
      color: var(--text-color);
      font-family: var(--font-sans);
      font-weight: 400;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    h1, h2, h3, h4, .font-serif {
      font-family: var(--font-serif);
      font-weight: 700;
      line-height: 1.2;
      color: var(--text-color);
    }

    a {
      color: var(--accent-color);
      text-decoration: none;
      transition: color 0.2s ease;
    }

    a:hover {
      color: var(--accent-hover);
    }

    .container {
      width: 100%;
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 var(--sp-4);
    }

    /* Buttons (Pill) */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background-color: var(--accent-color);
      color: var(--accent-text);
      font-weight: 700;
      padding: var(--sp-3) var(--sp-6);
      border-radius: var(--radius-pill);
      transition: background-color 0.2s ease, transform 0.1s ease;
      text-align: center;
    }
    .btn:hover {
      background-color: var(--accent-hover);
      color: var(--accent-text);
      transform: translateY(-2px);
    }

    .btn-outline {
      background-color: transparent;
      border: 2px solid var(--accent-color);
      color: var(--accent-color);
    }
    .btn-outline:hover {
      background-color: var(--accent-color);
      color: var(--accent-text);
    }

    /* Sections */
    .section {
      padding: var(--sp-16) 0;
    }

    /* Hero: Stacked */
    .hero-section {
      padding: var(--sp-16) 0 var(--sp-12);
      text-align: center;
      background-color: var(--surface-color);
      border-bottom: 1px solid var(--surface-alt);
    }
    .hero-kicker {
      display: inline-block;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-weight: 700;
      font-size: 0.875rem;
      color: var(--accent-color);
      margin-bottom: var(--sp-4);
    }
    .hero-title {
      font-size: clamp(2.5rem, 5vw, 4rem);
      margin-bottom: var(--sp-4);
    }
    .hero-subtitle {
      font-size: 1.25rem;
      color: var(--text-muted);
      max-width: 600px;
      margin: 0 auto var(--sp-8);
    }
    .hero-image-wrapper {
      max-width: 900px;
      margin: 0 auto;
      border-radius: var(--radius-card);
      overflow: hidden;
      box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    }
    .hero-image-wrapper img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
    }

    /* Asymmetric Grid (Specials) */
    .specials-section {
      background-color: var(--bg-color);
    }
    .section-header-left {
      margin-bottom: var(--sp-8);
    }
    .section-header-left h2 {
      font-size: 2.5rem;
      margin-bottom: var(--sp-2);
    }
    .section-header-left p {
      color: var(--text-muted);
      font-size: 1.125rem;
    }
    .mag-grid {
      display: grid;
      gap: var(--sp-4);
      grid-template-columns: 1fr;
    }
    @media(min-width: 768px) {
      .mag-grid {
        grid-template-columns: 2fr 1fr;
        grid-auto-rows: 1fr;
      }
      .mag-feature {
        grid-row: span 2;
      }
    }
    .mag-card {
      background-color: var(--surface-color);
      border-radius: var(--radius-card);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    }
    .mag-card img {
      width: 100%;
      height: 250px;
      object-fit: cover;
    }
    @media(min-width: 768px) {
      .mag-feature img {
        height: 100%;
        min-height: 400px;
      }
    }
    .mag-content {
      padding: var(--sp-6);
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }
    .mag-content h3 {
      font-size: 1.5rem;
      margin-bottom: var(--sp-2);
    }
    .mag-content p {
      color: var(--text-muted);
      margin-bottom: var(--sp-4);
    }
    .mag-price {
      font-weight: 700;
      color: var(--accent-color);
      font-size: 1.25rem;
    }

    /* List Rhythm (Categories) */
    .categories-section {
      background-color: var(--surface-alt);
    }
    .inset-header {
      background-color: var(--bg-color);
      padding: var(--sp-6) var(--sp-8);
      border-radius: var(--radius-card);
      display: inline-block;
      margin-bottom: var(--sp-8);
    }
    .inset-header h2 {
      font-size: 2rem;
    }
    .category-list {
      list-style: none;
    }
    .category-list-item {
      display: flex;
      flex-direction: column;
      padding: var(--sp-6) 0;
      border-bottom: 1px solid rgba(255,255,255,0.1);
      gap: var(--sp-2);
    }
    @media(min-width: 768px) {
      .category-list-item {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
      }
    }
    .category-list-item:last-child {
      border-bottom: none;
    }
    .cat-info h3 {
      font-size: 1.5rem;
      margin-bottom: var(--sp-1);
    }
    .cat-info p {
      color: var(--text-muted);
    }
    .cat-meta {
      display: flex;
      align-items: center;
      gap: var(--sp-4);
    }
    .cat-time {
      font-weight: 700;
      background-color: rgba(45, 212, 191, 0.1);
      color: var(--accent-color);
      padding: var(--sp-1) var(--sp-3);
      border-radius: var(--radius-pill);
      font-size: 0.875rem;
    }

    /* Steps Rhythm */
    .steps-section {
      background-color: var(--bg-color);
    }
    .steps-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--sp-8);
    }
    @media(min-width: 768px) {
      .steps-grid {
        grid-template-columns: repeat(3, 1fr);
      }
    }
    .step-card {
      text-align: center;
    }
    .step-img-wrap {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin: 0 auto var(--sp-4);
      background-color: var(--surface-color);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .step-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0.8;
    }
    .step-card h3 {
      font-size: 1.25rem;
      margin-bottom: var(--sp-2);
    }
    .step-card p {
      color: var(--text-muted);
      font-size: 0.95rem;
    }

    /* Action Cluster (Support) */
    .support-section {
      padding: var(--sp-8) 0 var(--sp-16);
    }
    .action-cluster {
      background-color: var(--surface-color);
      border: 1px solid var(--surface-alt);
      border-radius: var(--radius-card);
      padding: var(--sp-8) var(--sp-6);
      text-align: center;
      max-width: 800px;
      margin: 0 auto;
    }
    .action-cluster h2 {
      font-size: 2rem;
      margin-bottom: var(--sp-4);
    }
    .action-cluster p {
      color: var(--text-muted);
      margin-bottom: var(--sp-6);
    }
    .contact-links {
      display: flex;
      flex-direction: column;
      gap: var(--sp-4);
      align-items: center;
      justify-content: center;
    }
    @media(min-width: 768px) {
      .contact-links {
        flex-direction: row;
        gap: var(--sp-8);
      }
    }
    .contact-item {
      display: flex;
      align-items: center;
      gap: var(--sp-2);
      font-weight: 700;
    }
    .contact-item svg {
      width: 20px;
      height: 20px;
      color: var(--accent-color);
    }

/* --- reviews.html --- */
:root {
    --bg: #071024;
    --surface: #0F172A;
    --text: #E5E7EB;
    --muted: #94A3B8;
    --accent: #14B8A6;
    --accent-hover: #0D9488;
    --radius: 9999px;
    --radius-block: 24px;
    --sp-1: 6px;
    --sp-2: 12px;
    --sp-3: 18px;
    --sp-4: 24px;
    --sp-6: 36px;
    --sp-8: 48px;
    --sp-12: 72px;
    --sp-16: 96px;
    --font-sans: system-ui, -apple-system, sans-serif;
    --font-serif: Georgia, serif;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body { background-color: var(--bg); color: var(--text); font-family: var(--font-sans); line-height: 1.6; }
  a { color: var(--accent); text-decoration: none; transition: color 0.2s; }
  a:hover { color: var(--accent-hover); }
  img { max-width: 100%; height: auto; display: block; border-radius: var(--radius-block); }

  h1, h2, h3 { color: var(--text); font-weight: 700; line-height: 1.2; }
  .kicker { font-family: var(--font-serif); font-style: italic; color: var(--accent); font-size: 1.125rem; margin-bottom: var(--sp-2); display: block; }
  .text-muted { color: var(--muted); }
  
  .btn {
    display: inline-flex; align-items: center; justify-content: center;
    background-color: var(--accent); color: var(--bg);
    padding: var(--sp-2) var(--sp-4); border-radius: var(--radius);
    font-weight: 700; border: none; cursor: pointer; transition: background-color 0.2s;
    text-decoration: none;
  }
  .btn:hover { background-color: var(--accent-hover); color: var(--bg); }

  .container { max-width: 1140px; margin: 0 auto; padding: 0 var(--sp-4); }
  .section { padding: var(--sp-16) 0; }
  .section-tint { background-color: var(--surface); }

  .hero-stacked { text-align: center; max-width: 800px; margin: 0 auto; padding: var(--sp-12) 0; }
  .hero-stacked h1 { font-size: clamp(2.5rem, 5vw, 4rem); margin-bottom: var(--sp-4); }
  .hero-stacked p { font-size: 1.25rem; color: var(--muted); margin-bottom: var(--sp-6); }
  .hero-actions { display: flex; justify-content: center; gap: var(--sp-4); flex-wrap: wrap; }

  .mag-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-8); align-items: center; }
  @media (min-width: 768px) { .mag-grid { grid-template-columns: 2fr 3fr; } }
  .mag-score-wrap { text-align: left; }
  .mag-score { font-size: clamp(4rem, 8vw, 6rem); font-weight: 700; line-height: 1; margin-bottom: var(--sp-2); display: block; font-family: var(--font-serif); }
  .mag-score span { font-size: 1.5rem; color: var(--muted); font-family: var(--font-sans); font-weight: 400; }
  .mag-stats { display: flex; flex-direction: column; gap: var(--sp-4); background-color: var(--surface); padding: var(--sp-6); border-radius: var(--radius-block); }
  .stat-row { display: flex; align-items: center; gap: var(--sp-4); }
  .stat-label { flex: 1; font-weight: 700; }
  .stat-bar { flex: 2; height: 8px; background-color: var(--bg); border-radius: var(--radius); overflow: hidden; }
  .stat-fill { height: 100%; background-color: var(--accent); border-radius: var(--radius); }
  .stat-value { font-weight: 700; color: var(--accent); min-width: 48px; text-align: right; }

  .list-section { padding-top: var(--sp-8); }
  .list-header { margin-bottom: var(--sp-8); }
  .list-header h2 { font-size: 2rem; }
  .review-row { display: grid; grid-template-columns: 1fr; gap: var(--sp-2); padding: var(--sp-6) 0; border-bottom: 1px solid var(--surface); }
  @media (min-width: 768px) { .review-row { grid-template-columns: 240px 1fr; gap: var(--sp-8); } }
  .review-meta { color: var(--muted); }
  .review-name { font-weight: 700; color: var(--text); margin-bottom: var(--sp-1); display: block; }
  .review-body { font-size: 1.25rem; line-height: 1.5; }
  .review-body::before { content: "\201C"; font-family: var(--font-serif); color: var(--accent); font-size: 1.5rem; margin-right: 4px; }
  .review-body::after { content: "\201D"; font-family: var(--font-serif); color: var(--accent); font-size: 1.5rem; margin-left: 4px; }

  .split-section { display: grid; grid-template-columns: 1fr; gap: var(--sp-8); align-items: center; }
  @media (min-width: 768px) { .split-section { grid-template-columns: 1fr 1fr; } }
  .split-content { padding-right: 0; }
  @media (min-width: 768px) { .split-content { padding-right: var(--sp-8); } }
  .split-content h2 { font-size: 2.5rem; margin-bottom: var(--sp-4); }
  .split-content p { font-size: 1.125rem; color: var(--muted); margin-bottom: var(--sp-4); }

  .inset-frame { background-color: var(--surface); padding: var(--sp-12) var(--sp-6); border-radius: var(--radius-block); text-align: center; margin: var(--sp-8) 0; }
  .inset-frame h2 { margin-bottom: var(--sp-4); font-size: 2rem; }
  .inset-frame p { color: var(--muted); max-width: 600px; margin: 0 auto var(--sp-6) auto; font-size: 1.125rem; }
  .contact-links { display: flex; flex-direction: column; gap: var(--sp-4); justify-content: center; align-items: center; }
  @media (min-width: 768px) { .contact-links { flex-direction: row; gap: var(--sp-8); } }
  .contact-link { display: inline-flex; align-items: center; gap: var(--sp-2); font-weight: 700; font-size: 1.125rem; padding: var(--sp-2) var(--sp-4); background-color: var(--bg); border-radius: var(--radius); }

  .icon { width: 20px; height: 20px; }

/* --- terms-conditions.html --- */
/* CSS Variables */
        :root {
            --c-bg: #071024;
            --c-surface: #0F172A;
            --c-text: #E5E7EB;
            --c-muted: #94A3B8;
            --c-accent: #10B981;
            --c-border: #1E293B;
            --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
            --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
            --space-1: 6px;
            --space-2: 12px;
            --space-3: 18px;
            --space-4: 24px;
            --space-6: 36px;
            --space-8: 48px;
            --space-12: 72px;
            --space-16: 96px;
            --radius-pill: 9999px;
            --radius-card: 24px;
        }
        body {
            margin: 0;
            background-color: var(--c-bg);
            color: var(--c-text);
            font-family: var(--font-sans);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }
        h1, h2, h3 {
            color: var(--c-text);
            font-family: var(--font-sans);
            font-weight: 700;
            margin-top: 0;
        }
        p {
            margin-top: 0;
            margin-bottom: var(--space-4);
        }
        a {
            color: var(--c-accent);
            text-decoration: none;
        }
        a:hover {
            text-decoration: underline;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
            padding: 0 var(--space-4);
        }
        
        /* Hero Section */
        .legal-hero {
            padding: var(--space-16) 0 var(--space-8);
            text-align: left;
            border-bottom: 1px solid var(--c-border);
        }
        .legal-hero h1 {
            font-size: clamp(2rem, 4vw, 3rem);
            margin-bottom: var(--space-2);
            line-height: 1.1;
            letter-spacing: -0.02em;
        }
        .legal-hero p {
            font-size: 1.125rem;
            color: var(--c-muted);
            max-width: 600px;
            font-family: var(--font-serif);
        }

        /* Content Section */
        .legal-content {
            padding: var(--space-8) 0 var(--space-16);
        }
        .legal-content-block {
            margin-bottom: var(--space-8);
            background-color: var(--c-surface);
            padding: var(--space-8);
            border-radius: var(--radius-card);
        }
        .legal-content h2 {
            font-size: 1.5rem;
            margin-bottom: var(--space-3);
            color: var(--c-accent);
        }
        .legal-content ul {
            padding-left: var(--space-4);
            margin-bottom: var(--space-4);
        }
        .legal-content li {
            margin-bottom: var(--space-2);
            color: var(--c-muted);
        }
        .legal-content strong {
            color: var(--c-text);
        }
        
        /* Contact block specifically styled */
        .contact-block {
            margin-top: var(--space-6);
            padding-top: var(--space-6);
            border-top: 1px solid var(--c-border);
        }
        .contact-row {
            display: flex;
            flex-direction: column;
            gap: var(--space-3);
            margin-top: var(--space-4);
        }
        .contact-item {
            display: flex;
            align-items: center;
            gap: var(--space-3);
        }
        .contact-icon {
            color: var(--c-accent);
            width: 20px;
            height: 20px;
            flex-shrink: 0;
        }

        @media (max-width: 768px) {
            .legal-hero {
                padding: var(--space-12) 0 var(--space-6);
            }
            .legal-content-block {
                padding: var(--space-4);
            }
            .legal-content {
                padding: var(--space-6) 0 var(--space-12);
            }
            .contact-item a {
                word-break: break-word;
            }
        }

/* --- privacy-policy.html --- */
:root {
      --bg: #071024;
      --surface: #0F172A;
      --text: #E5E7EB;
      --muted: #94A3B8;
      --accent: #10B981;
      --border: #1E293B;
      --radius-pill: 9999px;
      --radius-card: 2.25rem;
      --font-sans: system-ui, -apple-system, sans-serif;
      --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
      --space-2: 0.75rem;
      --space-3: 1.125rem;
      --space-4: 1.5rem;
      --space-6: 2.25rem;
      --space-8: 3rem;
      --space-12: 4.5rem;
      --space-16: 6rem;
    }
    body {
      margin: 0;
      padding: 0;
      background-color: var(--bg);
      color: var(--text);
      font-family: var(--font-sans);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    main {
      display: flex;
      flex-direction: column;
      gap: var(--space-8);
      padding-bottom: var(--space-16);
    }
    .container {
      width: 100%;
      max-width: 800px;
      margin: 0 auto;
      padding: 0 var(--space-4);
    }
    .hero-legal {
      padding-top: var(--space-16);
      padding-bottom: var(--space-6);
      text-align: left;
    }
    .hero-legal h1 {
      font-size: clamp(2.5rem, 5vw, 4rem);
      font-weight: 800;
      line-height: 1.1;
      margin: 0 0 var(--space-4) 0;
      color: #ffffff;
      letter-spacing: -0.02em;
    }
    .hero-legal .subtitle {
      font-family: var(--font-serif);
      font-size: clamp(1.25rem, 2.5vw, 1.5rem);
      color: var(--muted);
      margin: 0;
      max-width: 600px;
    }
    .content-card {
      background-color: var(--surface);
      border-radius: var(--radius-card);
      padding: var(--space-8) var(--space-6);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    }
    @media (min-width: 768px) {
      .content-card {
        padding: var(--space-12) var(--space-12);
      }
    }
    .content-card h2 {
      font-size: 1.5rem;
      font-weight: 700;
      color: #ffffff;
      margin: var(--space-8) 0 var(--space-4) 0;
    }
    .content-card h2:first-of-type {
      margin-top: 0;
    }
    .content-card p {
      margin: 0 0 var(--space-4) 0;
      font-size: 1.125rem;
      color: var(--text);
    }
    .content-card ul {
      margin: 0 0 var(--space-6) 0;
      padding-left: var(--space-4);
      color: var(--text);
    }
    .content-card li {
      margin-bottom: var(--space-2);
      font-size: 1.125rem;
    }
    .contact-block {
      margin-top: var(--space-8);
      padding-top: var(--space-6);
      border-top: 1px solid var(--border);
    }
    .contact-pills {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-3);
      margin-top: var(--space-4);
    }
    .contact-pill {
      display: inline-flex;
      align-items: center;
      padding: var(--space-2) var(--space-4);
      background-color: var(--bg);
      color: var(--accent);
      text-decoration: none;
      font-weight: 600;
      border-radius: var(--radius-pill);
      font-size: 1rem;
      transition: background-color 0.2s ease;
      border: 1px solid var(--border);
    }
    .contact-pill:hover {
      background-color: var(--border);
    }

/* Generated typography guard: keeps long localized words inside responsive layouts. */
html { overflow-wrap: break-word; }
body { overflow-x: hidden; }
h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption, label, legend, summary, dd, dt, th, td { overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; max-width: 100%; }
p, li, blockquote, figcaption { text-wrap: pretty; }
/* Keep narrow localized action labels readable; do not allow letter-by-letter CTA pills. */
a, button, [role="button"] { min-width: 0; max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: auto; }
main :is(p, li, blockquote, figcaption, dd, dt, small) a { overflow-wrap: anywhere; word-break: normal; }
main :is(a, button, [role="button"]):is([class*="px-"], [class*="rounded-"], [class*="border"]) { white-space: normal; line-height: 1.15; text-align: center; }
main :is(a, button, [role="button"]):not([aria-label]):is([class*="rounded-full"], [class*="aspect-square"], [class*="w-12"], [class*="w-14"], [class*="w-16"], [class*="w-20"]) { width: auto; height: auto; aspect-ratio: auto; min-width: min(10rem, 100%); min-height: 2.75rem; padding-left: max(1rem, 1em); padding-right: max(1rem, 1em); }
main :is(a, button, [role="button"]):is([style*="writing-mode"], [class*="vertical"]) { writing-mode: horizontal-tb !important; text-orientation: mixed !important; }
@media (max-width: 640px) { main :is(a, button, [role="button"]):not([aria-label]):is([class*="rounded-full"], [class*="aspect-square"], [class*="w-12"], [class*="w-14"], [class*="w-16"], [class*="w-20"]) { width: 100%; min-width: 0; } }
h1[class*="whitespace-nowrap"], h2[class*="whitespace-nowrap"], h3[class*="whitespace-nowrap"], p[class*="whitespace-nowrap"], a[class*="whitespace-nowrap"], button[class*="whitespace-nowrap"] { white-space: normal; }
.site-brand span, .site-nav__link, .site-mobileNav__link, .site-footer__link, .site-footer__contactLink { overflow-wrap: anywhere; word-break: normal; hyphens: auto; }

/* g2 palette ssot start */
:root {
  --g2-palette-dark: #071024;
  --g2-palette-light: #ffffff;
  --g2-palette-accent: #10b981;
  --g2-palette-text: #e5e7eb;
  --g2-color-primary: var(--g2-palette-accent);
  --g2-color-accent: var(--g2-palette-accent);
  --g2-color-text: var(--g2-palette-text);
  --g2-palette-text-on-dark: #ffffff;
}
/* g2 palette ssot end */
