:root{--yellow:#ffd400;--black:#090909;--soft:#151515;--white:#f5f4ef;--line:#2a2a2a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.nav{height:88px;position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.25;letter-spacing:1.5px}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}.brand b{color:var(--yellow);font-size:14px}.nav nav{display:flex;gap:36px;margin:auto;font-size:12px;text-transform:uppercase;letter-spacing:1px}.nav nav a{opacity:.72;transition:.25s}.nav nav a:hover{opacity:1;color:var(--yellow)}.nav-cta{background:var(--yellow);color:#000;padding:13px 18px;font-size:12px;font-weight:800;text-transform:uppercase}.nav-cta span{margin-left:20px}.menu{display:none;background:0;border:0}.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:flex-end;padding:0 7vw 9vh;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{object-position:center 35%;transform:scale(1.04);animation:heroIn 1.8s cubic-bezier(.2,.75,.2,1) forwards}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 46%,rgba(0,0,0,.12) 75%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 45%)}@keyframes heroIn{to{transform:scale(1)}}.hero-copy{position:relative;z-index:2;max-width:810px}.eyebrow,.section-index{font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow span{width:28px;height:3px;background:var(--yellow)}h1,h2{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:-1.5px;margin:0;line-height:.91}h1{font-size:clamp(72px,10.8vw,164px)}h1 em,h2 span,h2 em{color:var(--yellow);font-style:normal}.hero-copy>p{max-width:570px;font-size:17px;line-height:1.7;color:#d6d6d2;margin:28px 0 34px}.hero-actions{display:flex;align-items:center;gap:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:225px;padding:18px 22px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.7px;transition:.25s}.button:hover{transform:translateY(-3px)}.button.yellow{background:var(--yellow);color:#050505}.button.outline{border:1px solid #4b4b4b}.text-link{font-size:12px;text-transform:uppercase;font-weight:700}.text-link span{margin-left:14px;color:var(--yellow)}.hero-side{position:absolute;right:3vw;bottom:12vh;writing-mode:vertical-rl;z-index:2;font-size:10px;letter-spacing:2px}.hero-side span{color:var(--yellow);margin-bottom:20px}.scroll{position:absolute;right:5vw;bottom:4vh;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:12px}.scroll span{width:55px;height:1px;background:#fff}.manifest{padding:130px 7vw;background:var(--white);color:#080808}.section-index{color:#777;margin-bottom:56px}.manifest-title{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #bbb;padding-bottom:52px}.manifest h2,.experience h2,.coach h2,.gallery h2{font-size:clamp(58px,7.6vw,112px)}.manifest-title p{max-width:290px;font-weight:700;font-size:17px}.values{display:grid;grid-template-columns:repeat(3,1fr)}.values article{position:relative;padding:48px 40px 40px 0;border-right:1px solid #bbb;min-height:280px}.values article+article{padding-left:40px}.values article:last-child{border-right:0}.values b{font-size:11px;color:#777}.values h3{text-transform:uppercase;font-size:20px;margin:52px 0 18px}.values p{color:#575757;line-height:1.65;font-size:14px;max-width:310px}.values i{position:absolute;right:25px;top:46px;font-style:normal;font-size:20px}.experience{padding:130px 7vw}.experience-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:6vw}.photo{margin:0;position:relative;overflow:hidden}.photo.tall{height:740px}.photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.photo:hover img{transform:scale(1.04)}.photo figcaption{position:absolute;bottom:0;left:0;background:var(--yellow);color:#000;padding:14px 18px;font-size:11px;font-weight:800;text-transform:uppercase}.experience-copy{padding-top:80px}.experience-copy p{max-width:560px;color:#aaa;line-height:1.8;font-size:17px;margin:32px 0}.experience-copy .button{margin-top:15px}.photo.wide{height:390px;margin-top:65px;grid-column:2}.photo.wide figcaption{width:100%;display:flex;justify-content:space-between}.photo.wide figcaption b{font-weight:800}.numbers{display:grid;grid-template-columns:repeat(3,1fr) 1.2fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 7vw}.numbers>div,.numbers>p{padding:58px 30px;border-right:1px solid var(--line);margin:0}.numbers strong{display:block;font-family:Anton;font-weight:400;color:var(--yellow);font-size:64px}.numbers span{font-size:11px;text-transform:uppercase;letter-spacing:1px}.numbers p{display:flex;align-items:flex-end;border:0;color:#aaa;line-height:1.65;font-size:14px}.coach{padding:150px 7vw;display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;background:#101010}.coach-image{height:720px;position:relative}.coach-image img{object-position:center}.coach-image>span{position:absolute;left:-28px;top:40px;color:var(--yellow);font-family:Anton;font-size:54px;line-height:.95}.coach-copy{align-self:center}.coach-copy .lead{font-size:21px;color:#fff;font-weight:700;line-height:1.55}.coach-copy p{color:#999;line-height:1.8;max-width:560px}.signature{font-family:Anton;font-size:38px;color:var(--yellow);margin-top:55px}.signature small{display:block;font-family:Manrope;color:#888;font-size:10px;letter-spacing:2px}.gallery{padding:130px 0}.gallery-head{padding:0 7vw 60px;display:flex;justify-content:space-between;align-items:end}.gallery-track{display:flex;gap:18px;overflow-x:auto;padding:0 7vw 30px;scrollbar-width:none}.gallery-track figure{margin:0;min-width:32vw;height:510px;overflow:hidden}.gallery-track figure:nth-child(even){min-width:24vw;height:420px;margin-top:90px}.gallery-track img{transition:.6s}.gallery-track figure:hover img{transform:scale(1.05)}.cta{height:720px;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden}.cta-bg{position:absolute;inset:0}.cta-bg:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.75)}.cta-copy{position:relative}.cta-copy>span{font-size:11px;letter-spacing:2px}.cta h2{font-size:clamp(62px,8vw,118px);margin:25px 0 38px}.button.big{min-width:280px}footer{padding:65px 7vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;border-top:1px solid var(--line)}footer .brand-text{font-size:18px}footer .brand-text b{color:var(--yellow)}footer>div:nth-child(2){display:flex;flex-direction:column;gap:8px;font-size:13px}footer small{color:#777}.reveal{opacity:1;transform:none;transition:opacity .85s,transform .85s}.reveal.visible{opacity:1;transform:none}.cursor-glow{position:fixed;width:300px;height:300px;border-radius:50%;background:rgba(255,212,0,.05);filter:blur(35px);pointer-events:none;z-index:20;transform:translate(-50%,-50%)}
@media(max-width:800px){.nav{height:72px;padding:0 18px}.brand img{width:38px;height:38px}.nav nav,.nav-cta{display:none}.menu{display:block;margin-left:auto;width:35px}.menu i{height:2px;background:white;display:block;margin:7px 0}.hero{min-height:690px;padding:0 20px 70px}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.15) 80%)}.hero-media img{object-position:58% center}.hero-copy>p{font-size:14px;margin:22px 0 28px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-side{display:none}.manifest,.experience,.coach{padding:90px 20px}.manifest-title{display:block}.manifest-title p{margin-top:25px}.values{grid-template-columns:1fr}.values article,.values article+article{padding:34px 0;border-right:0;border-bottom:1px solid #bbb;min-height:auto}.values h3{margin:25px 0 10px}.experience-grid,.coach{grid-template-columns:1fr}.photo.tall{height:520px}.experience-copy{padding-top:10px}.photo.wide{grid-column:auto;height:280px;margin-top:20px}.numbers{margin:0 20px;grid-template-columns:1fr 1fr}.numbers>div,.numbers>p{padding:30px 14px}.numbers strong{font-size:46px}.numbers p{grid-column:1/-1;border-top:1px solid var(--line)}.coach-image{height:480px}.coach-image>span{left:-8px;font-size:38px}.gallery{padding:90px 0}.gallery-head{display:block;padding:0 20px 40px}.gallery-track{padding-left:20px}.gallery-track figure,.gallery-track figure:nth-child(even){min-width:78vw;height:420px;margin-top:0}.cta{height:620px}footer{grid-template-columns:1fr;gap:35px;padding:50px 20px}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Composition corrections after full-page visual QA */
.hero h1{font-size:clamp(60px,7.6vw,116px);line-height:1.02}
.hero-copy>p{margin-top:36px}
.hero-media{background:#080808}
.hero-media:before{content:none}
.hero-media img{object-fit:cover;object-position:center center}
@media(min-width:801px){
  .hero{min-height:760px;padding:120px 7vw 8vh}
  h1{font-size:clamp(68px,8.8vw,134px);max-width:900px}
  .manifest{padding-top:110px;padding-bottom:110px}
  .values article{min-height:240px;padding-top:42px;padding-bottom:28px}
  .experience{padding-top:110px;padding-bottom:110px}
  .experience-grid{grid-template-areas:"photo copy" "photo wide";grid-template-rows:auto auto;gap:42px 6vw}
  .photo.tall{grid-area:photo;height:100%;min-height:780px}
  .experience-copy{grid-area:copy;padding-top:20px}
  .photo.wide{grid-area:wide;grid-column:auto;height:330px;margin-top:0}
  .numbers>div,.numbers>p{padding-top:46px;padding-bottom:46px}
  .coach{padding-top:115px;padding-bottom:115px}
  .coach-image>span{left:20px;top:auto;bottom:20px;background:var(--yellow);color:#080808;padding:12px 15px;font-family:Manrope;font-weight:800;font-size:10px;line-height:1.45;letter-spacing:1.5px}
  .gallery{padding-top:105px;padding-bottom:105px}
  .gallery-head{display:grid;grid-template-columns:1fr 1.6fr;align-items:end;padding-bottom:50px}
  .gallery-head .section-index{margin-bottom:10px}
}
@media(max-width:800px){
  .hero h1{line-height:1.05}
  .hero-copy>p{margin-top:28px}
  .hero-media{background:#080808}
  .hero-media img{height:auto;max-height:60vh;object-fit:contain;object-position:center top;transform:none;animation:none}
  .hero-shade{background:linear-gradient(0deg,#080808 28%,rgba(8,8,8,.82) 54%,rgba(8,8,8,.06) 100%)}
  .hero-copy{position:absolute;left:20px;right:20px;top:130px;margin:0}
  .hero-copy .eyebrow{margin-bottom:20px}
  .hero-copy>p{max-width:350px;margin-top:28px;margin-bottom:28px}
  .hero-actions{gap:16px}
  .hero{height:540px;min-height:540px;padding:110px 20px 20px}
  .manifest,.experience,.coach{padding-top:76px;padding-bottom:76px}
  .experience-grid{grid-template-areas:none}
  .photo.tall,.experience-copy,.photo.wide{grid-area:auto}
  .photo.tall{height:500px;min-height:0}
  .photo.wide{height:260px;margin-top:0}
  .gallery{padding-top:76px;padding-bottom:76px}
}

/* Bootstrap gallery */
.gallery{background:#090909;overflow:hidden}.gallery-head p{color:#777;font-size:13px;margin:16px 0 0}.gallery .carousel{margin:0 7vw;position:relative}.gallery .carousel-inner{height:min(72vw,780px);max-height:780px}.gallery .carousel-item,.gallery .carousel-item>img{height:100%}.gallery .carousel-item>img{object-fit:cover;object-position:center 42%;filter:saturate(.88) contrast(1.05)}.gallery .carousel-item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),transparent 52%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 48%)}.gallery-caption{position:absolute;z-index:2;left:50px;bottom:45px;max-width:460px}.gallery-caption span{color:var(--yellow);font-size:11px;letter-spacing:2px;font-weight:800}.gallery-caption h3{font-family:Anton,Impact,sans-serif;font-size:clamp(42px,5vw,76px);line-height:1;margin:12px 0}.gallery-caption p{color:#ddd;line-height:1.6;margin:0}.gallery .carousel-control-prev,.gallery .carousel-control-next{top:36px;bottom:auto;width:54px;height:54px;border:1px solid rgba(255,255,255,.35);opacity:1;font-size:23px}.gallery .carousel-control-prev{left:auto;right:100px}.gallery .carousel-control-next{right:36px}.gallery .carousel-control-prev:hover,.gallery .carousel-control-next:hover{background:var(--yellow);color:#000;border-color:var(--yellow)}.gallery-thumbs.carousel-indicators{position:static;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-thumbs.carousel-indicators [data-bs-target]{box-sizing:border-box;width:auto;height:105px;margin:0;text-indent:0;border:0;opacity:.38;background:none;transition:.3s;overflow:hidden}.gallery-thumbs.carousel-indicators .active{opacity:1;box-shadow:inset 0 -4px var(--yellow)}.gallery-thumbs img{object-fit:cover;transition:.4s}.gallery-thumbs button:hover img{transform:scale(1.06)}
@media(max-width:800px){.gallery .carousel{margin:0 20px}.gallery .carousel-inner{height:68vh;min-height:520px}.gallery .carousel-item>img{object-position:center}.gallery-caption{left:22px;right:22px;bottom:25px}.gallery-caption p{font-size:13px}.gallery .carousel-control-prev,.gallery .carousel-control-next{top:18px;width:44px;height:44px}.gallery .carousel-control-prev{right:72px}.gallery .carousel-control-next{right:18px}.gallery-thumbs.carousel-indicators{gap:6px}.gallery-thumbs.carousel-indicators [data-bs-target]{height:64px}}

.lang-switch{display:flex;align-items:center;gap:2px;margin-right:14px;border:1px solid rgba(255,255,255,.25);padding:3px}.lang-switch button{border:0;background:transparent;color:#fff;font:700 10px/1 Manrope,sans-serif;letter-spacing:.8px;padding:8px 7px;opacity:.55;transition:.25s}.lang-switch button:hover{opacity:1}.lang-switch button.active{background:var(--yellow);color:#080808;opacity:1}
@media(max-width:800px){.lang-switch{margin-left:auto;margin-right:12px}.lang-switch button{padding:7px 6px}.menu{margin-left:0}}

html[lang="ru"] .hero h1,html[lang="uk"] .hero h1{font-size:clamp(58px,7vw,108px)}
@media(max-width:800px){
  .hero h1{font-size:52px}
  html[lang="ru"] .hero h1,html[lang="uk"] .hero h1{font-size:44px;line-height:1}
  html[lang="ru"] .hero-copy>p,html[lang="uk"] .hero-copy>p{font-size:13px;line-height:1.55;margin-top:20px;margin-bottom:22px}
  html[lang="ru"] .hero-actions,html[lang="uk"] .hero-actions{gap:12px}
  html[lang="ru"] .cta h2,html[lang="uk"] .cta h2{font-size:52px}
}

/* Search landing content and resilient mobile layout. */
.training-info{padding:76px 7vw;background:var(--white);color:var(--black)}
.training-info h2{font-size:clamp(32px,4vw,56px);line-height:1.15;letter-spacing:0;margin-bottom:24px}
.training-info p{max-width:850px;line-height:1.8}
.training-info details{border-bottom:1px solid #bbb;padding:20px 0}
.training-info summary{font-weight:800;cursor:pointer}
.training-info details p{margin:18px 0 0}
.training-info a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.hero{height:auto;min-height:620px;padding:130px 20px 60px}.hero-copy{position:relative;left:auto;right:auto;top:auto;width:100%}.hero h1{font-size:clamp(36px,9.5vw,52px)}.training-info{padding:60px 20px}}

/* Static language links, usable touch controls and robust text wrapping. */
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;color:#fff;font:700 11px/1 Manrope,Arial,sans-serif;letter-spacing:.5px;opacity:.8}
.lang-switch a:hover{opacity:1}
.lang-switch a.active{background:var(--yellow);color:#080808;opacity:1}
:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}
.training-info :focus-visible{outline-color:#151515}
.skip-link{position:fixed;left:16px;top:-100px;background:var(--yellow);color:#080808;padding:14px 20px;z-index:100}
.skip-link:focus{top:12px}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
.section-index,.gallery-head p,footer small{color:#999}
.manifest .section-index,.values b{color:#626262}
.manifest h2 span{color:#090909;background:var(--yellow);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .06em}
.trial-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style-position:inside;padding:20px 0;margin:28px 0 40px}
.trial-steps li::marker{font-weight:800}
.trial-steps h3{font-size:20px;font-weight:800;line-height:1.35;margin:14px 0}
.trial-steps p{font-size:15px}
.faq-heading{font-size:24px;font-weight:800;margin-bottom:20px}
.training-info summary{min-height:44px;line-height:1.6}
.trial-note{max-width:620px;margin:0 auto 22px;padding:0 20px;line-height:1.6;color:#eee}
.contact-phone{display:block;width:fit-content;margin:16px auto 0;padding:12px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.hero-copy,.experience-copy,.coach-copy,.gallery-head>*,.cta-copy{min-width:0;max-width:100%}
h1,h2,h3{overflow-wrap:break-word}
.button{gap:16px}
.cta{height:auto;min-height:720px;padding:80px 20px}
@media(max-width:1100px){
 .nav{height:80px;padding:0 20px;flex-wrap:nowrap;gap:8px}
 .nav nav,.nav-cta{display:none}
 .lang-switch{margin-left:auto;margin-right:0;flex-shrink:0}
 .menu{display:block;flex-shrink:0;width:44px;height:44px;padding:8px;margin-left:0;cursor:pointer}
 .menu i{height:2px;background:white;display:block;margin:7px 0}
 .nav nav.open{display:flex;position:absolute;top:100%;left:20px;right:20px;margin:0;padding:16px;background:#151515;border:1px solid #444;flex-direction:column;gap:4px;box-shadow:0 16px 32px #0008}
 .nav nav.open a{display:block;padding:14px;min-height:48px;opacity:1}
}
@media(max-width:800px){
 .nav{height:76px;padding:0 16px;gap:6px}
 .brand{gap:6px;letter-spacing:.5px;font-size:9px;flex-shrink:0}
 .brand b{font-size:12px}.brand img{width:32px;height:32px}
 .lang-switch{padding:2px}.lang-switch a{min-width:30px}
 .hero{padding-top:128px;padding-bottom:60px;min-height:620px}
 .hero h1,html[lang="ru"] .hero h1,html[lang="uk"] .hero h1{font-size:clamp(34px,9.8vw,52px);line-height:1.08;letter-spacing:-1px}
 .manifest h2,.experience h2,.coach h2,.gallery h2{font-size:clamp(34px,9.6vw,62px);line-height:1.08;letter-spacing:-1px}
 .cta h2,html[lang="ru"] .cta h2,html[lang="uk"] .cta h2{font-size:clamp(30px,8vw,52px);line-height:1.12;letter-spacing:-.5px}
 .hero .eyebrow{font-size:10px;letter-spacing:1px}
 .hero-copy>p,html[lang="ru"] .hero-copy>p,html[lang="uk"] .hero-copy>p{font-size:15px;line-height:1.65;margin-top:24px;margin-bottom:28px}
 .photo.wide figcaption{gap:10px;flex-wrap:wrap}
 .trial-steps{grid-template-columns:1fr;gap:8px;margin-bottom:24px}
 .cta{min-height:600px;padding:60px 20px}
 .button{max-width:100%;min-width:0;line-height:1.5}
 .button.big{min-width:0;width:min(100%,320px)}
 .gallery-caption h3{font-size:clamp(30px,8.5vw,52px);overflow-wrap:anywhere}
 footer .brand-text{font-size:16px}
}

/* Confirmed training groups, coach credentials and address. */
.schedule{padding:100px 7vw;background:#111}
.schedule h2,.location h2{font-size:clamp(42px,6vw,86px);line-height:1.08}
.schedule-intro,.schedule-note{max-width:760px;color:#c7c7c2;line-height:1.8;margin:28px 0}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}
.schedule-card{min-width:0;border:1px solid #3b3b3b;background:#090909}
.schedule-card .schedule-photo{height:auto;width:100%;aspect-ratio:1.6;object-fit:contain;background:#151515}
.schedule-card-copy{padding:30px}
.schedule-card h3{font-size:26px;font-weight:800;color:var(--yellow);margin:0 0 22px}
.schedule-card table{width:100%;border-collapse:collapse}
.schedule-card th,.schedule-card td{padding:16px 0;border-bottom:1px solid #303030;font-size:16px}
.schedule-card th{font-weight:600}.schedule-card td{text-align:right;font-size:26px;color:var(--yellow);font-weight:800}
.poster-link,.document-link{display:inline-block;min-height:44px;padding:16px 0 0;color:var(--yellow);text-decoration:underline;text-underline-offset:4px;font-size:13px;line-height:1.6}
.coach{align-items:start}
.coach-image{height:auto;min-width:0}
.coach-image>img{height:auto;max-height:720px;object-fit:contain;background:#171717}
.archive-caption{font-size:12px;line-height:1.6;color:#bcbcb8;padding:14px 0;margin:0}
.coach h2{font-size:clamp(42px,5vw,74px);line-height:1.08}
.coach-copy{align-self:start}
.coach-copy .section-index{margin-bottom:30px}
.coach-details{margin-top:32px}
.coach-details h3,.certificate-card h3{font-size:21px;font-weight:800;line-height:1.4;margin:28px 0 16px}
.career-list>div{padding:16px 0;border-bottom:1px solid #363636}
.career-list dt{color:var(--yellow);font-weight:800;margin-bottom:6px}
.career-list dd{margin:0;color:#c2c2bd;font-size:14px;line-height:1.7}
.coach-details blockquote{border-left:3px solid var(--yellow);padding:8px 0 8px 20px;font-size:17px;line-height:1.7;color:#e5e5df;margin:28px 0}
.coach-copy .signature{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:24px;line-height:1.4;margin-top:32px}
.certificate-card{margin-top:20px;padding:24px;border:1px solid #393939;background:#181818}
.certificate-preview{display:block}.certificate-preview img{width:100%;height:auto;max-height:280px;object-fit:contain}
.certificate-card p{font-size:13px;line-height:1.8;color:#bcbcb8;margin:0}
.location{padding:100px 7vw;background:var(--white);color:var(--black);display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center}
.location .section-index{color:#626262;margin-bottom:28px}
.location h2 span{color:var(--black);background:var(--yellow);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .04em}
.location p{line-height:1.8;max-width:600px;margin:28px 0 0}
.address-card{border:1px solid #bcbcb8;padding:32px;min-width:0}
.address-card>span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800}
.address-card address{font-size:clamp(22px,2.2vw,32px);font-weight:800;line-height:1.5;margin:22px 0}
.address-card .button{font-size:11px;max-width:100%;gap:12px;line-height:1.7;min-width:0}
.location-phone{display:block;padding:18px 0 0;font-size:16px;text-decoration:underline;text-underline-offset:4px}
.location :focus-visible{outline-color:#111}
footer address{font-style:normal;font-size:12px;color:#c6c6c0;line-height:1.6;margin-bottom:8px}
/* Full images and separate captions keep faces visible in landscape and portrait photos. */
.gallery .carousel-inner{height:760px;max-height:none}
.gallery .carousel-item>img{height:calc(100% - 156px);object-fit:contain;object-position:center;background:#111;filter:none}
.gallery .carousel-item:after{content:none}
.gallery-caption{position:static;max-width:none;min-height:156px;padding:22px 30px;background:#151515;border-top:1px solid #333}
.gallery-caption h3{font-size:34px;line-height:1.15;margin:8px 0}
.gallery-caption p{font-size:14px;line-height:1.6}
.gallery-thumbs.carousel-indicators{display:flex;overflow-x:auto;justify-content:flex-start;padding-bottom:10px;scrollbar-color:var(--yellow) #222}
.gallery-thumbs.carousel-indicators [data-bs-target]{flex:0 0 calc((100% - 36px)/4);height:100px}
.gallery-thumbs img{object-fit:contain;background:#171717}
@media(max-width:800px){
 .schedule{padding:76px 20px}.schedule h2,.location h2{font-size:clamp(34px,9.4vw,56px);letter-spacing:-1px}
 .schedule-grid{grid-template-columns:1fr;gap:22px}.schedule-card-copy{padding:22px}
 .schedule-card h3{font-size:24px}.schedule-card th{font-size:14px}.schedule-card td{font-size:24px}
 .coach h2{font-size:clamp(36px,10vw,58px)}.coach{gap:40px}
 .coach-image>img{max-height:none}.certificate-card{padding:20px}.archive-caption{font-size:12px}
 .location{padding:76px 20px;grid-template-columns:1fr;gap:32px}.address-card{padding:24px}
 .gallery .carousel-inner{height:620px;min-height:0}
 .gallery .carousel-item>img{height:calc(100% - 190px)}
 .gallery-caption{min-height:190px;padding:20px}
 .gallery-caption h3{font-size:clamp(26px,7.8vw,34px);overflow-wrap:normal}.gallery-caption p{font-size:13px}
 .gallery-thumbs.carousel-indicators [data-bs-target]{flex-basis:calc((100% - 18px)/4);height:64px}
}
/* Keep gallery controls with captions, clear of faces. */
.gallery .carousel-item>img{height:calc(100% - 176px)}
.gallery-caption{min-height:176px}
.gallery-caption>span{display:block;min-height:40px}
.gallery .carousel-control-prev,.gallery .carousel-control-next{top:602px}
@media(max-width:800px){
 .gallery .carousel-item>img{height:calc(100% - 220px)}
 .gallery-caption{min-height:220px}
 .gallery .carousel-control-prev,.gallery .carousel-control-next{top:418px}
}

/* Optional, opt-in karate runner. Its animation module loads on Start only. */
.runner-section{padding:100px 7vw;background:#101010;border-top:1px solid #2a2a2a}
.runner-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw;align-items:end;margin-bottom:42px}
.runner-heading .section-index{margin-bottom:26px}
.runner-heading h2{font-size:clamp(38px,5.6vw,78px);line-height:1.12}
.runner-heading>p{color:#bbb;line-height:1.8;font-size:16px;max-width:460px;margin:0}
.runner-game{border:1px solid #393939;background:#090909;max-width:1300px;margin:auto}
.runner-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:64px;padding:12px 24px;border-bottom:1px solid #303030;gap:16px}
.runner-toolbar>div{display:flex;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.runner-toolbar b{color:var(--yellow);font-size:20px;margin-left:8px;font-variant-numeric:tabular-nums}
.runner-toolbar button{border:1px solid #555;background:transparent;color:#eee;padding:10px 16px;min-height:44px;font-size:12px;cursor:pointer}
.runner-stage{position:relative;height:350px;isolation:isolate}
.runner-canvas{width:100%;height:100%;display:block;touch-action:pan-y;outline-offset:-4px}
.runner-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;text-align:center;gap:14px;background:#090909ed}
.runner-panel[hidden],.runner-toolbar button[hidden],.runner-panel button[hidden]{display:none!important}
.runner-panel h3{font-family:Anton,Impact,sans-serif;color:var(--yellow);font-weight:400;font-size:36px;line-height:1.2;margin:0}
.runner-panel p{max-width:680px;color:#c8c8c2;line-height:1.6;font-size:14px;margin:0}
.runner-panel .runner-result{font-size:16px}.runner-result b{color:var(--yellow);margin-left:8px}
.runner-mark{color:var(--yellow);width:112px;height:100px;margin-bottom:4px}
.runner-end-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;max-width:100%}
.runner-end-actions .button{min-width:0;font-size:11px;cursor:pointer;line-height:1.5;max-width:100%}
.runner-end-actions button{color:#eee;background:transparent}
.runner-controls{padding:18px 24px;margin:0;font-size:12px;line-height:1.7;color:#aaa;border-top:1px solid #303030}
.runner-panel button:disabled{opacity:.6;cursor:wait}
@media(max-width:800px){
 .runner-section{padding:76px 20px}.runner-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}
 .runner-heading h2{font-size:clamp(32px,9vw,54px);letter-spacing:-1px}.runner-heading>p{font-size:15px}
 .runner-stage{height:360px}.runner-panel{padding:20px 16px;gap:12px}
 .runner-toolbar{padding:10px 14px;gap:10px}.runner-toolbar>div{gap:16px;font-size:10px;letter-spacing:.3px}
 .runner-toolbar b{font-size:18px;margin-left:4px}.runner-toolbar button{padding:10px;font-size:11px}
 .runner-panel h3{font-size:30px}.runner-panel p{font-size:13px}
 .runner-end-actions{width:100%;flex-direction:column;align-items:stretch;gap:10px}
 .runner-end-actions .button{justify-content:center;padding:13px;gap:12px;font-size:10px}
 .runner-controls{padding:16px;font-size:11px}
}
