/* ===========================================================================
   Feel Alive Again — page-specific styles.
   Kept in an external file (not inline) because the site's Content-Security-
   Policy forbids inline <style> and style="" attributes. Builds on the shared
   brand tokens from style.css.
   =========================================================================== */

.fa-header {
  position: relative; z-index: 5;
  padding: var(--s-5) 0;
  background: var(--bg);
}
.fa-header .container { display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); }
.fa-tag {
  flex: 0 0 auto; text-align: center; line-height: 1.25;
  font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold-deep); background: #F4E9D4; border: 1px solid var(--gold-soft);
  padding: 0.42rem 0.9rem; border-radius: var(--radius-full);
}
/* Mobile header: declutter so the tag isn't crowding the logo */
@media (max-width: 620px) {
  .fa-header { padding: var(--s-4) 0; }
  .nav-logo-tagline { display: none; }
  .fa-tag { font-size: 0.6rem; letter-spacing: 0.1em; padding: 0.38rem 0.72rem; max-width: 118px; }
}

/* ===== Hero (Warm Ivory & Gold) ===== */
.fa-hero {
  position: relative; overflow: hidden; color: var(--ink);
  padding: var(--s-20) 0 var(--s-16);
  background:
    radial-gradient(130% 90% at 50% -20%, rgba(201,146,45,0.42) 0%, rgba(201,146,45,0) 58%),
    linear-gradient(180deg, #FBF2DF 0%, #EFDCB4 100%);
  border-bottom: 1px solid var(--gold-soft);
}
.fa-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(55% 40% at 50% 118%, rgba(184,137,58,0.12), rgba(184,137,58,0) 70%);
}
.fa-hero .container { position: relative; z-index: 2; max-width: 1120px; }

/* Split hero: copy + Coach Mark portrait */
.fa-hero-grid { display: grid; grid-template-columns: 1fr; gap: var(--s-10); align-items: center; }
.fa-hero-copy { text-align: center; }
.fa-hero-copy .fa-eyebrow { margin-top: 0; }
.fa-hero-portrait { position: relative; width: 100%; max-width: 232px; margin: 0 auto; order: -1; }
.fa-hero-portrait img {
  position: relative; z-index: 1; width: 100%; height: auto; display: block;
  aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 14%;
  border-radius: var(--radius-l); border: 1px solid var(--gold-soft); box-shadow: var(--shadow-l);
  filter: saturate(1.06) contrast(1.03) brightness(1.02) sepia(0.05);
}
.fa-hero-portrait::after {
  content: ""; position: absolute; z-index: 0; right: -13px; bottom: -13px;
  width: 100%; height: 100%; border: 1.5px solid var(--gold); border-radius: var(--radius-l);
}
.fa-age-badge {
  position: absolute; z-index: 2; left: 50%; bottom: 14px; transform: translateX(-50%);
  display: inline-flex; align-items: baseline; gap: 0.28rem; white-space: nowrap;
  background: linear-gradient(180deg, #CE9C42 0%, #A9792B 100%); color: #FFF9EC;
  font-family: var(--font-display); font-size: 0.8rem; letter-spacing: 0.01em;
  padding: 0.38rem 0.85rem; border-radius: var(--radius-full);
  border: 1px solid rgba(255, 249, 236, 0.3); box-shadow: var(--shadow-m);
}
.fa-age-badge b { font-size: 1.3rem; font-weight: 600; line-height: 1; }
@media (min-width: 900px) {
  .fa-hero-grid { grid-template-columns: 1.05fr 0.95fr; gap: var(--s-16); }
  .fa-hero-copy { text-align: left; }
  .fa-hero-copy .fa-triad, .fa-hero-copy .fa-meta { justify-content: flex-start; }
  .fa-hero-copy .fa-lead, .fa-hero-copy .fa-meta { margin-left: 0; margin-right: 0; }
  .fa-hero-portrait { order: 0; max-width: 420px; margin: 0; }
  .fa-hero-portrait img { aspect-ratio: 4 / 5; object-position: 50% 12%; }
}
.fa-eyebrow {
  display: inline-block; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--gold-deep); margin-bottom: var(--s-5);
}
.fa-hero h1 {
  font-family: var(--font-display); font-weight: 600; color: #241B0E;
  font-size: clamp(2.75rem, 9vw, 4.75rem); line-height: 0.98; letter-spacing: -0.01em;
  margin: 0 0 var(--s-5);
}
.fa-lead {
  font-size: clamp(1.1rem, 2.6vw, 1.4rem); line-height: 1.5; color: #4A3F30;
  max-width: 34ch; margin: 0 auto var(--s-6);
}

