:root{
  --obsidian:#10141A;
  --obsidian-2:#171C24;
  --ink:#0A0D11;
  --gold:#C9A667;
  --gold-bright:#E4C989;
  --ivory:#F2ECE1;
  --ivory-dim: rgba(242,236,225,0.62);
  --line: rgba(201,166,103,0.22);
  --max: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--obsidian);
  color:var(--ivory);
  font-family:'Manrope',sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
h1,h2,h3{
  font-family:'Fraunces',serif;
  font-weight:600;
  margin:0;
  letter-spacing:-0.01em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(16,20,26,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;max-width:var(--max);margin:0 auto;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand span{font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;letter-spacing:0.02em;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{font-size:0.92rem;color:var(--ivory-dim);transition:color .2s;}
.nav-links a:hover, .nav-links a.active{color:var(--ivory);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:2px;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:0.88rem;
  cursor:pointer;border:1px solid transparent;transition:all .2s;
}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:var(--gold-bright);}
.btn-line{border-color:var(--line);color:var(--ivory);}
.btn-line:hover{border-color:var(--gold);}
.menu-toggle{display:none;background:none;border:none;color:var(--ivory);cursor:pointer;padding:6px;}

/* ---------- Hero ---------- */
.hero{
  padding:96px 0 80px;
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;
}
.hero .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:100px;
  padding:6px 14px;font-size:0.78rem;color:var(--ivory-dim);
  margin-bottom:22px;
}
.pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);}
.hero h1{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.08;max-width:14ch;}
.hero h1 em{font-style:italic;color:var(--gold-bright);}
.hero p.lede{color:var(--ivory-dim);font-size:1.05rem;max-width:46ch;margin:22px 0 30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px;}
.micro-trust{display:flex;gap:22px;flex-wrap:wrap;font-size:0.82rem;color:var(--ivory-dim);}
.micro-trust li{list-style:none;display:flex;align-items:center;gap:7px;}
.micro-trust ul{display:flex;gap:22px;flex-wrap:wrap;padding:0;margin:0;}
.micro-trust svg{flex-shrink:0;}

.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.medallion-glow{
  position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,166,103,0.16) 0%,rgba(201,166,103,0) 70%);
}
.medallion{width:210px;height:210px;position:relative;z-index:2;}

/* ---------- Featured competition ---------- */
.featured{padding:88px 0;border-bottom:1px solid var(--line);}
.eyebrow{font-size:0.8rem;color:var(--gold);font-weight:700;margin-bottom:10px;letter-spacing:0.02em;}
.section-head{max-width:56ch;margin-bottom:48px;}
.section-head h2{font-size:clamp(1.6rem,2.6vw,2.1rem);}
.section-head p{color:var(--ivory-dim);margin-top:12px;font-size:0.98rem;}

.comp-card{
  display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:start;
  border:1px solid var(--line);background:var(--obsidian-2);
  border-radius:4px;overflow:hidden;
}
.comp-left{position:sticky;top:88px;align-self:start;display:flex;flex-direction:column;}
.comp-image{
  position:relative;display:flex;align-items:center;justify-content:center;
  padding:56px 40px 20px;
  background:radial-gradient(circle at 50% 42%, rgba(201,166,103,0.22) 0%, rgba(201,166,103,0.08) 32%, rgba(201,166,103,0) 62%);
}
.comp-image img{
  width:100%;max-width:280px;height:auto;object-fit:contain;display:block;
  filter:drop-shadow(0 26px 30px rgba(0,0,0,0.5));
}
.prize-banner{text-align:center;padding:0 20px 44px;}
.prize-banner::before{
  content:'';display:block;width:56px;height:1px;margin:0 auto 22px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}
.prize-banner .pb-label{font-size:0.78rem;color:var(--ivory-dim);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px;}
.prize-banner .pb-amount{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--gold-bright);}
.comp-body{padding:40px;display:flex;flex-direction:column;gap:20px;}
.comp-body h3{font-size:1.6rem;}
.comp-body .maker{color:var(--ivory-dim);font-size:0.9rem;margin-top:4px;}
.comp-body .dial-note{color:var(--ivory-dim);font-size:0.9rem;line-height:1.6;}
.stat-row{display:flex;gap:32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat{display:flex;flex-direction:column;gap:4px;}
.stat .num{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--gold-bright);}
.stat .label{font-size:0.76rem;color:var(--ivory-dim);text-transform:uppercase;letter-spacing:0.05em;}

.countdown{display:flex;gap:14px;}
.countdown div{text-align:center;}
.countdown .cd-num{
  font-family:'Manrope',sans-serif;font-variant-numeric:tabular-nums;
  font-weight:800;font-size:1.5rem;background:var(--ink);
  border:1px solid var(--line);border-radius:3px;padding:10px 14px;min-width:52px;
}
.countdown .cd-label{font-size:0.68rem;color:var(--ivory-dim);margin-top:6px;text-transform:uppercase;letter-spacing:0.06em;}

