
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden;width:100%}
:root{
  --bg:#04070F;--bg2:#080C16;--bg3:#0C1220;
  --gold:#E2B77C;--gold2:#C9963A;
  --gold-dim:rgba(226,183,124,0.12);--gold-glow:rgba(226,183,124,0.32);
  --w:rgba(255,255,255,1);--w60:rgba(255,255,255,0.6);
  --w30:rgba(255,255,255,0.3);--w05:rgba(255,255,255,0.04);
  --bdr:rgba(255,255,255,0.08);--bdr-g:rgba(226,183,124,0.22);
  --r:16px
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--w);font-family:'Inter',sans-serif;line-height:1.6;overflow-x:hidden}
::selection{background:var(--gold);color:#000}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 48px;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
nav.scrolled{background:rgba(4,7,15,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 48px;box-shadow:0 1px 0 var(--bdr-g)}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo img{height:44px;object-fit:contain}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{color:var(--w60);text-decoration:none;font-size:14px;font-weight:500;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.nav-links a:hover{color:var(--w)}
.nav-links a:hover::after{transform:scaleX(1)}

/* ─── NAV DROPDOWN BUTTON (fixed design) ─── */
.nav-reg{position:relative}
.nav-reg-btn{
  display:flex;align-items:center;gap:0;
  background:var(--gold);border-radius:8px;overflow:hidden;
  border:none;cursor:pointer;
}
.nav-reg-main{
  color:#000;padding:10px 20px;
  font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.8px;text-transform:uppercase;text-decoration:none;
  transition:background .3s;white-space:nowrap;display:block;
}
.nav-reg-main:hover{background:rgba(0,0,0,0.08)}
.nav-reg-divider{width:1px;height:36px;background:rgba(0,0,0,0.2);flex-shrink:0}
.nav-reg-arrow{
  color:#000;padding:10px 12px;background:none;border:none;
  font-size:11px;cursor:pointer;transition:background .3s;line-height:1;
}
.nav-reg-arrow:hover{background:rgba(0,0,0,0.08)}
.nav-drop{
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--bg3);border:1px solid var(--bdr-g);border-radius:12px;
  overflow:hidden;min-width:240px;
  opacity:0;pointer-events:none;transform:translateY(-8px);
  transition:all .25s;z-index:100;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.nav-drop.open{opacity:1;pointer-events:all;transform:translateY(0)}
.nav-dd-item{
  display:block;padding:14px 18px;color:var(--w);text-decoration:none;
  font-size:14px;font-weight:500;transition:background .2s;
  border-bottom:1px solid var(--bdr);
}
.nav-dd-item:last-child{border-bottom:none}
.nav-dd-item:hover{background:var(--gold-dim);color:var(--gold)}
.nav-dd-item small{display:block;color:var(--w30);font-size:11px;margin-top:2px}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--w);transition:all .3s;border-radius:2px}

/* ─── MOBILE NAV ─── */
.m-nav{position:fixed;inset:0;z-index:1001;background:rgba(4,7,15,0.97);backdrop-filter:blur(30px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;opacity:0;pointer-events:none;transition:opacity .4s}
.m-nav.open{opacity:1;pointer-events:all}
.m-nav > a{font-family:'Playfair Display',serif;font-size:26px;font-weight:600;color:var(--w);text-decoration:none;transition:color .3s}
.m-nav > a:hover{color:var(--gold)}
.m-nav-div{width:60px;height:1px;background:var(--bdr-g)}
.m-nav-ctas{display:flex;flex-direction:column;gap:10px;width:280px}
.m-close{position:absolute;top:24px;right:32px;font-size:36px;cursor:pointer;background:none;border:none;color:var(--w60)}

/* ─── HERO ─── */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:140px 40px 80px;text-align:center}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);animation:hzoom 20s ease-in-out infinite alternate}
@keyframes hzoom{from{transform:scale(1.06)}to{transform:scale(1.14)}}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,7,15,.55) 0%,rgba(4,7,15,.3) 40%,rgba(4,7,15,.75) 80%,rgba(4,7,15,1) 100%)}
.hero-noise{position:absolute;inset:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px}
.hero-c{position:relative;z-index:2;max-width:960px;margin:0 auto}
.h-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--bdr-g);border-radius:100px;padding:8px 20px;margin-bottom:28px;background:rgba(226,183,124,.06);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(20px);animation:fup .7s .2s forwards}
.h-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.h-logo{margin-bottom:20px;opacity:0;transform:translateY(20px);animation:fup .7s .3s forwards}
.h-logo img{height:90px;object-fit:contain}
.h-title{font-family:'Playfair Display',serif;font-size:clamp(40px,6vw,82px);font-weight:700;line-height:1.05;margin-bottom:20px;opacity:0;transform:translateY(40px);animation:fup .9s .5s forwards}
.h-title em{color:var(--gold);font-style:italic}
.h-sub{font-size:clamp(14px,1.6vw,17px);font-weight:300;color:var(--w60);margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto;opacity:0;transform:translateY(24px);animation:fup .7s .75s forwards}
.h-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px;opacity:0;transform:translateY(20px);animation:fup .7s .9s forwards}
.h-mi{display:flex;align-items:center;gap:8px;background:var(--w05);border:1px solid var(--bdr);border-radius:8px;padding:10px 16px;font-size:13px;color:var(--w60)}
.h-mi strong{color:var(--w);font-weight:600}
.h-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;opacity:0;transform:translateY(20px);animation:fup .7s 1.05s forwards}
@keyframes fup{to{opacity:1;transform:translateY(0)}}

