:root{
  --bg:#0D0C0A; --bg2:#12110D; --line:#2A261E; --line2:#3A3427; --btnline:#5A513F;
  --text:#ECE5D5; --text2:#CFC7B5; --muted:#B8B09E; --muted2:#A79F8D;
  --gold:#D4B26A; --gold-hi:#E8CF94; --ink:#14120D;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Manrope',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--gold)} a:hover{color:var(--gold-hi)}
em.g{font-style:italic;color:var(--gold)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.band{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec{padding-top:112px;padding-bottom:112px}
@media (max-width:760px){.sec{padding-top:80px;padding-bottom:80px}}
.eyebrow{margin:0 0 16px;font-size:13px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
h1,h2,.serif{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0}
h2{font-size:clamp(38px,5vw,52px)}
h3{margin:0}
.btn{display:inline-block;text-align:center;padding:16px 30px;border-radius:2px;text-decoration:none;font-weight:700;letter-spacing:.04em;font-size:16px;min-height:44px}
.btn-gold{background:var(--gold);color:var(--ink)} .btn-gold:hover{background:var(--gold-hi);color:var(--ink)}
.btn-line{border:1px solid var(--btnline);color:var(--text);font-weight:600} .btn-line:hover{border-color:var(--gold);color:var(--text)}

/* nav */
header.top{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:rgba(13,12,10,.92);backdrop-filter:blur(8px)}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 24px;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
.brand img{width:48px;height:48px}
.brand b{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.04em;display:block;line-height:1.1}
.brand small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted2)}
.nav nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:14px;font-weight:500}
.nav nav a{color:var(--text2);text-decoration:none} .nav nav a:hover{color:var(--gold)}
.nav nav a.btn{color:var(--ink);padding:12px 22px;font-size:14px}
@media (max-width:760px){.nav nav a:not(.btn){display:none}.brand small{display:none}}

/* hero */
.hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding:96px 24px 96px}
.hero .copy{flex:999 1 520px;min-width:0}
.hero h1{font-size:clamp(44px,6vw,80px);line-height:1.02;margin-bottom:28px}
.hero p.lead{margin:0 0 40px;max-width:560px;font-size:18px;color:var(--muted)}
.ctas{display:flex;flex-wrap:wrap;gap:16px}
.frame{border:1px solid var(--line2);padding:10px;background:var(--bg2)}
.hero .frame{flex:1 1 360px;max-width:440px;min-width:0}
.frame img{width:100%;height:auto;object-fit:cover}
@media (max-width:760px){.hero{padding:56px 24px 72px;gap:40px}.ctas .btn{flex:1 1 100%}}

/* who */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px 48px}
.who{padding-top:72px;padding-bottom:72px}
.who h2{font-size:38px}
.who h3{font-size:18px;font-weight:700;margin-bottom:10px}
.who p{margin:0;color:var(--muted)}

/* model */
.split{display:flex;flex-wrap:wrap;gap:64px}
.split>*{min-width:0}
.tf{display:flex;align-items:baseline;gap:24px;padding:20px 0;border-top:1px solid var(--line)}
.tf:last-child{border-bottom:1px solid var(--line)}
.tf span:first-child{font-family:var(--serif);font-size:34px;color:var(--gold);width:96px;flex-shrink:0}
.tf span:last-child{color:var(--text2)}

/* curriculum */
.cards6{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:48px}
.card{border:1px solid var(--line2);background:var(--bg2);padding:28px}
.card .n{font-family:var(--serif);font-size:30px;color:var(--gold)}
.card h3{font-family:var(--serif);font-weight:600;font-size:28px;margin:6px 0 8px}
.card p{margin:0;color:var(--muted)}

