/* ===== TOKENS ===== */
:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-3xl:clamp(2.5rem,1rem + 4vw,5rem);
  --text-hero:clamp(3rem,1rem + 8vw,8.5rem);

  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;
  --space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --space-20:5rem;--space-24:6rem;--space-32:8rem;

  --radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;
  --transition-interactive:220ms cubic-bezier(.16,1,.3,1);

  --font-display:'Fraunces','Georgia',serif;
  --font-body:'General Sans','Inter',system-ui,sans-serif;

  --content:1200px;

  /* gold */
  --gold-1:#ffe9a8;--gold-2:#e7b13a;--gold-3:#b9802a;
  --gold-grad:linear-gradient(135deg,#ffe9a8 0%,#f1c45a 42%,#c8902f 100%);
}

/* Default palette */
:root{
  --color-bg:#070d22;
  --color-bg-2:#0b1430;
  --color-surface:#101a3d;
  --color-surface-2:#15214b;
  --color-border:rgba(231,177,58,.18);
  --color-border-soft:rgba(255,255,255,.08);
  --color-text:#eef1fb;
  --color-text-muted:#aeb6d6;
  --color-text-faint:#7e88ad;
  --color-gold:#e7b13a;
  --color-gold-soft:#f1c45a;
  --scrim:linear-gradient(180deg,rgba(7,13,34,.35) 0%,rgba(7,13,34,.2) 40%,rgba(7,13,34,.82) 88%,rgba(7,13,34,.97) 100%);
  --card-grad:linear-gradient(160deg,rgba(21,33,75,.9),rgba(11,20,48,.92));
}

/* ===== LAYOUT ===== */
.container{width:100%;max-width:var(--content);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.section-alt{background:var(--color-bg-2);position:relative}
.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--color-gold);color:#0b1430;padding:.6rem 1rem;border-radius:0 0 .5rem 0;font-weight:600}
.skip-link:focus{left:0}