/* ─── BUTTONS ─── */
.btn-p{background:var(--gold);color:#000;border:none;padding:13px 32px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s;position:relative;isolation:isolate;z-index:0;overflow:hidden;display:inline-block;animation:gpulse 3s 2.5s infinite}
.btn-p::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translateX(-100%);transition:transform .6s}
.btn-p > *{position:relative;z-index:1}
.btn-p:hover::before{transform:translateX(100%)}
.btn-p:hover{box-shadow:0 10px 40px rgba(226,183,124,.5);transform:translateY(-2px)}
@keyframes gpulse{0%,100%{box-shadow:0 0 0 0 rgba(226,183,124,.45)}50%{box-shadow:0 0 0 14px rgba(226,183,124,0)}}
.btn-o{background:transparent;color:var(--w);border:1px solid var(--bdr);padding:13px 32px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s;display:inline-block}
.btn-o:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}
.btn-g{background:transparent;color:var(--gold);border:1px solid var(--gold);padding:13px 32px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s;display:inline-block}
.btn-g:hover{background:var(--gold);color:#000;box-shadow:0 8px 28px var(--gold-glow)}

/* ─── COUNTDOWN ─── */
.cd-wrap{position:relative;z-index:2;margin-top:56px;opacity:0;transform:translateY(20px);animation:fup .7s 1.3s forwards}
.cd-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--w30);margin-bottom:14px}
.cd{display:flex;justify-content:center;gap:12px}
.cd-i{text-align:center}
.cd-n{display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:var(--w05);border:1px solid var(--bdr-g);border-radius:12px;backdrop-filter:blur(10px);font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--gold);margin-bottom:7px}
.cd-u{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--w30)}
.cd-sep{font-size:24px;color:var(--gold);opacity:.4;align-self:flex-start;padding-top:18px}

/* ─── MARQUEE ─── */
.mq{overflow:hidden;padding:15px 0;background:var(--gold)}
.mq-track{display:flex;animation:mscroll 28s linear infinite;white-space:nowrap}
.mq:hover .mq-track{animation-play-state:paused}
.mq-item{display:inline-flex;align-items:center;gap:16px;padding:0 26px;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#000}
.mq-dot{width:4px;height:4px;border-radius:50%;background:rgba(0,0,0,.35);flex-shrink:0}
@keyframes mscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── SECTION UTILS ─── */
.sec{padding:110px 48px;max-width:1240px;margin:0 auto}
.sec-full{padding:110px 48px}
.stag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;padding:6px 14px;border:1px solid var(--bdr-g);border-radius:100px}
.stitle{font-family:'Playfair Display',serif;font-size:clamp(30px,4.2vw,58px);font-weight:700;line-height:1.1;margin-bottom:16px}
.stitle em{font-style:italic;color:var(--gold)}
.ssub{font-size:16px;color:var(--w60);max-width:580px;line-height:1.75;margin-bottom:44px}
.tc{text-align:center}.tc .ssub{margin-left:auto;margin-right:auto}

/* ─── REVEAL ─── */
.rv{opacity:0;transform:translateY(48px);transition:opacity .8s,transform .8s}
.rv.on{opacity:1;transform:translateY(0)}
.rl{opacity:0;transform:translateX(-56px);transition:opacity .8s,transform .8s}
.rl.on{opacity:1;transform:translateX(0)}
.rr{opacity:0;transform:translateX(56px);transition:opacity .8s,transform .8s}
.rr.on{opacity:1;transform:translateX(0)}
.d1{transition-delay:.1s!important}.d2{transition-delay:.2s!important}
.d3{transition-delay:.3s!important}.d4{transition-delay:.4s!important}
.d5{transition-delay:.5s!important}.d6{transition-delay:.6s!important}

/* ─── STATS ─── */
.stats-bg{background:var(--bg2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr)}
.stats-g{display:grid;grid-template-columns:repeat(4,1fr);max-width:960px;margin:0 auto;padding:68px 40px}
.si{text-align:center;padding:28px 16px;border-right:1px solid var(--bdr)}
.si:last-child{border-right:none}
.snum{font-family:'Playfair Display',serif;font-size:clamp(42px,5.5vw,72px);font-weight:700;color:var(--gold);line-height:1;margin-bottom:8px;display:block}
.slbl{font-size:11px;color:var(--w30);letter-spacing:2px;text-transform:uppercase}

/* ─── ABOUT ─── */
.about-g{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.a-desc{font-size:15px;color:var(--w60);line-height:1.8;margin-bottom:20px}
.a-feat{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}
.a-fi{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--gold-dim);border:1px solid var(--bdr-g);display:flex;align-items:center;justify-content:center;font-size:16px}
.a-ft h4{font-size:14px;font-weight:600;margin-bottom:3px}
.a-ft p{font-size:13px;color:var(--w60);line-height:1.5}
.gal-g{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
.gal-g .gi:nth-child(1){grid-row:span 2}
.gal-g .gi:nth-child(4){grid-row:span 2}
.gi{border-radius:12px;overflow:hidden;position:relative;background:var(--bg3)}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.gi:hover img{transform:scale(1.08)}
.gi::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(4,7,15,.5) 0%,transparent 55%);opacity:0;transition:opacity .4s}
.gi:hover::after{opacity:1}

/* ─── AUDIENCE ─── */
.aud-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.aud-c{background:var(--w05);border:1px solid var(--bdr);border-radius:var(--r);padding:34px 26px;position:relative;overflow:hidden;transition:all .4s}
.aud-c::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .4s}
.aud-c:hover{border-color:var(--bdr-g);transform:translateY(-8px);box-shadow:0 28px 60px rgba(0,0,0,.4)}
.aud-c:hover::before{transform:scaleX(1)}
.aud-ic{width:50px;height:50px;border-radius:12px;background:var(--gold-dim);border:1px solid var(--bdr-g);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px}
.aud-c h3{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;margin-bottom:9px}
.aud-c p{font-size:14px;color:var(--w60);line-height:1.7}

/* ─── BENEFITS ─── */
.ben-bg{background:var(--bg2)}
.ben-g{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.ben-col h3{font-family:'Playfair Display',serif;font-size:24px;font-weight:600;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--bdr-g)}
.ben-i{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px;padding:11px;border-radius:8px;transition:background .3s}
.ben-i:hover{background:var(--w05)}
.ben-ck{width:18px;height:18px;flex-shrink:0;border-radius:50%;background:var(--gold-dim);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--gold);margin-top:3px}
.ben-i p{font-size:13px;color:var(--w60);line-height:1.5}
.ben-i p strong{color:var(--w);display:block;margin-bottom:1px}

