/* ═══════════════════════════════════════════════
   HEREFOR — styles.css v5
   Mobile-first. Built for dads on their phones.
═══════════════════════════════════════════════ */

:root {
  --navy:     #0D1B2A;
  --navy-2:   #162333;
  --navy-3:   #1E2F42;
  --navy-4:   #243A52;
  --gold:     #D4922A;
  --gold-2:   #E0A23C;
  --gold-glow:rgba(212,146,42,0.15);
  --gold-dim: rgba(212,146,42,0.25);
  --rust:     #B84C2B;
  --white:    #FFFFFF;
  --w80:      rgba(255,255,255,0.80);
  --w60:      rgba(255,255,255,0.60);
  --w40:      rgba(255,255,255,0.40);
  --w20:      rgba(255,255,255,0.20);
  --w10:      rgba(255,255,255,0.10);
  --w06:      rgba(255,255,255,0.06);
  --w04:      rgba(255,255,255,0.04);
  --f-display:   'Bebas Neue', sans-serif;
  --f-edit:      'Playfair Display', serif;
  --f-body:      'DM Sans', sans-serif;
  --ease: all 0.2s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { height:100%; -webkit-text-size-adjust:100%; }
body {
  height:100%; font-family:var(--f-body);
  background:var(--navy); color:var(--white);
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
button { cursor:pointer; font-family:var(--f-body); }

/* ── SCREENS ──────────────────────────────────── */
body:not(.school-page) { overflow:hidden; }
.screen { position:fixed; inset:0; display:none; flex-direction:column; }
.screen.active { display:flex; animation:fadeIn 0.2s ease; }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* ═══════════════════════════════════════════════
   LANDING — ANDRES centered hero
═══════════════════════════════════════════════ */

#screen-landing {
  display:flex; flex-direction:column;
  overflow:hidden;
}

/* Ambient glows */
.glow {
  position:fixed; pointer-events:none; z-index:0;
  border-radius:50%;
}
.glow-top {
  top:-25%; right:-15%; width:70vw; height:70vw;
  background:radial-gradient(circle,rgba(212,146,42,0.09) 0%,transparent 65%);
}
.glow-bot {
  bottom:-20%; left:-15%; width:60vw; height:60vw;
  background:radial-gradient(circle,rgba(184,76,43,0.07) 0%,transparent 65%);
}

/* Top nav */
.top-nav {
  position:relative; z-index:10;
  display:flex; align-items:baseline; justify-content:space-between;
  padding:14px 20px 0;
  flex-shrink:0;
}
.nav-wordmark {
  font-family:var(--f-display); font-size:42px;
  letter-spacing:0.04em; line-height:1;
}
.nav-wordmark span { color:var(--gold); }
.nav-tagline {
  font-size:11px; color:var(--w40);
  font-style:italic; letter-spacing:0.03em;
  display:none; /* hidden on mobile, shown desktop */
}

/* ── HERO WRAP ─────────────────────────────────
   Desktop: relative container, pills orbit around center card
   Mobile: hide hero, show mobile-pills section instead
─────────────────────────────────────────────── */
.hero-wrap {
  position:relative; z-index:1;
  flex:1;
  display:none; /* hidden on mobile */
  align-items:center; justify-content:center;
}

/* ANDRES center card */
.andres-center {
  background:rgba(255,255,255,0.04);
  border:1px solid var(--gold-dim);
  border-radius:24px;
  padding:28px 32px;
  width:320px;
  display:flex; flex-direction:column; align-items:center;
  gap:12px;
  text-align:center;
  position:relative; z-index:5;
  box-shadow:0 0 60px rgba(212,146,42,0.08);
}

.andres-avatar-wrap { position:relative; flex-shrink:0; }
.andres-avatar {
  width:72px; height:72px; border-radius:50%;
  background:var(--navy-3); border:2.5px solid var(--gold-dim);
  display:flex; align-items:center; justify-content:center;
  font-size:32px;
}
.andres-pulse {
  position:absolute; inset:-6px; border-radius:50%;
  border:1.5px solid rgba(212,146,42,0.2);
  animation:pulsering 2.5s ease-out infinite;
}
@keyframes pulsering {
  0%   { transform:scale(0.95); opacity:0.8; }
  70%  { transform:scale(1.15); opacity:0; }
  100% { opacity:0; }
}
.andres-online {
  position:absolute; bottom:3px; right:3px;
  width:14px; height:14px; border-radius:50%;
  background:#4CAF50; border:2.5px solid var(--navy);
}

.andres-name {
  font-family:var(--f-display); font-size:40px;
  letter-spacing:0.07em; line-height:1;
}
.andres-acronym {
  font-size:10px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--gold); line-height:1.5; font-weight:400;
}
.andres-quote {
  font-family:var(--f-edit); font-style:italic;
  font-size:13.5px; line-height:1.65; color:var(--w60);
  border-top:1px solid var(--w10); padding-top:12px; width:100%;
}
.andres-quote strong {
  color:var(--white); font-style:normal;
  font-family:var(--f-body); font-weight:600;
}

