:root{
  --primary:#b84a6c; --bg:#fbf2f4; --ink:#2a1820; --accent:#e9a0b3;
  --paper:#fff7f9; --line:#f0cdd6; --mute:#7a4055;
  --s:clamp(16px,2vw,24px); --r:14px;
  --display:'Oswald',system-ui,sans-serif; --body:'PT Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.58;-webkit-font-smoothing:antialiased}
.wrap{width:min(1140px,92vw);margin-inline:auto}
h1,h2,h3{font-family:var(--display);line-height:1.0;text-transform:uppercase;letter-spacing:.03em;font-weight:700}
h1{font-size:clamp(38px,6.5vw,80px)}
h2{font-size:clamp(26px,4vw,52px)}
h3{font-size:20px}
p{color:var(--ink)}
.lead{font-size:clamp(15px,1.5vw,18px);color:var(--mute);max-width:48ch}
.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin-bottom:12px;font-family:var(--body)}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(251,242,244,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;gap:18px;height:62px}
.brand{font-family:var(--display);font-weight:700;font-size:22px;text-decoration:none;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px}
.brand__mark{color:var(--primary)}
.nav__links{display:flex;gap:22px;margin-left:auto}
.nav__links a{text-decoration:none;color:var(--mute);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.08em;transition:color .15s}
.nav__links a:hover{color:var(--primary)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:7px;background:var(--primary);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:4px;transition:transform .15s,background .15s;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-family:var(--display)}
.btn:hover{transform:translateY(-2px);background:#9d3e5c}
.btn--sm{padding:8px 16px;font-size:12px}
.btn--lg{padding:16px 32px;font-size:15px}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#1a0a12;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}

/* HERO gallery-first: large image top, text strip below */
.hero{padding:0}
.hero__gallery{position:relative;height:clamp(380px,50vw,600px);overflow:hidden}
.hero__gallery img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}
.hero__gallery::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(42,24,32,0.8) 0%,rgba(42,24,32,.1) 55%,transparent 100%)}
.hero__over{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:clamp(20px,3vw,44px) 0}
.hero__over .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.hero__title-block h1{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hero__title-block p{color:rgba(255,255,255,.75);margin-top:10px;max-width:48ch;font-size:16px}
.hero__cta-block{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.hero__cta-block .btn--ghost{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.hero__cta-block .btn--ghost:hover{background:rgba(255,255,255,.15);color:#fff}

/* stats band */
.stats-band{background:var(--ink);padding:22px 0}
.stats-band__row{display:flex;gap:0;flex-wrap:wrap}
.stats-band__item{flex:1;min-width:140px;padding:0 28px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.stats-band__item:last-child{border-right:none}
.stats-band__item strong{display:block;font-family:var(--display);font-size:30px;color:var(--accent)}
.stats-band__item span{font-size:12px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em}

/* sparring ladder feature */
.ladder{padding:clamp(48px,6vw,80px) 0;background:var(--paper);border-bottom:1px solid var(--line)}
.ladder__cols{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(28px,4vw,56px);align-items:start}
.ladder__cols h2{margin-bottom:14px}
.ladder__cols .lead{margin-bottom:28px}
.rungs{display:flex;flex-direction:column;gap:0}
.rung{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.rung:last-child{border-bottom:none}
.rung__level{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:18px;font-weight:700;color:#fff;flex-shrink:0}
.rung__level--1{background:#e0e0e0;color:var(--ink)}
.rung__level--2{background:#cd7f32}
.rung__level--3{background:#a8a9ad}
.rung__level--4{background:#ffd700;color:var(--ink)}
.rung__level--5{background:var(--primary)}
.rung h4{font-family:var(--display);font-size:18px;color:var(--ink);margin-bottom:4px}
.rung p{color:var(--mute);font-size:14px;margin:0}
.ladder__right{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px}
.ladder__right h3{font-size:18px;margin-bottom:12px;color:var(--ink)}
.ladder__right p{color:var(--mute);font-size:14.5px;margin-bottom:12px;max-width:44ch}

/* classes */
.classes{padding:clamp(48px,6vw,80px) 0}
.classes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cls-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-height:230px}
.cls-card__head{padding:20px 22px 0;flex:1}
.cls-card__tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.cls-card h3{font-size:18px;margin-bottom:8px}
.cls-card p{color:var(--mute);font-size:14px}
.cls-card__foot{padding:16px 22px 22px;border-top:1px solid var(--line);margin-top:16px;display:flex;justify-content:space-between;align-items:center}
.cls-card__price{font-family:var(--display);font-size:20px;color:var(--ink)}

/* about */
.about{padding:clamp(48px,6vw,80px) 0;background:var(--primary);color:#fff}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.about h2{color:#fff;margin-bottom:16px}
.about .para{color:rgba(255,255,255,.8);margin-bottom:12px;max-width:50ch}
.about__coaches{display:grid;gap:12px}
.coach{background:rgba(255,255,255,.1);border-radius:10px;padding:16px 18px;display:flex;gap:14px;align-items:flex-start}
.coach__ava{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:18px;color:#fff;flex-shrink:0}
.coach h4{color:#fff;font-size:15px;margin-bottom:3px;font-family:var(--display)}
.coach p{color:rgba(255,255,255,.7);font-size:13px;margin:0}

/* contact */
.contact{padding:clamp(48px,6vw,80px) 0}
.contact__bar{background:var(--ink);border-radius:var(--r);padding:clamp(28px,4vw,52px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.contact__bar h2{color:#fff}
.contact__bar p{color:rgba(255,255,255,.7);margin-top:8px;max-width:44ch}
.contact__bar .cinfo{color:rgba(255,255,255,.9);font-weight:600;margin-top:10px;font-size:15px}

/* footer */
.foot{background:var(--ink);color:rgba(255,255,255,.4);padding:22px 0;border-top:1px solid rgba(255,255,255,.06)}
.foot__in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px}

@media(max-width:900px){
  .hero__over .wrap{flex-direction:column;align-items:flex-start}
  .ladder__cols{grid-template-columns:1fr}
  .classes__grid{grid-template-columns:1fr 1fr}
  .about__grid{grid-template-columns:1fr}
  .stats-band__row{gap:8px}
  .nav__links{display:none}
}
@media(max-width:520px){
  .classes__grid{grid-template-columns:1fr}
  .stats-band__item{padding:0 14px}
}
