/* page-about.css — extracted from source-mockups/02-about.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;}

  .fb-header{padding:26px 0;}
  .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;}
  .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:var(--ink);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;}

  .crumbs{padding:18px 0;border-bottom:1px solid var(--hairline);font-size:12px;color:var(--ink-mid);letter-spacing:0.06em;}
  .crumbs a{color:var(--ink-mid);}
  .crumbs a:hover{color:var(--fb-warm);}
  .crumbs .sep{margin:0 10px;color:var(--hairline);}
  .crumbs em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}

  /* ===== HERO ===== */
  .hero{padding:72px 0 112px;position:relative;overflow:hidden;}
  .hero::before{content:"beach";position:absolute;top:60px;right:-100px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:520px;line-height:1;color:var(--navy);opacity:0.04;letter-spacing:-0.04em;pointer-events:none;z-index:1;}
  .hero .container{position:relative;z-index:2;}
  .hero .row{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;}
  .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:120px;line-height:0.94;letter-spacing:-0.038em;color:var(--navy);}
  .hero h1 em{font-style:italic;color:var(--fb-warm);}
  .hero .deck{margin-top:32px;font-size:19px;line-height:1.55;color:var(--ink-mid);max-width:520px;}
  .hero .deck em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}

  /* ===== HERO PILLARS CARD (replaces founder portrait) ===== */
  .pillars-card{background:linear-gradient(160deg,#c47853 0%,#a85a3a 50%,#7a3d28 100%);border-radius:14px 0 14px 14px;padding:48px 44px;position:relative;overflow:hidden;color:var(--cream);min-height:480px;display:flex;flex-direction:column;justify-content:space-between;}
  .pillars-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(250,247,242,0.22) 0%,transparent 60%);pointer-events:none;}
  .pillars-card .anchor{position:relative;z-index:2;}
  .pillars-card .anchor .label{font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--fb-warm-soft);margin-bottom:14px;}
  .pillars-card .anchor .quote{font-family:'Fraunces',serif;font-weight:400;font-size:52px;line-height:1.02;letter-spacing:-0.025em;color:var(--cream);}
  .pillars-card .anchor .quote em{font-style:italic;color:var(--fb-warm-soft);}
  .pillars-card .anchor .attrib{margin-top:14px;font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:rgba(250,247,242,0.78);}
  .pillars-card .pillars{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px;padding-top:36px;border-top:1px solid rgba(250,247,242,0.25);}
  .pillars-card .pillars .pill-item{display:grid;grid-template-columns:18px 1fr;gap:14px;align-items:baseline;}
  .pillars-card .pillars .pill-item .n{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--fb-warm-soft);font-weight:500;}
  .pillars-card .pillars .pill-item .t{font-size:13.5px;line-height:1.4;color:rgba(250,247,242,0.92);}
  .pillars-card .pillars .pill-item .t strong{font-family:'Fraunces',serif;font-style:italic;font-weight:500;color:var(--cream);font-size:14.5px;}

  /* ===== BRAND STAR ICON (from logo) ===== */
  .fb-star{display:inline-block;color:var(--fb-blue);vertical-align:middle;}
  .pillars-card .anchor .fb-star-brand{display:block;width:32px;height:32px;color:var(--fb-blue-soft);margin-bottom:18px;opacity:0.95;}

  /* ===== WHAT MOVES US ===== */
  .moves{padding:112px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .moves .row{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start;}
  .moves .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:24px;}
  .moves h2{font-family:'Fraunces',serif;font-weight:400;font-size:52px;line-height:1.02;letter-spacing:-0.025em;color:var(--navy);}
  .moves h2 em{font-style:italic;color:var(--fb-warm);}
  .moves .sticky{position:sticky;top:32px;}
  .moves .commit{margin-top:36px;padding-left:0;}
  .moves .commit .h{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:16px;}
  .moves .commit .item{padding:16px 0;border-top:1px solid var(--hairline);display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;}
  .moves .commit .item .n{font-family:'Fraunces',serif;font-style:italic;font-size:18px;color:var(--fb-warm);font-weight:500;}
  .moves .commit .item .t{font-family:'Fraunces',serif;font-style:italic;font-size:17px;color:var(--navy);line-height:1.35;letter-spacing:-0.005em;}
  .moves .commit .item .t em{color:var(--fb-warm);font-weight:500;}
  .moves .body p{font-size:17px;line-height:1.75;color:var(--ink);margin-bottom:22px;}
  .moves .body p:first-of-type::first-letter{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:64px;line-height:1;float:left;margin-right:14px;margin-top:6px;color:var(--fb-warm);}
  .moves .body p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;font-size:1.04em;}
  .moves .body .pull{margin:36px 0;padding:24px 32px;border-left:3px solid var(--fb-warm);font-family:'Fraunces',serif;font-style:italic;font-size:22px;line-height:1.4;color:var(--navy);letter-spacing:-0.01em;}
  .moves .body .pull em{color:var(--fb-warm);font-weight:500;}

  /* ===== PILLARS DEEP DIVE ===== */
  .pillars-section{padding:112px 0;background:var(--navy);color:var(--cream);position:relative;overflow:hidden;}
  .pillars-section::before{content:"three";position:absolute;bottom:-100px;left:-40px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:400px;line-height:1;color:var(--cream);opacity:0.04;letter-spacing:-0.04em;pointer-events:none;}
  .pillars-section .container{position:relative;z-index:2;}
  .pillars-section .head{margin-bottom:56px;text-align:center;}
  .pillars-section .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:24px;}
  .pillars-section h2{font-family:'Fraunces',serif;font-weight:400;font-size:60px;line-height:1.02;letter-spacing:-0.025em;color:var(--cream);max-width:760px;margin:0 auto;}
  .pillars-section h2 em{font-style:italic;color:var(--fb-warm);}
  .pillars-section .head p{margin:22px auto 0;font-size:16.5px;color:rgba(250,247,242,0.75);max-width:560px;line-height:1.65;}
  .pillars-section .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(250,247,242,0.12);border:1px solid rgba(250,247,242,0.12);border-radius:14px 0 14px 14px;overflow:hidden;}
  .pillars-section .pillar{padding:48px 40px;background:var(--navy);}
  .pillars-section .pillar .num{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:14px;color:var(--fb-warm);margin-bottom:14px;letter-spacing:0.04em;}
  .pillars-section .pillar .num::after{content:"";display:inline-block;width:40px;height:1px;background:var(--fb-warm);vertical-align:middle;margin-left:10px;}
  .pillars-section .pillar h3{font-family:'Fraunces',serif;font-weight:500;font-size:30px;line-height:1.08;letter-spacing:-0.018em;color:var(--cream);margin-bottom:14px;}
  .pillars-section .pillar h3 em{font-style:italic;color:var(--fb-warm);}
  .pillars-section .pillar .tag{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--fb-warm);margin-bottom:18px;}
  .pillars-section .pillar p{font-size:14.5px;line-height:1.65;color:rgba(250,247,242,0.85);}

  /* ===== WHAT WE DO ===== */
  .what-we-do{padding:112px 0;background:var(--cream-warm);}
  .what-we-do .head{margin-bottom:56px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;}
  .what-we-do .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .what-we-do h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:var(--navy);}
  .what-we-do h2 em{font-style:italic;color:var(--fb-warm);}
  .what-we-do .head p{font-size:16px;line-height:1.65;color:var(--ink-mid);}
  .what-we-do .head p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .what-we-do .programs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .what-we-do .prog{background:var(--cream);border:1px solid var(--hairline);border-radius:12px 0 12px 12px;padding:32px 28px 36px;display:flex;flex-direction:column;}
  .what-we-do .prog .ptag{font-size:10.5px;text-transform:uppercase;letter-spacing:0.16em;font-weight:700;color:var(--fb-warm);margin-bottom:14px;}
  .what-we-do .prog h3{font-family:'Fraunces',serif;font-weight:500;font-size:26px;line-height:1.08;letter-spacing:-0.018em;color:var(--navy);margin-bottom:14px;}
  .what-we-do .prog h3 em{font-style:italic;color:var(--fb-warm);}
  .what-we-do .prog p{font-size:13.5px;line-height:1.55;color:var(--ink);flex:1;}
  .what-we-do .prog p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .what-we-do .prog .when{margin-top:18px;padding-top:14px;border-top:1px solid var(--hairline);font-family:'Fraunces',serif;font-style:italic;font-size:12.5px;color:var(--ink-mid);}
  .what-we-do .prog .when em{color:var(--fb-warm);font-weight:500;}

  /* ===== WHY BARBADOS ===== */
  .why-bb{padding:112px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .why-bb .row{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;}
  .why-bb .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:24px;}
  .why-bb h2{font-family:'Fraunces',serif;font-weight:400;font-size:52px;line-height:1;letter-spacing:-0.025em;color:var(--navy);}
  .why-bb h2 em{font-style:italic;color:var(--fb-warm);}
  .why-bb p{margin-top:22px;font-size:16px;line-height:1.7;color:var(--ink);max-width:520px;}
  .why-bb p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .why-bb .photo{height:480px;border-radius:14px 0 14px 14px;background:linear-gradient(160deg,#d6924a 0%,#a55b2d 50%,#5e3725 100%);position:relative;overflow:hidden;}
  .why-bb .photo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(250,247,242,0.25) 0%,transparent 60%);}
  .why-bb .photo .caption{position:absolute;bottom:24px;left:24px;color:var(--cream);font-family:'Fraunces',serif;font-style:italic;font-size:15px;z-index:2;}
  .why-bb .photo .caption strong{display:block;font-family:'Epilogue',sans-serif;font-style:normal;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;opacity:0.85;margin-bottom:4px;}
  .why-bb .photo .tag{position:absolute;top:24px;left:24px;background:var(--cream);padding:8px 14px;border-radius:4px 0 4px 4px;font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--fb-warm-deep);font-weight:500;z-index:2;}

  /* ===== TEAM ===== */
  .team{padding:112px 0;background:var(--cream-warm);}
  .team .head{margin-bottom:48px;text-align:center;}
  .team .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:22px;}
  .team h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:var(--navy);max-width:760px;margin:0 auto;}
  .team h2 em{font-style:italic;color:var(--fb-warm);}
  .team .head p{margin:22px auto 0;font-size:16px;line-height:1.65;color:var(--ink-mid);max-width:560px;}
  .team .head p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .team .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .team .person{background:var(--cream);border:1px solid var(--hairline);border-radius:12px 0 12px 12px;padding:24px 26px 28px;display:flex;flex-direction:column;}
  .team .person h3{font-family:'Fraunces',serif;font-weight:500;font-size:20px;line-height:1.05;letter-spacing:-0.014em;color:var(--navy);margin-bottom:4px;}
  .team .person h3 em{font-style:italic;color:var(--fb-warm);}
  .team .person .role{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--fb-warm);margin-bottom:14px;font-weight:500;}
  .team .person p{font-size:13px;line-height:1.55;color:var(--ink);flex:1;}
  .team .person p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}

  /* ===== CULTURIS BAND (lighter, less identity-loaded) ===== */
  .parent{padding:96px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .parent .row{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center;}
  .parent .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:20px;}
  .parent h2{font-family:'Fraunces',serif;font-weight:400;font-size:42px;line-height:1.05;letter-spacing:-0.022em;color:var(--navy);}
  .parent h2 em{font-style:italic;color:var(--fb-warm);}
  .parent p{margin-top:18px;font-size:15.5px;line-height:1.65;color:var(--ink);max-width:440px;}
  .parent p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .parent .sisters{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
  .parent .sister{background:var(--cream-warm);border:1px solid var(--hairline);border-radius:10px 0 10px 10px;padding:22px 24px;}
  .parent .sister .ptype{font-size:10.5px;text-transform:uppercase;letter-spacing:0.14em;font-weight:700;color:var(--fb-warm);margin-bottom:8px;}
  .parent .sister .pname{font-family:'Fraunces',serif;font-weight:500;font-size:22px;letter-spacing:-0.014em;color:var(--navy);line-height:1;margin-bottom:8px;}
  .parent .sister .pname em{font-style:italic;color:var(--fb-warm);}
  .parent .sister .pdesc{font-size:12.5px;line-height:1.5;color:var(--ink-mid);}

  /* ===== FINAL CTA ===== */
  .cta-final{padding:112px 0;background:var(--fb-warm);color:var(--cream);position:relative;overflow:hidden;text-align:center;}
  .cta-final::before{content:"come along";position:absolute;bottom:-80px;right:-40px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:240px;line-height:1;color:var(--cream);opacity:0.08;letter-spacing:-0.04em;pointer-events:none;}
  .cta-final .container{position:relative;z-index:2;}
  .cta-final .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:rgba(250,247,242,0.85);margin-bottom:24px;}
  .cta-final h2{font-family:'Fraunces',serif;font-weight:400;font-size:72px;line-height:0.98;letter-spacing:-0.035em;color:var(--cream);max-width:780px;margin:0 auto;}
  .cta-final h2 em{font-style:italic;}
  .cta-final p{margin:24px auto 36px;font-size:17px;line-height:1.6;color:rgba(250,247,242,0.92);max-width:520px;}
  .cta-final .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .cta-final .btn-cream{background:var(--cream);color:var(--navy);padding:16px 32px;border-radius:10px 0 10px 10px;font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .cta-final .btn-outline{border:1px solid rgba(250,247,242,0.5);color:var(--cream);padding:15px 30px;border-radius:10px 0 10px 10px;font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;display:inline-block;}

  /* ===== 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;}
  .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;}
    .what-we-do .programs{grid-template-columns:1fr 1fr;}
    .pillars-section .grid3{grid-template-columns:1fr;}
    .team .grid{grid-template-columns:1fr 1fr;}
    .parent .sisters{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:760px){
    .hero h1{font-size:56px;}
    .moves .row,.what-we-do .head,.why-bb .row,.parent .row,.fb-footer .grid{grid-template-columns:1fr !important;}
    .moves h2,.pillars-section h2,.what-we-do h2,.why-bb h2,.team h2,.parent h2{font-size:36px;}
    .cta-final h2{font-size:44px;}
    .team .grid,.what-we-do .programs,.parent .sisters{grid-template-columns:1fr;}
    .fb-footer .footer-top{flex-direction:column;align-items:flex-start;}
    .fb-footer .culturis-tagline{text-align:left;}
    .pillars-card .anchor .quote{font-size:40px;}
  }
