:root{--sand:#efeee4;--warm-white:#f5f4ef;--body:#444;--red:#c62626;--dark-red:#a81f1f;--border:rgba(0,0,0,.10);--brand:"Archivo Black",Impact,Arial,sans-serif;--sans:Lato,Arial,sans-serif;--pad:64px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--body);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:var(--red)}a:hover{color:var(--dark-red)}
h1,h2,h3,.h{font-family:var(--brand);font-weight:400;letter-spacing:-.01em;color:var(--dark-red);margin:0;line-height:1.08}
.h-xl{font-size:clamp(40px,5vw,60px);line-height:1.02}
.h-lg{font-size:clamp(30px,3.6vw,44px)}
.h-md{font-size:24px;line-height:1.2}
.sub{font-family:var(--brand);font-size:15px;line-height:1.4;color:var(--dark-red);margin:0}
p{margin:0}
.sm{font-size:14px;line-height:1.7}
.eyebrow{font-family:var(--brand);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);line-height:1.4}
.label{font-family:var(--brand);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--body);line-height:1.4}
.num{font-family:var(--brand);font-size:18px;line-height:1.4;color:var(--red)}
.textlink{font-family:var(--brand);font-size:13px;letter-spacing:.04em;color:var(--red);text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:var(--sand);font-family:var(--brand);font-size:13px;line-height:1;letter-spacing:.04em;padding:15px 22px;border-radius:2px;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--dark-red);color:var(--sand)}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--dark-red);outline-offset:3px}
.btn-sand{background:var(--sand);color:var(--red)}.btn-sand:hover{background:#fff8;color:var(--dark-red)}
.img{width:100%;object-fit:cover;border-radius:4px}
.rule{border-top:1px solid var(--border)}
.wrap{padding:0 var(--pad)}
.bleed{margin:0 24px}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}

/* nav */
.nav{height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:10;background:var(--sand)}
.nav .logo img{height:44px;width:auto}
.nav nav{display:flex;gap:40px;align-items:center}
.nav nav a{font-family:var(--brand);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--body);text-decoration:none}
.nav nav a:hover,.nav nav a[aria-current]{color:var(--red)}
.menu-btn{display:none}

/* hero */
.hero{position:relative;height:min(860px,88vh);min-height:560px}
.hero .vids{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px;overflow:hidden;border-radius:4px}
.hero video{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:4px}
.hero .fade{position:absolute;left:0;right:0;bottom:0;height:42%;border-radius:0 0 4px 4px;background:linear-gradient(to bottom,rgba(26,26,26,0),rgba(26,26,26,.55))}
.hero .cta{position:absolute;left:24px;right:24px;bottom:72px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.hero .cta p{color:var(--sand);font-size:15px;max-width:360px;line-height:1.6}

.intro{padding:150px var(--pad) 130px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
.intro p.quote{font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,3.4vw,40px);line-height:1.2;max-width:1000px;color:var(--body)}
.intro .label{color:var(--red)}

section{scroll-margin-top:96px}
.sec{padding-bottom:150px}
.method .text{grid-column:8/span 5;display:flex;flex-direction:column;gap:28px;padding-top:80px}
.method .img{grid-column:span 6;height:820px;object-position:50% 45%}
.list-item{display:flex;gap:24px;padding:18px 0;border-top:1px solid var(--border)}
.list-item:last-child{border-bottom:1px solid var(--border)}
.list-item .num{width:36px;flex-shrink:0}
.list-item>div{display:flex;flex-direction:column;gap:4px}

.programs{align-items:end}
.programs .text{grid-column:span 7;display:flex;flex-direction:column;gap:36px}
.programs .img{grid-column:9/span 4;height:640px;object-position:50% 45%}
.prow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));padding:22px 0;border-top:1px solid var(--border);align-items:baseline;gap:0}
.prow:last-child{border-bottom:1px solid var(--border)}
.prow .h-md{grid-column:span 4}.prow p{grid-column:span 6}

.pricing{padding:110px 40px 120px;background:var(--warm-white);border-radius:4px;display:flex;flex-direction:column;gap:56px}
.pricing .head{display:flex;justify-content:space-between;align-items:end;gap:24px}
.pricing .head p{max-width:400px}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px}
.col{display:flex;flex-direction:column;gap:16px}
.tbl{display:flex;flex-direction:column;padding-top:8px}
.tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;line-height:1.7}
.tr:last-child{border-bottom:0}
.tr.th{padding:10px 0}
.kv{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;line-height:1.7}
.kv:last-child{border-bottom:0}

.photo-card{position:relative;margin-top:150px;padding-bottom:160px}
.photo-card .img{height:920px;object-position:50% 55%}
.photo-card .card{position:absolute;right:64px;bottom:0;width:540px;background:var(--sand);border-radius:4px;padding:44px 48px;display:flex;flex-direction:column;gap:18px}
.photo-card.left .card{left:64px;right:auto;width:620px;background:var(--red);padding:48px;gap:20px}
.photo-card.left .card h2,.photo-card.left .card p{color:var(--sand)}
.photo-card.left .img{height:780px;object-position:50% 50%}
.photo-card.left{padding-bottom:120px}

