/* September 24: a clearer journey, real people and one consistent next step. */
a[href^="tel:"]{white-space:nowrap;display:inline-block}
.ss-nav{align-items:center;gap:clamp(22px,3vw,44px);padding-block:12px}
.ss-nav .nav-trial{font-size:12px;color:var(--ink);padding:12px 18px;min-height:44px;gap:16px}
.ss-nav .nav-trial:after{display:none}
.training-menu{position:relative;font-size:13px;font-weight:700}
.training-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px 0;color:#dcdcd8}
.training-menu summary::-webkit-details-marker,.mobile-training-menu summary::-webkit-details-marker{display:none}
.training-menu summary>span{font-size:17px;line-height:1;color:var(--red)}
.training-dropdown{position:absolute;top:100%;left:-22px;width:255px;padding:14px 22px;background:#151616;border:1px solid #ffffff26;box-shadow:0 16px 30px #0004;z-index:40}
.training-dropdown a{display:block;padding:12px 0;white-space:normal;font-size:13px}
.training-dropdown a:after{display:none}
.mobile-training-menu summary{display:flex;justify-content:space-between;list-style:none;padding:12px 0;font-size:18px;cursor:pointer}
.mobile-training-menu>div{padding:2px 0 10px 18px;border-left:1px solid #ed3b2d66}
.mobile-training-menu>div a{font-size:15px}
.ss-header .mobile-nav>.button{display:flex;margin-top:16px;padding:14px 16px;color:var(--ink);font-size:13px}
.hero-introduction{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding-block:29px;border-bottom:1px solid #ffffff1b}
.hero-location{font:700 clamp(17px,1.6vw,23px)/1.4 var(--body);letter-spacing:-.025em;color:#fff;max-width:none}
.hero-disciplines{font-size:13px;color:#eee9e0;margin-top:8px;max-width:none}
.hero-welcome{font-size:12px;color:#aeb0a6;margin-top:9px;max-width:82ch}
.hero-introduction>.button{white-space:nowrap;font-size:13px;padding:17px 21px;gap:20px}
.training-paths{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}
.training-paths a{font-size:12px;font-weight:700;border:1px solid #b7b8af;padding:10px 15px;transition:background .2s,color .2s}
.training-paths a:hover{background:var(--ink);border-color:var(--ink);color:white}
.training-list{margin-top:34px}
.training-visual-kids img{object-position:center 30%}
.training-visual-bjj img{object-position:center 45%}
.philosophy-section .about-grid{align-items:center}
.philosophy-section .about-visual{min-height:0;height:auto;aspect-ratio:1.1}
.philosophy-section .about-visual img{filter:none;object-position:center;height:100%;width:100%;object-fit:cover}
.philosophy-section .about-copy h2{font-size:clamp(38px,4.1vw,62px);line-height:1.06}
.philosophy-section .about-copy h2>span{display:block;color:var(--red);margin-top:12px}
.philosophy-section .about-copy .philosophy-statement{color:#f6f5f1;font-weight:700;font-size:16px}
.value-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:26px 0 0}
.value-list li{font-size:12px;display:flex;gap:10px;align-items:center;color:#c8c9c0}
.value-list li:before{content:'';width:5px;height:5px;background:var(--red);flex:none}
.trainer-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}
.trainer-preview{display:grid;grid-template-columns:42% 1fr;background:#eaeae4;min-width:0;align-items:center;overflow:hidden}
.trainer-preview>div{height:295px;overflow:hidden}
.trainer-preview img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .4s}
.trainer-preview-copy{padding:26px;display:grid;gap:15px;min-width:0}
.trainer-preview-copy small{font-size:9px;line-height:1.8;letter-spacing:.08em;color:#6b423b}
.trainer-preview-copy strong{font:700 clamp(30px,3vw,43px)/1.05 var(--display)}
.trainer-preview-copy>span{font-size:12px;line-height:1.7;color:#61635c}
.trainer-preview-copy b{display:block;color:var(--red-dark);font-size:22px;margin-top:14px}
.dojo-gallery-section{padding:82px 0 88px;background:#eaeae4}
.dojo-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:22px;margin-top:38px}
.dojo-gallery figure{margin:0;min-width:0}
.dojo-gallery img{width:100%;height:330px;object-fit:cover;object-position:center 35%}
.dojo-gallery figcaption{font-size:12px;margin-top:14px;color:#53554e;line-height:1.6}
.trainer-profiles{padding-bottom:100px}
.trainer-profile{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,90px);padding:50px 0 75px;border-top:1px solid var(--line);align-items:start;scroll-margin-top:30px}
.trainer-profile:last-child{padding-bottom:0}
.trainer-profile>figure{margin:0;max-width:100%;position:sticky;top:25px}
.trainer-profile>figure img{width:100%;height:auto;max-height:730px;object-fit:cover;object-position:50% 25%}
.trainer-profile h2{font-size:clamp(44px,4.8vw,67px);margin:16px 0 22px}
.trainer-profile h3{font:700 17px/1.5 var(--body);margin:25px 0 10px}
.trainer-profile p,.trainer-qualifications{font-size:15px;color:#606259;line-height:1.9;max-width:58ch}
.trainer-profile .trainer-role{font-size:11px;text-transform:uppercase;letter-spacing:.055em;line-height:1.9;color:var(--red-dark);margin-bottom:20px;font-weight:700}
.trainer-qualifications{padding-left:20px}
.trainer-qualifications li{padding:4px 0}
.trainer-profile blockquote{margin:30px 0 0;border-left:2px solid var(--red);padding-left:23px;font:700 24px/1.5 var(--display);max-width:39ch}
.trainer-profile cite{display:block;font:400 12px/1.8 var(--body);color:#6b6d65;margin-top:12px}
.parents-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,7vw,100px);align-items:center;padding-bottom:70px}
.parents-copy h2{font-size:clamp(44px,4.7vw,68px);margin-bottom:27px}
.parents-copy>p{font-size:16px;color:#606259;line-height:1.9}
.parents-copy>.button{margin-top:28px}
.parents-copy>.text-link{display:flex;width:fit-content;font-size:12px;margin-top:16px}
.kids-trainer-photo{margin:0}
.kids-trainer-photo img{width:100%;height:540px;object-fit:cover;object-position:50% 30%}
.kids-trainer-photo figcaption{font-size:12px;color:#67695f;margin-top:12px}
.parents-benefits{border-top:1px solid var(--line)}
.parents-benefits h2{margin:20px 0 0}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 45px;margin-top:48px}
.benefit-grid article{border-top:1px solid var(--line);padding-top:20px}
.benefit-number{color:var(--red-dark);font-size:12px}
.benefit-grid h3{font-size:31px;margin:18px 0 15px}
.benefit-grid p{font-size:14px;color:#65675e;line-height:1.9}
.parents-practical{background:#eaeae4;padding:70px 0 80px}
.parents-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.parents-practical h2{font-size:50px;margin:20px 0 25px}
.parents-practical p{font-size:14px;color:#606259;line-height:1.9}
.parents-practical .text-link{margin-top:20px}
.kids-times>div{padding:20px 0;border-bottom:1px solid #c9c9bf;display:grid;gap:7px}
.kids-times strong{font:700 29px/1.2 var(--display)}
.kids-times span{font-size:14px}
.kids-times p{margin-top:20px;font-size:12px}
.course-questions{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;padding-top:40px}
.course-questions h2{margin-top:22px;font-size:clamp(44px,5vw,70px)}
.detail-image-bjj{margin:0;height:auto;aspect-ratio:939/902}
.detail-image-bjj img{width:100%;height:100%;object-fit:cover;object-position:center}
.bjj-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-bottom:90px}
.bjj-benefits article{border-top:1px solid var(--line);padding-top:22px}
.bjj-benefits article>span{font-size:12px;color:var(--red-dark)}
.bjj-benefits h3{margin:15px 0;font-size:34px}
.bjj-benefits p{font-size:14px;color:#65675e;line-height:1.9}
.schedule-controls{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.schedule-controls[hidden],.schedule-card[hidden]{display:none}
.schedule-controls button{border:1px solid #bebfb5;background:transparent;color:var(--ink);padding:11px 19px;min-height:46px;font-size:13px;font-weight:700}
.schedule-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.schedule-controls button:hover{border-color:var(--red-dark)}
.schedule-result{font-size:12px;color:#64665c;min-height:26px;margin-bottom:23px}
.schedule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-bottom:32px;align-items:start}
.schedule-card{padding:30px;background:#eaeae3;border-top:3px solid #b92419;min-width:0}
.schedule-card-heading{margin-bottom:25px}
.schedule-card h2{font-size:35px;margin-bottom:10px;line-height:1.1}
.schedule-card-heading>span{font-size:12px;color:#64665c}
.schedule-card dl{margin:0 0 10px}
.schedule-card dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid #c9cabe}
.schedule-card dt{font-size:13px}
.schedule-card dd{margin:0;font-size:14px;font-weight:700;white-space:nowrap}
.schedule-card p{font-size:14px;color:#64665c;line-height:1.9}
.schedule-card .text-link{font-size:12px;margin-top:17px}
.trial-contact-card{background:#eaeae3;border-top:3px solid var(--red-dark);padding:27px;margin-bottom:38px}
.trial-contact-card>.eyebrow{font-size:10px}
.trial-contact-card h2{margin:16px 0!important;font-size:35px}
.trial-contact-card p{font-size:14px;color:#606259;margin-bottom:24px;line-height:1.8}
.trial-contact-card .button{font-size:12px;gap:15px;padding:16px 18px}
.contact-details>h2{font-size:29px}
.contact-mail{margin-bottom:15px;overflow-wrap:anywhere}
.whatsapp-link{display:inline-flex;align-items:center;gap:16px;border:1px solid #797d71;padding:12px 17px;font-size:13px;font-weight:700;margin-bottom:38px;min-height:46px}
.whatsapp-link:hover{background:#e7ece2}
.contact-form{align-self:start}
.contact-form h2{font-size:35px;line-height:1.1}
.contact-form .form-row{grid-template-columns:1fr}
.contact-form [hidden]{display:none}
.contact-form button:disabled{opacity:.55;cursor:wait}
.form-status[data-state=error]{background:#f6e4df;border-color:#b92419;color:#7a251c}
.form-status:focus{outline:2px solid var(--red-dark);outline-offset:4px}
.empty-action>.text-link{margin:20px}
.mobile-trial-bar{display:none}
@media(hover:hover) and (pointer:fine){.trainer-preview:hover img{transform:scale(1.035)}}
@media(max-width:1050px){.ss-nav{gap:23px}.ss-nav a,.training-menu{font-size:12px}.ss-nav .nav-trial{font-size:11px;padding:11px 13px;gap:9px}.hero-introduction{gap:22px}.hero-location{font-size:18px}.hero-introduction>.button{font-size:11px;padding:15px;gap:10px}.trainer-preview-grid{gap:20px}.trainer-preview{grid-template-columns:1fr}.trainer-preview>div{height:340px}.trainer-preview-copy{padding:25px}.trainer-preview-copy b{display:inline-block;margin:0 0 0 14px}.dojo-gallery{gap:18px}.dojo-gallery img{height:270px}.parents-practical-grid{gap:40px}.course-questions{gap:40px}}
@media(max-width:760px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.ss-nav{display:none}.hero-introduction{grid-template-columns:1fr;gap:19px;padding:23px var(--gutter) 25px}.hero-location{font-size:16px;line-height:1.45}.hero-disciplines{font-size:11px;line-height:1.8}.hero-welcome{font-size:11px;line-height:1.8}.hero-introduction>.button{justify-self:start;padding:12px 17px;min-height:45px;font-size:12px;gap:18px}.training-paths{gap:8px;margin-top:26px}.training-paths a{font-size:11px;padding:9px 12px}.philosophy-section .about-grid{gap:35px}.philosophy-section .about-visual{aspect-ratio:1.3}.philosophy-section .about-copy h2{font-size:43px}.philosophy-section .about-copy .philosophy-statement{font-size:15px}.value-list{gap:12px 15px}.value-list li{font-size:11px}.trainer-preview-grid{grid-template-columns:1fr;margin-top:28px}.trainer-preview{grid-template-columns:42% 1fr}.trainer-preview>div{height:245px}.trainer-preview-copy{padding:20px 17px;gap:12px}.trainer-preview-copy strong{font-size:34px}.trainer-preview-copy small{font-size:8px}.trainer-preview-copy>span{font-size:11px}.dojo-gallery-section{padding-block:50px}.dojo-gallery{grid-template-columns:1fr 1fr;gap:22px 14px;margin-top:27px}.dojo-gallery figure:first-child{grid-column:1/-1}.dojo-gallery img{height:220px}.dojo-gallery figure:first-child img{height:auto;aspect-ratio:1.4}.dojo-gallery figcaption{font-size:10px;margin-top:10px}.trainer-profiles{padding-bottom:60px}.trainer-profile{grid-template-columns:1fr;gap:30px;padding-block:35px 55px}.trainer-profile>figure{position:static;max-width:460px}.trainer-profile>figure img{max-height:520px;aspect-ratio:1;object-position:50% 18%}.trainer-profile h2{font-size:48px}.trainer-profile p,.trainer-qualifications{font-size:14px}.trainer-profile blockquote{font-size:24px}.parents-intro{grid-template-columns:1fr;gap:35px;padding-bottom:45px}.parents-copy h2{font-size:47px}.parents-copy>p{font-size:15px}.kids-trainer-photo img{height:auto;aspect-ratio:1;object-position:50% 25%}.kids-trainer-photo figcaption{font-size:11px}.benefit-grid{grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:35px}.benefit-grid h3{font-size:28px}.benefit-grid p{font-size:13px}.parents-practical{padding-block:45px 55px}.parents-practical-grid{grid-template-columns:1fr;gap:25px}.parents-practical h2{font-size:45px}.course-questions{grid-template-columns:1fr;gap:30px}.bjj-benefits{grid-template-columns:1fr;gap:28px;padding-bottom:55px}.bjj-benefits h3{font-size:32px}.schedule-controls{gap:8px}.schedule-controls button{font-size:11px;padding:10px 13px;min-height:44px}.schedule-cards{grid-template-columns:1fr;gap:20px}.schedule-card{padding:25px 22px}.schedule-card h2{font-size:34px}.schedule-card dd{font-size:13px}.trial-contact-card{padding:23px}.contact-grid{gap:32px;padding-bottom:55px}.contact-form{padding:25px 22px}.contact-form h2{font-size:33px}.mobile-trial-bar{position:fixed;z-index:45;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0d0e0e;border-top:1px solid #ffffff30;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px #0002}.mobile-trial-bar>a:first-child{font-size:11px;color:#e2e4dc;white-space:nowrap;min-height:45px;display:flex;align-items:center;gap:8px}.mobile-trial-bar .button{font-size:11px;padding:12px 14px;gap:12px;min-height:46px;white-space:nowrap}.mobile-trial-bar .button>span{font-size:17px}.footer-bottom{padding-bottom:25px}}
@media(max-width:360px){.hero-location{font-size:15px}.trainer-preview{grid-template-columns:1fr}.trainer-preview>div{height:320px}.trainer-preview-copy{padding:22px}.benefit-grid{grid-template-columns:1fr}.philosophy-section .about-copy h2{font-size:39px}.mobile-trial-bar{padding-inline:12px;gap:8px}.mobile-trial-bar>a:first-child{font-size:10px;gap:5px}.mobile-trial-bar .button{font-size:10px;padding-inline:11px;gap:8px}.schedule-card{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.trainer-preview img,.training-paths a{transition:none}.trainer-preview:hover img{transform:none}}

/* September 25: original lettering and one clear booking entry. */
.ss-hero-title.hero-original-title{top:var(--hero-title-top,clamp(12px,6%,56px));left:35%;width:30%;line-height:0;font-size:0}
.hero-lettering{display:block;position:relative;width:100%;aspect-ratio:480/378;overflow:hidden;background:#000;mix-blend-mode:screen;animation:lettering-reveal 1.35s cubic-bezier(.16,1,.3,1) both}
/* Original 1600 × 766 artwork: lettering bounds x560–1040, y196–574. */
.hero-lettering>img{position:absolute;max-width:none;width:333.3333333%;height:auto;left:-116.6666667%;top:-51.8518519%;filter:grayscale(1) contrast(4)}
.hero-original-title:after{content:'';display:block;position:absolute;bottom:-5%;right:2%;width:45%;height:2px;background:var(--red);transform-origin:left;animation:grow-underline .65s 1s both}
@keyframes lettering-reveal{from{opacity:0;transform:translateY(16px) scale(.93);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0)}}
.trainer-experience{display:flex;flex-wrap:wrap;gap:24px 40px;margin:28px 0;padding:24px 0;border-block:1px solid var(--line)}
.trainer-experience>div{display:flex;flex-direction:column-reverse;gap:8px}
.trainer-experience dt{font-size:12px;color:#62645d}
.trainer-experience dd{font:700 55px/1 var(--display);margin:0;color:var(--red-dark)}
.booking-intro{padding-bottom:38px}
.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:85px}
.booking-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(27px,3.3vw,48px);min-width:0;background:#eaeae3;border-top:3px solid var(--red-dark);scroll-margin-top:24px}
.booking-number{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--red-dark)}
.booking-card h2{font-size:clamp(40px,4.5vw,65px);line-height:1.05;letter-spacing:-.015em;margin:24px 0 20px}
.booking-badge{font-size:11px;font-weight:700;padding:9px 12px;border:1px solid #b9bcb1;line-height:1.6}
.booking-card p{font-size:15px;line-height:1.85;color:#5b5e53;margin:25px 0 30px;max-width:43ch}
.booking-card .button{margin-top:auto;gap:22px;font-size:13px;max-width:100%;padding:17px 22px;text-wrap:balance}
.booking-card small{display:block;font-size:11px;line-height:1.75;margin-top:17px;min-height:3.5em;max-width:45ch;color:#64665c}
.booking-card-seminar{background:#161817;border-color:#ed3b2d;color:#fff}
.booking-card-seminar .booking-number{color:#ff7d70}
.booking-card-seminar .booking-badge{border-color:#5d6258;color:#e2e5da}
.booking-card-seminar p,.booking-card-seminar small{color:#bfc5b7}
.booking-card-seminar .button-light{background:#f6f5f1;color:#151616}
.first-visit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,7vw,105px);padding-block:65px 95px;border-top:1px solid var(--line)}
.first-visit h2{font-size:clamp(42px,4.7vw,66px);line-height:1.05;margin:23px 0}
.first-visit p{font-size:14px;line-height:1.85;color:#606458}
.first-visit .text-link{margin-top:23px}
.first-visit-list{margin:0;padding:0;list-style:none}
.first-visit-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:20px;padding:25px 0;border-top:1px solid var(--line)}
.first-visit-list li:first-child{padding-top:0;border-top:0}
.first-visit-list li>span{font-size:11px;color:var(--red-dark);padding-top:6px}
.first-visit-list h3{font:700 19px/1.4 var(--body);margin-bottom:12px}
.first-visit-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px}
.first-visit-links a{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;border-bottom:1px solid #bdc0b5;padding-bottom:4px}
#inquiry-form{scroll-margin-top:28px}
@media(max-width:760px){.ss-hero-title.hero-original-title{top:var(--hero-title-top,clamp(12px,6%,56px));left:33%;width:34%}.booking-options{grid-template-columns:1fr;gap:22px;padding-bottom:45px}.booking-intro{padding-bottom:30px}.booking-card{padding:27px 24px}.booking-card h2{font-size:46px}.booking-card p{font-size:14px}.booking-card .button{font-size:12px;padding:15px 18px;gap:15px}.booking-card small{font-size:11px}.first-visit{grid-template-columns:1fr;gap:35px;padding-block:40px 55px}.first-visit h2{font-size:46px}.first-visit-list li{gap:12px}.first-visit-list h3{font-size:17px}}
@media(max-width:360px){.booking-card h2{font-size:40px}.booking-card{padding-inline:20px}.booking-card .button{padding-inline:14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-lettering,.hero-original-title:after{animation:none;opacity:1;transform:none;clip-path:none}}

/* September 28: seminar offers with complete, uncropped supplied posters. */
.seminar-intro{padding-bottom:38px}
.seminar-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.seminar-jump a{display:inline-flex;align-items:center;min-height:44px;padding:11px 15px;border:1px solid #b9bcb1;font-size:12px;font-weight:700;line-height:1.4;transition:background .2s,border-color .2s}
.seminar-jump a:hover{background:#e7e8df;border-color:var(--red-dark)}
.seminar-list{padding-bottom:65px}
.seminar-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:clamp(35px,7vw,110px);padding-block:50px;border-top:1px solid var(--line);scroll-margin-top:28px}
.seminar-row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,.82fr)}
.seminar-row:nth-child(even) .seminar-visual{grid-column:2;grid-row:1}
.seminar-row:nth-child(even) .seminar-copy{grid-column:1;grid-row:1}
.seminar-visual{margin:0;min-width:0;width:100%;max-width:430px;justify-self:center}
.seminar-visual>a{display:block}
.seminar-visual img{display:block;width:100%;height:auto}
.seminar-visual figcaption{font-size:11px;line-height:1.5;margin-top:14px;color:#606458}
.seminar-visual figcaption a{display:inline-flex;gap:12px;align-items:center;min-height:36px}
.seminar-visual figcaption a:hover{color:var(--red-dark)}
.seminar-copy{min-width:0}
.seminar-copy h2{font:700 clamp(38px,4.6vw,66px)/1.04 var(--display);letter-spacing:-.015em;text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto;margin:22px 0}
.seminar-copy .seminar-host{font-size:12px;font-weight:700;color:var(--red-dark);border-left:2px solid var(--red);padding-left:14px;margin:0 0 25px}
.seminar-copy>p{font-size:16px;line-height:1.85;max-width:48ch;color:#55594f}
.seminar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px}
.seminar-actions .button{font-size:13px;gap:25px;max-width:100%;text-wrap:balance}
.seminar-actions .text-link{font-size:12px}
.seminar-booking{background:#171918;color:#fff;padding-block:55px}
.seminar-booking>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.seminar-booking h2{font-size:clamp(38px,4vw,58px);line-height:1.07;margin-top:22px}
.seminar-booking p{font-size:15px;line-height:1.85;color:#c0c5b8;margin-bottom:25px;max-width:49ch}
.seminar-booking .button{font-size:13px;gap:25px}
@media(max-width:760px){.seminar-intro{padding-bottom:25px}.seminar-jump{gap:8px;margin-top:24px}.seminar-jump a{font-size:11px;padding:9px 12px}.seminar-row,.seminar-row:nth-child(even){grid-template-columns:1fr;gap:30px;padding-block:35px 45px}.seminar-row:nth-child(even) .seminar-visual,.seminar-row:nth-child(even) .seminar-copy{grid-column:auto;grid-row:auto}.seminar-visual{max-width:420px}.seminar-copy h2{font-size:clamp(35px,8.7vw,48px);margin-block:20px}.seminar-copy>p{font-size:14px}.seminar-actions{gap:20px;margin-top:26px}.seminar-actions .button{font-size:12px;padding:16px 19px;gap:18px}.seminar-list{padding-bottom:25px}.seminar-booking{padding-block:40px}.seminar-booking>.wrap{grid-template-columns:1fr;gap:25px}.seminar-booking p{font-size:14px}.seminar-booking h2{font-size:42px}.seminar-booking .button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.seminar-jump a{transition:none}}

/* September 30: confirmed seminar dates and a text-only Survival offer. */
.seminar-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);background:#171918;color:#fff;border-top:3px solid var(--red);padding:clamp(26px,4vw,52px);margin-bottom:48px;scroll-margin-top:28px}
.seminar-feature>div{min-width:0}
.seminar-feature .eyebrow{color:#ff897d}
.seminar-feature h2{font:700 clamp(38px,4.8vw,66px)/1.05 var(--display);letter-spacing:-.015em;text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto;margin:22px 0 0}
.seminar-feature-facts{margin:0}
.seminar-feature-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #494d45}
.seminar-feature-facts>div:first-child{padding-top:0}
.seminar-feature-facts dt{font-size:11px;line-height:1.8;color:#bfc5b7}
.seminar-feature-facts dd{margin:0;font-size:14px;font-weight:700;line-height:1.7}
.seminar-feature .seminar-actions{margin-top:25px;gap:16px}
.seminar-feature .text-link{color:#eceee6;border-color:#65695f}
.seminar-date{display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--red-dark);padding:4px 0 4px 14px;margin-top:25px;font-size:13px;line-height:1.65;color:#55594f}
.seminar-date-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red-dark)}
.seminar-date strong{font-size:15px;color:#242720}
@media(max-width:760px){.seminar-feature{grid-template-columns:1fr;padding:27px 24px;gap:27px;margin-bottom:32px}.seminar-feature h2{font-size:clamp(32px,8.2vw,46px)}.seminar-feature-facts>div{grid-template-columns:64px minmax(0,1fr);gap:12px}.seminar-feature-facts dd{font-size:13px}.seminar-feature .seminar-actions .button{font-size:12px;padding:16px 18px;gap:16px}.seminar-date{font-size:12px}.seminar-date strong{font-size:14px}}

/* September 27: supplied portraits, discipline links and complete team coverage. */
.team-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-bottom:46px}
.team-directory>a{position:relative;display:flex;flex-direction:column;gap:11px;border-top:2px solid var(--red-dark);background:#eaeae3;padding:22px 20px 23px;min-width:0;transition:background .2s}
.team-directory>a>span:first-child{font-size:10px;line-height:1.6;color:#62665b}
.team-directory strong{font:700 26px/1.08 var(--display);padding-right:20px}
.team-directory>a>span:last-child{position:absolute;right:18px;bottom:23px;color:var(--red-dark);font-size:20px}
.team-directory>a:hover{background:#e0e1d8}
.added-trainer>figure img{aspect-ratio:3/4;object-fit:cover;object-position:center 22%}
.added-trainer>div>p+p{margin-top:17px}
.added-trainer .text-link{margin-top:27px;font-size:12px}
.added-trainer-preview img{object-position:center 22%}
.added-trainer-preview .trainer-preview-copy strong{font-size:clamp(27px,2.65vw,38px);line-height:1.1}
.course-team{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);background:#eaeae3;padding:32px;margin-block:12px 68px}
.course-team-portrait{display:block;overflow:hidden;aspect-ratio:4/5}
.course-team-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.course-team h2{font-size:clamp(34px,3.5vw,49px);line-height:1.06;margin:18px 0}
.course-team p{font-size:14px;line-height:1.85;color:#5e6258;max-width:64ch}
.course-team .text-link{font-size:12px;margin-top:23px}
@media(max-width:1050px){.team-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.course-team{grid-template-columns:200px minmax(0,1fr);gap:32px}.course-team h2{font-size:38px}}
@media(max-width:760px){.team-directory{gap:12px;padding-bottom:30px}.team-directory>a{padding:18px 15px}.team-directory strong{font-size:24px;padding-right:12px}.team-directory>a>span:first-child{font-size:9px}.team-directory>a>span:last-child{right:12px;bottom:18px;font-size:16px}.added-trainer-preview .trainer-preview-copy strong{font-size:30px}.added-trainer>figure img{aspect-ratio:3/4;max-height:580px;object-position:center 22%}.course-team{grid-template-columns:1fr;padding:24px;gap:25px;margin-bottom:45px}.course-team-portrait{aspect-ratio:1.1;max-width:360px}.course-team h2{font-size:38px}.course-team p{font-size:14px}}
@media(max-width:360px){.team-directory{grid-template-columns:1fr}.team-directory strong{font-size:28px}.course-team{padding:20px}.course-team h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.team-directory>a{transition:none}}
/* Keep the long German course title inside narrow phone columns. */
@media(max-width:360px){.detail-copy .detail-title-long{font-size:clamp(28px,10vw,32px)}}
/* Weekly timetable: one readable time axis on desktop, chronological days on phones. */
.schedule-calendar{margin:5px 0 52px;padding:32px;background:#f7f7f1;border:1px solid #cdcec3;min-width:0}
.schedule-calendar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.schedule-calendar-heading>div{min-width:0}
.schedule-calendar-heading h2,.schedule-details-heading h2{font:700 clamp(30px,3vw,43px)/1.08 var(--display);letter-spacing:-.01em;margin:15px 0 0}
.schedule-calendar-heading p{font-size:13px;line-height:1.75;color:#5c6257;max-width:30ch;margin:0}
.schedule-calendar-grid{display:grid;grid-template-columns:46px repeat(5,minmax(0,1fr));gap:12px;padding-bottom:12px;min-width:0}
.schedule-calendar-axis,.schedule-calendar-day{min-width:0}
.calendar-axis-label,.schedule-calendar-day h3{display:flex;align-items:center;height:43px;border-bottom:1px solid #d6d8cd;margin:0 0 15px;font:700 13px/1.3 var(--body);color:#343b30}
.calendar-axis-label{font-size:10px;color:#6c7466}
.schedule-calendar-axis>div{position:relative;height:480px}
.schedule-calendar-axis>div>span{position:absolute;left:0;top:var(--hour-position);transform:translateY(-50%);font-size:11px;line-height:1;color:#61695b}
.schedule-calendar-axis>div>span:first-child{transform:none}
.schedule-calendar-events{display:grid;grid-template-rows:repeat(24,20px);margin:0;padding:0;list-style:none;background:repeating-linear-gradient(to bottom,#d5d9cc 0px,#d5d9cc 1px,transparent 1px,transparent 80px),repeating-linear-gradient(to bottom,#e9ebe1 0px,#e9ebe1 1px,transparent 1px,transparent 20px);border-bottom:1px solid #d5d9cc;min-width:0}
.schedule-calendar-event{grid-column:1;grid-row:var(--event-start)/span var(--event-duration);min-width:0;padding-block:3px}
.schedule-calendar-event[hidden],.schedule-calendar-note[hidden]{display:none}
.schedule-calendar-event a{display:flex;flex-direction:column;justify-content:center;gap:7px;height:100%;min-width:0;padding:10px 9px;background:#eee9df;color:#232922;border:1px solid #d7c7af;border-left:3px solid #876d44;transition:background .18s,border-color .18s}
.calendar-event-time{font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.schedule-calendar-event strong{font-size:14px;line-height:1.18;overflow-wrap:break-word}
.schedule-calendar-event .calendar-course-kids-young{background:#f3ecd8;border-color:#d9cfad;border-left-color:#927331}
.schedule-calendar-event .calendar-course-kids-older{background:#eae6ef;border-color:#cec3da;border-left-color:#74617f}
.schedule-calendar-event .calendar-course-bjj{background:#e0ece2;border-color:#bfcebf;border-left-color:#54745a}
.schedule-calendar-event .calendar-course-msd{background:#e2e9ed;border-color:#bacbd2;border-left-color:#4c6e7b}
.schedule-calendar-event .calendar-course-open-mat{background:#f1e2dd;border-color:#d8bdb4;border-left-color:#a35843}
.schedule-calendar-event a:hover{background:#fff;border-color:#6e7665}
.schedule-calendar-event a:focus-visible,.schedule-calendar-note:focus-visible{outline:3px solid var(--red-dark);outline-offset:3px;position:relative;z-index:2}
.schedule-calendar-note{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e9ece1;border-left:3px solid var(--red-dark);padding:19px 23px;margin-top:22px;min-height:76px}
.schedule-calendar-note>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px}
.schedule-calendar-note strong{font-size:14px;line-height:1.45}
.schedule-calendar-note>div>span{font-size:12px;line-height:1.5;color:#5d6656}
.calendar-note-action{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}
.schedule-calendar-note:hover{background:#e0e4d7}
.schedule-details-heading{margin-bottom:27px}
.schedule-details-heading h2{margin:0}
.schedule-details-heading p{font-size:13px;color:#656d5d;line-height:1.6;margin:12px 0 0}
.schedule-card{scroll-margin-top:28px}
.schedule-card:focus{outline:2px solid var(--red-dark);outline-offset:5px}
@media(max-width:1050px){.schedule-calendar{padding:25px 22px}.schedule-calendar-grid{grid-template-columns:39px repeat(5,minmax(0,1fr));gap:8px}.schedule-calendar-event a{padding-inline:7px}.schedule-calendar-event strong{font-size:13px}.calendar-event-time{font-size:11px}.schedule-calendar-day h3{font-size:12px}}
@media(max-width:760px){.schedule-calendar{padding:25px 20px;margin-bottom:36px}.schedule-calendar-heading{display:block;margin-bottom:25px}.schedule-calendar-heading h2{font-size:36px}.schedule-calendar-heading p{margin-top:15px;max-width:38ch;font-size:12px}.schedule-calendar-grid{display:block;padding:0}.schedule-calendar-axis{display:none}.schedule-calendar-day+.schedule-calendar-day{margin-top:27px}.schedule-calendar-day[data-empty=true]{display:none}.schedule-calendar-day h3{height:auto;padding-bottom:12px;margin-bottom:12px;font-size:17px;border-color:#c9d0c0}.schedule-calendar-events{display:flex;flex-direction:column;gap:9px;background:none;border:0}.schedule-calendar-event{padding:0}.schedule-calendar-event a{min-height:64px;display:grid;grid-template-columns:98px minmax(0,1fr);gap:13px;padding:13px 15px}.calendar-event-time{font-size:12px}.schedule-calendar-event strong{font-size:15px;line-height:1.35}.schedule-calendar-note{margin-top:28px;align-items:flex-start;padding:18px 16px;gap:15px}.schedule-calendar-note>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.schedule-calendar-note strong{font-size:13px}.schedule-calendar-note>div>span{font-size:11px}.calendar-note-action{font-size:11px;gap:7px}.schedule-details-heading h2{font-size:34px}.schedule-details-heading p{font-size:12px}}
@media(max-width:360px){.schedule-calendar{padding-inline:16px}.schedule-calendar-heading h2{font-size:32px}.schedule-calendar-event a{grid-template-columns:88px minmax(0,1fr);padding-inline:11px;gap:9px}.calendar-event-time{font-size:11px}.schedule-calendar-event strong{font-size:14px}.schedule-calendar-note{flex-direction:column;gap:12px}.schedule-details-heading h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.schedule-calendar-event a{transition:none}}
/* Full first-person biographies and the confirmed two-person BJJ team. */
.full-biography{margin-top:28px}
.trainer-profile .full-biography p{margin:0;max-width:62ch}
.trainer-profile .full-biography p+p{margin-top:20px}
.full-biography h3:first-child{margin-top:0;margin-bottom:18px}
.trainer-course-links{display:flex;flex-wrap:wrap;gap:8px 30px;align-items:flex-start}
.course-team-bjj{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}
.course-team-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.course-person{min-width:0;display:flex;flex-direction:column;align-self:start}
.course-person-photo{display:block;aspect-ratio:3/4;overflow:hidden}
.course-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.course-person-name{font:700 25px/1.1 var(--display);margin-top:14px}
.course-person-role{font-size:10px;line-height:1.6;color:#62665b;margin-top:7px}
.course-team .course-instructor-role{font-size:11px;line-height:1.8;color:var(--red-dark);font-weight:700;margin-bottom:15px}
@media(max-width:1050px){.course-team-bjj{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}}
@media(max-width:760px){.course-team-bjj{grid-template-columns:1fr}.course-team-people{max-width:420px;gap:14px}.course-person-name{font-size:25px}.trainer-profile .full-biography p{font-size:15px;line-height:1.9}.trainer-course-links{gap:6px 24px}}
/* Preserve the full supplied Cool Kids group photo, including children at either edge. */
.training-visual-kids{aspect-ratio:auto;align-self:center}
.training-visual-kids img{aspect-ratio:2/1;height:auto;object-fit:contain}
.training-visual-kids figcaption{position:static;background:#151716;color:#fff;padding:12px 16px}
.kids-trainer-photo img{height:auto;aspect-ratio:2/1;object-fit:contain;object-position:center}
.dojo-gallery figure:first-child img{height:auto;aspect-ratio:2/1;object-fit:contain}
/* Position timetable entries through external CSS, compatible with style-src self. */
.schedule-calendar-event.calendar-slot-1{grid-row:1/span 4}
.schedule-calendar-event.calendar-slot-6{grid-row:6/span 4}
.schedule-calendar-event.calendar-slot-12{grid-row:12/span 6}
.schedule-calendar-event.calendar-slot-19{grid-row:19/span 6}
.schedule-calendar-axis>div>span:nth-child(1){top:0%}
.schedule-calendar-axis>div>span:nth-child(2){top:16.666667%}
.schedule-calendar-axis>div>span:nth-child(3){top:33.333333%}
.schedule-calendar-axis>div>span:nth-child(4){top:50%}
.schedule-calendar-axis>div>span:nth-child(5){top:66.666667%}
.schedule-calendar-axis>div>span:nth-child(6){top:83.333333%}
.schedule-calendar-axis>div>span:nth-child(7){top:100%}
/* Original BJJ group: keep every member visible, with captions below the photo. */
.training-visual-bjj{height:auto;aspect-ratio:auto;align-self:center}
.training-visual-bjj img{display:block;height:auto;aspect-ratio:1280/1229;object-fit:contain;transform:none}
.training-visual-bjj:hover img{transform:none}
.training-visual-bjj figcaption{position:static;width:auto;max-width:none;padding:12px 16px;background:#151716;color:#fff}
.detail-image-bjj{aspect-ratio:auto;height:auto;align-self:start}
.detail-image-bjj img{display:block;height:auto;aspect-ratio:1280/1229;object-fit:contain}
.detail-image-bjj .image-credit{position:static;margin:0;padding:12px 16px;background:#151716}
.dojo-gallery .dojo-gallery-bjj-group img{height:auto;aspect-ratio:1280/1229;object-fit:contain;object-position:center}

/* October 1: supplied Survival poster, complete and readable at every size. */
.seminar-feature-poster{align-items:center}
.seminar-feature-poster .seminar-visual{max-width:430px}
.seminar-feature-poster .seminar-visual img{height:auto;aspect-ratio:1024/1636;object-fit:contain;transform:none}
.seminar-feature-poster .seminar-visual figcaption{color:#bfc5b7}
.seminar-feature-poster .seminar-visual figcaption a:hover{color:#fff}
.seminar-feature-copy h2{margin-bottom:18px}
.seminar-feature-copy .seminar-cooperation{font-size:12px;font-weight:700;line-height:1.7;color:#b5d879;margin:0 0 18px}
.seminar-feature-copy .seminar-program{font-size:14px;line-height:1.8;color:#d0d5c9;max-width:52ch;margin:0 0 16px}
.seminar-feature-copy .seminar-feature-facts{margin-top:26px}
.seminar-feature-poster .seminar-feature-facts>div{grid-template-columns:90px minmax(0,1fr)}
@media(max-width:760px){.seminar-feature-poster .seminar-visual{max-width:420px}.seminar-feature-copy .seminar-program{font-size:13px}.seminar-feature-poster .seminar-feature-facts>div{grid-template-columns:70px minmax(0,1fr);gap:10px}}
