/* Riley Earle: the look of his own site (black with his grey smoke, an amber outline and amber buttons, his clients' own
   photos) in the fixed VSL page order (Brett, 6 Nov 2026). Built-in fonts only, per BRENT's spec: the character comes from
   weight, scale, italic and colour. One stylesheet for every page of the funnel. */
:root{
  --black:#050506; --ink:#eef0f3; --head:#cfd8e3; --text:#e6e9ee; --muted:#a3abb6; --faint:#7d8691;
  --amber:#f6ad55; --amber-hi:#ffc784; --on-amber:#16110a; --hair:rgba(246,173,85,.42);
  --card:#101012; --field:#1a1a1d; --edge:#35353b; --rule:rgba(255,255,255,.13);
  --paper:#f3f3f0; --paper-ink:#0c0c0d; --paper-mute:#53585f; --paper-edge:#d8d8d3;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--black);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.narrow{max-width:920px}
.slim{max-width:640px}
.center{text-align:center}

/* his smoke, behind the hero, the page headers and the coach section */
.smoke{background:#000 url(/img/smoke-sm.webp) center top/cover no-repeat}
@media (min-width:800px){.smoke{background-image:url(/img/smoke.webp)}}

.bar{padding:18px 16px 0;text-align:center;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.bar a{text-decoration:none}
.banner{display:block;max-width:680px;margin:18px auto 0;padding:11px 16px;border:2px solid var(--amber);border-radius:14px;text-align:center;font-size:15px;font-weight:700;font-style:italic;line-height:1.35;color:#fff}

.display{font-weight:800;letter-spacing:-.03em;line-height:1.04;color:var(--head)}
em.hl{color:#fff;font-style:italic;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:.07em;text-underline-offset:.13em;text-decoration-skip-ink:none}

.hero{text-align:center;padding-bottom:54px}
.hero h1{margin-top:26px;font-size:clamp(35px,9.6vw,70px)}
.hero .sub{margin:16px auto 0;max-width:640px;font-size:clamp(17px,4.6vw,21px);color:var(--text)}

.vsl{position:relative;width:100%;max-width:780px;aspect-ratio:16/9;margin:28px auto 0;background:#0b0b0c;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.16)}
.vsl img{width:100%;height:100%;object-fit:cover}
.vsl button{position:absolute;inset:0;width:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(to top,rgba(0,0,0,.4),rgba(0,0,0,0) 45%)}
.vsl button[aria-disabled=true]{cursor:default}
.vsl iframe,.vsl video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--amber);transition:transform .18s ease,background-color .18s ease}
.play::after{content:"";position:absolute;left:30px;top:23px;border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--on-amber)}
.vsl button:hover .play{background:var(--amber-hi);transform:scale(1.05)}
.dur{position:absolute;right:12px;bottom:12px;padding:3px 9px;border-radius:5px;background:rgba(0,0,0,.74);color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 36px;border:0;border-radius:999px;background:var(--amber);color:var(--on-amber);font-family:var(--sans);font-size:17px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .18s ease,transform .18s ease}
.btn:hover{background:var(--amber-hi)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:default}
.btn:focus-visible,.vsl button:focus-visible,input:focus-visible,textarea:focus-visible,.modal-x:focus-visible,.addcal a:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.paper .btn:focus-visible,.paper a:focus-visible{outline-color:var(--paper-ink)}
.cta{margin-top:26px}
.cta .btn{width:100%;max-width:440px}
.note{font-size:15px;color:var(--muted);margin-top:12px}

/* what the five steps answer: the three causes, and the text itself */
.what{padding:62px 0}
.two{display:grid;gap:38px;align-items:center}
.what h2{font-size:clamp(27px,6.4vw,42px);font-weight:800;letter-spacing:-.025em;line-height:1.12;color:var(--head)}
.what .lead{margin-top:22px;color:var(--muted)}
.causes{list-style:none;margin-top:12px}
.causes li{display:flex;gap:16px;align-items:baseline;padding:15px 0;border-top:1px solid var(--rule);font-size:19px;font-weight:600;line-height:1.4;color:#fff}
.causes li:last-child{border-bottom:1px solid var(--rule)}
.causes b{flex:none;width:1.2em;font-size:15px;font-weight:800;color:var(--amber);font-variant-numeric:tabular-nums}
.what .close{margin-top:22px;font-size:19px;color:var(--text)}

.thread{width:100%;max-width:360px;margin:0 auto;background:var(--card);border:1px solid var(--rule);border-radius:26px;padding:14px 14px 18px;text-align:left}
.thread .who{display:flex;flex-direction:column;align-items:center;gap:5px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--rule)}
.thread .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.thread .who b{font-size:12.5px;font-weight:600;color:var(--ink)}
.thread .tag{display:block;text-align:center;font-size:12px;color:var(--faint);margin-bottom:9px}
.bub{max-width:88%;background:#26262a;border-radius:18px;padding:9px 13px;margin-bottom:6px;font-size:15.5px;line-height:1.38;color:#fff}
.bub.blur{color:transparent;text-shadow:0 0 12px rgba(255,255,255,.7);user-select:none;-webkit-user-select:none}
.typing{display:inline-flex;gap:5px;background:#26262a;border-radius:18px;padding:12px 14px}
.typing i{width:8px;height:8px;border-radius:50%;background:#9a9aa0;animation:dot 1.2s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* the coach */
.about{padding:66px 0}
.about figure{width:100%;max-width:320px;margin:0 auto}
.about figure img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;border:1px solid var(--hair)}
.kicker{font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--amber)}
.about h2{margin-top:8px;font-size:clamp(32px,7.4vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--head)}
.about p.bio{margin-top:18px;font-size:18px;color:var(--text)}

/* the proof: his clients' own photos on paper, as on his own site */
.paper{background:var(--paper);color:var(--paper-ink)}
.proof{padding:62px 0 68px;text-align:center}
.proof h2{font-size:clamp(26px,6vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.12}
.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1000px;margin:28px auto 0}
.shots img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;background:#d9d9d4}
.quotes{display:grid;gap:12px;max-width:760px;margin:26px auto 0;text-align:left}
.quote{background:#fff;border:1px solid var(--paper-edge);border-radius:8px;padding:18px}
.quote p{color:#2b2f34;font-size:17px}
.quote b{display:block;margin-top:10px;font-size:15px}
.quote.slot p{color:var(--paper-mute)}
.proof .btn{margin-top:34px}

.foot{padding:30px 0 calc(40px + env(safe-area-inset-bottom));text-align:center;background:#000;border-top:1px solid var(--rule)}
.foot p{max-width:760px;margin:0 auto 10px;font-size:13.5px;color:var(--muted)}
.foot nav a{margin:0 10px;font-size:14px;color:#d5dae1}

/* the opt-in pop-up */
.modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}
.modal-back{position:absolute;inset:0;background:rgba(0,0,0,.8);opacity:0;transition:opacity .25s ease}
.modal-panel{position:relative;width:100%;max-width:500px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--card);color:var(--ink);border:1px solid var(--hair);border-radius:16px;padding:26px 18px 18px;transform:translateY(16px);opacity:0;transition:transform .28s ease,opacity .28s ease}
.modal-panel:focus{outline:none}
.modal.on .modal-back{opacity:1}
.modal.on .modal-panel{transform:none;opacity:1}
.modal-open,.modal-open body{overflow:hidden}
.modal-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:var(--field);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.m-title{padding-right:48px;font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:#fff}
.m-sub{margin:2px 0 16px;font-size:15px;color:var(--muted)}

.field{display:block;margin-bottom:12px;border:0;min-width:0}
.lbl{display:block;margin-bottom:6px;padding:0;font-size:14px;font-weight:700;line-height:1.35;color:#fff}
.lbl .hint{font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;min-height:46px;padding:10px 12px;font:inherit;font-size:16px;color:#fff;background:var(--field);border:1px solid var(--edge);border-radius:10px}
textarea{min-height:76px;resize:vertical;line-height:1.45}
input:focus,textarea:focus{outline:none;border-color:var(--amber)}
.names{display:grid;gap:0 10px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.seg label,.opts label{position:relative}
.seg input,.opts input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.seg span,.opts span{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--edge);border-radius:10px;background:var(--field);font-size:15px;font-weight:600;color:var(--text)}
.seg span{justify-content:center;text-align:center}
.opts{display:grid;gap:6px}
.seg input:checked+span,.opts input:checked+span{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}
.seg input:focus-visible+span,.opts input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.modal .btn[type=submit]{width:100%;margin-top:6px}
.err{display:none;margin:10px 0 0;font-size:15px;font-weight:600;color:#ff9d8f;text-align:center}
.err.on{display:block}
.fine{margin-top:10px;font-size:13px;line-height:1.5;color:#b7bfca;text-align:center}
.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* the pages after the opt-in */
.page{padding-bottom:42px;text-align:center}
.page h1{margin-top:26px;font-size:clamp(32px,8.4vw,54px)}
.page .sub{margin:14px auto 0;max-width:560px;font-size:18px;color:var(--text)}
.page .thread{margin-top:28px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:20px 16px 16px;text-align:left}
.card .btn{display:flex;width:100%;margin-top:4px}
.card.cal{padding:0;overflow:hidden;background:#fff}
.cal iframe{display:block;width:100%;min-height:720px;border:0;overflow:hidden}
.note-card p{color:var(--text)}
.note-card .sig{margin-top:10px;font-weight:700;color:#fff}
.rule{border:0;border-top:1px solid var(--rule);margin:4px 0 16px}
.when{margin-top:16px;font-size:20px;font-weight:700;color:#fff}
.addcal{display:grid;gap:8px;max-width:440px;margin:22px auto 0}
.addcal a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border:1px solid var(--hair);border-radius:12px;background:transparent;font-size:16px;font-weight:700;color:#fff;text-decoration:none;transition:background-color .18s ease}
.addcal a:hover{background:rgba(246,173,85,.14)}
.think{margin-top:26px;padding:16px 18px;border:1px solid var(--rule);border-radius:12px;background:var(--card);text-align:left;color:var(--text)}
.think b{color:#fff}

/* privacy and terms: plain paper, easy to read */
.legal{background:var(--paper);color:var(--paper-ink);padding:44px 0 64px}
.legal .wrap{max-width:720px}
.legal h1{margin-bottom:6px;font-size:clamp(30px,7vw,38px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.legal h2{margin:28px 0 8px;font-size:19px;font-weight:700;letter-spacing:-.01em}
.legal p,.legal li{color:#2b2f34}
.legal ul{padding-left:20px}
.legal .muted{font-size:14px;color:var(--paper-mute)}
.legal a{text-decoration:underline}

@media (min-width:600px){
  .names{grid-template-columns:1fr 1fr}
  .cta .btn{width:auto}
  .card{padding:26px 26px 20px}
  .addcal{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
  .quotes{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:860px){
  .wrap{padding:0 28px}
  .hero{padding-bottom:70px}
  .hero h1{margin-top:30px}
  .vsl{margin-top:34px}
  .what{padding:88px 0}
  .two{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:64px}
  .about{padding:92px 0}
  .about .two{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px}
  .about figure{max-width:400px;margin:0}
  .proof{padding:84px 0 88px}
  .shots{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .modal-panel{padding:30px 28px 22px}
  .page{padding-bottom:70px}
}
@media (max-width:599px){
  .modal{padding:0;align-items:flex-end}
  .modal-panel{max-height:94vh;max-height:94dvh;border-radius:20px 20px 0 0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
