@font-face{font-family:Barlow;src:url('/assets/optimized-october2/barlow-condensed-bold-99a2e0a38396.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/optimized-october2/manrope-regular-51aebd6a83d1.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/optimized-october2/manrope-bold-6a05333ad7b9.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#101111;--paper:#f6f5f1;--red:#ed3b2d;--red-dark:#b92419;--muted:#666862;--line:#d8d8d0;--body:Manrope,Arial,sans-serif;--display:Barlow,'Arial Narrow',sans-serif;--gutter:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.02}p{max-width:65ch}h2{font-size:clamp(44px,5.5vw,84px)}h3{font-size:36px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{width:min(100%,1600px);margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:fixed;top:10px;left:10px;background:white;color:black;padding:12px 20px;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;background:var(--ink);color:white;border-bottom:1px solid #343434;z-index:30}.header-inner{max-width:1600px;margin:auto;padding:16px var(--gutter);display:flex;align-items:center;gap:32px;min-height:92px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:36px;height:48px;object-fit:contain}.brand>span{font:700 37px/1 var(--display);letter-spacing:.02em;display:flex;align-items:baseline;gap:8px}.brand-region{font:700 13px/1 var(--body);letter-spacing:.16em}.desktop-nav{display:flex;gap:30px;margin-inline:auto}.desktop-nav a{font-size:14px;color:#e0e0dc;transition:color .2s}.desktop-nav a:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--red);color:var(--ink);padding:19px 24px;font-size:14px;font-weight:700;line-height:1.4;min-height:56px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{background:#ff6556;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.button-small{padding:13px 20px;min-height:46px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;background:white;height:2px;margin:6px 0}.mobile-nav{padding:10px var(--gutter) 24px;border-top:1px solid #333}.mobile-nav a{display:block;padding:12px 0;font-size:18px}.mobile-nav[hidden]{display:none}.hero{position:relative;isolation:isolate;background:#111;color:var(--paper);min-height:704px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 35%;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:54% 45%;filter:grayscale(100%) brightness(.7)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111 6%,#111e 32%,#1119 49%,#1110 80%),linear-gradient(0deg,#111b,transparent 30%)}.hero-content{padding-top:88px;padding-bottom:120px;position:relative}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.13em;line-height:1.6}.red-line{width:27px;height:2px;background:var(--red);flex:none}.hero h1{font-size:clamp(80px,9.4vw,148px);letter-spacing:-.018em;line-height:.96;margin:27px 0 30px;max-width:850px}.hero h1 span{color:var(--red)}.hero p{font-size:16px;color:#c4c4c1;max-width:460px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:32px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding:10px 0;display:inline-flex;gap:22px;align-items:center}.text-link:hover{color:var(--red-dark)}.text-link.light:hover{color:var(--red)}.hero-note{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:12px;color:#b9bab5;margin-top:24px}.hero-note span{color:var(--red);font-size:16px}.hero-note span:nth-of-type(2){margin-left:12px}.hero-caption{position:absolute;right:var(--gutter);bottom:45px;display:flex;gap:13px;align-items:center;font-size:11px;letter-spacing:.08em;font-weight:700}.hero-caption small{display:block;letter-spacing:0;color:#b4b4b1;font-weight:400;margin-top:4px;font-size:12px}.caption-marker{width:30px;height:30px;border:1px solid #b0b0ab;position:relative}.caption-marker:after{content:'';position:absolute;width:8px;height:8px;background:var(--red);inset:10px}.hero-index{position:absolute;left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));bottom:42px;font-size:11px;letter-spacing:.12em;color:#8f908a}.values-strip{display:flex;gap:28px;justify-content:space-between;align-items:center;padding:22px var(--gutter);background:var(--red);font:700 clamp(20px,2vw,30px)/1.2 var(--display);letter-spacing:.035em}.values-strip i{font-style:normal;font-size:22px}
@media(min-width:1600px){.hero-caption{right:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)))}}@media(max-width:1000px){.desktop-nav{gap:18px}.header-inner{gap:20px}.brand-region{display:none}.hero{min-height:670px}.hero h1{font-size:110px}.hero-photo{left:25%}.hero-caption{max-width:270px}.hero-actions{gap:20px}.values-strip{gap:18px}}@media(max-width:760px){html{scroll-padding-top:20px}.header-inner{padding-block:12px;min-height:80px;gap:16px}.brand-region{display:inline}.desktop-nav{display:none}.header-cta{margin-left:auto;font-size:12px;padding:11px 13px;gap:10px}.menu-toggle{display:block}.brand>span{font-size:31px}.brand-region{font-size:10px}.brand{gap:8px}.brand img{width:29px;height:39px}.hero{min-height:0}.hero-photo{inset:0}.hero-photo img{object-position:62% center;filter:grayscale(1) brightness(.55)}.hero:after{background:linear-gradient(90deg,#111e,#1115),linear-gradient(0deg,#111 1%,transparent 70%)}.hero-content{padding-top:56px;padding-bottom:58px}.hero h1{font-size:clamp(77px,15.2vw,114px);margin-block:24px}.hero p{font-size:15px;max-width:390px}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero-caption,.hero-index{display:none}.hero-actions{align-items:flex-start;gap:12px 22px}.hero-note{font-size:11px;column-gap:8px;max-width:330px}.hero-note span:nth-of-type(2){margin-left:4px}.values-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:23px;padding-block:23px}.values-strip i{display:none}.values-strip span:nth-of-type(even){text-align:right}.button{padding:17px 21px}.header-cta{padding:10px 12px}.hero-actions .text-link{min-height:48px}}@media(max-width:360px){.brand-region{display:none}.header-inner{gap:12px}.hero-note{font-size:10px}.hero h1{font-size:74px}}
.section{padding-top:108px;padding-bottom:108px}.muted{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:45px}.section-heading h2{margin-top:20px}.section-heading>p{max-width:350px;color:var(--muted);padding-bottom:6px}.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.training-card{min-width:0;display:flex;flex-direction:column}.card-image{position:relative;overflow:hidden;aspect-ratio:1.18;background:#ddd}.card-image img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:grayscale(1);transition:filter .4s,transform .6s}.training-card:hover .card-image img{filter:grayscale(0);transform:scale(1.035)}.image-label{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;padding:6px 10px;background:var(--paper);font-size:10px;letter-spacing:.08em;line-height:1.5;font-weight:700;max-width:calc(100% - 32px)}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:23px 0 12px}.card-title h3{font-size:clamp(30px,3vw,44px)}.circle-arrow{border:1px solid #b5b5ac;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:22px;flex:none;transition:background .2s,color .2s}.training-card:hover .circle-arrow{background:var(--ink);color:white}.training-card p{color:var(--muted);font-size:14px;line-height:1.8;max-width:34ch;margin-bottom:22px}.card-bottom{border-top:1px solid var(--line);padding-top:17px;font-size:12px;margin-top:auto;color:#55564f}.more-training{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}.more-training>a{display:flex;gap:20px;align-items:center;padding:25px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.more-training>a>span:last-child{margin-left:auto;font-size:28px;transition:transform .2s}.more-training a:hover>span:last-child{transform:translate(3px,-3px)}.small-index{font-size:12px;color:var(--muted);align-self:flex-start;padding-top:5px}.more-training h3{font-size:29px}.more-training p{font-size:13px;color:var(--muted);margin-top:7px}.about-section{background:var(--ink);color:var(--paper);padding:90px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}.about-visual{position:relative;height:620px;min-width:0}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:43% center;filter:grayscale(1)}.photo-credit{position:absolute;bottom:0;left:0;background:var(--red);color:var(--ink);padding:13px 20px;letter-spacing:.12em;font-size:10px;font-weight:700}.about-copy h2{font-size:clamp(43px,4.5vw,69px);margin:24px 0}.about-copy>p{font-size:14px;color:#b7b8b2;margin:16px 0}.principles{display:grid;margin:27px 0}.principles>span{border-top:1px solid #363736;padding:13px 0;font-size:13px}.principles b{color:var(--red);font-size:11px;font-weight:400;margin-right:24px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps-grid article{border-top:1px solid var(--line);padding-top:24px}.step-number{font:700 60px/1 var(--display);color:var(--red-dark);display:block;margin-bottom:24px}.steps-grid h3{font-size:32px;margin-bottom:14px}.steps-grid p{font-size:14px;color:var(--muted);max-width:37ch}.schedule-teaser{padding:75px 0;background:#e8e8e2}.schedule-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.schedule-teaser h2{font-size:clamp(45px,4.5vw,68px);margin-top:20px}.schedule-teaser p{margin:23px 0 15px;color:var(--muted);font-size:14px}.schedule-summary>a{display:grid;grid-template-columns:1.1fr 1fr 16px;gap:14px;align-items:center;border-top:1px solid #bdbeb6;padding:26px 0;font-size:14px}.schedule-summary strong{font:700 24px/1.1 var(--display)}.schedule-summary small{display:block;margin-top:15px;font-size:11px;color:#5e6058}.schedule-summary a:hover{color:var(--red-dark)}.faq-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px}.faq-section h2{font-size:clamp(42px,4vw,61px);margin-top:20px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:14px;font-weight:700;list-style:none;display:flex;gap:20px;justify-content:space-between;padding:24px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;line-height:1;flex:none;font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;color:var(--muted);padding:0 30px 24px 0}.closing-cta{background:var(--red);padding:76px 0}.closing-cta>.wrap{display:flex;justify-content:space-between;align-items:center;gap:50px}.closing-cta h2{font-size:clamp(70px,8.5vw,126px);margin-top:22px;line-height:.95}.closing-cta p{font-size:18px;line-height:1.7;margin-bottom:26px}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#30312e}.cta-note{display:block;font-size:12px;margin-top:16px}.site-footer{background:var(--ink);color:#c2c2bb}.footer-main{display:grid;grid-template-columns:1.2fr 1.1fr 1.15fr 1fr;gap:38px;padding-top:68px;padding-bottom:62px}.footer-brand{color:white;margin-bottom:23px}.footer-main p{font-size:12px;line-height:1.9;margin-bottom:17px}.footer-main>div>a:not(.brand){display:block;width:fit-content;font-size:12px;margin:10px 0}.footer-main a:hover{color:var(--red)}.footer-label{display:block;font-size:10px;letter-spacing:.1em;color:#8d8e88;margin:10px 0 24px}.footer-bottom{border-top:1px solid #30312e;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;color:#92938c;padding-block:22px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a{min-height:28px;display:inline-flex;align-items:center}.footer-bottom a:hover{color:white}.page-intro{padding-top:42px;padding-bottom:68px}.breadcrumb{display:block;font-size:12px;color:var(--muted);margin-bottom:46px}.breadcrumb span{margin-left:15px;color:#b3b3a9}.page-intro h1{font-size:clamp(58px,7.3vw,112px);margin:20px 0 28px;letter-spacing:-.015em;overflow-wrap:anywhere}.page-intro .lead{font-size:18px;max-width:710px;color:#62645c;line-height:1.8}.detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,110px);padding-bottom:80px}.detail-image{min-width:0;height:650px}.detail-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.detail-copy h2{font-size:46px;margin-bottom:22px}.detail-copy>p{font-size:15px;color:var(--muted);margin:15px 0}.facts{margin:25px 0 30px}.facts>div{border-top:1px solid var(--line);padding:15px 0}.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.facts dd{margin:0;font-size:14px}.detail-no-image{display:block;max-width:1050px;margin-left:auto;margin-right:auto}.detail-no-image .detail-copy{max-width:760px}.benefit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:100px}.benefit-row>div{font:700 29px/1.2 var(--display);display:flex;gap:18px;border-top:1px solid var(--line);padding-top:24px}.benefit-row span{font:400 12px/1.8 var(--body);color:var(--red-dark)}.fine-print{font-size:12px!important;margin-top:15px!important}.schedule-page{padding-bottom:100px}.schedule-meta{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding:25px 0 45px}.schedule-block h2{font-size:44px;margin-bottom:25px}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:#eeeee8}.week-grid article{border-right:1px solid var(--line);padding:24px 20px;min-width:0}.week-grid article:last-child{border-right:0}.week-grid span{font-size:12px;display:block;margin-bottom:24px}.week-grid strong{display:block;font:700 clamp(24px,2.6vw,36px)/1.2 var(--display);white-space:nowrap}.week-grid small{font-size:12px;color:var(--muted);display:block;margin-top:9px}.schedule-special{background:var(--ink);color:white;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:24px}.schedule-special .muted{color:#c7c8c0}.schedule-special h3{font-size:34px;margin-top:12px}.schedule-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:60px 0 35px}.schedule-notes h3{font-size:30px}.schedule-notes p{font-size:14px;color:var(--muted);margin:18px 0}.schedule-notes .text-link{font-size:12px}.notice{padding:22px 26px;border-left:3px solid var(--red-dark);background:#eaeae3;font-size:13px;line-height:1.9;max-width:none}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 65px;padding-bottom:50px}.team-grid article{border-top:1px solid var(--line);padding:28px 0}.team-number{display:block;font:700 66px/1 var(--display);color:var(--red-dark);margin-bottom:24px}.team-grid h2{font-size:48px;margin:16px 0}.team-grid p{color:var(--muted);font-size:15px}.team-note{margin-bottom:80px;font-size:12px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);padding-bottom:100px}.contact-details h2,.contact-form h2{font-size:38px;margin-bottom:25px}.contact-big{display:block;font:700 clamp(28px,3.4vw,50px)/1.2 var(--display);margin-bottom:12px;white-space:nowrap}.contact-mail{font-size:18px;display:block;margin-bottom:48px}.contact-address p{font-size:16px;margin:15px 0}.contact-tip{border-top:1px solid var(--line);padding-top:25px;margin-top:38px}.contact-tip strong{font-size:14px}.contact-tip p{font-size:13px;color:var(--muted);margin-top:10px;max-width:48ch}.contact-form{background:#eaeae4;padding:36px}.contact-form h2{margin-top:18px;font-size:34px}.field{margin-bottom:20px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.field label span{font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{display:block;width:100%;background:var(--paper);border:1px solid #b7b8af;border-radius:0;padding:12px;min-height:48px;font-size:14px;color:var(--ink)}.field textarea{resize:vertical;min-height:136px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-info{font-size:11px;color:#606159;margin-bottom:25px;line-height:1.9}.form-info a{text-decoration:underline;text-underline-offset:3px;white-space:normal}.form-status{font-size:13px;background:#d9dfd0;border:1px solid #a5af98;padding:16px;margin-top:20px;overflow-wrap:anywhere}.form-status a{text-decoration:underline}.legal-content{max-width:1060px;padding-bottom:100px}.legal-content h2{font:700 30px/1.3 var(--display);margin:42px 0 18px}.legal-content p{font-size:15px;color:#53554e;max-width:none;margin:15px 0}.legal-content a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.empty-action{padding-bottom:100px}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr;gap:34px}.section-heading{gap:35px}.about-grid{gap:40px}.about-visual{height:570px}.schedule-teaser-grid{gap:45px}.faq-section{gap:40px}.contact-form{padding:27px}.form-row{grid-template-columns:1fr;gap:0}.week-grid article{padding:22px 14px}.detail-grid{gap:40px}}
@media(max-width:760px){.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-top:16px}.section-heading>p{margin-top:23px;max-width:440px;font-size:14px}.training-grid{grid-template-columns:1fr;gap:42px}.card-image{aspect-ratio:1.25}.card-title{margin-top:20px}.card-title h3{font-size:40px}.training-card p{max-width:none;font-size:14px;margin-bottom:16px}.card-bottom{font-size:12px}.more-training{grid-template-columns:1fr;gap:0;margin-top:36px}.more-training>a{gap:16px;padding:23px 0}.more-training>a+a{border-top:0}.more-training h3{font-size:27px}.more-training p{font-size:12px}.about-section{padding:55px 0}.about-grid{grid-template-columns:1fr;gap:36px}.about-visual{height:400px}.about-copy h2{font-size:49px}.about-copy>p{font-size:14px}.steps-grid{grid-template-columns:1fr;gap:30px}.steps-grid article{display:grid;grid-template-columns:58px 1fr;gap:10px 18px}.step-number{font-size:49px;grid-row:1/3;margin:0}.steps-grid h3{margin:0;font-size:30px}.steps-grid p{max-width:none}.schedule-teaser{padding:55px 0}.schedule-teaser-grid{grid-template-columns:1fr;gap:36px}.schedule-teaser h2{font-size:48px}.schedule-summary>a{font-size:12px;gap:12px;padding:21px 0}.schedule-summary strong{font-size:23px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section h2{font-size:45px}.faq-list summary{font-size:14px}.closing-cta{padding:58px 0}.closing-cta>.wrap{display:block}.closing-cta h2{font-size:89px}.closing-cta p{font-size:16px;margin-top:30px}.closing-cta .eyebrow{font-size:11px}.footer-main{padding-top:48px;padding-bottom:32px;gap:25px 22px}.footer-main>div:first-child{grid-column:1/-1;display:flex;gap:28px;align-items:center}.footer-brand{margin-bottom:0}.footer-main>div:first-child p{margin:0}.footer-main>div:last-child{grid-column:1/-1;border-top:1px solid #333;padding-top:16px}.footer-label{font-size:10px;margin-bottom:18px}.footer-main>div>a:not(.brand){font-size:12px;margin-block:13px;min-height:20px}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:12px;font-size:10px}.footer-bottom>div{gap:17px}.footer-bottom>span:last-child{width:100%}.page-intro{padding-top:28px;padding-bottom:42px}.breadcrumb{margin-bottom:32px}.page-intro h1{font-size:clamp(49px,10vw,74px);margin:18px 0 25px}.page-intro .lead{font-size:16px}.detail-grid{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.detail-image{height:430px}.detail-copy h2{font-size:38px}.detail-copy>p{font-size:14px}.benefit-row{grid-template-columns:1fr;gap:22px;margin-bottom:65px}.benefit-row>div{font-size:28px;padding-top:20px}.schedule-meta{display:block;padding-bottom:35px}.schedule-meta .text-link{margin-top:10px}.week-grid{grid-template-columns:1fr}.week-grid article{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:20px}.week-grid article:last-child{border-bottom:0}.week-grid span{margin:0;grid-row:1/3;font-size:14px}.week-grid strong{font-size:29px}.week-grid small{margin:4px 0 0}.schedule-special{display:block;padding:25px}.schedule-special h3{font-size:29px}.schedule-special .text-link{margin-top:14px}.schedule-notes{grid-template-columns:1fr;gap:30px;margin-top:40px}.schedule-notes article{border-top:1px solid var(--line);padding-top:25px}.schedule-page{padding-bottom:65px}.notice{padding:19px;font-size:12px}.team-grid{grid-template-columns:1fr;gap:8px}.team-grid h2{font-size:42px}.team-grid p{font-size:14px}.team-number{font-size:54px;margin-bottom:18px}.team-note{margin-bottom:50px}.contact-grid{grid-template-columns:1fr;gap:45px;padding-bottom:65px}.contact-big{font-size:39px}.contact-mail{font-size:17px;margin-bottom:30px}.contact-form{padding:25px 20px;margin-inline:0}.contact-form h2{font-size:31px}.form-info{font-size:12px}.field input,.field textarea,.field select{font-size:16px}.field label{font-size:13px}.contact-form .button{width:100%;font-size:13px;gap:15px}.legal-content{padding-bottom:60px}.legal-content p{font-size:14px}.legal-content h2{font-size:28px}.detail-no-image{padding-inline:var(--gutter)}}
.button:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:760px){.closing-cta h2{font-size:clamp(64px,18vw,89px)}}
@media(max-width:760px){.values-strip{grid-template-columns:repeat(2,minmax(0,1fr));font-size:clamp(17px,4.5vw,23px);gap:16px 12px}}
/* Keep functional text readable at every breakpoint. */
.image-label,.photo-credit,.footer-label,.footer-bottom,.hero-caption,.hero-index,.hero-note,.eyebrow,.facts dt,.form-info,.schedule-summary small,.principles b,.schedule-meta .eyebrow{font-size:12px}.hero .eyebrow{font-size:12px}.training-card p,.about-copy>p,.steps-grid p,.schedule-teaser p,.faq-list details p,.detail-copy>p,.schedule-notes p,.team-grid p,.legal-content p{font-size:16px}.card-bottom,.more-training p,.footer-main p,.footer-main>div>a:not(.brand),.field label,.contact-tip p{font-size:14px}.hero-note{column-gap:10px;max-width:none}.card-image img{object-position:50% 22%}.image-label{letter-spacing:.035em;font-size:11px}.detail-copy,.contact-details,.about-copy,.section-heading>div,.faq-section>div{min-width:0}.page-intro h1{hyphens:auto}.hero-caption{font-size:10px}.hero-caption small{font-size:12px}.footer-bottom{font-size:12px}.brand-region{font-size:13px}.contact-form .form-info{font-size:12px}.card-image:has(img[src*="kids.png"]):after{content:'SYMBOLBILD';position:absolute;top:12px;right:12px;background:#111b;color:#fff;padding:3px 6px;font-size:10px;letter-spacing:.05em}.card-title h3{overflow-wrap:anywhere}
@media(max-width:760px){.hero .eyebrow{font-size:10px}.hero-note{font-size:11px;gap:7px 8px}.brand-region{font-size:10px}.about-copy h2{font-size:clamp(39px,10vw,52px)}.hero-note span:nth-of-type(2){margin-left:0}.footer-main>div:first-child{flex-wrap:wrap}.footer-main>div>a:not(.brand){min-height:30px}.image-label{font-size:10px}.footer-bottom>div{flex-wrap:wrap}.hero h1{max-width:100%}}
/* Let the real training photograph carry the opening, with contrast confined to the copy. */
.hero-photo{inset:0 0 0 30%}
.hero-photo img{filter:grayscale(1) contrast(1.025);object-position:53% 48%;transition:filter .65s ease}
.hero:after{background:linear-gradient(90deg,#111 27%,rgba(17,17,17,.96) 35%,rgba(17,17,17,.62) 42%,rgba(17,17,17,.12) 53%,transparent 66%)}
.hero-content{padding-top:76px;padding-bottom:100px}
.hero h1{font-size:clamp(80px,8.3vw,132px)}
.hero p{max-width:min(460px,38vw);color:#deded8}
.hero-caption{background:rgba(17,17,17,.88);padding:14px 18px;bottom:28px;max-width:360px}
.hero-caption small{color:#d6d6d0}
@media(min-width:761px) and (max-width:1100px){.hero-actions{max-width:420px;gap:16px}.hero-note{max-width:350px}.hero-caption{right:24px;max-width:280px}.hero h1{font-size:clamp(78px,8.3vw,92px)}}
@media(max-width:760px){.hero-photo{position:relative;inset:auto;z-index:auto;height:auto;aspect-ratio:1.4;max-height:470px}.hero-photo img{object-position:50% 50%}.hero:after{display:none}.hero-content{padding-top:34px;padding-bottom:44px}.hero h1{font-size:clamp(70px,15.2vw,108px);margin-block:21px}.hero p{max-width:440px}.hero-actions{margin-top:27px}.hero-caption{display:none}.hero-note{margin-top:20px}.hero .eyebrow{font-size:10px}}
@media(hover:hover) and (pointer:fine){.hero:hover .hero-photo img{filter:grayscale(0) saturate(.9) contrast(1.025)}}
.values-strip{display:block;position:relative;overflow:hidden;padding:0;font-size:clamp(24px,2vw,30px)}
.values-track{display:flex;width:max-content;animation:values-scroll 32s linear infinite}
.values-group{display:flex;flex:none;align-items:center;justify-content:space-around;gap:clamp(28px,4vw,72px);min-width:max(1100px,100vw);padding:23px 32px;white-space:nowrap}
.values-strip i{display:block;flex:none;font-size:24px}
.values-strip.is-paused .values-track{animation-play-state:paused}
.values-toggle{position:absolute;inset:50% 14px auto auto;transform:translateY(-50%);width:38px;height:38px;border:1px solid #1115;border-radius:50%;background:var(--red);color:var(--ink);display:grid;place-items:center;font:700 14px/1 var(--body);box-shadow:0 0 0 8px var(--red)}
.values-toggle[hidden]{display:none}
.values-toggle:hover{background:var(--ink);color:var(--paper)}
.values-toggle:focus-visible{outline-color:var(--ink);outline-offset:4px}
@keyframes values-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.values-track{width:auto}.values-group{min-width:0;width:100%;flex-wrap:wrap;gap:16px 26px;padding:23px var(--gutter);justify-content:center}.values-group[aria-hidden="true"],.values-toggle,.values-strip i{display:none}}
/* Alternating, generous course stories keep imagery and copy equally prominent. */
.training-list{margin-top:62px}
.training-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6.5vw,104px);align-items:center;padding:58px 0;border-top:1px solid var(--line)}
.training-row:last-child{padding-bottom:0}
.training-copy{min-width:0;padding-block:12px}
.training-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;line-height:1.7;color:var(--red-dark);margin-bottom:20px}
.training-copy h3{font-size:clamp(47px,5.3vw,80px);letter-spacing:-.015em;line-height:.98;overflow-wrap:normal}
.training-copy .training-lead{font-family:var(--display);font-size:clamp(29px,2.8vw,40px);line-height:1.1;color:var(--ink);margin:25px 0 19px}
.training-copy>p:not(.training-lead){font-size:16px;line-height:1.85;color:var(--muted);max-width:46ch}
.training-audience{display:block;border-top:1px solid var(--line);margin-top:25px;padding-top:18px;font-size:13px;color:#55564f}
.training-copy .text-link{margin-top:16px;max-width:100%;line-height:1.6;gap:18px}
.training-copy .text-link span{flex:none;font-size:21px}
.training-visual{margin:0;min-width:0;position:relative;aspect-ratio:1.08;overflow:hidden;background:#e4e3dc}
.training-visual img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .65s ease}
.training-visual-frauen img{object-position:center 5%}
.training-visual-kids img{object-position:center}
.training-visual-msd img{object-position:center 45%}
.training-visual-bjj img{object-position:center 86%}
.training-visual figcaption{position:absolute;bottom:14px;left:14px;right:14px;width:fit-content;max-width:calc(100% - 28px);background:#101111e8;color:var(--paper);padding:7px 11px;font-size:11px;line-height:1.6}
.training-visual figcaption a{text-decoration:underline;text-underline-offset:3px}
.training-row:nth-child(even) .training-visual{grid-column:1;grid-row:1}
.training-row:nth-child(even) .training-copy{grid-column:2;grid-row:1}
.detail-image-bjj{position:relative}
.detail-image-bjj img{object-position:center 85%;filter:none}
.detail-image-bjj .image-credit{position:absolute;bottom:14px;left:14px;right:14px;background:#101111e8;color:var(--paper);padding:8px 12px;font-size:11px;line-height:1.7}
.detail-image-bjj .image-credit a{text-decoration:underline}
@media(hover:hover) and (pointer:fine){.training-visual:hover img{transform:scale(1.025)}}
@media(min-width:761px) and (max-width:1050px){.training-row{gap:35px;padding-block:45px}.training-visual{aspect-ratio:auto;height:520px}.training-copy h3{font-size:50px}.training-kicker{font-size:11px;letter-spacing:.06em}.training-copy>p:not(.training-lead){font-size:15px}.training-copy .text-link{font-size:13px}}
@media(max-width:760px){.training-list{margin-top:35px}.training-row{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:36px}.training-row .training-visual,.training-row:nth-child(even) .training-visual{grid-column:1;grid-row:1}.training-row .training-copy,.training-row:nth-child(even) .training-copy{grid-column:1;grid-row:2;padding:0}.training-visual{aspect-ratio:1.15}.training-copy h3{font-size:clamp(44px,10.5vw,64px)}.training-kicker{font-size:11px;margin-bottom:14px;letter-spacing:.06em}.training-copy .training-lead{font-size:31px;margin-top:20px}.training-copy>p:not(.training-lead){font-size:15px;max-width:50ch}.training-copy .text-link{margin-top:12px}.training-audience{margin-top:20px}.training-visual figcaption{bottom:10px;left:10px;right:10px;font-size:10px;padding:6px 9px;max-width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@font-face{font-family:'Rubik Dirt';src:url('/assets/rubik-dirt.ttf') format('truetype');font-weight:400;font-display:swap}
.ss-header{background:#000;color:#fff;position:relative;z-index:30}
.ss-masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:146px;padding-block:12px}
.ss-brand{display:block;width:204px;height:132px;overflow:hidden;position:relative}
.ss-brand img{width:204px;height:204px;max-width:none;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.ss-social{display:flex;gap:18px;align-items:center}
.ss-social a{width:42px;height:42px;display:grid;place-items:center;color:#d4d4cf;transition:color .2s}
.ss-social a:hover{color:var(--red)}
.ss-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ss-social .icon-dot{fill:currentColor;stroke:none}
.ss-tools{display:flex;align-items:center;gap:15px;justify-self:end}
.language-switch{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.09em}
.language-switch a{display:grid;place-items:center;min-width:38px;min-height:42px;color:#989992;position:relative}
.language-switch a:hover,.language-switch a[aria-current]{color:white}
.language-switch a[aria-current]:after{content:'';position:absolute;bottom:4px;left:10px;right:10px;height:2px;background:var(--red)}
.language-switch>span{color:#54544d}
.ss-nav{display:flex;justify-content:center;gap:clamp(20px,3vw,48px);padding:13px 24px 20px;border-top:1px solid #ffffff10}
.ss-nav a{font-size:13px;font-weight:700;position:relative;padding:8px 0;white-space:nowrap;color:#dcdcd8}
.ss-nav a:after{content:'';position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.ss-nav a:hover:after,.ss-nav a[aria-current]:after{transform:scaleX(1)}
.ss-nav a:hover,.ss-nav a[aria-current]{color:white}
.ss-header .menu-toggle{display:none}
.ss-header .mobile-nav{background:#101111}
.ss-hero{background:#050505;color:white;padding-top:2px}
.ss-hero-stage{position:relative;isolation:isolate;aspect-ratio:1600/766;max-width:1920px;margin-inline:auto;overflow:hidden}
.ss-hero-photo{display:block;width:100%;height:100%}
.ss-hero-photo img{width:100%;height:100%;object-fit:cover}
.ss-hero-title{position:absolute;top:25.5%;left:35.7%;width:29.5%;margin:0;color:#fff;font:400 clamp(34px,5.5vw,105px)/1.06 'Rubik Dirt',Impact,sans-serif;letter-spacing:-.025em;text-align:center}
.grow-word{display:block;transform-origin:center;animation:grow-reveal .95s cubic-bezier(.18,.7,.2,1) both;transition:color .25s}
.grow-word:nth-child(2){animation-delay:.15s}
.grow-word:nth-child(3){text-align:left;animation-delay:.3s}
.grow-word:nth-child(4){text-align:right;animation-delay:.45s;position:relative}
.grow-word:nth-child(4):after{content:'';position:absolute;bottom:-.09em;left:27%;right:0;height:.035em;background:var(--red);transform-origin:left;animation:grow-underline .65s 1.1s both}
.hero-scroll{position:absolute;left:calc(50% - 20px);bottom:22px;width:40px;height:44px;display:grid;place-items:center;border:1px solid #ffffff45;border-radius:50%;font-size:20px;background:#0005;color:#fff;transition:background .25s}
.hero-scroll:hover{background:var(--red);color:#111}
.ss-hero-contact{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-block:22px;color:#c2c3bc;font-size:12px;border-top:1px solid #ffffff15}
.ss-hero-contact a{display:inline-flex;gap:16px;align-items:center;min-height:30px}
.ss-hero-contact a:hover{color:white}
.ss-hero-mantra{font-size:10px;font-weight:700;letter-spacing:.14em;color:#989a92}
.ss-footer-brand{display:block;width:190px;height:140px;position:relative;overflow:hidden;margin-bottom:20px}
.ss-footer-brand img{position:absolute;width:210px;height:210px;max-width:none;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%)}
.footer-main>div>a.ss-footer-brand{width:190px}
.ss-header .mobile-nav a[aria-current]{color:var(--red)}
@keyframes grow-reveal{from{opacity:0;transform:translateY(24px) scale(.94);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes grow-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(hover:hover) and (pointer:fine){.grow-word:hover{color:var(--red)}}
@media(min-width:1921px){.ss-hero-title{font-size:105px}}
@media(max-width:1050px){.ss-nav{gap:25px}.ss-nav a{font-size:12px}.ss-hero-mantra{display:none}.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(max-width:760px){.ss-masthead{grid-template-columns:1fr auto 1fr;min-height:110px;padding:4px 18px}.ss-brand{width:142px;height:108px}.ss-brand img{width:157px;height:157px}.ss-masthead>.ss-social{gap:0}.ss-masthead .ss-social a{width:28px;height:40px}.ss-masthead .ss-social svg{width:17px;height:17px}.ss-tools{gap:3px}.language-switch{gap:0;font-size:10px}.language-switch a{min-width:28px}.language-switch a[aria-current]:after{left:7px;right:7px}.ss-header .menu-toggle{display:block;width:36px;padding:7px}.ss-nav{display:none}.ss-hero-stage{aspect-ratio:1.26}.ss-hero-photo img{object-fit:cover;object-position:52% center}.ss-hero-title{top:30%;left:29%;width:43%;font-size:clamp(32px,7.6vw,58px);line-height:1.1;text-shadow:0 2px 12px #000}.ss-hero-title:before{content:'';position:absolute;z-index:-1;inset:-18px -12px;background:#0008;filter:blur(18px)}.ss-hero-contact{font-size:11px;gap:8px;flex-wrap:wrap;padding-block:14px;justify-content:center}.ss-hero-contact a{min-height:28px;gap:10px}.hero-scroll{bottom:12px;width:32px;height:36px;left:calc(50% - 16px);font-size:16px}.partner-section{padding-bottom:30px}.partner-logos{gap:12px}.partner-logos>a,.partner-logos>div{height:95px;padding:10px}.partner-logos img{max-height:75px}.ss-footer-brand{margin:0}.footer-main>div:first-child{gap:10px}}
@media(max-width:760px){.ss-hero-stage{aspect-ratio:1.7}.ss-hero-photo img{object-position:50% center}.ss-hero-title{top:25%;left:34%;width:32%;font-size:6vw}.ss-hero-title:before{display:none}.hero-scroll{width:28px;height:30px;left:calc(50% - 14px);bottom:8px;font-size:14px}}
@media(max-width:390px){.ss-masthead{padding-inline:12px}.ss-masthead>.ss-social a:nth-child(2){display:none}.ss-brand{width:120px}.ss-brand img{width:144px;height:144px}.ss-tools{gap:0}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.grow-word,.grow-word:nth-child(4):after{animation:none;opacity:1;transform:none;filter:none}.ss-hero-photo img,.ss-nav a:after,.partner-logos>a{transition:none}}

.site-footer{background:#000}

/* Editorial accents keep supporting copy distinct from the bold course names. */
.title-accent{color:var(--red-dark)}
.section-heading .eyebrow,.schedule-teaser .eyebrow,.faq-section .eyebrow,.page-intro>.eyebrow{color:var(--red-dark);font-size:11px;letter-spacing:.15em;gap:12px}
.section-heading .eyebrow:before,.schedule-teaser .eyebrow:before,.faq-section .eyebrow:before,.page-intro>.eyebrow:before{content:'';width:24px;height:2px;flex:none;background:currentColor}
.training-kicker{display:flex;align-items:center;gap:13px;max-width:100%;font-size:11px;letter-spacing:.13em;line-height:1.6;margin-bottom:23px}
.kicker-number{display:grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid #b9241938;font-size:11px;font-weight:700;letter-spacing:.02em}
.training-copy .training-lead{font-family:var(--body);font-size:clamp(22px,2.05vw,29px);font-weight:400;line-height:1.4;letter-spacing:-.035em;margin:25px 0 23px;padding-left:19px;border-left:2px solid var(--red);color:#666862}
.training-lead>span,.training-lead>strong{display:block}
.training-lead>strong{color:var(--ink);font-weight:700}
.section-heading>p{font-size:17px;line-height:1.85;padding-left:22px;border-left:2px solid #b9241940}
.page-intro .lead{padding-left:22px;border-left:2px solid var(--red);color:#53554e}
.training-visual-bjj img,.detail-image-bjj img{object-position:50% 67%}

/* A shared gallery gives the network its own clear place in the footer. */
.network-section{padding:64px 0 68px;border-top:1px solid #ffffff1c;background:radial-gradient(ellipse at 0 0,#ed3b2d0c,transparent 65%),#090a0a}
.network-heading{display:grid;grid-template-columns:1fr minmax(240px,390px);align-items:end;gap:36px;margin-bottom:32px}
.network-kicker{color:#c7c7c0;font-size:10px;letter-spacing:.16em;gap:12px;margin-bottom:15px}
.network-kicker:before{content:'';width:24px;height:2px;flex:none;background:var(--red)}
.network-heading h2{font-size:clamp(42px,4.4vw,66px);letter-spacing:-.015em;line-height:1.04}
.network-heading h2>span{color:var(--red)}
.network-heading p{color:#a6a8a0;font-size:14px;line-height:1.8;max-width:39ch;padding-bottom:3px}
.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.network-partner{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #ffffff1c;background:#101111;transition:border-color .25s,transform .25s}
.network-logo{height:163px;display:flex;align-items:center;justify-content:center;padding:25px;background:#f4f3ef}
.network-logo img{max-width:190px;width:auto;max-height:113px;height:auto;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s}
.network-partner-dark .network-logo{background:#101111}
.network-partner-dark .network-logo img{mix-blend-mode:normal;max-width:210px}
.network-partner-breathe .network-logo{background:#1a1a1a}
.network-caption{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-top:1px solid #ffffff14;color:#e4e5df;font-size:12px;font-weight:700;line-height:1.5}
.network-arrow{color:#b8bab1;font-size:18px;line-height:1;transition:color .25s,transform .25s}
.network-mark{width:5px;height:5px;border-radius:50%;background:#676a61;flex:none}
.network-partner:focus-visible{outline-offset:4px}
@media(hover:hover) and (pointer:fine){a.network-partner:hover{border-color:var(--red);transform:translateY(-3px)}a.network-partner:hover .network-logo img{transform:scale(1.04)}a.network-partner:hover .network-arrow{color:var(--red);transform:translate(2px,-2px)}}
@media(max-width:1050px){.network-heading{grid-template-columns:1fr 1fr}.network-grid{gap:14px}.network-logo{height:150px;padding:22px}.network-logo img{max-width:100%;max-height:106px}.network-partner-dark .network-logo img{max-width:100%}}
@media(max-width:760px){.training-kicker{font-size:10px;letter-spacing:.09em;gap:11px}.training-copy .training-lead{font-size:25px;margin:21px 0;padding-left:16px}.section-heading>p{font-size:15px;padding-left:18px}.page-intro .lead{padding-left:18px}.network-section{padding-block:40px}.network-heading{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.network-heading h2{font-size:48px}.network-heading p{font-size:13px;max-width:38ch}.network-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.network-logo{height:131px;padding:18px}.network-logo img{max-height:95px}.network-caption{padding:11px 12px;font-size:11px;min-height:47px;gap:8px}}
@media(max-width:360px){.network-heading h2{font-size:43px}.network-logo{height:116px;padding:15px}.network-logo img{max-height:86px}.network-caption{padding-inline:9px;font-size:10px}.training-copy .training-lead{font-size:23px}}
@media(prefers-reduced-motion:reduce){.network-partner,.network-logo img,.network-arrow{transition:none}a.network-partner:hover,a.network-partner:hover .network-logo img,a.network-partner:hover .network-arrow{transform:none}}

/* 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:1345/1169;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}}

/* October 2 performance: original hero letters are an image, not Rubik glyphs. */
.ss-hero-title.hero-original-title{font-family:var(--display)}
