
:root { --ink:#090a0a; --paper:#f0efe9; --acid:#a8c83b; --line:rgba(255,255,255,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#fff; font-family:Arial,Helvetica,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
em { color:var(--acid); font-style:normal; }

.site-header { height:82px; padding:0 4.5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:20; width:100%; background:#090a0a; }
.brand { display:flex; align-items:center; gap:10px; }
.brand img { width:58px; height:58px; object-fit:cover; border-radius:50%; }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand b { font-size:13px; letter-spacing:.06em; }
.brand small { color:#9fac52; font-size:8px; letter-spacing:.32em; margin-top:5px; }
.desktop-nav { display:flex; gap:34px; font-size:13px; color:#d1d2cd; }
.desktop-nav a:hover { color:var(--acid); }
.header-cta { display:flex; gap:10px; align-items:center; font-size:13px; font-weight:700; border-bottom:1px solid var(--acid); padding-bottom:6px; }
.mobile-menu { display:none; }

.hero { min-height:calc(100svh - 82px); height:auto; position:relative; overflow:hidden; display:flex; align-items:flex-start; padding:100px 6vw 110px; }
.hero-glow { position:absolute; inset:0; background:radial-gradient(circle at 82% 43%,rgba(168,200,59,.16),transparent 24%),linear-gradient(90deg,#090a0a 0%,#090a0a 39%,rgba(9,10,10,.35) 63%,#090a0a 100%); z-index:1; }
.hero-copy { position:relative; z-index:4; width:60%; max-width:840px; }
.eyebrow { font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:10px; color:#c7c8c2; margin:0 0 26px; }
.eyebrow span { display:inline-block; width:28px; height:2px; background:var(--acid); }
.eyebrow.dark { color:#565751; }
.hero-title,.manifesto h2,.section-heading h2,.method h2,.local h2,.cta-section h2 { font-size:clamp(58px,7.3vw,118px); letter-spacing:-.075em; line-height:.83; margin:0; font-weight:950; }
.hero-intro { color:#c0c1bc; font-size:17px; line-height:1.6; max-width:510px; margin:36px 0 34px; }
.hero-actions { display:flex; align-items:center; gap:34px; }
.hero-prices { display:flex; gap:28px; margin-top:28px; color:#bfc0bb; font-size:13px; }
.hero-prices span { border-left:2px solid var(--acid); padding-left:12px; }
.hero-prices b { color:#fff; display:block; font-size:16px; margin-bottom:3px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:55px; padding:0 24px; font-weight:850; font-size:14px; transition:.25s ease; }
.button-primary { background:var(--acid); color:#0b0c0b; }
.button-primary:hover { background:white; transform:translateY(-2px); }
.text-link { font-size:13px; display:flex; gap:9px; align-items:center; color:#d3d4ce; }
.hero-image-wrap { position:absolute; inset:0 0 0 40%; overflow:hidden; }
.hero-image { height:100%; background:radial-gradient(circle at 58% 52%,rgba(168,200,59,.20),transparent 19%),linear-gradient(90deg,#090a0a 0%,transparent 36%,rgba(9,10,10,.1)),url('/fa-coaching-hero.png') center/cover no-repeat; filter:contrast(1.08) saturate(.82); }
.hero-scroll { position:absolute; z-index:6; bottom:28px; right:3.5vw; display:flex; gap:10px; align-items:center; font-size:10px; letter-spacing:.2em; color:#e6e7e2; }
.hero-scroll b { color:var(--acid); font-size:15px; }
.performance-card { position:absolute; z-index:5; right:4vw; bottom:10%; border:1px solid rgba(255,255,255,.18); background:rgba(8,9,8,.72); backdrop-filter:blur(12px); padding:17px 20px; display:flex; gap:13px; font-size:12px; line-height:1.5; }
.pulse-dot { width:8px; height:8px; background:var(--acid); border-radius:50%; margin-top:4px; box-shadow:0 0 0 5px rgba(168,200,59,.12); }

.manifesto { background:var(--paper); color:var(--ink); padding:110px 7vw 120px; }
.manifesto>p { text-transform:uppercase; letter-spacing:.18em; font-weight:800; font-size:11px; margin:0 0 24px; }
.manifesto h2 { font-size:clamp(55px,7vw,108px); max-width:1150px; }
.manifesto-grid { margin:60px 0 0 33%; display:grid; grid-template-columns:1.5fr .7fr; gap:8vw; align-items:end; border-top:1px solid #b8b8b2; padding-top:35px; }
.manifesto-grid>p { max-width:560px; font-size:18px; line-height:1.7; color:#4d4e49; margin:0; }
.stat { display:flex; flex-direction:column; align-items:flex-start; }
.stat strong { font-size:64px; letter-spacing:-.06em; }
.stat span { text-transform:uppercase; letter-spacing:.16em; font-size:10px; }

.offers { background:#e7e6df; color:var(--ink); padding:115px 6vw; }
.section-heading { display:grid; grid-template-columns:2fr 1fr; gap:8vw; align-items:end; }
.section-heading h2 { font-size:clamp(53px,6vw,92px); }
.section-heading>p { color:#5e5f59; line-height:1.7; max-width:380px; margin:0 0 5px; }
.offer-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:70px; border-top:1px solid #aaa; border-left:1px solid #aaa; }
.offer-card { min-height:390px; padding:28px; border-right:1px solid #aaa; border-bottom:1px solid #aaa; display:flex; flex-direction:column; transition:.3s ease; }
.offer-card:hover { background:var(--acid); transform:translateY(-8px); }
.offer-top { display:flex; justify-content:space-between; color:#666; font-size:11px; }
.offer-card h3 { margin:105px 0 18px; font-size:27px; letter-spacing:-.04em; }
.offer-card p { color:#62635e; line-height:1.65; font-size:14px; margin:0; }
.offer-card a { margin-top:auto; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #aaa; padding-top:20px; font-size:12px; font-weight:800; }
.offer-card:hover p,.offer-card:hover .offer-top { color:#111; }
.price-note { max-width:720px; margin:35px 0 0 auto; color:#656660; font-size:13px; line-height:1.7; border-left:2px solid #9fac52; padding-left:18px; }

.pricing { background:var(--paper); color:var(--ink); padding:115px 6vw; }
.pricing-heading { max-width:1050px; }
.pricing-heading h2 { font-size:clamp(48px,5.6vw,88px); letter-spacing:-.07em; line-height:.88; margin:0; font-weight:950; }
.pricing-heading>p:last-child { max-width:640px; color:#5b5c56; font-size:16px; line-height:1.7; margin:30px 0 0; }
.pricing-grid { display:grid; grid-template-columns:.78fr 1.1fr 1.1fr; gap:14px; align-items:stretch; margin-top:58px; }
.price-card { background:#fff; border:1px solid #c7c7c1; padding:32px; min-height:520px; display:flex; flex-direction:column; }
.price-card.featured { background:#111210; color:#fff; border-color:#111210; transform:translateY(-12px); }
.price-card>h3 { font-weight:800; font-size:18px; line-height:1.35; margin:20px 0; }
.price-card>strong { font-size:44px; letter-spacing:-.055em; line-height:1; margin-bottom:18px; }
.price-card>strong small { font-size:15px; letter-spacing:0; margin-left:5px; }
.price-card.simple>small { color:#6d6e68; font-size:13px; }
.price-card.simple>p:last-of-type { color:#62635d; line-height:1.65; margin-top:48px; }
.price-tag { color:#718123; letter-spacing:.16em; font-size:11px; font-weight:900; }
.featured .price-tag { color:var(--acid); }
.price-card ul { list-style:none; padding:0; margin:18px 0; border-top:1px solid #ccc; }
.price-card.featured ul { border-color:#3e403b; }
.price-card li { display:flex; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid #ccc; font-size:14px; }
.price-card.featured li { border-color:#3e403b; }
.included { color:#696a64; font-size:13px; line-height:1.6; margin-bottom:24px; }
.featured .included { color:#a6a7a2; }
.price-card>a { margin-top:auto; font-size:14px; font-weight:850; border-top:1px solid #aaa; padding-top:18px; }
.featured>a { color:var(--acid); border-color:#3e403b; }
.pricing-footnote { color:#686963; font-size:13px; line-height:1.65; max-width:1040px; margin:30px auto 0; }

.method { display:grid; grid-template-columns:1.3fr .7fr; min-height:790px; }
.method-panel { padding:110px 8vw 90px 6vw; background:#101110; }
.method h2 { font-size:clamp(52px,5vw,80px); letter-spacing:-.055em; line-height:.92; }
.method-copy { color:#aaa; max-width:480px; line-height:1.7; margin:35px 0 40px; }
.steps { border-top:1px solid var(--line); }
.steps>div { display:grid; grid-template-columns:55px 1fr; gap:15px; padding:20px 0; border-bottom:1px solid var(--line); }
.steps strong { color:var(--acid); font-size:11px; }
.steps span { display:flex; justify-content:space-between; gap:20px; }
.steps b { font-size:16px; }
.steps small { color:#878983; max-width:270px; line-height:1.5; }
.goal-panel { background:var(--acid); color:var(--ink); padding:70px 4vw; position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.goal-kicker { position:absolute; top:34px; right:34px; font-size:9px; letter-spacing:.2em; font-weight:900; }
.goal-number { position:absolute; top:-50px; left:-12px; font-size:250px; font-weight:950; margin:0; color:rgba(0,0,0,.07); letter-spacing:-.09em; }
.goal-panel h3 { font-size:30px; line-height:1.16; letter-spacing:-.04em; margin:0 0 45px; position:relative; }
.goal-panel ul { padding:0; margin:0; list-style:none; }
.goal-panel li { display:flex; align-items:center; gap:12px; border-top:1px solid rgba(0,0,0,.25); padding:17px 0; font-size:13px; font-weight:700; }

.recovery { background:#e7e6df; color:var(--ink); padding:110px 7vw; display:grid; grid-template-columns:.35fr 1.3fr 1fr; gap:5vw; align-items:center; }
.recovery-icon { width:90px; height:90px; display:grid; place-items:center; border:1px solid #aaa; border-radius:50%; color:#76842d; }
.recovery h2,.professionals h2,.about h2 { font-size:clamp(48px,5.2vw,82px); letter-spacing:-.07em; line-height:.88; margin:0; font-weight:950; }
.recovery-copy p { color:#50514c; line-height:1.7; margin:0 0 22px; }
.recovery-copy small { display:block; color:#6d6e68; line-height:1.55; border-top:1px solid #b8b8b2; padding-top:18px; }

.professionals { padding:115px 6vw; background:#0d0e0d; }
.pro-heading { display:grid; grid-template-columns:2fr 1fr; gap:8vw; align-items:end; }
.pro-heading>p { color:#a9aaa5; line-height:1.7; margin:0; }
.pro-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:65px; background:#30312e; border:1px solid #30312e; }
.pro-grid article { background:#121312; padding:40px; min-height:330px; display:flex; flex-direction:column; }
.pro-grid svg { color:var(--acid); }
.pro-grid h3 { font-size:25px; letter-spacing:-.04em; margin:75px 0 18px; }
.pro-grid p { color:#9fa09b; font-size:14px; line-height:1.65; margin:0 0 30px; }
.pro-grid a { margin-top:auto; display:flex; justify-content:space-between; align-items:center; color:#d8d9d4; font-size:12px; font-weight:800; border-top:1px solid #353633; padding-top:18px; }
.pro-grid a:hover { color:var(--acid); }
.partner-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:65px; background:#30312e; border:1px solid #30312e; }
.partner-grid article { background:#121312; padding:44px; min-height:390px; display:flex; flex-direction:column; }
.partner-place { color:var(--acid); letter-spacing:.16em; font-size:12px; font-weight:900; }
.partner-grid h3 { font-size:30px; letter-spacing:-.04em; margin:65px 0 20px; }
.partner-grid p { color:#b2b3ae; font-size:16px; line-height:1.7; margin:0; }
.partner-grid small { color:#7f807b; font-size:13px; line-height:1.55; margin:20px 0; }
.partner-grid a { margin-top:auto; display:flex; justify-content:space-between; align-items:center; color:#d8d9d4; font-size:14px; font-weight:800; border-top:1px solid #353633; padding-top:18px; }
.partner-grid a:hover { color:var(--acid); }

.about { background:var(--paper); color:var(--ink); padding:115px 7vw; display:grid; grid-template-columns:.7fr 1.6fr; gap:8vw; align-items:center; }
.about-photo { width:min(430px,100%); aspect-ratio:1; border-radius:50%; background:#030407; overflow:hidden; box-shadow:0 25px 70px rgba(0,0,0,.18); border:8px solid #fff; }
.about-photo img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; }
.about-copy>p:not(.eyebrow) { color:#51524d; max-width:760px; font-size:17px; line-height:1.75; margin:35px 0; }
.credentials { display:flex; flex-wrap:wrap; gap:12px; }
.credentials span { display:flex; align-items:center; gap:9px; border:1px solid #b6b6b0; padding:13px 16px; font-size:12px; font-weight:750; }
.credentials svg { color:#7f902e; }

.local { background:var(--paper); color:var(--ink); padding:120px 7vw; display:grid; grid-template-columns:.6fr 1.5fr 1fr; gap:6vw; align-items:center; position:relative; overflow:hidden; }
.local-logo { width:min(250px,22vw); aspect-ratio:1; border-radius:50%; overflow:hidden; background:#030407; box-shadow:0 22px 60px rgba(0,0,0,.16); }
.local-logo img { width:100%; height:100%; object-fit:cover; display:block; }
.local h2 { font-size:clamp(50px,5.5vw,85px); }
.local-copy { border-left:3px solid var(--acid); padding-left:25px; }
.local-copy svg { color:#7da300; margin-bottom:18px; }
.local-copy p { color:#555650; line-height:1.7; margin:0; }
.local-copy .button { margin-top:26px; }
.button-dark { background:#111210; color:#fff; }
.button-dark:hover { background:#28300f; color:var(--acid); transform:translateY(-2px); }

.cta-section { padding:125px 6vw; text-align:center; display:flex; align-items:center; flex-direction:column; background:radial-gradient(circle at 50% 10%,#292b27,#0a0b0a 52%); }
.cta-section h2 { font-size:clamp(58px,7vw,105px); }
.cta-section>p:not(.eyebrow) { color:#aaa; max-width:570px; line-height:1.7; margin:32px 0; }
.button.large { min-height:65px; padding:0 34px; }
.email-link { margin-top:20px; color:#d4d5cf; font-size:13px; border-bottom:1px solid #676963; padding-bottom:5px; }
.email-link:hover { color:var(--acid); border-color:var(--acid); }
.cta-section small { color:#747670; margin-top:18px; }
.contact-section { padding:115px 6vw; background:radial-gradient(circle at 20% 20%,#292b27,#0a0b0a 48%); display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; }
.contact-intro h2 { font-size:clamp(54px,6.2vw,94px); letter-spacing:-.075em; line-height:.84; margin:0; font-weight:950; }
.contact-intro>p:not(.eyebrow) { color:#aaa; font-size:16px; line-height:1.7; max-width:520px; margin:30px 0; }
.direct-contact { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.direct-contact a { color:#d7d8d3; font-size:16px; border-bottom:1px solid #5b5d57; padding-bottom:4px; }
.direct-contact a:hover { color:var(--acid); border-color:var(--acid); }
.contact-form { background:#151614; border:1px solid #343632; padding:38px; display:flex; flex-direction:column; gap:20px; }
.form-row { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.contact-form label { display:flex; flex-direction:column; gap:9px; color:#d8d9d4; font-size:14px; font-weight:700; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #474943; background:#0e0f0e; color:#fff; padding:14px 15px; font:inherit; border-radius:0; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:2px solid var(--acid); outline-offset:1px; border-color:transparent; }
.contact-form textarea { resize:vertical; }
.contact-form .button { border:0; cursor:pointer; margin-top:4px; }
.contact-form>small { color:#858780; font-size:12px; line-height:1.5; }
.form-confirmation { display:none; padding:28px 6vw; background:var(--acid); color:#10110f; text-align:center; }
.form-confirmation:target { display:flex; flex-direction:column; gap:5px; }
.form-confirmation strong { font-size:20px; }
footer { min-height:110px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid var(--line); padding:0 5vw; color:#8f908b; font-size:11px; }
.footer-logo img { width:120px; height:120px; object-fit:cover; display:block; }

@media (max-width:1180px) {
  .desktop-nav,.header-cta { display:none; } .mobile-menu { display:block; }
  .hero { min-height:740px; height:auto; padding:90px 5vw 70px; align-items:flex-start; } .hero-copy { width:78%; } .hero-title { font-size:clamp(54px,8.2vw,88px); line-height:.9; } .hero-image-wrap { left:28%; opacity:.7; }
  .offer-grid { grid-template-columns:repeat(2,1fr); } .method { grid-template-columns:1fr; } .goal-panel { min-height:550px; }
  .pricing-grid { grid-template-columns:1fr; } .price-card.featured { transform:none; }
  .contact-section { grid-template-columns:1fr; gap:55px; }
  .local { grid-template-columns:.5fr 1.4fr; } .local-copy { grid-column:2; }
  .recovery { grid-template-columns:.35fr 1.65fr; } .recovery-copy { grid-column:2; }
  .about { grid-template-columns:.65fr 1.35fr; }
}
@media (max-width:650px) {
  .site-header { height:68px; } .brand img { width:48px; height:48px; } .brand b { font-size:11px; } .hero { min-height:720px; height:auto; padding:120px 6vw 75px; align-items:flex-start; }
  .hero-glow { background:linear-gradient(90deg,rgba(9,10,10,.98),rgba(9,10,10,.73)); } .hero-copy { width:100%; } .hero-title { font-size:52px; }
  .hero-image-wrap { left:0; opacity:.42; } .hero-intro { font-size:16px; } .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero-prices { flex-direction:column; gap:12px; }
  .hero-index,.hero-scroll,.performance-card { display:none; }
  .manifesto,.offers,.method-panel,.local,.cta-section { padding:80px 6vw; }
  .manifesto h2,.section-heading h2,.method h2,.local h2,.cta-section h2,.professionals h2,.about h2,.pricing-heading h2,.contact-intro h2 { font-size:32px; line-height:.94; letter-spacing:-.055em; overflow-wrap:normal; }
  .manifesto-grid { margin:38px 0 0; grid-template-columns:1fr; } .section-heading { grid-template-columns:1fr; gap:28px; }
  .offer-grid { grid-template-columns:1fr; margin-top:45px; } .offer-card { min-height:330px; } .offer-card h3 { margin-top:70px; }
  .steps span { flex-direction:column; } .goal-panel { min-height:520px; padding:55px 7vw; }
  .recovery,.about { padding:80px 6vw; grid-template-columns:1fr; min-width:0; } .recovery h2 { font-size:36px; }
  .recovery-icon { width:70px; height:70px; } .recovery-copy { grid-column:1; }
  .pricing { padding:80px 6vw; } .price-card { min-height:auto; } .pricing-heading h2 { font-size:46px; }
  .professionals { padding:80px 6vw; } .pro-heading { grid-template-columns:1fr; gap:28px; } .pro-grid,.partner-grid { grid-template-columns:1fr; margin-top:45px; }
  .pro-grid article { min-height:300px; } .about-photo { width:100%; max-width:360px; } .about-copy,.manifesto,.manifesto-grid { min-width:0; max-width:100%; } .about-copy>p:not(.eyebrow) { font-size:16px; overflow-wrap:anywhere; } .credentials span { max-width:100%; line-height:1.4; }
  .partner-grid article { min-height:350px; padding:32px; } .form-row { grid-template-columns:1fr; } .contact-form { padding:25px; } .contact-section { padding:80px 6vw; }
  .local { grid-template-columns:1fr; } .local-logo { width:190px; margin-bottom:10px; } .local-copy { grid-column:1; }
  footer { padding:35px 6vw; flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