.gauge-row{display:flex;align-items:center;gap:18px;}
.gauge-note{font-size:0.82rem;color:var(--ivory-dim);}
.gauge-note strong{color:var(--ivory);}

.comp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}

.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:18px 0;border-top:1px solid var(--line);}
.detail-grid div{display:flex;flex-direction:column;gap:4px;}
.detail-grid .d-label{font-size:0.72rem;color:var(--ivory-dim);text-transform:uppercase;letter-spacing:0.05em;}
.detail-grid .d-val{font-size:0.94rem;color:var(--ivory);font-weight:600;}

.spec-toggle{
  display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--gold-bright);
  font-family:'Manrope',sans-serif;font-weight:700;font-size:0.85rem;cursor:pointer;padding:0;
}
.spec-toggle svg{transition:transform .2s;}
.spec-toggle.open svg{transform:rotate(180deg);}
.spec-list{display:none;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-top:4px;}
.spec-list.open{display:flex;}
.spec-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:0.88rem;}
.spec-row span:first-child{color:var(--ivory-dim);flex-shrink:0;}
.spec-row span:last-child{color:var(--ivory);text-align:right;}

.progress-wrap{display:flex;flex-direction:column;gap:8px;}
.progress-track{height:6px;border-radius:3px;background:rgba(201,166,103,0.14);overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-radius:3px;}
.progress-note{font-size:0.78rem;color:var(--ivory-dim);}
.progress-note strong{color:var(--ivory);}

.eb-banner{
  border:1px solid var(--gold);border-radius:4px;background:rgba(201,166,103,0.1);
  padding:12px 16px;margin-bottom:14px;font-size:0.86rem;color:var(--ivory);
}
.eb-banner strong{color:var(--gold-bright);}
.eb-banner span{color:var(--gold-bright);font-weight:700;}

.qty-picker{border:1px solid var(--line);border-radius:4px;background:var(--ink);padding:18px;opacity:0.4;pointer-events:none;transition:opacity .2s;}
.qty-picker.unlocked{opacity:1;pointer-events:auto;}
.qty-tiers{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.qty-chip{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 14px 9px;border-radius:8px;border:1px solid var(--line);background:transparent;
  color:var(--ivory-dim);font-family:'Manrope',sans-serif;font-weight:700;font-size:0.8rem;
  cursor:pointer;transition:all .15s;min-width:72px;margin-top:11px;
}
.qty-chip:hover{border-color:var(--gold);color:var(--ivory);}
.qty-chip.active{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.qty-chip.active .qc-price,
.qty-chip.active .qc-badge{color:var(--ink);}
.qty-chip .qc-count{font-size:0.8rem;}
.qty-chip .qc-price{font-family:'Fraunces',serif;font-size:1rem;color:var(--ivory);}
.qty-chip .qc-badge{font-size:0.68rem;font-weight:700;color:var(--gold-bright);letter-spacing:0.02em;}
.qty-chip.locked{opacity:0.35;cursor:not-allowed;pointer-events:none;}
.qty-chip:disabled{opacity:0.35;cursor:not-allowed;}
.qty-chip.popular{border-color:var(--gold);}
.qty-chip .qc-pop{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--gold-bright);color:var(--ink);font-size:0.62rem;font-weight:800;
  padding:2px 8px;border-radius:10px;white-space:nowrap;letter-spacing:0.02em;
}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.qty-stepper button{
  width:40px;height:40px;background:var(--obsidian-2);border:none;color:var(--ivory);
  font-size:1.2rem;cursor:pointer;transition:background .15s;
}
.qty-stepper button:hover{background:rgba(201,166,103,0.18);}
.qty-stepper input{
  width:60px;height:40px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);
  background:var(--ink);color:var(--ivory);text-align:center;font-family:'Manrope',sans-serif;
  font-weight:700;font-size:0.95rem;
}
.qty-total{text-align:right;}
.qty-was{font-size:0.8rem;color:var(--ivory-dim);text-decoration:line-through;min-height:1.1em;}
.qty-total-amount{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--gold-bright);}
.qty-total-each{font-size:0.76rem;color:var(--ivory-dim);}
.qty-save{margin-top:12px;font-size:0.82rem;color:var(--gold-bright);min-height:1.2em;}
.pack-hint{font-size:0.82rem;color:var(--ivory-dim);margin:-4px 0 0;}

