/* page-activepace.css — extracted from source-mockups/05-activepace.html */
/* This file holds page-specific styles. Tokens live in style.css; reusable
   components in fb-components.css. Move CSS upward when it generalizes. */

:root {
    --navy:#0d1b2a; --navy-soft:#1a2a3d; --teal:#2fa68c; --teal-soft:#d6ebe5;
    --teal-deep:#1f7a66; --cream:#faf7f2; --cream-warm:#f3ede2;
    --ink:#0d1b2a; --ink-mid:#5a6776; --hairline:#e7e1d6;
    --fb-warm:#e8662a; --fb-warm-soft:#f6d4bc; --fb-warm-deep:#c84e15;
    --fb-blue:#21ACCB; --fb-blue-soft:#B8E4ED; --fb-blue-deep:#1A88A3;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Epilogue',sans-serif;background:var(--cream-warm);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .container{max-width:1240px;margin:0 auto;padding:0 32px;}
  .container-tight{max-width:1020px;margin:0 auto;padding:0 32px;}

  /* HEADER (light variant for top of page before hero) */
  .fb-header{padding:26px 0;background:var(--navy);}
  .fb-header .nav-row{display:flex;align-items:center;gap:40px;}
  .fb-header .wordmark{font-family:'Fraunces',serif;font-weight:500;font-size:24px;letter-spacing:-0.01em;color:var(--cream);}
  .fb-header .wordmark .fitness{color:var(--fb-blue);font-style:normal;}
  .fb-header .wordmark em{font-style:italic;color:var(--fb-warm);}
  .fb-header nav.main{display:flex;gap:26px;margin-left:auto;align-items:center;}
  .fb-header nav.main a{font-size:13.5px;font-weight:500;color:rgba(250,247,242,0.8);transition:color 0.18s;position:relative;}
  .fb-header nav.main a:hover{color:var(--fb-warm);}
  .fb-header nav.main a.active{color:var(--fb-warm);}
  .fb-header nav.main a.active::after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:2px;background:var(--fb-warm);border-radius:1px;}
  .fb-header .cta-mini{background:var(--fb-warm);color:var(--cream);padding:11px 22px;border-radius:8px 0 8px 8px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .fb-header .cta-mini:hover{background:var(--cream);color:var(--navy);}

  .crumbs{padding:18px 0;background:var(--navy);border-bottom:1px solid rgba(250,247,242,0.1);font-size:12px;color:rgba(250,247,242,0.55);letter-spacing:0.06em;}
  .crumbs a{color:rgba(250,247,242,0.55);}
  .crumbs a:hover{color:var(--fb-warm);}
  .crumbs .sep{margin:0 10px;color:rgba(250,247,242,0.2);}
  .crumbs em{font-family:'Fraunces',serif;font-style:italic;color:var(--cream);font-weight:500;}

  /* ===== HERO (NAVY, BOLD) ===== */
  .hero{background:var(--navy);color:var(--cream);padding:72px 0 120px;position:relative;overflow:hidden;}
  .hero::before{content:"pace";position:absolute;top:60px;right:-100px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:520px;line-height:1;color:var(--cream);opacity:0.04;letter-spacing:-0.04em;pointer-events:none;}
  .hero .container{position:relative;z-index:2;}
  .hero .row{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;}
  .hero .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:32px;}
  .hero h1{font-family:'Fraunces',serif;font-weight:400;font-size:132px;line-height:0.92;letter-spacing:-0.04em;color:var(--cream);}
  .hero h1 em{font-style:italic;color:var(--fb-warm);}
  .hero .deck{margin-top:32px;font-size:19px;line-height:1.55;color:rgba(250,247,242,0.85);max-width:560px;}
  .hero .deck em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .hero .stats{display:flex;flex-direction:column;gap:20px;border-left:1px solid rgba(250,247,242,0.15);padding-left:40px;}
  .hero .stats .stat .k{font-size:10.5px;text-transform:uppercase;letter-spacing:0.14em;color:rgba(250,247,242,0.55);font-weight:600;margin-bottom:6px;}
  .hero .stats .stat .v{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:28px;color:var(--cream);letter-spacing:-0.015em;}
  .hero .stats .stat .v em{color:var(--fb-warm);}
  .hero .ctas{margin-top:48px;display:flex;gap:14px;flex-wrap:wrap;}
  .btn-warm{background:var(--fb-warm);color:var(--cream);padding:16px 30px;border-radius:10px 0 10px 10px;font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;display:inline-block;}
  .btn-warm:hover{background:var(--cream);color:var(--navy);}
  .btn-ghost-light{border:1px solid rgba(250,247,242,0.4);color:var(--cream);padding:15px 28px;border-radius:10px 0 10px 10px;font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;display:inline-block;}
  .btn-ghost-light:hover{background:var(--cream);color:var(--navy);border-color:var(--cream);}

  /* ===== WHAT IT IS — three components ===== */
  .what{padding:104px 0;background:var(--cream-warm);}
  .what .head{margin-bottom:64px;text-align:center;}
  .what .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .what h2{font-family:'Fraunces',serif;font-weight:400;font-size:60px;line-height:1;letter-spacing:-0.025em;max-width:780px;margin:0 auto;color:var(--navy);}
  .what h2 em{font-style:italic;color:var(--fb-warm);}
  .what .head p{margin:22px auto 0;font-size:16.5px;line-height:1.65;color:var(--ink-mid);max-width:620px;}
  .what .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .what .card{background:var(--cream);border:1px solid var(--hairline);border-radius:14px 0 14px 14px;padding:40px 36px 44px;display:flex;flex-direction:column;}
  .what .card .num{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:14px;color:var(--fb-warm);margin-bottom:18px;letter-spacing:0.04em;}
  .what .card .num::after{content:"";display:inline-block;width:40px;height:1px;background:var(--fb-warm);vertical-align:middle;margin-left:10px;}
  .what .card h3{font-family:'Fraunces',serif;font-weight:500;font-size:36px;line-height:1.02;letter-spacing:-0.022em;color:var(--navy);margin-bottom:18px;}
  .what .card h3 em{font-style:italic;color:var(--fb-warm);}
  .what .card .lead{font-size:15px;line-height:1.6;color:var(--ink);margin-bottom:24px;}
  .what .card .who{margin-top:auto;padding-top:20px;border-top:1px solid var(--hairline);}
  .what .card .who .k{font-size:10.5px;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-mid);font-weight:600;margin-bottom:6px;}
  .what .card .who .v{font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;color:var(--navy);font-weight:500;}
  .what .card .who .v em{color:var(--fb-warm);}

  /* ===== 90-MIN WALKTHROUGH ===== */
  .walk{padding:104px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .walk .head{margin-bottom:56px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;}
  .walk .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .walk h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:var(--navy);}
  .walk h2 em{font-style:italic;color:var(--fb-warm);}
  .walk .head p{font-size:16px;line-height:1.65;color:var(--ink-mid);}
  .walk .head p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .walk .timeline{position:relative;padding-left:40px;}
  .walk .timeline::before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:1px;background:var(--hairline);}
  .walk .step{position:relative;padding-bottom:36px;display:grid;grid-template-columns:130px 1fr;gap:36px;align-items:start;}
  .walk .step:last-child{padding-bottom:0;}
  .walk .step::before{content:"";position:absolute;left:-32px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--cream);border:2px solid var(--fb-warm);}
  .walk .step.active::before{background:var(--fb-warm);}
  .walk .step .time{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:22px;color:var(--fb-warm);letter-spacing:-0.01em;}
  .walk .step .time .dur{display:block;margin-top:2px;font-size:11px;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-mid);font-weight:600;font-style:normal;font-family:'Epilogue',sans-serif;}
  .walk .step h3{font-family:'Fraunces',serif;font-weight:500;font-size:24px;line-height:1.1;letter-spacing:-0.015em;color:var(--navy);margin-bottom:10px;}
  .walk .step h3 em{font-style:italic;color:var(--fb-warm);}
  .walk .step p{font-size:14.5px;line-height:1.6;color:var(--ink);}
  .walk .step p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}

  /* ===== REFERRAL LOOP ===== */
  .loop{padding:104px 0;background:var(--navy);color:var(--cream);position:relative;overflow:hidden;}
  .loop::before{content:"loop";position:absolute;bottom:-100px;left:-60px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:400px;line-height:1;color:var(--cream);opacity:0.03;letter-spacing:-0.04em;}
  .loop .container{position:relative;z-index:2;}
  .loop .head{margin-bottom:56px;text-align:center;}
  .loop .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .loop h2{font-family:'Fraunces',serif;font-weight:400;font-size:60px;line-height:1;letter-spacing:-0.025em;max-width:880px;margin:0 auto;color:var(--cream);}
  .loop h2 em{font-style:italic;color:var(--fb-warm);}
  .loop .head p{margin:22px auto 0;font-size:16.5px;line-height:1.65;color:rgba(250,247,242,0.7);max-width:640px;}
  .loop .ring{display:grid;grid-template-columns:repeat(3,1fr);gap:0;align-items:stretch;border-top:1px solid rgba(250,247,242,0.15);border-bottom:1px solid rgba(250,247,242,0.15);}
  .loop .node{padding:48px 36px;border-right:1px solid rgba(250,247,242,0.15);position:relative;}
  .loop .node:last-child{border-right:none;}
  .loop .node .marker{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:54px;color:var(--fb-warm);line-height:1;margin-bottom:18px;}
  .loop .node h3{font-family:'Fraunces',serif;font-weight:500;font-size:26px;line-height:1.1;letter-spacing:-0.015em;color:var(--cream);margin-bottom:14px;}
  .loop .node h3 em{font-style:italic;color:var(--fb-warm);}
  .loop .node p{font-size:14.5px;line-height:1.6;color:rgba(250,247,242,0.78);margin-bottom:18px;}
  .loop .node p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .loop .node .link{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--fb-warm);border-bottom:1px solid var(--fb-warm);padding-bottom:1px;}
  .loop .closing{margin-top:48px;text-align:center;font-family:'Fraunces',serif;font-style:italic;font-size:20px;color:var(--cream);max-width:680px;margin-left:auto;margin-right:auto;letter-spacing:-0.005em;line-height:1.45;}
  .loop .closing em{color:var(--fb-warm);font-weight:500;}

  /* ===== FIND A PARTNER GYM ===== */
  .gyms{padding:104px 0;background:var(--cream-warm);}
  .gyms .head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;flex-wrap:wrap;gap:24px;}
  .gyms .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .gyms h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:var(--navy);}
  .gyms h2 em{font-style:italic;color:var(--fb-warm);}
  .gyms .head .meta{font-family:'Fraunces',serif;font-style:italic;font-size:16px;color:var(--ink-mid);max-width:340px;text-align:right;}
  .gyms .head .meta em{color:var(--fb-warm);font-weight:500;}
  .gyms .city-row{margin-bottom:48px;}
  .gyms .city-row:last-child{margin-bottom:0;}
  .gyms .city-name{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:24px;color:var(--navy);margin-bottom:18px;letter-spacing:-0.01em;display:flex;align-items:center;gap:18px;}
  .gyms .city-name::after{content:"";flex:1;height:1px;background:var(--hairline);}
  .gyms .city-name .count{font-family:'Epilogue',sans-serif;font-style:normal;font-size:11px;color:var(--ink-mid);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;}
  .gyms .gym-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .gyms .gym{background:var(--cream);border:1px solid var(--hairline);border-radius:10px 0 10px 10px;padding:24px 26px;transition:all 0.18s;}
  .gyms .gym:hover{border-color:var(--fb-warm);}
  .gyms .gym .tier{font-size:10px;text-transform:uppercase;letter-spacing:0.14em;font-weight:700;color:var(--fb-warm);margin-bottom:10px;}
  .gyms .gym .tier.hub{color:var(--fb-warm-deep);}
  .gyms .gym .tier.listed{color:var(--ink-mid);}
  .gyms .gym .name{font-family:'Fraunces',serif;font-weight:500;font-size:19px;color:var(--navy);letter-spacing:-0.01em;margin-bottom:6px;line-height:1.2;}
  .gyms .gym .neigh{font-size:12.5px;color:var(--ink-mid);margin-bottom:12px;}
  .gyms .gym .feat{font-size:12px;color:var(--ink);padding-top:10px;border-top:1px solid var(--hairline);font-family:'Fraunces',serif;font-style:italic;line-height:1.45;}
  .gyms .footer-note{margin-top:40px;padding:24px 32px;background:var(--cream);border:1px solid var(--hairline);border-radius:10px 0 10px 10px;font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--ink);line-height:1.55;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
  .gyms .footer-note .text{flex:1;min-width:300px;}
  .gyms .footer-note em{color:var(--fb-warm);font-weight:500;}
  .gyms .footer-note a{background:var(--navy);color:var(--cream);padding:12px 22px;border-radius:8px 0 8px 8px;font-family:'Epilogue',sans-serif;font-style:normal;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}

  /* ===== CREST ===== */
  .crest{padding:104px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .crest .row{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;}
  .crest .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .crest h2{font-family:'Fraunces',serif;font-weight:400;font-size:52px;line-height:1.02;letter-spacing:-0.025em;color:var(--navy);}
  .crest h2 em{font-style:italic;color:var(--fb-warm);}
  .crest p{margin-top:22px;font-size:16px;line-height:1.65;color:var(--ink);max-width:480px;}
  .crest p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .crest .poster{background:var(--navy);color:var(--cream);border-radius:14px 0 14px 14px;padding:48px 40px;position:relative;overflow:hidden;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:space-between;}
  .crest .poster::before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:var(--fb-warm);opacity:0.18;}
  .crest .poster .crest-mark{position:relative;z-index:2;}
  .crest .poster .crest-mark .badge{display:inline-block;font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--fb-warm);border:1px solid var(--fb-warm);padding:5px 14px;border-radius:4px 0 4px 4px;font-weight:500;letter-spacing:0.04em;}
  .crest .poster .crest-mark .title{margin-top:24px;font-family:'Fraunces',serif;font-weight:400;font-size:72px;line-height:0.95;letter-spacing:-0.035em;}
  .crest .poster .crest-mark .title em{font-style:italic;color:var(--fb-warm);}
  .crest .poster .crest-mark .sub{margin-top:14px;font-size:14px;color:rgba(250,247,242,0.75);line-height:1.5;max-width:280px;}
  .crest .poster .crest-mark .sub em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .crest .poster .crest-foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;}
  .crest .poster .crest-foot .here{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:rgba(250,247,242,0.7);}
  .crest .poster .crest-foot .gym-name{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:18px;color:var(--fb-warm);text-align:right;line-height:1.1;}
  .crest .poster .crest-foot .gym-name span{display:block;font-family:'Epilogue',sans-serif;font-style:normal;font-size:10.5px;color:rgba(250,247,242,0.55);text-transform:uppercase;letter-spacing:0.14em;font-weight:600;margin-top:4px;}

  /* ===== PARTNER PITCH ===== */
  .partner{padding:104px 0;background:var(--cream-warm);border-top:1px solid var(--hairline);}
  .partner .head{margin-bottom:56px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;}
  .partner .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .partner h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:var(--navy);}
  .partner h2 em{font-style:italic;color:var(--fb-warm);}
  .partner .head p{font-size:16px;line-height:1.65;color:var(--ink);}
  .partner .head p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .partner .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .partner .tier{background:var(--cream);border:1px solid var(--hairline);border-radius:14px 0 14px 14px;padding:36px 32px 40px;position:relative;display:flex;flex-direction:column;}
  .partner .tier.featured{background:var(--navy);color:var(--cream);border-color:var(--navy);}
  .partner .tier.featured .name{color:var(--cream);}
  .partner .tier .badge{position:absolute;top:-12px;left:24px;background:var(--fb-warm);color:var(--cream);padding:4px 14px;font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;border-radius:4px 0 4px 4px;}
  .partner .tier .level{font-size:10.5px;text-transform:uppercase;letter-spacing:0.16em;font-weight:700;color:var(--fb-warm);margin-bottom:10px;}
  .partner .tier .name{font-family:'Fraunces',serif;font-weight:500;font-size:30px;line-height:1.05;letter-spacing:-0.018em;color:var(--navy);margin-bottom:16px;}
  .partner .tier .name em{font-style:italic;color:var(--fb-warm);}
  .partner .tier .price-row{padding:20px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:20px;display:flex;align-items:baseline;gap:8px;}
  .partner .tier.featured .price-row{border-color:rgba(250,247,242,0.15);}
  .partner .tier .price{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:42px;color:var(--navy);letter-spacing:-0.02em;line-height:1;}
  .partner .tier.featured .price{color:var(--cream);}
  .partner .tier .price em{color:var(--fb-warm);}
  .partner .tier .unit{font-size:13px;color:var(--ink-mid);font-family:'Fraunces',serif;font-style:italic;}
  .partner .tier.featured .unit{color:rgba(250,247,242,0.6);}
  .partner .tier ul{list-style:none;padding:0;flex:1;}
  .partner .tier ul li{font-size:13.5px;line-height:1.55;padding:7px 0 7px 18px;position:relative;color:var(--ink);}
  .partner .tier.featured ul li{color:rgba(250,247,242,0.82);}
  .partner .tier ul li::before{content:"—";position:absolute;left:0;color:var(--fb-warm);font-family:'Fraunces',serif;font-style:italic;}
  .partner .tier ul li em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .partner .tier.featured ul li em{color:var(--cream);}
  .partner .tier .cta{margin-top:24px;text-align:center;background:var(--fb-warm);color:var(--cream);padding:14px;border-radius:8px 0 8px 8px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .partner .tier.featured .cta{background:var(--fb-warm);}
  .partner .roi{margin-top:48px;background:var(--cream);border:1px solid var(--hairline);border-radius:14px 0 14px 14px;padding:36px 40px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:32px;align-items:center;}
  .partner .roi .head-roi{grid-column:span 1;}
  .partner .roi .head-roi .k{font-size:11px;text-transform:uppercase;letter-spacing:0.14em;font-weight:600;color:var(--ink-mid);margin-bottom:8px;}
  .partner .roi .head-roi .v{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:24px;color:var(--navy);letter-spacing:-0.012em;line-height:1.15;}
  .partner .roi .head-roi .v em{color:var(--fb-warm);}
  .partner .roi .stat{border-left:1px solid var(--hairline);padding-left:24px;}
  .partner .roi .stat .k{font-size:10.5px;text-transform:uppercase;letter-spacing:0.14em;font-weight:600;color:var(--ink-mid);margin-bottom:8px;}
  .partner .roi .stat .v{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:32px;color:var(--fb-warm);letter-spacing:-0.018em;line-height:1;}
  .partner .roi .stat .note{font-size:12px;color:var(--ink-mid);margin-top:6px;font-family:'Fraunces',serif;font-style:italic;}

  /* ===== FAQ ===== */
  .faq{padding:104px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .faq .head{margin-bottom:48px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;}
  .faq .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .faq h2{font-family:'Fraunces',serif;font-weight:400;font-size:52px;line-height:1;letter-spacing:-0.025em;color:var(--navy);}
  .faq h2 em{font-style:italic;color:var(--fb-warm);}
  .faq .head p{font-size:16px;line-height:1.65;color:var(--ink-mid);}
  .faq .grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px 56px;}
  .faq .q{border-top:1px solid var(--hairline);padding:22px 0;}
  .faq .q h4{font-family:'Fraunces',serif;font-weight:500;font-size:19px;line-height:1.25;letter-spacing:-0.012em;margin-bottom:10px;color:var(--navy);}
  .faq .q h4 em{font-style:italic;color:var(--fb-warm);}
  .faq .q p{font-size:14.5px;line-height:1.6;color:var(--ink);}
  .faq .q p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}

  /* ===== DUAL CTA ===== */
  .dual{padding:0;background:var(--navy);display:grid;grid-template-columns:1fr 1fr;}
  .dual .panel{padding:96px 64px;color:var(--cream);position:relative;overflow:hidden;}
  .dual .panel.member{background:var(--navy);}
  .dual .panel.facility{background:var(--fb-warm);}
  .dual .panel::before{position:absolute;font-family:'Fraunces',serif;font-style:italic;font-size:280px;line-height:1;opacity:0.06;letter-spacing:-0.04em;pointer-events:none;}
  .dual .panel.member::before{content:"join";bottom:-80px;right:-20px;color:var(--cream);}
  .dual .panel.facility::before{content:"host";bottom:-80px;right:-20px;color:var(--cream);}
  .dual .panel .inner{position:relative;z-index:2;max-width:420px;}
  .dual .panel .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:24px;}
  .dual .panel.facility .eyebrow{color:var(--cream);opacity:0.85;}
  .dual .panel h3{font-family:'Fraunces',serif;font-weight:400;font-size:48px;line-height:1.02;letter-spacing:-0.025em;color:var(--cream);}
  .dual .panel h3 em{font-style:italic;color:var(--fb-warm);}
  .dual .panel.facility h3 em{color:var(--navy);}
  .dual .panel p{margin-top:20px;font-size:16px;line-height:1.6;color:rgba(250,247,242,0.85);}
  .dual .panel.facility p{color:rgba(250,247,242,0.95);}
  .dual .panel .cta-row{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .dual .panel.member .btn{background:var(--fb-warm);color:var(--cream);padding:15px 28px;border-radius:10px 0 10px 10px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .dual .panel.facility .btn{background:var(--navy);color:var(--cream);padding:15px 28px;border-radius:10px 0 10px 10px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .dual .panel .link{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--cream);border-bottom:1px solid var(--cream);padding-bottom:1px;opacity:0.85;}

  /* ===== FOOTER ===== */
  .fb-footer{background:var(--navy);color:rgba(250,247,242,0.65);padding:80px 0 40px;font-size:13.5px;position:relative;overflow:hidden;border-top:1px solid rgba(250,247,242,0.1);}
  .fb-footer::before{content:"Culturis";position:absolute;bottom:-100px;left:-40px;font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:360px;color:var(--cream);opacity:0.025;letter-spacing:-0.04em;pointer-events:none;line-height:1;}
  .fb-footer .footer-top{display:flex;justify-content:space-between;align-items:end;padding-bottom:48px;border-bottom:1px solid rgba(250,247,242,0.12);flex-wrap:wrap;gap:32px;position:relative;z-index:2;}
  .fb-footer .col-brand .wordmark-lg{font-family:'Fraunces',serif;font-weight:500;color:var(--cream);font-size:36px;margin-bottom:14px;display:block;letter-spacing:-0.02em;line-height:1;}
  .fb-footer .col-brand .wordmark-lg .fitness{color:var(--fb-blue);font-style:normal;}
  .fb-footer .col-brand .wordmark-lg em{font-style:italic;color:var(--fb-warm);}
  .fb-footer .col-brand p{max-width:380px;line-height:1.6;color:rgba(250,247,242,0.55);font-size:13px;}
  .fb-footer .culturis-tagline{text-align:right;font-family:'Fraunces',serif;font-style:italic;font-size:26px;color:var(--cream);letter-spacing:-0.015em;line-height:1.2;}
  .fb-footer .culturis-tagline em{color:var(--fb-warm);}
  .fb-footer .culturis-tagline .url{display:block;margin-top:12px;font-family:'Epilogue',sans-serif;font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:0.16em;color:rgba(250,247,242,0.55);font-weight:600;}
  .fb-footer .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;padding:48px 0 32px;border-bottom:1px solid rgba(250,247,242,0.12);position:relative;z-index:2;}
  .fb-footer .grid h6{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:16px;color:var(--cream);margin-bottom:18px;letter-spacing:-0.005em;}
  .fb-footer ul{list-style:none;}
  .fb-footer ul li{padding:5px 0;}
  .fb-footer ul li a:hover{color:var(--fb-warm);}
  .fb-footer ul li.platform a{display:flex;justify-content:space-between;align-items:baseline;}
  .fb-footer ul li.platform .role{font-family:'Fraunces',serif;font-style:italic;font-size:11px;color:rgba(250,247,242,0.4);}
  .fb-footer .bottom{padding-top:28px;display:flex;justify-content:space-between;font-size:12px;color:rgba(250,247,242,0.45);flex-wrap:wrap;gap:12px;position:relative;z-index:2;}
  .fb-footer .bottom em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);}

  @media (max-width:1024px){
    .hero h1{font-size:88px;}
    .hero .row{grid-template-columns:1fr;gap:40px;}
    .hero .stats{border-left:none;border-top:1px solid rgba(250,247,242,0.15);padding-left:0;padding-top:32px;flex-direction:row;gap:48px;flex-wrap:wrap;}
    .partner .roi{grid-template-columns:1fr 1fr;}
    .gyms .gym-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:760px){
    .hero h1{font-size:56px;}
    .what .grid3,.partner .tiers,.gyms .gym-grid,.dual,.fb-footer .grid,.crest .row,.partner .head,.faq .grid2,.faq .head,.walk .head{grid-template-columns:1fr !important;}
    .what h2,.walk h2,.loop h2,.gyms h2,.crest h2,.partner h2,.faq h2{font-size:40px;}
    .walk .step{grid-template-columns:1fr;gap:8px;}
    .loop .ring{grid-template-columns:1fr;}
    .loop .node{border-right:none;border-bottom:1px solid rgba(250,247,242,0.15);}
    .loop .node:last-child{border-bottom:none;}
    .dual .panel{padding:64px 32px;}
    .fb-footer .footer-top{flex-direction:column;align-items:flex-start;}
    .fb-footer .culturis-tagline{text-align:left;}
  }
