﻿/* ===== Louisa Saburi — Safe AI for clinics · landing page ===== */
:root{
  --teal:#e8a06a;
  --violet:#c2622e;
  --bg:#0f0c09;
  --bg2:#15110d;
  --panel:#1b150f;
  --panel2:#221a11;
  --ink:#eaf0ff;
  --muted:#c2b2a2;
  --line:rgba(255,255,255,.10);
  --grad:linear-gradient(90deg,var(--teal),var(--violet));
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  background:
    radial-gradient(900px 600px at 85% -8%, rgba(194,98,46,.16), transparent 60%),
    radial-gradient(800px 520px at -5% 8%, rgba(232,160,106,.13), transparent 55%),
    var(--bg);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.center{text-align:center;margin-left:auto;margin-right:auto}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
em{color:var(--teal);font-style:normal}

/* buttons */
.btn{
  display:inline-block;border:none;cursor:pointer;
  background:var(--grad);color:#06121a;font-weight:800;
  padding:13px 22px;border-radius:12px;text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:0 8px 30px rgba(232,160,106,.18);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(194,98,46,.28)}
.btn-lg{padding:16px 30px;font-size:1.05rem}
.btn-sm{padding:9px 16px;font-size:.92rem}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn-ghost:hover{border-color:var(--teal);box-shadow:0 8px 30px rgba(232,160,106,.12)}
.full{display:block;text-align:center;width:100%}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:rgba(11,18,32,.72);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:20px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800}
.brand-badge{font-size:.72rem;font-weight:800;letter-spacing:.5px;color:#06121a;
  background:var(--grad);padding:4px 8px;border-radius:7px}
.brand-name{font-size:1rem}
.nav-links{display:flex;gap:22px;margin-left:auto}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.95rem}
.nav-links a:hover{color:var(--ink)}
.nav .btn-sm{margin-left:8px}

/* hero */
.hero{position:relative;padding:96px 0 72px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center}
.eyebrow{color:var(--teal);font-weight:700;letter-spacing:3px;text-transform:uppercase;
  font-size:.82rem;margin-bottom:18px}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.7rem);line-height:1.05;font-weight:900;max-width:15ch}
.lede{margin-top:22px;font-size:clamp(1.02rem,1.5vw,1.25rem);color:var(--muted);max-width:54ch}
.cta-row{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.trust{margin-top:20px;color:var(--muted);font-size:.92rem}
.hero-glow{position:absolute;right:-160px;top:-120px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(194,98,46,.22),transparent 65%);filter:blur(20px);z-index:-1}

/* avatar / talking-head card */
.avatar-card{display:flex;flex-direction:column;align-items:center;gap:16px}
.avatar-frame{position:relative;display:block;width:100%;max-width:340px;aspect-ratio:4/5;
  border-radius:24px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 20px 70px rgba(194,98,46,.28);text-decoration:none;
  transition:transform .2s ease}
.avatar-frame:hover{transform:translateY(-4px)}
.avatar-frame img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-frame .play{position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;
  background:var(--grad);display:grid;place-items:center;
  box-shadow:0 10px 30px rgba(0,0,0,.4);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(232,160,106,.45)}50%{box-shadow:0 0 0 18px rgba(232,160,106,0)}}
.avatar-frame .avatar-tag{position:absolute;left:0;right:0;bottom:0;text-align:center;
  background:linear-gradient(180deg,transparent,rgba(6,12,20,.86));color:#fff;
  font-weight:700;font-size:.92rem;padding:30px 12px 14px}
.avatar-name{text-align:center;font-weight:800;font-size:1.05rem}
.avatar-name span{display:block;color:var(--muted);font-weight:500;font-size:.86rem;margin-top:3px}

/* intro modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(4,8,16,.82);backdrop-filter:blur(6px);
  display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.modal-inner{position:relative;width:min(820px,92vw);background:var(--panel);border:1px solid var(--line);
  border-radius:18px;padding:18px}
.modal-inner video{width:100%;border-radius:12px;display:block;background:#000}
.modal-close{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:none;
  background:var(--grad);color:#06121a;font-size:1.5rem;font-weight:800;cursor:pointer}
.modal-note{color:var(--muted);font-size:.9rem;margin-top:12px;text-align:center}

/* logos */
.logos{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.02);padding:26px 0}
.logos-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center}
.logos-label{color:var(--muted);font-size:.86rem;letter-spacing:1px;text-transform:uppercase}
.logos-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.logo-chip{border:1px solid var(--line);border-radius:999px;padding:8px 16px;color:var(--ink);
  font-weight:600;font-size:.9rem;background:var(--panel)}

