/* Shared look for the G-FORCE pages built around the home (presale) page:
   memberships.html, boxing-classes.html, our-story.html.
   Colours and fonts match presale.html and g-force-survey.html. */
@font-face{font-family:'LRA Display';src:url('presale-img/lra-display.otf') format('opentype');font-weight:700;font-display:swap;}
:root{
  --bg:#0c0a0d;--card:#151216;--ink:#f3eeef;--ink-dim:#b6adb2;--ink-faint:#7d757a;
  --hairline:rgba(243,238,239,.14);--pink:#f57daf;--pink-soft:rgba(245,125,175,.14);
  --display:'LRA Display','Arial Narrow',Impact,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}

/* top bar: wordmark left, menu right (the menu itself comes from gforce-nav.js) */
.top-scrim{position:fixed;top:0;left:0;right:0;height:110px;z-index:8;pointer-events:none;
  background:linear-gradient(rgba(6,5,8,.92),rgba(6,5,8,0));}
.wordmark{position:fixed;top:26px;left:24px;z-index:10;font-family:'Anton','LRA Display',sans-serif;font-size:19px;
  letter-spacing:.06em;color:var(--ink);line-height:1;text-decoration:none;}
.wordmark span{color:var(--pink);}
@media (max-width:600px){.wordmark{top:22px;left:16px;}}

/* page hero */
.hero{position:relative;padding:9rem 1.25rem 4rem;text-align:center;background-size:cover;background-position:center;}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(12,10,13,.72),rgba(12,10,13,.9) 70%,var(--bg));}
.hero > *{position:relative;}
.eyebrow{display:inline-flex;align-items:center;gap:.9rem;color:var(--pink);font-size:.8rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;}
.eyebrow::before,.eyebrow::after{content:'';width:1.6rem;height:2px;background:var(--pink);}
h1{font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,8vw,4.6rem);line-height:.98;letter-spacing:-.02em;
  margin:1.2rem auto 1rem;max-width:16ch;}
.lead{color:var(--ink-dim);font-size:1.05rem;max-width:36rem;margin:0 auto;}

/* sections */
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem;}
.wrap.narrow{max-width:720px;}
section.block{padding:3.2rem 0;}
section.block + section.block{border-top:1px solid var(--hairline);}
h2{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1;letter-spacing:-.02em;margin:.7rem 0 .8rem;}
.sub{color:var(--ink-dim);max-width:40rem;}
.center{text-align:center;}
.center .sub{margin-left:auto;margin-right:auto;}
p + p{margin-top:1rem;}

/* price cards */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;}
.plans.two{grid-template-columns:repeat(2,1fr);max-width:700px;margin-left:auto;margin-right:auto;}
.plan{background:var(--card);border:1px solid var(--hairline);border-radius:8px;padding:1.6rem 1.4rem;display:flex;flex-direction:column;text-align:left;}
.plan.feature{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft);}
.plan-name{font-weight:700;font-size:1.02rem;}
.price{font-family:var(--display);font-size:3rem;line-height:1;margin:.9rem 0 .2rem;}
.price small{font-family:'Work Sans',sans-serif;font-size:.85rem;font-weight:600;color:var(--ink-faint);letter-spacing:.02em;margin-left:.3rem;}
.plan p{color:var(--ink-dim);font-size:.93rem;margin-top:.8rem;}
/* what a plan includes, as short dash lines */
.plan-list{list-style:none;margin-top:.9rem;color:var(--ink-dim);font-size:.93rem;line-height:1.5;}
.plan-list li{position:relative;padding-left:1.1rem;}
.plan-list li + li{margin-top:.45rem;}
.plan-list li::before{content:'\2013';position:absolute;left:0;color:var(--pink);font-weight:700;}
/* price list (moved from the home page, 9 Oct 2026): four memberships + pass / single lesson,
   green note on plans with a founder price (links to the offer on the home page) */