/* ─── TIMELINE ─── */
.tl{position:relative;padding-left:26px}
.tl::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gold),var(--gold),transparent)}
.tl-i{position:relative;padding:0 0 28px 32px;display:flex;gap:16px;align-items:flex-start}
.tl-dot{position:absolute;left:-22px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--bg);box-shadow:0 0 8px var(--gold-glow)}
.tl-time{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.3px;white-space:nowrap;min-width:70px;padding-top:2px}
.tl-c h4{font-size:14px;font-weight:600;margin-bottom:1px}
.tl-c p{font-size:12px;color:var(--w60)}

/* ─── PROCESS ─── */
.proc-g{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.proc-g::before{content:'';position:absolute;top:48px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--bdr-g),var(--bdr-g),transparent);z-index:0}
.proc-c{text-align:center;padding:32px 18px;position:relative;z-index:1;background:var(--bg);border:1px solid var(--bdr);border-radius:var(--r);transition:all .4s}
.proc-c:hover{border-color:var(--bdr-g);box-shadow:0 20px 50px rgba(0,0,0,.3);transform:translateY(-6px)}
.proc-n{font-family:'Playfair Display',serif;font-size:46px;font-weight:700;color:var(--gold);opacity:.3;line-height:1;margin-bottom:8px;display:block}
.proc-c h3{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;margin-bottom:8px;letter-spacing:.5px}
.proc-c p{font-size:12px;color:var(--w60);line-height:1.6}

/* ─── ORGANIZER ─── */
.org-bg{background:var(--bg2)}
.org-g{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.org-lw{margin-bottom:18px}
.org-lw img{height:44px;object-fit:contain}
.org-t p{font-size:15px;color:var(--w60);line-height:1.8;margin-bottom:14px}
.org-t a{color:var(--gold);text-decoration:none}
.org-t a:hover{text-decoration:underline}
/* Visit website link style */
.org-website{display:inline-flex;align-items:center;gap:8px;color:var(--gold);text-decoration:none;font-size:14px;font-weight:600;margin-top:8px;padding:10px 20px;border:1px solid var(--bdr-g);border-radius:8px;transition:all .3s}
.org-website:hover{background:var(--gold-dim)}
/* Image with background */
.org-img-wrap{position:relative;text-align:center;padding:24px}
.org-img-bg{position:absolute;inset:10%;background:linear-gradient(135deg,rgba(226,183,124,0.07),rgba(226,183,124,0.03));border:1px solid var(--bdr-g);border-radius:24px}
.org-img-glow{position:absolute;inset:15%;background:radial-gradient(ellipse,rgba(226,183,124,0.12),transparent 70%);border-radius:50%}
.org-img{position:relative;z-index:2;max-height:440px;object-fit:contain;animation:fbob 6s ease-in-out infinite;filter:drop-shadow(0 20px 50px rgba(0,0,0,.5))}
@keyframes fbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* ─── REG STEPS ─── */
.reg-g{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;position:relative}
.reg-c{background:var(--w05);border:1px solid var(--bdr);border-radius:var(--r);padding:32px 22px;text-align:center;position:relative;z-index:1;transition:all .4s}
.reg-c:hover{border-color:var(--bdr-g);transform:translateY(-6px)}
.reg-b{width:42px;height:42px;border-radius:50%;background:var(--gold);color:#000;font-family:'Playfair Display',serif;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 6px 20px var(--gold-glow)}
.reg-c h3{font-size:15px;font-weight:700;margin-bottom:9px}
.reg-c p{font-size:13px;color:var(--w60);line-height:1.6;margin-bottom:18px}
.reg-note{font-size:11px;color:var(--w30);margin-top:9px;line-height:1.5}
.warn-note{background:rgba(226,183,124,0.07);border:1px solid rgba(226,183,124,0.22);border-radius:8px;padding:11px 14px;margin-top:12px;font-size:12px;color:var(--gold);line-height:1.5;text-align:left}
.warn-note strong{display:block;margin-bottom:3px}

/* ─── CTA ─── */
.cta-sec{position:relative;overflow:hidden;text-align:center;padding:140px 40px}
.cta-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.2)}
.cta-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,7,15,.65),rgba(4,7,15,.35),rgba(4,7,15,.85))}
.cta-c{position:relative;z-index:2}
.cta-t{font-family:'Playfair Display',serif;font-size:clamp(34px,5vw,72px);font-weight:700;line-height:1.1;margin-bottom:18px}
.cta-t em{color:var(--gold);font-style:italic}
.cta-s{font-size:17px;color:var(--w60);margin-bottom:10px}
.cta-h{font-size:15px;color:var(--w60);margin-bottom:36px;font-style:italic}
.cta-urg{display:inline-block;padding:8px 18px;border-radius:100px;background:rgba(226,183,124,.1);border:1px solid var(--bdr-g);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:28px}
.cta-note{font-size:11px;color:var(--w30);margin-top:16px;line-height:1.8}
.cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ─── FAQ ─── */
.faq-list{max-width:800px;margin:0 auto}
.faq-i{border-bottom:1px solid var(--bdr);overflow:hidden}
.faq-q{width:100%;text-align:left;padding:20px 0;background:none;border:none;cursor:pointer;color:var(--w);font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color .3s}
.faq-q:hover{color:var(--gold)}
.faq-ic{width:24px;height:24px;flex-shrink:0;border-radius:50%;border:1px solid var(--bdr-g);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:17px;transition:transform .3s,background .3s;line-height:1}
.faq-i.open .faq-ic{transform:rotate(45deg);background:var(--gold-dim)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;font-size:14px;color:var(--w60);line-height:1.8}
.faq-i.open .faq-a{max-height:240px;padding-bottom:20px}