/* CTA inside the card (desktop) */
.cta-btn {
  width:100%; padding:14px 20px;
  background:var(--gold); border:none; border-radius:100px;
  font-family:var(--f-display); font-size:20px;
  letter-spacing:0.07em; color:var(--navy);
  transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.cta-btn:hover   { background:var(--gold-2); }
.cta-btn:active  { transform:scale(0.98); }

/* ── FLOATING PILLS ───────────────────────────── */
.pill {
  position:absolute;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:100px;
  padding:10px 18px;
  font-size:13px; font-weight:400; color:var(--w80);
  white-space:nowrap;
  transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
  z-index:4;
}
.pill:hover {
  background:var(--gold-glow); border-color:var(--gold-dim);
  color:var(--white); transform:translateY(-2px) !important;
}

/* ── 15-pill layout ─────────────────────────────
   Left column (English + Spanish)
   Right column (English + Arabic + others)
   Top/bottom scattered
──────────────────────────────────────────────── */

/* English — left side */
.pill-1  { top:8%;    left:1%;   animation:f1  3.2s ease-in-out infinite; }
.pill-3  { top:36%;   left:0%;   animation:f3  4.1s ease-in-out infinite; }
.pill-5  { bottom:20%;left:1%;   animation:f5  3.9s ease-in-out infinite; }

/* English — right side */
.pill-2  { top:8%;    right:1%;  animation:f2  3.8s ease-in-out infinite; }
.pill-4  { top:36%;   right:0%;  animation:f4  3.5s ease-in-out infinite; }
.pill-6  { bottom:20%;right:1%;  animation:f6  4.3s ease-in-out infinite; }

/* Spanish — inner left */
.pill-7  { top:18%;   left:20%;  animation:f7  4.6s ease-in-out infinite; }
.pill-8  { bottom:30%;left:16%;  animation:f8  3.4s ease-in-out infinite; }
.pill-9  { bottom:8%; left:22%;  animation:f9  4.8s ease-in-out infinite; }

/* Arabic — inner right */
.pill-10 { top:18%;   right:18%; animation:f10 3.7s ease-in-out infinite; }
.pill-11 { bottom:30%;right:14%; animation:f11 4.2s ease-in-out infinite; }

/* Vietnamese — top center-left */
.pill-12 { top:4%;    left:30%;  animation:f12 5.1s ease-in-out infinite; }

/* Somali — bottom center-left */
.pill-13 { bottom:6%; left:30%;  animation:f13 4.5s ease-in-out infinite; }

/* Amharic — top center-right */
.pill-14 { top:4%;    right:28%; animation:f14 3.6s ease-in-out infinite; }

/* Haitian Creole — bottom center-right */
.pill-15 { bottom:6%; right:26%; animation:f15 4.9s ease-in-out infinite; }

/* Staggered float keyframes — each slightly different */
@keyframes f1  { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-10px)} }
@keyframes f2  { 0%,100%{transform:translateY(-5px)} 50%{transform:translateY(8px)}  }
@keyframes f3  { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-13px)} }
@keyframes f4  { 0%,100%{transform:translateY(-8px)} 50%{transform:translateY(7px)}  }
@keyframes f5  { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-9px)}  }
@keyframes f6  { 0%,100%{transform:translateY(-6px)} 50%{transform:translateY(10px)} }
@keyframes f7  { 0%,100%{transform:translateY(-3px)} 50%{transform:translateY(9px)}  }
@keyframes f8  { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-11px)} }
@keyframes f9  { 0%,100%{transform:translateY(-7px)} 50%{transform:translateY(6px)}  }
@keyframes f10 { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-8px)}  }
@keyframes f11 { 0%,100%{transform:translateY(-4px)} 50%{transform:translateY(11px)} }
@keyframes f12 { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-12px)} }
@keyframes f13 { 0%,100%{transform:translateY(-5px)} 50%{transform:translateY(8px)}  }
@keyframes f14 { 0%,100%{transform:translateY(0)}    50%{transform:translateY(-10px)} }
@keyframes f15 { 0%,100%{transform:translateY(-6px)} 50%{transform:translateY(9px)}  }

/* ── EXPLANATION (desktop) ────────────────────── */
.explanation {
  display:none; /* hidden mobile */
  text-align:center; padding:0 24px;
  flex-shrink:0;
}
.explain-headline {
  font-family:var(--f-display); font-size:32px;
  letter-spacing:0.03em; line-height:1.1; margin-bottom:8px;
}
.explain-headline em { color:var(--gold); font-style:normal; }
.explain-sub { font-size:13px; color:var(--w40); line-height:1.6; max-width:560px; margin:0 auto; }

