
  :root{
    --gold: #c9a227;
    --gold-bright: #e6c65c;
    --gold-light: #ead9a3;
    --cream: #faf5e8;
    --ink: #2a1c14;
    --ink-soft: #4a372c;

    /* mode colors — default: local (maroon) */
    --primary: #5c0e1e;
    --primary-dark: #33070f;
    --primary-mid: #7c1a2c;
    --surface: #faf5e8;
    --surface-2: #f2e8d4;
    --shadow-tint: rgba(92,14,30,0.25);
  }

  /* destination mode — royal blue (deep) */
  body.mode-destination{
    --primary: #16265f;
    --primary-dark: #080e2e;
    --primary-mid: #2c4293;
    --surface: #ecf0fa;
    --surface-2: #d6ddf1;
    --shadow-tint: rgba(22,38,95,0.38);
  }

  *{ box-sizing: border-box; }
  html{ scroll-behavior: smooth; }
  body{
    margin:0; width:100%; min-width:100%;
    background: var(--surface);
    color: var(--ink);
    font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.6;
    transition: background 0.8s ease;
    overflow-x: hidden;
  }
  h1,h2,h3,.crest-word{
    font-family: 'Cinzel', serif;
    letter-spacing: 0.04em;
    color: var(--primary);
    transition: color 0.8s ease;
  }
  .eyebrow{
    font-family: 'Cinzel', serif;
    font-size: 0.72rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 600;
  }
  a{ color: inherit; text-decoration: none; }
  img{ max-width:100%; display:block; }

  /* ---------- ornamental divider ---------- */
  .divider{
    display:flex; align-items:center; justify-content:center; gap:14px;
    margin: 10px 0 28px;
  }
  .divider .line{ width:60px; height:1px; background: var(--gold); opacity:.7; }
  .divider svg{ width:22px; height:22px; }

  /* ---------- shared full-bleed section shell ---------- */
  .band{ width:100%; }
  .inner{ max-width: 1180px; margin: 0 auto; padding: 100px 24px; }
  .section-head{ text-align:center; max-width: 640px; margin: 0 auto 56px; }
  .section-head h2{ font-size: clamp(1.9rem,3.4vw,2.6rem); margin: 8px 0 0; }
  .section-head p{ color: var(--ink-soft); font-size:1.15rem; margin-top:14px; }
  .gallery .section-head p, .cta p{ color: inherit; }

  /* ---------- scroll reveal ---------- */
  .reveal{ opacity:0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1); }
  .reveal.in-view{ opacity:1; transform: translateY(0); }
  .reveal-stagger > *{ opacity:0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
  .reveal-stagger.in-view > *{ opacity:1; transform: translateY(0); }
  .reveal-stagger.in-view > *:nth-child(1){ transition-delay: .05s; }
  .reveal-stagger.in-view > *:nth-child(2){ transition-delay: .15s; }
  .reveal-stagger.in-view > *:nth-child(3){ transition-delay: .25s; }
  .reveal-stagger.in-view > *:nth-child(4){ transition-delay: .35s; }
  .reveal-stagger.in-view > *:nth-child(5){ transition-delay: .45s; }
  .reveal-stagger.in-view > *:nth-child(6){ transition-delay: .55s; }
  .reveal-stagger.in-view > *:nth-child(7){ transition-delay: .65s; }
  .reveal-stagger.in-view > *:nth-child(8){ transition-delay: .75s; }
  .reveal-stagger.in-view > *:nth-child(9){ transition-delay: .85s; }
  .reveal-stagger.in-view > *:nth-child(10){ transition-delay: .95s; }

  /* ---------- NAV ---------- */
  header{
    position: sticky; top:0; z-index: 100; width:100%;
    background: linear-gradient(180deg, var(--primary-dark), var(--primary));
    border-bottom: 1px solid var(--gold);
    transition: background 0.8s ease;
  }
  .nav-wrap{
    max-width: 1200px; margin:0 auto; padding: 14px 28px;
    display:flex; align-items:center; justify-content: space-between; gap: 20px;
  }

nav.links a{
    position: relative;
    display: inline-block;
    text-decoration: none;
    border: none;
    color: var(--cream);
    padding-bottom: 4px;
      border: none !important;
    outline: none;
}

nav.links a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 1px;

    background: var(--cream);   /* Cream underline */

    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s ease;
}