/* Rich espresso CTAs — strong contrast against the warm cream (premium, not green) */
.fa-hero .btn-gold,
.fa-reg-card .btn-gold {
  background: linear-gradient(180deg, #342A1C 0%, #241B0E 100%);
  color: #F7EBD2; border: 1px solid #241B0E;
}
.fa-hero .btn-gold:hover, .fa-hero .btn-gold:focus-visible,
.fa-reg-card .btn-gold:hover, .fa-reg-card .btn-gold:focus-visible {
  background: linear-gradient(180deg, #43361F 0%, #2E2414 100%); color: #FFFFFF;
}
.fa-triad {
  display: inline-flex; align-items: center; gap: 0.6rem; margin-bottom: var(--s-6);
  font-family: var(--font-display); font-style: italic; font-size: 1.1rem;
  color: var(--gold-deep);
}
.fa-triad span { opacity: 0.45; }
.fa-meta {
  display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-2) var(--s-4);
  margin: 0 auto var(--s-8); color: var(--ink-2); font-size: 0.9375rem;
  max-width: 40ch;
}
.fa-meta b { color: var(--ink); font-weight: 600; }
.fa-hero .btn-gold { box-shadow: var(--shadow-gold); }
.fa-hero-note { margin-top: var(--s-4); font-size: 0.8125rem; color: var(--ink-3); }

/* ===== Content sections ===== */
.fa-section { padding-block: var(--s-16); }
.fa-section .container { max-width: var(--content-width); }
.fa-kicker {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: var(--s-3);
}
.fa-section h2 {
  font-family: var(--font-display); font-weight: 500; letter-spacing: -0.01em;
  font-size: clamp(1.75rem, 4.5vw, 2.5rem); line-height: 1.1; color: var(--ink); margin: 0 0 var(--s-5);
}
.fa-section p { font-size: 1.0625rem; line-height: 1.75; color: var(--ink-2); margin: 0 0 var(--s-4); }
.fa-section p:last-child { margin-bottom: 0; }
.fa-section strong { color: var(--ink); font-weight: 600; }

/* Utility classes (replace inline style="" attributes, which CSP blocks) */
.fa-center { text-align: center; }
.fa-section p.fa-reg-intro { margin-bottom: var(--s-8); }

/* Warm neutral section bands (override the site's green section tints on this page) */
.fa-section.section--tint { background: linear-gradient(180deg, #F4E8CE 0%, #ECDCBB 100%); }
.fa-section.section--warm { background: linear-gradient(180deg, #FAF1DE 0%, #F3E6C8 100%); }

.fa-list { list-style: none; margin: var(--s-4) 0 0; padding: 0; display: grid; gap: var(--s-4); }
.fa-list li { position: relative; padding-left: 2rem; font-size: 1.0625rem; line-height: 1.6; color: var(--ink-2); }
.fa-list li::before {
  content: ""; position: absolute; left: 0; top: 0.5rem; width: 10px; height: 10px;
  border-radius: var(--radius-full); background: var(--gold); box-shadow: 0 0 0 4px rgba(184,137,58,0.14);
}

/* Spirit / Soul / Body callout (rich espresso + gold — the page's dramatic anchor) */
.fa-triad-block {
  background: linear-gradient(165deg, #2C2216 0%, #1D1509 100%); color: #F7EBD2;
  border: 1px solid rgba(206,156,66,0.35); box-shadow: var(--shadow-l);
  border-radius: var(--radius-l); padding: var(--s-12) var(--s-8); text-align: center;
}
.fa-triad-block h2 { color: #FBF4E6; }
.fa-triad-block p { color: rgba(247,235,210,0.82); max-width: 48ch; margin-inline: auto; }
.fa-triad-words {
  display: inline-flex; gap: 0.6rem; margin-bottom: var(--s-5); font-family: var(--font-display);
  font-style: italic; font-size: 1.25rem; color: #DBB36A;
}
.fa-triad-words span { opacity: 0.55; }

/* Coach */
.fa-coach { display: flex; gap: var(--s-6); align-items: center; flex-wrap: wrap; }
.fa-coach-badge {
  flex: 0 0 auto; width: 108px; height: 108px; border-radius: var(--radius-l);
  overflow: hidden; background: var(--bg-warm);
  border: 1px solid var(--gold-soft); box-shadow: var(--shadow-m);
}
.fa-coach-badge img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; }
.fa-coach-body { flex: 1 1 260px; }
.fa-coach-body .fa-kicker { margin-bottom: var(--s-2); }
.fa-coach-body h2 { margin-bottom: var(--s-3); }

/* Registration */
#register { scroll-margin-top: 2rem; }
.fa-reg-card { max-width: 480px; margin: 0 auto; }
.fa-reg-card .form-group { margin-bottom: var(--s-4); }
.fa-reg-card .form-submit { width: 100%; margin-top: var(--s-2); }
.fa-optional { color: var(--ink-3); font-weight: 400; }
.fa-done { display: none; }
.fa-done .form-success-icon {
  width: 56px; height: 56px; border-radius: var(--radius-full); background: var(--bg-cool);
  display: grid; place-items: center; margin: 0 auto var(--s-5); font-size: 1.75rem;
}

/* Footer trim */
.fa-foot { padding: var(--s-10) 0; background: var(--surface); border-top: 1px solid var(--border); }
.fa-foot .container { display: flex; flex-wrap: wrap; gap: var(--s-4); align-items: center; justify-content: space-between; }
.fa-foot-logo { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; color: var(--ink); font-weight: 600; }
.fa-foot-logo img { width: 32px; height: 32px; }
.fa-foot-links { display: flex; gap: var(--s-5); font-size: 0.875rem; }
.fa-foot-links a { color: var(--ink-2); text-decoration: none; }
.fa-foot-links a:hover { color: var(--ink); }
.fa-foot-copy { width: 100%; font-size: 0.8125rem; color: var(--ink-3); margin-top: var(--s-2); }