/* ── MOBILE PILLS (shown only on mobile) ─────── */
.mobile-pills {
  position:relative; z-index:1;
  flex:1;
  display:flex; flex-direction:column;
  overflow:hidden;
  padding:10px 20px 0;
  gap:8px;
  min-height:0;
}

.mobile-pills-label {
  font-size:10px; font-weight:500;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--w20); flex-shrink:0;
}

/* Mobile ANDRES mini card — compact */
.mobile-andres {
  background:rgba(255,255,255,0.04);
  border:1px solid var(--gold-dim); border-radius:14px;
  padding:12px; display:flex; flex-direction:column; gap:8px;
  flex-shrink:0;
}
.mobile-andres-top { display:flex; align-items:center; gap:10px; }
.mob-avatar {
  width:42px; height:42px; border-radius:50%;
  background:var(--navy-3); border:2px solid var(--gold-dim);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; position:relative; flex-shrink:0;
}
.mob-dot {
  position:absolute; bottom:1px; right:1px;
  width:10px; height:10px; border-radius:50%;
  background:#4CAF50; border:2px solid var(--navy);
}
.mob-name {
  font-family:var(--f-display); font-size:24px;
  letter-spacing:0.06em; line-height:1; margin-bottom:2px;
}
.mob-sub {
  font-size:9px; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--gold); line-height:1.4;
}
.mob-quote {
  border-top:1px solid var(--w10); padding-top:8px;
  font-family:var(--f-edit); font-style:italic;
  font-size:12.5px; line-height:1.55; color:var(--w60);
}
.mob-quote strong { color:var(--white); font-style:normal; font-family:var(--f-body); font-weight:600; }

/* Pills grid scrolls internally — CTA always visible */
.mobile-pills-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:6px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  flex:1;
  min-height:0;
  padding-bottom:4px;
}
.mobile-pills-grid::-webkit-scrollbar { display:none; }