nav.links a:hover::after{
    transform: scaleX(1);
}
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Cinzel Decorative', serif; font-size:1.35rem; font-weight:600; color: var(--gold-light);
    letter-spacing:.03em;
    margin-left:-20px;
  }
  .logo svg{ width:30px; height:30px; color: var(--gold); flex-shrink:0; animation: crownFloat 5s ease-in-out infinite; }
  @keyframes crownFloat{ 0%,100%{ transform: translateY(0) rotate(0deg);} 50%{ transform: translateY(-2px) rotate(-2deg);} }
  .logo-text{ display:flex; flex-direction:column; line-height:1.05; }
  .logo-name{ font-size:1.35rem; letter-spacing:0.06em; }
  .logo-tagline{
    font-family:'Cormorant Garamond', serif; font-style:italic;
    font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase;
    color: var(--gold); opacity:0.75; margin-top:2px;
  }
  nav.links{ display:flex; gap: 30px; }
  nav.links a{
    color: var(--cream); font-family:'Cinzel',serif; font-size:.78rem;
    letter-spacing:.12em; text-transform:uppercase; opacity:.85;
    border-bottom: 1px solid transparent; padding-bottom: 4px;
    transition: opacity .3s, border-color .3s;
  }
 
  nav.links a:hover{ opacity:1; border-color: var(--gold); }

  /* ---------- ROYAL SEAL TOGGLE ---------- */
  .seal-toggle{ display:flex; align-items:center; gap:12px; }
  .seal-label{
    font-family:'Cinzel',serif; font-size:.68rem; letter-spacing:.14em;
    text-transform:uppercase; color: var(--cream); opacity:.7; transition:opacity .3s, color .3s;
  }
  .seal-label.active{ opacity:1; color: var(--gold-bright); }
  .seal-switch{
    position:relative; width:76px; height:38px; border-radius: 999px;
    background: var(--primary-dark); border: 1.5px solid var(--gold); cursor:pointer;
    box-shadow: inset 0 2px 6px rgba(0,0,0,.4); flex-shrink:0;
    transition: box-shadow .3s ease;
  }
  .seal-switch:hover{ box-shadow: inset 0 2px 6px rgba(0,0,0,.4), 0 0 0 4px rgba(201,162,39,.18); }
  .seal-knob{
    position:absolute; top:3px; left:3px; width:30px; height:30px; border-radius:50%;
    background: radial-gradient(circle at 35% 30%, var(--gold-bright), var(--gold) 60%, #8a6b16 100%);
    box-shadow: 0 2px 6px rgba(0,0,0,.5);
    transition: left .45s cubic-bezier(.65,.05,.36,1), transform .45s ease;
    display:flex; align-items:center; justify-content:center;
  }
  body.mode-destination .seal-knob{ left: 41px; transform: rotate(180deg); }
  .seal-knob svg{ width:16px; height:16px; transform: rotate(0deg); transition: transform .45s ease; }
  body.mode-destination .seal-knob svg{ transform: rotate(-180deg); }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; min-height: 92vh; width:100%; display:flex; align-items:center; justify-content:center;
    text-align:center; overflow:hidden;
    background: radial-gradient(ellipse at 50% 0%, var(--primary-mid) 0%, var(--primary-dark) 60%, #100a14 100%);
    transition: background 1s ease;
  }
  .hero::before{
    content:''; position:absolute; inset:0; z-index:2; opacity:.5; pointer-events:none;
    background:
      repeating-linear-gradient(115deg, transparent 0 120px, rgba(201,162,39,.05) 120px 122px),
      radial-gradient(circle at 20% 30%, rgba(201,162,39,.08), transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(201,162,39,.08), transparent 40%);
    animation: driftGlow 14s ease-in-out infinite alternate;
  }
  @keyframes driftGlow{ 0%{ transform: scale(1) translate(0,0);} 100%{ transform: scale(1.08) translate(-10px,10px);} }
  .hero-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; background: var(--primary-dark); }
  .hero-bg img{
    width:100%; height:100%; object-fit:cover; object-position:center;
    filter: saturate(1.2) contrast(1.08) brightness(.55) sepia(.08);
    opacity:1; transition: opacity .6s ease, filter 1s ease;
  }
  .hero-bg img.img-error{ opacity:0; }
  .hero-scrim{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.85) 100%),
      linear-gradient(0deg, var(--primary-dark) 0%, transparent 30%);
    transition: background 1s ease;
  }
  .hero-content{ position:relative; z-index:3; max-width: 760px; padding: 0 24px; animation: heroRise 1.1s cubic-bezier(.2,.7,.3,1) both; }
  @keyframes heroRise{ from{ opacity:0; transform: translateY(24px);} to{ opacity:1; transform: translateY(0);} }
  .hero .crown-icon{ width:64px; height:64px; margin: 0 auto 22px; opacity:.95; animation: crownFloat 5s ease-in-out infinite; }
  .hero .crown-icon path, .hero .crown-icon circle{ fill: var(--gold); }
  .hero h1{ color: var(--cream); font-size: clamp(2.4rem, 6vw, 4.2rem); margin: 6px 0 18px; font-weight: 600; }
  .hero h1 em{ font-style: italic; color: var(--gold-bright); }
  .hero p.sub{ color: var(--gold-light); font-size: 1.35rem; font-style: italic; max-width: 560px; margin: 0 auto 36px; opacity:.9; }
  .btn-row{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }
  .btn{
    font-family:'Cinzel',serif; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
    padding: 16px 34px; border-radius: 2px; cursor:pointer; display:inline-block;
    border: 1px solid var(--gold); position:relative; overflow:hidden;
    transition: transform .3s ease, box-shadow .3s ease, background .35s ease;
  }
  .btn::before{
    content:''; position:absolute; top:0; left:-120%; width:60%; height:100%;
    background: linear-gradient(115deg, transparent, rgba(255,255,255,.55), transparent);
    transition: left .6s ease;
  }
  .btn:hover::before{ left: 140%; }
  .btn:hover{ transform: translateY(-2px); box-shadow: 0 10px 26px var(--shadow-tint); }
  .btn-solid{ background: var(--gold); color: var(--primary-dark); }
  .btn-solid:hover{ background: var(--gold-bright); }
  .btn-ghost{ color: var(--gold-light); background: transparent; }
  .btn-ghost:hover{ background: rgba(201,162,39,.12); }

  .mode-ribbon{
    position:relative; z-index:2; margin-top: 46px;
    font-family:'Cinzel',serif; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase;
    color: var(--gold); opacity:.75;
  }

  /* ---------- SIGNATURE EXPERIENCE ---------- */
  .signature{ background: var(--surface-2); transition: background .8s ease; }
  .sig-grid{ display:grid; grid-template-columns: 1.05fr 1fr; gap: 60px; align-items:center; }
  .sig-frame{ aspect-ratio: 4/5; border: 2px solid var(--gold); padding: 14px; position:relative; }
  .sig-frame::before, .sig-frame::after{
    content:''; position:absolute; width:26px; height:26px; border: 2px solid var(--gold);
  }
  .sig-frame::before{ top:-8px; left:-8px; border-right:none; border-bottom:none; }
  .sig-frame::after{ bottom:-8px; right:-8px; border-left:none; border-top:none; }
  .sig-inner{
    width:100%; height:100%; background: linear-gradient(160deg, var(--primary) 0%, var(--primary-dark) 100%);
    display:flex; align-items:center; justify-content:center; transition: background .8s ease; overflow:hidden;
    position:relative;
  }
  .sig-inner img{
    width:100%; height:100%; object-fit:cover; object-position:center;
    filter: saturate(1.2) contrast(1.08) brightness(.92) sepia(.05);
    opacity:1; transition: opacity .6s ease;
  }
  .sig-inner img.img-error{ opacity:0; }
  .sig-inner::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background: linear-gradient(160deg, var(--primary) 0%, transparent 45%, transparent 70%, var(--primary-dark) 100%);
    opacity:.55; transition: background .8s ease;
  }
  .sig-crest{
    position:absolute; bottom:16px; right:16px; width:40px; height:40px; z-index:2;
    opacity:.9; animation: sigSpin 30s linear infinite;
  }
  .sig-crest path{ fill: var(--gold); }
  @keyframes sigSpin{ from{ transform: rotate(0deg);} to{ transform: rotate(360deg);} }
  .sig-copy .eyebrow{ display:block; margin-bottom: 14px; }
  .sig-copy h3{ font-size: 2rem; margin: 0 0 18px; }
  .sig-copy p{ color: var(--ink-soft); margin-bottom: 22px; }
  .sig-list{ list-style:none; padding:0; margin: 0 0 30px; }
  .sig-list li{ padding-left: 26px; position:relative; margin-bottom: 12px; color: var(--ink-soft); }
  .sig-list li::before{
    content:''; position:absolute; left:0; top:9px; width:10px; height:10px;
    background: var(--gold); transform: rotate(45deg); transition: transform .3s ease;
  }
  .sig-list li:hover::before{ transform: rotate(225deg) scale(1.2); }

  /* ---------- PACKAGES ---------- */
  .pkg-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
  .pkg-card{
    background: var(--surface); border: 1px solid var(--gold-light);
    padding: 0 0 42px; text-align:center; position:relative; overflow:hidden;
    transition: transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s ease, border-color .4s ease;
  }
  .pkg-photo{
    width:100%; aspect-ratio: 16/10; position:relative; overflow:hidden;
    border-bottom: 1px solid var(--gold-light);
  }
  .pkg-photo img{
    width:100%; height:100%; object-fit:cover; object-position:center;
    filter: saturate(1.15) contrast(1.06) sepia(.05);
    opacity:1; transition: opacity .6s ease, transform .6s ease;
  }
  .pkg-photo img.img-error{ opacity:0; }
  .pkg-card:hover .pkg-photo img{ transform: scale(1.06); }
  .pkg-photo::after{
    content:''; position:absolute; inset:0;
    background: linear-gradient(0deg, var(--surface) 0%, transparent 30%);
  }
  .pkg-body{ padding: 30px 30px 0; }
  .pkg-card:hover{ transform: translateY(-10px) scale(1.015); box-shadow: 0 24px 46px var(--shadow-tint); border-color: var(--gold); }
  .pkg-card.featured{ border: 1.5px solid var(--gold); }
  .pkg-crown{ width:34px; height:34px; margin: 0 auto 18px; transition: transform .4s ease; }
  .pkg-card:hover .pkg-crown{ transform: scale(1.15) rotate(-6deg); }
  .pkg-crown path{ fill: var(--gold); }
  .pkg-card h3{ font-size: 1.3rem; margin: 0 0 6px; }
  .pkg-price{ font-family:'Cinzel',serif; color: var(--gold); font-size: 1rem; margin-bottom: 18px; letter-spacing: .05em;}
  .pkg-card p.desc{ color: var(--ink-soft); font-size: 1.02rem; margin-bottom: 22px; min-height: 78px; }
  .pkg-tag{
    position:absolute; top: -13px; left:50%; transform: translateX(-50%);
    background: var(--gold); color: var(--primary-dark); font-family:'Cinzel',serif;
    font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; padding: 5px 16px;
    animation: tagPulse 2.4s ease-in-out infinite;
  }
  @keyframes tagPulse{ 0%,100%{ box-shadow: 0 0 0 0 rgba(201,162,39,.5);} 50%{ box-shadow: 0 0 0 6px rgba(201,162,39,0);} }
  .pkg-card.premium{
    background: linear-gradient(170deg, var(--surface) 0%, var(--surface-2) 100%);
    border: 2px solid var(--gold);
    box-shadow: 0 10px 30px var(--shadow-tint);
  }
  .pkg-card.premium::before{
    content:''; position:absolute; inset:6px; border:1px solid rgba(201,162,39,.4); pointer-events:none;
  }
  .pkg-events{ text-align:left; margin: 0 0 20px; }
  .pkg-events-label{
    display:block; font-family:'Cinzel',serif; font-size:.62rem; letter-spacing:.16em;
    text-transform:uppercase; color: var(--gold); margin-bottom: 10px; text-align:center;
  }
  .chip-row{ display:flex; flex-wrap:wrap; gap:7px; justify-content:center; }
  .chip{
    font-family:'Cinzel',serif; font-size:.66rem; letter-spacing:.05em; text-transform:uppercase;
    padding: 5px 12px; border: 1px solid var(--gold-light); border-radius: 999px;
    color: var(--ink-soft); background: rgba(201,162,39,.06); white-space:nowrap;
    transition: background .3s ease, transform .3s ease;
  }
  .pkg-card:hover .chip{ transform: translateY(-1px); }
  .pkg-games{
    text-align:left; margin: 0 0 22px; padding: 14px 14px 16px;
    border: 1.5px dashed var(--gold); background: rgba(201,162,39,.1); position:relative;
  }
  .pkg-games-label{
    display:block; font-family:'Cinzel',serif; font-size:.66rem; letter-spacing:.14em;
    text-transform:uppercase; color: var(--primary); font-weight:600; margin-bottom: 10px; text-align:center;
  }
  .chip-game{
    background: var(--gold); border-color: var(--gold); color: var(--primary-dark); font-weight:600;
  }
  .pkg-card.premium:hover .chip-game{ background: var(--gold-bright); }

  /* ---------- GALLERY ---------- */
  .gallery{ background: var(--primary-dark); transition: background .8s ease; color: var(--gold-light); }
  .gallery .section-head h2{ color: var(--gold-light); }
  .gal-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 26px; }
  .gal-tile{
    aspect-ratio: 5/4; border: 2px solid var(--gold); position:relative; overflow:hidden;
    transition: transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s ease; background: var(--primary-dark);
    box-shadow: inset 0 0 0 5px var(--primary-dark), inset 0 0 0 6px var(--gold);
  }
  .gal-tile:hover{ transform: translateY(-6px); box-shadow: inset 0 0 0 5px var(--primary-dark), inset 0 0 0 6px var(--gold-bright), 0 14px 28px rgba(0,0,0,.35); }
  .gal-tile .art{
    position:absolute; inset:8px; overflow:hidden;
  }
  .gal-tile .art img{
    width:100%; height:100%; object-fit:cover; display:block;
    filter: saturate(1.18) contrast(1.08) brightness(1.02) sepia(.06);
    transition: transform .6s ease, filter .6s ease;
  }
  .gal-tile:hover .art img{ transform: scale(1.08); filter: saturate(1.28) contrast(1.1) brightness(1.05) sepia(.08); }
  .gal-tile::after{
    content:''; position:absolute; inset:8px; z-index:1;
    background: linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.05) 45%, transparent 65%);
    pointer-events:none;
  }
  .gal-tile::before{
    content:''; position:absolute; inset:8px; z-index:3; pointer-events:none;
    box-shadow: inset 0 0 0 1px rgba(230,198,92,.55);
  }
  .gal-tile .corner{
    position:absolute; width:14px; height:14px; z-index:4; pointer-events:none;
    border: 2px solid var(--gold-bright);
  }
  .gal-tile .corner.tl{ top:6px; left:6px; border-right:none; border-bottom:none; }
  .gal-tile .corner.tr{ top:6px; right:6px; border-left:none; border-bottom:none; }
  .gal-tile .corner.bl{ bottom:6px; left:6px; border-right:none; border-top:none; }
  .gal-tile .corner.br{ bottom:6px; right:6px; border-left:none; border-top:none; }
  .gal-tile .cap{
    position:absolute; bottom:0; left:0; right:0; padding: 14px; font-family:'Cinzel',serif;
    font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color: var(--gold-light);
    background: linear-gradient(0deg, rgba(0,0,0,.6), transparent); z-index:5;
  }

  /* ---------- TESTIMONIAL ---------- */
  .testimonial-inner{ text-align:center; max-width: 780px; margin: 0 auto; padding: 100px 24px; }
  .testimonial-inner svg{ width:36px; height:36px; margin: 0 auto 24px; }
  .testimonial-inner svg path{ fill: var(--gold); }
  .testimonial-inner blockquote{ font-size: 1.7rem; font-style: italic; color: var(--ink); margin: 0 0 22px; font-weight:500; }
  .testimonial-inner cite{ font-family:'Cinzel',serif; font-style:normal; font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; color: var(--gold); }

  /* ---------- CTA / CONTACT ---------- */
  .cta{ background: linear-gradient(160deg, var(--primary), var(--primary-dark)); transition: background .8s ease; }
  .cta-inner{ text-align:center; padding: 110px 24px; max-width:1180px; margin:0 auto; }
  .cta .eyebrow{ color: var(--gold-bright); }
  .cta h2{ color: var(--cream); font-size: clamp(1.9rem,3.6vw,2.7rem); margin: 8px 0 18px; }
  .cta p{ color: var(--gold-light); font-size: 1.15rem; max-width: 520px; margin: 0 auto 36px; }
  .cta-form{ max-width: 520px; margin: 0 auto; display:grid; gap: 14px; grid-template-columns: 1fr 1fr; }
  .cta-form input{
    grid-column: span 1; width:100%; padding: 14px 16px; background: rgba(250,245,232,.06);
    border: 1px solid var(--gold); color: var(--cream); font-family:'Cormorant Garamond',serif;
    font-size: 1.05rem; transition: background .3s ease, box-shadow .3s ease;
  }
  .cta-form input:focus{ outline:none; background: rgba(250,245,232,.12); box-shadow: 0 0 0 3px rgba(201,162,39,.25); }
  .cta-form input::placeholder{ color: rgba(250,245,232,.55); }
  .cta-form .full{ grid-column: 1 / -1; }
  .cta-form button{ grid-column: 1/-1; margin-top: 6px; }

  /* ---------- FOOTER ---------- */
  footer{
    background: var(--primary-dark); color: var(--gold-light); text-align:center; padding: 46px 24px 34px;
    transition: background .8s ease; border-top: 1px solid var(--gold); width:100%;
  }
  footer .logo{ justify-content:center; margin-bottom: 14px; }
  footer p{ font-size: .95rem; opacity:.7; margin: 4px 0; }

  /* ---------- banner sweep transition overlay ---------- */
  .sweep{
    position: fixed; inset:0; z-index: 300; pointer-events:none;
    background: var(--gold); transform: scaleX(0); transform-origin: left; opacity: 0;
  }
  .sweep.run{ animation: sweepAnim .7s cubic-bezier(.65,.05,.36,1); }
  @keyframes sweepAnim{
    0%{ transform: scaleX(0); transform-origin:left; opacity:.9; }
    45%{ transform: scaleX(1); transform-origin:left; opacity:.9; }
    55%{ transform: scaleX(1); transform-origin:right; opacity:.9; }
    100%{ transform: scaleX(0); transform-origin:right; opacity:0; }
  }

  /* ---------- CUSTOM PACKAGE BUILDER ---------- */
  .custom-pkg{ background: var(--surface-2); transition: background .8s ease; }
  .custom-panel{
    display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px;
    background: var(--surface); border: 1.5px solid var(--gold); padding: 44px 40px;
    box-shadow: 0 20px 46px var(--shadow-tint);
  }
  .custom-col-title{
    font-family:'Cinzel',serif; font-size: .95rem; letter-spacing:.08em;
    color: var(--primary); margin: 0 0 18px;
  }
 .event-toggle-row{ display:flex; flex-wrap:wrap; gap:10px; }