/* ─── FOOTER ─── */
footer{background:var(--bg);border-top:1px solid var(--bdr);padding:60px 48px 0}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;max-width:1240px;margin:0 auto;padding-bottom:52px}
.ft-brand p{font-size:13px;color:var(--w60);line-height:1.8;margin-top:10px;max-width:260px}
.ft-brand img{height:40px;object-fit:contain}
.ft-emails{margin-top:12px;display:flex;flex-direction:column;gap:4px}
.ft-emails a{font-size:12px;color:var(--w30);text-decoration:none;transition:color .3s}
.ft-emails a:hover{color:var(--gold)}
.ft-phone{font-size:12px;color:var(--w30);margin-top:4px}
.ft-col h4{font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ft-col ul{list-style:none}
.ft-col ul li{margin-bottom:8px}
.ft-col ul a{color:var(--w60);text-decoration:none;font-size:13px;transition:color .3s}
.ft-col ul a:hover{color:var(--w)}
.ft-bot{border-top:1px solid var(--bdr);padding:16px 0;max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--w30)}

/* ─── AMBIENT ─── */
.amb{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.orb{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(226,183,124,.05),transparent 70%)}
.o1{width:700px;height:700px;top:-250px;right:-200px;animation:of1 22s ease-in-out infinite}
.o2{width:500px;height:500px;bottom:10%;left:-150px;animation:of2 28s ease-in-out infinite}
@keyframes of1{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,50px)}}
@keyframes of2{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-40px)}}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .about-g,.ben-g,.org-g{grid-template-columns:1fr}
  .proc-g{grid-template-columns:repeat(2,1fr)}
  .proc-g::before{display:none}
  .stats-g{grid-template-columns:repeat(2,1fr)}
  .si:nth-child(2){border-right:none}
  .ft-g{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links,.nav-reg{display:none}
  .hamburger{display:flex}
  nav{padding:16px 20px}
  nav.scrolled{padding:12px 20px}
  .sec,.sec-full{padding:68px 20px}
  .hero{padding:100px 20px 56px}
  .aud-g,.reg-g{grid-template-columns:1fr}
  .stats-g{grid-template-columns:repeat(2,1fr)}
  .proc-g{grid-template-columns:1fr}
  .cd-n{width:58px;height:58px;font-size:24px}
  .gal-g{grid-template-columns:repeat(2,1fr)}
  .ft-g{grid-template-columns:1fr;gap:24px}
  .ft-bot{flex-direction:column;gap:6px;text-align:center}
  .cta-btns{flex-direction:column;align-items:center}
  .h-ctas{flex-direction:column;align-items:center}
}

