/* Clinical Courage Academy — Beyond the Bedside Tiny Offer sales page */

:root{
  --navy:#0D1B2A;
  --navy-80:#1c2c3e;
  --pearl:#F4F6F8;
  --white:#ffffff;
  --azure:#3E8EDE;
  --azure-dark:#2f78c4;
  --silver:#8C99A8;
  --silver-light:#c3cbd4;
  --line:#e2e7ec;

  --maxw:1120px;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 1px 3px rgba(13,27,42,.08);
  --shadow-md:0 10px 30px rgba(13,27,42,.10);
  --shadow-lg:0 24px 60px rgba(13,27,42,.16);

  --t-hero:clamp(2.4rem,5.2vw,4.2rem);
  --t-xl:clamp(1.7rem,3vw,2.6rem);
  --t-lg:clamp(1.2rem,1.8vw,1.5rem);
  --t-base:1.0625rem;
  --t-sm:.9375rem;
  --t-xs:.8125rem;

  --sp-section:clamp(4rem,8vw,7.5rem);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Outfit",system-ui,-apple-system,sans-serif;
  color:var(--navy);
  background:var(--pearl);
  font-size:var(--t-base);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:"Sora",system-ui,sans-serif;font-weight:700;line-height:1.1;letter-spacing:-.02em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.center{text-align:center}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--azure);color:var(--white);
  font-family:"Sora",sans-serif;font-weight:600;font-size:var(--t-sm);
  padding:.95rem 1.7rem;border-radius:999px;border:0;cursor:pointer;
  box-shadow:0 6px 18px rgba(62,142,222,.35);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  white-space:nowrap;
}
.btn:hover{background:var(--azure-dark);transform:translateY(-2px);box-shadow:0 10px 26px rgba(62,142,222,.45)}
.btn:focus-visible{outline:3px solid rgba(62,142,222,.45);outline-offset:3px}
.btn--lg{font-size:var(--t-lg);padding:1.15rem 2.4rem}
.btn-arrow{transition:transform .2s ease}
.btn:hover .btn-arrow{transform:translateX(3px)}

.cta-row{margin-top:2.25rem}
.section-cta{margin-top:2.75rem}

/* ---------- Header / Nav ---------- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(244,246,248,.85);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.nav .logo{height:42px;width:auto}
.nav-cta{font-size:var(--t-sm)}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-family:"Sora",sans-serif;font-weight:600;
  font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;
  color:var(--azure);
}

/* ---------- Hero ---------- */
.hero{padding:clamp(3rem,6vw,5.5rem) 0 clamp(3.5rem,6vw,6rem)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero h1{font-size:var(--t-hero);margin:1.1rem 0 1.1rem}
.hero .subhead{font-size:var(--t-lg);color:var(--navy-80);max-width:34ch}
.hero-media{position:relative}
.hero-media img{border-radius:var(--radius);box-shadow:var(--shadow-lg);aspect-ratio:4/3.4;object-fit:cover}
.hero-badge{
  position:absolute;left:-14px;bottom:18px;
  background:var(--white);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-md);padding:.7rem 1rem;
  display:flex;align-items:center;gap:.55rem;font-size:var(--t-xs);font-weight:600;
  font-family:"Sora",sans-serif;color:var(--navy);
}
.hero-badge .dot{width:9px;height:9px;border-radius:50%;background:var(--azure)}

/* ---------- Section base ---------- */
section{padding:var(--sp-section) 0}
.section-label{color:var(--azure)}
.lede{font-size:var(--t-xl);max-width:24ch;margin-inline:auto}
.narrow{max-width:760px;margin-inline:auto}

/* Promise band */
.promise{background:var(--navy);color:var(--pearl)}
.promise p{font-size:var(--t-lg);color:var(--silver-light);max-width:60ch;margin:.4rem auto}
.promise .arc{
  font-family:"Sora",sans-serif;font-weight:700;color:var(--white);
  font-size:var(--t-xl);margin-top:1.75rem;letter-spacing:-.01em;line-height:1.25;
}
.promise .arc b{color:var(--azure);font-weight:700}

/* Promise + identity buttons need contrast on navy */
.on-dark .btn{box-shadow:0 6px 20px rgba(0,0,0,.35)}

