/* ============== Foundation ============== */
:root{
  --navy: #0A2540;
  --navy-2: #0d2d4d;
  --navy-3: #0f3560;
  --royal: #1E5AFF;
  --sky: #7FB3FF;
  --white: #FFFFFF;
  --off: #F4F7FB;
  --gold: #D4AF37;
  --ink: #06172b;
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(127,179,255,.22);
  --glass: rgba(255,255,255,.04);
  --glass-2: rgba(127,179,255,.06);

  --h-display: 'Space Grotesk', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --h-body: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --h-mono: 'JetBrains Mono', ui-monospace, monospace;
}

*{ box-sizing: border-box; }
html, body{
  margin:0; padding:0;
  background: var(--navy);
  color: var(--white);
  font-family: var(--h-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
html{ scroll-behavior: smooth; }
body{ min-height: 100vh; }

a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; }

::selection{ background: var(--royal); color: #fff; }

/* subtle grain */
#noise{
  position: fixed; inset: 0; pointer-events:none; z-index: 1;
  opacity: .05;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.6'/></svg>");
  mix-blend-mode: overlay;
}
#cursor-glow{
  position: fixed; left:0; top:0; width:400px; height:400px; pointer-events:none; z-index: 0;
  background: radial-gradient(closest-side, rgba(30,90,255,.14), transparent 70%);
  transition: transform .15s ease-out;
  will-change: transform;
}
@media (hover: none){ #cursor-glow{ display:none; } }

/* ============== Preloader ============== */
#preloader{
  position: fixed; inset:0; z-index: 1000;
  background: radial-gradient(ellipse at center, #0f3560 0%, #0A2540 60%, #050f1d 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
  transition: opacity .7s ease, transform .7s ease;
}
#preloader.done{ opacity: 0; transform: scale(1.03); pointer-events:none; }
.pre-m svg{ filter: drop-shadow(0 0 18px rgba(30,90,255,.6)); animation: breathe 1.6s ease-in-out infinite; }
@keyframes breathe { 0%,100%{ transform: scale(1);} 50%{ transform: scale(1.06);} }
.pre-bar{ width: 220px; height: 2px; background: rgba(255,255,255,.08); overflow:hidden; border-radius: 2px; }
.pre-bar-fill{ width:0; height:100%; background: linear-gradient(90deg, var(--sky), var(--royal));
  animation: pb 1.2s ease-out forwards; }
@keyframes pb { to { width: 100%; } }
.pre-label{ font-family: var(--h-mono); font-size: 10px; letter-spacing: .3em; color: var(--sky); opacity:.8; }

/* ============== Layout helpers ============== */
.wrap{ max-width: 1280px; margin: 0 auto; padding: 0 28px; position: relative; z-index: 2; }
@media (max-width: 640px){ .wrap{ padding: 0 20px; } }

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family: var(--h-mono); font-size: 11px; letter-spacing: .25em;
  text-transform: uppercase; color: var(--sky);
  padding: 7px 12px; border: 1px solid var(--line-strong);
  border-radius: 999px; background: var(--glass-2);
}
.eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background: var(--royal); box-shadow: 0 0 12px var(--royal); }

h1,h2,h3,h4{ font-family: var(--h-display); font-weight: 600; letter-spacing: -0.02em; margin:0; line-height: 1.02; text-wrap: balance; }
h1{ font-size: clamp(44px, 7vw, 104px); }
h2{ font-size: clamp(34px, 4.5vw, 64px); }
h3{ font-size: clamp(22px, 2.2vw, 32px); }
h4{ font-size: clamp(16px, 1.4vw, 22px); letter-spacing: -0.01em; }
p{ line-height: 1.55; color: rgba(255,255,255,.78); font-size: 16px; text-wrap: pretty; }

.mono{ font-family: var(--h-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--sky); }