/* ═══════════════════════════════════════════════
   PITCHING PAYMENT MODAL
═══════════════════════════════════════════════ */
.ct-modal-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(2,4,9,0.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  align-items:center;justify-content:center;padding:24px;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.ct-modal-overlay.open{display:flex !important;opacity:1;pointer-events:all}
.ct-modal{
  background:linear-gradient(180deg,var(--bg2),var(--bg));
  border:1px solid var(--bdr-g);border-radius:20px;
  width:100%;max-width:560px !important;max-height:90vh;overflow-y:auto;
  margin:auto;position:relative;flex:0 1 auto;
  box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 60px rgba(226,183,124,0.06);
  transform:translateY(30px) scale(.97);transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.ct-modal-overlay.open .ct-modal{transform:translateY(0) scale(1)}
.ct-modal::-webkit-scrollbar{width:6px}
.ct-modal::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
.ct-modal-close{
  position:absolute;top:16px;right:18px;z-index:5;
  width:36px;height:36px;border-radius:50%;
  background:var(--w05);border:1px solid var(--bdr);color:var(--w60);
  font-size:24px;line-height:1;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;justify-content:center;
}
.ct-modal-close:hover{background:var(--gold-dim);border-color:var(--bdr-g);color:var(--gold);transform:rotate(90deg)}
.ct-modal-head{padding:36px 36px 20px;text-align:center;border-bottom:1px solid var(--bdr)}
.ct-modal-title{font-family:'Playfair Display',serif;font-size:clamp(24px,4vw,34px);font-weight:700;line-height:1.15;margin:12px 0 10px}
.ct-modal-title em{font-style:italic;color:var(--gold)}
.ct-modal-sub{font-size:14px;color:var(--w60);max-width:400px;margin:0 auto;line-height:1.6}
.ct-modal-body{padding:24px 36px}
.ct-opt-group{margin-bottom:26px}
.ct-opt-label{font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}

/* Base option row */
.ct-opt{
  display:flex;align-items:center;gap:14px;
  background:var(--w05);border:1px solid var(--bdr);border-radius:12px;
  padding:16px 18px;margin-bottom:12px;cursor:pointer;transition:all .25s;position:relative;
}
.ct-opt:hover{border-color:var(--bdr-g)}
.ct-opt-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.ct-opt-name{font-size:15px;font-weight:600;color:var(--w);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ct-opt-desc{font-size:12px;color:var(--w60);line-height:1.45}
.ct-opt-price{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;color:var(--gold);white-space:nowrap;flex-shrink:0}
.ct-opt-price small{font-size:11px;color:var(--w30);font-weight:500}
.ct-badge{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#000;background:var(--gold);padding:3px 8px;border-radius:100px}

/* Radio */
.ct-opt-radio input{position:absolute;opacity:0}
.ct-opt-radiomark{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:2px solid var(--bdr-g);position:relative;transition:all .25s}
.ct-opt-radio input:checked ~ .ct-opt-radiomark{border-color:var(--gold)}
.ct-opt-radio input:checked ~ .ct-opt-radiomark::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--gold)}
.ct-opt-radio input:checked ~ .ct-opt-info .ct-opt-name{color:var(--gold)}
.ct-opt-radio:has(input:checked){border-color:var(--gold);background:var(--gold-dim)}
.ct-opt-featured{border-color:var(--bdr-g)}

/* Checkbox */
.ct-opt-check input{position:absolute;opacity:0}
.ct-opt-checkmark{width:20px;height:20px;flex-shrink:0;border-radius:6px;border:2px solid var(--bdr-g);display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;transition:all .25s}
.ct-opt-check input:checked ~ .ct-opt-checkmark{background:var(--gold);border-color:var(--gold);color:#000}
.ct-opt-check:has(input:checked){border-color:var(--gold);background:var(--gold-dim)}

/* Qty stepper */
.ct-opt-qty{cursor:default}
.ct-opt-right{display:flex;align-items:center;gap:16px;flex-shrink:0}
.ct-qty{display:flex;align-items:center;gap:0;border:1px solid var(--bdr-g);border-radius:8px;overflow:hidden}
.ct-qty-btn{width:30px;height:30px;background:var(--w05);border:none;color:var(--gold);font-size:16px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}
.ct-qty-btn:hover{background:var(--gold-dim)}
.ct-qty-val{width:34px;height:30px;text-align:center;background:transparent;border:none;color:var(--w);font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;border-left:1px solid var(--bdr);border-right:1px solid var(--bdr)}

/* Footer */
.ct-modal-foot{padding:22px 36px 30px;border-top:1px solid var(--bdr);position:sticky;bottom:0;background:linear-gradient(180deg,rgba(8,12,22,0.6),var(--bg));backdrop-filter:blur(10px)}
.ct-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ct-total-label{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--w60)}
.ct-total-amount{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:var(--gold)}
.ct-checkout-btn{width:100%;text-align:center;border:none;cursor:pointer;font-size:15px;padding:16px}
.ct-checkout-btn:disabled{opacity:.6;cursor:not-allowed}
.ct-modal-note{font-size:11px;color:var(--w30);text-align:center;margin-top:14px;line-height:1.5}

@media(max-width:600px){
  .ct-modal-head{padding:28px 22px 18px}
  .ct-modal-body{padding:20px 22px}
  .ct-modal-foot{padding:18px 22px 24px}
  .ct-opt{flex-wrap:wrap}
  .ct-opt-qty .ct-opt-right{width:100%;justify-content:space-between;margin-top:8px}
}

/* ═══════════════════════════════════════════════
   PAGE SHELL (Cart / Checkout / My Account / pages)
═══════════════════════════════════════════════ */
.ct-page-main{min-height:70vh;padding:140px 24px 90px;background:var(--bg)}
.ct-page-wrap{max-width:1180px;margin:0 auto}
.ct-page-title{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,44px);font-weight:700;margin-bottom:32px;color:var(--w)}
.ct-page-title em{color:var(--gold);font-style:italic}
.ct-page-content{color:var(--w60);line-height:1.7}
.ct-page-content a{color:var(--gold)}

/* ═══════════════════════════════════════════════
   WOOCOMMERCE — HEADINGS & TEXT (both classic + blocks)
═══════════════════════════════════════════════ */
.woocommerce h1,.woocommerce h2,.woocommerce h3,
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.wc-block-checkout__main-title{
  color:var(--w) !important;font-family:'Playfair Display',serif !important;
}
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content{
  color:var(--w60) !important;
}

/* ═══════════════════════════════════════════════
   WOOCOMMERCE BLOCK CHECKOUT — FORM FIELDS
   Static labels ABOVE each field (no floating-label state machine
   to fight) + dark themed inputs matching the brand.
═══════════════════════════════════════════════ */

/* Wrapper: stack label above input, own spacing */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-select{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  margin-top:0 !important;
  margin-bottom:18px !important;
}

/* Kill WooCommerce's built-in floating/absolute label behavior entirely */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label{
  position:static !important;
  display:block !important;
  transform:none !important;
  top:auto !important;
  left:auto !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:normal !important;
  pointer-events:none;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.3px;
  color:var(--w60) !important;
  margin-bottom:7px !important;
  order:-1; /* label renders first, above the input, regardless of DOM order */
}

/* The input/select boxes — dark themed */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-select select,
.wc-block-components-combobox input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-textarea{
  background:var(--bg3) !important;
  color:var(--w) !important;
  border:1px solid var(--bdr) !important;
  border-radius:8px !important;
  padding:13px 14px !important;
  height:auto !important;
  min-height:48px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus{
  border-color:var(--gold) !important;
  box-shadow:0 0 0 2px rgba(226,183,124,0.25) !important;
  outline:none !important;
}

/* Placeholder text inside inputs */
.wc-block-components-text-input input::placeholder,
.wc-block-components-textarea::placeholder{color:var(--w30) !important;opacity:1 !important}

/* Select arrow / combobox icon visible on dark bg */
.wc-block-components-select select{
  color-scheme:dark;
}
.wc-block-components-combobox svg,
.wc-block-components-select svg{
  fill:var(--w60) !important;
}

/* ═══════════════════════════════════════════════
   CLASSIC CHECKOUT fallback fields — same dark treatment
═══════════════════════════════════════════════ */
.woocommerce form .form-row{margin-bottom:16px !important}
.woocommerce form .form-row label{
  display:block !important;color:var(--w60) !important;
  font-size:12px !important;font-weight:600 !important;margin-bottom:6px !important;
}
.woocommerce-checkout label{color:var(--w60) !important}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  background:var(--bg3) !important;color:var(--w) !important;
  border:1px solid var(--bdr) !important;border-radius:8px !important;padding:13px 14px !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
  border-color:var(--gold) !important;
  box-shadow:0 0 0 2px rgba(226,183,124,0.25) !important;
  outline:none !important;
}
.woocommerce-checkout input::placeholder{color:var(--w30) !important}

/* ═══════════════════════════════════════════════
   ORDER SUMMARY (right side)
═══════════════════════════════════════════════ */
.wc-block-components-order-summary-item__name,
.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price{
  color:var(--w) !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description{
  color:var(--w60) !important;
}
.wc-block-components-totals-item{color:var(--w60) !important}
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-totals-wrapper{
  border-color:var(--bdr) !important;
}

/* HIDE product image placeholders in summary */
.wc-block-components-order-summary-item__image,
.wc-block-cart-item__image,
img.woocommerce-placeholder,
.woocommerce-checkout .cart_item .product-thumbnail{display:none !important}
.wc-block-components-order-summary-item{grid-template-columns:1fr auto !important}

/* ═══════════════════════════════════════════════
   COUPON / PANELS / NOTES
═══════════════════════════════════════════════ */
.wc-block-components-panel__button,
.wc-block-components-totals-coupon__button-text,
.wc-block-components-totals-coupon-link{color:var(--gold) !important}
.wc-block-components-totals-coupon__input input{
  background:var(--bg3) !important;color:var(--w) !important;border:1px solid var(--bdr) !important;border-radius:8px !important;
}

/* ═══════════════════════════════════════════════
   PAYMENT METHOD AREA
═══════════════════════════════════════════════ */
.wc-block-components-radio-control__label,
.wc-block-components-payment-method-label,
.wp-block-woocommerce-checkout-payment-block label,
.wc-block-checkout__payment-method label{color:var(--w) !important}
.wc-block-components-radio-control__option{
  background:var(--w05) !important;border:1px solid var(--bdr) !important;border-radius:8px;
}
.wc-block-components-radio-control__option-checked{
  border-color:var(--gold) !important;background:var(--gold-dim) !important;
}

/* ═══════════════════════════════════════════════
   ALL WOOCOMMERCE BUTTONS — BRAND GOLD
═══════════════════════════════════════════════ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-components-button,
.wc-block-components-button.contained,
.wp-block-woocommerce-checkout-actions-block button,
button.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon button{
  background:var(--gold) !important;
  color:#000 !important;
  border:none !important;
  border-radius:8px !important;
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  transition:all .3s !important;
  box-shadow:none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover,
.wc-block-components-button:hover,
button.wc-block-components-checkout-place-order-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:#d4a96a !important;
  box-shadow:0 8px 30px var(--gold-glow) !important;
  transform:translateY(-2px) !important;
}
.wc-block-components-button__text{color:#000 !important}

/* Place Order button — big & full width */
button.wc-block-components-checkout-place-order-button,
.woocommerce #place_order{
  width:100% !important;padding:18px !important;font-size:15px !important;
}

/* ═══════════════════════════════════════════════
   NOTICES / MESSAGES
═══════════════════════════════════════════════ */
.woocommerce-info,.woocommerce-message,
.wc-block-components-notice-banner{
  background:var(--bg3) !important;border-top:3px solid var(--gold) !important;color:var(--w60) !important;
}
.woocommerce-error{background:var(--bg3) !important;border-top:3px solid #e05252 !important;color:var(--w60) !important}

/* Tables (classic cart) */
.woocommerce table.shop_table{background:var(--w05) !important;border:1px solid var(--bdr) !important;border-radius:12px;color:var(--w60)}
.woocommerce table.shop_table th{color:var(--w)}
.woocommerce table.shop_table td{border-top:1px solid var(--bdr) !important}
.woocommerce .cart_totals h2{color:var(--w)}
.woocommerce .quantity input.qty{background:var(--bg3) !important;color:var(--w) !important;border:1px solid var(--bdr) !important;border-radius:6px}

/* Select2 dropdowns — dark themed */
.select2-container--default .select2-selection--single{background:var(--bg3) !important;border:1px solid var(--bdr) !important;border-radius:8px !important;height:auto !important;padding:8px !important}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--w) !important}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--w60) transparent transparent transparent !important}
.select2-dropdown{background:var(--bg3) !important;border:1px solid var(--bdr) !important}
.select2-search--dropdown .select2-search__field{background:var(--bg2) !important;color:var(--w) !important;border:1px solid var(--bdr) !important}
.select2-results__option{color:var(--w60) !important}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--gold) !important;color:#000 !important}

