/* ===========
   TXF Base Styles
   =========== */
:root{
  --bg:#0b0f2b;
  --text:#edf3ff;
  --muted:#b5c6ff;
  --brand:#1e66ff;        /* sand/tan from logo ring */
  --accent:#ff3b5c;       /* gold accent for X vibes */
  --card:#0f1640;
  --border:#1b2359;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:linear-gradient(180deg, var(--bg), #111);
  line-height:1.6;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--text); text-decoration:none}
a:hover{opacity:.9}
.container{width:100%; max-width:1100px; margin:0 auto; padding:0 20px}
.narrow{max-width:850px}

.skip-link{
  position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:static; width:auto; height:auto; padding:8px 12px; background:#222; color:#fff;
}

.site-header{
  position:sticky; top:0; z-index:1000; backdrop-filter: blur(10px);
  background: rgba(11,15,43,.65); border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.04em}
.logo{width:44px; height:44px}
.logo.small{width:28px; height:28px}
.brand-text{font-weight:800; font-size:1.05rem}

.nav-toggle{display:none; background:none; border:1px solid var(--border); color:var(--text); padding:6px 10px; border-radius:8px}
.nav-menu{list-style:none; display:flex; gap:20px; margin:0; padding:0; align-items:center}
.nav-menu a{padding:8px 10px; border-radius:10px}
.nav-menu a:hover{background:#1b1b1b}

.btn{display:inline-block; padding:12px 16px; border-radius:12px; border:1px solid var(--border); box-shadow:var(--shadow); font-weight:600}
.btn-primary{background:var(--accent); color:#fff; border:none; padding:12px 28px; border-radius:6px; font-weight:600;}
.btn-secondary{background:#1b1b1b; color:#fff}

.hero{
  padding:64px 0 40px;
  background: radial-gradient(1200px 600px at 80% 0%, rgba(199,162,124,.2), transparent 60%);
}
.hero-inner{display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:28px}
.hero-copy h1{font-size: clamp(2rem, 3.6vw, 3rem); line-height:1.15; margin:0 0 12px}
.subhead{color:var(--muted); font-size:1.05rem}
.cta-row{display:flex; gap:12px; margin-top:16px}
.hero-logo{width:260px; margin:0 auto}

.section{padding:64px 0; border-top:1px solid var(--border)}
.section.alt{background:linear-gradient(180deg, #0f0f0f, #121212)}
.section h2{font-size:1.8rem; margin:0 0 20px}

.grid{display:grid; gap:20px}
.grid.two{grid-template-columns:repeat(2, 1fr)}
.grid.three{grid-template-columns:repeat(3, 1fr)}
.grid.four{grid-template-columns:repeat(4, 1fr)}

.card{
  background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; box-shadow:var(--shadow)
}
.card h3{margin-top:6px}

.checklist{margin:12px 0 0 0; padding-left:20px}
.checklist li{margin:6px 0}

.feature{background:#121212; border:1px solid var(--border); border-radius:14px; padding:16px}
.feature h4{margin:0 0 8px}

.cta{
  text-align:center;
  background: radial-gradient(600px 300px at 50% 0%, rgba(241,196,15,.15), transparent 60%);
}
.signup{
  margin:18px auto 0; display:flex; gap:10px; max-width:520px; width:100%;
}
.signup input{
  flex:1; padding:12px 14px; border-radius:12px; border:1px solid var(--border); background:#0f0f0f; color:#fff
}
.signup button{white-space:nowrap}
.form-note{color:var(--muted); font-size:.9rem}
.visually-hidden{position:absolute; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden}

.site-footer{border-top:1px solid var(--border); padding:28px 0; background:#0d0d0d}
.footer-inner{display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center}
.footer-brand{display:flex; gap:10px; align-items:center; font-weight:700}
.footer-links{list-style:none; display:flex; gap:16px; margin:0; padding:0; justify-content:flex-end}
.copyright{grid-column:1/-1; color:var(--muted); font-size:.9rem; margin:4px 0 0}

.lead{color:var(--muted); font-size:1.1rem}
.bullets{padding-left:18px}
.bio h3{margin-top:0}
.spacer{height:16px}

/* Responsive */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr; text-align:center}
  .cta-row{justify-content:center}
  .grid.three{grid-template-columns:1fr}
  .grid.four{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start; flex-wrap:wrap}
}
@media (max-width: 600px){
  .grid.two{grid-template-columns:1fr}
  .grid.four{grid-template-columns:1fr}
  .nav-toggle{display:inline-block}
  .nav-menu{display:none; position:absolute; right:20px; top:58px; background:#0f0f0f; border:1px solid var(--border); border-radius:12px; padding:10px; flex-direction:column; gap:10px; width:200px}
  .nav-menu.open{display:flex}
}


/* Header font update */
h1, h2, h3, .section-title { font-family: 'Sigmar', cursive; }


/* Add red underline under the 'For Instructors', 'For Gyms & Studios', and 'For Clients' subtitles */
#benefits h3 {
  border-bottom: 3px solid var(--color-primary);
  display: inline-block;
  padding-bottom: 4px;
}


/* Ensure hero headline spans wider to fit on two lines */
.hero h1 {
  max-width: 1000px;
}


/* Expand hero headline width and adjust font size to fit in two lines */
.hero h1 {
  max-width: 1200px;
  font-size: 3.5rem;
  line-height: 1.2;
  word-break: keep-all;
}
