:root{--teal:#0e4a57;--teal-d:#0a3640;--cream:#fbf5ea;--cream-d:#f2e8d6;--coral:#e8604c;--coral-d:#cf4a37;--ink:#1d2b2f;--muted:#5b6b6f;--line:#e4d9c4}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.65;font-size:17px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--teal);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,6vw,3.4rem)}
h2{font-size:clamp(1.5rem,4vw,2.1rem)}
h3{font-size:1.2rem}
a{color:var(--teal)}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.hero{background:var(--teal);color:var(--cream);padding:72px 0 64px}
.hero h1{color:var(--cream)}
.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:600;color:#f6c9bf;margin:0 0 14px}
.hero p{font-size:1.1rem;max-width:36em}
.btn{display:inline-block;background:var(--coral);color:#fff;text-decoration:none;font-weight:600;padding:15px 30px;border-radius:999px;margin-top:10px}
.btn:hover{background:var(--coral-d)}
section{padding:56px 0}
section.alt{background:var(--cream-d)}
.days{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.days li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;gap:14px;align-items:baseline}
.days b{color:var(--coral);min-width:3.6em;font-weight:600}
.ticks{list-style:none;padding:0;margin:20px 0 0}
.ticks li{padding-left:30px;position:relative;margin:10px 0}
.ticks li:before{content:'';position:absolute;left:0;top:.5em;width:14px;height:14px;border-radius:50%;background:var(--coral)}
blockquote{margin:18px 0;padding:18px 22px;background:#fff;border-left:4px solid var(--coral);border-radius:0 12px 12px 0;font-style:italic}
blockquote cite{display:block;margin-top:8px;font-style:normal;font-weight:600;color:var(--teal)}
.center{text-align:center}
footer{padding:36px 0;color:var(--muted);font-size:.9rem;text-align:center}
.price{font-family:'Playfair Display',Georgia,serif;font-size:2.4rem;color:var(--teal);margin:0}
/* course page */
.top{background:var(--teal);color:var(--cream);padding:48px 0 40px}
.top h1{color:var(--cream);font-size:clamp(1.8rem,5vw,2.6rem)}
.lessons{display:grid;gap:12px;margin-top:20px}
details.lesson{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
details.lesson summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--teal);list-style:none;display:flex;justify-content:space-between;gap:12px}
details.lesson summary::-webkit-details-marker{display:none}
details.lesson summary:after{content:'+';color:var(--coral);font-size:1.4rem;line-height:1}
details.lesson[open] summary:after{content:'–'}
details.lesson summary small{display:block;font-weight:400;color:var(--muted)}
.video{position:relative;padding-top:56.25%;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dl{display:grid;gap:12px;margin-top:20px}
.dl a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;font-weight:600}
.dl a span{display:block;font-weight:400;color:var(--muted);font-size:.92rem}

.hero-grid{max-width:980px;display:grid;gap:32px;align-items:center}
.hero-photo{width:100%;max-width:420px;height:auto;border-radius:24px;justify-self:center;border:6px solid rgba(251,245,234,.15)}
@media(min-width:820px){.hero-grid{grid-template-columns:1.2fr .8fr}}
