:root{--red:#e52931;--ink:#111;--paper:#f4f4f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit}header{min-height:100px;padding:15px 5%;display:flex;align-items:center;justify-content:space-between;background:#111;color:white;gap:25px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:20px;font-weight:900;letter-spacing:1px;line-height:1.3}.brand img{width:51px;height:65px;object-fit:contain}.brand small{display:block;font-size:12px;letter-spacing:2px;margin-top:7px;color:#aaa}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:bold}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:var(--red)}.nav-contact{border:1px solid #777;padding:11px 20px}.hero{position:relative;background:#101010;color:#fff;min-height:770px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 37%;background:linear-gradient(90deg,#101010 0%,#10101033 48%,#10101022),linear-gradient(0deg,#101010 0%,transparent 35%),url('assets/training.jpg') center 40%/cover}.hero-content{position:relative;padding:70px 5% 110px;max-width:850px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;color:var(--red);margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(50px,6.7vw,94px);line-height:.98;letter-spacing:-4px;margin-bottom:30px;font-weight:900}h1 span{color:#b4b4b4}h2{font-size:clamp(38px,4.2vw,61px);line-height:1.05;letter-spacing:-2px;margin-bottom:28px;font-weight:900}.hero-description{color:#ddd;font-size:18px;line-height:1.6;margin-bottom:30px}.button{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:15px 25px;font-size:14px;font-weight:bold;transition:background .2s}.button:hover{background:#bd1820}.text-link{display:inline-block;margin-left:25px;font-size:14px;text-underline-offset:5px}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #555;padding:20px 0;font-size:12px;letter-spacing:1.5px;color:#ccc}.section{padding:95px 6%;scroll-margin-top:20px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:30px 70px}.intro-copy{max-width:560px;padding-top:30px;color:#555}.programs{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-top:1px solid #ccc}.programs article{padding:30px 25px 10px 0;margin-right:25px;border-right:1px solid #ccc}.programs article:last-child{border:0;margin-right:0}.number{font-size:14px;color:var(--red);font-weight:bold}h3{font-size:26px;letter-spacing:-.6px;margin:20px 0 15px}.programs p{font-size:16px;color:#555}.programs a{font-size:14px;font-weight:bold;text-underline-offset:5px}.story{background:#deded9;display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.story-image{position:relative}.story-image img{display:block;width:100%;height:560px;object-fit:cover}.story-image span{display:block;background:var(--ink);color:white;padding:17px 22px;font-size:12px;letter-spacing:2px}.story-copy p:not(.eyebrow){color:#4a4a4a}.story-signature{font-weight:bold;font-size:24px;margin-top:35px}.story-signature span{display:block;font-size:13px;font-weight:normal}.values{background:#111;color:white}.values h2 span{color:#999}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.value-grid article{border-top:2px solid var(--red)}.value-grid h3{font-size:34px}.value-grid p{color:#bbb;max-width:340px}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:100px}.contact h2{font-size:clamp(55px,6vw,84px)}.contact>div>p:not(.eyebrow){max-width:500px;color:#555}.contact-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.outline{background:transparent;color:#111;border:1px solid #111}.outline:hover{background:#ddd}aside{background:#e4e4df;padding:35px 40px;align-self:center}aside h3{margin-top:0}aside a{font-size:16px;text-underline-offset:4px}aside small{font-size:13px;color:#555}hr{border:0;border-top:1px solid #c4c4c0;margin:25px 0}footer{background:#111;color:white;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p{text-align:right;margin:0;font-size:14px;color:#aaa}footer small{font-size:12px}a:focus-visible{outline:3px solid #e52931;outline-offset:5px}@media(min-width:1600px){.section{padding-left:max(6%,calc((100vw - 1450px)/2));padding-right:max(6%,calc((100vw - 1450px)/2))}}@media(max-width:900px){nav{gap:17px}.brand{font-size:17px}.programs{grid-template-columns:1fr 1fr;gap:20px}.programs article:nth-child(2){border:0}.story{gap:35px}.story-image img{height:480px}.contact{gap:40px}.hero-photo{inset:0 0 0 20%}}@media(max-width:600px){header{align-items:flex-start;padding:16px 6%;flex-direction:column;gap:18px}.brand img{height:50px;width:40px}nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.nav-contact{padding:7px 10px}.hero{min-height:720px}.hero-content{padding:55px 6% 110px}.hero-photo{inset:0;opacity:.45;background:linear-gradient(90deg,#101010dd,#10101055),linear-gradient(0deg,#101010,transparent),url('assets/training.jpg') center/cover}h1{font-size:57px;letter-spacing:-2.5px}.hero-bottom{left:6%;right:6%;font-size:10px}.hero-bottom span:last-child{display:none}.text-link{margin:20px 0 0;display:block}.section{padding:60px 6%}.intro,.story,.contact{grid-template-columns:1fr;gap:25px}.intro-copy{padding-top:0}.programs{grid-template-columns:1fr;gap:0;margin-top:15px}.programs article{margin:0;padding:25px 0;border:0;border-bottom:1px solid #ccc}.programs article:nth-child(2){border-bottom:1px solid #ccc}.programs h3{margin-top:10px}.story-image img{height:360px}.story-copy{padding-top:15px}.value-grid{grid-template-columns:1fr;gap:15px}.value-grid h3{margin-top:20px}.value-grid p{max-width:none}.contact{gap:35px}aside{padding:28px}.contact-buttons{flex-direction:column;align-items:flex-start}footer{align-items:flex-start;flex-direction:column}footer p{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.page-hero{background:#111;color:white}.page-hero h1{font-size:clamp(42px,6vw,78px);max-width:1050px;line-height:1.08;letter-spacing:-2px}.page-hero p{max-width:720px}.program-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.program-detail>img{width:100%;max-height:580px;object-fit:cover}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.people-grid img{width:100%;height:300px;object-fit:cover}.people-grid h3{margin-bottom:5px}.people-grid p{color:#666}.team-teaser{background:#deded9}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-grid img{width:100%;height:280px;object-fit:cover}form{max-width:520px;margin-top:30px}form label{display:block;font-size:14px;font-weight:bold;margin:15px 0}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #bbb;background:white;font:inherit;font-size:16px;margin-top:6px;border-radius:0}button{border:0;cursor:pointer}.form-note,#form-status{font-size:14px;color:#555;margin-top:14px}.small-cta{background:#deded9}@media(max-width:750px){.people-grid{grid-template-columns:repeat(2,1fr)}.people-grid img{height:240px}.program-detail{grid-template-columns:1fr;gap:30px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:300px}nav{flex-wrap:wrap}}@media(max-width:450px){.people-grid{grid-template-columns:1fr}}
/* Preserve every member in group photographs at every viewport. */
.story-image img,.photo-grid img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.photo-grid{align-items:start}

footer{flex-wrap:wrap}.footer-programs{display:flex;flex-wrap:wrap;gap:12px 24px;width:100%;font-size:14px}.footer-programs a{text-underline-offset:4px}

.people-grid img.damiana-photo{object-fit:contain;object-position:center;background:#111}

.people-grid img.bryce-photo{object-fit:contain;object-position:center;background:#111}

.people-grid img.dylan-photo{object-fit:contain;object-position:center;background:#000}

.people-grid img.diangelo-photo{object-fit:contain;object-position:center;background:#111}

.booking{background:#111;color:#fff}.booking>p:not(.eyebrow){max-width:720px;color:#ccc}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:36px}.booking-card{border-top:3px solid var(--red);background:#202020;padding:32px;display:flex;flex-direction:column;align-items:flex-start}.booking-card h3{font-size:32px;line-height:1.15;margin-top:20px}.booking-card p{color:#ccc}.booking-card .booking-time{color:#fff;font-weight:bold;font-size:16px}.booking-card .button{margin-top:auto}.booking-note{margin:28px 0 0;font-size:16px}.booking-note a{text-underline-offset:4px}@media(max-width:700px){.booking-grid{grid-template-columns:1fr}.booking-card{padding:26px}.booking-card h3{font-size:28px}}

.search-faq h3{font-size:1.25rem;margin-top:1.5rem}.search-faq p{max-width:75ch;line-height:1.7}

.championship-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}.championship-grid article{border-top:3px solid #ed3438;padding:24px 0}.championship-grid h3{font-size:1.4rem;line-height:1.25}.championship-grid p{margin:16px 0}.championship-grid a{font-size:1rem}@media(max-width:700px){.championship-grid{grid-template-columns:1fr}}

.customer-reviews{background:#e9e9e4}.reviews-intro{max-width:680px;color:#555}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0}.review-card{margin:0;background:var(--paper);border-top:3px solid var(--red);padding:30px;min-width:0}.review-card h3{margin-top:0;font-size:25px}.review-card blockquote{margin:24px 0;font-size:20px;line-height:1.6}.review-card figcaption strong,.review-card figcaption span{display:block}.review-card figcaption span{font-size:14px;color:#555;margin:8px 0}.review-card figcaption a{font-size:14px;font-weight:bold;text-underline-offset:4px}.contact .ready-to-join{font-size:14px;margin-top:24px}.contact h2{font-size:clamp(42px,5vw,68px)}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card{padding:26px}.review-card blockquote{font-size:18px}}

/* Direct student review excerpts and clearly attributed fighter endorsements. */
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.review-card blockquote{margin:0}
.review-card blockquote p{font-size:19px;line-height:1.6;color:#222}
.team-endorsements{background:#deded9}
.fighter-quote{display:flex;flex-direction:column}
.fighter-quote figcaption{margin-top:auto;padding-top:24px}
.endorsement-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;margin-bottom:24px}
@media(max-width:900px){.review-grid{grid-template-columns:1fr}.review-card blockquote p{font-size:18px}}

/* Championship evidence and program-specific coaching context. */
.championship-proof{background:#deded9}.championship-proof>p:not(.eyebrow){max-width:75ch}.coaching-proof{background:#e9e9e4}.coaching-proof .value-grid p{color:#444}.coaching-proof .value-grid h3{font-size:26px;line-height:1.2}.coaching-proof a,.coaching-foundation a{text-underline-offset:4px}.coaching-foundation{background:#deded9}.coaching-foundation>p:not(.eyebrow){max-width:75ch}

/* Testimonial carousel: readable cards with native touch scrolling. */
.testimonial-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;margin:32px 0 18px;padding-bottom:14px}.testimonial-track .review-card{flex:0 0 calc((100% - 24px)/2);scroll-snap-align:start;display:flex;flex-direction:column;min-height:320px}.testimonial-track .review-card figcaption{margin-top:auto;padding-top:24px}.testimonial-track .endorsement-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;margin:0 0 18px}.testimonial-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}.testimonial-controls[hidden]{display:none}.testimonial-controls button{border:1px solid #777;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;padding:8px 16px;min-height:44px}.testimonial-controls button:hover{border-color:var(--red);color:var(--red)}.testimonial-controls button:focus-visible,.testimonial-track:focus-visible{outline:3px solid var(--red);outline-offset:4px}.testimonial-controls [data-review-status]{font-size:14px;font-weight:bold;min-width:42px;text-align:center}@media(max-width:700px){.testimonial-track .review-card{flex-basis:100%;min-height:310px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.testimonial-track{scroll-behavior:auto}}

/* Clear first-visit guidance and accessible beginner questions. */
.first-visit-note{color:#ddd;font-size:14px;max-width:46ch;margin:20px 0 0}.booking-preparation{margin-top:24px}.beginner-faq-list{max-width:850px;margin-bottom:30px}.beginner-faq-list details{border-top:1px solid #ccc;padding:20px 0}.beginner-faq-list details:last-child{border-bottom:1px solid #ccc}.beginner-faq-list summary{cursor:pointer;font-weight:700;line-height:1.5;padding-right:12px}.beginner-faq-list summary::marker{color:var(--red)}.beginner-faq-list p{max-width:75ch;color:#555;margin:16px 0 0}.beginner-faq-list summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}

.page-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding:20px 6%;font-size:13px;color:#555}.page-breadcrumb a{text-decoration:underline}.page-breadcrumb span{font-weight:normal}.search-faq ul{max-width:850px;padding-left:24px}.search-faq li{margin-bottom:12px}

/* A personal starting option directly after class booking. */
.private-start{background:#e9e9e4;border-top:3px solid var(--red)}.private-start h2{max-width:20ch}.private-start>p:not(.eyebrow){max-width:72ch}.private-start .contact-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.private-start .private-contact-note{font-size:14px;margin-top:22px}.private-start .private-contact-note a{text-underline-offset:4px}@media(max-width:600px){.private-start .contact-buttons{flex-direction:column;align-items:stretch}.private-start .button{text-align:center}}

.local-training details{border-bottom:1px solid #ccc;padding:14px 0}.local-training summary{cursor:pointer;min-height:28px;line-height:1.5;font-weight:700}.local-training details p{margin:12px 0;line-height:1.7}.local-training>.button,.local-training>p:last-child{margin-top:24px}
