:root {
  --navy:   #0B1E30;
  --navy2:  #102840;
  --navy3:  #163652;
  --navy4:  #1C4468;
  --green:  #1A7A4A;
  --green2: #22A060;
  --green3: #2ECC82;
  --grey:   #243040;
  --white:  #FFFFFF;
  --cream:  #F0F5F1;
  --text:   #D8E8F0;
  --muted:  #7A9BB5;
  --border: rgba(46,204,130,0.15);
  --card:   rgba(16,40,64,0.9);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--navy);
  color:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ── NOISE TEXTURE OVERLAY ── */
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:0;opacity:0.4;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;
  height:72px;
  background:#FFFFFF;
  border-bottom:3px solid var(--green);
  box-shadow:0 2px 24px rgba(0,0,0,0.18);
}
.nav-logo{height:52px;width:auto;display:block;}
.nav-home{display:inline-flex;align-items:center;line-height:0;text-decoration:none;cursor:pointer;border-radius:6px;transition:opacity .15s;}
.nav-home:hover{opacity:0.85;}
.nav-home:focus-visible{outline:2px solid var(--green3);outline-offset:3px;}
.nav-right{display:flex;align-items:center;gap:16px;}
.nav-counter{
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:13px;font-weight:700;
  color:var(--green);
  background:rgba(26,122,74,0.08);
  border:1px solid rgba(26,122,74,0.25);
  border-radius:100px;
  padding:6px 14px;
  display:flex;align-items:center;gap:6px;
}
.nav-counter-dot{width:7px;height:7px;background:var(--green3);border-radius:50%;animation:pulse 2s infinite;}
.nav-btn{
  background:var(--green);color:#fff;
  padding:10px 22px;border-radius:8px;
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:14px;font-weight:800;
  text-decoration:none;transition:background .2s,transform .15s;
  white-space:nowrap;
}

