:root{
  --burgundy:#6f1421;
  --burgundy-dark:#4a0b15;
  --burgundy-soft:#8b2836;
  --cream:#f4eadc;
  --cream-light:#fbf6ee;
  --ink:#181513;
  --muted:#6d625b;
  --white:#fff;
  --line:rgba(82,43,34,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}.wrap{width:min(1380px,88vw);margin:0 auto}.section{padding:clamp(80px,9vw,145px) 0}.kicker{font-size:11px;font-weight:800;letter-spacing:.24em;margin:0 0 20px;color:var(--burgundy)}.kicker.light{color:#f5ddd8}
.site-header{height:92px;position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:rgba(244,234,220,.94);backdrop-filter:blur(12px);color:var(--ink);border-bottom:1px solid rgba(111,20,33,.10);transition:.3s}.site-header.scrolled{height:76px;box-shadow:0 8px 30px rgba(74,11,21,.08)}.brand{display:flex;align-items:center;text-decoration:none}.brand img{width:145px;height:66px;object-fit:contain;object-position:left center}.nav-links{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:650}.nav-links a{text-decoration:none;position:relative}.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--burgundy);transition:.25s}.nav-links a:hover::after{right:0}.nav-cta{border:1px solid var(--burgundy);color:var(--burgundy);padding:10px 18px}.nav-cta:hover{background:var(--burgundy);color:#fff}.menu-btn{display:none;background:transparent;border:0;width:38px;height:38px;position:relative;color:var(--burgundy)}.menu-btn span{position:absolute;width:24px;height:2px;background:currentColor;left:7px;top:14px;transition:.25s}.menu-btn span+span{top:22px}.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded="true"] span+span{transform:translateY(-4px) rotate(-45deg)}
.hero{height:max(760px,100svh);min-height:760px;position:relative;background:var(--burgundy-dark);color:#fff;overflow:hidden;padding-top:92px}.hero-media,.hero-overlay{position:absolute;inset:0;top:92px}.hero-media img{object-position:center 54%;transform:scale(1.012)}.hero-overlay{background:linear-gradient(90deg,rgba(50,7,15,.80) 0%,rgba(60,8,17,.52) 40%,rgba(60,8,17,.10) 72%),linear-gradient(0deg,rgba(51,8,14,.46),transparent 48%)}.hero-copy{position:relative;z-index:2;padding-top:clamp(125px,17vh,205px)}.hero h1,.section h2,.contact h2{font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.045em}.hero h1{font-size:clamp(72px,9.4vw,148px);line-height:.78;margin:0 0 32px;font-weight:800;max-width:980px}.hero h1 span{color:#f7e7d5;font-size:.72em;letter-spacing:-.035em}.hero-text{max-width:600px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.86)}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:35px}.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.04em;padding:16px 24px;min-height:52px}.btn-primary{background:var(--cream-light);color:var(--burgundy)}.btn-primary:hover{background:#fff}.btn-link{text-decoration:none;font-weight:700;font-size:13px;color:#fff}.btn-link span{margin-left:7px;color:#f7e7d5}.scroll-cue{position:absolute;right:5.5vw;bottom:38px;z-index:2;color:#fff;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.2em;display:flex;gap:11px;align-items:center;writing-mode:vertical-rl}.scroll-cue span{font-size:18px}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start;background:var(--cream)}.section h2{font-size:clamp(58px,7vw,106px);line-height:.82;margin:0;font-weight:800;color:var(--burgundy-dark)}.intro-copy{padding-top:35px}.big-copy{font-size:clamp(24px,2.5vw,38px);line-height:1.26;letter-spacing:-.035em;margin:0 0 32px;font-weight:600}.intro-copy>p:not(.big-copy){font-size:16px;line-height:1.8;color:var(--muted);max-width:690px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:50px}.stats div{padding:20px 15px 0 0}.stats strong{display:block;font-family:"Barlow Condensed";font-size:24px;color:var(--burgundy)}.stats span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.profile{padding:0;display:grid;grid-template-columns:1.08fr .92fr;background:var(--burgundy-dark);color:#fff;min-height:760px}.profile-photo{min-height:760px}.profile-photo img{object-position:center 32%}.profile-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw 8vw 8vw 7vw}.profile-copy h2{font-size:clamp(55px,5.8vw,94px);color:var(--cream-light)}.profile-copy p:not(.kicker){font-size:17px;line-height:1.8;color:rgba(255,255,255,.76);max-width:580px;margin-top:38px}.lineage{margin-top:55px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);font-size:11px;font-weight:800;letter-spacing:.18em}.lineage span{color:#e6b9ae;padding:0 10px}
.classes{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:6vw;align-items:end;margin-bottom:60px}.section-heading>p{margin:0 0 7px;color:var(--muted);font-size:14px;line-height:1.7}.class-grid{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:590px;gap:10px}.class-card{position:relative;min-height:590px;overflow:hidden;border-radius:2px}.class-card.image-card{color:#fff}.class-card img{position:absolute;inset:0;transition:transform .6s ease}.class-card:hover img{transform:scale(1.035)}.shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(47,7,14,.90),rgba(47,7,14,.03) 64%)}.class-content{position:absolute;left:0;right:0;bottom:0;padding:38px}.class-content>span{font:700 13px "Barlow Condensed";letter-spacing:.16em}.class-content h3{font:800 clamp(42px,4vw,65px) "Barlow Condensed";text-transform:uppercase;line-height:.9;margin:12px 0 16px}.class-content p{font-size:14px;line-height:1.65;max-width:360px;opacity:.86}.red-card{background:var(--burgundy);color:#fff}.red-card .class-content{top:0;display:flex;flex-direction:column;justify-content:flex-end}.red-card .class-content p{opacity:.84}.red-card a{margin-top:22px;font-weight:800;font-size:13px;text-decoration:none}.schedule-note{text-align:right;font-size:11px;color:var(--muted);margin-top:18px}
.culture{background:var(--burgundy-dark);color:#fff;padding-bottom:clamp(80px,10vw,160px)}.culture-head h2{max-width:970px;color:var(--cream-light)}.video-shell{margin-top:55px}.video-shell video{display:block;width:100%;aspect-ratio:16/9;background:#000;object-fit:cover;border:1px solid rgba(255,255,255,.14)}
.gallery-section{background:var(--cream-light)}.gallery-heading{margin-bottom:45px}.gallery-grid{height:1060px;display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-template-rows:1fr 1fr;gap:12px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery-grid figure img{transition:transform .6s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{position:absolute;left:18px;bottom:16px;background:rgba(244,234,220,.94);color:var(--burgundy-dark);padding:8px 10px;font-size:10px;font-weight:800;letter-spacing:.16em}.g1{grid-row:1/3}.g2{grid-column:2/4}.g2 img{object-position:center 65%}.g3{grid-column:2}.g4{grid-column:3}.g5{display:none}
.quote-strip{background:var(--cream);overflow:hidden;border-top:1px solid var(--burgundy);border-bottom:1px solid var(--burgundy);padding:17px 0}.marquee{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee span{font:800 26px "Barlow Condensed";letter-spacing:.06em;white-space:nowrap;padding-right:20px;color:var(--burgundy)}@keyframes marquee{to{transform:translateX(-50%)}}
.contact{background:var(--burgundy);color:#fff}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.contact h2{font-size:clamp(70px,8vw,126px);line-height:.79;margin:0;color:#fff}.contact h2 span{color:#f4dccf}.contact-copy{padding-bottom:6px}.contact-copy>p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.85);max-width:550px}.btn-white{background:var(--cream-light);color:var(--burgundy-dark);margin-top:18px}.contact-details{margin-top:36px;padding-top:23px;border-top:1px solid rgba(255,255,255,.25);font-size:13px}.contact-details p{margin:0 0 7px}.muted-light{color:rgba(255,255,255,.66)!important;font-size:12px!important}.footer{background:var(--cream-light);color:var(--burgundy-dark);border-top:1px solid var(--line)}.footer-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px;font-weight:700;letter-spacing:.15em}.footer-brand img{width:118px;height:66px;object-fit:contain;object-position:left center}
@media(max-width:900px){.site-header{height:76px;padding:0 6vw}.site-header.scrolled{height:70px}.brand img{width:122px;height:58px}.menu-btn{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream-light);color:var(--ink);padding:25px 6vw 30px;flex-direction:column;align-items:flex-start;gap:24px;border-top:1px solid var(--line);box-shadow:0 20px 30px rgba(74,11,21,.10)}.nav-links.open{display:flex}.nav-cta{width:100%;text-align:center}.hero{height:100svh;min-height:700px;padding-top:76px}.hero-media,.hero-overlay{top:76px}.hero-media img{object-position:56% center}.hero-overlay{background:linear-gradient(0deg,rgba(52,6,15,.82),rgba(52,6,15,.18) 66%),linear-gradient(90deg,rgba(50,5,14,.55),transparent)}.hero-copy{padding-top:26vh}.hero h1{font-size:clamp(62px,17vw,98px);line-height:.79}.hero-text{font-size:15px;max-width:92%}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.scroll-cue{display:none}.intro{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.profile{grid-template-columns:1fr}.profile-photo{min-height:620px;height:68vh}.profile-copy{padding:75px 6vw}.section-heading{grid-template-columns:1fr;gap:25px}.class-grid{grid-template-columns:1fr}.class-card{min-height:520px}.schedule-note{text-align:left}.culture-head h2{font-size:clamp(56px,15vw,90px)}.gallery-grid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:430px 300px 300px}.g1{grid-row:1;grid-column:1/3}.g2{grid-column:1/3}.g3{grid-column:1}.g4{grid-column:2}.contact-grid{grid-template-columns:1fr;align-items:start}.footer-row{padding:26px 0;min-height:0;flex-wrap:wrap}}
@media(max-width:560px){.wrap{width:88vw}.section{padding:78px 0}.brand img{width:112px;height:52px}.hero-media img{object-position:58% center}.hero h1{font-size:clamp(57px,18vw,86px)}.hero h1 span{font-size:.68em}.hero-copy{padding-top:24vh}.hero-text{font-size:14px}.btn{width:100%}.hero-actions .btn-link{padding-left:2px}.stats{grid-template-columns:1fr}.stats div{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:15px 0}.stats strong{min-width:30px}.profile-photo{min-height:500px;height:60vh}.profile-copy h2{font-size:56px}.class-card{min-height:470px}.class-content{padding:28px}.video-shell{width:100%;margin-top:40px}.video-shell video{aspect-ratio:9/12}.gallery-grid{grid-template-columns:1fr;grid-template-rows:400px 320px 320px 320px}.g1,.g2,.g3,.g4{grid-column:1;grid-row:auto}.contact h2{font-size:72px}.footer-row{flex-direction:column;align-items:flex-start;gap:12px}.marquee span{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee{animation:none}.class-card img,.gallery-grid figure img{transition:none}}
.contact-details a{color:inherit;text-decoration:none}.contact-details a:hover{text-decoration:underline}
.gcb-world{background:var(--cream-light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gcb-world-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}
.gcb-world-logo{display:flex;justify-content:center;align-items:center}
.gcb-world-logo img{width:min(360px,80%);height:auto;object-fit:contain}
.gcb-world-copy h2{font-size:clamp(54px,6vw,92px);margin-bottom:34px}
.gcb-world-copy p:not(.kicker){font-size:16px;line-height:1.8;color:var(--muted);max-width:760px}
.gcb-world-copy p strong{color:var(--burgundy-dark)}
.class-card.image-card a{display:inline-block;margin-top:22px;font-weight:800;font-size:13px;text-decoration:none;color:#fff}
@media(max-width:900px){.gcb-world-grid{grid-template-columns:1fr;gap:48px}.gcb-world-logo img{width:min(300px,72vw)}}

/* Free first week registration: isolated styles; existing site layout unchanged. */
.registration-overlay[hidden]{display:none}
.registration-overlay{position:fixed;inset:0;z-index:100;background:rgba(20,8,11,.76);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.registration-dialog{position:relative;background:var(--cream-light);color:var(--ink);width:min(600px,100%);max-height:min(92dvh,900px);overflow:auto;padding:clamp(26px,5vw,42px);box-shadow:0 25px 80px rgba(0,0,0,.3)}
.registration-dialog h2{font:800 clamp(33px,5vw,49px)/.95 "Barlow Condensed",Arial,sans-serif;text-transform:uppercase;color:var(--burgundy-dark);margin:0 42px 13px 0}
.registration-dialog .kicker{margin-bottom:15px}
.registration-intro{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 24px}
.registration-close{position:absolute;top:15px;right:18px;border:0;background:none;font-size:32px;line-height:1;color:var(--burgundy);cursor:pointer;padding:8px}
.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.registration-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--burgundy-dark)}
.registration-fields input{width:100%;border:1px solid #cabbaf;background:#fff;border-radius:2px;min-height:43px;padding:10px;font:inherit;font-size:15px;color:var(--ink)}
.registration-fields input:focus-visible,.registration-close:focus-visible,.registration-submit:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px}
.registration-full{grid-column:1/-1}
.registration-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin:17px 0 12px}
.registration-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5}
.registration-consent input{margin-top:3px;flex:none;accent-color:var(--burgundy)}
.registration-submit{background:var(--burgundy);color:#fff;border:0;margin-top:21px;cursor:pointer;width:100%}
.registration-submit:disabled{opacity:.6;cursor:wait}
.registration-status{font-size:13px;line-height:1.5;margin:13px 0 0}
.registration-honeypot{position:absolute;left:-9999px}
body.registration-open{overflow:hidden}
@media(max-width:560px){.registration-overlay{padding:10px}.registration-dialog{max-height:95dvh;padding:24px 19px}.registration-fields{grid-template-columns:1fr;gap:12px}.registration-full{grid-column:auto}}