.skill-gate{border:1px solid var(--line);background:var(--ink);border-radius:4px;padding:22px;}
.sg-question{font-size:0.98rem;color:var(--ivory);margin:0 0 14px;}
.sg-options{display:flex;gap:10px;flex-wrap:wrap;}
.sg-opt{
  padding:10px 18px;border-radius:2px;border:1px solid var(--line);background:transparent;
  color:var(--ivory);font-family:'Manrope',sans-serif;font-weight:600;font-size:0.88rem;cursor:pointer;transition:all .15s;
}
.sg-opt:hover{border-color:var(--gold);}
.sg-opt.correct{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.sg-opt.wrong{border-color:#a85a5a;color:#e0a3a3;}
.sg-feedback{font-size:0.85rem;margin:12px 0 0;min-height:1.2em;color:var(--ivory-dim);}
.sg-feedback.ok{color:var(--gold-bright);}
.btn-disabled{opacity:0.4;pointer-events:none;}

/* ---------- How it works ---------- */
.how{padding:88px 0;border-bottom:1px solid var(--line);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.step .num{font-family:'Fraunces',serif;font-size:2.1rem;color:var(--gold);opacity:0.85;}
.step h3{font-size:1.15rem;margin:14px 0 10px;}
.step p{color:var(--ivory-dim);font-size:0.92rem;}

/* ---------- Why section ---------- */
.why{padding:88px 0;border-bottom:1px solid var(--line);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.why-card{border:1px solid var(--line);padding:30px;border-radius:4px;background:var(--obsidian-2);}
.why-card svg{margin-bottom:16px;}
.why-card h3{font-size:1.05rem;margin-bottom:10px;}
.why-card p{color:var(--ivory-dim);font-size:0.9rem;}

/* ---------- Free entry ---------- */
.free-entry{padding:88px 0;border-bottom:1px solid var(--line);}
.fe-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.fe-grid p{color:var(--ivory-dim);font-size:0.96rem;margin-bottom:16px;}
.fe-list{list-style:none;padding:0;margin:22px 0;display:flex;flex-direction:column;gap:12px;}
.fe-list li{display:flex;gap:12px;font-size:0.92rem;color:var(--ivory-dim);}
.fe-list li span{color:var(--gold);font-family:'Fraunces',serif;}
.address-card{border:1px solid var(--line);background:var(--obsidian-2);padding:32px;border-radius:4px;}
.address-card .eyebrow{margin-bottom:16px;}
.address-card address{font-style:normal;color:var(--ivory);line-height:1.9;font-size:0.95rem;}
.address-card .deadline{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:0.85rem;color:var(--ivory-dim);}

/* ---------- About ---------- */
.about{padding:88px 0;border-bottom:1px solid var(--line);}
.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;}
.about-grid p{color:var(--ivory-dim);font-size:0.98rem;margin-bottom:16px;line-height:1.7;}
.about-card{border:1px solid var(--line);background:var(--obsidian-2);padding:36px;border-radius:4px;}
.about-card .eyebrow{margin-bottom:14px;}
.about-facts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.about-facts li{display:flex;gap:12px;font-size:0.9rem;color:var(--ivory-dim);}
.about-facts li span{color:var(--gold);font-family:'Fraunces',serif;flex-shrink:0;}

/* ---------- Page hero (About / Winners) ---------- */
.page-hero{padding:72px 0 56px;border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(1.9rem,3.4vw,2.6rem);}
.page-hero p{color:var(--ivory-dim);margin-top:14px;max-width:52ch;font-size:1rem;}

/* ---------- Winners ---------- */
.winners-empty{padding:88px 0;}
.winners-card{
  border:1px dashed var(--line);border-radius:4px;padding:56px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:18px;background:var(--obsidian-2);
}
.winners-card svg{opacity:0.7;}
.winners-card h2{font-size:1.4rem;}
.winners-card p{color:var(--ivory-dim);max-width:44ch;font-size:0.96rem;}

/* ---------- Footer ---------- */
footer{padding:56px 0 40px;}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;padding-bottom:36px;border-bottom:1px solid var(--line);}
.foot-brand{display:flex;align-items:center;gap:12px;}
.foot-brand span{font-family:'Fraunces',serif;font-weight:600;}
.foot-links{display:flex;gap:26px;flex-wrap:wrap;}
.foot-links a{font-size:0.85rem;color:var(--ivory-dim);}
.foot-links a:hover{color:var(--gold-bright);}
.foot-social{display:flex;gap:14px;}
.foot-social a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s;}
.foot-social a:hover{border-color:var(--gold);}
.foot-bottom{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:0.78rem;color:var(--ivory-dim);}

@media (max-width: 900px){
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .hero .wrap{grid-template-columns:1fr;text-align:left;}
  .hero-visual{order:-1;margin-bottom:20px;}
  .medallion{width:150px;height:150px;}
  .comp-card{grid-template-columns:1fr;}
  .comp-left{position:static;}
  .comp-image img{max-width:220px;}
  .qty-row{justify-content:flex-start;}
  .qty-total{text-align:left;}
  .steps{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .fe-grid{grid-template-columns:1fr;}
  .stat-row{flex-wrap:wrap;gap:20px;}
  .about-grid{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr 1fr;}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
  .reveal{opacity:1 !important;transform:none !important;}
}

.reveal{opacity:0;transform:translateY(14px);animation:rise .7s ease forwards;}
@keyframes rise{to{opacity:1;transform:translateY(0);}}
