:root{color-scheme:dark;--bg:#080808;--text:#f5f5f3;--muted:#aaa;--line:#292929}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:6px}.skip{position:fixed;left:1rem;top:-100px;z-index:100;background:#fff;color:#000;padding:12px}.skip:focus{top:12px}header{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 5vw;border-bottom:1px solid #ffffff20}.brand{font-size:27px;font-weight:900;letter-spacing:.12em;line-height:1.2}.brand span{display:block;font-size:10px;letter-spacing:.24em;margin-top:6px}nav{display:flex;gap:26px;color:#bbb;font-size:14px}nav a:hover{color:white}.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 25px;border-radius:32px;background:#f5f5f3;color:#080808;font-size:14px;font-weight:700;line-height:1.4;min-height:48px}.button:hover{background:#d1d1cd}.button.small{font-size:12px;padding:13px 20px}.outline{background:transparent;color:#fff;border:1px solid #777}.outline:hover{background:#fff;color:#000}.menu{display:none}.hero{min-height:760px;height:100svh;max-height:1100px;position:relative;overflow:hidden;background:#070707}.hero-image{position:absolute;inset:0 0 0 35%;background:url('bjj-kotelna.webp') center 48%/cover no-repeat;filter:grayscale(1);opacity:.58;mask-image:linear-gradient(90deg,transparent,#000 35%)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080808 0,transparent 40%),linear-gradient(90deg,#080808 0,transparent 75%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:1200px;margin:auto;padding:230px 40px 140px}.eyebrow{font-family:monospace;font-size:12px;letter-spacing:.16em;line-height:1.7;color:#bbb;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.5rem,6.2vw,6.1rem);line-height:.98;letter-spacing:-.055em;font-weight:900;margin-bottom:30px}em{font-style:normal;color:#989898}h2{font-size:clamp(2.6rem,4.8vw,4.7rem);line-height:1.03;letter-spacing:-.045em;font-weight:900;margin-bottom:0}h3{font-size:28px;line-height:1.15;letter-spacing:-.035em}p{color:#aaa}.lead{font-size:19px;line-height:1.65;max-width:480px}.actions{display:flex;align-items:center;gap:30px;margin-top:32px}.text-link{border-bottom:1px solid #777;padding-bottom:5px;font-size:14px}.hero-note{font-size:13px;margin-top:22px}.hero-bottom{position:absolute;z-index:1;bottom:28px;left:5vw;right:5vw;display:flex;justify-content:space-between;font:11px monospace;letter-spacing:.13em;color:#aaa}.section{max-width:1280px;margin:auto;padding:105px 40px;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:60px}.section-head>p,.section-head>div>p:not(.eyebrow){max-width:400px;margin-bottom:0}.disciplines{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.disciplines article{border-top:1px solid #777;padding:24px 0;display:flex;flex-direction:column}.number{color:#666;font:13px monospace;margin-bottom:30px}.disciplines p{max-width:310px}.tag{font:11px monospace;letter-spacing:.08em;color:#bbb;display:block}.disciplines a{margin-top:30px;align-self:flex-start;border-bottom:1px solid #555;font-size:14px}.new-class{margin-top:40px;display:grid;grid-template-columns:1.5fr 1fr;gap:70px;padding:38px;border:1px solid #333;background:#101010}.new-class h3{font-size:42px;margin-bottom:16px}.new-class p:last-child{margin:0}.new-class .eyebrow{margin-bottom:16px}.new-class>div:nth-child(2){align-self:center}.new-class>div:nth-child(2)>p{font-size:14px;margin:14px 0 22px}.filters{display:flex;gap:8px;margin-top:25px}.filters button{background:transparent;border:1px solid #333;color:#bbb;border-radius:22px;padding:8px 16px;font-size:14px}.filters button.active{background:#eee;color:#000;border-color:#eee}.schedule-row{display:grid;grid-template-columns:1fr 1.2fr 2fr 1fr;gap:24px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.schedule-row h3{font-size:19px;margin:0}.schedule-row>span{color:#999;font-size:13px}.schedule-row strong{font-size:16px;font-weight:400}.schedule-row[hidden]{display:none}.kids{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large{font-size:26px;line-height:1.45;color:#eee}.kids-details{display:flex;gap:35px;padding:20px 0 35px;color:#aaa;font-size:12px}.kids-details strong{color:#eee;font-size:16px;font-weight:400}.prices{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.prices article{border:1px solid var(--line);padding:30px;background:#101010}.prices h3{font-size:30px}.prices .eyebrow{font-size:10px;margin-bottom:12px}.prices dl{margin:30px 0 0}.prices dl div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #292929;font-size:14px}.prices dt{color:#aaa}.prices dd{margin:0;white-space:nowrap}.prices article>p:last-child{font-size:14px;margin-top:24px}.price-note{font-size:13px;margin:24px 0 0}.team{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px}.team article{border-top:1px solid #444;padding-top:24px}.team h3{margin:22px 0 14px}.team p{max-width:420px}.faq h2{margin-bottom:40px}.faq details{border-top:1px solid #333;padding:22px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{max-width:680px;margin:20px 0 0}.contact h2{font-size:clamp(3rem,6vw,6rem);margin-bottom:50px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-grid .eyebrow{margin-bottom:12px}.contact-grid .button{margin-top:15px}footer{padding:40px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer>span{font:11px monospace;color:#888}footer small{font-size:11px;color:#666}footer .brand{font-size:22px}@media(min-width:1600px){.hero-content{padding-top:280px}}@media(max-width:900px){header{gap:15px;padding:22px 24px}nav{gap:16px}.brand{font-size:23px}header .small{display:none}.hero-content{padding:220px 30px 130px}.section{padding:75px 30px}.section-head,.kids,.contact-grid{gap:40px}.prices{grid-template-columns:1fr}.prices article{padding:28px}.prices dl{max-width:550px}.schedule-row{grid-template-columns:1fr 1.3fr 1.8fr;gap:15px}.schedule-row>span:last-child{display:none}.new-class{gap:30px;padding:28px}.disciplines{gap:24px}.disciplines h3{font-size:23px}}@media(max-width:600px){header{padding:20px}.brand{font-size:22px}.brand span{font-size:9px}.menu{display:block;color:white;background:transparent;border:1px solid #555;border-radius:22px;padding:8px 17px;font-size:14px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#111;padding:22px;flex-direction:column;border-bottom:1px solid #333}nav.open{display:flex}nav a{padding:7px;font-size:16px}.hero{height:90svh;min-height:640px}.hero-image{inset:0 0 0 0;opacity:.38;mask-image:none;background-position:50% center}.hero:after{background:linear-gradient(0deg,#080808 0,transparent 85%),linear-gradient(90deg,#080808bb,transparent)}.hero-content{padding:210px 22px 110px}.hero-content h1{font-size:clamp(3.3rem,12vw,4.5rem)}.eyebrow{font-size:11px}.lead{font-size:16px}.actions{gap:23px}.button{padding:15px 21px}.hero-bottom{left:22px;right:22px;font-size:9px;gap:20px}.hero-bottom>span:last-child{max-width:125px;text-align:right}.section{padding:65px 22px}.section-head{grid-template-columns:1fr;gap:27px;margin-bottom:40px}.section-head h2,.kids h2,.faq h2{font-size:2.85rem}.disciplines{grid-template-columns:1fr;gap:8px}.disciplines article{padding:25px 0}.number{margin-bottom:20px}.disciplines h3{font-size:30px}.disciplines a{margin-top:22px}.disciplines p{max-width:none}.new-class{grid-template-columns:1fr;gap:30px;margin-top:25px;padding:25px}.new-class h3{font-size:35px}.schedule-row{grid-template-columns:1fr 1.2fr;gap:10px 15px;padding:20px 0}.schedule-row h3{grid-column:1/-1;font-size:18px}.schedule-row strong{text-align:right;font-size:15px}.kids,.contact-grid{grid-template-columns:1fr;gap:35px}.large{font-size:23px}.team{grid-template-columns:1fr;gap:25px}.team h3{font-size:28px}.contact h2{font-size:3.2rem}.faq summary{font-size:16px}footer{padding:35px 22px;align-items:flex-start;flex-direction:column;gap:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Scroll-led entrances: free scrolling on mouse, keyboard and touch. */
.scroll-motion .scroll-reveal{opacity:0;transform:translate3d(0,46px,0);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.scroll-motion .scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.scroll-motion .disciplines article:nth-child(2),.scroll-motion .prices article:nth-child(2),.scroll-motion .team article:nth-child(even){transition-delay:.1s}
.scroll-motion .prices article:nth-child(3){transition-delay:.18s}
.scroll-motion .hero-image{transform:translate3d(0,calc(var(--hero-progress,0) * 70px),0) scale(calc(1 + var(--hero-progress,0) * .045));transform-origin:center}
.scroll-motion .hero-content{transform:translate3d(0,calc(var(--hero-progress,0) * -28px),0);opacity:calc(1 - var(--hero-progress,0) * .7)}
.new-class h3{font-size:clamp(1.8rem,3.3vw,2.625rem);overflow-wrap:break-word}
@media(max-width:600px){.scroll-motion .scroll-reveal{transform:translate3d(0,28px,0);transition-delay:0s!important}.scroll-motion .scroll-reveal.is-visible{transform:none}.scroll-motion .hero-image{transform:translate3d(0,calc(var(--hero-progress,0) * 30px),0)}.new-class h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-image,.hero-content{transform:none!important;opacity:1!important}}

/* Club benefits follow the existing monochrome price section. */
.club-benefits{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.club-benefits article{border:1px solid var(--line);padding:32px;background:#101010}
.club-benefits h3{font-size:30px;margin-bottom:20px}
.club-benefits article>p:not(.eyebrow){max-width:420px}
.belt-discounts{margin:25px 0 0}
.belt-discounts>div{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #333;padding:14px 0}
.belt-discounts dt{color:#bbb;font-size:16px}
.belt-discounts dd{margin:0;font-size:24px;font-weight:700}
.partner-benefit .benefit-amount{font-size:64px;line-height:1.1;letter-spacing:-.04em;font-weight:800;color:#f5f5f3;margin:32px 0 24px}
.benefit-amount span{font-size:16px;font-weight:400;letter-spacing:0;color:#aaa}
.club-benefits .benefit-help{font-size:14px;margin-bottom:0}
@media(max-width:600px){.club-benefits{grid-template-columns:1fr}.club-benefits article{padding:25px}.club-benefits h3{font-size:28px}}

/* Competition statistics from the supplied Smoothcomp profile screenshots. */
.competition-record{margin-top:28px;padding:24px;background:#111;border:1px solid var(--line)}
.competition-record .record-heading{font:12px monospace;letter-spacing:.1em;line-height:1.6;color:#b8b8b8;margin:0 0 22px}
.record-body{display:flex;align-items:center;gap:26px}
.record-ring{width:144px;height:144px;flex:0 0 144px;border-radius:50%;position:relative;background:conic-gradient(#80b91b 0 var(--submission-end),#c33632 var(--submission-end) var(--walkover-end),#087eae var(--walkover-end) 100%)}
.record-ring:before{content:'';position:absolute;inset:12px;border-radius:50%;background:#111}
.record-total{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.record-total strong{font-size:42px;letter-spacing:-.04em}.record-total span{font-size:14px;color:#b8b8b8;margin-top:4px}
.record-legend{margin:0;flex:1;font-size:14px;min-width:0}
.record-legend>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #292929}
.record-legend dt{display:flex;gap:9px;align-items:center;color:#b8b8b8}.record-legend dd{margin:0;font-weight:700}
.record-legend i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;display:inline-block}.record-legend .submission{background:#80b91b}.record-legend .walkover{background:#c33632}.record-legend .other{background:#087eae}
.record-link{display:inline-block;margin-top:24px;line-height:1.6}
.competition-record .record-date{font-size:12px;color:#888;margin:12px 0 0}
@media(max-width:900px) and (min-width:601px){.record-body{flex-direction:column;align-items:flex-start}.record-legend{width:100%}}
@media(max-width:380px){.competition-record{padding:18px}.record-body{gap:16px}.record-ring{width:116px;height:116px;flex-basis:116px}.record-total strong{font-size:36px}.record-legend>div{gap:8px}}
@media(min-width:601px){.team{align-items:start}}
