/* ── RESET & BASE ──────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:          #050505;
      --bg2:         #0a0a0a;
      --gold:        #C9A84C;
      --gold-lt:     #E8C97A;
      --gold-dk:     #9A7A2E;
      --text:        #F5F0E8;
      --text-muted:  #B8B0A0;
      --glass:       rgba(201,168,76,.06);
      --glass-b:     rgba(201,168,76,.18);
      --r:           16px;
    }

    html { scroll-behavior: smooth; }

    body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      line-height: 1.8;
      overflow-x: hidden;
      cursor: none;
    }

    /* ── CUSTOM SCROLLBAR ──────────────────────────────── */
    ::-webkit-scrollbar { width: 5px; }
    ::-webkit-scrollbar-track { background: #0a0a0a; }
    ::-webkit-scrollbar-thumb { background: linear-gradient(var(--gold-dk), var(--gold)); border-radius: 99px; }

    /* ── CUSTOM CURSOR ─────────────────────────────────── */
    #cursor-dot, #cursor-ring {
      position: fixed; border-radius: 50%; pointer-events: none;
      z-index: 99999; transform: translate(-50%,-50%);
      transition: opacity .3s;
    }
    #cursor-dot  { width:6px; height:6px; background:var(--gold); }
    #cursor-ring {
      width:36px; height:36px;
      border: 1px solid rgba(201,168,76,.55);
      transition: width .25s,height .25s,border-color .25s;
    }

    /* ── LOADING SCREEN ────────────────────────────────── */
    #loader {
      position: fixed; inset: 0; z-index: 9999;
      background: #000;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      gap: 28px;
      transition: opacity .9s ease, visibility .9s;
    }
    #loader.hidden { opacity: 0; visibility: hidden; }

    .loader-monogram {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(52px, 10vw, 88px);
      font-weight: 300;
      letter-spacing: .35em;
      color: transparent;
      background: linear-gradient(135deg, var(--gold-dk), var(--gold-lt), var(--gold-dk));
      -webkit-background-clip: text;
      background-clip: text;
      animation: shimmer 2.4s ease infinite;
      background-size: 200%;
    }
    @keyframes shimmer { 0%,100%{background-position:0%} 50%{background-position:100%} }

    .loader-line {
      width: 0; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      animation: linegrow 1.6s .3s ease forwards;
    }
    @keyframes linegrow { to { width: 220px; } }

    .loader-sub {
      font-family: 'Montserrat', sans-serif;
      font-size: 10px; letter-spacing: .5em;
      color: var(--gold-lt); text-transform: uppercase;
      opacity: 0; animation: fadein .8s 1.2s ease forwards;
    }
    @keyframes fadein { to { opacity: 1; } }

    /* ── AMBIENT PARTICLES ─────────────────────────────── */
    #particles-canvas {
      position: fixed; inset: 0; pointer-events: none; z-index: 0;
    }

    /* ── AMBIENT RADIAL GLOW ───────────────────────────── */
    .ambient-glow {
      position: fixed; border-radius: 50%; pointer-events: none; z-index: 0;
      filter: blur(120px); opacity: .07;
    }
    .ag1 { width:600px;height:600px; background:var(--gold); top:-200px; left:-200px; }
    .ag2 { width:500px;height:500px; background:var(--gold); bottom:-150px; right:-150px; }
    .ag3 { width:300px;height:300px; background:var(--gold-lt); top:50%; left:50%; transform:translate(-50%,-50%); opacity:.04; }

    /* ── NAVBAR ────────────────────────────────────────── */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      padding: 0 clamp(20px,5vw,80px);
      height: 80px;
      display: flex; align-items: center; justify-content: space-between;
      background: rgba(5,5,5,.7);
      backdrop-filter: blur(22px) saturate(1.4);
      -webkit-backdrop-filter: blur(22px) saturate(1.4);
      border-bottom: 1px solid rgba(201,168,76,.12);
      transition: background .4s;
    }
    nav.scrolled { background: rgba(5,5,5,.92); }

    .nav-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(18px,3vw,24px);
      font-weight: 400; letter-spacing: .18em;
      color: var(--gold-lt); text-decoration: none;
      text-transform: uppercase;
    }
    .nav-logo span { color: var(--text); font-weight: 300; }

    .nav-links {
      display: flex; gap: 36px; list-style: none;
    }
    .nav-links a {
      font-size: 10px; letter-spacing: .35em; text-transform: uppercase;
      color: var(--text-muted); text-decoration: none;
      position: relative; padding-bottom: 4px;
      transition: color .3s;
    }
    .nav-links a::after {
      content: ''; position: absolute; bottom: 0; left: 0;
      width: 0; height: 1px; background: var(--gold);
      transition: width .35s ease;
    }
    .nav-links a:hover { color: var(--gold-lt); }
    .nav-links a:hover::after { width: 100%; }

    /* hamburger */
    .ham { display: none; flex-direction: column; gap: 6px; cursor: none; padding: 4px; }
    .ham span { display: block; width: 28px; height: 1px; background: var(--gold); transition: .35s; }
    .ham.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .ham.open span:nth-child(2) { opacity: 0; }
    .ham.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .mob-menu {
      display: none; position: fixed; top: 80px; inset-inline: 0;
      background: rgba(5,5,5,.97); backdrop-filter: blur(30px);
      padding: 36px; flex-direction: column; gap: 28px;
      border-bottom: 1px solid rgba(201,168,76,.12);
      z-index: 999;
    }
    .mob-menu.open { display: flex; }
    .mob-menu a {
      font-size: 11px; letter-spacing: .4em; text-transform: uppercase;
      color: var(--text-muted); text-decoration: none; transition: color .3s;
    }
    .mob-menu a:hover { color: var(--gold-lt); }

    @media(max-width:768px) {
      .nav-links { display: none; }
      .ham { display: flex; }
    }

    /* ── HERO ──────────────────────────────────────────── */
    .hero {
      position: relative; min-height: 100svh;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      text-align: center; padding: 120px 24px 80px;
      overflow: hidden;
    }

    .hero-bg-lines {
      position: absolute; inset: 0; overflow: hidden; pointer-events: none;
    }
    .hero-bg-lines::before,
    .hero-bg-lines::after {
      content: ''; position: absolute;
      border: 1px solid rgba(201,168,76,.06);
      border-radius: 50%;
      top: 50%; left: 50%; transform: translate(-50%,-50%);
      animation: pulse-ring 6s ease-in-out infinite;
    }
    .hero-bg-lines::before { width:70vmax; height:70vmax; animation-delay: 0s; }
    .hero-bg-lines::after  { width:50vmax; height:50vmax; animation-delay: 3s; }
    @keyframes pulse-ring {
      0%,100% { opacity:.08; transform:translate(-50%,-50%) scale(1); }
      50% { opacity:.18; transform:translate(-50%,-50%) scale(1.03); }
    }

    .hero-ornament {
      font-size: clamp(11px,1.8vw,14px);
      letter-spacing: .6em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 28px;
      display: flex; align-items: center; gap: 18px;
      opacity: 0; animation: fadein .8s .4s forwards;
    }
    .hero-ornament::before, .hero-ornament::after {
      content: ''; flex: 1 1 40px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold));
    }
    .hero-ornament::after { background: linear-gradient(90deg, var(--gold), transparent); }

    .hero-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(64px, 14vw, 160px);
      font-weight: 300; line-height: .9;
      letter-spacing: .04em;
      background: linear-gradient(160deg, var(--gold-dk) 0%, var(--gold-lt) 45%, var(--gold) 70%, var(--gold-dk) 100%);
      -webkit-background-clip: text; background-clip: text;
      color: transparent;
      opacity: 0; animation: rise .9s .6s cubic-bezier(.16,1,.3,1) forwards;
    }
    @keyframes rise {
      from { opacity:0; transform:translateY(40px); }
      to   { opacity:1; transform:translateY(0); }
    }

    .hero-divider {
      margin: 32px auto;
      width: 0; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      animation: linegrow 1.2s 1.2s ease forwards;
    }

    .hero-subtitle {
      font-size: clamp(11px, 1.4vw, 13px);
      letter-spacing: .4em; text-transform: uppercase;
      color: var(--text-muted); max-width: 520px;
      opacity: 0; animation: fadein .8s 1.5s forwards;
    }

    .hero-date {
      margin-top: 48px;
      font-size: 10px; letter-spacing: .45em; text-transform: uppercase;
      color: rgba(201,168,76,.5);
      opacity: 0; animation: fadein .8s 1.8s forwards;
    }

    .scroll-hint {
      position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: 10px;
      opacity: 0; animation: fadein .8s 2.2s forwards;
    }
    .scroll-hint span { font-size: 9px; letter-spacing: .5em; color: rgba(201,168,76,.5); text-transform: uppercase; }
    .scroll-line { width: 1px; height: 50px; background: linear-gradient(var(--gold),transparent); animation: scrolldrop 2s 2.5s ease-in-out infinite; }
    @keyframes scrolldrop {
      0%   { transform:scaleY(0); transform-origin:top; }
      50%  { transform:scaleY(1); transform-origin:top; }
      51%  { transform:scaleY(1); transform-origin:bottom; }
      100% { transform:scaleY(0); transform-origin:bottom; }
    }

    /* ── MAIN CONTENT WRAPPER ──────────────────────────── */
    main { position: relative; z-index: 1; padding-bottom: 120px; }

    /* ── SECTION LAYOUT ────────────────────────────────── */
    .section { padding: clamp(60px,8vw,100px) clamp(20px,8vw,120px); }

    .section-inner {
      max-width: 980px; margin: 0 auto;
    }

    /* animated reveal */
    .reveal {
      opacity: 0; transform: translateY(48px);
      transition: opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1);
    }
    .reveal.visible { opacity: 1; transform: none; }

    /* ── GOLD SEPARATOR ────────────────────────────────── */
    .gold-sep {
      display: flex; align-items: center; gap: 20px;
      margin: 0 auto 56px;
      max-width: 980px; padding: 0 clamp(20px,8vw,120px);
    }
    .gold-sep::before, .gold-sep::after {
      content: ''; flex: 1; height: 1px;
      background: linear-gradient(90deg, transparent, rgba(201,168,76,.35));
    }
    .gold-sep::after { background: linear-gradient(90deg, rgba(201,168,76,.35), transparent); }
    .gold-sep-diamond {
      width: 8px; height: 8px;
      background: var(--gold); transform: rotate(45deg);
      flex-shrink: 0;
      box-shadow: 0 0 12px rgba(201,168,76,.6);
    }

    /* ── SECTION LABEL ─────────────────────────────────── */
    .sec-label {
      font-size: 9px; letter-spacing: .65em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 14px;
    }

    .sec-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(32px, 5vw, 52px);
      font-weight: 400; line-height: 1.1;
      color: var(--gold-lt); margin-bottom: 40px;
    }
    .sec-heading em { font-style: italic; color: var(--text); }

    /* ── GLASS CARD ────────────────────────────────────── */
    .glass-card {
      background: var(--glass);
      border: 1px solid var(--glass-b);
      border-radius: var(--r);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      padding: clamp(28px,4vw,52px);
      position: relative; overflow: hidden;
      transition: border-color .4s, box-shadow .4s, transform .4s;
    }
    .glass-card::before {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(135deg, rgba(201,168,76,.04), transparent 60%);
      pointer-events: none;
    }
    .glass-card:hover {
      border-color: rgba(201,168,76,.38);
      box-shadow: 0 0 60px rgba(201,168,76,.07), 0 0 0 1px rgba(201,168,76,.1);
      transform: translateY(-3px);
    }

    /* corner accents */
    .glass-card::after {
      content: '';
      position: absolute; top: 0; left: 0;
      width: 40px; height: 40px;
      border-top: 1px solid var(--gold); border-left: 1px solid var(--gold);
      border-radius: var(--r) 0 0 0;
      opacity: .4;
    }

    /* ── GRID 2-COL ────────────────────────────────────── */
    .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    @media(max-width:720px) { .grid-2 { grid-template-columns: 1fr; } }

    /* ── ITEM LISTS ────────────────────────────────────── */
    .item-list { display: flex; flex-direction: column; gap: 18px; }

    .item {
      display: flex; gap: 16px; align-items: flex-start;
    }
    .item-icon {
      flex-shrink: 0; width: 28px; height: 28px;
      border: 1px solid rgba(201,168,76,.35); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      margin-top: 3px;
    }
    .item-icon svg { width: 13px; height: 13px; stroke: var(--gold); fill: none; stroke-width: 1.5; }

    .item-text { font-size: 14px; color: var(--text-muted); line-height: 1.75; }
    .item-text strong { color: var(--text); font-weight: 500; }

    /* ── ALERT BAND ────────────────────────────────────── */
    .alert-band {
      background: linear-gradient(90deg, rgba(201,168,76,.08), rgba(232,201,122,.12), rgba(201,168,76,.08));
      border: 1px solid rgba(201,168,76,.3);
      border-radius: var(--r);
      padding: 28px 36px;
      display: flex; gap: 20px; align-items: center;
      margin-top: 28px;
    }
    .alert-band-icon { font-size: 28px; flex-shrink: 0; }
    .alert-band p { font-size: 13px; color: var(--text); line-height: 1.7; }
    .alert-band p strong { color: var(--gold-lt); font-family: 'Cormorant Garamond',serif; font-size:16px; }

    /* ── TAG PILLS ─────────────────────────────────────── */
    .pill-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
    .pill {
      padding: 7px 18px;
      border: 1px solid rgba(201,168,76,.3);
      border-radius: 99px; font-size: 10px; letter-spacing: .3em;
      text-transform: uppercase; color: var(--gold-lt);
      background: rgba(201,168,76,.05);
      transition: background .3s, border-color .3s;
    }
    .pill:hover { background: rgba(201,168,76,.12); border-color: rgba(201,168,76,.6); }

    /* ── CONTACT SECTION ───────────────────────────────── */
    .contact-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 24px; }

    .contact-card {
      background: var(--glass);
      border: 1px solid var(--glass-b);
      border-radius: var(--r);
      padding: 36px 28px;
      text-align: center;
      transition: border-color .4s, transform .4s, box-shadow .4s;
      position: relative; overflow: hidden;
    }
    .contact-card::after {
      content: ''; position: absolute; bottom: 0; left: 10%; right: 10%;
      height: 1px; background: linear-gradient(90deg,transparent,var(--gold),transparent);
      opacity: 0; transition: opacity .4s;
    }
    .contact-card:hover {
      border-color: rgba(201,168,76,.4);
      transform: translateY(-6px);
      box-shadow: 0 24px 60px rgba(0,0,0,.35);
    }
    .contact-card:hover::after { opacity: 1; }

    .contact-icon {
      width: 56px; height: 56px; margin: 0 auto 18px;
      border: 1px solid rgba(201,168,76,.3); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 22px;
      background: rgba(201,168,76,.05);
    }
    .contact-label {
      font-size: 9px; letter-spacing: .5em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 8px;
    }
    .contact-value { font-size: 13px; color: var(--text-muted); line-height: 1.6; }
    .contact-value a { color: var(--text-muted); text-decoration: none; transition: color .3s; }
    .contact-value a:hover { color: var(--gold-lt); }

    /* ── QUOTE BLOCK ───────────────────────────────────── */
    .quote-block {
      border-left: 2px solid var(--gold);
      padding: 20px 28px;
      margin: 32px 0;
      background: rgba(201,168,76,.03);
      border-radius: 0 var(--r) var(--r) 0;
    }
    .quote-block p {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(18px,2.5vw,24px);
      font-style: italic; color: var(--text-muted); line-height: 1.6;
    }

    /* ── STEP NUMBERED ─────────────────────────────────── */
    .step-list { display: flex; flex-direction: column; gap: 20px; }
    .step {
      display: flex; gap: 20px; align-items: flex-start;
      padding: 20px 24px;
      border: 1px solid rgba(201,168,76,.1);
      border-radius: 10px;
      background: rgba(201,168,76,.03);
      transition: border-color .35s;
    }
    .step:hover { border-color: rgba(201,168,76,.3); }
    .step-num {
      flex-shrink: 0; width: 36px; height: 36px;
      border: 1px solid var(--gold-dk); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-family: 'Cormorant Garamond',serif; font-size: 17px; color: var(--gold);
    }
    .step-body { flex: 1; }
    .step-body strong { display: block; color: var(--text); font-size: 13px; margin-bottom: 4px; letter-spacing:.02em; }
    .step-body p { font-size: 13px; color: var(--text-muted); line-height: 1.7; }

    /* ── FOOTER ────────────────────────────────────────── */
    footer {
      position: relative; z-index: 1;
      border-top: 1px solid rgba(201,168,76,.12);
      padding: clamp(60px,8vw,100px) clamp(20px,8vw,100px) 40px;
      background: rgba(0,0,0,.4);
    }
    .footer-inner { max-width: 1100px; margin: 0 auto; }

    .footer-brand {
      text-align: center; margin-bottom: 52px;
    }
    .footer-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(28px,5vw,44px);
      font-weight: 300; letter-spacing: .25em;
      color: var(--gold-lt); display: block; margin-bottom: 10px;
    }
    .footer-tagline {
      font-size: 9px; letter-spacing: .6em; text-transform: uppercase;
      color: rgba(201,168,76,.5);
    }

    .footer-sep {
      width: 120px; height: 1px; margin: 28px auto;
      background: linear-gradient(90deg,transparent,var(--gold),transparent);
    }

    .footer-links {
      display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 32px;
      list-style: none; margin-bottom: 44px;
    }
    .footer-links a {
      font-size: 9px; letter-spacing: .45em; text-transform: uppercase;
      color: var(--text-muted); text-decoration: none;
      transition: color .3s;
    }
    .footer-links a:hover { color: var(--gold-lt); }
    .footer-links a.active { color: var(--gold); }

    .footer-bottom {
      text-align: center;
      font-size: 10px; letter-spacing: .2em;
      color: rgba(201,168,76,.3);
      padding-top: 28px;
      border-top: 1px solid rgba(201,168,76,.07);
    }

    /* ── HERO GLOW RING ────────────────────────────────── */
    .hero-ring {
      position: absolute; border-radius: 50%;
      border: 1px solid rgba(201,168,76,.08);
      top: 50%; left: 50%; transform: translate(-50%,-50%);
      pointer-events: none;
    }

    /* ── RESPONSIVE ────────────────────────────────────── */
    @media(max-width:600px) {
      .alert-band { flex-direction: column; padding: 24px 20px; }
      .grid-2 { gap: 16px; }
      .glass-card { padding: 24px 20px; }
    }
