/* page-retreats.css — extracted from source-mockups/06-retreats.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;
    --sand:#ead7b8; --sky:#e9d4c1;
  }
  *,*::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 */
  .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 (sun-warm) ===== */
  .hero{padding:64px 0 0;background:linear-gradient(180deg,var(--cream-warm) 0%,var(--fb-warm-soft) 100%);position:relative;overflow:hidden;}
  .hero::before{content:"barbados";position:absolute;bottom:200px;right:-150px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:480px;line-height:1;color:var(--fb-warm-deep);opacity:0.06;letter-spacing:-0.04em;pointer-events:none;z-index:1;}
  .hero .container{position:relative;z-index:2;}
  .hero .head-block{text-align:center;padding-bottom:64px;}
  .hero .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm-deep);margin-bottom:32px;}
  .hero h1{font-family:'Fraunces',serif;font-weight:400;font-size:140px;line-height:0.92;letter-spacing:-0.04em;color:var(--navy);}
  .hero h1 em{font-style:italic;color:var(--fb-warm-deep);}
  .hero .deck{margin:32px auto 0;font-size:19px;line-height:1.55;color:var(--ink);max-width:560px;}
  .hero .deck em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm-deep);font-weight:500;}

  .hero-photo{height:480px;background:linear-gradient(135deg,#dba37d 0%,#c47853 35%,#a85a3a 70%,#7a3d28 100%);position:relative;overflow:hidden;border-radius:14px 0 0 0;}
  .hero-photo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(250,247,242,0.25) 0%,transparent 60%);}
  .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,27,42,0.4) 0%,transparent 60%);}
  .hero-photo .photo-meta{position:absolute;bottom:32px;left:32px;color:var(--cream);z-index:2;}
  .hero-photo .photo-meta .a{font-family:'Fraunces',serif;font-style:italic;font-size:14px;opacity:0.85;}
  .hero-photo .photo-meta .b{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:24px;margin-top:6px;letter-spacing:-0.012em;}

  .hero-meta{background:var(--cream);padding:32px 48px;border-radius:0 0 14px 14px;display:grid;grid-template-columns:repeat(5,1fr);gap:32px;border:1px solid var(--hairline);border-top:none;}
  .hero-meta .item .k{font-size:10.5px;text-transform:uppercase;letter-spacing:0.14em;font-weight:600;color:var(--ink-mid);margin-bottom:8px;}
  .hero-meta .item .v{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:22px;color:var(--navy);letter-spacing:-0.012em;line-height:1.1;}
  .hero-meta .item .v em{color:var(--fb-warm-deep);}
  .hero-meta .item .sub{font-size:12px;color:var(--ink-mid);margin-top:4px;font-family:'Fraunces',serif;font-style:italic;}

  /* ===== VILLA ===== */
  .villa{padding:120px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .villa .row{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;}
  .villa .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm-deep);margin-bottom:22px;}
  .villa h2{font-family:'Fraunces',serif;font-weight:400;font-size:60px;line-height:1;letter-spacing:-0.028em;color:var(--navy);}
  .villa h2 em{font-style:italic;color:var(--fb-warm-deep);}
  .villa p{margin-top:24px;font-size:16px;line-height:1.7;color:var(--ink);max-width:520px;}
  .villa p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm-deep);font-weight:500;}
  .villa .pull{margin-top:32px;font-family:'Fraunces',serif;font-style:italic;font-size:22px;line-height:1.4;color:var(--navy);max-width:480px;letter-spacing:-0.01em;padding-left:24px;border-left:2px solid var(--fb-warm-deep);}
  .villa .pull em{color:var(--fb-warm-deep);font-weight:500;}
  .villa .villa-photo{height:560px;background:linear-gradient(160deg,#d6b48e 0%,#b78863 50%,#7a553a 100%);border-radius:14px 0 14px 14px;position:relative;overflow:hidden;}
  .villa .villa-photo::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 70% 30%,rgba(250,247,242,0.35),transparent 50%);}
  .villa .villa-photo .caption{position:absolute;bottom:24px;left:24px;color:var(--cream);font-family:'Fraunces',serif;font-style:italic;font-size:15px;z-index:2;}
  .villa .villa-photo .caption strong{display:block;font-style:normal;font-family:'Epilogue',sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;margin-bottom:4px;opacity:0.75;}
  .villa .villa-photo .feature-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;}

  /* ===== A DAY IN THE LIFE ===== */
  .day-life{padding:120px 0;background:var(--cream-warm);border-top:1px solid var(--hairline);}
  .day-life .head{margin-bottom:64px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;}
  .day-life .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm-deep);margin-bottom:22px;}
  .day-life h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.028em;color:var(--navy);}
  .day-life h2 em{font-style:italic;color:var(--fb-warm-deep);}
  .day-life .head p{font-size:16px;line-height:1.65;color:var(--ink-mid);}
  .day-life .head p em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}

  .day-life .day-card{display:grid;grid-template-columns:130px 1fr 1fr;gap:48px;align-items:start;padding:32px 0;border-top:1px solid rgba(13,27,42,0.12);}
  .day-life .day-card:first-of-type{border-top:none;padding-top:0;}
  .day-life .day-card:last-of-type{border-bottom:1px solid rgba(13,27,42,0.12);}
  .day-life .day-card .time{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:28px;color:var(--fb-warm-deep);letter-spacing:-0.014em;line-height:1;}
  .day-life .day-card .time .meta{display:block;margin-top:8px;font-size:10.5px;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-mid);font-weight:600;font-style:normal;font-family:'Epilogue',sans-serif;}
  .day-life .day-card h3{font-family:'Fraunces',serif;font-weight:500;font-size:26px;line-height:1.1;letter-spacing:-0.018em;color:var(--navy);margin-bottom:8px;}
  .day-life .day-card h3 em{font-style:italic;color:var(--fb-warm-deep);}
  .day-life .day-card .lead{font-size:14.5px;color:var(--ink-mid);line-height:1.5;}
  .day-life .day-card .description{font-size:14.5px;line-height:1.65;color:var(--ink);}
  .day-life .day-card .description em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm-deep);font-weight:500;}
  .day-life .day-card.active-pace{background:linear-gradient(90deg,rgba(232,102,42,0.06),transparent);margin:0 -32px;padding:32px 32px;}
  .day-life .day-card.elder-pace{background:linear-gradient(90deg,rgba(47,166,140,0.06),transparent);margin:0 -32px;padding:32px 32px;}
  .day-life .day-card.elder-pace .time{color:var(--teal-deep);}
  .day-life .day-card.elder-pace h3 em{color:var(--teal-deep);}
  .day-life .day-card.elder-pace .description em{color:var(--teal-deep);}

  .day-life .closing-note{margin-top:40px;text-align:center;font-family:'Fraunces',serif;font-style:italic;font-size:18px;color:var(--ink-mid);line-height:1.5;max-width:680px;margin-left:auto;margin-right:auto;}
  .day-life .closing-note em{color:var(--fb-warm-deep);font-weight:500;}

  /* ===== GALLERY ===== */
  .gallery{padding:120px 0;background:var(--cream);}
  .gallery .head{text-align:center;margin-bottom:56px;}
  .gallery .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm-deep);margin-bottom:22px;}
  .gallery h2{font-family:'Fraunces',serif;font-weight:400;font-size:60px;line-height:1;letter-spacing:-0.028em;color:var(--navy);max-width:760px;margin:0 auto;}
  .gallery h2 em{font-style:italic;color:var(--fb-warm-deep);}
  .gallery .head p{margin:20px auto 0;font-family:'Fraunces',serif;font-style:italic;font-size:16px;color:var(--ink-mid);max-width:520px;}
  .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:12px;height:760px;}
  .gallery-grid .tile{position:relative;overflow:hidden;border-radius:10px 0 10px 10px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:var(--cream);}
  .gallery-grid .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,27,42,0.55) 0%,transparent 50%);z-index:1;}
  .gallery-grid .tile .caption{position:relative;z-index:2;font-family:'Fraunces',serif;font-style:italic;font-size:14px;letter-spacing:-0.005em;line-height:1.3;}
  .gallery-grid .tile .caption strong{display:block;font-style:normal;font-family:'Epilogue',sans-serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;opacity:0.85;margin-bottom:4px;color:var(--fb-warm-soft);}
  .gallery-grid .t1{grid-column:span 2;grid-row:span 2;background:linear-gradient(135deg,#d6924a 0%,#a55b2d 100%);}
  .gallery-grid .t2{background:linear-gradient(135deg,#2a4a6e 0%,#16344f 100%);}
  .gallery-grid .t3{background:linear-gradient(135deg,#c89a78 0%,#8a614a 100%);}
  .gallery-grid .t4{background:linear-gradient(135deg,#e8c8a1 0%,#b8915f 100%);}
  .gallery-grid .t5{background:linear-gradient(135deg,#7fae9a 0%,#3a6555 100%);}

  /* ===== COHORT BAND ===== */
  .cohort-band{padding:120px 0;background:var(--navy);color:var(--cream);position:relative;overflow:hidden;}
  .cohort-band::before{content:"the year";position:absolute;bottom:-80px;left:-40px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:340px;line-height:1;color:var(--cream);opacity:0.04;letter-spacing:-0.04em;pointer-events:none;}
  .cohort-band .container{position:relative;z-index:2;}
  .cohort-band .row{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;}
  .cohort-band .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm);margin-bottom:24px;}
  .cohort-band h2{font-family:'Fraunces',serif;font-weight:400;font-size:60px;line-height:1.02;letter-spacing:-0.028em;color:var(--cream);}
  .cohort-band h2 em{font-style:italic;color:var(--fb-warm);}
  .cohort-band p{margin-top:24px;font-size:16.5px;line-height:1.65;color:rgba(250,247,242,0.85);max-width:520px;}
  .cohort-band p em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .cohort-band .ctas{margin-top:32px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
  .cohort-band .btn{background:var(--fb-warm);color:var(--cream);padding:16px 28px;border-radius:10px 0 10px 10px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .cohort-band .link{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--cream);border-bottom:1px solid var(--cream);padding-bottom:1px;opacity:0.9;}

  .cohort-band .steps-mini{background:var(--navy-soft);border:1px solid rgba(250,247,242,0.1);border-radius:14px 0 14px 14px;padding:32px 36px;}
  .cohort-band .steps-mini .h{font-family:'Fraunces',serif;font-style:italic;font-size:18px;color:var(--fb-warm);font-weight:500;margin-bottom:18px;letter-spacing:-0.005em;}
  .cohort-band .steps-mini .step-mini{padding:12px 0;border-top:1px solid rgba(250,247,242,0.1);display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:baseline;}
  .cohort-band .steps-mini .step-mini:first-of-type{border-top:none;padding-top:0;}
  .cohort-band .steps-mini .step-mini .n{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:18px;color:var(--fb-warm);}
  .cohort-band .steps-mini .step-mini .t{font-size:14px;color:rgba(250,247,242,0.92);line-height:1.4;}
  .cohort-band .steps-mini .step-mini .t em{font-family:'Fraunces',serif;font-style:italic;color:var(--fb-warm);font-weight:500;}
  .cohort-band .steps-mini .step-mini.is-here{background:rgba(232,102,42,0.1);margin:0 -36px;padding:14px 36px;}
  .cohort-band .steps-mini .step-mini.is-here .n{color:var(--cream);}
  .cohort-band .steps-mini .step-mini.is-here .t{color:var(--cream);font-weight:500;}

  /* ===== PRICING & WHAT'S INCLUDED ===== */
  .pricing{padding:120px 0;background:var(--cream-warm);}
  .pricing .head{text-align:center;margin-bottom:48px;}
  .pricing .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm-deep);margin-bottom:22px;}
  .pricing h2{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:var(--navy);max-width:680px;margin:0 auto;}
  .pricing h2 em{font-style:italic;color:var(--fb-warm-deep);}
  .pricing .head p{margin:22px auto 0;font-size:16px;line-height:1.65;color:var(--ink-mid);max-width:560px;}
  .pricing .rates{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;}
  .pricing .rate{background:var(--cream);border:1px solid var(--hairline);border-radius:14px 0 14px 14px;padding:44px 44px 48px;position:relative;display:flex;flex-direction:column;}
  .pricing .rate.year{background:linear-gradient(180deg,var(--cream) 0%,var(--fb-warm-soft) 100%);border-color:var(--fb-warm);}
  .pricing .rate .level{font-size:10.5px;text-transform:uppercase;letter-spacing:0.18em;font-weight:700;color:var(--fb-warm-deep);margin-bottom:12px;}
  .pricing .rate h3{font-family:'Fraunces',serif;font-weight:500;font-size:32px;line-height:1.05;letter-spacing:-0.018em;color:var(--navy);margin-bottom:6px;}
  .pricing .rate h3 em{font-style:italic;color:var(--fb-warm-deep);}
  .pricing .rate .sub{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--ink-mid);margin-bottom:24px;}
  .pricing .rate .price-row{padding:24px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:24px;display:flex;align-items:baseline;gap:12px;}
  .pricing .rate .price{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:64px;color:var(--navy);letter-spacing:-0.025em;line-height:1;}
  .pricing .rate .price em{color:var(--fb-warm-deep);}
  .pricing .rate .price-unit{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:var(--ink-mid);}
  .pricing .rate .save{margin-top:8px;font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--fb-warm-deep);font-weight:500;}
  .pricing .rate ul{list-style:none;padding:0;flex:1;}
  .pricing .rate ul li{font-size:13.5px;line-height:1.6;padding:7px 0 7px 18px;position:relative;color:var(--ink);}
  .pricing .rate ul li::before{content:"—";position:absolute;left:0;color:var(--fb-warm-deep);font-family:'Fraunces',serif;font-style:italic;}
  .pricing .rate ul li em{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-weight:500;}
  .pricing .rate .cta-row{margin-top:24px;display:flex;align-items:center;gap:16px;}
  .pricing .rate .btn{background:var(--navy);color:var(--cream);padding:14px 24px;border-radius:8px 0 8px 8px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .pricing .rate.year .btn{background:var(--fb-warm-deep);}
  .pricing .rate .footnote{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--ink-mid);max-width:200px;line-height:1.4;}

  /* ===== ALUMNI ===== */
  .alumni{padding:120px 0;background:var(--cream);border-top:1px solid var(--hairline);}
  .alumni .head{text-align:center;margin-bottom:64px;}
  .alumni .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--fb-warm-deep);margin-bottom:22px;}
  .alumni h2{font-family:'Fraunces',serif;font-weight:400;font-size:52px;line-height:1.02;letter-spacing:-0.025em;color:var(--navy);max-width:760px;margin:0 auto;}
  .alumni h2 em{font-style:italic;color:var(--fb-warm-deep);}
  .alumni .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  .alumni .quote{background:var(--cream-warm);border:1px solid var(--hairline);border-radius:14px 0 14px 14px;padding:36px 36px 32px;display:flex;flex-direction:column;}
  .alumni .quote .mark{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:60px;color:var(--fb-warm);line-height:0.6;height:24px;}
  .alumni .quote .text{font-family:'Fraunces',serif;font-size:18px;line-height:1.5;color:var(--navy);margin:24px 0 28px;letter-spacing:-0.005em;font-weight:400;}
  .alumni .quote .text em{font-style:italic;color:var(--fb-warm-deep);font-weight:500;}
  .alumni .quote .attrib{margin-top:auto;padding-top:20px;border-top:1px solid var(--hairline);display:flex;align-items:center;gap:14px;}
  .alumni .quote .avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--fb-warm) 0%,var(--fb-warm-deep) 100%);flex-shrink:0;}
  .alumni .quote .name{font-size:14px;color:var(--navy);font-weight:600;}
  .alumni .quote .role{font-family:'Fraunces',serif;font-style:italic;font-size:12.5px;color:var(--ink-mid);}

  /* ===== FAQ ===== */
  .faq{padding:104px 0;background:var(--cream-warm);}
  .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-deep);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-deep);}
  .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-deep);}
  .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-deep);font-weight:500;}

  /* ===== BOOK / SHEILA ===== */
  .book{padding:120px 0;background:var(--fb-warm);color:var(--cream);position:relative;overflow:hidden;}
  .book::before{content:"book";position:absolute;bottom:-80px;right:-40px;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:340px;line-height:1;color:var(--cream);opacity:0.08;letter-spacing:-0.04em;pointer-events:none;}
  .book .container{position:relative;z-index:2;}
  .book .row{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;}
  .book .eyebrow{font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:rgba(250,247,242,0.85);margin-bottom:24px;}
  .book h2{font-family:'Fraunces',serif;font-weight:400;font-size:72px;line-height:0.98;letter-spacing:-0.035em;color:var(--cream);}
  .book h2 em{font-style:italic;}
  .book p{margin-top:24px;font-size:17px;line-height:1.55;color:rgba(250,247,242,0.92);max-width:480px;}
  .book p em{font-family:'Fraunces',serif;font-style:italic;color:var(--cream);font-weight:500;}
  .book .ctas{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .book .btn-cream{background:var(--cream);color:var(--navy);padding:16px 30px;border-radius:10px 0 10px 10px;font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .book .btn-outline{border:1px solid rgba(250,247,242,0.5);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;}

  .book .contact-card{background:rgba(250,247,242,0.1);border:1px solid rgba(250,247,242,0.18);border-radius:14px 0 14px 14px;padding:36px 36px 32px;backdrop-filter:blur(8px);}
  .book .contact-card .label{font-size:10.5px;text-transform:uppercase;letter-spacing:0.16em;font-weight:700;color:rgba(250,247,242,0.7);margin-bottom:14px;}
  .book .contact-card .who{font-family:'Fraunces',serif;font-weight:500;font-size:36px;color:var(--cream);letter-spacing:-0.022em;line-height:1.05;margin-bottom:8px;}
  .book .contact-card .who em{font-style:italic;}
  .book .contact-card .role{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:rgba(250,247,242,0.85);margin-bottom:24px;}
  .book .contact-card .line{padding:14px 0;border-top:1px solid rgba(250,247,242,0.2);font-size:14.5px;color:var(--cream);display:flex;justify-content:space-between;align-items:center;}
  .book .contact-card .line .l{font-family:'Fraunces',serif;font-style:italic;color:rgba(250,247,242,0.7);font-size:12.5px;}
  .book .contact-card .line .v{font-weight:500;}

  /* ===== 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-meta{grid-template-columns:repeat(3,1fr);}
    .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);height:auto;}
    .gallery-grid .t1{grid-column:span 2;grid-row:span 1;height:280px;}
    .gallery-grid .tile:not(.t1){height:200px;}
    .pricing .rates{grid-template-columns:1fr;}
    .alumni .quotes{grid-template-columns:1fr;}
  }
  @media (max-width:760px){
    .hero h1{font-size:56px;}
    .villa .row,.day-life .head,.cohort-band .row,.book .row,.faq .head,.faq .grid2,.fb-footer .grid{grid-template-columns:1fr !important;}
    .villa h2,.day-life h2,.gallery h2,.cohort-band h2,.pricing h2,.alumni h2,.faq h2{font-size:40px;}
    .book h2{font-size:48px;}
    .day-life .day-card{grid-template-columns:1fr;gap:12px;}
    .hero-meta{grid-template-columns:1fr 1fr;padding:24px;}
    .fb-footer .footer-top{flex-direction:column;align-items:flex-start;}
    .fb-footer .culturis-tagline{text-align:left;}
  }