.pill-mobile {
  background:var(--w04); border:1px solid var(--w10);
  border-radius:10px; padding:10px 9px;
  color:var(--w60); font-size:12px; font-weight:400;
  line-height:1.35; text-align:left;
  min-height:44px; transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.pill-mobile:hover, .pill-mobile:active {
  background:var(--gold-glow); border-color:var(--gold-dim); color:var(--white);
}

/* CTA always visible — never scrolls away */
.cta-btn-mobile {
  width:100%; padding:15px 24px;
  flex-shrink:0;
  background:var(--gold); border:none; border-radius:100px;
  font-family:var(--f-display); font-size:22px;
  letter-spacing:0.07em; color:var(--navy); transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.cta-btn-mobile:hover   { background:var(--gold-2); }
.cta-btn-mobile:active  { transform:scale(0.98); }

/* ── FOOTER ───────────────────────────────────── */
.landing-footer {
  position:relative; z-index:1;
  padding:12px 20px 16px;
  display:flex; flex-direction:column;
  align-items:center; gap:6px; flex-shrink:0;
}
.footer-privacy { font-size:11px; color:var(--w20); text-align:center; }
.school-link {
  font-size:12px; color:var(--gold);
  font-weight:500; letter-spacing:0.02em;
  transition:var(--ease); text-decoration:none;
}
.school-link:hover { color:var(--gold-2); }

/* ── DESKTOP OVERRIDES ────────────────────────── */
@media (min-width:700px) {
  #screen-landing { overflow:hidden; }

  .top-nav { padding:24px 40px 0; }
  .nav-tagline { display:block; }
  .nav-wordmark { font-size:52px; }

  .hero-wrap { display:flex; }
  .mobile-pills { display:none; }
  .explanation { display:block; padding-bottom:8px; }

  .landing-footer {
    flex-direction:row; justify-content:space-between;
    padding:10px 40px 18px;
  }
}

/* ═══════════════════════════════════════════════
   CHAT SCREEN
═══════════════════════════════════════════════ */
#screen-chat {
  background:var(--navy);
  padding-bottom:env(safe-area-inset-bottom);
}

.chat-header {
  display:flex; align-items:center; gap:12px;
  padding:12px 16px;
  padding-top:calc(12px + env(safe-area-inset-top));
  border-bottom:1px solid var(--w10); flex-shrink:0;
  background:rgba(13,27,42,0.97);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.back-btn {
  background:none; border:none; color:var(--w40);
  width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%; flex-shrink:0; transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.back-btn:hover { color:var(--white); background:var(--w06); }

.chat-avatar {
  width:38px; height:38px; border-radius:50%;
  background:var(--navy-3); border:1.5px solid var(--gold-dim);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; flex-shrink:0;
}
.chat-name { font-family:var(--f-display); font-size:22px; letter-spacing:0.06em; line-height:1; }
.chat-status { font-size:11px; color:var(--w40); margin-top:2px; display:flex; align-items:center; gap:5px; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#4CAF50; flex-shrink:0; }

.messages {
  flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch;
  padding:16px; display:flex; flex-direction:column; gap:12px;
  scroll-behavior:smooth;
}
.messages::-webkit-scrollbar { display:none; }

.message { display:flex; gap:8px; max-width:88%; animation:msgIn 0.18s ease; }
@keyframes msgIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }
.message.andres { align-self:flex-start; }
.message.user   { align-self:flex-end; flex-direction:row-reverse; }

.message-avatar {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  font-size:13px; margin-top:4px;
  display:flex; align-items:center; justify-content:center;
}
.message.andres .message-avatar { background:var(--navy-3); border:1px solid var(--gold-dim); }
.message.user .message-avatar   { background:var(--w06); }

.message-bubble { padding:12px 15px; border-radius:16px; font-size:15px; line-height:1.65; word-wrap:break-word; }
.message.andres .message-bubble { background:var(--w06); border:1px solid var(--w10); border-top-left-radius:4px; color:var(--w80); }
.message.user   .message-bubble { background:var(--gold); color:var(--navy); font-weight:500; border-top-right-radius:4px; }

.typing-bubble { display:flex; gap:5px; align-items:center; padding:14px 16px !important; }
.typing-dot { width:7px; height:7px; border-radius:50%; background:var(--gold); opacity:0.4; flex-shrink:0; animation:pulse 1.3s ease-in-out infinite; }
.typing-dot:nth-child(2) { animation-delay:0.18s; }
.typing-dot:nth-child(3) { animation-delay:0.36s; }
@keyframes pulse { 0%,60%,100%{opacity:0.3;transform:scale(1)} 30%{opacity:1;transform:scale(1.3)} }

.input-bar {
  padding:10px 12px; border-top:1px solid var(--w10);
  display:flex; gap:8px; align-items:flex-end; flex-shrink:0;
  background:rgba(13,27,42,0.97);
}
.msg-input {
  flex:1; background:var(--w06); border:1px solid var(--w10);
  border-radius:24px; padding:12px 16px; color:var(--white);
  font-family:var(--f-body); font-size:16px;
  resize:none; min-height:48px; max-height:130px; line-height:1.5;
  overflow-y:auto; transition:border-color 0.2s;
  -webkit-appearance:none;
}
.msg-input:focus { outline:none; border-color:var(--gold-dim); }
.msg-input::placeholder { color:var(--w20); }

.send-btn {
  width:48px; height:48px; border-radius:50%;
  background:var(--gold); border:none; color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.send-btn:hover:not(:disabled)  { background:var(--gold-2); }
.send-btn:active:not(:disabled) { transform:scale(0.95); }
.send-btn:disabled { background:var(--w10); color:var(--w20); cursor:not-allowed; }

/* Toast */
.toast {
  position:fixed; bottom:24px; left:50%;
  transform:translateX(-50%) translateY(70px);
  background:var(--navy-3); border:1px solid var(--gold-dim);
  color:var(--white); padding:11px 22px;
  border-radius:100px; font-size:13px; z-index:9999;
  transition:transform 0.28s cubic-bezier(0.34,1.56,0.64,1);
  white-space:nowrap; pointer-events:none;
}
.toast.show { transform:translateX(-50%) translateY(0); }

/* ═══════════════════════════════════════════════
   SCHOOL PAGES (contact + dashboard)
═══════════════════════════════════════════════ */
.school-page {
  overflow-y:auto; overflow-x:hidden;
  background:var(--navy); height:auto;
}

/* School nav */
.school-nav {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px;
  border-bottom:1px solid var(--w10);
  background:rgba(13,27,42,0.98);
  position:sticky; top:0; z-index:100;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.school-nav-logo {
  font-family:var(--f-display); font-size:32px; letter-spacing:0.04em; line-height:1;
}
.school-nav-logo span { color:var(--gold); }
.school-nav-back {
  font-size:13px; color:var(--w40); transition:var(--ease);
}
.school-nav-back:hover { color:var(--white); }
.dash-badge {
  font-size:11px; font-weight:500; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--gold);
  background:var(--gold-glow); border:1px solid var(--gold-dim);
  padding:5px 12px; border-radius:100px;
}

/* ── SCHOOL CONTACT ───────────────────────────── */
.sc-hero {
  padding:64px 24px 48px;
  text-align:center;
  border-bottom:1px solid var(--w06);
}
.sc-hero-inner { max-width:680px; margin:0 auto; }

.sc-badge {
  display:inline-block; margin-bottom:20px;
  font-size:11px; font-weight:500; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--gold);
  background:var(--gold-glow); border:1px solid var(--gold-dim);
  padding:6px 16px; border-radius:100px;
}
.sc-headline {
  font-family:var(--f-display); font-size:clamp(36px,6vw,62px);
  letter-spacing:0.03em; line-height:1.05; margin-bottom:20px;
}
.sc-headline em { color:var(--gold); font-style:normal; }
.sc-subhead { font-size:16px; color:var(--w60); line-height:1.7; }

/* Value cards */
.sc-values { padding:56px 24px; }
.sc-values-inner {
  max-width:960px; margin:0 auto;
  display:grid; grid-template-columns:1fr; gap:16px;
}
@media(min-width:700px) { .sc-values-inner { grid-template-columns:repeat(3,1fr); } }

.sc-value-card {
  background:var(--w04); border:1px solid var(--w10);
  border-radius:18px; padding:28px 24px;
}
.sc-value-icon { font-size:28px; margin-bottom:14px; }
.sc-value-title { font-size:17px; font-weight:600; margin-bottom:10px; }
.sc-value-desc  { font-size:14px; color:var(--w60); line-height:1.7; }

/* What they get */
.sc-gets { padding:0 24px 56px; }
.sc-gets-inner { max-width:760px; margin:0 auto; }
.sc-gets-title {
  font-family:var(--f-display); font-size:36px;
  letter-spacing:0.03em; margin-bottom:24px;
}
.sc-gets-grid {
  display:grid; grid-template-columns:1fr; gap:12px;
}
@media(min-width:600px) { .sc-gets-grid { grid-template-columns:1fr 1fr; } }

.sc-get-item {
  display:flex; gap:12px; align-items:flex-start;
  font-size:14px; color:var(--w80); line-height:1.6;
}
.sc-get-check {
  color:var(--gold); font-weight:700; flex-shrink:0; margin-top:1px;
}

/* Form section */
.sc-form-section {
  padding:56px 24px 80px;
  background:var(--w04); border-top:1px solid var(--w10);
}
.sc-form-inner { max-width:560px; margin:0 auto; }

.sc-form-title {
  font-family:var(--f-display); font-size:40px;
  letter-spacing:0.03em; margin-bottom:10px;
}
.sc-form-sub { font-size:14px; color:var(--w60); line-height:1.7; margin-bottom:20px; }

.waitlist-count-wrap {
  display:flex; align-items:baseline; gap:8px;
  margin-bottom:28px; padding:14px 18px;
  background:var(--gold-glow); border:1px solid var(--gold-dim);
  border-radius:12px;
}
.waitlist-count { font-family:var(--f-display); font-size:36px; color:var(--gold); line-height:1; }
.waitlist-count-label { font-size:13px; color:var(--w60); }

.sc-form { display:flex; flex-direction:column; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-label { font-size:12px; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; color:var(--w40); }
.form-optional { font-weight:400; text-transform:none; letter-spacing:0; }
.form-input {
  background:var(--w06); border:1px solid var(--w20);
  border-radius:10px; padding:13px 16px;
  color:var(--white); font-family:var(--f-body); font-size:15px;
  transition:border-color 0.2s; -webkit-appearance:none;
}
.form-input:focus { outline:none; border-color:var(--gold-dim); }
.form-input::placeholder { color:var(--w20); }
.form-select option { background:var(--navy-3); color:var(--white); }
.form-submit {
  padding:17px 24px; background:var(--gold); border:none;
  border-radius:100px; font-family:var(--f-display);
  font-size:22px; letter-spacing:0.07em; color:var(--navy);
  transition:var(--ease); margin-top:6px;
}
.form-submit:hover { background:var(--gold-2); }
.form-submit:active { transform:scale(0.98); }

/* Confirmation */
.confirm-view { text-align:center; padding:20px 0; }
.confirm-icon {
  width:72px; height:72px; border-radius:50%;
  background:var(--gold-glow); border:2px solid var(--gold-dim);
  display:flex; align-items:center; justify-content:center;
  font-size:28px; color:var(--gold); margin:0 auto 20px;
}
.confirm-title { font-family:var(--f-display); font-size:42px; letter-spacing:0.03em; margin-bottom:14px; }
.confirm-msg { font-size:15px; color:var(--w60); line-height:1.7; margin-bottom:28px; }
.confirm-msg strong { color:var(--white); }
.confirm-cta {
  display:inline-block; padding:16px 28px;
  background:var(--gold); border-radius:100px;
  font-family:var(--f-display); font-size:20px;
  letter-spacing:0.06em; color:var(--navy);
  transition:var(--ease); margin-bottom:40px;
}
.confirm-cta:hover { background:var(--gold-2); }

.waitlist-preview { text-align:left; }
.waitlist-preview-title { font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--w40); margin-bottom:12px; }
.waitlist-list { display:flex; flex-direction:column; gap:8px; }
.waitlist-item {
  display:flex; gap:12px; align-items:center;
  background:var(--w04); border:1px solid var(--w10);
  border-radius:10px; padding:10px 14px;
  font-size:13px;
}
.wi-name  { color:var(--white); font-weight:500; min-width:80px; }
.wi-school{ color:var(--w60); flex:1; }
.wi-role  { color:var(--gold); font-size:11px; }

/* School footer */
.school-footer { padding:28px 24px; border-top:1px solid var(--w10); }
.school-footer-inner { max-width:960px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; }
.school-footer-logo { font-family:var(--f-display); font-size:28px; letter-spacing:0.04em; }
.school-footer-logo span { color:var(--gold); }
.school-footer-copy { font-size:12px; color:var(--w20); font-style:italic; }

/* ── SCHOOL DASHBOARD ─────────────────────────── */
.dash-empty-hero {
  padding:56px 24px 48px; text-align:center;
  border-bottom:1px solid var(--w06);
}
.dash-empty-inner { max-width:600px; margin:0 auto; }
.dash-empty-icon { font-size:48px; margin-bottom:16px; }
.dash-empty-title { font-family:var(--f-display); font-size:44px; letter-spacing:0.03em; margin-bottom:12px; }
.dash-empty-sub { font-size:15px; color:var(--w60); line-height:1.7; margin-bottom:28px; }

.dash-share-box {
  display:inline-flex; align-items:center; gap:0;
  background:var(--w06); border:1px solid var(--w20);
  border-radius:12px; overflow:hidden;
}
.dash-share-url { padding:12px 18px; font-size:14px; color:var(--w60); font-family:monospace; }
.dash-copy-btn {
  padding:12px 18px; background:var(--gold); border:none;
  font-family:var(--f-body); font-size:13px; font-weight:600;
  color:var(--navy); transition:var(--ease);
}
.dash-copy-btn:hover { background:var(--gold-2); }

.dash-section { padding:40px 24px; border-bottom:1px solid var(--w06); }
.dash-inner { max-width:960px; margin:0 auto; }
.dash-section-title { font-family:var(--f-display); font-size:30px; letter-spacing:0.03em; margin-bottom:8px; }
.dash-section-sub { font-size:13px; color:var(--w40); line-height:1.6; margin-bottom:24px; }

/* Metrics */
.dash-metrics {
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
@media(min-width:700px) { .dash-metrics { grid-template-columns:repeat(4,1fr); } }
.dash-metric {
  background:var(--w04); border:1px solid var(--w10);
  border-radius:14px; padding:20px;
}
.dash-metric-val { font-family:var(--f-display); font-size:40px; color:var(--gold); line-height:1; margin-bottom:6px; }
.dash-metric-label { font-size:13px; font-weight:600; margin-bottom:4px; }
.dash-metric-note  { font-size:11px; color:var(--w40); line-height:1.4; }

/* Bar chart */
.dash-chart-empty { position:relative; }
.dash-chart-bars { display:flex; flex-direction:column; gap:10px; }
.dash-bar-row { display:flex; align-items:center; gap:12px; }
.dash-bar-label { font-size:13px; color:var(--w60); width:180px; flex-shrink:0; }
.dash-bar-track { flex:1; height:10px; background:var(--w06); border-radius:100px; overflow:hidden; }
.dash-bar-fill { height:100%; background:var(--gold); border-radius:100px; transition:width 1s ease; }
.dash-bar-val { font-size:13px; color:var(--w40); width:24px; text-align:right; }

.dash-empty-overlay {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(13,27,42,0.7); border-radius:12px;
  backdrop-filter:blur(4px);
}
.dash-empty-overlay p { font-size:14px; color:var(--w60); text-align:center; }

/* Activity chart */
.dash-activity-empty { position:relative; }
.dash-activity-grid {
  display:flex; gap:8px; align-items:flex-end;
  height:120px; padding-bottom:24px;
}
.dash-act-col {
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:flex-end; gap:6px;
}
.dash-act-col::before {
  content:''; width:100%; border-radius:4px 4px 0 0;
  background:var(--w06); height:var(--h, 0%);
  min-height:4px; transition:height 1s ease;
}
.dash-act-label { font-size:11px; color:var(--w40); }

/* Feed */
.dash-feed-empty {
  background:var(--w04); border:1px solid var(--w10);
  border-radius:16px; padding:40px 24px; text-align:center;
}
.dash-feed-icon { font-size:36px; margin-bottom:14px; }
.dash-feed-msg { font-size:15px; color:var(--w60); line-height:1.7; margin-bottom:12px; }
.dash-feed-example { font-size:13px; color:var(--w40); line-height:1.6; }
.dash-feed-example em { color:var(--w60); }

/* Dashboard CTA */
.dash-cta-section { padding:56px 24px 40px; text-align:center; }
.dash-cta-inner { max-width:600px; margin:0 auto; }
.dash-cta-title { font-family:var(--f-display); font-size:36px; letter-spacing:0.03em; margin-bottom:12px; }
.dash-cta-sub { font-size:14px; color:var(--w60); line-height:1.7; margin-bottom:24px; }
.dash-cta-share { margin-bottom:16px; }
.dash-cta-note { font-size:12px; color:var(--w40); }
.dash-email-link { color:var(--gold); }
.dash-email-link:hover { color:var(--gold-2); }

/* ═══════════════════════════════════════════════
   SHARE MODAL
═══════════════════════════════════════════════ */

.share-modal-backdrop {
  position:fixed; inset:0; z-index:200;
  background:rgba(0,0,0,0.6);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  animation:fadeIn 0.2s ease;
}

.share-modal {
  position:fixed; z-index:201;
  bottom:0; left:0; right:0;
  background:var(--navy-3);
  border:1px solid var(--w10);
  border-radius:24px 24px 0 0;
  padding:24px 20px 36px;
  animation:slideUp 0.28s cubic-bezier(0.34,1.56,0.64,1);
  max-width:520px; margin:0 auto;
}
@keyframes slideUp {
  from { transform:translateY(100%); }
  to   { transform:translateY(0); }
}
@media(min-width:600px) {
  .share-modal {
    top:50%; left:50%; bottom:auto; right:auto;
    transform:translate(-50%,-50%);
    border-radius:20px;
    width:460px;
    animation:scaleIn 0.22s ease;
  }
  @keyframes scaleIn {
    from { opacity:0; transform:translate(-50%,-50%) scale(0.95); }
    to   { opacity:1; transform:translate(-50%,-50%) scale(1); }
  }
}

.share-modal-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:6px;
}
.share-modal-title {
  font-family:var(--f-display); font-size:26px;
  letter-spacing:0.05em;
}
.share-modal-close {
  background:var(--w10); border:none; color:var(--w60);
  width:32px; height:32px; border-radius:50%;
  font-size:14px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:var(--ease);
}
.share-modal-close:hover { background:var(--w20); color:var(--white); }
.share-modal-sub { font-size:13px; color:var(--w40); margin-bottom:20px; }

/* Native share (mobile) */
.share-native-btn {
  width:100%; padding:14px 18px;
  background:var(--gold-glow); border:1px solid var(--gold-dim);
  border-radius:14px; color:var(--gold);
  font-family:var(--f-body); font-size:15px; font-weight:600;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  cursor:pointer; margin-bottom:16px; transition:var(--ease);
}
.share-native-btn:hover { background:rgba(212,146,42,0.22); }
.share-native-icon { font-size:22px; }
.share-native-label { font-size:11px; color:var(--w40); font-weight:400; text-align:center; }

/* Platform grid */
.share-platforms {
  display:grid; grid-template-columns:1fr 1fr;
  gap:8px; margin-bottom:16px;
}
.share-platform-btn {
  display:flex; align-items:center; gap:8px;
  padding:13px 14px; border-radius:12px; border:1px solid var(--w10);
  font-family:var(--f-body); font-size:14px; font-weight:500;
  cursor:pointer; transition:var(--ease);
}
.share-fb   { background:rgba(24,119,242,0.1); color:#4A90D9; border-color:rgba(24,119,242,0.2); }
.share-fb:hover  { background:rgba(24,119,242,0.2); }
.share-x    { background:var(--w04); color:var(--w80); border-color:var(--w10); }
.share-x:hover   { background:var(--w10); color:var(--white); }
.share-li   { background:rgba(0,119,181,0.1); color:#5BA4CF; border-color:rgba(0,119,181,0.2); }
.share-li:hover  { background:rgba(0,119,181,0.2); }
.share-wa   { background:rgba(37,211,102,0.1); color:#4DC970; border-color:rgba(37,211,102,0.2); }
.share-wa:hover  { background:rgba(37,211,102,0.2); }
.share-copy { background:var(--w04); color:var(--w80); border-color:var(--w10); grid-column:1/-1; justify-content:center; }
.share-copy:hover { background:var(--w10); color:var(--white); }

.share-instagram-tip {
  font-size:12px; color:var(--w40); text-align:center;
  line-height:1.6; padding-top:4px;
}

/* Share button in footer */
.share-btn {
  display:flex; align-items:center; gap:7px;
  background:var(--w04); border:1px solid var(--w10);
  border-radius:100px; padding:9px 16px;
  color:var(--w60); font-family:var(--f-body);
  font-size:13px; font-weight:500;
  cursor:pointer; transition:var(--ease);
  white-space:nowrap; flex-shrink:0;
}
.share-btn:hover { background:var(--w10); color:var(--white); }

/* Share button in chat header */
.chat-share-btn {
  margin-left:auto; background:none; border:none;
  color:var(--w40); padding:8px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.chat-share-btn:hover { color:var(--white); background:var(--w06); }

/* Updated footer to fit share btn */
.landing-footer {
  flex-direction:row !important;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  padding:8px 20px 10px;
  flex-shrink:0;
}
.footer-left { display:flex; flex-direction:column; gap:2px; }

/* ═══════════════════════════════════════════════
   TERMS & CONDITIONS MODAL
═══════════════════════════════════════════════ */

.terms-backdrop {
  position:fixed; inset:0; z-index:300;
  background:rgba(0,0,0,0.75);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.terms-modal {
  position:fixed; z-index:301;
  inset:0; margin:auto;
  width:100%; max-width:560px;
  height:100%;
  max-height:100%;
  background:var(--navy-2);
  border:1px solid var(--gold-dim);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  animation:slideUp 0.3s cubic-bezier(0.34,1.2,0.64,1);
}

@media(min-width:600px) {
  .terms-modal {
    height:auto;
    max-height:88vh;
    border-radius:20px;
    top:50%; left:50%;
    bottom:auto; right:auto;
    transform:translate(-50%,-50%);
    animation:scaleIn 0.25s ease;
  }
}

/* Header */
.terms-header {
  padding:22px 24px 16px;
  border-bottom:1px solid var(--w10);
  flex-shrink:0;
  background:var(--navy-2);
}

.terms-logo {
  font-family:var(--f-display);
  font-size:28px; letter-spacing:0.04em;
  line-height:1; margin-bottom:6px;
}
.terms-logo span { color:var(--gold); }

.terms-title {
  font-family:var(--f-display);
  font-size:26px; letter-spacing:0.03em;
  line-height:1.1; color:var(--white);
  font-weight:400;
}

/* Scrollable body */
.terms-body {
  flex:1;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:20px 24px 8px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.terms-body::-webkit-scrollbar { width:3px; }
.terms-body::-webkit-scrollbar-thumb {
  background:var(--w20); border-radius:2px;
}

.terms-intro {
  font-size:14px; color:var(--w60);
  line-height:1.7;
  padding:14px 16px;
  background:var(--gold-glow);
  border:1px solid var(--gold-dim);
  border-radius:12px;
}

/* Sections */
.terms-section {
  display:flex; flex-direction:column; gap:10px;
}

.terms-sh {
  font-size:13px; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--gold);
}

.terms-section p {
  font-size:14px; color:var(--w60); line-height:1.75;
}

/* Do / Don't box */
.terms-box {
  background:var(--w04); border:1px solid var(--w10);
  border-radius:12px; overflow:hidden;
  display:flex; flex-direction:column;
}
.terms-box-row {
  display:flex; gap:12px; align-items:flex-start;
  padding:14px 16px; font-size:13.5px; line-height:1.65;
}
.terms-box-row + .terms-box-row { border-top:1px solid var(--w10); }
.terms-box-no  { color:var(--w60); }
.terms-box-yes { color:var(--w60); }
.terms-box-icon { font-size:14px; font-weight:700; flex-shrink:0; margin-top:2px; }
.terms-no  { color:#E05555; }
.terms-yes { color:#4CAF50; }
.terms-box-row strong { color:var(--white); }

/* Example callout */
.terms-example {
  background:var(--w04); border-left:3px solid var(--gold);
  border-radius:0 8px 8px 0;
  padding:12px 14px;
  font-size:13px !important; color:var(--w60) !important;
  line-height:1.65 !important;
}
.terms-example em { color:var(--w80); font-style:normal; }

/* List */
.terms-list {
  padding-left:18px;
  display:flex; flex-direction:column; gap:6px;
}
.terms-list li {
  font-size:14px; color:var(--w60); line-height:1.6;
}

/* Scroll hint */
.terms-scroll-hint {
  font-size:11px; color:var(--w20);
  text-align:center; padding:8px 0 4px;
  letter-spacing:0.06em;
}

/* Footer */
.terms-footer {
  padding:16px 24px;
  border-top:1px solid var(--w10);
  display:flex; gap:10px; flex-shrink:0;
  background:var(--navy-2);
}

.terms-decline-btn {
  padding:14px 20px;
  background:none; border:1px solid var(--w20);
  border-radius:100px; color:var(--w40);
  font-family:var(--f-body); font-size:14px;
  cursor:pointer; transition:var(--ease);
  flex-shrink:0;
}
.terms-decline-btn:hover { border-color:var(--w40); color:var(--w60); }

.terms-accept-btn {
  flex:1; padding:14px 20px;
  background:var(--gold); border:none;
  border-radius:100px; color:var(--navy);
  font-family:var(--f-display); font-size:20px;
  letter-spacing:0.06em;
  transition:var(--ease);
}
.terms-accept-btn:not(:disabled):hover { background:var(--gold-2); }
