:root{--navy:#1B2A3A;--navy2:#24384C;--teal:#0F7B6C;--teal-l:#E8F3F0;--mint:#5CC8B5;--gold:#F2B33D;--green:#3FA36B;--red:#E0604F;--cream:#FBF8F3;--peach:#FFF4E3;--ink:#1F2A37;--muted:#4A5563;--line:#E3DED4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}a:hover{color:#0B5A4F}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:900;letter-spacing:-.03em;line-height:1.05;margin:0}
h2{font-size:clamp(32px,4.5vw,48px);color:var(--navy)}
h3{font-size:21px;letter-spacing:-.015em;line-height:1.2;color:var(--navy)}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.lede{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:640px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit}
.btn.gold{background:var(--gold);color:var(--navy)}.btn.gold:hover{background:#E9A72A;color:var(--navy)}
.btn.ghost{border-color:#FFFFFF;color:#FFFFFF}.btn.ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.btn.navy{background:var(--navy);color:#fff}.btn.navy:hover{background:#0F1B28;color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.dots{display:flex;gap:8px}.dots i{width:14px;height:14px;border-radius:50%;display:block}
.dots .g{background:var(--green)}.dots .y{background:var(--gold)}.dots .r{background:var(--red)}
.stripe{height:8px;display:flex}.stripe i{flex:1}.stripe .g{background:var(--green)}.stripe .y{background:var(--gold)}.stripe .r{background:var(--red)}
/* nav */
.nav{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:900;font-size:20px;letter-spacing:-.02em}
.brand .badge{width:40px;height:40px;flex:none;border-radius:11px;background:#FBF8F3;display:flex;align-items:center;justify-content:center}.brand .mk{width:30px;height:33px}
.brand span{color:var(--gold)}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav ul a{color:#D5DCE4;text-decoration:none;font-weight:600;font-size:15px}.nav ul a:hover{color:#fff}
.nav .btn{min-height:42px;padding:0 18px;font-size:14px}
@media (max-width:860px){.nav ul{display:none}}
/* hero */
.hero{background:var(--navy);color:#fff;padding:72px 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hero .eyebrow{color:var(--gold)}
.hero h1{font-size:clamp(44px,7vw,84px);margin:16px 0 20px}
.hero h1 span{color:var(--gold)}
.hero p{font-size:clamp(18px,2.2vw,21px);color:#D5DCE4;margin:0 0 30px;max-width:560px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero .cover{justify-self:center;width:min(300px,70%);transform:rotate(4deg);box-shadow:20px 30px 50px rgba(0,0,0,.45);border-radius:4px;margin-bottom:-40px}
.hero .bottom{height:90px}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero .cover{width:min(280px,70%);margin:10px auto -30px}}
/* sections */
section{padding:96px 0}
.center{text-align:center}.center .lede{margin:14px auto 0}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px}
.step .n{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;color:var(--navy);margin-bottom:18px}
.step p{color:var(--muted);margin:10px 0 0}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.plan{background:var(--teal-l)}
.plan .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.wk{background:#fff;border-radius:18px;padding:18px 20px;display:flex;gap:14px;align-items:center}
.wk .n{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--navy)}
.wk small{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.wk b{font-size:17px;color:var(--navy)}
.signup{background:var(--navy);color:#fff;border-radius:26px;padding:36px}
.signup h3{color:#fff;font-size:28px}
.signup p{color:#D5DCE4;margin:10px 0 22px}
.signup label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px;color:#fff}
.signup input{width:100%;min-height:50px;border-radius:14px;border:2px solid #3A4B5E;background:var(--navy2);color:#fff;font:inherit;padding:0 16px}
.signup input::placeholder{color:#9FB0C2}
.signup .btn{width:100%;margin-top:22px}
.signup small{display:block;color:#9FB0C2;margin-top:12px;font-size:13px}
.hidden{position:absolute;left:-9999px}
@media (max-width:860px){.plan .grid{grid-template-columns:1fr}.weeks{grid-template-columns:1fr}}
.book .grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.book img{border-radius:6px;box-shadow:16px 24px 40px rgba(27,42,58,.25);width:min(320px,100%);margin:0 auto}
.checks{list-style:none;padding:0;margin:22px 0}
.checks li{display:flex;gap:12px;margin-bottom:12px;font-weight:600;color:var(--navy)}
.checks li::before{content:"";flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/16px no-repeat;margin-top:2px}
.tag{display:inline-block;background:var(--peach);color:#8A3F0C;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
@media (max-width:860px){.book .grid{grid-template-columns:1fr}}
.app{background:var(--navy);color:#fff}
.app .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.app h2{color:#fff}.app .lede{color:#D5DCE4}.app .eyebrow{color:var(--gold)}
.app ul{padding:0;list-style:none;margin:24px 0 30px}
.app li{display:flex;gap:12px;margin-bottom:12px;color:#E3E8EE}
.app li i{flex:none;width:12px;height:12px;border-radius:50%;margin-top:8px}
.phone{justify-self:center;width:min(300px,80%);border-radius:40px;border:10px solid #0E1822;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.45);background:#0E1822}
@media (max-width:860px){.app .grid{grid-template-columns:1fr}}
.groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}
.group{border-radius:22px;padding:30px;background:#fff;border:1px solid var(--line)}
.group .top{height:8px;border-radius:99px;margin-bottom:22px;width:56px}
.group p{color:var(--muted);margin:10px 0 0}
@media (max-width:860px){.groups{grid-template-columns:1fr}}
.work-cta{margin-top:36px;display:flex;justify-content:center}
.authors{background:var(--peach)}
.authors .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.author{background:#fff;border-radius:22px;padding:30px}
.author p{color:var(--muted);margin:10px 0 0}
@media (max-width:860px){.authors .grid{grid-template-columns:1fr}}
.quote{font-size:clamp(24px,3.2vw,34px);font-weight:900;letter-spacing:-.02em;color:var(--navy);max-width:820px;margin:0 auto;line-height:1.2}
footer{background:var(--navy);color:#D5DCE4;padding:56px 0 30px}
footer .wrap{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start}
footer a{color:#fff}
footer .social{display:flex;gap:16px;flex-wrap:wrap}
footer small{display:block;margin-top:30px;color:#9FB0C2;width:100%}
.brand b{font-weight:900;color:#fff}
.workshop-form{max-width:760px;margin:40px auto 0;text-align:left}
.workshop-form .two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.signup select,.signup textarea{width:100%;border-radius:14px;border:2px solid #3A4B5E;background:var(--navy2);color:#fff;font:inherit;padding:12px 16px}
.signup select{min-height:50px}
@media (max-width:640px){.workshop-form .two{grid-template-columns:1fr}}

.workbook .grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
@media (max-width:860px){.workbook .grid{grid-template-columns:1fr}.workbook img{order:-1}}

.author{text-align:center}
.author .headshot{width:180px;height:180px;margin:0 auto 16px;border-radius:50%;box-shadow:0 12px 28px rgba(27,42,58,.14)}
.author p{text-align:left}

.why-name{display:flex;gap:24px;align-items:center;max-width:820px;margin:44px auto 0;background:var(--peach);border-radius:22px;padding:26px 30px;text-align:left}
.why-name img{flex:none;width:84px;height:auto}
.why-name p{margin:8px 0 0;font-size:17px;line-height:1.6;color:var(--ink)}
.why-name b{color:var(--teal)}
@media (max-width:600px){.why-name{flex-direction:column;align-items:flex-start;padding:22px}.why-name img{width:64px}}
