
:root{
  --navy:#152357;
  --navy-deep:#0A1230;
  --gold:#F2A93B;
  --gold-light:#FFDD9A;
  --cream:#FBF6EA;
  --ink:#14161F;
  --paper:#FFFFFF;
  --line: rgba(21,35,87,0.12);
  --shadow: 0 20px 45px -25px rgba(10,18,48,0.45);
  --radius: 18px;
  --max: 1180px;
  --display: 'Sora', sans-serif;
  --body: 'Inter', sans-serif;
  --script: 'Caveat', cursive;
  --mono: 'JetBrains Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--display); margin:0; line-height:1.08; letter-spacing:-0.01em;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--gold); font-weight:600;
}
.eyebrow.dark{color:var(--navy);}
.marker{
  background-image: linear-gradient(104deg, transparent 0.5%, var(--gold-light) 0.5%, var(--gold-light) 92%, transparent 92%);
  background-repeat:no-repeat; background-size:100% 42%; background-position:0 78%;
  padding:0 2px;
}
.script{font-family:var(--script); font-weight:700; color:var(--gold);}

/* ---------- NAV ---------- */
header.site{
  position:sticky; top:0; z-index:100;
  background:rgba(251,246,234,0.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px; max-width:var(--max); margin:0 auto;
}
.logo{display:flex; align-items:baseline; gap:2px; text-decoration:none;}
.logo .ad{font-family:var(--display); font-weight:800; font-size:22px; color:var(--navy);}
.logo .sol{font-family:var(--display); font-weight:800; font-size:22px; color:var(--gold);}
.logo-sub{display:block; font-family:var(--mono); font-size:9.5px; letter-spacing:0.18em; color:var(--navy); opacity:0.65; margin-top:-2px;}
.logo-col{display:flex; flex-direction:column;}
nav.links{display:flex; gap:26px; align-items:center;}
nav.links a{font-size:14.5px; font-weight:600; text-decoration:none; color:var(--navy); opacity:0.85;}
nav.links a:hover{opacity:1;}
.btn{
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  font-weight:700; font-size:14.5px; padding:12px 22px; border-radius:100px;
  border:2px solid transparent; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
}
.btn-gold{background:var(--gold); color:var(--navy-deep); box-shadow: var(--shadow);}
.btn-gold:hover{transform:translateY(-2px);}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{transform:translateY(-2px);}
.btn-ghost{border-color:var(--navy); color:var(--navy); background:transparent;}
.btn-ghost:hover{background:var(--navy); color:#fff;}
.nav-cta{display:flex; align-items:center; gap:12px;}
.burger{display:none; background:none; border:none; padding:8px;}
.burger span{display:block; width:22px; height:2px; background:var(--navy); margin:5px 0;}

/* ---------- HERO ---------- */
.hero{
  position:relative; overflow:hidden;
  background: radial-gradient(120% 140% at 100% 0%, #1c2e6e 0%, var(--navy) 45%, var(--navy-deep) 100%);
  color:#fff; padding: 64px 0 80px;
}
.hero-map{
  position:absolute; right:-8%; top:10%; width:520px; max-width:60vw; opacity:0.14; pointer-events:none;
}
.hero-grid{
  display:grid; grid-template-columns: 1.15fr 0.85fr; gap:56px; align-items:center;
  position:relative; z-index:2;
}
.pin-row{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.pin-row svg{width:16px; height:16px; fill:var(--gold);}
.hero h1{
  font-size:clamp(34px, 5.4vw, 60px); color:#fff; font-weight:800; margin-bottom:18px;
}
.hero h1 .hl{color:var(--gold);}
.hero p.lede{font-size:18px; color:rgba(255,255,255,0.82); max-width:520px; margin-bottom:28px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px;}
.seat-card{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
  border-radius:16px; padding:18px 20px; max-width:420px; backdrop-filter:blur(6px);
}
.seat-top{display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:12.5px; color:rgba(255,255,255,0.75); margin-bottom:10px;}
.seat-top strong{color:var(--gold);}
.seat-bar{height:8px; border-radius:100px; background:rgba(255,255,255,0.14); overflow:hidden;}
.seat-fill{height:100%; width:72%; background:linear-gradient(90deg, var(--gold), var(--gold-light)); border-radius:100px;}
.seat-note{font-size:12.5px; color:rgba(255,255,255,0.6); margin-top:9px;}

.founder-card{
  background:var(--cream); border-radius:22px; padding:26px; color:var(--ink);
  box-shadow: var(--shadow); position:relative;
}
.founder-photo{
  width:100%; aspect-ratio:4/5; border-radius:16px; border:2px dashed rgba(21,35,87,0.35);
  display:flex; align-items:center; justify-content:center; text-align:center; padding:16px;
  background: repeating-linear-gradient(135deg, rgba(21,35,87,0.05) 0 10px, transparent 10px 20px);
  color:var(--navy); font-family:var(--mono); font-size:12px; margin-bottom:16px;
}
.founder-photo.filled{
  border:none; padding:0; background:linear-gradient(160deg, var(--gold-light), var(--gold)); overflow:hidden;
}
.founder-photo.filled img{width:100%; height:100%; object-fit:cover; object-position:50% 12%; display:block;}
.founder-name{font-family:var(--display); font-weight:800; font-size:19px; color:var(--navy);}
.founder-role{font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-top:2px;}
.founder-quote{font-family:var(--script); font-size:21px; color:var(--navy); margin-top:14px; line-height:1.3;}

/* ---------- SECTION shell ---------- */
section{padding:76px 0;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:clamp(26px, 3.6vw, 38px); color:var(--navy); margin-top:10px;}
.section-head p{font-size:16.5px; color:rgba(20,22,31,0.68); margin-top:12px;}
.section-alt{background:var(--paper);}
.section-dark{background:linear-gradient(180deg, var(--navy-deep), #0d1638); color:#fff;}
.section-dark .section-head h2{color:#fff;}
.section-dark .section-head p{color:rgba(255,255,255,0.68);}

/* ---------- become grid ---------- */
.become-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.become-card{
  background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px 16px; text-align:left;
}
.become-icon{width:42px; height:42px; border-radius:12px; background:var(--navy); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.become-icon svg{width:22px; height:22px; stroke:var(--gold); fill:none; stroke-width:1.8;}
.become-card h4{font-size:15px; color:var(--navy); font-weight:700;}

/* ---------- program feature grid ---------- */
.feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.feature-card{
  background:var(--cream); border-radius:18px; padding:26px; border:1px solid var(--line);
}
.feature-num{font-family:var(--mono); color:var(--gold); font-weight:600; font-size:13px; margin-bottom:12px; display:block;}
.feature-card h4{font-size:17px; color:var(--navy); margin-bottom:8px;}
.feature-card p{font-size:14.5px; color:rgba(20,22,31,0.68);}

/* ---------- pricing ---------- */
.price-wrap{display:grid; grid-template-columns:1.1fr 0.9fr; gap:30px; align-items:start;}
.value-table{background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:8px; box-shadow:var(--shadow);}
.value-row{display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px dashed var(--line); font-size:15px;}
.value-row:last-child{border-bottom:none;}
.value-row span:first-child{color:var(--ink); font-weight:500;}
.value-row span:last-child{font-family:var(--mono); font-weight:600; color:var(--navy);}
.value-total{display:flex; justify-content:space-between; align-items:center; background:var(--navy); color:#fff; border-radius:14px; padding:18px 20px; margin:10px 8px 8px;}
.value-total span:last-child{font-family:var(--mono); color:var(--gold); font-weight:700; font-size:18px;}

.price-card{
  background:linear-gradient(160deg, var(--navy), var(--navy-deep)); color:#fff; border-radius:22px; padding:30px;
  position:relative; overflow:hidden;
}
.price-badge{
  position:absolute; top:18px; right:-38px; transform:rotate(35deg);
  background:var(--gold); color:var(--navy-deep); font-family:var(--mono); font-weight:700; font-size:11.5px;
  padding:5px 44px; letter-spacing:0.05em;
}
.price-label{font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6);}
.price-strike{font-family:var(--mono); color:rgba(255,255,255,0.45); text-decoration:line-through; font-size:16px; margin-top:10px;}
.price-strike span{margin-right:10px;}
.price-now{font-family:var(--display); font-weight:800; font-size:44px; color:var(--gold); margin:6px 0 4px;}
.price-reserve{font-size:14px; color:rgba(255,255,255,0.75); margin-bottom:22px;}
.price-reserve strong{color:#fff; font-family:var(--mono);}
.price-card .btn-gold{width:100%; padding:15px; font-size:16px;}
.price-note{font-size:12.5px; color:rgba(255,255,255,0.55); margin-top:14px; text-align:center;}

/* ---------- checklist ---------- */
.check-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px 26px; margin-top:8px;}
.check-item{display:flex; gap:12px; align-items:flex-start;}
.check-item svg{width:20px; height:20px; flex:none; margin-top:2px; stroke:var(--gold); fill:none; stroke-width:2.4;}
.check-item p{font-size:15px; color:var(--ink); font-weight:500;}

/* ---------- internship ---------- */
.intern-meta{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin:36px 0 44px;}
.meta-pill{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:14px;
  padding:18px 14px; text-align:center;
}
.meta-pill svg{width:24px; height:24px; stroke:var(--gold); fill:none; stroke-width:1.8; margin:0 auto 10px;}
.meta-pill p{font-size:13px; font-weight:600; color:#fff;}
.niche-row{display:flex; flex-wrap:wrap; gap:12px;}
.niche-chip{
  border:1px solid rgba(255,255,255,0.2); border-radius:100px; padding:10px 20px; font-size:14px; font-weight:600;
  background:rgba(255,255,255,0.04);
}
.niche-chip strong{color:var(--gold); margin-right:8px; font-family:var(--mono); font-weight:600;}
.intern-columns{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:44px;}
.intern-columns h4{color:#fff; font-size:17px; margin-bottom:16px;}
.intern-list li{display:flex; gap:10px; font-size:14.5px; color:rgba(255,255,255,0.8); margin-bottom:12px; align-items:flex-start;}
.intern-list li svg{width:18px; height:18px; stroke:var(--gold); fill:none; flex:none; margin-top:2px;}

/* ---------- bonuses ---------- */
.bonus-strip{
  background:var(--navy); color:#fff; border-radius:20px; padding:6px 6px 26px; margin-top:10px;
}
.bonus-strip-head{
  background:var(--gold); color:var(--navy-deep); border-radius:14px; padding:16px 22px; margin:6px;
  display:flex; justify-content:space-between; align-items:center; font-family:var(--display); font-weight:800; font-size:17px;
}
.bonus-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:20px;}
.bonus-item{background:rgba(255,255,255,0.06); border-radius:12px; padding:18px; border:1px solid rgba(255,255,255,0.1);}
.bonus-item p.name{font-size:14px; font-weight:600; margin-bottom:6px;}
.bonus-item p.val{font-family:var(--mono); color:var(--gold); font-size:13px;}

/* ---------- promise / days ---------- */
.split{display:grid; grid-template-columns:0.9fr 1.1fr; gap:40px; align-items:center;}
.days-block{background:var(--navy); color:#fff; border-radius:22px; padding:36px; text-align:center;}
.days-num{font-family:var(--display); font-weight:800; font-size:76px; color:var(--gold); line-height:1;}
.days-block p{font-size:14.5px; color:rgba(255,255,255,0.75); margin-top:10px;}
.promise-box{background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:30px;}
.promise-box h3{color:var(--navy); font-size:20px; margin-bottom:12px;}
.promise-box p{font-size:15.5px; color:rgba(20,22,31,0.72);}

/* ---------- testimonials ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.testi-card{
  border:2px dashed var(--line); border-radius:18px; padding:24px; background:var(--paper);
  display:flex; flex-direction:column; gap:14px; min-height:190px; justify-content:space-between;
}
.testi-avatar{width:44px; height:44px; border-radius:50%; background:var(--cream); border:1px dashed rgba(21,35,87,0.3);}
.testi-card p.slot{font-family:var(--mono); font-size:12px; color:rgba(21,35,87,0.5);}

/* ---------- gallery / instagram ---------- */
.insta-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:26px;}
.insta-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:10px;}
.insta-slot{
  aspect-ratio:1; border-radius:12px; border:1px dashed rgba(21,35,87,0.3);
  background: repeating-linear-gradient(135deg, rgba(21,35,87,0.05) 0 10px, transparent 10px 20px);
  display:flex; align-items:center; justify-content:center; text-align:center; padding:8px;
  font-family:var(--mono); font-size:10px; color:var(--navy); opacity:0.6;
}

/* ---------- FAQ ---------- */
.faq{max-width:800px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%; background:none; border:none; text-align:left; padding:20px 4px; font-size:16.5px; font-weight:700;
  color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.faq-q .plus{font-family:var(--mono); font-size:20px; color:var(--gold); transition:transform .2s ease;}
.faq-item[open] .plus{transform:rotate(45deg);}
.faq-a{padding:0 4px 20px; font-size:15px; color:rgba(20,22,31,0.7); max-width:680px;}

/* ---------- contact ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
.contact-form{background:var(--paper); border-radius:20px; padding:28px; border:1px solid var(--line);}
.form-row{margin-bottom:16px;}
.form-row label{display:block; font-size:13px; font-weight:600; color:var(--navy); margin-bottom:6px;}
.form-row input, .form-row select, .form-row textarea{
  width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--line); font-family:var(--body); font-size:14.5px;
  background:var(--cream);
}
.map-slot{
  border-radius:20px; border:1px dashed rgba(21,35,87,0.3); min-height:220px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:8px; color:var(--navy); font-family:var(--mono); font-size:12.5px;
  background: repeating-linear-gradient(135deg, rgba(21,35,87,0.05) 0 10px, transparent 10px 20px); margin-bottom:20px;
}
.contact-list li{display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px;}
.contact-list li svg{width:20px; height:20px; stroke:var(--gold); fill:none; flex:none;}

/* ---------- footer ---------- */
footer{background:var(--navy-deep); color:rgba(255,255,255,0.7); padding:50px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; margin-bottom:36px;}
.foot-grid h5{color:#fff; font-size:13.5px; margin-bottom:14px; font-family:var(--display);}
.foot-grid li{margin-bottom:10px; font-size:14px;}
.foot-grid a{text-decoration:none; color:inherit;}
.foot-grid a:hover{color:var(--gold);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px;}

/* ---------- floating whatsapp ---------- */
.wa-float{
  position:fixed; bottom:22px; right:22px; z-index:200; width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(0,0,0,0.4);
  text-decoration:none;
}
.wa-float svg{width:28px; height:28px; fill:#fff;}
.wa-sticky-mobile{display:none;}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  nav.links, .nav-cta .btn-ghost{display:none;}
  .burger{display:block;}
  .hero-grid{grid-template-columns:1fr; gap:44px;}
  .hero-map{display:none;}
  .become-grid{grid-template-columns:repeat(2,1fr);}
  .feature-grid{grid-template-columns:1fr;}
  .price-wrap{grid-template-columns:1fr;}
  .check-grid{grid-template-columns:1fr;}
  .intern-meta{grid-template-columns:repeat(2,1fr);}
  .intern-columns{grid-template-columns:1fr;}
  .bonus-grid{grid-template-columns:1fr 1fr;}
  .split{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  body{padding-bottom:64px;}
  .wa-sticky-mobile{
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:199; background:var(--navy);
    color:#fff; align-items:center; justify-content:center; gap:10px; padding:14px; text-decoration:none;
    font-weight:700; font-size:14.5px;
  }
  .wa-sticky-mobile svg{width:18px; height:18px; fill:#25D366;}
  .wa-float{display:none;}
}
@media (max-width:600px){
  .become-grid{grid-template-columns:1fr;}
  .bonus-grid{grid-template-columns:1fr;}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
  .foot-grid{grid-template-columns:1fr;}
}

/* ---------- multi-page additions ---------- */
nav.links a.active{opacity:1; position:relative;}
nav.links a.active::after{content:''; position:absolute; left:0; right:0; bottom:-16px; height:2px; background:var(--gold);}

.page-hero{
  background: radial-gradient(120% 140% at 100% 0%, #1c2e6e 0%, var(--navy) 45%, var(--navy-deep) 100%);
  color:#fff; padding:56px 0 62px;
}
.breadcrumb{font-family:var(--mono); font-size:12px; color:rgba(255,255,255,0.55); margin-bottom:14px;}
.breadcrumb a{color:rgba(255,255,255,0.55); text-decoration:none;}
.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{font-size:clamp(30px,4.6vw,48px); color:#fff; font-weight:800; max-width:720px;}
.page-hero p.lede{font-size:16.5px; color:rgba(255,255,255,0.78); max-width:560px; margin-top:14px;}

/* roadmap */
.roadmap{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.road-step{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:24px 20px; position:relative;}
.road-step .rnum{font-family:var(--mono); color:var(--gold); font-weight:700; font-size:13px;}
.road-step h4{color:var(--navy); font-size:16px; margin:10px 0 8px;}
.road-step p{font-size:14px; color:rgba(20,22,31,0.68);}
.road-step:not(:last-child)::after{
  content:''; position:absolute; top:50%; right:-18px; width:18px; height:1px; background:var(--line);
  display:none;
}
@media (min-width:981px){ .road-step:not(:last-child)::after{display:block;} }

/* process steps (internship) */
.process-row{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:10px;}
.process-step{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:14px; padding:18px 14px;}
.process-step .pnum{font-family:var(--mono); color:var(--gold); font-size:12px; font-weight:700;}
.process-step h5{color:#fff; font-size:14px; margin-top:8px;}
.process-step p{font-size:12.5px; color:rgba(255,255,255,0.6); margin-top:6px;}

/* modules / curriculum */
.module-list{display:flex; flex-direction:column; gap:12px;}
.module-row{
  display:flex; align-items:center; gap:18px; background:var(--paper); border:1px solid var(--line);
  border-radius:14px; padding:18px 20px;
}
.module-row .mnum{font-family:var(--mono); color:var(--gold); font-weight:700; font-size:14px; flex:none; width:34px;}
.module-row h4{color:var(--navy); font-size:15.5px; flex:1;}
.module-row p{font-size:13.5px; color:rgba(20,22,31,0.62); flex:2;}
.tool-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.tool-chip{
  background:var(--paper); border:1px solid var(--line); border-radius:100px; padding:9px 18px; font-size:13.5px; font-weight:600; color:var(--navy);
}
.cert-card{
  background:var(--navy); color:#fff; border-radius:18px; padding:26px; display:flex; gap:18px; align-items:center;
}
.cert-card svg{width:40px; height:40px; stroke:var(--gold); fill:none; stroke-width:1.6; flex:none;}
.cert-card h4{color:#fff; font-size:16.5px; margin-bottom:6px;}
.cert-card p{font-size:14px; color:rgba(255,255,255,0.72);}

/* partners */
.partner-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.partner-slot{
  aspect-ratio:2/1; border-radius:12px; border:1px dashed rgba(21,35,87,0.3);
  background: repeating-linear-gradient(135deg, rgba(21,35,87,0.05) 0 10px, transparent 10px 20px);
  display:flex; align-items:center; justify-content:center; text-align:center; padding:8px;
  font-family:var(--mono); font-size:10.5px; color:var(--navy); opacity:0.65;
}

/* blog */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.blog-card{background:var(--paper); border:1px solid var(--line); border-radius:18px; overflow:hidden; text-decoration:none; display:block;}
.blog-thumb{
  aspect-ratio:16/10; border-bottom:1px dashed rgba(21,35,87,0.25);
  background: repeating-linear-gradient(135deg, rgba(21,35,87,0.05) 0 10px, transparent 10px 20px);
  display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; color:var(--navy); opacity:0.6; text-align:center; padding:10px;
}
.blog-body{padding:20px;}
.blog-tag{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); font-weight:700;}
.blog-body h4{color:var(--navy); font-size:16.5px; margin:10px 0 8px;}
.blog-body p{font-size:13.5px; color:rgba(20,22,31,0.62);}

/* legal */
.legal{max-width:760px;}
.legal h2{color:var(--navy); font-size:26px; margin-bottom:6px;}
.legal .updated{font-family:var(--mono); font-size:12.5px; color:rgba(20,22,31,0.5); margin-bottom:30px; display:block;}
.legal h3{color:var(--navy); font-size:18px; margin:30px 0 10px;}
.legal p{font-size:15px; color:rgba(20,22,31,0.75); margin-bottom:14px;}
.legal ul{list-style:disc; padding-left:22px; margin-bottom:14px;}
.legal li{font-size:15px; color:rgba(20,22,31,0.75); margin-bottom:8px;}
.legal-note{
  background:var(--cream); border:1px dashed rgba(21,35,87,0.3); border-radius:14px; padding:18px 20px;
  font-size:13.5px; color:rgba(20,22,31,0.7); margin-top:30px;
}

/* cta banner */
.cta-banner{
  background:linear-gradient(135deg, var(--navy), var(--navy-deep)); border-radius:24px; padding:44px; text-align:center; color:#fff;
}
.cta-banner h3{color:#fff; font-size:clamp(22px,3vw,30px); margin-bottom:12px;}
.cta-banner p{color:rgba(255,255,255,0.75); max-width:480px; margin:0 auto 24px;}
.cta-banner .ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

@media (max-width:980px){
  .roadmap{grid-template-columns:1fr 1fr;}
  .process-row{grid-template-columns:1fr 1fr;}
  .partner-grid{grid-template-columns:repeat(2,1fr);}
  .blog-grid{grid-template-columns:1fr;}
  .module-row{flex-wrap:wrap;}
}
@media (max-width:600px){
  .roadmap{grid-template-columns:1fr;}
  .process-row{grid-template-columns:1fr;}
}

/* ============================================================= */
/* VISUAL ENHANCEMENTS — scroll reveal, hover states, micro-motion */
/* ============================================================= */

/* nav spacing + scroll shadow */
.nav-cta{display:flex; align-items:center; gap:22px;}
.nav-cta .btn-ghost{margin-right:2px;}
header.site{transition: box-shadow .3s ease, background-color .3s ease;}
header.site.scrolled{box-shadow: 0 10px 30px -22px rgba(10,18,48,0.45);}

/* scroll reveal */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .65s cubic-bezier(.22,.61,.36,1), transform .65s cubic-bezier(.22,.61,.36,1);}
.reveal.in-view{opacity:1; transform:none;}

/* card hover lift */
.become-card, .feature-card, .road-step, .blog-card, .price-card, .cert-card{
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.become-card:hover, .feature-card:hover, .road-step:hover{
  transform: translateY(-6px); box-shadow: var(--shadow); border-color: rgba(242,169,59,0.4);
}
.blog-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow); }
.price-card:hover, .cert-card:hover{ transform: translateY(-4px); }

.testi-card, .module-row{ transition: transform .25s ease, box-shadow .25s ease; }
.testi-card:hover, .module-row:hover{ transform: translateY(-4px); box-shadow: 0 16px 30px -20px rgba(10,18,48,0.35); }

.meta-pill, .bonus-item, .niche-chip, .tool-chip{ transition: transform .22s ease, background-color .22s ease; }
.meta-pill:hover, .bonus-item:hover{ transform: translateY(-4px); background:rgba(255,255,255,0.1); }
.niche-chip:hover, .tool-chip:hover{ transform: translateY(-3px); }

.insta-slot, .partner-slot{ transition: transform .25s ease, box-shadow .25s ease; }
.insta-slot:hover, .partner-slot:hover{ transform: translateY(-4px); box-shadow: 0 14px 26px -18px rgba(10,18,48,0.3); }
.insta-slot.filled, .founder-photo.filled{ overflow:hidden; }
.insta-slot.filled img, .founder-photo.filled img{ transition: transform .5s ease; }
.insta-slot.filled:hover img, .founder-photo.filled:hover img{ transform: scale(1.05); }

/* hero decorative rotate */
.hero-map{ animation: adsol-spin 100s linear infinite; }
@keyframes adsol-spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

/* seat bar shimmer */
.seat-fill{ position:relative; overflow:hidden; }
.seat-fill::after{
  content:''; position:absolute; inset:0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
  animation: adsol-shimmer 2.6s ease-in-out infinite;
}
@keyframes adsol-shimmer{ 0%{transform:translateX(-120%);} 100%{transform:translateX(120%);} }

/* button shine on hover */
.btn-gold, .btn-navy{ position:relative; overflow:hidden; }
.btn-gold::before, .btn-navy::before{
  content:''; position:absolute; top:0; left:-60%; width:35%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
  transform:skewX(-20deg); pointer-events:none; opacity:0;
}
.btn-gold:hover::before, .btn-navy:hover::before{ opacity:1; animation: adsol-shine .85s ease forwards; }
@keyframes adsol-shine{ from{left:-60%;} to{left:130%;} }

/* faq hover */
.faq-q{ transition: color .2s ease; cursor:pointer; }
.faq-q:hover{ color:var(--gold); }

/* contact info card (replaces map slot) */
.contact-info-card{
  background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:28px;
}
.contact-info-card h4{ color:var(--navy); font-size:17px; margin-bottom:6px; }
.contact-info-card > p{ font-size:14px; color:rgba(20,22,31,0.62); margin-bottom:18px; }
.contact-info-card .contact-list li:last-child{ border-bottom:none; }
.contact-info-card .btn{ margin-top:18px; width:100%; }

@media (prefers-reduced-motion: reduce){
  .hero-map, .seat-fill::after, .btn-gold:hover::before, .btn-navy:hover::before{ animation:none !important; }
}

/* logo image sizing */
.logo{ display:flex; align-items:center; }
.logo img{ height:42px; width:auto; display:block; }
footer .logo-col img{ height:38px; width:auto; display:block; }

/* ============================================================= */
/* ROUND 2 — additional motion & interaction polish                */
/* ============================================================= */

/* scroll progress bar */
.scroll-progress{ position:absolute; top:0; left:0; right:0; height:3px; background:transparent; }
.scroll-progress-fill{
  height:100%; width:0%; background:linear-gradient(90deg, var(--gold), var(--gold-light));
  transition: width .1s linear;
}

/* nav link underline sweep */
nav.links a{ position:relative; padding-bottom:4px; }
nav.links a::before{
  content:''; position:absolute; left:50%; right:50%; bottom:0; height:2px; background:var(--gold);
  transition: left .25s ease, right .25s ease;
}
nav.links a:hover::before{ left:0; right:0; }
nav.links a.active::after{ display:none; }
nav.links a.active::before{ left:0; right:0; }

/* hero load-in entrance (independent of scroll) */
.load-in{ opacity:0; transform:translateY(18px); animation: adsol-load-in .7s cubic-bezier(.22,.61,.36,1) forwards; }
@keyframes adsol-load-in{ to{opacity:1; transform:none;} }

/* whatsapp float attention pulse */
.wa-float{ animation: adsol-wa-pulse 3.2s ease-in-out infinite; }
@keyframes adsol-wa-pulse{
  0%, 100%{ box-shadow: 0 12px 30px -8px rgba(0,0,0,0.4), 0 0 0 0 rgba(37,211,102,0.5); }
  50%{ box-shadow: 0 12px 30px -8px rgba(0,0,0,0.4), 0 0 0 10px rgba(37,211,102,0); }
}
.wa-float:hover{ animation-play-state: paused; transform: scale(1.08); }

/* become-icon gentle float */
.become-icon{ animation: adsol-float 3.6s ease-in-out infinite; }
.become-card:nth-child(2) .become-icon{ animation-delay:.2s; }
.become-card:nth-child(3) .become-icon{ animation-delay:.4s; }
.become-card:nth-child(4) .become-icon{ animation-delay:.6s; }
.become-card:nth-child(5) .become-icon{ animation-delay:.8s; }
@keyframes adsol-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }

/* price badge pulse glow */
.price-badge{ animation: adsol-badge-pulse 2.4s ease-in-out infinite; }
@keyframes adsol-badge-pulse{
  0%,100%{ box-shadow: 0 0 0 0 rgba(242,169,59,0.55); }
  50%{ box-shadow: 0 0 0 8px rgba(242,169,59,0); }
}

/* cta-banner animated gradient shift */
.cta-banner{
  background-size:200% 200%;
  background-image:linear-gradient(120deg, var(--navy) 0%, var(--navy-deep) 45%, #1c2e6e 75%, var(--navy) 100%);
  animation: adsol-gradient-shift 10s ease infinite;
}
@keyframes adsol-gradient-shift{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}

/* seat card subtle glow breathing */
.seat-card{ animation: adsol-seat-breathe 4s ease-in-out infinite; }
@keyframes adsol-seat-breathe{
  0%,100%{ border-color:rgba(255,255,255,0.14); }
  50%{ border-color:rgba(242,169,59,0.4); }
}

/* smooth CSS-only FAQ accordion (keeps native <details> semantics/accessibility) */
.faq-item > *{ }
.faq-item .faq-a{
  display:block; max-height:0; opacity:0; overflow:hidden; padding-top:0; padding-bottom:0;
  transition: max-height .45s cubic-bezier(.22,.61,.36,1), opacity .35s ease, padding .35s ease;
}
.faq-item[open] .faq-a{ max-height:320px; opacity:1; padding:0 4px 20px; }
.faq-item .plus{ transition: transform .3s ease; }

/* count-up numerals: tabular figures so digits don't jitter in width while animating */
.count-up{ font-variant-numeric: tabular-nums; }

/* value rows count-in stagger already covered by .reveal via JS */

/* form field focus glow */
.form-row input:focus, .form-row select:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(242,169,59,0.18);
}
.form-row input, .form-row select{ transition: border-color .2s ease, box-shadow .2s ease; }

/* footer link underline sweep */
.foot-grid a{ position:relative; }
.foot-grid a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--gold);
  transition:width .25s ease;
}
.foot-grid a:hover::after{ width:100%; }

@media (prefers-reduced-motion: reduce){
  .load-in{ opacity:1 !important; transform:none !important; animation:none !important; }
  .wa-float, .become-icon, .price-badge, .cta-banner, .seat-card{ animation:none !important; }
}