/* Language switcher */
.lang-switch{display:inline-flex;gap:4px;align-items:center;}
.lang-btn{
  background:transparent;
  border:1px solid rgba(255,255,255,0.12);
  color:var(--muted);
  padding:5px 9px;border-radius:6px;
  font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:0.03em;
  cursor:pointer;transition:all .2s;
}
.lang-btn:hover{color:var(--text);border-color:rgba(255,255,255,0.25);}
.lang-btn.active{background:var(--green);color:#fff;border-color:var(--green);}

/* Mobile language dropdown: replaces the 3 lang-btns on phones so the nav
   doesn't overflow with logo + 3 buttons + counter + Register Free CTA. */
.lang-select{
  display:none;
  background:#fff;
  border:1px solid rgba(0,0,0,0.15);
  color:#0B1E30;
  padding:6px 24px 6px 8px;
  border-radius:6px;
  font-family:'DM Sans',sans-serif;
  font-size:12px;font-weight:700;
  cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%230B1E30' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat:no-repeat;
  background-position:right 8px center;
}
.lang-select option{background:#fff;color:#0B1E30;}
@media (max-width:720px){
  nav{padding:0 14px;}
  .nav-right{gap:10px;}
  .lang-switch{display:none;}
  .lang-select{display:inline-block;}
  .nav-counter{display:none;}
  .nav-btn{padding:8px 14px;font-size:13px;}
  .nav-logo{height:44px;}
}

/* RTL adjustments */
html[dir="rtl"] body{direction:rtl;text-align:right;}
html[dir="rtl"] .nav-counter,html[dir="rtl"] .nav-right,html[dir="rtl"] .countdown,html[dir="rtl"] .pills,html[dir="rtl"] .referral-actions,html[dir="rtl"] .form-row{direction:rtl;}
html[dir="rtl"] .feat-card{border-left:none;border-right:3px solid var(--green);}
html[dir="rtl"] .feat-card:hover{border-right-color:var(--green3);}
html[dir="rtl"] em{font-style:normal;color:var(--green3);}
.nav-btn:hover{background:var(--green2);transform:translateY(-1px);}

/* ── TOP STATS BAR ── */
.stats-bar{
  background:linear-gradient(90deg, rgba(11,30,48,0.95) 0%, rgba(16,40,64,0.95) 100%);
  border-bottom:1px solid rgba(46,204,130,0.18);
  padding:10px 5%;
}
.stats-bar-inner{
  max-width:1200px;margin:0 auto;
  display:flex;flex-wrap:wrap;justify-content:space-around;gap:14px;align-items:center;
}
.stat-item{display:inline-flex;align-items:baseline;gap:8px;font-size:13px;}
.stat-num{
  font-family:'Cabinet Grotesk',sans-serif;
  font-weight:800;color:#fff;font-size:15px;
}
.stat-lbl{color:var(--muted);font-size:12.5px;}
@media (max-width:720px){
  .stat-item{font-size:12px;}
  .stat-lbl{display:none;}
  .stat-num{font-size:14px;}
}

/* ── HERO ── */
.hero{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:36px 5% 0;
  position:relative;overflow:hidden;
  background:linear-gradient(160deg, #07111C 0%, #0B1E30 40%, #102840 100%);
}
/* First section after hero: tight top so How It Works sits right against
   the hero's grid backdrop. */
.hero + .section{padding-top:18px;}

/* Register page hero: no stats-bar above it, so reserve room for the
   fixed nav (72px tall) and keep generous breathing room above the
   countdown so the green label isn't masked by the white nav. */
.hero.hero--register{padding:96px 5% 24px;}
/* Geometric grid lines */
.hero::before{
  content:'';
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(46,204,130,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,204,130,0.04) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}
/* Green glow */
.hero::after{
  content:'';
  position:absolute;
  width:700px;height:700px;
  background:radial-gradient(circle, rgba(26,122,74,0.12) 0%, transparent 65%);
  top:50%;left:50%;transform:translate(-50%,-55%);
  pointer-events:none;
}

.hero-inner{position:relative;z-index:2;max-width:820px;width:100%;text-align:center;}

/* Countdown */
.countdown-wrap{margin-bottom:18px;}
.countdown-label{
  font-family:'DM Sans',sans-serif;
  font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--green3);font-weight:500;margin-bottom:14px;
}
.countdown{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.countdown-unit{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px 20px;
  min-width:80px;text-align:center;
  backdrop-filter:blur(10px);
}
.countdown-num{
  font-family:'Clash Display',sans-serif;
  font-size:1.8rem;font-weight:700;
  color:#fff;line-height:1;display:block;
}
.countdown-sep{
  font-family:'Clash Display',sans-serif;
  font-size:1.8rem;color:var(--green3);
  display:flex;align-items:center;padding-top:4px;
}
.countdown-unit-label{font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:0.06em;text-transform:uppercase;}

/* Badge */
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(46,204,130,0.08);
  border:1px solid rgba(46,204,130,0.25);
  border-radius:100px;padding:6px 16px;
  font-size:12px;color:var(--green3);font-weight:500;
  margin-bottom:14px;
}
.bdot{width:7px;height:7px;background:var(--green3);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.85);}}

/* Headline */
.hero-title{
  font-family:'Clash Display',sans-serif;
  font-size:clamp(1.8rem,4.5vw,3.2rem);
  font-weight:700;line-height:1.1;
  letter-spacing:-0.02em;
  color:#fff;margin-bottom:8px;white-space:nowrap;
}
.hero-title em{font-style:normal;color:var(--green3);}
.hero-sub-title{
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:clamp(0.95rem,2vw,1.15rem);
  font-weight:500;color:var(--muted);
  margin-bottom:12px;letter-spacing:0.01em;
}
.hero-desc{
  font-size:clamp(0.9rem,1.6vw,1rem);
  color:var(--text);line-height:1.6;
  max-width:640px;margin:0 auto 20px;font-weight:300;
}
@media (max-width:720px){
  .hero-title{white-space:normal;font-size:clamp(1.6rem,8vw,2.4rem);}
}
#heroCta{display:inline-block;margin-top:6px;margin-bottom:28px;}