/* stats */
.stats{padding:54px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 22px;text-align:center}
.stat-num{font-size:2rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-label{margin-top:8px;color:var(--muted);font-size:.92rem}

/* sections */
.section{padding:78px 0}
.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.section-head{margin-bottom:40px;max-width:760px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.12;font-weight:850}
.problem h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.problem p{margin-top:18px;color:var(--muted);font-size:1.12rem}
.problem .strong{color:var(--ink);font-weight:600}

/* two cards */
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px}
.card h3{font-size:1.3rem;margin-bottom:10px}
.card p{color:var(--muted)}
.ticks{list-style:none;margin:16px 0;display:grid;gap:10px}
.ticks li{position:relative;padding-left:30px;color:var(--ink)}
.ticks li::before{content:"\2713";position:absolute;left:0;top:0;color:#06121a;background:var(--grad);
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:900}
.card-out{margin-top:8px;padding-top:16px;border-top:1px solid var(--line);color:var(--teal);font-weight:600}

/* flywheel */
.flywheel{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap;justify-content:center}
.fw-step{flex:1;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px}
.fw-num{width:38px;height:38px;border-radius:50%;background:var(--grad);color:#06121a;font-weight:900;
  display:grid;place-items:center;margin-bottom:14px}
.fw-step h4{font-size:1.15rem;margin-bottom:8px}
.fw-step p{color:var(--muted)}
.fw-arrow{display:grid;place-items:center;color:var(--violet);font-size:1.8rem;font-weight:900}

/* workshop */
.workshop h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}
.workshop p{color:var(--muted);margin-top:14px}
.nights{display:grid;gap:12px;margin:26px 0 30px;text-align:left}
.night{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 20px;color:var(--ink)}
.night span{display:inline-block;color:#06121a;background:var(--grad);font-weight:800;
  padding:2px 10px;border-radius:8px;margin-right:12px;font-size:.85rem}

/* curriculum */
.modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.module{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;
  transition:transform .15s ease,border-color .15s ease}
.module:hover{transform:translateY(-3px);border-color:var(--teal)}
.m-num{font-size:.85rem;font-weight:900;color:var(--violet)}
.module h4{margin:6px 0;font-size:1.08rem}
.module p{color:var(--muted);font-size:.92rem}
.capstone{margin-top:22px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;
  padding:18px 22px;color:var(--ink)}
.capstone strong{color:var(--teal)}

/* mentor */
.mentor-grid{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:center}
.mentor-photo{aspect-ratio:1;border-radius:24px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 18px 60px rgba(232,160,106,.18)}
.mentor-photo img{width:100%;height:100%;object-fit:cover;display:block}
.mentor-body p{color:var(--muted);margin-top:14px}
.mentor-body .btn{margin-top:22px}

/* pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.price-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:30px;position:relative}
.price-card.featured{border-color:var(--teal);box-shadow:0 18px 60px rgba(232,160,106,.16);transform:translateY(-8px)}
.ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#06121a;
  font-weight:800;font-size:.78rem;padding:5px 14px;border-radius:999px;white-space:nowrap}
.price-card h3{font-size:1.3rem}
.price{font-size:2.4rem;font-weight:900;margin:10px 0 4px}
.price .per{font-size:1rem;color:var(--muted);font-weight:600}
.price .strike{font-size:1.1rem;color:var(--muted);text-decoration:line-through;font-weight:600;margin-left:6px}
.price-sub{color:var(--muted);margin-bottom:18px}
.price-card .ticks{margin-bottom:24px}
.pricing-note{text-align:center;color:var(--muted);margin-top:26px;font-size:.92rem}

/* faq */
.faq{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px 22px;margin-bottom:12px}
.faq summary{cursor:pointer;padding:16px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--teal);font-size:1.5rem;font-weight:800}
.faq[open] summary::after{content:"\2013"}
.faq p{color:var(--muted);padding:0 0 18px}

/* final cta */
.final-cta{padding:90px 0;background:
  radial-gradient(700px 360px at 50% 0%, rgba(194,98,46,.16), transparent 60%)}
.final-cta h2{font-size:clamp(2rem,4vw,3rem)}
.final-cta p{color:var(--muted);margin:16px 0 30px;font-size:1.1rem}

/* footer */
.footer{border-top:1px solid var(--line);padding:40px 0;background:var(--bg2)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.foot-brand{display:flex;align-items:center;gap:10px;font-weight:800}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-links a{color:var(--muted);text-decoration:none;font-size:.92rem}
.foot-links a:hover{color:var(--ink)}
.foot-copy{color:var(--muted);font-size:.86rem}

/* reveal animation */
.section,.stats,.logos{opacity:1}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].in{opacity:1;transform:none}

/* responsive */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .avatar-card{order:-1}
  .stats-grid{grid-template-columns:1fr 1fr}
  .cards-2{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr;gap:26px}
  .price-card.featured{transform:none}
  .mentor-grid{grid-template-columns:1fr;text-align:center}
  .mentor-photo{max-width:220px;margin:0 auto}
  .nav-links{display:none}
  .fw-arrow{transform:rotate(90deg)}
}
@media (max-width:520px){
  .stats-grid{grid-template-columns:1fr}
  .hero{padding:64px 0 48px}
}
