@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#121313;--panel:#1b1c1c;--text:#f5f5ef;--muted:#a7a9a7;--red:#f24935;--line:#343535;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}a,button,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red)}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:hover{color:var(--red)}.demo{padding:9px 4.5%;font-size:.75rem;letter-spacing:.12em;background:#282322;color:#ded7d5;display:flex;justify-content:space-between}.demo span{color:#a8a19f}header{height:108px;margin:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:.9rem;font-weight:800;line-height:1.1;letter-spacing:.09em}.brand-mark{font-family:'Barlow Condensed',Impact,sans-serif;font-size:3.8rem;line-height:1;letter-spacing:-.08em}.brand-mark span{color:var(--red)}nav{display:flex;gap:32px;font-size:.9rem;color:#c5c6c2}.nav-cta{font-size:.82rem;font-weight:700;letter-spacing:.06em;padding:14px 18px;border:1px solid #737370;display:flex;gap:30px}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:680px;margin:0 4.5%}.hero-copy{padding:58px 0 25px;position:relative;z-index:2}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;line-height:1.5;margin:0 0 24px}.eyebrow span{display:inline-block;width:20px;height:2px;background:var(--red);vertical-align:middle;margin-right:10px}h1,h2,h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;margin:0;font-weight:800}h1{font-size:clamp(4.3rem,7.6vw,8.1rem);line-height:.95;letter-spacing:-.022em}em{color:var(--red);font-style:normal}.intro{font-size:1.03rem;line-height:1.8;color:#b9bbb8;margin:28px 0 30px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{background:var(--red);border:0;color:#111;display:inline-flex;padding:20px 25px;gap:32px;justify-content:space-between;align-items:center;font-size:.87rem;font-weight:800;letter-spacing:.045em;transition:background .2s}.button:hover{background:#ff6856;color:#111}.text-link{font-size:.9rem;border-bottom:1px solid #686b65;padding-bottom:6px}.hero-foot{display:flex;justify-content:space-between;padding-right:40px;margin-top:60px;color:#898d87;font-size:.7rem;letter-spacing:.12em}.hero-visual{margin:0;position:relative;min-width:0;overflow:hidden;background:#1b1b1b}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:72% center;position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#121313 0%,transparent 25%),linear-gradient(0deg,#121313a8,transparent 30%);pointer-events:none}.image-top{position:absolute;top:40px;right:30px;text-align:right;font-size:.74rem;letter-spacing:.15em;line-height:1.8;z-index:1}.hero-visual figcaption{position:absolute;bottom:25px;left:30px;font-size:.65rem;color:#b4b6b1;letter-spacing:.06em;z-index:1}.vertical{writing-mode:vertical-rl;position:absolute;right:25px;top:40%;font-size:.7rem;letter-spacing:.3em;z-index:1}.ticker{display:flex;justify-content:space-around;align-items:center;gap:20px;padding:20px 4%;background:var(--red);color:#121313;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.55rem;font-weight:700;letter-spacing:.025em}.ticker b{font-size:1.5rem}.section{padding:90px 4.5%;border-bottom:1px solid var(--line)}h2{font-size:clamp(3rem,4.5vw,4.5rem);line-height:1;letter-spacing:-.01em}.disciplines{display:grid;grid-template-columns:.9fr 1.4fr;gap:7%}.section-heading>p:last-child{line-height:1.7;color:var(--muted);margin-top:26px}.discipline-list article{display:flex;gap:25px;padding:30px 0;border-top:1px solid var(--line);position:relative}.discipline-list article:last-child{border-bottom:1px solid var(--line)}.number{font-family:'Barlow Condensed',sans-serif;color:var(--red);font-size:1.6rem}.discipline-list h3{font-size:2.6rem}.discipline-list p{line-height:1.7;color:var(--muted);max-width:380px;margin-bottom:20px}.discipline-list a{font-size:.88rem;font-weight:600}.discipline-list a span{margin-left:35px}.tag{position:absolute;top:42px;right:0;font-size:.65rem;color:#999;letter-spacing:.07em}.booking{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#191a19}.booking-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:450px;margin:26px 0}.booking-note{display:flex;gap:14px;max-width:440px;border-top:1px solid #454745;padding-top:20px;margin-top:32px}.booking-note>span{border:1px solid #7b7d75;border-radius:50%;width:23px;height:23px;text-align:center;flex-shrink:0}.booking-note p{margin:0;font-size:.875rem;color:#a7aba3;line-height:1.7}.booking-note strong{color:#eee;font-weight:500}.phone-link{display:inline-flex;font-family:'Barlow Condensed',sans-serif;font-size:2.3rem;gap:40px;margin-top:32px}.calendar-card{background:#242624;border:1px solid #3b3e3a;padding:32px;align-self:start}.calendar-card label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin-bottom:10px}select{width:100%;padding:14px;border:1px solid #565951;background:#242624;color:#fff;border-radius:0}.month-header{display:flex;align-items:center;justify-content:space-between;margin:28px 0 22px}.month-header h3{font-family:'DM Sans',sans-serif;font-size:1.1rem;text-transform:capitalize;font-weight:600}.month-header button{border:1px solid #50554c;background:transparent;color:white;padding:5px 10px;margin-left:6px;min-width:36px;min-height:36px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week{margin-bottom:10px;text-align:center;font-size:.75rem;color:#c3c8bd}.days button{aspect-ratio:1.1;border:1px solid transparent;background:transparent;color:#edf0e8;min-height:38px}.days button:hover{border-color:var(--red)}.days button.selected{background:var(--red);color:#111;font-weight:700}.days button:disabled{color:#74776f;cursor:default}.days button:disabled:hover{border-color:transparent}.days button.today{border-color:#74776f}.selection{min-height:55px;padding:17px 0;font-size:.84rem;line-height:1.5;color:#c4c9bd}.full{width:100%}.button:disabled{background:#41453d;color:#aeb2a7;cursor:default}#request{margin-top:25px}textarea{width:100%;resize:vertical;background:#181b17;color:#ebeee7;border:1px solid #52584d;padding:12px;line-height:1.6}.request-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:.8rem}.request-actions button{padding:10px;background:transparent;border:1px solid #858d7b;color:#fff}#copy-status{font-size:.82rem;color:#bdc6b4}.social{display:grid;grid-template-columns:1fr 1fr;gap:10%}.social-card{display:block;padding:30px;background:#202221;border:1px solid #3d403b;transition:border-color .2s}.social-card:hover{border-color:var(--red);color:inherit}.social-card>span:first-child{font-size:.75rem;letter-spacing:.12em;display:flex;justify-content:space-between}.social-card b{font-size:1.5rem}.social-card h3{font-size:clamp(2rem,3vw,3.2rem);margin:28px 0 14px}.social-card p{color:var(--muted);line-height:1.7;max-width:360px}.social-bottom{font-size:.75rem;font-weight:700;display:block;margin-top:30px;color:var(--red)}.review-row{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.review-row h2{font-size:3.1rem}.review-row p{color:var(--muted);line-height:1.8;margin-top:0}.contact{background:#f0f0e9;color:#181a17}.contact em{color:#cf3827}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact h2{font-size:clamp(2.6rem,4vw,4rem)}.contact-details{border-top:1px solid #bbbfb3;margin-top:45px;padding-top:30px;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:24px}.contact-details span{display:block;font-size:.72rem;letter-spacing:.08em;margin-bottom:10px;color:#5a6054}.contact-details p{margin:0;font-size:.95rem}.contact-details a{font-size:1.1rem}footer{padding:40px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{font-size:.78rem;line-height:1.8;color:var(--muted)}footer summary{font-size:.8rem;cursor:pointer}footer details{max-width:250px}footer details p{margin-bottom:0}@media(min-width:1550px){header,.hero{max-width:1440px;margin-left:auto;margin-right:auto}.section{padding-left:max(4.5%,calc((100vw - 1440px)/2));padding-right:max(4.5%,calc((100vw - 1440px)/2))}}@media(max-width:1100px){.tag{display:none}.hero{min-height:620px}.hero-actions{gap:20px}.hero-foot{margin-top:40px}.booking{gap:6%}.calendar-card{padding:24px}.contact-row{align-items:flex-start;flex-direction:column}.hero h1{font-size:7.9vw}}@media(max-width:760px){header{height:86px}.brand-mark{font-size:3rem}nav{display:none}.nav-cta{font-size:.68rem;gap:14px;padding:12px}.demo{font-size:.63rem}.demo span{display:none}.hero{grid-template-columns:1fr;min-height:auto;position:relative;margin:0}.hero-copy{padding:45px 6% 25px}.hero h1{font-size:clamp(3.7rem,13vw,6rem)}.hero-visual{height:350px;grid-row:2;margin:0 6% 25px}.hero-visual:after{background:linear-gradient(0deg,#121313a8,transparent)}.hero-visual img{object-position:72% 50%}.hero-foot{margin-top:36px;padding-right:0}.hero-actions{gap:24px}.intro{font-size:1rem}.ticker{font-size:1.2rem;justify-content:space-between;gap:12px}.ticker>span:first-child,.ticker>b:first-of-type{display:none}.section{padding:58px 6%}.disciplines,.booking,.social,.review-row{grid-template-columns:1fr;gap:34px}h2{font-size:3.3rem}.discipline-list article{padding:25px 0}.calendar-card{padding:22px}.days button{min-height:40px}.review-row h2{font-size:2.7rem}.contact-details{grid-template-columns:1fr;gap:24px}.contact h2{font-size:2.9rem}.contact-row .button{width:100%;justify-content:space-between}footer{padding:30px 6%;flex-wrap:wrap;align-items:flex-start}footer>p{flex-basis:100%;order:3}footer details{max-width:180px}.image-top{top:20px;right:20px}.hero-visual figcaption{font-size:.6rem;left:15px}.vertical{right:15px}.section-heading>p:last-child{margin-bottom:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
