:root{
    --navy:#102444;
    --navy-deep:#0a1830;
    --navy-lift:#1a3560;
    --green:#6bb94b;
    --green-deep:#5aa23d;
    --green-pale:#bfe8ac;
    --paper:#f6f3ec;
    --paper-warm:#efeadf;
    --sand:#e5ddcd;
    --card:#fffdf8;
    --ink:#1a2438;
    --muted:#5c6478;
    --muted-lt:#cdd6e6;
    --muted-dk:#9fb0c9;
    --gold:#f0a92e;
    --line:rgba(16,36,68,.12);
    --line-lt:rgba(255,255,255,.14);
    --r:14px;
    --r-lg:20px;
    --shadow:0 14px 36px -14px rgba(16,36,68,.40);
    --shadow-deep:0 20px 50px -18px rgba(8,20,40,.65);
    --bar-h:92px;
  }
:root{--deep:var(--navy-deep);--warm:var(--paper-warm);--green-text:var(--green-deep)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}p+p{margin-top:18px}h1,h2,h3{font-family:Fraunces,Georgia,serif;color:var(--navy);font-weight:500}h1{font-size:clamp(42px,4.7vw,62px);line-height:1.07;letter-spacing:-.04em;margin:16px 0 25px}h2{font-size:clamp(34px,4.2vw,54px);line-height:1.13;letter-spacing:-.03em;margin-bottom:24px}h3{font-size:29px;line-height:1.2;margin-bottom:17px}h1 em,h2 em,h3 em{color:var(--green-text)}a{color:inherit}img,video{display:block;max-width:100%}video{background:var(--deep);border-radius:14px;width:100%;height:auto}figure figcaption{font-size:14px;color:var(--muted);margin-top:12px}.wide{width:min(100%,1192px);padding:0 36px;margin:auto}.reading{max-width:800px;margin:auto;padding:0 28px}.eyeline{font-size:14px;font-weight:800;letter-spacing:.12em;line-height:1.4;color:var(--green-text);margin-bottom:18px}.cta{
    display:block;width:100%;text-align:center;
    background:linear-gradient(180deg,#7cca59,var(--green-deep));
    color:#fff;font-weight:800;font-size:18.5px;text-decoration:none;
    padding:18px 24px;min-height:58px;border-radius:100px;
    box-shadow:0 14px 30px -10px rgba(107,185,75,.7);
    transition:transform .14s ease,filter .14s ease;
  }
.cta{max-width:400px;line-height:1.4}.cta:hover{filter:brightness(1.04)}.cta:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}.fine{font-size:14px;line-height:1.6;margin-top:18px;color:var(--muted)}.mast{padding:14px 36px;display:flex;align-items:center;justify-content:center;gap:24px;max-width:1192px;margin:auto}.mast img{width:220px;height:auto}.mast>a:last-child{font-size:15px;text-decoration:none;font-weight:700}.opening{padding:45px 0 65px;border-top:1px solid var(--line);background:var(--paper)}.opening-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.hero-contrast{font-family:Fraunces,Georgia,serif;font-size:clamp(20px,2.3vw,26px);line-height:1.35;color:var(--navy);font-weight:500;margin:6px 0 22px}.hero-contrast em{color:var(--green-text);font-style:normal}
.deck{font-size:19px;max-width:48ch;color:var(--muted);margin-bottom:26px}.hero-landscape{position:relative;align-self:stretch;min-height:510px}.hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:62% center;border-radius:16px}.hero-landscape p{position:absolute;bottom:22px;left:20px;right:20px;background:rgba(10,24,48,.88);color:white;border-radius:6px;font-family:Fraunces,serif;font-size:23px;padding:13px 16px}.meet-scott{padding:60px 0;background:#fffdf8}.trainer-row{max-width:1020px;display:grid;grid-template-columns:245px 1fr;gap:65px;align-items:center}.scott{max-width:245px}.portrait video{aspect-ratio:480/806;object-fit:contain}.scott figcaption{display:grid;gap:5px}.scott figcaption b{font-size:19px;color:var(--navy)}.trainer-words h2{font-size:clamp(29px,3.5vw,43px)}.trainer-words p{max-width:48ch}.recognition{background:var(--navy);color:#cdd6e6;padding:75px 0}.recognition-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.recognition h2{color:white}.recognition h2 em,.recognition .eyeline{color:var(--green)}.recognition .turn{border-top:1px solid #ffffff26;padding-top:24px;font-size:20px}.life-photo img{width:100%;height:540px;object-fit:cover;object-position:center 45%;border-radius:14px}.life-photo figcaption{color:#cdd6e6}.shared-story{padding:80px 0;background:var(--paper)}.shared-intro{max-width:850px;margin-bottom:38px}.practice-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center}.small-win video{aspect-ratio:16/9;object-fit:contain}.practice-copy p{font-size:17px}.pull{border-left:3px solid var(--green);padding-left:18px;font-weight:700;margin-top:25px}.trust-moment{margin-top:65px;padding-top:55px;border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.trust-moment video{max-height:580px;aspect-ratio:400/712;object-fit:contain;background:transparent}.freer{padding:75px 0;background:var(--deep);color:#cdd6e6}.freedom-heading{max-width:800px;margin:0 auto 38px;text-align:center}.freer h2{color:white}.freer h2 em,.freer .eyeline{color:var(--green)}.freer>.wide>figure{max-width:620px;margin:auto}.freer video{max-height:780px;aspect-ratio:720/1280;object-fit:contain}.freer figcaption{color:#9fb0c9}.freedom-close{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.freedom-close p{font-family:Fraunces,serif;font-size:34px;line-height:1.25;color:white}.freedom-close em{color:var(--green)}.freedom-close span{font-size:15px}.proof{padding:75px 0;background:#fffdf8}.context{max-width:60ch;color:var(--muted);margin-bottom:30px}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.dog-photo{height:280px;background:var(--paper);display:flex;justify-content:center;align-items:center;border-radius:12px;overflow:hidden}.dog-photo img{width:auto;height:auto;max-width:100%;max-height:260px;object-fit:contain}.dog-photo .quote blockquote{font-family:Fraunces,serif;font-size:21px;line-height:1.5;margin:25px 0 18px}.quote>p{font-size:15px}.academy{padding:80px 0;background:var(--paper)}.section-intro{max-width:810px;margin-bottom:40px}.section-intro>p:last-child{max-width:60ch;color:var(--muted)}.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;max-width:980px;margin:auto}.school-grid article{min-width:0}.screen{position:relative;overflow:hidden;border:7px solid var(--navy);border-radius:22px;background:var(--paper);box-shadow:0 20px 35px -25px #10244480;margin-bottom:28px}.screen img{width:100%;height:auto}.students-screen{aspect-ratio:526/635}.students-screen img{transform:translateY(-11.1%)}.help-screen{aspect-ratio:508/690}.help-screen img{transform:translateY(-13%)}.school-grid h3{font-size:28px}.school-grid p{font-size:17px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.feature-row b{color:var(--navy);font-size:19px}.feature-row p{font-size:16px;margin-top:10px;color:var(--muted)}.intro{padding:80px 0;background:var(--navy);color:#cdd6e6}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.intro h2{color:white}.intro h2 em,.intro .eyeline{color:var(--green)}.includes{list-style:none;padding:0;margin:25px 0 0}.includes li{border-top:1px solid #ffffff26;padding:12px 0;font-size:16px}.includes li:before{content:'✓';color:var(--green);padding-right:12px}.offer{background:#fffdf8;color:var(--ink);padding:35px;border-radius:16px}.offer .eyeline{color:var(--green-text)}.offer .price{font-family:Fraunces,serif;font-size:82px;line-height:1;color:var(--navy);margin-bottom:25px}.price span{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:16px;margin-top:13px}.offer h3{font-size:27px}.offer .cta{margin-top:26px}.offer>p:not(.price):not(.eyeline){font-size:14px}.guarantee{border-top:1px solid var(--line);padding-top:20px}.getting-started{padding:70px 0;background:#fffdf8}.start-steps{list-style:none;padding:0;margin:35px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.step-number{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--green);color:var(--deep);font-weight:800;font-size:22px;margin-bottom:20px}.start-steps h3{font-size:25px}.start-steps p{font-size:17px;color:var(--muted)}.start-note{border-top:1px solid var(--line);padding-top:24px;font-family:Fraunces,serif;font-size:25px}.questions{padding:65px 0;background:var(--warm)}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{font-size:18px;font-weight:700;cursor:pointer}details p{font-size:17px;margin-top:15px;color:var(--muted)}.ending{padding:70px 0;background:var(--deep);text-align:center;color:#cdd6e6}.ending h2{color:white}.ending .eyeline{color:var(--green)}.ending .cta{margin:28px auto 0}.ending .fine{color:#cdd6e6}.sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--navy);color:white;padding:12px 25px;box-shadow:0 -3px 20px #0002;align-items:center;justify-content:center;gap:28px}.sticky.is-on{display:flex}.sticky .cta{min-height:48px;padding:13px 25px;width:300px}.wk9-lpf{padding:26px 20px 20px;background:var(--paper)}.wk9-lpf-in,.wk9-lpf-legal{max-width:620px;margin:auto;display:flex;flex-direction:column;gap:14px;justify-content:center;align-items:center;text-align:center}.wk9-lpf-logo img{width:112px;height:auto}.wk9-lpf-social{display:flex;gap:20px;justify-content:center}.wk9-lpf-social img{width:28px;height:28px}.wk9-lpf-legal{font-size:13.5px;margin-top:16px;gap:7px;padding-bottom:0}.skip{position:absolute;top:-100px;left:12px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}.is-hidden{display:none!important}
@media(max-width:760px){body{font-size:17px}.wide{padding:0 23px}.mast{padding:12px 23px}.mast img{width:170px}.mast>a:last-child{font-size:14px}.opening{padding:28px 0 35px}.opening-grid,.recognition-grid,.practice-layout,.trust-moment,.school-grid,.split{grid-template-columns:1fr;gap:30px}h1{font-size:42px}.hero-contrast{font-size:19px;margin:2px 0 18px}.deck{font-size:18px}.hero-landscape{min-height:0}.hero-landscape img{height:auto;aspect-ratio:4/3;object-position:center}.hero-landscape p{font-size:20px;left:12px;right:12px;bottom:12px}.trainer-row{grid-template-columns:145px 1fr;gap:22px;align-items:start}.trainer-words h2{font-size:24px}.trainer-words .eyeline{font-size:12px}.trainer-words p{font-size:16px}.scott figcaption span{display:none}.scott figcaption b{font-size:16px}.meet-scott{padding:35px 0}.recognition,.shared-story,.freer,.proof,.academy,.intro,.getting-started{padding:50px 0}.life-photo{max-width:420px;margin:auto}.life-photo img{height:auto;max-height:500px;object-fit:contain}.recognition .turn{font-size:18px}.shared-intro{margin-bottom:28px}.trust-moment{margin-top:38px;padding-top:35px}.trust-moment video{max-height:500px}.freer video{max-height:650px}.freedom-heading{text-align:left}.freedom-close{grid-template-columns:1fr;gap:22px}.freedom-close p{font-size:29px}.quotes{grid-template-columns:1fr;gap:35px}.dog-photo{height:270px}.dog-photo img{max-height:250px}.quote blockquote{font-size:21px;margin-top:20px}.school-grid{gap:35px;max-width:420px}.feature-row{grid-template-columns:1fr;gap:24px}.feature-row p{margin-top:5px}.offer{padding:28px}.start-steps{grid-template-columns:1fr;gap:27px}.start-steps li{position:relative;padding-left:66px}.step-number{position:absolute;left:0;top:0;width:42px;height:42px}.start-steps h3{font-size:24px;margin-bottom:10px}.start-note{font-size:22px}.questions,.ending{padding:50px 0}.sticky>span{display:none}.sticky{padding:10px 20px max(10px,env(safe-area-inset-bottom))}.sticky .cta{width:100%;max-width:none}.wk9-lpf-legal{padding-bottom:0}}@media(max-width:390px){.trainer-row{grid-template-columns:1fr}.scott{max-width:220px;margin:auto}.trainer-words h2{font-size:29px}h1{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Major narrative beats, using only the original /method palette. */
.opening{background:var(--sand)}
.mast{background:var(--paper)}
.meet-scott{background:var(--navy);color:var(--muted-lt);padding:70px 0}
.trainer-row{max-width:1120px;grid-template-columns:290px 1fr;gap:65px}
.scott{max-width:290px}
.meet-scott h2,.meet-scott .scott b{color:#fff}
.meet-scott .eyeline{color:var(--green-pale)}
.meet-scott figcaption{color:var(--muted-lt)}
.scott-bio p{font-size:17px;max-width:57ch}
.bio-sign{font-family:Fraunces,serif;color:var(--green-pale);font-size:24px!important;font-style:italic;margin-top:25px}
.bio-sign span{display:block;font-family:'Hanken Grotesk',sans-serif;color:var(--muted-lt);font-style:normal;font-size:14px;margin-top:5px}
.recognition{background:var(--paper);color:var(--ink)}
.recognition h2{color:var(--navy)}
.recognition h2 em,.recognition .eyeline{color:var(--green-deep)}
.recognition .turn{border-top-color:var(--line)}
.life-photo img{height:600px;object-fit:cover;object-position:center 65%}
.life-photo figcaption{color:var(--muted)}
.shared-story{background:var(--navy-lift);color:var(--muted-lt)}
.shared-story h2,.shared-story h3{color:#fff}
.shared-story em,.shared-story .eyeline{color:var(--green-pale)}
.shared-story figcaption{color:var(--muted-lt)}
.shared-story .pull{color:#fff}
.reliability-section{background:var(--sand);padding:75px 0}
.reliability-section .trust-moment{margin:0 auto;padding-top:0;border-top:0}
.freer{background:var(--navy-deep)}
.proof{background:var(--paper)}
.academy{background:var(--navy-lift);color:var(--muted-lt)}
.academy h2,.academy h3,.academy .feature-row b{color:#fff}
.academy .eyeline,.academy h2 em{color:var(--green-pale)}
.academy .section-intro>p:last-child,.academy .feature-row p{color:var(--muted-lt)}
.academy .feature-row{border-top-color:var(--line-lt)}
.screen{aspect-ratio:526/635;border-color:var(--navy-deep)}
.school-grid h3{min-height:3.6em}
.intro{background:var(--sand);color:var(--ink)}
.intro h2{color:var(--navy)}
.intro h2 em,.intro .eyeline{color:var(--green-deep)}
.intro .includes li{border-top-color:var(--line)}
.offer{background:var(--navy);color:var(--muted-lt);box-shadow:var(--shadow)}
.offer .eyeline{color:var(--green-pale)}
.offer h3,.offer .price{color:#fff}
.offer .fine{color:var(--muted-lt)}
.offer .guarantee{border-top-color:var(--line-lt)}
.getting-started{background:var(--navy);color:var(--muted-lt)}
.getting-started h2,.getting-started h3{color:#fff}
.getting-started h2 em,.getting-started .eyeline{color:var(--green-pale)}
.getting-started .start-steps p{color:var(--muted-lt)}
.getting-started .start-note{border-top-color:var(--line-lt);color:#fff}
.questions{background:var(--paper-warm)}
@media(max-width:760px){.trainer-row{grid-template-columns:1fr;gap:30px}.scott{max-width:260px;margin:auto}.trainer-words h2{font-size:30px}.scott figcaption span{display:block}.scott-bio p{font-size:17px}.meet-scott{padding:48px 0}.life-photo img{height:520px;object-fit:cover}.reliability-section{padding:50px 0}.school-grid h3{min-height:0}}

.cash-comparison{padding-bottom:52px;margin-bottom:52px;border-bottom:1px solid var(--line)}
.cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}
.cash-card{padding:22px;background:var(--navy);border:1px solid rgba(255,255,255,.16);border-radius:24px;box-shadow:var(--shadow)}
.cash-label{display:inline-block;background:#ffffff26;color:var(--muted-lt);font-size:15px;line-height:1.4;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:100px;padding:9px 18px;margin-bottom:17px}
.cash-now{background:var(--green);color:var(--navy-deep)}
.cash-card video{width:100%;aspect-ratio:1/1;object-fit:contain;background:var(--navy-deep);border-radius:14px}
.cash-card figcaption{color:var(--muted-lt);font-size:17px;line-height:1.5;margin-top:16px}
.cash-context{font-size:14px;color:var(--muted);margin-top:23px}
@media(max-width:600px){.cash-grid{grid-template-columns:1fr;gap:22px}.cash-card{padding:18px}.cash-card video{max-height:440px}.cash-comparison{padding-bottom:38px;margin-bottom:38px}}

/* Show the complete landscape photograph, including the dog's left side. */
.hero-landscape{align-self:center;min-height:0;height:auto}
.hero-landscape img{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.hero-landscape p{position:static;margin:14px 0 0;padding:13px 16px;font-size:21px}
@media(max-width:760px){.hero-landscape img{height:auto;aspect-ratio:auto;object-fit:contain}.hero-landscape p{font-size:19px}}

/* A modest landscape crop retains both full subjects and the platform. */
.hero-landscape{overflow:hidden}
.hero-landscape img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover;object-position:50% 50%}
@media(max-width:760px){.hero-landscape img{aspect-ratio:3/2;height:auto;object-fit:cover;object-position:50% 50%}}

/* Slightly closer framing: trim background at the sides, retain full subject height. */
.hero-landscape img{aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}
@media(max-width:760px){.hero-landscape img{aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}}

.lesson-example{background:var(--sand);padding:70px 0;color:var(--ink)}
.lesson-intro{max-width:850px}.lesson-intro>p:last-child{max-width:65ch}
.lesson-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:32px}
.lesson-pair article{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.lesson-pair .lesson-start{background:var(--navy);color:var(--muted-lt)}
.lesson-label{font-size:14px;font-weight:800;margin-bottom:15px}
.lesson-pair h3{font-size:36px;margin-bottom:13px}.lesson-start h3{color:var(--green-pale)}
.lesson-takeaway{font-size:23px;font-family:Fraunces,serif;margin-top:30px;max-width:65ch}
@media(max-width:600px){.lesson-example{padding:48px 0}.lesson-pair{grid-template-columns:1fr;gap:18px}.lesson-pair article{padding:23px}.lesson-pair h3{font-size:31px}.lesson-takeaway{font-size:21px}}

/* ============ looping demonstration clips ============
   Five short silent clips that start when their section reaches the screen and
   stop when it leaves, so a phone is never decoding video the reader cannot
   see. Every one keeps a visible play/pause control, because autoplay is a
   convenience and should never be the only way to control playback. */
.vshell{position:relative;display:block;line-height:0}
.vshell video{width:100%;height:auto;display:block;border-radius:inherit}

.vshell .vtoggle{
  position:absolute;right:10px;bottom:10px;z-index:3;
  width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(12,24,44,.62);color:#fff;cursor:pointer;
  display:grid;place-items:center;padding:0;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .16s ease,opacity .2s ease;
}
.vshell .vtoggle:hover{background:rgba(12,24,44,.82)}
.vshell .vtoggle:focus-visible{outline:3px solid #8fd06a;outline-offset:2px}
.vshell .vtoggle svg{width:17px;height:17px;fill:currentColor;display:block}
.vshell .vtoggle .vi-pause{display:none}
.vshell .vtoggle[data-state="playing"] .vi-play{display:none}
.vshell .vtoggle[data-state="playing"] .vi-pause{display:block}

/* While a clip is paused the control is the whole point of the frame, so it
   grows and centres. Once it is running it shrinks back into the corner. */
.vshell .vtoggle[data-state="paused"]{
  width:62px;height:62px;right:50%;bottom:50%;transform:translate(50%,50%);
  background:rgba(12,24,44,.72);
}
.vshell .vtoggle[data-state="paused"] svg{width:24px;height:24px;margin-left:3px}

.vshell .vtoggle[data-state="playing"]{opacity:.55}
.vshell:hover .vtoggle[data-state="playing"],
.vshell .vtoggle[data-state="playing"]:focus-visible{opacity:1}

/* Someone who has asked for less motion gets the poster and a play button. */
@media (prefers-reduced-motion: reduce){
  .vshell .vtoggle{transition:none}
}
