/* ===== Dhandles — shared stylesheet ===== */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --red:#FF3B3B;
  --red-deep:#2A0000;
  --red-grad:linear-gradient(135deg,#FF3B3B 0%,#B00C0C 55%,#2A0000 100%);
  --bg:#0a0a0a;
  --bg-2:#141414;
  --bg-3:#1c1c1c;
  --line:#2a2a2a;
  --text:#f5f5f5;
  --muted:#9a9a9a;
  --display:'Anton',Impact,sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}

/* ---- typography ---- */
.display{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:.01em;
  line-height:.98;
  text-transform:uppercase;
}
.eyebrow{
  font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--red);font-weight:800;
}
.section-title{
  font-family:var(--display);font-size:clamp(2.2rem,5vw,3.6rem);
  text-transform:uppercase;line-height:1;margin:14px 0 8px;
}
.section-lead{color:var(--muted);font-size:1rem;max-width:620px;}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-weight:800;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;
  padding:15px 30px;border-radius:4px;transition:transform .15s ease,filter .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-red{background:var(--red-grad);color:#fff;}
.btn-red:hover{filter:brightness(1.12);}
.btn-ghost{border:1.5px solid #444;color:var(--text);}
.btn-ghost:hover{border-color:var(--red);color:var(--red);}

/* ---- nav ---- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(10,10,10,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.nav-logo{display:flex;align-items:center;gap:11px;font-family:var(--display);
  font-size:1.5rem;letter-spacing:.02em;}
.nav-logo img{height:38px;width:auto;}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none;}
.nav-links a{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);transition:color .15s;}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-cta{padding:11px 22px;font-size:.78rem;}
.nav-burger{display:none;font-size:1.6rem;background:none;border:0;color:#fff;cursor:pointer;}

/* ---- hero ---- */
.hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(900px 500px at 78% 18%,rgba(255,59,59,.20),transparent 60%),
    linear-gradient(180deg,#111 0%,#0a0a0a 100%);
}
.hero-photo{
  position:absolute;right:0;top:0;bottom:0;width:46%;
  background:repeating-linear-gradient(135deg,#1a1a1a 0 22px,#161616 22px 44px);
  border-left:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:#555;
  font-size:.8rem;letter-spacing:.1em;text-align:center;
}
.hero-inner{position:relative;padding:120px 0 110px;max-width:760px;}
.hero h1{
  font-family:var(--display);
  font-size:clamp(3.4rem,8.5vw,7rem);
  text-transform:uppercase;line-height:.92;
  transform:skewX(-7deg);
}
.hero h1 .accent{color:var(--red);}
.hero-jp{margin:22px 0 14px;font-size:1.15rem;font-weight:700;}
.hero-sub{color:var(--muted);max-width:440px;margin-bottom:34px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:38px;margin-top:54px;flex-wrap:wrap;}
.hero-stat .num{font-family:var(--display);font-size:2.6rem;color:var(--red);line-height:1;}
.hero-stat .lab{font-size:.74rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;}

/* ---- generic section ---- */
.section{padding:96px 0;border-bottom:1px solid var(--line);}
.section.alt{background:var(--bg-2);}

/* ---- coach strip ---- */
.coach{display:grid;grid-template-columns:340px 1fr;gap:54px;align-items:center;}
.coach-photo{
  aspect-ratio:4/5;border-radius:8px;border:1px solid var(--line);
  background:repeating-linear-gradient(135deg,#1c1c1c 0 22px,#171717 22px 44px);
  display:flex;align-items:center;justify-content:center;color:#555;
  font-size:.78rem;letter-spacing:.08em;text-align:center;padding:20px;
  overflow:hidden;position:relative;
}
.coach-photo img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 32%;
}
.coach h3{font-family:var(--display);font-size:2.4rem;text-transform:uppercase;margin-bottom:4px;}
.coach .role{color:var(--red);font-weight:800;font-size:.82rem;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:18px;}
.bio-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:20px;}
.bio-list li{display:flex;gap:14px;align-items:flex-start;font-size:.96rem;}
.bio-list .mk{color:var(--red);font-family:var(--display);font-size:1.1rem;flex-shrink:0;
  line-height:1.4;}

/* ---- why cards ---- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.why-card{
  background:var(--bg-3);border:1px solid var(--line);border-radius:10px;
  padding:34px 28px;transition:border-color .2s,transform .2s;
}
.why-card:hover{border-color:var(--red);transform:translateY(-4px);}
.why-card .no{font-family:var(--display);font-size:2.4rem;color:var(--red);line-height:1;}
.why-card h4{font-size:1.15rem;font-weight:800;margin:12px 0 8px;}
.why-card p{color:var(--muted);font-size:.92rem;}

/* ---- plans ---- */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px;}
.plan{
  background:var(--bg-3);border:1px solid var(--line);border-radius:12px;
  padding:30px 24px;display:flex;flex-direction:column;position:relative;
  transition:transform .2s,border-color .2s;
}
.plan:hover{transform:translateY(-6px);border-color:#444;}
.plan.featured{border-color:var(--red);background:linear-gradient(180deg,#1f1212,#1a1a1a);}
.plan .tag{
  position:absolute;top:-11px;left:24px;background:var(--red-grad);color:#fff;
  font-size:.64rem;font-weight:800;letter-spacing:.12em;padding:5px 12px;border-radius:3px;
  text-transform:uppercase;
}
.plan .pname{font-family:var(--display);font-size:1.7rem;text-transform:uppercase;}
.plan .pfor{color:var(--red);font-size:.76rem;font-weight:700;letter-spacing:.04em;
  min-height:32px;margin:4px 0 14px;}
.plan .price{font-family:var(--display);font-size:2.6rem;line-height:1;}
.plan .price small{font-family:var(--body);font-size:.8rem;color:var(--muted);font-weight:600;}
.plan ul{list-style:none;margin:18px 0 24px;display:flex;flex-direction:column;gap:9px;}
.plan li{font-size:.86rem;color:#d0d0d0;padding-left:20px;position:relative;}
.plan li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;
  background:var(--red);border-radius:2px;transform:skewX(-12deg);}
.plan .btn{margin-top:auto;justify-content:center;}

/* ---- results ---- */
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.result-card{
  background:var(--bg-3);border:1px solid var(--line);border-radius:10px;overflow:hidden;
}
.result-card .ph{
  aspect-ratio:1/1;
  background:repeating-linear-gradient(135deg,#1c1c1c 0 22px,#171717 22px 44px);
  display:flex;align-items:center;justify-content:center;color:#555;font-size:.74rem;
}
.result-card .body{padding:20px 22px;}
.result-card .body .nm{font-weight:800;font-size:1rem;}
.result-card .body .dt{color:var(--red);font-size:.78rem;font-weight:700;margin-bottom:8px;}
.result-card .body p{color:var(--muted);font-size:.88rem;}

/* ---- boogies strip ---- */
.boogies{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.boogies-ph{
  aspect-ratio:16/10;border-radius:10px;border:1px solid var(--line);
  background:repeating-linear-gradient(135deg,#1c1c1c 0 22px,#171717 22px 44px);
  display:flex;align-items:center;justify-content:center;color:#555;font-size:.8rem;
}

/* ---- cta band ---- */
.cta-band{
  background:var(--red-grad);text-align:center;padding:84px 0;
}
.cta-band h2{font-family:var(--display);font-size:clamp(2.4rem,6vw,4.2rem);
  text-transform:uppercase;color:#fff;line-height:1;}
.cta-band p{color:rgba(255,255,255,.9);margin:14px 0 28px;font-weight:600;}
.cta-band .btn{background:#0a0a0a;color:#fff;}
.cta-band .btn:hover{background:#000;}

/* ---- footer ---- */
.footer{background:#000;padding:60px 0 36px;}
.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
  padding-bottom:34px;border-bottom:1px solid var(--line);}
.footer-logo{display:flex;align-items:center;gap:11px;font-family:var(--display);
  font-size:1.5rem;}
.footer-logo img{height:40px;}
.footer-nav{display:flex;gap:46px;flex-wrap:wrap;}
.footer-col h5{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;}
.footer-col a{display:block;font-size:.88rem;color:#cfcfcf;margin-bottom:9px;}
.footer-col a:hover{color:var(--red);}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:24px;color:#666;font-size:.78rem;}

/* ---- page header (sub pages) ---- */
.page-head{
  padding:84px 0 64px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;
  background:radial-gradient(700px 360px at 80% 10%,rgba(255,59,59,.16),transparent 60%);
}
.page-head h1{font-family:var(--display);font-size:clamp(2.8rem,7vw,5rem);
  text-transform:uppercase;line-height:.95;transform:skewX(-7deg);}

/* ---- about journey ---- */
.timeline{margin-top:40px;border-left:2px solid var(--line);padding-left:34px;
  display:flex;flex-direction:column;gap:32px;}
.tl-item{position:relative;}
.tl-item::before{content:"";position:absolute;left:-43px;top:4px;width:16px;height:16px;
  background:var(--red);border-radius:3px;transform:skewX(-12deg);}
.tl-item .yr{font-family:var(--display);font-size:1.2rem;color:var(--red);}
.tl-item h4{font-size:1.1rem;font-weight:800;margin:2px 0 6px;}
.tl-item p{color:var(--muted);font-size:.94rem;}

/* ---- faq ---- */
.faq{margin-top:40px;display:flex;flex-direction:column;gap:2px;}
.faq-item{background:var(--bg-3);border:1px solid var(--line);border-radius:8px;
  padding:22px 26px;}
.faq-item .q{font-weight:800;font-size:1rem;margin-bottom:8px;}
.faq-item .q::before{content:"Q ";color:var(--red);font-family:var(--display);}
.faq-item .a{color:var(--muted);font-size:.92rem;}

/* ---- contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:20px;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.field input,.field select,.field textarea{
  width:100%;background:var(--bg-3);border:1px solid var(--line);border-radius:6px;
  padding:13px 15px;color:var(--text);font-family:var(--body);font-size:.95rem;
}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);}
.contact-info{display:flex;flex-direction:column;gap:24px;}
.contact-info .blk h4{font-size:.96rem;font-weight:800;margin-bottom:4px;}
.contact-info .blk p{color:var(--muted);font-size:.92rem;}

/* ---- utility ---- */
.center{text-align:center;}
.mt-cta{margin-top:40px;}

/* ---- responsive ---- */
@media(max-width:920px){
  .why-grid,.plans,.result-grid{grid-template-columns:repeat(2,1fr);}
  .coach,.boogies,.contact-grid{grid-template-columns:1fr;}
  .hero-photo{display:none;}
  .hero-inner{padding:90px 0 80px;}
}
@media(max-width:620px){
  .nav-links{
    display:none;position:absolute;top:74px;left:0;right:0;
    background:#0a0a0a;flex-direction:column;padding:20px 28px;gap:18px;
    border-bottom:1px solid var(--line);
  }
  .nav-links.open{display:flex;}
  .nav-burger{display:block;}
  .why-grid,.plans,.result-grid{grid-template-columns:1fr;}
  .hero-stats{gap:24px;}
  .footer-top{flex-direction:column;}
}