/* Networking modal hint */
.ct-opt-hint{font-size:12px;color:var(--w30);margin-top:10px;text-align:center;font-style:italic}

/* Stall modal — fixed/included package row */
.ct-opt-fixed{cursor:default;border-color:var(--gold);background:var(--gold-dim)}

/* ═══════════════════════════════════════════════
   REGISTRATION CARD — PRICE LISTS
═══════════════════════════════════════════════ */
.reg-pricelist{
  margin-top:16px;text-align:left;
  border-top:1px solid var(--bdr);padding-top:14px;
}
.reg-price-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding:7px 0;font-size:13px;color:var(--w60);
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.reg-price-row:last-child{border-bottom:none}
.reg-price-row span:first-child{flex:1}
.reg-price-row em{color:var(--gold);font-style:normal;font-size:11px;font-weight:600}
.reg-price-featured{color:var(--w);font-weight:600}
.reg-price-featured .reg-price-amt{color:var(--gold)}
.reg-price-amt{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;
  color:var(--w);white-space:nowrap;flex-shrink:0;
}
.reg-price-amt small{font-size:10px;color:var(--w30);font-weight:500}
.reg-price-sub{
  font-size:11px;color:var(--w30);line-height:1.4;
  padding:2px 0 8px;font-style:italic;
}

/* Modal — important clarification box */
.ct-clarify{
  background:rgba(226,183,124,0.06);
  border:1px solid rgba(226,183,124,0.2);
  border-radius:10px;padding:14px 16px;margin-top:14px;
  font-size:12px;color:var(--w60);line-height:1.6;
}
.ct-clarify strong{display:block;color:var(--gold);margin-bottom:6px;font-size:12px}

/* ═══════════════════════════════════════════════
   MOBILE — HORIZONTAL OVERFLOW FIX
   Prevents any element from causing sideways scroll on phones
═══════════════════════════════════════════════ */
html, body{
  max-width:100vw;
  overflow-x:hidden;
}

/* Text elements: wrap long words instead of forcing width */
h1,h2,h3,h4,p,span,a,div{
  overflow-wrap:break-word;
  word-wrap:break-word;
}

/* Hero: keep content strictly within viewport */
.hero, .hero-c{max-width:100vw}
.hero-bg{width:100%}

/* Sections & wrappers must never exceed viewport width */
.sec,.sec-full,.about-g,.ben-g,.org-g,.reg-g,.aud-g,.proc-g,.stats-g,
.gal-g,.h-meta,.h-ctas,.cta-btns,.tl,.faq-list,.ft-g{
  max-width:100%;
}

/* Fixed / absolutely positioned decorative layers must not force width */
.amb,.orb,.hero-noise,.hero-ov,.hero-bg,.cta-bg-img,.cta-ov{
  max-width:100vw;
}

