/* JMAC funnel: shared styles, matched to elitecasecloser.academy */
:root{
  --navy:#020617; --navy-2:#0B1220; --navy-3:#111A2E;
  --gold:#F4AD00; --gold-2:#D99A00; --gold-soft:rgba(244,173,0,.15);
  --white:#FFFFFF; --off:#F5F5F5;
  --text:#111827; --muted:#4B5563; --muted-dark:rgba(255,255,255,.72); --line:#E5E7EB; --line-dark:rgba(255,255,255,.12);
  --head:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--body);color:var(--text);background:var(--white);line-height:1.65;font-size:16px}
img{display:block;max-width:100%}
a{color:inherit}
.container{width:min(1140px,100% - 48px);margin-inline:auto}
.narrow{width:min(820px,100% - 48px);margin-inline:auto}

h1,h2{font-family:var(--head);font-weight:700;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(36px,4.6vw,58px)}
h2{font-size:clamp(28px,3.2vw,42px)}
.dark{background:var(--navy);color:var(--white)}
.dark h1,.dark h2{color:var(--white)}
.light h2{color:var(--text)}

/* logo */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.brand img{height:48px;width:48px}
.topbar{padding:22px 0 0}

/* eyebrow pill, like the Academy site */
.pill{display:inline-block;font-size:13px;font-weight:500;color:var(--white);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.05);border-radius:999px;padding:7px 16px;margin-bottom:24px}
.light .pill{color:var(--text);border-color:var(--line);background:var(--off)}
.lead{font-size:clamp(16px,1.25vw,18px);max-width:62ch;margin:20px 0 32px;color:var(--muted)}
.dark .lead{color:var(--muted-dark)}
.center{text-align:center}
.center .lead{margin-inline:auto}
.center h1{margin-inline:auto;max-width:20ch}

/* forms and buttons */
.form{display:flex;gap:10px;max-width:580px}
.center .form{margin-inline:auto}
.form input{flex:1;min-width:0;padding:16px 18px;font:inherit;font-size:15px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--text)}
.form input::placeholder{color:#9CA3AF}
.form input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.dark .form input{border-color:transparent}
.btn{display:inline-block;padding:16px 28px;font-family:var(--head);font-size:16px;font-weight:600;
  background:var(--gold);color:var(--navy);border:0;border-radius:15px;cursor:pointer;text-decoration:none;white-space:nowrap;text-align:center;line-height:1.3}
.btn:hover{background:var(--gold-2)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.micro{font-size:12.5px;color:var(--muted);margin-top:14px;max-width:580px}
.dark .micro{color:rgba(255,255,255,.55)}
.center .micro{margin-inline:auto}

/* sections */
.hero{padding:clamp(56px,8vw,112px) 0 clamp(72px,10vw,128px)}
.section{padding:clamp(64px,8vw,104px) 0}
.section.off{background:var(--off)}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,80px)}
.split h2{max-width:13ch}
.reasons{list-style:none;counter-reset:r}
.reasons li{counter-increment:r;display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}
.reasons li:last-child{border-bottom:1px solid var(--line)}
.reasons li::before{content:counter(r);font-family:var(--head);font-size:34px;line-height:1;color:var(--gold);font-weight:700}
.reasons b{display:block;font-family:var(--head);font-weight:600;color:var(--text);margin-bottom:4px}

/* Meet John */
.bio{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.bio p{font-size:clamp(16px,1.2vw,18px);max-width:58ch;margin-top:18px;color:var(--muted)}
.photo-frame{position:relative;aspect-ratio:4/5;max-width:460px;width:100%}
.photo{position:absolute;inset:0;overflow:hidden;border-radius:16px}
.photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(2,6,23,.95),rgba(2,6,23,0));color:var(--white);padding:60px 26px 22px}
.photo figcaption b{display:block;font-family:var(--head);font-size:22px;font-weight:700;line-height:1.1}
.photo figcaption span{display:block;font-size:12px;color:var(--gold);font-weight:500;margin-top:6px}

