:root{--red:#e31b23;--black:#050505;--panel:#101010;--panel2:#171717;--white:#f7f7f7;--muted:#aaa;--line:#2b2b2b;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.header{position:sticky;top:0;z-index:20;background:#000;border-bottom:1px solid #222}
.brand-strip{background:linear-gradient(180deg,#050505,#0b0b0b);border-bottom:1px solid #202020}
.brand-strip-inner{min-height:152px;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 0}
.brand-lockup{display:flex;align-items:center;min-width:0}
.brand-logo{width:126px;height:126px;object-fit:contain;flex:0 0 auto}
.brand-divider{width:2px;height:104px;background:var(--red);margin:0 28px 0 24px;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;line-height:.94;min-width:0;text-transform:uppercase}
.brand-copy b{font-size:clamp(34px,4vw,58px);font-weight:900;letter-spacing:.025em;color:#fff;white-space:nowrap}
.brand-copy strong{font-size:clamp(19px,2.35vw,34px);font-weight:900;letter-spacing:.035em;color:var(--red);margin-top:8px;white-space:nowrap}
.brand-copy small{font-size:clamp(13px,1.55vw,22px);font-weight:900;letter-spacing:.55em;color:#fff;margin-top:11px;padding-left:.16em;white-space:nowrap}
.brand-tagline{border-left:1px solid #393939;padding-left:32px;min-width:170px;display:flex;flex-direction:column;font-style:italic;font-weight:900;font-size:24px;line-height:1.02;letter-spacing:.02em}
.brand-tagline span,.brand-tagline strong{display:block}.brand-tagline strong{color:var(--red);font-size:31px}
.nav-bar{background:#0c0c0c}
.nav{min-height:68px;display:flex;align-items:center;justify-content:flex-end;position:relative}
nav{width:100%;display:flex;gap:34px;align-items:center;font-weight:800;font-size:13px;text-transform:uppercase}
nav a{padding:25px 0 21px;border-bottom:3px solid transparent}
nav a:hover{color:var(--red);border-bottom-color:var(--red)}
nav .trial{margin-left:auto;background:var(--red);padding:13px 20px;border-radius:999px;border-bottom:0;color:#fff}
nav .trial:hover{color:#fff;border-bottom:0;filter:brightness(1.08)}
.menu{display:none;background:transparent;color:white;border:1px solid #333;border-radius:3px;font-size:25px;padding:6px 10px}
.hero{min-height:670px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.80) 42%,rgba(0,0,0,.23) 72%,rgba(0,0,0,.5) 100%),url('assets/hero.jpg') center/cover no-repeat;filter:contrast(1.07) saturate(.85)}.hero-inner{position:relative;z-index:2}.hero-copy{max-width:720px;padding:90px 0}.eyebrow,.section-title span{color:var(--red);font-weight:900;letter-spacing:.16em;font-size:12px}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.93;letter-spacing:-.045em;margin:14px 0 26px}.hero h1 em{font-style:normal;color:var(--red)}.hero p{font-size:19px;color:#ddd;max-width:630px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:3px;padding:14px 21px;font-weight:900;font-size:13px;cursor:pointer}.red{background:var(--red);color:white}.outline{border:1px solid #777}.benefits{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#090909}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}.benefit-grid div{padding:25px 22px;border-right:1px solid var(--line)}.benefit-grid div:last-child{border-right:0}.benefit-grid b{display:block;font-size:13px}.benefit-grid span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.section{padding:90px 0}.section-title h2{font-size:clamp(36px,4vw,57px);line-height:1.02;margin:8px 0 36px;letter-spacing:-.035em}.section-title.center{text-align:center}.programs{background:#050505}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:var(--panel);overflow:hidden}.card .photo{height:210px;background-position:center;background-size:cover;filter:grayscale(100%) contrast(1.05);transition:.25s}.card:hover .photo{filter:grayscale(20%) contrast(1.05)}.p1{background-image:url('assets/training1.jpg')}.p2{background-image:url('assets/training2.jpg')}.p3{background-image:url('assets/competition1.jpg')}.p4{background-image:url('assets/BJJ&Grappling.jpg')}.p5{background-image:url('assets/competition1.jpg')}.p6{background-image:url('assets/members.jpg')}.p7{background-image:url('assets/coach.jpg')}.p8{background-image:url('assets/hero.jpg')}.card h3,.card p,.card a{margin-left:22px;margin-right:22px}.card h3{font-size:25px;margin-top:20px;margin-bottom:8px}.card p{color:#bbb;min-height:70px}.card a{display:inline-block;margin-bottom:22px;color:var(--red);font-weight:900;font-size:12px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about{background:#0c0c0c}.about-image img,.contact-photo img{width:100%;height:520px;object-fit:cover;display:block;filter:contrast(1.05)}.about-copy p{color:#bbb;font-size:18px}.about-copy ul{padding-left:20px;color:#ddd;margin:26px 0}.about-copy li{margin:10px 0}.gallery{background:#050505}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-grid img{width:100%;height:300px;object-fit:cover;display:block;filter:saturate(.85) contrast(1.05)}.schedule{background:#0d0d0d}.schedule-grid{align-items:start}.schedule p{color:#aaa;font-size:18px}.schedule-card{background:#151515;border:1px solid var(--line);padding:28px}.schedule-card div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #333}.schedule-card b{color:var(--red)}.full{width:100%;margin-top:22px}.cta{background:linear-gradient(110deg,#250000,#7d080c 55%,#1b0000)}.cta h2{font-size:clamp(40px,5vw,65px);margin:8px 0}.cta p{font-size:18px;color:#eee}.lead-form{display:grid;gap:12px;background:#090909;padding:26px}.lead-form input,.lead-form select{background:#171717;border:1px solid #363636;color:white;padding:14px;font:inherit}.lead-form small{color:#888}.contact{background:#070707}.contact a{font-weight:900}.note{color:#888}.contact-photo img{height:400px}footer{border-top:2px solid var(--red);padding:0;background:#000}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .45fr;gap:44px;align-items:center;padding:28px 0 22px}
.footer-brand{display:flex;align-items:center;min-width:0}.footer-brand img{width:88px;height:88px;object-fit:contain;flex:0 0 auto}.footer-divider{display:block;width:2px;height:76px;background:var(--red);margin:0 20px}.footer-brand-copy{display:flex;flex-direction:column;text-transform:uppercase;line-height:.95}.footer-brand-copy b{font-size:29px;letter-spacing:.025em;color:white}.footer-brand-copy strong{font-size:17px;color:var(--red);letter-spacing:.035em;margin-top:6px}.footer-brand-copy small{font-size:10px;color:white;font-weight:900;letter-spacing:.48em;margin-top:8px}
.footer-contact{display:flex;flex-direction:column;gap:5px;color:#bbb;font-size:13px}.footer-contact>strong{color:#fff;margin-bottom:4px;letter-spacing:.08em}.footer-contact a:hover{color:var(--red)}
.footer-tagline{border-left:1px solid #333;padding-left:27px;font-weight:900;font-style:italic;font-size:20px;line-height:1.05}.footer-tagline span,.footer-tagline strong{display:block}.footer-tagline strong{color:var(--red);font-size:26px}
.footer-bottom{border-top:1px solid #242424;padding:14px 0 18px;color:#777;font-size:11px;text-align:center}
@media(max-width:1050px){
  .brand-strip-inner{min-height:126px}.brand-logo{width:102px;height:102px}.brand-divider{height:86px;margin-left:19px;margin-right:22px}.brand-tagline{font-size:19px;min-width:135px;padding-left:22px}.brand-tagline strong{font-size:25px}
  nav{gap:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-tagline{grid-column:1/-1;border-left:0;border-top:1px solid #333;padding:16px 0 0;flex-direction:row;gap:8px;display:flex}.footer-tagline strong{font-size:20px}
}
@media(max-width:900px){
  .brand-strip-inner{min-height:100px;padding:10px 0}.brand-logo{width:80px;height:80px}.brand-divider{height:68px;margin:0 16px}.brand-copy b{font-size:27px}.brand-copy strong{font-size:16px;margin-top:5px}.brand-copy small{font-size:10px;margin-top:7px}.brand-tagline{display:none}
  .nav{min-height:58px;justify-content:flex-end}.menu{display:block}nav{display:none;position:absolute;top:58px;left:-18px;right:-18px;width:auto;background:#050505;padding:12px 20px 20px;flex-direction:column;align-items:stretch;border-bottom:1px solid #222;gap:0;box-shadow:0 16px 30px rgba(0,0,0,.35)}nav.open{display:flex}nav a{padding:13px 4px;border-bottom:1px solid #222}nav .trial{margin:14px 0 0;text-align:center;padding:14px 20px;border-bottom:0}.benefit-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:35px}.gallery-grid{grid-template-columns:1fr 1fr}.hero{min-height:620px}.hero-copy{padding:75px 0}
}
@media(max-width:650px){
  .brand-strip-inner{min-height:84px}.brand-logo{width:64px;height:64px}.brand-divider{height:54px;margin:0 11px}.brand-copy b{font-size:21px}.brand-copy strong{font-size:11px;letter-spacing:.02em}.brand-copy small{font-size:8px;letter-spacing:.37em}.container{width:min(var(--max),calc(100% - 26px))}
  .benefit-grid,.cards,.gallery-grid{grid-template-columns:1fr}.benefit-grid div{border-right:0;border-bottom:1px solid var(--line)}.hero h1{font-size:49px}.hero p{font-size:16px}.section{padding:65px 0}.about-image img,.contact-photo img{height:340px}.gallery-grid img{height:240px}
  .footer-grid{grid-template-columns:1fr;gap:24px;align-items:start}.footer-brand img{width:70px;height:70px}.footer-divider{height:60px;margin:0 14px}.footer-brand-copy b{font-size:22px}.footer-brand-copy strong{font-size:13px}.footer-brand-copy small{font-size:8px}.footer-tagline{grid-column:auto}.footer-bottom{text-align:left}
}

/* Full weekly schedule */
.schedule{background:#0d0d0d}
.schedule .section-title{margin-bottom:26px}
.schedule-intro{max-width:720px;margin:-20px auto 34px;color:#aaa;font-size:16px;text-align:center}
.schedule-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);background:#090909}
.schedule-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}
.schedule-table th,.schedule-table td{border-right:1px solid #303030;border-bottom:1px solid #303030;padding:18px 14px;text-align:center;vertical-align:middle}
.schedule-table thead th{background:var(--red);color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.schedule-table thead th:first-child{background:#8f1116}
.schedule-table tbody th{background:#151515;color:var(--red);font-size:13px;white-space:nowrap;width:105px}
.schedule-table tbody td{background:#0c0c0c;color:#777;font-size:14px}
.schedule-table tbody tr:nth-child(even) td{background:#111}
.schedule-table td strong{display:block;color:#fff;font-size:14px;line-height:1.35}
.schedule-table td small{display:block;margin-top:6px;color:#ff777c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.schedule-table th:last-child,.schedule-table td:last-child{border-right:0}
.schedule-note{margin:15px 0 0;color:#777;font-size:12px;text-align:right}
@media(max-width:760px){
  .schedule-table-wrap{
    margin-left:calc((100vw - 100%)/-2);
    margin-right:calc((100vw - 100%)/-2);
    width:100vw;
    border-left:0;
    border-right:0;
  }
  .schedule-table th,.schedule-table td{padding:15px 12px}
  .schedule-note{text-align:left}
}

/* Program detail pages */
.program-hero{min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.program-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 44%,rgba(0,0,0,.35) 72%,rgba(0,0,0,.62) 100%),url('assets/training2.jpg') center/cover no-repeat;filter:contrast(1.08) saturate(.82)}
.program-hero-inner{position:relative;z-index:2;padding:85px 0;max-width:760px}
.program-hero h1{font-size:clamp(48px,6.6vw,84px);line-height:.94;letter-spacing:-.045em;margin:14px 0 24px}
.program-hero h1 em{font-style:normal;color:var(--red)}
.program-hero p{max-width:680px;color:#ddd;font-size:19px}
.program-overview{background:#090909}
.program-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.program-copy>p{font-size:18px;color:#c2c2c2;max-width:760px}
.program-list{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.program-list li{position:relative;background:#111;border:1px solid #292929;padding:15px 16px 15px 42px;color:#eee;font-weight:700}
.program-list li:before{content:'✓';position:absolute;left:16px;color:var(--red);font-weight:900}
.program-panel{background:#121212;border:1px solid var(--line);padding:28px}
.program-panel h3{font-size:26px;margin:0 0 18px}
.program-panel p{color:#aaa;margin:0 0 18px}
.program-fit{background:#050505}
.program-fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.program-fit-card{border:1px solid var(--line);background:#101010;padding:26px}
.program-fit-card b{display:block;color:var(--red);font-size:12px;letter-spacing:.13em;margin-bottom:10px}
.program-fit-card h3{font-size:23px;margin:0 0 10px}
.program-fit-card p{color:#aaa;margin:0}
.program-schedule{background:#0d0d0d}
.program-times{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:840px;margin:0 auto}
.program-time{border:1px solid #333;background:#101010;padding:24px;text-align:center}
.program-time span{display:block;color:#aaa;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.program-time strong{display:block;color:#fff;font-size:25px;margin-top:5px}
.program-time small{display:block;color:var(--red);font-size:13px;font-weight:900;margin-top:6px}
.program-cta{text-align:center;background:linear-gradient(110deg,#220000,#76080d 55%,#1b0000)}
.program-cta h2{font-size:clamp(38px,5vw,60px);margin:8px 0 14px}
.program-cta p{max-width:650px;margin:0 auto 25px;color:#eee;font-size:18px}
.program-back{display:inline-block;margin-top:20px;color:#bbb;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.program-back:hover{color:var(--red)}
@media(max-width:900px){.program-layout{grid-template-columns:1fr;gap:30px}.program-fit-grid{grid-template-columns:1fr}.program-hero{min-height:500px}.program-hero-inner{padding:65px 0}}
@media(max-width:650px){.program-list,.program-times{grid-template-columns:1fr}.program-hero h1{font-size:47px}.program-hero p{font-size:16px}.program-panel{padding:22px}}

/* Free trial lead form */
.lead-form label{display:grid;gap:7px}
.lead-form label>span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#bbb}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;box-sizing:border-box;background:#171717;border:1px solid #363636;color:white;padding:14px;font:inherit;border-radius:0}
.lead-form textarea{resize:vertical;min-height:108px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.lead-form option{background:#171717;color:#fff}
.lead-form .form-note{color:#888;line-height:1.45}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
/* Header association logos */

.header-affiliations {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    margin-left: auto;
    margin-right: 35px;
}

.header-affiliations img {
    width: 88px;
    height: 88px;

    object-fit: contain;
    
    background: #fff;
    border-radius: 50%;

    padding: 3px;

    transition: transform 0.2s ease;
}
@media (max-width: 800px) {

    /* Main header row */
    .header-brand-row {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding: 12px 15px;
        gap: 10px;
    }

    /* Main CKBA branding */
    .brand {
        flex: 1;
        min-width: 0;
    }

    /* Association logos go onto their own row */
    .header-affiliations {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;

        gap: 18px;

        margin: 8px 0 0 0;
    }

    .header-affiliations img {
        width: 55px;
        height: 55px;
        object-fit: contain;
    }

    /* Slogan isn't necessary in mobile header */
    .header-tagline {
        display: none;
    }

}

.header-affiliations img:hover {
    transform: scale(1.07);
}