/* Marquee: container clips, track itself is allowed to be wide (by design) */
.mq{max-width:100vw;overflow:hidden}

/* Modal: never wider than viewport (with side gutter) but cap at 560px */
.ct-modal-overlay{max-width:100vw}
.ct-modal{max-width:min(560px, calc(100vw - 32px)) !important}

@media (max-width:768px){
  /* Hero title: smaller clamp floor so long words never force overflow */
  .h-title{font-size:clamp(32px,9vw,54px);word-break:break-word}
  .cta-t{font-size:clamp(28px,8vw,44px);word-break:break-word}

  /* Meta pills / countdown row: allow wrapping, never force single line width */
  .h-meta,.h-ctas,.cta-btns{
    flex-wrap:wrap;
    justify-content:center;
    max-width:100%;
  }
  .h-mi{white-space:normal}

  /* Countdown numbers: shrink and wrap on very small screens */
  .cd{flex-wrap:wrap;justify-content:center;gap:8px}
  .cd-n{width:54px;height:54px;font-size:20px}
  .cd-sep{padding-top:14px}

  /* Grids: force single column, no min-width overflow */
  .about-g,.ben-g,.org-g,.reg-g,.aud-g,.stats-g,.proc-g,.gal-g,.sched-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .stats-g .si{border-right:none !important;border-bottom:1px solid var(--bdr)}
  .stats-g .si:last-child{border-bottom:none}

  /* Footer grid already 1fr at 768 — ensure no overflow from long links/emails */
  .ft-emails a,.ft-brand p{word-break:break-word}

  /* Nav: prevent logo/text from pushing hamburger off-screen */
  .nav-logo img{max-width:140px;height:auto}
  nav{gap:8px}

  /* Modal option rows: allow wrap instead of overflow */
  .ct-opt{flex-wrap:wrap}
  .ct-opt-price{margin-left:auto}

  /* Org image wrap / gallery: cap width */
  .org-img-wrap,.gal-g .gi{max-width:100%}
}

@media (max-width:400px){
  .h-title{font-size:clamp(28px,10vw,40px)}
  .stitle{font-size:clamp(24px,8vw,32px)}
  .cd-n{width:48px;height:48px;font-size:18px}
}

/* ═══════════════════════════════════════════════
   AUTOFILL FIX — Chrome/Safari force their own bg color
   on autofilled fields, ignoring normal CSS. Override via
   the long-transition-delay box-shadow trick.
═══════════════════════════════════════════════ */
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input input:-webkit-autofill:hover,
.wc-block-components-text-input input:-webkit-autofill:focus,
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--w) !important;
  -webkit-box-shadow:0 0 0 1000px var(--bg3) inset !important;
  box-shadow:0 0 0 1000px var(--bg3) inset !important;
  caret-color:var(--w);
  transition:background-color 9999s ease-in-out 0s;
}

/* ═══════════════════════════════════════════════
   GRID/FLEX MIN-WIDTH OVERFLOW FIX
   By default, grid & flex items have min-width:auto, which means
   they refuse to shrink below their CONTENT's intrinsic size
   (e.g. an image's natural width, or a long unbroken line).
   This silently forces the whole row/section wider than the
   viewport even when grid-template-columns is 1fr.
   min-width:0 lets items actually shrink to fit their container.
═══════════════════════════════════════════════ */
.about-g > *,.ben-g > *,.org-g > *,.reg-g > *,.aud-g > *,
.stats-g > *,.proc-g > *,.gal-g > *,.sched-grid > *,
.h-meta > *,.h-ctas > *,.cta-btns > *,.tl-i,.tl-i > *{
  min-width:0;
}

/* Organizer image: hard-cap width so it can never exceed its column,
   regardless of the image's natural pixel dimensions */
.org-img-wrap{width:100%;max-width:100%}
.org-img{max-width:100%;width:auto;height:auto;max-height:400px}
.org-img-bg,.org-img-glow{max-width:100%}

/* Timeline row: allow the label to wrap under the time on narrow phones
   instead of forcing the row wider than the viewport */
@media (max-width:480px){
  .tl-i{flex-wrap:wrap;gap:8px 16px}
  .tl-time{min-width:0}
  .tl-c{flex:1 1 100%}
}

/* Schedule grid: extra safety at tablet/phone widths (inline style base
   is 1fr 1fr — this guarantees the collapse regardless of load order) */
@media (max-width:768px){
  .sched-grid{grid-template-columns:1fr !important;gap:32px !important}
}

/* ═══════════════════════════════════════════════
   REGISTRATION — STEP 1 SCREENING APPLY BOX (full width)
═══════════════════════════════════════════════ */
.reg-apply{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  background:linear-gradient(135deg,rgba(226,183,124,0.08),rgba(226,183,124,0.03));
  border:1px solid var(--bdr-g);border-radius:var(--r);
  padding:32px 36px;margin-bottom:36px;position:relative;overflow:hidden;
}
.reg-apply::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
  background:linear-gradient(to bottom,transparent,var(--gold),transparent);
}
.reg-apply-left{flex:1;min-width:0}
.reg-apply-badge{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px;
  padding:4px 12px;border:1px solid var(--bdr-g);border-radius:100px;
}
.reg-apply-title{
  font-family:'Playfair Display',serif;font-size:clamp(20px,2.6vw,28px);
  font-weight:700;margin-bottom:10px;color:var(--w);
}
.reg-apply-desc{font-size:14px;color:var(--w60);line-height:1.7;max-width:640px}
.reg-apply-right{
  flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;
}
.reg-apply-note{font-size:11px;color:var(--w30);text-align:center;line-height:1.4}

/* Step 2 label above the pricing grid */
.reg-passes-label{
  font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold);text-align:center;margin-bottom:24px;
  opacity:.85;
}

@media (max-width:768px){
  .reg-apply{flex-direction:column;align-items:stretch;text-align:center;padding:28px 22px;gap:22px}
  .reg-apply-badge{align-self:center}
  .reg-apply-desc{margin:0 auto}
  .reg-apply-right{width:100%}
  .reg-apply-right .btn-p{width:100%;white-space:normal !important}
}