/* pricing */
.center{text-align:center}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:64px;align-items:stretch}
.plan{border:1px solid var(--line2);background:var(--bg);padding:44px 36px;display:flex;flex-direction:column;gap:22px}
.plan.feat{border-color:var(--gold)}
.plan .tag{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.plan .pill{font-size:11px;letter-spacing:.16em;color:var(--ink);background:var(--gold);padding:5px 10px}
.plan h3{font-family:var(--serif);font-weight:600;font-size:38px;line-height:1.05}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.price b{font-family:var(--serif);font-weight:500;font-size:56px;line-height:1;color:var(--gold)}
.price s{font-family:var(--serif);font-size:28px;color:var(--muted2)}
.price small{color:var(--muted2);font-size:14px}
.note{margin:-10px 0 0;font-size:13px;color:var(--muted2)}
.plan ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;color:var(--text2)}
.plan li{display:flex;gap:12px}
.plan li:before{content:"◆";color:var(--gold);font-size:12px;line-height:1.9}
.weeks{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
.weeks strong{color:var(--text)}
.plan .actions{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.plan .actions .small{text-align:center;font-size:14px;font-weight:600}
.fine{margin:32px 0 0;font-size:14px;color:var(--muted2)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;margin-top:56px}
.steps>div{border-top:1px solid var(--gold);padding-top:24px}
.steps .rn{font-family:var(--serif);font-size:44px;color:var(--gold);line-height:1}
.steps h3{margin:16px 0 8px;font-size:18px;font-weight:700}
.steps p{margin:0;color:var(--muted)}

/* recaps */
.rowhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.video{border:1px solid var(--line2);background:var(--bg);aspect-ratio:16/9;position:relative;overflow:hidden}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* about */
.about{align-items:center}
.about .frame{flex:1 1 360px;max-width:440px}
.about .copy{flex:999 1 500px}
.about p{margin:0 0 18px;color:var(--text2);font-size:17px}
.about p.close{color:var(--text);margin-bottom:32px}
.creds{display:flex;flex-wrap:wrap;gap:12px 32px;border-top:1px solid var(--line);padding-top:24px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.creds span span{color:var(--gold)}

/* faq */
.faq{max-width:860px}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--gold);font-size:22px;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq p{margin:14px 0 0;color:var(--muted)}

/* final */
.final{padding:128px 24px;text-align:center}
.final img{width:120px;height:120px;margin:0 auto 32px}
.final h2{max-width:760px;margin:0 auto 36px;font-size:clamp(40px,5vw,64px)}

/* footer */
footer{border-top:1px solid var(--line)}
.foot{padding:56px 24px 40px;display:flex;flex-direction:column;gap:32px}
.foot .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.foot nav{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:14px;font-weight:500}
.foot nav a{color:var(--text2);text-decoration:none} .foot nav a:hover{color:var(--gold)}
.disc{margin:0;padding-top:24px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:#8F8877}

/* apply */
.apply{display:flex;flex-wrap:wrap;gap:72px;padding:88px 24px 112px}
.apply .side{flex:1 1 320px;min-width:0}
.apply h1{font-size:clamp(40px,5vw,60px);line-height:1.04;margin-bottom:24px}
.apply .side>p{margin:0 0 40px;color:var(--muted);font-size:17px}
.flow{border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;gap:18px}
.flow div{display:flex;gap:14px;color:var(--text2)}
.flow b{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--gold);width:28px;flex-shrink:0}
form.app{flex:999 1 520px;min-width:0;border:1px solid var(--line2);background:var(--bg2);padding:44px 40px;display:flex;flex-direction:column;gap:24px}
@media (max-width:600px){form.app{padding:28px 20px}.apply{padding:56px 24px 80px;gap:48px}}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.field{display:flex;flex-direction:column;gap:8px}
.field label,legend{font-size:14px;font-weight:600}
input[type=text],input[type=email],select,textarea{background:var(--bg);border:1px solid var(--line2);color:var(--text);padding:14px 16px;font:inherit;border-radius:2px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
legend{margin-bottom:12px;padding:0}
.radio{display:flex;align-items:center;gap:12px;border:1px solid var(--line2);padding:14px 16px;cursor:pointer}
.radio:has(input:checked){border-color:var(--gold)}
.radio input{accent-color:var(--gold);width:18px;height:18px}
button.btn{border:0;cursor:pointer;font-family:inherit}
.hidden{display:none}