.plans.four{grid-template-columns:repeat(4,1fr);}
@media (max-width:1000px){.plans.four{grid-template-columns:repeat(2,1fr);}}
@media (max-width:820px){.plans,.plans.two,.plans.four{grid-template-columns:1fr;}}
.price-group{display:flex;align-items:center;gap:1rem;margin:2.6rem 0 0;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);}
.price-group::before,.price-group::after{content:'';flex:1;height:1px;background:var(--hairline);}
.price-group + .plans{margin-top:1.2rem;}
.fd-badge{display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1.1rem;font-size:.8125rem;font-weight:600;color:#6fdca2;text-decoration:none;}
.fd-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto;}
.fd-badge:hover{text-decoration:underline;}
.price-note{font-size:.8125rem;color:var(--ink-faint);margin-top:.2rem;}

/* tick list */
.checks{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem 2rem;margin-top:1.8rem;text-align:left;}
.checks li{position:relative;padding-left:1.7rem;color:var(--ink-dim);font-size:.95rem;line-height:1.5;}
.checks li::before{content:'';position:absolute;left:.15rem;top:.45em;width:10px;height:6px;border-left:2px solid var(--pink);border-bottom:2px solid var(--pink);transform:rotate(-45deg);}
.checks li b{display:block;color:var(--ink);font-weight:600;font-size:1rem;}
@media (max-width:700px){.checks{grid-template-columns:1fr;}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.8rem;background:var(--pink);color:#0b0a0e;
  font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:4px;
  box-shadow:0 10px 28px rgba(245,125,175,.28);transition:transform .1s;}
.btn:active{transform:scale(.98);}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--hairline);box-shadow:none;}
.btn.ghost:hover{border-color:var(--pink);color:var(--pink);}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.8rem;}

/* pink band (founding offer) */
.band{background:var(--pink-soft);border:1px solid var(--pink);border-radius:8px;padding:2rem 1.5rem;text-align:center;}
.band h2{margin-top:.6rem;}
.band .sub{margin:0 auto;color:var(--ink);}

/* picture beside text */
.split{display:grid;grid-template-columns:5fr 6fr;gap:2.4rem;align-items:center;}
.split img{width:100%;border-radius:8px;aspect-ratio:4/5;object-fit:cover;}
.split .copy p{color:var(--ink-dim);font-size:1.02rem;}
.split .copy p.big{color:var(--ink);font-size:1.2rem;line-height:1.5;}
.split .copy p.eyebrow{color:var(--pink);font-size:.8rem;}
@media (max-width:820px){.split{grid-template-columns:1fr;gap:1.6rem;}.split img{aspect-ratio:4/3;}}

/* three steps with pictures */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;text-align:left;}
.step{background:var(--card);border:1px solid var(--hairline);border-radius:8px;overflow:hidden;}
.step img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.step div{padding:1.2rem 1.3rem 1.5rem;}
.step .num{font-family:var(--display);color:var(--pink);font-size:1.4rem;line-height:1;}
.step h3{font-size:1.05rem;margin:.4rem 0 .5rem;}
.step p{color:var(--ink-dim);font-size:.93rem;}
@media (max-width:820px){.steps{grid-template-columns:1fr;}}

.fine{color:var(--ink-faint);font-size:.82rem;margin-top:1.4rem;}
.quote{font-family:var(--display);font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.05;letter-spacing:-.01em;}
.quote span{color:var(--pink);}

footer{border-top:1px solid var(--hairline);padding:2.4rem 1.25rem 3rem;text-align:center;color:var(--ink-faint);font-size:.82rem;line-height:1.9;}
footer .fmark{font-family:'Anton','LRA Display',sans-serif;font-size:15px;color:var(--ink);letter-spacing:.06em;}

/* The upcoming-classes list (.sched…) is styled by gforce-schedule.js itself, so it can sit on any page. */
.sched{max-width:720px;margin:2rem auto 0;}
