/* Page-specific styles for sub-pages */

/* Subpage hero */
.subhero{
  padding:160px var(--gut) clamp(80px,9vw,140px) var(--gut);
  background:var(--ink);
  border-bottom:var(--hairline-strong);
  position:relative;overflow:hidden;
}
.subhero::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--blood) 0%,var(--blood) 22%,var(--neon) 22%,var(--neon) 44%,var(--bone) 44%,var(--bone) 60%,transparent 60%);
}
.subhero .wrap{position:relative;z-index:2}
.subhero__meta{font-family:var(--mono);font-size:.65rem;letter-spacing:.24em;text-transform:uppercase;color:var(--grit);margin-bottom:24px;display:flex;align-items:center;gap:14px}
.subhero__meta .b{color:var(--blood)}
.subhero__title{font-family:var(--display);font-size:clamp(56px,9vw,156px);line-height:.84;text-transform:uppercase;letter-spacing:-.012em;margin-bottom:24px}
.subhero__title .accent{color:var(--blood);font-style:italic}
.subhero__title .neon{color:var(--neon)}
.subhero__sub{font-size:clamp(15px,1.2vw,18px);color:var(--bone);opacity:.78;max-width:680px;line-height:1.55}

/* Coach page — full bio */
.bio{background:var(--concrete)}
.bio__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.bio__media{position:sticky;top:120px}
.bio__photo{aspect-ratio:4/5;background:linear-gradient(180deg,transparent 0%,rgba(6,12,7,.65) 100%),url('https://images.unsplash.com/photo-1534367990512-edbdca781b00?w=800&q=80') center 20%/cover;filter:contrast(1.05) saturate(.9);border:1px solid rgba(203,168,48,.25)}
.bio__photo--official{background:linear-gradient(180deg,transparent 0%,rgba(6,12,7,.55) 100%),url('https://images.unsplash.com/photo-1571019614099-f6c40e05a27b?w=800&q=80') center/cover}
.bio__media .bio__stack{display:flex;flex-direction:column;gap:14px}
.bio__media .photo{aspect-ratio:3/4}
.bio__chapters{display:flex;flex-direction:column;gap:60px}
.bio__chapter{display:flex;flex-direction:column;gap:18px}
.bio__chapter .ch{font-family:var(--mono);font-size:.65rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blood)}
.bio__chapter h3{font-family:var(--display);font-size:clamp(32px,4vw,56px);line-height:.92;text-transform:uppercase;letter-spacing:-.005em}
.bio__chapter p{font-size:16px;line-height:1.65;color:var(--bone);opacity:.85}
.bio__chapter p+p{margin-top:8px}
.bio__chapter .pull{
  border-left:3px solid var(--blood);padding:8px 0 8px 22px;margin-top:14px;
  font-style:italic;font-size:1.15rem;color:var(--bone);line-height:1.5;opacity:.95;
}
@media (max-width:880px){
  .bio__grid{grid-template-columns:1fr;gap:40px}
  .bio__media{position:static}
}

/* Schedule page — extras */
.sched-key{
  display:flex;gap:24px;flex-wrap:wrap;margin-bottom:24px;
  font-family:var(--mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grit);
}
.sched-key .dot{display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:middle}
.sched-key .dot.fight{background:var(--blood)}
.sched-key .dot.women{background:var(--neon)}
.sched-key .dot.kids{background:var(--bone);opacity:.6}
.sched-key .dot.std{background:var(--grit)}

/* Visit page */
.visit-page{background:var(--concrete);padding-block:clamp(60px,8vw,120px)}
.visit-page__split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.visit-page__map{aspect-ratio:1/1;background:var(--steel);border:var(--hairline-strong);overflow:hidden}
.visit-page__map iframe{width:100%;height:100%;border:0;filter:grayscale(100%) invert(.95)}
@media (max-width:880px){.visit-page__split{grid-template-columns:1fr}}

.faq{display:flex;flex-direction:column;gap:0;border-top:var(--hairline-strong)}
.faq__item{border-bottom:var(--hairline);padding:24px 0}
.faq__q{font-family:var(--display);font-size:1.4rem;letter-spacing:.005em;text-transform:uppercase;color:var(--bone);margin-bottom:10px}
.faq__a{font-size:15px;line-height:1.6;color:var(--bone);opacity:.75;max-width:780px}

/* Membership page */
.memb-page{background:var(--ink)}
.memb-detail{
  background:var(--concrete);padding:40px 32px;border:var(--hairline-strong);
  display:flex;flex-direction:column;gap:22px;margin-bottom:24px;
}
.memb-detail__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:18px;border-bottom:var(--hairline)}
.memb-detail__name{font-family:var(--display);font-size:clamp(36px,4vw,60px);line-height:.92;text-transform:uppercase;letter-spacing:-.005em}
.memb-detail__price{font-family:var(--display);font-size:clamp(32px,3.6vw,52px);line-height:1;color:var(--blood);text-align:right}
.memb-detail__price .unit{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;color:var(--grit);text-transform:uppercase;margin-top:6px}
.memb-detail__body{font-size:15px;line-height:1.6;color:var(--bone);opacity:.8;max-width:780px}
.memb-detail__list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px}
.memb-detail__list li{font-size:14.5px;line-height:1.5;color:var(--bone);opacity:.85;padding-left:18px;position:relative}
.memb-detail__list li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--blood)}
.memb-detail--comp{background:var(--blood);color:var(--bone)}
.memb-detail--comp .memb-detail__name,.memb-detail--comp .memb-detail__price{color:var(--bone)}
.memb-detail--comp .memb-detail__price{color:var(--neon)}
.memb-detail--comp .memb-detail__head{border-bottom-color:rgba(255,255,255,.25)}
.memb-detail--comp .memb-detail__list li::before{background:var(--neon)}
@media (max-width:680px){.memb-detail__list{grid-template-columns:1fr}.memb-detail__head{flex-direction:column;align-items:flex-start;gap:14px}.memb-detail__price{text-align:left}}

/* generic */
.center{text-align:center}
.mt-l{margin-top:60px}