.event-chip{
  font-family:'Cinzel',serif; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  padding: 10px 16px; border: 1.5px solid var(--gold-light); border-radius: 999px;
  background: transparent; color: var(--ink-soft); cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  transition: all .25s ease; user-select:none;
}
.event-chip:hover{ border-color: var(--gold); }
.event-chip.active{
  background: var(--primary); border-color: var(--primary); color: var(--cream);
  box-shadow: 0 6px 16px var(--shadow-tint);
}
.event-chip .chip-price{
  font-family:'Cormorant Garamond', serif;
  font-size:10.5px; letter-spacing:.02em; text-transform:none;
  opacity:0.75;
}
  #guestSlider{
    width:100%; accent-color: var(--gold); margin-bottom: 10px; cursor:pointer;
  }
  .guest-readout{
    font-family:'Cinzel',serif; font-size: 1.3rem; color: var(--primary); margin-bottom: 26px;
  }
  .guest-readout span{ color: var(--gold); }
  .extra-toggle{
    display:flex; align-items:flex-start; gap:12px; cursor:pointer; font-size: 1rem; color: var(--ink-soft);
    padding: 14px; border: 1.5px dashed var(--gold); background: rgba(201,162,39,.08);
  }
  .extra-toggle input{ width:18px; height:18px; accent-color: var(--gold); margin-top:2px; cursor:pointer; flex-shrink:0; }
  .extra-toggle em{ font-style:italic; color: var(--gold); font-weight:600; }
  .custom-summary{
    text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center;
    border-left: 1px solid var(--gold-light); padding-left: 40px;
  }
  .summary-label{
    font-family:'Cinzel',serif; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
    color: var(--gold); margin-bottom: 12px;
  }
  .summary-price{
    font-family:'Cinzel',serif; font-size: 2.2rem; color: var(--primary); margin-bottom: 14px; font-weight:600;
  }
  .summary-note{ color: var(--ink-soft); font-size: .92rem; margin-bottom: 24px; }
  @media (max-width: 900px){
    .custom-panel{ grid-template-columns: 1fr; }
    .custom-summary{ border-left:none; border-top: 1px solid var(--gold-light); padding-left:0; padding-top: 30px; }
    nav.links{ display:none; }
    .sig-grid{ grid-template-columns: 1fr; }
    .pkg-grid{ grid-template-columns: 1fr; }
    .gal-grid{ grid-template-columns: repeat(2,1fr); }
    .cta-form{ grid-template-columns: 1fr; }
  }
  @media (max-width: 560px){
    .gal-grid{ grid-template-columns: 1fr; }
  }
  @media (prefers-reduced-motion: reduce){
    *{ animation: none !important; transition: none !important; }
  }

/* HERO SLIDESHOW FIX */
.hero{ position:relative; overflow:hidden; }
.hero-bg{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; z-index:0 !important; }
.hero-bg img{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; }
.hero-scrim{ position:absolute !important; inset:0 !important; z-index:1 !important; }
.hero-content{ position:relative; z-index:2; }
#packages{display:none !important;} 

#scrollBar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#c9a227,#e6c65c);z-index:9999}
.btn{position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;top:0;left:-120px;width:60px;height:100%;background:rgba(255,255,255,.35);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.btn:hover::after{left:300px}
.hero{position:relative;overflow:hidden}
.spark{position:absolute;width:4px;height:4px;border-radius:50px;background:#e6c65c;opacity:0;pointer-events:none;animation:twinkle 2.5s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1.5)}}
.auth-links{display:flex;align-items:center;gap:10px;margin:0 16px} .auth-links a{font-family:Cinzel,serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;border-radius:20px;border:1px solid #c9a227;color:#33070f;text-decoration:none;background:linear-gradient(180deg,#e6c65c,#c9a227 55%,#a67f1e);box-shadow:0 2px 6px rgba(201,162,39,.35)} .auth-links a:hover{transform:translateY(-1px)}
