:root{--bg:#f3f4ed;--ink:#22342a;--muted:#5f6d62;--line:#cbd4c4;--accent:#223e2c;--on-accent:#f3ffd6;--soft:#e4eadb;--card:#fcfdf7;--radius:3px;--body-font:'DM Sans',sans-serif;--heading-font:'Sora',sans-serif}.brand{font-size:22px;font-weight:700;letter-spacing:-1.2px;line-height:.9}.brand span{font-family:'DM Sans',sans-serif;font-weight:500;font-size:10px;line-height:1.4;letter-spacing:1.4px;margin-left:14px;border-left:1px solid var(--line);padding-left:13px}.header-actions{display:flex;align-items:center;gap:16px}.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;padding-block:55px;align-items:center}.hero h1{font-size:clamp(43px,6vw,77px);letter-spacing:-.075em;line-height:1.06;margin-bottom:26px}.hero h1 em{font-style:normal;font-weight:400}.hero p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:390px}.hero .hero-picture{position:relative;padding-bottom:35px}.hero-picture img{width:100%;height:590px;object-fit:cover;object-position:58% center;border-radius:160px 160px 0 0}.hero-caption{position:absolute;bottom:0;left:-30px;background:#dcf58b;color:#22342a;min-width:240px;padding:23px 28px;border-radius:2px;font-size:14px;line-height:1.5}.hero-caption b{display:block;font-family:Sora,sans-serif;font-size:24px;letter-spacing:-.04em;margin-bottom:4px}.hero-meta{display:flex;gap:30px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line);font-size:13px;line-height:1.6}.class-types{background:#22342a;color:#f3f4ed;padding-block:26px}.class-types .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:Sora,sans-serif;font-size:14px;letter-spacing:.015em}.today-preview{display:grid;grid-template-columns:1fr 1fr;gap:18px}.preview-class{display:flex;gap:22px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--card);padding:24px}.preview-class time{font-family:Sora,sans-serif;font-size:22px;font-weight:500;white-space:nowrap;letter-spacing:-.06em}.preview-class h3{margin:0 0 5px;font-size:19px}.preview-class p{font-size:14px;color:var(--muted);margin:0}.preview-class>a{min-width:90px}.membership-section{background:#e4eadb}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.plan-card{padding:33px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;align-items:start;position:relative}.plan-card.featured{background:#22342a;color:#f3f4ed;--ink:#f3f4ed;--muted:#c9d7c7;--line:#657b68;--accent:#dcf58b;--on-accent:#22342a}.plan-card h3{font-size:25px;letter-spacing:-.04em;margin-bottom:16px}.plan-price{font-family:Sora,sans-serif;font-size:44px;letter-spacing:-.06em;line-height:1.2;margin:0 0 7px}.plan-price small{font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0}.plan-card ul{font-size:15px;line-height:1.8;padding-left:18px;margin-bottom:30px;color:var(--muted)}.plan-card .btn{width:100%;margin-top:auto}.plan-card .tag{margin-bottom:17px}.instructors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.instructor{border-top:1px solid var(--line);padding-top:25px}.instructor .initial{font-family:Sora,sans-serif;font-size:50px;line-height:1;color:#7d8d76;margin-bottom:23px;letter-spacing:-.09em}.instructor h3{font-size:22px;margin-bottom:10px}.instructor p{color:var(--muted);font-size:15px}.faq-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.faq-grid h2{font-size:40px;letter-spacing:-.05em}.date-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 3px 15px}.date-chip{display:flex;flex:none;flex-direction:column;align-items:center;min-width:92px;padding:16px 17px;background:var(--card);border:1px solid var(--line);border-radius:2px;gap:7px}.date-chip[aria-pressed=true]{background:#22342a;color:#f3ffd6}.date-chip span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.date-chip b{font-family:Sora,sans-serif;font-size:25px;font-weight:500}.schedule-row{display:grid;grid-template-columns:135px minmax(0,1.6fr) minmax(125px,1fr) 125px;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding-block:28px}.schedule-row:first-child{border-top:1px solid var(--line)}.schedule-row time{font-size:25px;font-family:Sora,sans-serif;letter-spacing:-.055em}.schedule-row h2{font-size:22px;letter-spacing:-.035em;margin-bottom:9px}.schedule-row p{font-size:14px;margin:0;color:var(--muted)}.schedule-row .tag{margin-right:6px}.schedule-row .btn{min-width:115px}.results-count{font-size:14px;color:var(--muted);margin:20px 0 0}.session-info{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-block:25px}.session-info dt{font-size:13px;color:var(--muted);margin-bottom:7px}.session-info dd{font-family:Sora,sans-serif;font-size:18px;margin:0;line-height:1.5;letter-spacing:-.02em}.booking-title{font-size:32px;letter-spacing:-.05em}.portal-welcome{display:flex;justify-content:space-between;align-items:center;gap:30px}.member-card{background:#22342a;color:#f3ffd6;padding:30px;border-radius:6px}.member-card h2{font-size:25px}.member-card .small{color:#ccd9c1}.member-card strong{font-family:Sora,sans-serif;font-size:55px;font-weight:500;letter-spacing:-.07em;display:block;margin-bottom:7px}.member-card .btn{background:#dcf58b;color:#22342a;border-color:#dcf58b}.booking-list{display:grid;gap:22px}.booking-card{border:1px solid var(--line);padding:25px;background:var(--card)}.booking-card h3{font-size:23px;margin-bottom:12px;letter-spacing:-.04em}.booking-card p{margin-bottom:15px}.booking-card .actions{margin-top:18px}.portal-columns{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:35px;align-items:start;margin-bottom:65px}.status-tag{display:inline-block;padding:6px 10px;background:var(--soft);font-size:12px;font-weight:600;margin-bottom:15px;border-radius:2px}.message{border-left-color:#628645}.membership-detail{font-size:46px;letter-spacing:-.065em}.membership-detail small{font-size:16px;letter-spacing:0}.membership-receipt{background:#dcf58b;color:#22342a;padding:30px}.membership-receipt h2{margin-bottom:15px}.dropin-note{padding-top:23px;border-top:1px solid var(--line);margin-top:28px;font-size:15px;color:var(--muted)}@media(max-width:1040px){.hero{gap:32px;grid-template-columns:1fr 1fr}.hero-picture img{height:530px}.preview-class{flex-wrap:wrap}.preview-class>div{flex:1}.plan-card{padding:26px}.schedule-row{grid-template-columns:110px minmax(0,1.5fr) minmax(100px,1fr) 115px;gap:20px}.portal-columns{grid-template-columns:minmax(0,1fr) 290px}}@media(max-width:800px){.hero h1{font-size:58px}.hero-picture img{height:500px}.hero-caption{left:-16px;min-width:200px;padding:20px}.plans{gap:14px}.plan-card{padding:23px}.plan-price{font-size:36px}.plan-card h3{font-size:22px}.schedule-row{grid-template-columns:110px minmax(0,1fr) 120px}.schedule-row .session-instructor{grid-column:2;grid-row:2}.schedule-row>.btn{grid-column:3;grid-row:1/3}.portal-columns{grid-template-columns:1fr}.member-card{max-width:none}.faq-grid{gap:35px}.today-preview{grid-template-columns:1fr}}@media(max-width:600px){.brand{font-size:20px}.brand span{font-size:9px;margin-left:10px;padding-left:10px}.header-actions{gap:10px}.header-actions>.btn{font-size:13px;padding:10px 12px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:40px;gap:36px}.hero h1{font-size:59px;max-width:420px}.hero-picture{padding-left:20px!important}.hero-picture img{height:440px;border-radius:120px 120px 0 0}.hero-caption{left:0}.hero-meta{font-size:13px;gap:24px}.class-types .wrap{font-size:12px;gap:18px 25px;justify-content:center}.plans,.instructors{grid-template-columns:1fr}.plan-card{padding:30px}.plan-price{font-size:46px}.instructors{gap:28px}.instructor .initial{font-size:38px;margin-bottom:20px}.faq-grid{grid-template-columns:1fr;gap:15px}.schedule-row{grid-template-columns:85px minmax(0,1fr);gap:18px;padding-block:25px}.schedule-row time{font-size:21px}.schedule-row h2{font-size:20px}.schedule-row .session-instructor{grid-column:2;grid-row:2}.schedule-row>.btn{grid-column:1/-1;grid-row:3}.session-info{grid-template-columns:1fr 1fr;gap:20px}.portal-welcome{display:block}.portal-welcome .actions{margin-top:0;margin-bottom:20px}.booking-card{padding:20px}.booking-card .actions>.btn{flex:1 1 100%}.preview-class{padding:20px}.preview-class time{font-size:20px}.portal-columns{margin-bottom:45px}}@media(max-width:360px){.header-actions>.btn{display:none}.hero h1{font-size:50px}.session-info{grid-template-columns:1fr}}
@media(min-width:801px) and (max-width:1100px){.site-header .desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>summary{min-height:44px;padding:12px 8px;cursor:pointer}.site-header .mobile-menu nav{position:absolute;right:0;top:52px;width:240px;display:flex;flex-direction:column;align-items:stretch;padding:15px;background:var(--bg);border:1px solid var(--line);gap:3px}.mobile-menu nav a{padding:10px}}
.hero>div{min-width:0}.preview-class>strong{white-space:nowrap}.member-card{margin-bottom:36px}.member-card .btn.secondary{background:transparent;color:#f3ffd6;border-color:#98aa90}
/* Audit: tablet cards and hero need the same breathing room as mobile. */
@media(max-width:900px){.plans{grid-template-columns:1fr}.plan-card{padding:30px}.plan-price{font-size:44px}.hero{grid-template-columns:1fr;gap:35px}.hero h1{max-width:650px;font-size:clamp(43px,8vw,68px)}.hero p:not(.eyebrow){max-width:540px}.hero-picture{max-width:650px;width:100%;margin-inline:auto}.hero-picture img{height:490px}.hero-caption{left:0}.hero-meta{gap:18px 25px}}@media(max-width:600px){.hero h1{font-size:clamp(40px,10.8vw,59px);letter-spacing:-.055em}.hero-picture img{height:400px}.instructor h2{font-size:25px}.plan-price{font-size:40px}.header-actions>.btn{display:none}.preview-class>.btn{width:100%}}