/* ── REGISTRATION FORM ── */
.form-wrap{
  background:rgba(11,30,48,0.95);
  border:1px solid rgba(46,204,130,0.25);
  border-top:3px solid var(--green);
  border-radius:20px;padding:40px;
  max-width:580px;margin:0 auto;
  backdrop-filter:blur(20px);
  box-shadow:0 24px 80px rgba(0,0,0,0.4);
  text-align:left;
}
.form-title{
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:1.25rem;font-weight:800;
  color:#fff;margin-bottom:6px;
}
.form-sub{font-size:13.5px;color:var(--muted);margin-bottom:28px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.form-group{margin-bottom:14px;}
label{
  display:block;font-size:11px;font-weight:600;
  letter-spacing:0.07em;text-transform:uppercase;
  color:var(--muted);margin-bottom:7px;
}
input,select,textarea{
  width:100%;
  background:rgba(22,54,82,0.8);
  border:1px solid rgba(28,68,104,0.8);
  border-radius:10px;padding:13px 15px;
  color:#fff;font-family:'DM Sans',sans-serif;
  font-size:15px;outline:none;
  transition:border-color .2s,background .2s;
  -webkit-appearance:none;
}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,0.2);}
input:focus,select:focus,textarea:focus{
  border-color:var(--green);
  background:rgba(22,54,82,1);
}
input.input-error,select.input-error,textarea.input-error,
.file-zone.input-error{
  border-color:#E5484D;
  background:rgba(229,72,77,0.06);
}
.field-error{
  display:block;font-size:12px;color:#FF6B70;
  margin-top:6px;font-weight:500;letter-spacing:0.01em;
  min-height:14px;text-transform:none;
}

/* Top form banner (replaces native alert for non-duplicate errors). */
.form-banner{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 14px;margin-bottom:14px;border-radius:8px;
  font-size:13px;line-height:1.4;
  border:1px solid transparent;
}
.form-banner.error{
  background:rgba(229,72,77,0.10);border-color:rgba(229,72,77,0.35);color:#FFB1B3;
}
.form-banner.info{
  background:rgba(46,204,130,0.10);border-color:rgba(46,204,130,0.30);color:#2ECC82;
}
.form-banner-msg{flex:1;}
.form-banner-close{
  background:none;border:0;color:inherit;cursor:pointer;
  font-size:18px;line-height:1;padding:0 4px;opacity:0.7;
}
.form-banner-close:hover{opacity:1;}