/* ===== TYPE HELPERS ===== */
.eyebrow{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-5)}
.eyebrow-center{display:block;text-align:center}
.section-title{font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl);line-height:1.04;letter-spacing:-.01em;font-optical-sizing:auto}
.section-lede{margin-top:var(--space-5);color:var(--color-text-muted);font-size:var(--text-lg);max-width:48ch}
.title-gold{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);letter-spacing:.01em;padding:.95rem 1.7rem;border-radius:var(--radius-full);transition:transform var(--transition-interactive),box-shadow var(--transition-interactive),background var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive);will-change:transform}
.btn-sm{padding:.65rem 1.15rem}
.btn-gold{background:var(--gold-grad);color:#1a1205;box-shadow:0 6px 24px rgba(231,177,58,.32)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(231,177,58,.45)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff;background:rgba(10,16,40,.32);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--color-gold-soft);color:var(--color-gold-soft);background:rgba(10,16,40,.5);transform:translateY(-2px)}

/* ===== HEADER ===== */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;padding-block:var(--space-4);transition:background var(--transition-interactive),backdrop-filter var(--transition-interactive),padding var(--transition-interactive),border-color var(--transition-interactive);border-bottom:1px solid transparent}
.site-header.scrolled{background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom-color:var(--color-border-soft);padding-block:var(--space-3)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.brand{display:inline-flex;align-items:center;gap:.6rem}
.brand-mark{filter:drop-shadow(0 2px 6px rgba(231,177,58,.4));flex:none}
.brand-word{font-family:var(--font-display);font-weight:600;font-size:1.3rem;letter-spacing:.01em;color:#fff}
.site-header.scrolled .brand-word{color:var(--color-text)}
.brand-word-alt{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.header-actions{display:flex;align-items:center;gap:var(--space-4)}
.header-opening{font-family:var(--font-display);font-size:clamp(1rem,.9rem + .4vw,1.25rem);font-weight:600;letter-spacing:.01em;color:rgba(255,255,255,.92);text-align:right;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.site-header.scrolled .header-opening{color:var(--color-text);text-shadow:none}

main{height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}

/* ===== HERO ===== */
.hero{position:relative;min-height:0;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero-scrim{position:absolute;inset:0;background:var(--scrim)}
.hero-ambient-sparkles{position:absolute;inset:0;pointer-events:none;z-index:1}
.ambient-spark{position:absolute;display:block;width:.48rem;height:.48rem;border-radius:999px;background:radial-gradient(circle,rgba(255,249,224,.96) 0%,rgba(241,196,90,.9) 35%,rgba(231,177,58,.18) 72%,transparent 100%);box-shadow:0 0 14px rgba(241,196,90,.28);opacity:.12;animation:ambientSparkle 7.5s ease-in-out infinite}
.ambient-spark::before,.ambient-spark::after{content:'';position:absolute;left:50%;top:50%;background:rgba(255,233,168,.66);transform:translate(-50%,-50%);border-radius:999px}
.ambient-spark::before{width:1px;height:.7rem}
.ambient-spark::after{width:.7rem;height:1px}
.ambient-spark:nth-child(1){top:8%;left:7%;width:.28rem;height:.28rem;animation-delay:-.5s}
.ambient-spark:nth-child(2){top:14%;left:16%;width:.36rem;height:.36rem;animation-delay:-2.1s}
.ambient-spark:nth-child(3){top:26%;left:11%;width:.24rem;height:.24rem;animation-delay:-4.2s}
.ambient-spark:nth-child(4){top:38%;left:6%;width:.44rem;height:.44rem;animation-delay:-1.3s}
.ambient-spark:nth-child(5){top:52%;left:14%;width:.32rem;height:.32rem;animation-delay:-5.1s}
.ambient-spark:nth-child(6){top:69%;left:9%;width:.26rem;height:.26rem;animation-delay:-3.4s}
.ambient-spark:nth-child(7){top:82%;left:18%;width:.38rem;height:.38rem;animation-delay:-6.3s}
.ambient-spark:nth-child(8){top:18%;left:27%;width:.22rem;height:.22rem;animation-delay:-.9s}
.ambient-spark:nth-child(9){top:34%;left:24%;width:.34rem;height:.34rem;animation-delay:-4.8s}
.ambient-spark:nth-child(10){top:61%;left:29%;width:.28rem;height:.28rem;animation-delay:-2.7s}
.ambient-spark:nth-child(11){top:12%;left:41%;width:.3rem;height:.3rem;animation-delay:-1.8s}
.ambient-spark:nth-child(12){top:28%;left:47%;width:.24rem;height:.24rem;animation-delay:-5.6s}
.ambient-spark:nth-child(13){top:44%;left:39%;width:.4rem;height:.4rem;animation-delay:-3.1s}
.ambient-spark:nth-child(14){top:73%;left:42%;width:.3rem;height:.3rem;animation-delay:-6.9s}
.ambient-spark:nth-child(15){top:9%;left:58%;width:.34rem;height:.34rem;animation-delay:-.2s}
.ambient-spark:nth-child(16){top:16%;left:63%;width:.52rem;height:.52rem;animation-delay:-2.4s}
.ambient-spark:nth-child(17){top:24%;left:69%;width:.26rem;height:.26rem;animation-delay:-4.9s}
.ambient-spark:nth-child(18){top:31%;left:74%;width:.62rem;height:.62rem;animation-delay:-1.6s}
.ambient-spark:nth-child(19){top:39%;left:67%;width:.3rem;height:.3rem;animation-delay:-5.8s}
.ambient-spark:nth-child(20){top:47%;left:72%;width:.42rem;height:.42rem;animation-delay:-3.7s}
.ambient-spark:nth-child(21){top:55%;left:64%;width:.24rem;height:.24rem;animation-delay:-6.1s}
.ambient-spark:nth-child(22){top:62%;left:77%;width:.5rem;height:.5rem;animation-delay:-2.9s}
.ambient-spark:nth-child(23){top:70%;left:69%;width:.34rem;height:.34rem;animation-delay:-.7s}
.ambient-spark:nth-child(24){top:78%;left:74%;width:.28rem;height:.28rem;animation-delay:-4.5s}
.ambient-spark:nth-child(25){top:86%;left:66%;width:.44rem;height:.44rem;animation-delay:-1.1s}
.ambient-spark:nth-child(26){top:11%;left:82%;width:.58rem;height:.58rem;animation-delay:-5.3s}
.ambient-spark:nth-child(27){top:19%;left:88%;width:.36rem;height:.36rem;animation-delay:-3.3s}
.ambient-spark:nth-child(28){top:29%;left:92%;width:.3rem;height:.3rem;animation-delay:-6.6s}
.ambient-spark:nth-child(29){top:46%;left:85%;width:.68rem;height:.68rem;animation-delay:-2s}
.ambient-spark:nth-child(30){top:64%;left:91%;width:.4rem;height:.4rem;animation-delay:-4s}
.hero-content{position:relative;z-index:2;text-align:center;padding-top:clamp(5rem,10vh,6.5rem);padding-bottom:clamp(1rem,3vh,2rem);margin-inline:auto;max-width:920px}
.countdown{display:flex;justify-content:center;gap:clamp(.45rem,1.2vw,.85rem);flex-wrap:wrap;margin-bottom:var(--space-5)}
.countdown-card{min-width:84px;padding:.7rem .85rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(10,16,40,.42);backdrop-filter:blur(8px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.countdown-value{display:block;font-family:var(--font-display);font-size:clamp(1.35rem,1rem + 1.1vw,2rem);line-height:1;color:#fff}
.countdown-label{display:block;margin-top:.25rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.hero-title-shell{position:relative;display:inline-block}
.hero-title-wrap{position:absolute;inset:-16% -14% -10%;pointer-events:none;z-index:0}
.hero-title-wrap::before,.hero-title-wrap::after{content:'';position:absolute;border-radius:50%;filter:blur(24px);opacity:.45}
.hero-title-wrap::before{inset:18% 14% 22%;background:radial-gradient(circle,rgba(241,196,90,.26) 0%,rgba(241,196,90,.08) 46%,transparent 74%);animation:sparkleAura 5.2s ease-in-out infinite}
.hero-title-wrap::after{inset:26% 22% 30%;background:radial-gradient(circle,rgba(255,233,168,.18) 0%,rgba(255,233,168,.06) 40%,transparent 70%);animation:sparkleAura 6.4s ease-in-out infinite reverse}
.hero-spark{position:absolute;display:block;width:.54rem;height:.54rem;border-radius:999px;background:radial-gradient(circle,rgba(255,249,224,.98) 0%,rgba(241,196,90,.95) 36%,rgba(231,177,58,.28) 70%,transparent 100%);box-shadow:0 0 16px rgba(241,196,90,.38);opacity:.18;animation:sparkleFloat 5.2s ease-in-out infinite}
.hero-spark::before,.hero-spark::after{content:'';position:absolute;left:50%;top:50%;background:rgba(255,233,168,.78);transform:translate(-50%,-50%);border-radius:999px}
.hero-spark::before{width:1px;height:.8rem}
.hero-spark::after{width:.8rem;height:1px}
.hero-spark:nth-child(1){top:6%;left:18%;width:.42rem;height:.42rem;animation-delay:-.4s}
.hero-spark:nth-child(2){top:10%;left:28%;width:.62rem;height:.62rem;animation-delay:-1.6s}
.hero-spark:nth-child(3){top:3%;left:44%;width:.36rem;height:.36rem;animation-delay:-2.9s}
.hero-spark:nth-child(4){top:9%;left:57%;width:.5rem;height:.5rem;animation-delay:-4.1s}
.hero-spark:nth-child(5){top:4%;left:73%;width:.72rem;height:.72rem;animation-delay:-.9s}
.hero-spark:nth-child(6){top:16%;left:8%;width:.34rem;height:.34rem;animation-delay:-3.4s}
.hero-spark:nth-child(7){top:18%;left:22%;width:.46rem;height:.46rem;animation-delay:-4.8s}
.hero-spark:nth-child(8){top:15%;left:39%;width:.82rem;height:.82rem;animation-delay:-1.1s}
.hero-spark:nth-child(9){top:19%;left:51%;width:.38rem;height:.38rem;animation-delay:-2.4s}
.hero-spark:nth-child(10){top:17%;left:66%;width:.56rem;height:.56rem;animation-delay:-5s}
.hero-spark:nth-child(11){top:14%;left:82%;width:.44rem;height:.44rem;animation-delay:-1.8s}
.hero-spark:nth-child(12){top:28%;left:4%;width:.76rem;height:.76rem;animation-delay:-3.2s}
.hero-spark:nth-child(13){top:30%;left:15%;width:.4rem;height:.4rem;animation-delay:-.7s}
.hero-spark:nth-child(14){top:26%;left:31%;width:.52rem;height:.52rem;animation-delay:-2.1s}
.hero-spark:nth-child(15){top:24%;left:46%;width:.3rem;height:.3rem;animation-delay:-4.5s}
.hero-spark:nth-child(16){top:29%;left:62%;width:.68rem;height:.68rem;animation-delay:-1.9s}
.hero-spark:nth-child(17){top:27%;left:77%;width:.36rem;height:.36rem;animation-delay:-3.7s}
.hero-spark:nth-child(18){top:34%;left:88%;width:.48rem;height:.48rem;animation-delay:-5.4s}
.hero-spark:nth-child(19){top:41%;left:9%;width:.34rem;height:.34rem;animation-delay:-2.8s}
.hero-spark:nth-child(20){top:39%;left:24%;width:.78rem;height:.78rem;animation-delay:-.6s}
.hero-spark:nth-child(21){top:37%;left:36%;width:.46rem;height:.46rem;animation-delay:-3s}
.hero-spark:nth-child(22){top:43%;left:49%;width:.58rem;height:.58rem;animation-delay:-4.7s}
.hero-spark:nth-child(23){top:40%;left:59%;width:.32rem;height:.32rem;animation-delay:-1.3s}
.hero-spark:nth-child(24){top:38%;left:71%;width:.7rem;height:.7rem;animation-delay:-2.6s}
.hero-spark:nth-child(25){top:44%;left:83%;width:.42rem;height:.42rem;animation-delay:-5.1s}
.hero-spark:nth-child(26){top:54%;left:6%;width:.52rem;height:.52rem;animation-delay:-1s}
.hero-spark:nth-child(27){top:58%;left:18%;width:.3rem;height:.3rem;animation-delay:-3.5s}
.hero-spark:nth-child(28){top:52%;left:33%;width:.66rem;height:.66rem;animation-delay:-4.2s}
.hero-spark:nth-child(29){top:57%;left:45%;width:.4rem;height:.4rem;animation-delay:-.2s}
.hero-spark:nth-child(30){top:55%;left:56%;width:.48rem;height:.48rem;animation-delay:-2s}
.hero-spark:nth-child(31){top:59%;left:68%;width:.84rem;height:.84rem;animation-delay:-4.9s}
.hero-spark:nth-child(32){top:53%;left:81%;width:.34rem;height:.34rem;animation-delay:-1.5s}
.hero-spark:nth-child(33){top:70%;left:12%;width:.44rem;height:.44rem;animation-delay:-3.8s}
.hero-spark:nth-child(34){top:74%;left:28%;width:.64rem;height:.64rem;animation-delay:-.8s}
.hero-spark:nth-child(35){top:68%;left:41%;width:.28rem;height:.28rem;animation-delay:-2.5s}
.hero-spark:nth-child(36){top:72%;left:54%;width:.56rem;height:.56rem;animation-delay:-4.4s}
.hero-spark:nth-child(37){top:76%;left:66%;width:.38rem;height:.38rem;animation-delay:-1.2s}
.hero-spark:nth-child(38){top:69%;left:79%;width:.72rem;height:.72rem;animation-delay:-5.3s}
.hero-spark:nth-child(39){top:82%;left:22%;width:.36rem;height:.36rem;animation-delay:-2.3s}
.hero-spark:nth-child(40){top:84%;left:61%;width:.5rem;height:.5rem;animation-delay:-3.9s}
.hero-title{position:relative;z-index:1;font-family:var(--font-display);font-weight:600;font-size:var(--text-hero);line-height:.92;letter-spacing:-.02em;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.5)}
.hero-sub{margin:var(--space-5) auto 0;max-width:min(70vw,62rem);color:rgba(255,255,255,.9);font-size:clamp(1rem,.92rem + .45vw,1.2rem);line-height:1.45}
.hero-cta{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-top:calc(var(--space-8) + .25rem)}
.hero-form{display:flex;align-items:center;gap:.75rem;justify-content:center;flex-wrap:wrap;width:100%;max-width:680px;margin-inline:auto}
.hero-form input{flex:1 1 320px;min-width:260px;padding:1rem 1.3rem;border-radius:var(--radius-full);border:2px solid rgba(231,177,58,.72);background:rgba(10,16,40,.4);backdrop-filter:blur(8px);color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.16);transition:border-color var(--transition-interactive),box-shadow var(--transition-interactive),background var(--transition-interactive)}
.hero-form input::placeholder{color:rgba(255,255,255,.58)}
.hero-form input:focus{outline:none;border-color:var(--color-gold-soft);box-shadow:0 0 0 4px rgba(231,177,58,.16)}
.form-msg{display:none;margin-top:.65rem;font-size:var(--text-sm);font-weight:600;color:var(--color-gold)}
.form-msg:not(:empty){display:block}
.form-msg.is-error{color:#ffb6a2}
.form-msg.is-success{color:var(--gold-1)}
.hero-note{margin:1rem auto 0;max-width:none;text-align:center;font-size:var(--text-sm);color:rgba(255,255,255,.7)}

/* ===== MARQUEE ===== */
.marquee{background:var(--color-bg-2);border-block:1px solid var(--color-border-soft);overflow:hidden;padding-block:clamp(.75rem,1.8vh,1rem)}
.marquee-track{display:flex;align-items:center;gap:var(--space-8);width:max-content;animation:marq 32s linear infinite}
.marquee-track span{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--color-text-muted);white-space:nowrap}
.marquee-track .dot{color:var(--color-gold);font-style:normal;font-size:.8em}
@keyframes sparkleAura{
  0%,100%{opacity:.22;transform:scale(.97)}
  50%{opacity:.46;transform:scale(1.03)}
}
@keyframes sparkleFloat{
  0%,100%{opacity:.14;transform:translate3d(0,0,0) scale(.84)}
  25%{opacity:.6;transform:translate3d(.14rem,-.24rem,0) scale(1.04)}
  50%{opacity:.26;transform:translate3d(-.1rem,.08rem,0) scale(.9)}
  75%{opacity:.72;transform:translate3d(.1rem,-.14rem,0) scale(1.08)}
}
@keyframes ambientSparkle{
  0%,100%{opacity:.08;transform:translate3d(0,0,0) scale(.82)}
  20%{opacity:.22;transform:translate3d(.08rem,-.12rem,0) scale(1)}
  50%{opacity:.12;transform:translate3d(-.06rem,.08rem,0) scale(.9)}
  75%{opacity:.3;transform:translate3d(.04rem,-.08rem,0) scale(1.06)}
}
@keyframes marq{to{transform:translateX(-50%)}}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.marquee-track,.hero-title-wrap::before,.hero-title-wrap::after,.hero-spark,.ambient-spark{animation:none}}

/* ===== RESPONSIVE ===== */
@media (max-width:900px){
}
@media (max-width:560px){
  .header-actions .btn{display:inline-flex;padding:.55rem 1rem;font-size:var(--text-xs)}
  .header-opening{font-size:.95rem}
  .hero-content{padding-top:6rem;padding-bottom:1.25rem}
  .countdown{gap:.4rem;margin-bottom:1rem}
  .countdown-card{min-width:72px;padding:.55rem .6rem}
  .countdown-value{font-size:1.2rem}
  .hero-title-wrap{inset:-14% -10% -8%}
  .hero-form{gap:.65rem}
  .hero-form input{min-width:0;flex-basis:100%}
  .hero-sub{max-width:min(88vw,40rem)}
}

/* ============================================================
   ADDITIONS — restored/repaired
   ============================================================ */

/* --- No-JS safety: never leave the page invisible ---------- */
html:not(.js) .reveal{opacity:1;transform:none}

/* --- Missing-image fallback (styled placeholder, not a broken icon) --- */
img.img-missing{background:var(--card-grad);border:1px dashed var(--color-border);min-height:220px;object-fit:cover}