/* ---------- Stats ---------- */
.stats{background:var(--white)}
.stats h2{font-size:var(--t-xl);margin-bottom:.5rem}
.stats .sub{color:var(--silver);max-width:46ch;margin:0 auto 3rem}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.stat{
  background:var(--pearl);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.75rem 1.4rem;text-align:left;
}
.stat .num{font-family:"Sora",sans-serif;font-weight:700;color:var(--azure);font-size:clamp(2rem,3.4vw,2.7rem);line-height:1}
.stat .cap{font-size:var(--t-sm);margin-top:.7rem;color:var(--navy)}
.stat .src{font-size:var(--t-xs);color:var(--silver);margin-top:.6rem}
.stats .pull{font-size:var(--t-lg);max-width:56ch;margin:3rem auto 0;color:var(--navy);font-family:"Sora",sans-serif;font-weight:600;line-height:1.35}

/* ---------- What's inside ---------- */
.inside h2{font-size:var(--t-xl)}
.inside .intro{max-width:62ch;margin:1rem auto 0;color:var(--navy-80)}
.inside .intro em{color:var(--azure);font-style:normal;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.6rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card .ico{width:46px;height:46px;border-radius:12px;background:rgba(62,142,222,.12);display:grid;place-items:center;margin-bottom:1rem}
.card .ico svg{width:24px;height:24px;stroke:var(--azure)}
.card h3{font-size:var(--t-lg);margin-bottom:.5rem}
.card p{font-size:var(--t-sm);color:var(--navy-80)}
.card .arrow-benefit{color:var(--navy-80)}
.inside .closer{margin-top:2.5rem;font-family:"Sora",sans-serif;font-weight:600;font-size:var(--t-lg)}

/* ---------- Who it's for ---------- */
.who{background:var(--white)}
.who h2{font-size:var(--t-xl);margin-bottom:2.25rem}
.who-list{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 2.5rem;max-width:920px;margin:0 auto;text-align:left}
.who-item{display:flex;gap:.9rem;align-items:flex-start}
.who-item .check{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:rgba(62,142,222,.12);display:grid;place-items:center;margin-top:2px}
.who-item .check svg{width:15px;height:15px;stroke:var(--azure)}
.who-item p{font-size:var(--t-base)}

/* ---------- About ---------- */
.about{background:var(--navy);color:var(--pearl)}
.about-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;max-width:920px;margin:0 auto}
.about .mark{width:130px;height:130px;border-radius:24px;background:rgba(255,255,255,.06);display:grid;place-items:center;border:1px solid rgba(255,255,255,.12)}
.about .mark svg{width:78px;height:78px}
.about .label{color:var(--azure)}
.about h2{font-size:var(--t-lg);color:var(--white);margin:.4rem 0 1rem}
.about p{color:var(--silver-light);font-size:var(--t-base);max-width:60ch}

/* ---------- Final CTA ---------- */
.final{background:linear-gradient(160deg,#0D1B2A 0%,#13283d 100%);color:var(--pearl);text-align:center}
.final .anchor{font-size:var(--t-lg);color:var(--silver-light);max-width:60ch;margin:0 auto 2.25rem}
.price-block{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:.7rem 1.5rem;margin-bottom:2rem;font-family:"Sora",sans-serif;
}
.price-block .price{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;color:var(--white)}
.price-block .meta{font-size:var(--t-sm);color:var(--silver-light);font-weight:500}
.final h2{font-size:var(--t-xl);color:var(--white);max-width:18ch;margin:0 auto 1rem}
.group-link{display:block;margin-top:1.4rem;font-size:var(--t-sm);color:var(--silver-light);text-decoration:underline;text-underline-offset:3px}
.group-link:hover{color:var(--azure)}

/* ---------- Footer ---------- */
.footer{background:var(--navy);color:var(--silver);border-top:1px solid rgba(255,255,255,.08);padding:2.5rem 0}
.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer img{height:34px}
.footer p{font-size:var(--t-xs)}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-media{order:-1}
  .hero .subhead{max-width:none}
  .stat-grid{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr}
  .who-list{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
  .about p{margin-inline:auto}
}
@media (max-width:540px){
  .nav-cta{display:none}
  .stat-grid{grid-template-columns:1fr}
  .price-block{flex-direction:column;gap:.35rem;border-radius:18px}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