/* ═══════════════════════════════════════════════
   v3.1.0 — CLIENT CHANGES (Oct 2026)
═══════════════════════════════════════════════ */

/* Stats: 3 items (CA / Industry Experts removed) */
.stats-g.stats-3{grid-template-columns:repeat(3,1fr);max-width:820px}
@media(max-width:1024px){
  .stats-g.stats-3{grid-template-columns:repeat(3,1fr)}
  .stats-g.stats-3 .si:nth-child(2){border-right:1px solid var(--bdr)}
}

/* Navbar: "Register" current page + "Apply ▾" button (whole button opens menu) */
.nav-links a.is-current{color:var(--gold)}
button.nav-apply{padding:0;font:inherit;color:#000;appearance:none;-webkit-appearance:none}
button.nav-apply .nav-reg-main,button.nav-apply .nav-reg-arrow{display:block;pointer-events:none}
button.nav-apply:hover{box-shadow:0 0 24px var(--gold-glow)}
button.nav-apply:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nav-drop{min-width:270px}

/* Mobile menu: 4 apply buttons */
.m-nav{overflow-y:auto;padding:70px 20px 30px}
.m-nav-label{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.m-nav-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(340px,100%)}
.m-nav .m-nav-ctas a{font-family:'Space Grotesk',sans-serif;font-size:12px;padding:12px 10px;text-align:center;letter-spacing:.4px}
.m-nav .m-nav-ctas a:first-child{grid-column:1 / -1}
@media(max-height:640px){.m-nav{justify-content:flex-start;gap:14px}.m-nav > a{font-size:22px}}

/* Separate /register/ page */
.ct-register-page{padding-top:40px;min-height:70vh}
.reg-coupon-hint{text-align:center;font-size:12px;color:var(--w30);margin-top:26px}

/* Footer ribbon: full width edge-to-edge, slower now that the track is longer */
.ft-mq{margin:0 -48px}
.mq-track{animation-duration:56s}
@media(max-width:768px){footer{padding-left:20px;padding-right:20px}.ft-mq{margin:0 -20px}}

/* ─── PREVIOUS EVENTS ─── */
.pe-sec{padding-top:40px}
.pe-stats{display:flex;justify-content:center;gap:0;max-width:640px;margin:0 auto 44px;border:1px solid var(--bdr-g);border-radius:14px;background:var(--gold-dim);overflow:hidden}
.pe-stats > div{flex:1;text-align:center;padding:18px 12px;border-right:1px solid var(--bdr-g)}
.pe-stats > div:last-child{border-right:none}
.pe-stats strong{display:block;font-family:'Playfair Display',serif;font-size:30px;color:var(--gold);line-height:1.1}
.pe-stats span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--w60)}
.pe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pe-card{background:var(--w05);border:1px solid var(--bdr);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s,border-color .4s,box-shadow .4s;min-width:0}
.pe-card:hover{transform:translateY(-6px);border-color:var(--bdr-g);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.pe-img{aspect-ratio:4/3;overflow:hidden;background:var(--bg3)}
.pe-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.pe-card:hover .pe-img img{transform:scale(1.06)}
.pe-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px}
.pe-meta{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);line-height:1.5}
.pe-body h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:600;line-height:1.3;color:var(--w)}
.pe-body p{font-size:13px;color:var(--w60);line-height:1.6}
.pe-more{margin-top:40px}
.pe-more-label{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:18px}
.pe-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pe-li{border-left:2px solid var(--gold);background:var(--w05);border-radius:0 10px 10px 0;padding:12px 16px;min-width:0}
.pe-li strong{display:block;font-size:14px;color:var(--w);margin-bottom:4px;font-weight:600}
.pe-li span{font-size:12px;color:var(--w60);line-height:1.5}
@media(max-width:1024px){.pe-grid{grid-template-columns:repeat(2,1fr)}.pe-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
  .pe-grid,.pe-list{grid-template-columns:1fr}
  .pe-stats strong{font-size:24px}
  .pe-stats span{font-size:10px;letter-spacing:1px}
}

/* ─── COUPON BOX IN PASS POPUPS ─── */
.ct-coupon{margin-top:4px;padding:16px 18px;border:1px dashed var(--bdr-g);border-radius:12px;background:rgba(226,183,124,.04)}
.ct-coupon-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.ct-coupon-in{width:100%;background:var(--bg) !important;color:var(--w) !important;border:1px solid var(--bdr) !important;border-radius:8px;padding:11px 14px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.ct-coupon-in::placeholder{text-transform:none;letter-spacing:0;font-weight:400;color:var(--w30)}
.ct-coupon-in:focus{outline:none;border-color:var(--gold) !important;box-shadow:0 0 0 2px rgba(226,183,124,.25)}
.ct-coupon-note{display:block;font-size:11px;color:var(--w30);margin-top:7px}

/* ═══ v3.1.1 — client changes (Oct 2026) ═══ */
.stats-g.stats-4{grid-template-columns:repeat(4,1fr);max-width:1100px}
.stats-4 .slbl{display:block;line-height:1.5;max-width:220px;margin:0 auto}
@media(max-width:1024px){.stats-g.stats-4{grid-template-columns:repeat(2,1fr)}}
.ct-anchor-alias{position:relative;display:block;height:0;width:0;overflow:hidden}
#how-it-works,#process{scroll-margin-top:80px}
@media(max-width:768px){
  .stats-g.stats-4{grid-template-columns:repeat(2,1fr) !important;gap:0 !important;padding:40px 16px}
  .stats-g.stats-4 .si{padding:22px 8px;border-bottom:1px solid var(--bdr)}
  .stats-g.stats-4 .si:nth-child(odd){border-right:1px solid var(--bdr) !important}
  .stats-g.stats-4 .si:nth-last-child(-n+2){border-bottom:none}
  .stats-4 .snum{font-size:42px}
  .stats-4 .slbl{font-size:10px;letter-spacing:1.4px}
}