/* ============== Navbar ============== */
.nav{
  position: fixed; top: 16px; left: 50%; transform: translateX(-50%);
  z-index: 50; width: min(1240px, calc(100% - 24px));
  display:flex; align-items:center; gap: 18px;
  padding: 10px 12px 10px 20px;
  background: rgba(10,37,64,.55);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: 0 20px 60px -20px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06);
}
.nav-logo{ display:flex; align-items:center; gap:10px; font-family: var(--h-display); font-weight: 600; font-size:15px; letter-spacing:-0.01em; }
.nav-logo .dot{ width:8px; height:8px; border-radius:50%; background: var(--royal); box-shadow: 0 0 12px var(--royal); }
.nav-links{ display:flex; gap: 4px; margin: 0 auto; }
.nav-links a{
  padding: 8px 14px; border-radius: 999px; font-size: 13px; letter-spacing: .02em;
  color: rgba(255,255,255,.72); transition: all .2s ease; position: relative;
}
.nav-links a:hover{ color: #fff; background: rgba(255,255,255,.06); }
.nav-links a.active{ color: #fff; background: rgba(30,90,255,.18); }
.nav-cta{
  display:inline-flex; align-items:center; gap:8px; padding: 10px 16px;
  background: var(--royal); color:#fff; border-radius: 999px; font-size: 13px; font-weight:500;
  transition: all .2s ease;
  box-shadow: 0 10px 30px -10px rgba(30,90,255,.7);
}
.nav-cta:hover{ transform: translateY(-1px); box-shadow: 0 16px 40px -10px rgba(30,90,255,.9); }
.nav-burger{ display:none; }
@media (max-width: 960px){
  .nav-links{ display:none; }
  .nav-burger{ display:inline-flex; margin-left:auto; width: 40px; height: 40px; align-items:center; justify-content:center; border-radius:50%; background: rgba(255,255,255,.06); border: 1px solid var(--line); }
  .nav-cta{ padding: 9px 14px; font-size: 12px; }
}

.mobile-menu{
  position: fixed; inset: 0; z-index: 49;
  background: rgba(6,15,30,.92);
  backdrop-filter: blur(22px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition: opacity .3s ease;
}
.mobile-menu.open{ opacity:1; pointer-events:auto; }
.mobile-menu nav{ display:flex; flex-direction:column; gap:6px; text-align:center; }
.mobile-menu a{
  font-family: var(--h-display); font-size: 28px; padding: 10px 20px;
  color: rgba(255,255,255,.7);
}
.mobile-menu a.active{ color: #fff; }

/* ============== Buttons ============== */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 14px 22px; border-radius: 999px; font-size: 14px; font-weight: 500; letter-spacing:.01em;
  transition: all .25s ease;
  cursor: pointer; border: none;
}
.btn-primary{
  background: var(--royal); color:#fff;
  box-shadow: 0 16px 40px -12px rgba(30,90,255,.75), inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 24px 60px -12px rgba(30,90,255,1); }
.btn-secondary{
  background: transparent; color:#fff;
  border: 1px solid var(--line-strong);
  background: rgba(127,179,255,.04);
}
.btn-secondary:hover{ border-color: var(--sky); background: rgba(127,179,255,.1); }
.btn-ghost{
  background: transparent; color: var(--sky); padding: 6px 0;
  border-bottom: 1px solid rgba(127,179,255,.3);
  border-radius: 0;
}
.btn-ghost:hover{ color: #fff; border-color: #fff; }
.btn .arrow{ display:inline-flex; width:16px; height:16px; transition: transform .25s ease; }
.btn:hover .arrow{ transform: translateX(4px); }

/* ============== Hero ============== */
.hero{
  position: relative; min-height: 100vh;
  padding: 140px 0 80px;
  display: flex; align-items: center;
  overflow: hidden;
  background:
    radial-gradient(1200px 600px at 85% 30%, rgba(30,90,255,.18), transparent 60%),
    radial-gradient(800px 500px at 10% 80%, rgba(127,179,255,.1), transparent 60%),
    linear-gradient(180deg, #0A2540, #06172b 80%);
}
.hero-canvas{ position: absolute; inset: 0; z-index: 0; opacity:.9; }
.hero-grid{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(127,179,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,179,255,.05) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.hero-inner{ position: relative; z-index: 3; width:100%; }
.hero h1{
  font-size: clamp(44px, 8vw, 128px);
  line-height: .95; letter-spacing:-0.03em;
  max-width: 15ch;
}
.hero h1 .line{ display:block; overflow:hidden; }
.hero h1 em{ font-style: normal; color: var(--sky); font-weight: 400; }
.hero-sub{
  max-width: 560px; margin-top: 28px; font-size: 18px; color: rgba(255,255,255,.78);
}
.hero-cta{ display:flex; gap: 14px; margin-top: 38px; flex-wrap: wrap; }
.hero-meta{
  position: absolute; left: 28px; bottom: 40px;
  display:flex; align-items:flex-end; gap: 40px; z-index: 3;
  font-family: var(--h-mono); font-size: 11px; letter-spacing:.2em; text-transform: uppercase;
  color: rgba(127,179,255,.7);
}
.hero-meta .line{ width: 60px; height:1px; background: rgba(127,179,255,.4); }
.hero-scroll{
  position:absolute; right: 28px; bottom: 40px; z-index:3;
  display:flex; align-items:center; gap:12px;
  font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: rgba(255,255,255,.5);
}
.hero-scroll .pipe{
  width: 1px; height: 40px; background: linear-gradient(180deg, transparent, var(--sky));
  animation: scrollpulse 1.8s ease-in-out infinite;
}
@keyframes scrollpulse{ 0%,100%{opacity:.3;} 50%{opacity:1;} }
@media(max-width: 700px){
  .hero-meta{ display:none; } .hero-scroll{ display:none; }
}

/* ============== Ticker ============== */
.ticker{
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(10,37,64,.4), rgba(15,53,96,.4));
  position: relative; z-index: 2;
}
.ticker-inner{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 0;
}
.ticker-cell{
  padding: 40px 28px; text-align: left;
  border-right: 1px solid var(--line); position: relative;
}
.ticker-cell:last-child{ border-right: none; }
.ticker-cell .num{
  font-family: var(--h-display); font-size: clamp(36px, 5vw, 64px); font-weight: 600;
  letter-spacing: -0.03em; line-height: 1;
  background: linear-gradient(180deg, #fff, #7FB3FF);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ticker-cell .label{ margin-top: 10px; font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: rgba(127,179,255,.7); text-transform: uppercase; }
.ticker-cell::after{ content:''; position:absolute; left:28px; top:28px; width:6px; height:6px; border-radius:50%; background: var(--royal); box-shadow: 0 0 10px var(--royal); }
@media (max-width: 860px){ .ticker-inner{ grid-template-columns: repeat(2, 1fr); } .ticker-cell:nth-child(2){ border-right: none; } .ticker-cell:nth-child(1), .ticker-cell:nth-child(2){ border-bottom: 1px solid var(--line); } }

/* ============== Sections ============== */
section{ position: relative; padding: 120px 0; }
section.sec-off{ background: var(--off); color: var(--ink); }
section.sec-off p{ color: rgba(6,23,43,.72); }
section.sec-off .eyebrow{ color: var(--royal); background: rgba(30,90,255,.06); border-color: rgba(30,90,255,.18); }
section.sec-off .eyebrow::before{ background: var(--royal); box-shadow: 0 0 10px var(--royal); }
@media (max-width: 720px){ section{ padding: 80px 0; } }

.section-head{ display:flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 56px; flex-wrap:wrap; }
.section-head h2{ max-width: 18ch; }
.section-head .right{ max-width: 460px; }

/* ============== Trust wall ============== */
.trust{
  padding: 56px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, #081e38, #0A2540);
  overflow: hidden; position: relative;
}
.trust-label{ text-align:center; margin-bottom: 30px; }
.trust-grid{
  display:grid; grid-template-columns: repeat(9, 1fr); gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line); border-bottom:1px solid var(--line);
}
.trust-cell{
  padding: 28px 18px; display:flex; align-items:center; justify-content:center;
  background: var(--navy);
  font-family: var(--h-display); font-size: 14px; letter-spacing: .05em;
  color: rgba(255,255,255,.55);
  transition: all .3s ease;
  text-transform: uppercase;
}
.trust-cell:hover{ color:#fff; background: #0d2d4d; }
@media (max-width: 1000px){ .trust-grid{ grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 600px){ .trust-grid{ grid-template-columns: repeat(3, 1fr); } .trust-cell{ font-size: 12px; padding: 20px 10px;} }

/* ============== Why cards ============== */
.why-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px){ .why-grid{ grid-template-columns: 1fr; } }
.why-card{
  position: relative; padding: 36px 32px 40px;
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(180deg, rgba(127,179,255,.05), rgba(127,179,255,.01));
  border-radius: 20px;
  overflow: hidden;
  transform-style: preserve-3d;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .3s ease;
}
.why-card::before{
  content:''; position:absolute; inset:-1px; border-radius:20px; padding:1px;
  background: linear-gradient(135deg, rgba(127,179,255,.35), transparent 50%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.why-card:hover{ border-color: rgba(127,179,255,.5); box-shadow: 0 30px 60px -30px rgba(30,90,255,.55); }
.why-card .num{ font-family: var(--h-mono); font-size: 11px; letter-spacing:.3em; color: var(--sky); }
.why-card h3{ margin-top: 14px; }
.why-card p{ margin-top: 14px; }
.why-card .glow{ position:absolute; right:-60px; top:-60px; width: 240px; height: 240px; border-radius:50%; background: radial-gradient(closest-side, rgba(30,90,255,.45), transparent); filter: blur(20px); opacity:.5; transition: opacity .3s; }
.why-card:hover .glow{ opacity: 1; }

/* ============== Featured / press ============== */
.press-row{
  display:grid; grid-template-columns: repeat(6, 1fr); gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
  border-radius: 16px; overflow: hidden;
}
.press-row > div{ background: var(--navy); padding: 28px 18px; display:flex; align-items:center; justify-content:center; font-family: var(--h-display); font-size:13px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.5); }
@media (max-width: 900px){ .press-row{ grid-template-columns: repeat(3, 1fr);} }

/* ============== Meet Mahdi ============== */
.meet{ display:grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: center; }
@media (max-width: 900px){ .meet{ grid-template-columns: 1fr; } }
.meet-photo{
  position: relative; aspect-ratio: 4/5;
  border-radius: 24px; overflow: hidden;
  border: 1px solid var(--line-strong);
  box-shadow: 0 40px 120px -30px rgba(0,0,0,.8);
}
.meet-photo img{ width:100%; height:100%; object-fit: cover; object-position: center 20%; display:block; transition: transform 1s ease; }
.meet-photo:hover img{ transform: scale(1.04); }
.meet-photo::after{
  content:''; position:absolute; inset:0;
  background: linear-gradient(200deg, transparent 40%, rgba(10,37,64,.8) 100%);
  pointer-events:none;
}
.meet-photo .caption{
  position: absolute; left: 20px; bottom: 20px; right: 20px; z-index:2;
  display:flex; justify-content: space-between; align-items: flex-end; gap: 20px;
}
.meet-photo .caption .l{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: rgba(255,255,255,.8); }
.meet-photo .caption .r{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: var(--sky); }
.meet-photo .frame{
  position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; pointer-events:none;
}
.meet-quote{ font-family: var(--h-display); font-size: clamp(24px, 2.6vw, 36px); line-height: 1.2; letter-spacing:-0.02em; }
.meet-quote .mark{ color: var(--sky); font-size: 1.8em; line-height: 0; vertical-align: -0.3em; margin-right: .05em; }
.meet-bio{ margin-top: 22px; max-width: 52ch; }
.meet-sig{ margin-top: 26px; font-family: var(--h-mono); font-size: 11px; letter-spacing:.25em; color: var(--sky); }

/* ============== Offer grid ============== */
.offers{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1000px){ .offers{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .offers{ grid-template-columns: 1fr; } }
.offer{
  position: relative; padding: 26px; aspect-ratio: 4/5;
  border: 1px solid var(--line-strong); border-radius: 20px;
  background: linear-gradient(180deg, rgba(127,179,255,.04), transparent);
  display:flex; flex-direction: column; justify-content: space-between;
  overflow:hidden;
  transition: transform .4s ease, border-color .3s ease;
}
.offer:hover{ transform: translateY(-4px); border-color: rgba(127,179,255,.55); }
.offer .idx{ font-family: var(--h-mono); font-size: 11px; letter-spacing:.25em; color: var(--sky); }
.offer .title{ font-family: var(--h-display); font-size: 28px; letter-spacing:-0.02em; line-height: 1; }
.offer .desc{ font-size: 14px; color: rgba(255,255,255,.7); margin-top: 10px; }
.offer .cta{ font-family: var(--h-mono); font-size: 11px; letter-spacing:.25em; color: var(--sky); display:flex; align-items:center; gap: 10px; }
.offer .cta .arrow{ transition: transform .3s ease; }
.offer:hover .cta .arrow{ transform: translateX(6px); }
.offer .shape{
  position:absolute; right:-30px; bottom:-30px; width: 180px; height:180px; border-radius:50%;
  border: 1px dashed rgba(127,179,255,.2);
  animation: rot 30s linear infinite;
}
@keyframes rot { to { transform: rotate(360deg); } }
.offer.featured{
  background: linear-gradient(180deg, rgba(30,90,255,.18), rgba(10,37,64,.3));
  border-color: rgba(30,90,255,.5);
}

/* ============== Testimonials ============== */
.testi-wrap{ position:relative; }
.testi-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
@media (max-width: 1000px){ .testi-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .testi-grid{ grid-template-columns: 1fr; } }
.testi{
  padding: 28px; border-radius: 18px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(127,179,255,.05), rgba(10,37,64,.4));
  display:flex; flex-direction:column; gap: 20px;
  position: relative; overflow: hidden;
  transition: all .3s ease;
}
.testi:hover{ border-color: rgba(127,179,255,.45); transform: translateY(-3px); }
.testi .mark{ font-family: var(--h-display); font-size: 56px; line-height: 0; color: var(--royal); height: 28px; }
.testi .body{ font-size: 17px; line-height: 1.45; color: #fff; }
.testi .who{ display:flex; align-items:center; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line); }
.testi .avatar{
  width: 40px; height: 40px; border-radius:50%;
  background: linear-gradient(135deg, var(--royal), var(--sky));
  display:flex; align-items:center; justify-content:center;
  font-family: var(--h-display); font-size: 14px; color:#fff; font-weight: 600;
}
.testi .who .name{ font-size: 14px; font-weight: 500; }
.testi .who .role{ font-size: 12px; color: rgba(255,255,255,.6); margin-top:2px; }
.testi .tag{ position: absolute; top: 24px; right: 24px; font-family: var(--h-mono); font-size: 9px; letter-spacing: .2em; color: var(--sky); opacity: .7; }

/* ============== Warm-sell block ============== */
.warm{
  position: relative; padding: 100px 0; overflow:hidden;
  background:
    radial-gradient(600px 400px at 80% 50%, rgba(30,90,255,.35), transparent 60%),
    linear-gradient(180deg, #0A2540, #0f3560);
}
.warm .wrap{ display:grid; grid-template-columns: 1fr auto; gap: 40px; align-items:center; }
.warm h2{ max-width: 16ch; }
.warm .aside{ font-family: var(--h-mono); font-size: 11px; letter-spacing:.25em; color: var(--sky); border-left: 1px solid var(--line-strong); padding-left: 20px; max-width: 280px; }
@media (max-width: 900px){ .warm .wrap{ grid-template-columns: 1fr; } }

/* ============== Newsletter ============== */
.news{
  padding: 120px 0;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(30,90,255,.2), transparent 70%),
    linear-gradient(180deg, #06172b, #0A2540);
  text-align:center; position:relative;
}
.news h2{ max-width: 20ch; margin: 0 auto; }
.news .sub{ margin-top: 18px; max-width: 48ch; margin-left:auto; margin-right:auto; }
.news-form{
  margin-top: 40px; display:flex; gap: 10px; max-width: 520px; margin-left:auto; margin-right:auto;
  background: rgba(127,179,255,.06);
  border: 1px solid var(--line-strong);
  padding: 8px; border-radius: 999px;
}
.news-form input{
  flex:1; background: transparent; border: none; outline: none; color: #fff;
  font-family: var(--h-body); font-size: 15px; padding: 10px 16px;
}
.news-form input::placeholder{ color: rgba(255,255,255,.5); }
.news-socials{
  margin-top: 28px; display:flex; justify-content:center; gap: 16px;
  font-family: var(--h-mono); font-size: 11px; letter-spacing: .25em; color: rgba(255,255,255,.5);
}
.news-socials a{ color: var(--sky); border-bottom: 1px solid transparent; }
.news-socials a:hover{ border-color: var(--sky); }

/* ============== Footer ============== */
footer{
  background: #050f1d; border-top: 1px solid var(--line); padding: 80px 0 40px;
  position: relative;
}
.foot-grid{ display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }
@media (max-width: 900px){ .foot-grid{ grid-template-columns: 1fr 1fr; } }
.foot h5{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.3em; color: var(--sky); margin: 0 0 18px; }
.foot a{ display:block; font-size: 14px; color: rgba(255,255,255,.6); padding: 6px 0; transition: color .2s ease; }
.foot a:hover{ color: #fff; }
.foot-brand .logo{ display:flex; align-items:center; gap:12px; font-family: var(--h-display); font-size: 22px; font-weight: 600; }
.foot-brand p{ margin-top: 16px; max-width: 36ch; font-size: 14px; }
.foot-bottom{
  margin-top: 60px; padding-top: 24px; border-top: 1px solid var(--line);
  display:flex; justify-content: space-between; align-items:center; gap: 20px;
  font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: rgba(255,255,255,.4);
  flex-wrap: wrap;
}

/* ============== Mentorship page ============== */
.page-hero{
  position: relative; min-height: 72vh; padding: 160px 0 80px;
  display:flex; align-items:center;
  overflow: hidden;
}
.page-hero-bg{
  position: absolute; inset:0;
  background:
    radial-gradient(900px 500px at 80% 50%, rgba(30,90,255,.3), transparent 60%),
    radial-gradient(600px 400px at 10% 100%, rgba(127,179,255,.2), transparent 60%),
    linear-gradient(180deg, #0A2540, #081e38);
}
.page-hero-bg .stage-img{
  position: absolute; right: 0; top: 0; bottom: 0; width: 55%;
  background: url('assets/mahdi-stage-2.jpg') center 10% / cover no-repeat;
  opacity: .45;
  mask-image: linear-gradient(270deg, #000 0%, transparent 70%);
  -webkit-mask-image: linear-gradient(270deg, #000 0%, transparent 70%);
}
.page-hero-bg .stage-img.v3{ background-image: url('assets/mahdi-stage-3.jpg'); }
.page-hero-bg .stage-img.v1{ background-image: url('assets/mahdi-stage.jpeg'); }

/* Podcast player */
.podcast{
  display:grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: center;
}
@media (max-width: 900px){ .podcast{ grid-template-columns: 1fr; } }
.podcast-video{
  position: relative; aspect-ratio: 16/9;
  border-radius: 20px; overflow: hidden;
  border: 1px solid var(--line-strong);
  box-shadow: 0 40px 120px -30px rgba(0,0,0,.7);
  background: #000;
}
.podcast-video iframe{ width:100%; height:100%; border:0; }
.podcast-thumb{
  position:absolute; inset:0; cursor: pointer;
  background: url('assets/mahdi-stage-3.jpg') center / cover no-repeat;
  display:flex; align-items:center; justify-content:center;
  transition: transform .5s ease;
}
.podcast-thumb::before{
  content:''; position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 40%, rgba(10,37,64,.7) 100%);
}
.podcast-thumb:hover{ transform: scale(1.02); }
.play-btn{
  position: relative; z-index: 2;
  width: 90px; height: 90px; border-radius: 50%;
  background: rgba(30,90,255,.9); backdrop-filter: blur(10px);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 0 0 8px rgba(30,90,255,.15), 0 20px 60px rgba(30,90,255,.5);
  transition: transform .3s ease;
}
.podcast-thumb:hover .play-btn{ transform: scale(1.08); }
.podcast-thumb .label{
  position:absolute; left: 20px; bottom: 20px; z-index:2;
  font-family: var(--h-mono); font-size: 10px; letter-spacing: .3em; color: #fff;
}
.podcast-thumb .label::before{
  content:''; display:inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: #ff3b3b; margin-right: 10px; vertical-align: middle;
  box-shadow: 0 0 12px #ff3b3b; animation: pin 1.4s ease-in-out infinite;
}
.page-hero .eyebrow{ margin-bottom: 28px; }
.page-hero h1{ font-size: clamp(40px, 6vw, 92px); max-width: 14ch; line-height: .98; }
.page-hero .lede{ margin-top: 24px; max-width: 56ch; font-size: 18px; color: rgba(255,255,255,.8); }

/* ICP cards */
.icp-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 820px){ .icp-grid{ grid-template-columns: 1fr; } }
.icp{
  padding: 32px; border-radius: 20px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(127,179,255,.05), transparent);
  transition: all .3s ease;
  position: relative;
}
.icp:hover{ border-color: rgba(127,179,255,.5); transform: translateY(-3px); }
.icp .n{ font-family: var(--h-display); font-size: 48px; color: var(--sky); opacity:.35; line-height: 1; }
.icp h3{ margin-top: 10px; font-size: 20px; text-transform: uppercase; letter-spacing: .02em; }
.icp p{ margin-top: 14px; }

/* Who not for */
.not-for{
  display:grid; grid-template-columns: 1fr 1fr; gap: 40px;
  padding: 48px; border-radius: 24px;
  background: linear-gradient(135deg, rgba(30,90,255,.08), transparent);
  border: 1px solid var(--line-strong);
}
@media (max-width: 820px){ .not-for{ grid-template-columns: 1fr; padding: 32px; } }
.not-for .col{ }
.not-for h3{ font-size: 24px; margin-bottom: 20px; }
.not-for ul{ list-style: none; padding: 0; margin: 0; }
.not-for li{ display:flex; gap: 12px; padding: 10px 0; font-size: 15px; color: rgba(255,255,255,.85); border-bottom: 1px dashed var(--line); }
.not-for li:last-child{ border: none; }
.not-for li .ic{ flex: none; width: 16px; height: 16px; margin-top: 3px; }
.not-for .bad .ic{ color: #ff5a5a; }
.not-for .good .ic{ color: var(--sky); }

/* What you get */
.get-list{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 20px; overflow:hidden; }
@media (max-width: 820px){ .get-list{ grid-template-columns: 1fr; } }
.get-list > div{
  padding: 28px; background: var(--navy);
  display:flex; gap: 16px; align-items: flex-start;
  transition: background .2s ease;
}
.get-list > div:hover{ background: #0d2d4d; }
.get-list .n{
  font-family: var(--h-mono); font-size: 11px; letter-spacing: .2em;
  color: var(--sky); flex: none; padding-top: 3px;
}
.get-list .body{ font-size: 15px; color: rgba(255,255,255,.88); line-height: 1.5; }
.get-list .body strong{ color: #fff; font-weight: 500; }

/* Results wall */
.results-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 1000px){ .results-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px){ .results-grid{ grid-template-columns: 1fr; } }
.result{
  padding: 28px; border-radius: 18px;
  background: linear-gradient(180deg, rgba(127,179,255,.06), rgba(10,37,64,.4));
  border: 1px solid var(--line-strong);
  transform-style: preserve-3d;
  transition: transform .4s ease;
}
.result:hover{ transform: rotateY(4deg) rotateX(-3deg) translateY(-4px); }
.result .kpi{ font-family: var(--h-display); font-size: 44px; letter-spacing: -0.03em; line-height:1;
  background: linear-gradient(180deg, #fff, #7FB3FF); -webkit-background-clip:text; background-clip:text; color: transparent;
}
.result .tag{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: var(--sky); margin-top: 12px; }
.result .desc{ margin-top: 12px; font-size: 14px; color: rgba(255,255,255,.75); }
.result .foot{ margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12px; color: rgba(255,255,255,.5); }

/* Timeline */
.timeline{ position: relative; padding: 30px 0; }
.timeline-line{
  position:absolute; left: 0; right: 0; top: 56px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-strong), transparent);
}
.tl-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
@media (max-width: 860px){ .tl-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px){ .tl-grid{ grid-template-columns: 1fr; } }
.tl-step{ position: relative; padding-top: 72px; }
.tl-step .dot{
  position:absolute; top: 50px; left: 0; width: 14px; height: 14px; border-radius:50%;
  background: var(--navy); border: 2px solid var(--sky);
  box-shadow: 0 0 18px rgba(30,90,255,.6);
}
.tl-step .when{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: var(--sky); margin-bottom: 10px; }
.tl-step h4{ font-size: 18px; margin-bottom: 10px; }
.tl-step p{ font-size: 14px; }

/* FAQ */
.faq{ border-top: 1px solid var(--line); }
.faq-item{
  border-bottom: 1px solid var(--line);
  padding: 28px 0; cursor: pointer;
  transition: background .2s ease;
}
.faq-item:hover{ background: rgba(127,179,255,.02); }
.faq-q{ display:flex; justify-content: space-between; align-items: center; gap: 20px; }
.faq-q .q{ font-family: var(--h-display); font-size: 20px; letter-spacing: -0.01em; }
.faq-q .plus{
  width: 24px; height: 24px; border-radius: 50%;
  border: 1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center;
  transition: transform .3s ease, background .3s ease;
  flex: none;
}
.faq-item.open .plus{ transform: rotate(135deg); background: var(--royal); border-color: var(--royal); }
.faq-a{
  max-height: 0; overflow: hidden; transition: max-height .4s ease, margin-top .3s ease;
  color: rgba(255,255,255,.75); font-size: 15px;
}
.faq-item.open .faq-a{ max-height: 300px; margin-top: 14px; }

/* Application form */
.apply{
  background: linear-gradient(180deg, rgba(30,90,255,.08), transparent);
  border: 1px solid var(--line-strong); border-radius: 28px;
  padding: 48px;
  max-width: 760px; margin: 0 auto;
}
@media (max-width: 640px){ .apply{ padding: 28px 22px; } }
.apply-steps{
  display:flex; gap: 8px; margin-bottom: 36px; font-family: var(--h-mono); font-size: 10px; letter-spacing: .25em; color: rgba(255,255,255,.4);
  flex-wrap: wrap;
}
.apply-steps .s{ padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); }
.apply-steps .s.active{ color: #fff; background: rgba(30,90,255,.2); border-color: rgba(30,90,255,.6); }
.apply-steps .s.done{ color: var(--sky); border-color: var(--line-strong); }
.apply label{ display:block; font-family: var(--h-mono); font-size: 10px; letter-spacing: .25em; color: var(--sky); margin-bottom: 10px; }
.apply input, .apply textarea, .apply select{
  width:100%; background: rgba(127,179,255,.04); border: 1px solid var(--line-strong);
  color:#fff; padding: 14px 16px; border-radius: 12px; font-family: var(--h-body); font-size: 16px; outline: none;
  transition: border-color .2s ease;
}
.apply input:focus, .apply textarea:focus, .apply select:focus{ border-color: var(--sky); }
.apply textarea{ resize: vertical; min-height: 120px; }
.apply .row{ display:grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
@media (max-width: 640px){ .apply .row{ grid-template-columns: 1fr; } }
.apply-nav{ display:flex; justify-content: space-between; align-items:center; margin-top: 24px; gap: 10px; }

/* ============== Courses ============== */
.course-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 1000px){ .course-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .course-grid{ grid-template-columns: 1fr; } }
.course{
  position: relative; aspect-ratio: 4/5;
  border-radius: 20px; overflow: hidden; cursor: pointer;
  border: 1px solid var(--line-strong);
  background: #06172b;
  perspective: 1000px;
}
.course-inner{
  position: absolute; inset: 0; transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.course:hover .course-inner{ transform: rotateY(180deg); }
.course-face{
  position:absolute; inset: 0; backface-visibility: hidden;
  padding: 24px; display:flex; flex-direction: column; justify-content: space-between;
}
.course-face.back{
  transform: rotateY(180deg);
  background: linear-gradient(180deg, #0d2d4d, #0A2540);
}
.course-face.front::before{
  content:''; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(400px 300px at var(--gx,80%) var(--gy,20%), rgba(30,90,255,.5), transparent 60%),
    linear-gradient(180deg, #0f3560, #06172b);
}
.course-face > *{ position: relative; z-index: 1; }
.course .shape{
  position:absolute; top: 20px; right: 20px; width: 80px; height: 80px;
  opacity: .3;
}
.course .top{ display:flex; justify-content:space-between; align-items:flex-start; gap: 20px; }
.course .status{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: var(--sky); padding: 4px 10px; border: 1px solid var(--line-strong); border-radius: 999px; }
.course .status.soon{ color: var(--gold); border-color: rgba(212,175,55,.4); background: rgba(212,175,55,.05); }
.course .bottom .title{ font-family: var(--h-display); font-size: 26px; letter-spacing: -0.02em; line-height: 1.05; }
.course .bottom .meta{ margin-top: 14px; display:flex; flex-wrap: wrap; gap: 12px; font-family: var(--h-mono); font-size: 10px; letter-spacing:.2em; color: rgba(255,255,255,.6); text-transform: uppercase; }
.course .bottom .meta span{ display:inline-flex; align-items: center; gap: 6px; }
.course .bottom .meta span::before{ content:''; width: 4px; height: 4px; border-radius:50%; background: var(--sky); }
.course-face.back .desc{ font-size: 14px; color: rgba(255,255,255,.8); }
.course-face.back .price{ font-family: var(--h-display); font-size: 22px; color: var(--sky); margin-top: 14px; }

.bundle{
  margin-top: 60px; padding: 48px;
  background:
    radial-gradient(600px 300px at 80% 50%, rgba(30,90,255,.3), transparent 60%),
    linear-gradient(135deg, #0d2d4d, #0A2540);
  border: 1px solid var(--line-strong);
  border-radius: 28px;
  display:grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center;
}
@media (max-width: 860px){ .bundle{ grid-template-columns: 1fr; padding: 32px; } }
.bundle h3{ font-size: clamp(28px, 3vw, 40px); }
.bundle ul{ list-style: none; padding: 0; margin-top: 20px; }
.bundle li{ display:flex; gap: 12px; padding: 6px 0; font-size: 14px; color: rgba(255,255,255,.85); }
.bundle li::before{ content: '—'; color: var(--sky); }
.bundle-price{
  text-align: center; padding: 28px;
  background: rgba(255,255,255,.04); border-radius: 20px; border: 1px solid var(--line-strong);
}
.bundle-price .label{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.25em; color: var(--sky); }
.bundle-price .amount{ font-family: var(--h-display); font-size: 56px; letter-spacing: -0.02em; margin: 10px 0; }
.bundle-price .amount small{ font-size: 16px; color: rgba(255,255,255,.6); font-weight: 400; }
.bundle-price .cta{ margin-top: 16px; }

/* ============== Read (Books) ============== */
.books-hero{ display:grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
@media (max-width: 900px){ .books-hero{ grid-template-columns: 1fr; } }
.book-cover-3d{
  position: relative; perspective: 1200px;
  aspect-ratio: 2/3; max-width: 420px;
}
.book-cover-3d .book{
  position:absolute; inset: 0; transform-style: preserve-3d;
  animation: bookfloat 8s ease-in-out infinite;
  transition: transform .4s ease;
}
@keyframes bookfloat { 0%,100%{ transform: rotateY(-18deg) rotateX(5deg) translateY(0);} 50%{ transform: rotateY(-14deg) rotateX(3deg) translateY(-12px);} }
.book-cover-3d:hover .book{ animation-play-state: paused; transform: rotateY(-8deg) rotateX(0); }
.book-cover-3d img{ width:100%; height:100%; display:block; border-radius: 4px;
  box-shadow:
    -20px 30px 60px -20px rgba(0,0,0,.8),
    20px 0 0 0 #e25d1a inset,
    20px 0 0 -1px rgba(0,0,0,.3) inset;
}
.book-cover-3d .spine{
  position: absolute; left: 0; top: 2%; bottom: 2%; width: 20px;
  background: linear-gradient(90deg, #c94b12, #e25d1a);
  transform: translateZ(-10px) rotateY(90deg) translateX(-10px);
  transform-origin: left;
}
.book-cover-3d .badge{
  position: absolute; top: 16px; right: -12px; z-index: 2;
  font-family: var(--h-mono); font-size: 11px; letter-spacing: .25em;
  padding: 8px 14px; background: var(--royal); color:#fff; border-radius: 999px;
  box-shadow: 0 10px 30px -8px rgba(30,90,255,.7);
  transform: rotate(3deg);
}
.book-info h2{ font-size: clamp(32px, 4vw, 56px); }
.book-info .hook{ margin-top: 18px; font-size: 17px; max-width: 50ch; }
.book-info .waitlist{
  margin-top: 30px; display:flex; gap: 10px;
  background: rgba(127,179,255,.06); border: 1px solid var(--line-strong);
  padding: 8px; border-radius: 999px; max-width: 480px;
}
.book-info .waitlist input{ flex:1; background: transparent; border: none; color:#fff; padding: 10px 16px; outline: none; font-size: 15px; }
.book-info .waitlist input::placeholder{ color: rgba(255,255,255,.5); }
.book-info .signed{ margin-top: 20px; font-family: var(--h-mono); font-size: 11px; letter-spacing: .2em; color: var(--gold); display:flex; align-items:center; gap: 10px; }
.book-info .signed::before{ content:'★'; color: var(--gold); }

.book-upcoming{ margin-top: 80px; display:grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 820px){ .book-upcoming{ grid-template-columns: 1fr; } }
.upcoming-card{
  padding: 36px; border-radius: 20px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(127,179,255,.05), transparent);
  display:flex; flex-direction: column; gap: 16px;
  aspect-ratio: 5/3;
  justify-content: space-between;
  position: relative; overflow: hidden;
  transition: all .3s ease;
}
.upcoming-card:hover{ border-color: rgba(127,179,255,.5); }
.upcoming-card .yr{ font-family: var(--h-display); font-size: 96px; opacity: .08; position:absolute; top: -18px; right: -10px; letter-spacing:-0.05em; }
.upcoming-card h3{ font-size: 28px; }
.upcoming-card .hint{ font-size: 14px; color: rgba(255,255,255,.7); }
.upcoming-card .waitlist-mini{ display:flex; gap: 8px; margin-top: 10px; }
.upcoming-card .waitlist-mini input{ flex:1; background: rgba(127,179,255,.04); border: 1px solid var(--line); color: #fff; padding: 10px 14px; border-radius: 999px; font-size: 13px; outline: none; }

/* ============== Community ============== */
.comm-cols{ display:grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 860px){ .comm-cols{ grid-template-columns: 1fr; } }
.comm-col{
  padding: 40px; border-radius: 24px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(127,179,255,.05), transparent);
  display:flex; flex-direction: column; gap: 20px;
  position: relative; overflow: hidden;
}
.comm-col.paid{ background: linear-gradient(180deg, rgba(212,175,55,.08), rgba(10,37,64,.3)); border-color: rgba(212,175,55,.25); }
.comm-col .tier{ font-family: var(--h-mono); font-size: 10px; letter-spacing:.3em; color: var(--sky); }
.comm-col.paid .tier{ color: var(--gold); }
.comm-col h3{ font-size: 32px; }
.comm-col ul{ list-style:none; padding: 0; margin-top: 10px; }
.comm-col li{ padding: 8px 0; font-size: 14px; border-bottom: 1px dashed var(--line); color: rgba(255,255,255,.8); }
.comm-col li:last-child{ border: none; }
.comm-stats{ margin-top: 60px; display:grid; grid-template-columns: 1fr 2fr; gap: 30px; align-items: center; }
@media (max-width: 900px){ .comm-stats{ grid-template-columns: 1fr; } }
.globe-stat{
  position: relative; aspect-ratio: 1/1; border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(127,179,255,.25), transparent 60%),
    #06172b;
  border: 1px solid var(--line-strong);
  overflow: hidden;
}
.globe-stat canvas{ width:100%; height: 100%; display:block; }
.comm-countries{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 10px; font-size: 13px; font-family: var(--h-mono); letter-spacing: .1em; color: rgba(255,255,255,.7); text-transform: uppercase; }
@media (max-width: 700px){ .comm-countries{ grid-template-columns: repeat(2, 1fr); } }
.comm-countries span{ padding: 10px 0; border-bottom: 1px dashed var(--line); display:flex; align-items: center; gap: 8px; }
.comm-countries span::before{ content:''; width: 6px; height: 6px; border-radius:50%; background: var(--royal); box-shadow: 0 0 8px var(--royal); }

/* ============== Newsletter page ============== */
.news-preview{
  display:grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
  margin-top: 60px;
}
@media (max-width: 900px){ .news-preview{ grid-template-columns: 1fr; } }
.email-stack{ position: relative; perspective: 1200px; aspect-ratio: 4/5; max-width: 440px; margin: 0 auto; }
.email-mock{
  position: absolute; inset: 0; border-radius: 14px; padding: 22px;
  background: #fff; color: #06172b; transform-style: preserve-3d;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,.6);
  transition: transform .4s ease;
  border: 1px solid rgba(0,0,0,.06);
}
.email-mock:nth-child(1){ transform: rotateY(-12deg) rotateX(6deg) translate(-30px, -20px); z-index:1; opacity: .55; }
.email-mock:nth-child(2){ transform: rotateY(-6deg) rotateX(3deg) translate(-10px, -10px); z-index:2; opacity: .8; }
.email-mock:nth-child(3){ transform: rotateY(0) rotateX(0); z-index: 3; }
.email-stack:hover .email-mock:nth-child(1){ transform: rotateY(-16deg) rotateX(8deg) translate(-50px, -40px); }
.email-stack:hover .email-mock:nth-child(2){ transform: rotateY(-8deg) rotateX(4deg) translate(-20px, -20px); }
.email-mock .top{ display:flex; justify-content: space-between; align-items: center; font-family: var(--h-mono); font-size: 9px; letter-spacing: .2em; color: rgba(0,0,0,.5); text-transform: uppercase; padding-bottom: 14px; border-bottom: 1px solid rgba(0,0,0,.08); }
.email-mock .sender{ font-family: var(--h-display); font-size: 14px; color: #06172b; margin-top: 16px; font-weight: 600; }
.email-mock .subject{ font-family: var(--h-display); font-size: 22px; font-weight: 600; margin-top: 6px; letter-spacing: -0.01em; line-height: 1.1; }
.email-mock .pre{ margin-top: 12px; font-size: 12px; color: rgba(0,0,0,.6); line-height: 1.4; }
.email-mock .bar{ margin-top: 20px; height: 6px; border-radius: 2px; background: linear-gradient(90deg, #1E5AFF, #7FB3FF); width: 40%; }
.email-mock .rows{ margin-top: 14px; display:flex; flex-direction: column; gap: 6px; }
.email-mock .rows div{ height: 6px; background: rgba(0,0,0,.08); border-radius: 2px; }
.email-mock .rows div:nth-child(1){ width: 90%;}
.email-mock .rows div:nth-child(2){ width: 80%;}
.email-mock .rows div:nth-child(3){ width: 65%;}
.email-mock .rows div:nth-child(4){ width: 85%;}
.email-mock .rows div:nth-child(5){ width: 50%;}

/* ============== Partnerships ============== */
.tier-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 1000px){ .tier-grid{ grid-template-columns: 1fr; } }
.tier{
  padding: 36px 28px; border-radius: 24px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(127,179,255,.05), transparent);
  display:flex; flex-direction: column; gap: 20px;
  position: relative;
  transition: all .3s ease;
}
.tier:hover{ transform: translateY(-4px); border-color: rgba(127,179,255,.5); }
.tier.featured{
  background: linear-gradient(180deg, rgba(30,90,255,.15), rgba(10,37,64,.3));
  border-color: rgba(30,90,255,.55);
}
.tier .badge-popular{
  position:absolute; top: -12px; left: 28px;
  font-family: var(--h-mono); font-size: 10px; letter-spacing: .3em;
  padding: 6px 12px; border-radius: 999px;
  background: var(--royal); color: #fff;
}
.tier .tn{ font-family: var(--h-mono); font-size: 11px; letter-spacing: .3em; color: var(--sky); }
.tier h3{ font-size: 26px; }
.tier .what{ font-size: 14px; color: rgba(255,255,255,.78); line-height: 1.55; }
.tier .ideal{ font-size: 13px; color: var(--sky); font-family: var(--h-mono); letter-spacing: .08em; border-top: 1px dashed var(--line); padding-top: 14px; }
.tier .qual{ font-size: 12px; color: rgba(255,255,255,.55); font-style: italic; }

.hard-filter{
  margin-top: 60px; padding: 36px 40px; border: 1px dashed rgba(255,90,90,.4);
  border-radius: 20px; display:flex; gap: 22px; align-items: center;
  background: rgba(255,90,90,.04);
}
@media (max-width: 620px){ .hard-filter{ flex-direction: column; align-items: flex-start; padding: 28px;} }
.hard-filter .x{
  width: 48px; height: 48px; flex: none;
  border: 1px solid rgba(255,90,90,.5); border-radius: 50%;
  display:flex; align-items: center; justify-content: center;
  color: #ff5a5a;
}
.hard-filter h4{ margin-bottom: 6px; color: #fff; }
.hard-filter p{ margin: 0; font-size: 14px; }

/* Contact */
.contact-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
@media (max-width: 820px){ .contact-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px){ .contact-grid{ grid-template-columns: 1fr; } }
.contact-tile{
  padding: 32px; border-radius: 18px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(127,179,255,.04), transparent);
  display:flex; flex-direction:column; justify-content: space-between; gap: 30px;
  aspect-ratio: 4/3;
  transition: all .3s ease; cursor: pointer;
}
.contact-tile:hover{ border-color: var(--sky); transform: translateY(-3px); background: rgba(30,90,255,.08); }
.contact-tile .ic{ width: 40px; height: 40px; border: 1px solid var(--line-strong); border-radius: 12px; display:flex; align-items: center; justify-content: center; color: var(--sky); }
.contact-tile h3{ font-size: 20px; }
.contact-tile .arrow{ align-self: flex-end; color: var(--sky); }

.map-blk{
  margin-top: 60px; padding: 40px;
  border: 1px solid var(--line-strong); border-radius: 24px;
  background:
    radial-gradient(circle at 80% 20%, rgba(30,90,255,.15), transparent 60%),
    #081e38;
  display:grid; grid-template-columns: 1fr 1.5fr; gap: 40px;
  overflow: hidden;
}
@media (max-width: 900px){ .map-blk{ grid-template-columns: 1fr; } }
.map-blk .map-img{
  aspect-ratio: 1/1; border-radius: 16px;
  background:
    radial-gradient(circle at 55% 45%, rgba(30,90,255,.3), transparent 50%),
    repeating-linear-gradient(0deg, rgba(127,179,255,.05) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(90deg, rgba(127,179,255,.05) 0 1px, transparent 1px 28px),
    #06172b;
  position: relative;
  border: 1px solid var(--line-strong);
}
.map-blk .map-img::after{
  content:''; position: absolute; left: 55%; top: 45%;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--royal); transform: translate(-50%, -50%);
  box-shadow: 0 0 0 8px rgba(30,90,255,.15), 0 0 30px rgba(30,90,255,.6);
  animation: pin 2s ease-in-out infinite;
}
@keyframes pin { 0%,100%{box-shadow: 0 0 0 8px rgba(30,90,255,.15), 0 0 30px rgba(30,90,255,.6);} 50%{box-shadow: 0 0 0 16px rgba(30,90,255,.05), 0 0 40px rgba(30,90,255,.8);} }

/* Reveal on scroll */
.reveal{ opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity: 1; transform: translateY(0); }

/* page transition */
.page-wrap{ min-height: 70vh; }
.page-fade{ animation: pageIn .6s ease; }
@keyframes pageIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Placeholder banner */
.placeholder-banner{
  padding: 14px 20px; border-radius: 14px;
  background: rgba(212,175,55,.06);
  border: 1px dashed rgba(212,175,55,.35);
  color: rgba(212,175,55,.9);
  font-family: var(--h-mono); font-size: 11px; letter-spacing: .15em;
  display:flex; gap: 12px; align-items: center;
}
.placeholder-banner::before{ content: '◇'; color: var(--gold); }

/* Utility */
.two-col{ display:grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 820px){ .two-col{ grid-template-columns: 1fr; } }
.center{ text-align: center; }
.mt-24{ margin-top: 24px; } .mt-40{ margin-top: 40px; } .mt-60{ margin-top: 60px; }