.start{padding-top:150px;align-items:center}
.start .text{grid-column:span 6;display:flex;flex-direction:column;gap:40px}
.start .pics{grid-column:8/span 5;position:relative;height:760px}
.start .pics .a{position:absolute;right:0;top:0;width:420px;height:560px;object-position:50% 60%}
.start .pics .b{position:absolute;left:0;bottom:0;width:280px;height:373px;object-position:55% 75%;border:8px solid var(--sand)}
.step{display:grid;grid-template-columns:64px 1fr;padding:22px 0;border-top:1px solid var(--border)}
.step:last-child{border-bottom:1px solid var(--border)}
.step>div{display:flex;flex-direction:column;gap:4px}

.team{align-items:center}
.team .img{grid-column:span 6;height:760px;object-position:50% 62%}
.team .text{grid-column:8/span 5;display:flex;flex-direction:column;gap:40px}
.person{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--border)}
.person .label{color:var(--red)}

.faq .intro-col{grid-column:span 4;display:flex;flex-direction:column;gap:16px}
.faq .qs{grid-column:6/span 7}
details{border-top:1px solid var(--border)}
details:last-child{border-bottom:1px solid var(--border)}
summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--brand);color:var(--red);font-size:15px}
details[open] summary::after{content:"–"}
details p{padding:0 0 24px;max-width:620px}

footer{padding:120px var(--pad) 48px;display:flex;flex-direction:column;gap:64px}
footer .brand{grid-column:span 6;display:flex;flex-direction:column;gap:20px}
footer .brand img{height:72px;width:auto;align-self:flex-start}
footer .links{display:flex;flex-direction:column;gap:14px}
footer .links a{font-family:var(--brand);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--body);text-decoration:none}
footer .links a:hover{color:var(--red)}
footer .l1{grid-column:8/span 2}footer .l2{grid-column:11/span 2}
.legal{display:flex;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--border)}

/* pricing page */
.p-intro{padding:120px var(--pad) 96px;align-items:end}
.p-intro h1{grid-column:span 7}.p-intro p{grid-column:9/span 4}
.p-group{padding:72px 40px;background:var(--warm-white);border-radius:4px}
.p-group .text{grid-column:span 4;display:flex;flex-direction:column;gap:14px}
.p-group .tbl{grid-column:6/span 7;padding-top:0}
.p-private{padding:120px var(--pad) 0;display:flex;flex-direction:column;gap:48px}
.p-private .text{grid-column:span 5;display:flex;flex-direction:column;gap:14px}
.packs{grid-column:7/span 6;display:flex;gap:40px;align-items:end;flex-wrap:wrap}
.packs div{display:flex;flex-direction:column;gap:4px}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.p-more{padding:120px var(--pad)}
.p-more .col{padding-top:28px;border-top:1px solid var(--border);gap:14px}

/* tablet */
@media (max-width:1100px){
 :root{--pad:40px}
 .nav nav{gap:24px}
 .method .text,.team .text,.start .text{grid-column:7/span 6;padding-top:0}
 .method .img,.team .img{grid-column:span 6;height:640px}
 .start .pics{grid-column:8/span 5;height:620px}.start .pics .a{width:80%;height:460px}.start .pics .b{width:55%;height:300px}
 .cols3{grid-template-columns:1fr;gap:48px}
 .photo-card .img{height:700px}
}
/* mobile */
@media (max-width:760px){
 :root{--pad:24px}
 .grid{grid-template-columns:1fr;gap:32px}
 .grid>*{grid-column:auto!important}
 .nav{height:72px}
 .nav .logo img{height:36px}
 .nav nav,.nav>.btn{display:none}
 .menu-btn{display:block;background:none;border:0;font-family:var(--brand);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding:12px 0;cursor:pointer}
 .nav.open nav{display:flex;flex-direction:column;align-items:flex-start;gap:20px;position:absolute;top:72px;left:0;right:0;background:var(--sand);padding:16px 24px 28px;border-bottom:1px solid var(--border)}
 .bleed{margin:0 12px}
 .hero{height:78vh;min-height:520px}
 .hero .vids{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero .vids video:nth-child(3){display:none}
 .hero .cta{bottom:40px}
 .intro{padding:90px var(--pad) 80px}
 .sec{padding-bottom:96px}
 .method .img,.team .img{height:460px}
 .programs .img{height:460px;order:2}
 .prow{grid-template-columns:1fr;gap:6px}.prow .h-md,.prow p{grid-column:auto}
 .pricing{padding:64px 20px 72px;gap:40px}
 .pricing .head{flex-direction:column;align-items:flex-start}
 .photo-card{margin-top:96px;padding-bottom:0}
 .photo-card .img,.photo-card.left .img{height:420px}
 .photo-card .card,.photo-card.left .card{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin:-60px 12px 0;padding:32px 24px}
 .start{padding-top:96px}
 .start .pics{height:520px}.start .pics .a{width:78%;height:400px}.start .pics .b{width:52%;height:260px}
 footer{padding:96px var(--pad) 40px;gap:48px}
 .legal{flex-direction:column}
 .p-intro{padding:72px var(--pad) 56px}
 .p-group{padding:48px 20px}
 .p-private{padding-top:80px}
 .cols2{grid-template-columns:1fr;gap:48px}
 .p-more{padding:80px var(--pad)}
 .tr{font-size:13px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
