@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}}
