    
    :root {
      --gold: #C9A24A;
      --gold-light: #E8CD83;
      --gold-dim: rgba(201,162,74,0.18);
      --bg: #3A281C;
      --bg2: #4C3626;
      --white: #ffffff;
      --cream: #F6EEE0;
    }

    html, body {
      width: 100%; height: 100%;
      background:
        linear-gradient(rgba(30,20,14,0.66), rgba(30,20,14,0.66)),
        url('../img/m2.jpeg') center 20% / cover no-repeat fixed;
      background-color: var(--bg);
      overflow-x: hidden;
    }

    /* ════════════════════════════════════════
       PARTICLE CANVAS
    ════════════════════════════════════════ */
    #particles {
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
    }

    /* ════════════════════════════════════════
       PAGE WRAPPER
    ════════════════════════════════════════ */
    .page {
      position: relative;
      z-index: 1;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 60px 24px;
    }

    /* Subtle radial glow behind content */
    .page::before {
      content: '';
      position: fixed;
      inset: 0;
      background:
        radial-gradient(ellipse 80% 60% at 50% 50%, rgba(201,162,74,0.06) 0%, transparent 70%),
        radial-gradient(ellipse 50% 40% at 20% 80%, rgba(201,162,74,0.04) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 80% 20%, rgba(201,162,74,0.04) 0%, transparent 60%);
      pointer-events: none;
      z-index: -1;
    }

    /* ════════════════════════════════════════
       TOP ORNAMENT
    ════════════════════════════════════════ */
    .top-ornament {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      margin-bottom: 36px;
      animation: fadeUp 1s ease both;
    }

    .eyebrow {
      font-family: 'Montserrat', sans-serif;
      font-weight: 200;
      font-size: 9px;
      letter-spacing: 9px;
      color: var(--gold);
      text-transform: uppercase;
    }

    .ornament-row {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .orn-line {
      width: 60px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold));
    }
    .orn-line.rev {
      background: linear-gradient(90deg, var(--gold), transparent);
    }

    .orn-diamond {
      width: 5px; height: 5px;
      background: var(--gold);
      transform: rotate(45deg);
    }
    .orn-diamond-sm {
      width: 3px; height: 3px;
      background: var(--gold);
      transform: rotate(45deg);
      opacity: 0.5;
    }

    /* ════════════════════════════════════════
       COUPLE NAMES
    ════════════════════════════════════════ */
    .names-block {
      text-align: center;
      margin-bottom: 8px;
      animation: fadeUp 1s 0.15s ease both;
    }

    .names-script {
      display: block;
      width: clamp(180px, 32vw, 340px);
      height: auto;
      mix-blend-mode: screen;
      opacity: 0.9;
    }

    .subtitle {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-style: italic;
      font-size: clamp(15px, 2vw, 20px);
      color: rgba(255,255,255,0.55);
      letter-spacing: 2px;
      margin-top: 6px;
    }

    /* ════════════════════════════════════════
       DATE PILL
    ════════════════════════════════════════ */
    .date-pill {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border: 1px solid rgba(201,162,74,0.35);
      border-radius: 999px;
      padding: 8px 26px;
      margin: 20px 0 48px;
      animation: fadeUp 1s 0.3s ease both;
      background: rgba(201,162,74,0.05);
      backdrop-filter: blur(10px);
    }

    .date-dot {
      width: 4px; height: 4px;
      background: var(--gold);
      border-radius: 50%;
    }

    .date-text {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 11px;
      letter-spacing: 5px;
      color: var(--gold-light);
      text-transform: uppercase;
    }

    /* ════════════════════════════════════════
       COUNTDOWN GRID
    ════════════════════════════════════════ */
    .countdown {
      display: flex;
      align-items: center;
      gap: 0;
      margin-bottom: 52px;
      animation: fadeUp 1s 0.45s ease both;
    }

    .cd-block {
      display: flex;
      flex-direction: column;
      align-items: center;
      min-width: clamp(90px, 14vw, 160px);
    }

    .cd-number-wrap {
      position: relative;
      width: 100%;
      display: flex;
      justify-content: center;
    }

    /* Card flip-style number */
    .cd-number {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-size: clamp(56px, 8.5vw, 110px);
      color: var(--white);
      line-height: 1;
      letter-spacing: -2px;
      position: relative;
      display: block;
      transition: transform 0.3s ease, opacity 0.3s ease;
    }

    /* Decorative glow under number */
    .cd-number::after {
      content: '';
      position: absolute;
      bottom: -6px;
      left: 50%;
      transform: translateX(-50%);
      width: 60%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
    }

    .cd-label {
      font-family: 'Montserrat', sans-serif;
      font-weight: 200;
      font-size: 9px;
      letter-spacing: 5px;
      text-transform: uppercase;
      color: var(--gold);
      margin-top: 14px;
    }

    /* Separator */
    .cd-sep {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
      padding: 0 8px;
      margin-bottom: 28px;
    }

    .cd-sep span {
      display: block;
      width: 4px; height: 4px;
      background: rgba(201,162,74,0.5);
      border-radius: 50%;
    }

    /* Flip animation class */
    .cd-number.flip {
      animation: numFlip 0.35s ease;
    }

    @keyframes numFlip {
      0%   { transform: translateY(-8px); opacity: 0; }
      100% { transform: translateY(0);    opacity: 1; }
    }

    /* ════════════════════════════════════════
       BOTTOM DIVIDER + VERSE
    ════════════════════════════════════════ */
    .verse-block {
      text-align: center;
      max-width: 540px;
      animation: fadeUp 1s 0.65s ease both;
    }

    .verse-divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-bottom: 22px;
    }

    .vd-line {
      flex: 1;
      max-width: 120px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(201,162,74,0.4));
    }
    .vd-line.rev {
      background: linear-gradient(90deg, rgba(201,162,74,0.4), transparent);
    }

    .vd-icon {
      display: flex;
      gap: 4px;
      align-items: center;
    }

    .vd-d {
      width: 4px; height: 4px;
      background: rgba(201,162,74,0.6);
      transform: rotate(45deg);
    }

    .verse-text {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-style: italic;
      font-size: clamp(14px, 2vw, 17px);
      color: rgba(255,255,255,0.35);
      line-height: 1.85;
      letter-spacing: 0.5px;
    }

    .verse-ref {
      font-family: 'Montserrat', sans-serif;
      font-weight: 200;
      font-size: 9px;
      letter-spacing: 4px;
      color: var(--gold);
      opacity: 0.6;
      text-transform: uppercase;
      margin-top: 10px;
    }

    /* ════════════════════════════════════════
       BOTTOM SIGNATURE
    ════════════════════════════════════════ */
    .bottom-sig {
      position: fixed;
      bottom: 28px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
      display: flex;
      align-items: center;
      gap: 8px;
      animation: fadeUp 1.2s 1s ease both;
    }

    .sig-line { width: 28px; height: 1px; background: rgba(201,162,74,0.3); }

    .sig-text {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 8px;
      letter-spacing: 4px;
      color: rgba(201,162,74,0.75);
      text-transform: uppercase;
      white-space: nowrap;
    }

    /* ════════════════════════════════════════
       CORNER ORNAMENTS
    ════════════════════════════════════════ */
    .corner {
      position: fixed;
      width: 60px; height: 60px;
      opacity: 0.3;
      pointer-events: none;
      z-index: 2;
    }
    .corner svg { width: 100%; height: 100%; }
    .corner-tl { top: 24px; left: 24px; }
    .corner-tr { top: 24px; right: 24px; transform: scaleX(-1); }
    .corner-bl { bottom: 24px; left: 24px; transform: scaleY(-1); }
    .corner-br { bottom: 24px; right: 24px; transform: scale(-1,-1); }

    /* ════════════════════════════════════════
       PROGRESS BAR
    ════════════════════════════════════════ */
    .progress-wrap {
      width: clamp(260px, 55vw, 520px);
      margin-bottom: 44px;
      animation: fadeUp 1s 0.55s ease both;
    }

    .progress-label {
      display: flex;
      justify-content: space-between;
      margin-bottom: 8px;
    }

    .progress-label span {
      font-family: 'Montserrat', sans-serif;
      font-weight: 200;
      font-size: 9px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: rgba(201,162,74,0.5);
    }

    .progress-track {
      width: 100%;
      height: 1px;
      background: rgba(255,255,255,0.08);
      position: relative;
      overflow: visible;
    }

    .progress-fill {
      height: 100%;
      background: linear-gradient(90deg, rgba(201,162,74,0.3), var(--gold));
      transition: width 1s ease;
      position: relative;
    }

    .progress-fill::after {
      content: '';
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 6px; height: 6px;
      background: var(--gold);
      border-radius: 50%;
      box-shadow: 0 0 8px var(--gold), 0 0 20px rgba(201,162,74,0.4);
    }

    /* ════════════════════════════════════════
       FADE / SLIDE ANIMATION
    ════════════════════════════════════════ */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(22px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* ════════════════════════════════════════
       VERTICAL EXPLORE NAV
    ════════════════════════════════════════ */
    .vnav-section {
      background: #3A281C;
      padding: 80px 24px 90px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      position: relative;
      overflow: hidden;
    }
    .vnav-top-rule {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      max-width: 360px;
      margin-bottom: 52px;
    }
    .vnav-top-rule .vnr-line {
      flex: 1; height: 1px;
      background: linear-gradient(90deg, transparent, rgba(201,162,74,0.35), transparent);
    }
    .vnav-top-rule .vnr-diamond {
      width: 5px; height: 5px;
      border: 1px solid rgba(201,162,74,0.5);
      transform: rotate(45deg);
    }
    .vnav-eyebrow {
      font-family: 'Montserrat', sans-serif;
      font-weight: 200;
      font-size: 8px;
      letter-spacing: 7px;
      color: rgba(201,162,74,0.55);
      text-transform: uppercase;
      margin-bottom: 48px;
      text-align: center;
    }
    .vnav-list {
      list-style: none;
      margin: 0; padding: 0;
      width: 100%;
      max-width: 400px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
    }
    .vnav-item {
      width: 100%;
      border-bottom: 1px solid rgba(255,255,255,0.12);
    }
    .vnav-item:first-child {
      border-top: 1px solid rgba(255,255,255,0.12);
    }
    .vnav-item a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 4px;
      text-decoration: none;
      color: rgba(244,234,217,0.65);
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      font-size: clamp(22px, 5.5vw, 30px);
      letter-spacing: 4px;
      text-transform: uppercase;
      transition: color 0.3s ease, padding-left 0.3s ease;
    }
    .vnav-item a::after {
      content: '→';
      font-family: 'Montserrat', sans-serif;
      font-size: 12px;
      font-weight: 200;
      color: rgba(201,162,74,0);
      transition: color 0.3s ease, transform 0.3s ease;
      transform: translateX(-8px);
    }
    .vnav-item a:hover {
      color: #fff;
      padding-left: 10px;
    }
    .vnav-item a:hover::after {
      color: #C9A24A;
      transform: translateX(0);
    }
    .vnav-item a.active {
      color: var(--gold);
    }
    .vnav-bottom {
      margin-top: 56px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
    }
    .vnav-monogram {
      display: block;
      width: clamp(120px, 22vw, 180px);
      height: auto;
      mix-blend-mode: screen;
      opacity: 0.75;
    }
    .vnav-date {
      font-family: 'Montserrat', sans-serif;
      font-weight: 200;
      font-size: 8px;
      letter-spacing: 6px;
      color: rgba(255,255,255,0.2);
      text-transform: uppercase;
    }
    @media (min-width: 600px) {
      .vnav-list { max-width: 480px; }
      .vnav-item a { font-size: 28px; }
    }

    /* ════════════════════════════════════════
       RESPONSIVE
    ════════════════════════════════════════ */
    @media (