:root{--red:#e20b17;--paper:#f4f3f0;--ink:#111}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.header{height:94px;position:sticky;top:0;z-index:50;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#070707;color:#fff;border-bottom:1px solid #222}.brand{display:flex;align-items:center;gap:15px}.logo{width:62px;height:72px;object-fit:contain}.brandtxt{display:flex;flex-direction:column}.brandtxt strong{font-size:24px;line-height:1;font-weight:950}.brandtxt small{font-size:9px;letter-spacing:2.6px;color:#aaa;margin-top:5px;font-weight:700}.nav{display:flex;gap:28px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.nav a{opacity:.62}.nav a.active,.nav a:hover{opacity:1}.hero{min-height:calc(100vh - 94px);position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url('/assets/hero-montage.png');background-size:cover;background-position:center 52%;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.63) 48%,rgba(226,11,23,.18))}.hero-copy{position:relative;z-index:2;max-width:880px;padding:8vh 7vw}.eyebrow,.kicker{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:3px}.eyebrow:before,.kicker:before{content:"";display:inline-block;width:38px;height:3px;background:var(--red);margin-right:12px;vertical-align:middle}.hero h1,.subhero h1{font-size:clamp(68px,10vw,150px);line-height:.79;letter-spacing:-.075em;margin:22px 0;font-weight:950}.hero h1 span,.section h2 span,.darksec h2 span{color:var(--red)}.hero h2{font-size:clamp(17px,2vw,28px);letter-spacing:4px}.hero p{max-width:650px;font-size:17px;line-height:1.7;color:#ddd}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;padding:17px 22px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.btn-red{background:var(--red)}.btn-line{border:1px solid #999}.btn-white{background:#fff;color:#111}.section{padding:95px 7vw}.section h2,.darksec h2{font-size:clamp(48px,6vw,88px);line-height:.92;letter-spacing:-.055em;text-transform:uppercase;margin:25px 0}.twocol{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw}.lead{font-size:22px;line-height:1.5;font-weight:700}.copy{line-height:1.7;color:#444}.home-gallery{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:260px 260px;gap:14px;margin-top:48px}.home-gallery figure{margin:0;overflow:hidden;background:#ddd}.home-gallery figure:first-child{grid-row:1/3}.home-gallery img{width:100%;height:100%;object-fit:cover}.band{background:var(--red);color:#fff;padding:32px 7vw;display:flex;justify-content:space-between;gap:25px;align-items:center}.band strong{font-size:clamp(30px,4vw,58px)}.band span{font-size:10px;letter-spacing:3px;font-weight:900}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}.card{background:#fff;border:1px solid #ddd;padding:29px;min-height:300px;display:flex;flex-direction:column}.card.dark{background:#0b0b0b;color:#fff;border-color:#0b0b0b}.card h3{font-size:27px;text-transform:uppercase;margin:52px 0 12px}.card p{line-height:1.6;color:#666}.card.dark p{color:#aaa}.card .more{margin-top:auto;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.cta{background:var(--red);color:#fff;padding:60px 7vw;display:flex;align-items:center;justify-content:space-between}.cta h2{font-size:clamp(38px,6vw,78px);text-transform:uppercase;margin:0;letter-spacing:-.05em}.subhero{padding:100px 7vw 82px;background:radial-gradient(circle at 78% 25%,#333,#111 46%,#050505);color:#fff}.subhero p:last-child{max-width:760px;line-height:1.7;color:#ccc;font-size:17px}.infobox{background:#0b0b0b;color:#fff;padding:34px}.infobox h3{font-size:28px}.hours{font-size:30px!important;font-weight:900!important;color:#fff!important;line-height:1.4!important}.note{margin-top:30px;padding:24px 28px;background:#fff;border-left:6px solid var(--red);line-height:1.65}.jump{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-bottom:1px solid #ddd}.jump a{padding:22px 7vw;border-right:1px solid #ddd}.jump b,.jump span{display:block}.jump span{font-size:11px;color:#777;margin-top:4px}.training-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:40px}.train{background:#fff;border:1px solid #ddd;padding:24px}.badge{display:inline-block;padding:7px 11px;background:#080808;color:#fff;font-size:12px;font-weight:900}.train h3{font-size:25px;text-transform:uppercase}.train dl{margin:0}.train dl div{display:grid;grid-template-columns:92px 1fr;gap:10px;border-top:1px solid #eee;padding:9px 0}.train dt{font-size:10px;font-weight:900;text-transform:uppercase;color:#888}.train dd{margin:0;font-weight:800}.darksec{background:#0b0b0b;color:#fff;padding:95px 7vw}.darksec .train{color:#111}.venues{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.venue{background:#fff;border:1px solid #ddd;overflow:hidden}.venue img{width:100%;height:300px;object-fit:cover}.venue-body{padding:28px}.venue h3{font-size:30px;text-transform:uppercase;margin:0 0 12px}.venue address{font-style:normal;line-height:1.6;color:#555}.venue .cats{margin-top:18px;padding-top:18px;border-top:1px solid #eee;font-weight:700}.footer{background:#070707;color:#fff;padding:55px 7vw 25px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;font-size:12px}.footer p{color:#888}.footer .copyline{grid-column:1/-1;border-top:1px solid #222;padding-top:20px;color:#666}@media(max-width:900px){.nav{display:flex.twocol,.cards,.training-grid,.venues,.footer{grid-template-columns:1fr}.home-gallery{grid-template-columns:1fr;grid-template-rows:300px 230px 230px}.home-gallery figure:first-child{grid-row:auto}.jump{grid-template-columns:1fr}.band,.cta{display:block}.cta .btn{margin-top:24px}}@media(max-width:620px){.header{height:82px;padding:0 20px}.logo{width:50px;height:60px}.brandtxt strong{font-size:20px}.hero-copy,.section,.darksec,.subhero{padding-left:22px;padding-right:22px}.hero h1{font-size:58px}.subhero h1{font-size:clamp(36px,10.5vw,52px);line-height:.9;letter-spacing:-.06em;overflow-wrap:anywhere}.hero h2{font-size:15px;letter-spacing:2px}.btn{width:100%;justify-content:space-between}.section h2,.darksec h2{font-size:44px}.home-gallery{grid-template-rows:240px 200px 200px}.train dl div{grid-template-columns:72px 1fr}.venue img{height:210px}.footer{padding-left:22px;padding-right:22px}}
.shop-partner{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:center;margin-top:30px}
.shop-logo{background:#fff;border:1px solid #ddd;padding:30px;display:flex;align-items:center;justify-content:center;min-height:220px}
.shop-logo img{max-width:100%;max-height:120px}
.shop-text{background:#fff;border:1px solid #ddd;padding:30px}
.shop-text h3{font-size:28px;text-transform:uppercase;margin:0 0 14px}
.shop-text p{line-height:1.7;color:#555;margin:0 0 14px}
.shop-soon{display:inline-block;margin-top:10px;padding:12px 16px;background:#0b0b0b;color:#fff;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
@media(max-width:900px){.shop-partner{grid-template-columns:1fr}}

.whatsapp-link{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;background:#25D366;color:#fff!important;border-radius:3px;font-weight:900;font-size:12px;letter-spacing:.3px}.whatsapp-link svg{width:22px;height:22px;flex:0 0 22px}.footer-whatsapp{margin-top:12px!important}.footer-whatsapp a{display:inline-flex;align-items:center;gap:8px;color:#fff}.footer-whatsapp svg{width:19px;height:19px;color:#25D366;flex:0 0 19px}

.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer;z-index:90;padding:0}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;transition:.25s ease}.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media(max-width:900px){.menu-toggle{display:flex}.nav{display:flex!important;position:fixed;top:94px;left:0;right:0;bottom:0;background:#070707;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateX(100%);transition:transform .25s ease;z-index:80}.nav.open{transform:translateX(0)}.nav a{font-size:18px;opacity:1}body.menu-open{overflow:hidden}}@media(max-width:620px){.nav{top:82px}}

.subhero{overflow:hidden}
@media(max-width:620px){
  html,body{max-width:100%;overflow-x:hidden}
  .subhero h1{max-width:100%}
  .section,.darksec,.subhero,.footer{min-width:0}
  .twocol,.cards,.training-grid,.venues,.home-gallery,.shop-partner{min-width:0}
  .train,.venue,.card,.infobox,.shop-text,.shop-logo{min-width:0}
  .train dd,.copy,.lead,.contact-lines,.footer p,.footer a{overflow-wrap:anywhere}
  .footer-whatsapp a{flex-wrap:wrap}
}


/* RESPONSIVE FIX 2026-09-28 */
@media (max-width:900px){
  .menu-toggle{display:flex}
  .nav{
    display:flex!important;
    position:fixed;
    top:94px;
    left:0;
    right:0;
    bottom:0;
    background:var(--red)!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:30px;
    padding:32px 24px;
    transform:translateX(100%);
    transition:transform .25s ease;
    z-index:80;
  }
  .nav.open{transform:translateX(0)}
  .nav a{
    font-size:20px;
    line-height:1.2;
    color:#fff;
    opacity:1;
  }
  body.menu-open{overflow:hidden}

  .twocol,
  .cards,
  .training-grid,
  .venues,
  .shop-partner{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px;
  }

  .footer{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px;
  }

  .jump{grid-template-columns:minmax(0,1fr)!important}
  .jump a{border-right:0;border-bottom:1px solid #ddd}

  .home-gallery{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
  }
  .home-gallery figure:first-child{grid-row:auto!important}
  .home-gallery figure{min-height:240px}
  .home-gallery img{height:100%;min-height:240px}

  .band,.cta{display:block}
  .cta .btn{margin-top:24px}

  .venue{
    width:100%;
    min-width:0;
  }
  .venue img{height:auto;max-height:none}
  .venue-body{padding:24px}
  .venue h3{
    font-size:clamp(30px,7vw,42px);
    line-height:.96;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
  }
  .venue address{
    font-size:18px;
    line-height:1.55;
    overflow-wrap:normal;
    word-break:normal;
  }

  .train,.card,.infobox,.shop-text,.shop-logo{
    width:100%;
    min-width:0;
  }

  .footer .brand{
    align-items:center;
  }
  .footer .copyline{
    grid-column:1!important;
  }
}

@media (max-width:620px){
  html,body{max-width:100%;overflow-x:hidden}
  .header{height:82px;padding:0 18px}
  .nav{top:82px}

  .hero-copy,
  .section,
  .darksec,
  .subhero{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .section{padding-top:64px;padding-bottom:64px}
  .darksec{padding-top:64px;padding-bottom:64px}
  .subhero{padding-top:72px;padding-bottom:58px}

  .twocol{gap:18px}
  .section h2,.darksec h2{
    font-size:clamp(40px,12vw,56px)!important;
    line-height:.92;
    margin-bottom:20px;
  }
  .lead{
    font-size:20px;
    line-height:1.45;
    max-width:none;
  }
  .copy{
    font-size:16px;
    line-height:1.65;
    max-width:none;
  }

  .subhero h1{
    font-size:clamp(34px,10.5vw,48px)!important;
    line-height:.92;
    letter-spacing:-.05em;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .training-grid{gap:14px}
  .train{padding:20px}
  .train h3{
    font-size:24px;
    line-height:1.05;
  }
  .train dl div{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:12px;
  }
  .train dd{overflow-wrap:anywhere}

  .venues{gap:18px}
  .venue-body{padding:20px}
  .venue h3{
    font-size:clamp(28px,10vw,40px)!important;
    line-height:.95;
  }
  .venue address{font-size:17px}
  .venue .cats{
    font-size:17px;
    line-height:1.45;
  }

  .note{
    padding:22px 20px;
    margin-top:24px;
  }

  .footer{
    padding:42px 20px 24px!important;
    gap:24px!important;
    font-size:14px;
  }
  .footer .brand{margin-bottom:4px}
  .footer p{line-height:1.5}
  .footer-whatsapp a{
    flex-wrap:nowrap!important;
    align-items:center;
    overflow-wrap:normal!important;
  }

  .shop-logo{min-height:160px;padding:22px}
  .shop-text{padding:22px}

  .home-gallery{gap:12px}
  .home-gallery figure,
  .home-gallery img{min-height:220px}

  .band{padding:28px 20px}
  .band strong{display:block;font-size:36px;line-height:1.05}
  .band span{display:block;margin-top:12px;line-height:1.6}

  .cta{padding:42px 20px}
}

/* FOOTER WHATSAPP DESKTOP FIX */
.footer-whatsapp a{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
.footer-whatsapp svg{
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  min-height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  flex:0 0 19px!important;
  display:block!important;
}

/* DESKTOP BURGER VISIBILITY FIX */
@media (min-width:901px){
  .menu-toggle{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}