footer{padding:26px 0;font-size:12.5px;color:rgba(255,255,255,.55);background:var(--navy);border-top:1px solid var(--line-dark)}
footer a{text-decoration:none;margin-right:22px}
footer a:hover{color:var(--gold)}

/* thank-you page */
.ty-head{padding:clamp(40px,6vw,72px) 0 clamp(48px,6vw,80px)}
.ty-head h1{max-width:18ch;margin-inline:auto}
.ty-head .sub{font-family:var(--head);font-size:clamp(18px,1.8vw,24px);font-weight:500;color:var(--muted-dark);margin-top:12px}
.video{aspect-ratio:16/9;width:min(880px,100%);margin:36px auto 32px;background:var(--navy-2);border:1px solid var(--line-dark);border-radius:16px;
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);font-size:14px;text-align:center;padding:20px}
.ty-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);padding:clamp(56px,8vw,96px) 0}
.letter p,.letter ol{margin-bottom:18px;max-width:62ch}
.letter ol{padding-left:22px}
.letter li{margin-bottom:8px}
.ty-aside{position:sticky;top:32px;align-self:start}

/* mini lead magnet sign-up pages: one still screen, no scrolling */
.still{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.still .topbar{flex:none}
.still-main{flex:1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center;
  width:min(1140px,100% - 48px);margin-inline:auto;padding:clamp(20px,3vh,48px) 0}
.still h1{font-size:clamp(28px,3.1vw,44px);line-height:1.12}
.still .lead{font-size:clamp(15px,1.1vw,17px);margin:16px 0 0;line-height:1.6}
.still .pill{margin-bottom:18px}
.still-card{background:var(--navy-2);border:1px solid var(--line-dark);border-radius:20px;padding:clamp(22px,2.6vw,36px)}
.still-card .card-title{font-family:var(--head);font-size:20px;font-weight:600;color:var(--white);margin-bottom:8px}
.inside{list-style:none;margin:0 0 22px;font-size:14.5px;line-height:1.5;color:var(--muted-dark)}
.inside li{padding:10px 0 10px 24px;border-top:1px solid var(--line-dark);position:relative}
.inside li:last-child{border-bottom:1px solid var(--line-dark)}
.inside li::before{content:"";position:absolute;left:4px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.still .form{flex-direction:column;max-width:none}
.still .form input{padding:14px 16px}
.still .btn{width:100%;padding:15px 20px}
.still .micro{font-size:11.5px;margin-top:12px;line-height:1.5;max-width:none}
.still footer{flex:none;padding:16px 0;background:transparent}

@media (max-width:860px){
  .split,.bio,.ty-body{grid-template-columns:1fr}
  .ty-aside{position:static}
  .photo-frame{max-width:100%}
  .still{min-height:0}
  .still-main{grid-template-columns:1fr;padding:32px 0}
}
@media (max-width:560px){
  .form{flex-direction:column}
  .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* opt-in: 5 reasons as a centered card grid (2 x 2, fifth centered) */
.reasons-title{margin-bottom:clamp(32px,4vw,52px)}
.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:980px;margin-inline:auto}
.reason-grid li{display:block;padding:30px 30px 28px;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 8px 24px rgba(2,6,23,.05)}
.reason-grid li:last-child{border-bottom:1px solid var(--line);grid-column:1 / -1;width:calc(50% - 11px);justify-self:center}
.reason-grid li::before{display:block;margin-bottom:14px}
.reason-grid b{font-size:18px}
.reason-grid li div{color:var(--muted)}
@media (max-width:760px){
  .reason-grid{grid-template-columns:1fr}
  .reason-grid li:last-child{width:100%}
}

/* opt-in hero: tighter top, headline on 2 lines, intro on 3 */
header .hero{padding:clamp(28px,4vw,56px) 0 clamp(56px,7vw,96px)}
header .hero .narrow{width:min(1120px,100% - 48px)}
header .hero h1{max-width:32ch;font-size:clamp(34px,4.2vw,58px)}
header .hero .lead{max-width:94ch;margin-top:18px}
