/* Base styles used by all AI Personal Trainer landing page sections */

:root{
  --tfc-navy:#071126;
  --tfc-navy-2:#0b1733;
  --tfc-blue:#156bff;
  --tfc-blue-2:#3157ff;
  --tfc-purple:#7c3aed;
  --tfc-mint:#14b8a6;
  --tfc-ink:#071126;
  --tfc-muted:#5b6678;
  --tfc-soft:#f4f8ff;
  --tfc-soft-2:#eef5ff;
  --tfc-card:#ffffff;
  --tfc-border:#dce8f7;
  --tfc-shadow:0 22px 60px rgba(15,23,42,.11);
  --tfc-shadow-soft:0 14px 36px rgba(15,23,42,.075);
  --tfc-radius:28px;
}

.tfc-apt-page{
  background:
    radial-gradient(circle at 10% 5%, rgba(21,107,255,.10), transparent 34%),
    radial-gradient(circle at 90% 0%, rgba(124,58,237,.10), transparent 30%),
    linear-gradient(180deg,#f5f9ff 0%,#ffffff 36%,#f7fbff 100%);
  color:var(--tfc-ink);
  overflow:hidden;
}

.tfc-apt-page *,
.tfc-apt-page *::before,
.tfc-apt-page *::after{ box-sizing:border-box; }

.tfc-apt-page a{ color:inherit; }

.tfc-apt-section{
  position:relative;
  padding:72px 20px;
}

.tfc-apt-section--tight{ padding:42px 20px; }

.tfc-apt-inner{
  width:min(1160px,100%);
  margin:0 auto;
}

.tfc-apt-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding:8px 12px;
  border:1px solid rgba(21,107,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#174ea6;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}

.tfc-apt-h1,
.tfc-apt-h2,
.tfc-apt-h3{
  margin:0;
  color:var(--tfc-ink);
  letter-spacing:-.06em;
  line-height:.96;
  font-weight:1000;
}

.tfc-apt-h1{
  max-width:900px;
  font-size:clamp(52px,8vw,104px);
  text-wrap:balance;
}

.tfc-apt-h1 span,
.tfc-apt-gradient-text{
  background:linear-gradient(90deg,var(--tfc-blue),var(--tfc-blue-2),var(--tfc-purple));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.tfc-apt-h2{
  max-width:860px;
  font-size:clamp(34px,5vw,62px);
  text-wrap:balance;
}

.tfc-apt-h3{
  font-size:clamp(22px,2.5vw,30px);
  letter-spacing:-.045em;
  line-height:1.02;
}

.tfc-apt-lead{
  max-width:780px;
  margin:20px 0 0;
  color:var(--tfc-muted);
  font-size:clamp(18px,2vw,23px);
  line-height:1.42;
  font-weight:800;
}

.tfc-apt-copy{
  color:var(--tfc-muted);
  font-size:17px;
  line-height:1.72;
  font-weight:650;
}

.tfc-apt-copy strong{
  color:var(--tfc-ink);
  font-weight:950;
}

.tfc-apt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:28px;
}

.tfc-apt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:950;
  letter-spacing:-.02em;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tfc-apt-btn:hover{ transform:translateY(-2px); }

.tfc-apt-btn--primary{
  color:#fff!important;
  background:linear-gradient(135deg,var(--tfc-blue),var(--tfc-purple));
  box-shadow:0 18px 34px rgba(21,107,255,.25);
}

.tfc-apt-btn--secondary{
  color:var(--tfc-ink)!important;
  background:#fff;
  border:1px solid var(--tfc-border);
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}

.tfc-apt-note{
  margin-top:18px;
  color:#667085;
  font-size:14px;
  font-weight:800;
}

.tfc-apt-icon{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(21,107,255,.12),rgba(124,58,237,.12));
  color:#155eef;
  margin-bottom:12px;
}

.tfc-apt-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tfc-apt-center{ text-align:center; }

.tfc-apt-center .tfc-apt-eyebrow,
.tfc-apt-center .tfc-apt-h2,
.tfc-apt-center .tfc-apt-lead{
  margin-left:auto;
  margin-right:auto;
}

@media (max-width: 640px){
  .tfc-apt-section{ padding:56px 16px; }
  .tfc-apt-section--tight{ padding:32px 16px; }
  .tfc-apt-h1{ font-size:clamp(46px,15vw,64px); }
  .tfc-apt-lead{ font-size:17px; }
  .tfc-apt-actions{ align-items:stretch; }
  .tfc-apt-btn{ width:100%; }
}