/* Duplicate-email inline card under the email field. */
.dup-card{
  margin-top:8px;padding:12px 14px;border-radius:8px;
  background:rgba(46,140,229,0.10);border:1px solid rgba(46,140,229,0.35);
  color:#9BC8FF;font-size:13px;line-height:1.45;
}
.dup-card-title{font-weight:600;color:#CFE3FF;margin-bottom:2px;}
.dup-card-sub{color:#9BC8FF;margin-bottom:8px;font-size:12px;}
.dup-card-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.dup-card-btn{
  background:#1a73e8;color:#fff;border:0;border-radius:6px;
  padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;
}
.dup-card-btn:disabled{background:#3a4756;cursor:not-allowed;opacity:0.7;}
.dup-card-status{font-size:12px;color:#9BC8FF;}
.dup-card-status.ok{color:#2ECC82;}
.dup-card-status.warn{color:#F5C443;}
.dup-card-status.err{color:#FF6B70;}
select option{background:#fff;color:#0B1E30;}
textarea{resize:vertical;min-height:80px;}

/* File upload */
.file-zone{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:8px;
  width:100%;min-height:88px;
  background:rgba(22,54,82,0.6);
  border:2px dashed rgba(28,68,104,0.9);
  border-radius:10px;padding:18px;
  cursor:pointer;text-align:center;
  transition:border-color .2s,background .2s;
}
.file-zone:hover{border-color:var(--green);background:rgba(22,54,82,0.9);}
.file-zone.has-file{border-color:var(--green);border-style:solid;background:rgba(26,122,74,0.08);}
.file-zone .fz-icon{font-size:1.6rem;}
.file-zone .fz-text{font-size:13px;color:var(--text);line-height:1.5;}
.file-zone .fz-text strong{color:var(--green3);}
.file-zone .fz-types{font-size:11px;color:var(--muted);}
.file-name{font-size:12px;color:var(--green3);margin-top:6px;min-height:16px;}
input[type=file]{display:none;}

/* Submit */
.submit-btn{
  width:100%;
  background:linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  color:#fff;border:none;border-radius:12px;
  padding:17px;
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:16px;font-weight:800;
  cursor:pointer;margin-top:6px;
  transition:opacity .2s,transform .15s,box-shadow .2s;
  letter-spacing:0.01em;
  box-shadow:0 4px 24px rgba(26,122,74,0.35);
}
.submit-btn:hover{opacity:0.92;transform:translateY(-2px);box-shadow:0 8px 32px rgba(26,122,74,0.5);}
.submit-btn:disabled{opacity:0.6;cursor:not-allowed;transform:none;}
.form-note{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6;}
.form-note a{color:var(--green3);text-decoration:none;}

/* Success state */
.success-state{display:none;text-align:center;padding:24px 8px;}
.success-icon{font-size:3rem;margin-bottom:14px;}
.success-title{
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:1.4rem;font-weight:800;
  color:var(--green3);margin-bottom:10px;
}
.success-msg{color:var(--text);font-size:14px;line-height:1.75;margin-bottom:28px;}
.referral-box{
  background:rgba(26,122,74,0.1);
  border:1px solid rgba(46,204,130,0.3);
  border-radius:12px;padding:20px;margin-bottom:16px;
}
.referral-label{font-size:12px;color:var(--muted);margin-bottom:10px;font-weight:500;}
.referral-url{
  background:rgba(11,30,48,0.8);
  border:1px solid rgba(46,204,130,0.2);
  border-radius:8px;padding:10px 14px;
  font-size:13px;color:var(--green3);
  word-break:break-all;margin-bottom:12px;
  font-family:monospace;
}
.referral-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.ref-btn{
  display:flex;align-items:center;gap:7px;
  padding:10px 18px;border-radius:8px;
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:13px;font-weight:700;
  cursor:pointer;border:none;
  transition:opacity .2s,transform .15s;text-decoration:none;
}
.ref-btn:hover{opacity:0.88;transform:translateY(-1px);}
.ref-btn-wa{background:#25D366;color:#fff;}
.ref-btn-copy{background:var(--navy3);color:#fff;border:1px solid var(--border);}
.ref-btn-share{background:var(--green);color:#fff;}

/* ── SOCIAL PROOF STRIP ── */
.proof-strip{
  background:#07111C;
  border-top:1px solid rgba(46,204,130,0.1);
  border-bottom:1px solid rgba(46,204,130,0.1);
  padding:52px 5%;
  display:flex;justify-content:center;flex-wrap:wrap;gap:52px;
}
.proof-stat{text-align:center;}
.proof-val{
  font-family:'Clash Display',sans-serif;
  font-size:2.8rem;font-weight:700;
  color:var(--green3);line-height:1;margin-bottom:7px;
}
.proof-label{font-size:13px;color:var(--muted);max-width:160px;margin:0 auto;line-height:1.45;}

/* ── SECTIONS ── */
.section{padding:54px 5%;max-width:1100px;margin:0 auto;}
.section-dark{background:#07111C;padding:54px 5%;}
.section-dark .inner{max-width:1100px;margin:0 auto;}
.tag{
  font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--green3);font-weight:600;margin-bottom:10px;
}
.sec-h{
  font-family:'Clash Display',sans-serif;
  font-size:clamp(1.25rem,2.8vw,1.85rem);
  font-weight:700;line-height:1.15;
  letter-spacing:-0.02em;color:#fff;margin-bottom:10px;
}
.sec-p{color:var(--text);font-size:13.5px;line-height:1.65;margin-bottom:28px;max-width:560px;}

/* Steps — 4 compact cards in a single row */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media (max-width:560px){.steps-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.step-card{
  background:var(--card);
  border:1px solid rgba(46,204,130,0.12);
  border-top:2px solid var(--green);
  border-radius:10px;padding:16px 14px;
  transition:border-color .25s,transform .25s;
}
.step-card:hover{border-color:rgba(46,204,130,0.4);transform:translateY(-3px);}
.step-num{
  font-family:'Clash Display',sans-serif;
  font-size:1.3rem;font-weight:700;
  color:rgba(46,204,130,0.25);line-height:1;margin-bottom:6px;
}
.step-icon{font-size:1.15rem;margin-bottom:6px;}
.step-card h3{
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:0.92rem;font-weight:800;
  color:#fff;margin-bottom:6px;
}
.step-card p{font-size:11.5px;color:var(--text);line-height:1.5;}

/* Features - compact grid of short-labelled cards, full content in the
   inline detail panel below. One card stays visually selected. */
.feat-grid{
  display:grid;
  grid-template-columns:repeat(9, minmax(96px, 1fr));
  gap:10px;
}
@media (max-width:1100px){.feat-grid{grid-template-columns:repeat(5,minmax(110px,1fr));}}
@media (max-width:760px){.feat-grid{grid-template-columns:repeat(2,1fr);gap:8px;}}

.feat-card{
  background:var(--card);
  border:1px solid rgba(46,204,130,0.1);
  border-top:2px solid var(--green);
  border-radius:10px;
  padding:14px 10px;
  cursor:pointer;outline:none;
  font-family:inherit;color:inherit;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:6px;min-width:0;
  transition:background .18s, border-top-color .18s, transform .18s, box-shadow .18s;
}
.feat-card:hover{
  background:rgba(16,40,64,0.96);
  border-top-color:var(--green3);
  transform:translateY(-2px);
}
.feat-card:focus-visible{outline:2px solid var(--green3);outline-offset:2px;}
.feat-card.selected{
  background:rgba(46,204,130,0.08);
  border-color:rgba(46,204,130,0.4);
  border-top-color:var(--green3);
  box-shadow:0 0 0 2px rgba(46,204,130,0.4), 0 10px 26px rgba(46,204,130,0.15);
}

.feat-icon{font-size:1.6rem;line-height:1;}
.feat-label{
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:0.82rem;font-weight:800;color:#fff;line-height:1.2;
  margin:0;max-width:100%;
  white-space:normal;overflow-wrap:break-word;hyphens:auto;
}

/* Inline detail panel below the grid — visually an extension of the selected
   card, not a separate sub-panel. A bridge (::before) draws two green rails
   from the selected card's bottom into the panel's top border. The selected
   card sets --connector-x / --connector-w on .feat-detail via JS. */
.feat-detail{
  --connector-x:50%;
  --connector-w:0px;
  --connector-gap:18px;
  position:relative;
  margin-top:var(--connector-gap);
  background:linear-gradient(180deg, rgba(22,54,82,0.92) 0%, rgba(11,30,48,0.92) 100%);
  border:1px solid rgba(46,204,130,0.4);
  border-radius:14px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:20px;
  align-items:start;
  box-shadow:0 0 0 1px rgba(46,204,130,0.25), 0 10px 26px rgba(46,204,130,0.12), 0 8px 32px rgba(0,0,0,0.25);
}
.feat-detail::before{
  content:"";
  position:absolute;
  left:var(--connector-x);
  top:calc(-1 * var(--connector-gap) - 1px);
  width:var(--connector-w);
  height:calc(var(--connector-gap) + 2px);
  transform:translateX(-50%);
  border-left:1px solid rgba(46,204,130,0.4);
  border-right:1px solid rgba(46,204,130,0.4);
  border-radius:2px 2px 0 0;
  pointer-events:none;
}
.feat-detail .fd-icon{font-size:2.4rem;line-height:1;align-self:center;}
.feat-detail .fd-text{min-width:0;}
.feat-detail .fd-title{
  font-family:'Clash Display',sans-serif;
  font-size:1.25rem;font-weight:700;color:#fff;line-height:1.2;
  margin:0 0 8px;
}
.feat-detail .fd-body{
  font-size:14px;color:var(--text);line-height:1.65;margin:0;
}
@media (max-width:760px){
  .feat-detail{
    padding:20px 18px;
    grid-template-columns:1fr;
    row-gap:10px;
    text-align:center;
  }
  .feat-detail .fd-icon{align-self:center;}
}

/* Expo block — reduced */
.expo-block{
  background:linear-gradient(135deg, rgba(26,122,74,0.08) 0%, rgba(11,30,48,0.6) 100%);
  border:1px solid rgba(46,204,130,0.18);
  border-radius:18px;padding:32px;margin:0 5% 24px;
  max-width:1100px;margin-left:auto;margin-right:auto;
  display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;
}
.expo-text h2{
  font-family:'Clash Display',sans-serif;
  font-size:clamp(1.2rem,2.5vw,1.65rem);
  font-weight:700;letter-spacing:-0.02em;
  color:#fff;margin-bottom:10px;
}
.expo-text p{color:var(--text);line-height:1.6;font-size:13px;margin-bottom:16px;}
.pills{display:flex;flex-wrap:wrap;gap:6px;}
.pill{
  background:rgba(22,54,82,0.8);
  border:1px solid rgba(46,204,130,0.2);
  border-radius:100px;padding:4px 11px;
  font-size:11px;color:var(--green3);font-weight:500;
}
.expo-mock{
  background:rgba(11,30,48,0.9);
  border:1px solid rgba(28,68,104,0.8);
  border-radius:12px;padding:16px;
}
.mock-bar{
  display:flex;align-items:center;gap:6px;
  font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--green3);font-weight:700;margin-bottom:12px;
}
.live-dot{width:8px;height:8px;background:var(--green3);border-radius:50%;animation:pulse 1.5s infinite;}
.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.mock-booth{
  background:rgba(22,54,82,0.7);
  border:1px solid rgba(28,68,104,0.8);
  border-radius:10px;padding:14px;
}
.mock-head{display:flex;align-items:center;gap:8px;margin-bottom:7px;}
.mock-av{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;color:#fff;}
.mock-name{font-size:11px;font-weight:700;color:#fff;}
.mock-tick{font-size:9px;color:var(--green3);}
.mock-cat{font-size:10px;color:var(--muted);}

/* CTA — compact, still premium */
.cta-section{
  text-align:center;padding:28px 5% 40px;
  background:linear-gradient(160deg,#07111C 0%,#0B1E30 100%);
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;
  width:520px;height:520px;
  background:radial-gradient(circle,rgba(26,122,74,0.1) 0%,transparent 65%);
  top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.cta-inner{position:relative;z-index:1;max-width:620px;margin:0 auto;}
.cta-section h2{
  font-family:'Clash Display',sans-serif;
  font-size:clamp(1.5rem,3.2vw,2.1rem);
  font-weight:700;letter-spacing:-0.02em;line-height:1.15;
  color:#fff;margin:0 0 8px;
}
.cta-section p{
  color:var(--text);font-size:14px;line-height:1.55;
  margin:0 0 16px;
}
.cta-link{
  display:inline-block;
  background:linear-gradient(135deg,var(--green) 0%,var(--green2) 100%);
  color:#fff;padding:13px 36px;border-radius:10px;
  font-family:'Cabinet Grotesk',sans-serif;
  font-size:15px;font-weight:800;text-decoration:none;
  transition:opacity .2s,transform .2s,box-shadow .2s;
  box-shadow:0 6px 22px rgba(26,122,74,0.35);
}
.cta-link:hover{opacity:.9;transform:translateY(-3px);box-shadow:0 12px 40px rgba(26,122,74,0.5);}

/* Footer */
footer{
  background:#050E18;
  border-top:3px solid var(--green);
  padding:36px 5%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
}
.foot-links{display:flex;gap:24px;flex-wrap:wrap;justify-self:center;grid-column:2;}
.foot-links a{color:var(--muted);font-size:13px;text-decoration:none;transition:color .2s;}
.foot-links a:hover{color:var(--green3);}
.foot-copy{font-size:12px;color:rgba(122,155,181,0.5);justify-self:end;text-align:right;grid-column:3;}
@media (max-width:720px){
  footer{grid-template-columns:1fr;}
  .foot-links{grid-column:1;}
  .foot-copy{grid-column:1;justify-self:center;text-align:center;}
}

/* Loading spinner */
.spinner{
  width:20px;height:20px;
  border:2px solid rgba(255,255,255,0.3);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .7s linear infinite;
  display:inline-block;vertical-align:middle;margin-right:8px;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.fade-up{opacity:0;animation:fadeUp .7s ease forwards;}
.fade-up:nth-child(1){animation-delay:.1s;}
.fade-up:nth-child(2){animation-delay:.22s;}
.fade-up:nth-child(3){animation-delay:.34s;}
.fade-up:nth-child(4){animation-delay:.46s;}
.fade-up:nth-child(5){animation-delay:.58s;}

/* Responsive */
@media(max-width:700px){
  .form-row{grid-template-columns:1fr;}
  .expo-block{grid-template-columns:1fr;padding:36px 24px;}
  .expo-mock{display:none;}
  .proof-strip{gap:36px;}
  footer{flex-direction:column;}
  .form-wrap{padding:28px 20px;}
  .nav-counter{display:none;}
  .countdown{gap:8px;}
  .countdown-unit{min-width:66px;padding:12px 14px;}
  .countdown-num{font-size:1.9rem;}
}
