:root{--g:#1F3D2B;--g2:#3E5A48;--g3:#4F6F55;--sage:#9DB8A0;--gold:#C9A96A;--cream:#FBFAF6;--mist:#F1F4EC;--leaf:#DCE6DB;--field:#E9F0E8;--line:#E4E8DD}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--g);background:var(--cream);line-height:1.5}
a{color:var(--g)}a:hover{color:var(--g3)}
img{max-width:100%}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:400;margin:0}
.wrap{max-width:1232px;margin:0 auto}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--g3)}
.btn{display:inline-block;text-decoration:none;font-weight:600;border-radius:999px;padding:16px 28px;border:1.5px solid var(--g);background:var(--g);color:#fff;font-size:16px;cursor:pointer;font-family:inherit}
.btn:hover{color:#fff;background:var(--g2)}
.btn.ghost{background:transparent;color:var(--g)}.btn.ghost:hover{background:var(--g);color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--g)}.btn.gold:hover{background:#d8bb83;color:var(--g)}
header.top{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:20px 64px;border-bottom:1px solid var(--line)}
header.top img{height:84px;width:auto;display:block}
header.top nav{display:flex;flex-wrap:wrap;gap:28px;align-items:center;font-size:15px;font-weight:500}
header.top nav a{text-decoration:none}
header.top nav a.btn{padding:12px 22px;color:#fff}
.hero{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding:96px 64px;max-width:1360px;margin:0 auto}
.hero .txt{flex:1 1 440px;display:flex;flex-direction:column;gap:24px}
.hero h1{font-size:64px;line-height:1.05}
.hero p{margin:0;font-size:19px;line-height:1.6;color:var(--g2);max-width:520px}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px}
.hero .art{flex:1 1 420px;min-height:480px;border-radius:200px 200px 24px 24px;background:var(--leaf);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--g2);font-size:14px}
.hero .art img{width:160px;opacity:.9}
section.band{padding:80px 64px}
section.mist{background:var(--mist)}
.head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:32px}
.head h2,.sec-title{font-size:44px;line-height:1.1}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:0;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:10px 18px;border-radius:999px;background:#fff;color:var(--g);min-height:44px}
.chip[aria-pressed="true"]{background:var(--g);color:#fff}
.oils{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.oil{flex:1 1 180px;max-width:300px;text-decoration:none;background:#fff;border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:10px}
.oil[hidden]{display:none}
.oil .ph{height:130px;border-radius:16px;background:var(--leaf);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--g2);overflow:hidden}
.oil .ph img{width:100%;height:100%;object-fit:cover}
.oil strong{font-family:'Fraunces',serif;font-size:18px}
.oil span{font-size:13px;color:var(--g2)}
.vids{display:flex;flex-wrap:wrap;gap:24px;margin-top:40px}
.vid{flex:1 1 260px;max-width:380px;text-decoration:none;display:flex;flex-direction:column;gap:12px}
.vid .th{aspect-ratio:9/16;max-height:420px;width:100%;border-radius:20px;background:var(--g);display:flex;align-items:center;justify-content:center;color:var(--leaf);font-size:14px;overflow:hidden}
.vid .th img{width:100%;height:100%;object-fit:cover}
.vid strong{font-size:17px}.vid small{font-size:14px;color:var(--g2)}
section.dark{background:#16301F;color:#F4F1E8;padding:96px 64px}
.week{display:flex;flex-wrap:wrap;gap:48px;align-items:center;margin-top:48px}
.week .player{flex:0 0 300px;aspect-ratio:9/16;border-radius:20px;background:#274A33;display:flex;align-items:center;justify-content:center;color:var(--sage);font-size:14px;overflow:hidden}
.week .player video,.week .player iframe{width:100%;height:100%;border:0}
.week .info{flex:1 1 400px;display:flex;flex-direction:column;gap:20px}
.week .eyebrow{color:var(--gold)}
.week p{margin:0;font-family:'Fraunces',serif;font-size:40px;line-height:1.15}
.week .links{display:flex;flex-wrap:wrap;gap:24px;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.week .links a{color:var(--gold)}
section.course{background:var(--g);color:#fff;padding:80px 64px}
.course .wrap{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.course .txt{flex:1 1 440px;display:flex;flex-direction:column;gap:18px}
.course .eyebrow{color:var(--gold)}
.course h2{font-size:44px;line-height:1.1}
.course p{margin:0;line-height:1.6;color:var(--leaf);max-width:520px}
.formbox{background:#fff;border:1px solid var(--line);border-radius:36px;padding:48px;display:flex;flex-wrap:wrap;gap:40px}
.formbox .side{flex:1 1 280px;display:flex;flex-direction:column;gap:12px}
.formbox .side p{margin:0;line-height:1.6;color:var(--g2)}
form{flex:2 1 440px;display:flex;flex-direction:column;gap:16px}
.row{display:flex;flex-wrap:wrap;gap:16px}
.f{flex:1 1 220px;display:flex;flex-direction:column;gap:6px}
label{font-size:14px;font-weight:700}
input[type=text],input[type=email],select{height:52px;border:2px solid transparent;border-radius:16px;background:var(--field);padding:0 18px;font-size:16px;font-family:inherit;color:var(--g);width:100%}
input:focus,select:focus{outline:none;border-color:var(--g)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--g2);font-weight:400}
.consent input{margin-top:3px;width:20px;height:20px;flex:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
#msg{margin:0;font-weight:600;min-height:1.5em}
#msg.ok{color:var(--g3)}#msg.err{color:#9A3B2E}
footer.foot{padding:40px 64px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:14px;color:var(--g2)}
footer.foot nav{display:flex;gap:20px;flex-wrap:wrap}
.legal{max-width:760px;margin:0 auto;padding:64px 24px;line-height:1.7}
.legal h1{font-size:40px;margin-bottom:24px}.legal h2{font-size:24px;margin:32px 0 8px}
@media (max-width:900px){
header.top,.hero,section.band,section.dark,section.course,footer.foot{padding-left:32px;padding-right:32px}
.hero{padding-top:64px;padding-bottom:64px}.hero h1{font-size:48px}
.head h2,.sec-title,.course h2{font-size:36px}.week p{font-size:32px}
}
@media (max-width:600px){
header.top{padding:10px 20px;gap:10px}header.top img{height:64px}
header.top nav{gap:14px;font-size:14px}
header.top nav a:not(.btn){display:none}
header.top nav a.btn{padding:11px 18px}
.hero,section.band,section.dark,section.course,footer.foot{padding-left:20px;padding-right:20px}
.hero{padding-top:40px;padding-bottom:48px;gap:32px}
.hero h1{font-size:38px}.hero p{font-size:17px}
.hero .cta .btn{flex:1 1 100%;text-align:center}
.hero .art{min-height:300px;border-radius:140px 140px 20px 20px}
section.band{padding-top:56px;padding-bottom:56px}section.dark{padding-top:64px;padding-bottom:64px}section.course{padding-top:56px;padding-bottom:56px}
.head h2,.sec-title,.course h2{font-size:30px}
.chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px}.chip{flex:none}
.oil{flex:1 1 calc(50% - 8px);max-width:none;padding:14px;border-radius:20px}.oil .ph{height:100px}
.vids{flex-wrap:nowrap;overflow-x:auto;gap:16px;margin-right:-20px;padding-right:20px;scroll-snap-type:x mandatory}
.vid{flex:0 0 70%;max-width:none;scroll-snap-align:start}
.week{gap:24px;margin-top:28px}.week .player{flex:1 1 100%;max-width:300px;margin:0 auto}.week p{font-size:26px}
.course .btn{width:100%;text-align:center}
.formbox{padding:28px 20px;border-radius:28px;gap:24px}
form .btn{width:100%}
footer.foot{flex-direction:column}
}
