  :root{
    --ink:#181512;
    --charcoal:#3D352E;
    --cream:#F6EFE6;
    --ivory:#FEFBF6;
    --sage:#9A8878;
    --sage-bright:#B88B62;
    --gold:#D2B494;
    --border:#E4D8CA;
    --muted:#9B8C7D;
    --espresso:#2E2721;
    --taupe:#B5A08D;
    --taupe-deep:#8B7766;
    --sand:#F0E5D8;
    --font-head:'Figtree', sans-serif;
    --font-body:'Figtree', sans-serif;
    --max:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:
      radial-gradient(circle at 18% 20%, rgba(255,255,255,.92) 0, rgba(255,255,255,.56) 22%, transparent 54%),
      radial-gradient(circle at 82% 18%, rgba(210,180,148,.12) 0, transparent 26%),
      radial-gradient(circle at 50% 56%, rgba(255,255,255,.6) 0, transparent 38%),
      linear-gradient(180deg, #FFFDF8 0%, #F7F0E7 100%);
    color:var(--ink);
    font-family:var(--font-body); line-height:1.6; font-size:16px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
  h1,h2,h3{font-family:var(--font-head); font-weight:400; margin:0; line-height:1.15;}
  .eyebrow{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--sage); font-weight:600; margin-bottom:10px;}
  .accent{color:var(--sage-bright); font-style:italic;}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:14px 26px;
    border-radius:4px; font-family:var(--font-body); font-size:14.5px; font-weight:500;
    text-decoration:none; cursor:pointer; border:1px solid var(--ink);
    transition:opacity .18s ease, transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
  }
  .btn:hover{opacity:.82;}
  .btn-primary{background:var(--ink); color:var(--ivory);}
  .btn-outline{background:transparent; color:var(--ink);}
  section{padding:110px 0;}
  .section-label{font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--muted); margin-bottom:6px;}
  .photo-ph{
    background:repeating-linear-gradient(135deg, rgba(132,114,97,.10) 0 14px, rgba(132,114,97,.04) 14px 28px);
    border:1px dashed var(--border); display:flex; align-items:center; justify-content:center;
    color:var(--muted); font-size:13px; text-align:center; padding:24px; border-radius:8px; min-height:280px;
  }

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50; background:rgba(251,249,244,.92); backdrop-filter:blur(6px);
    border-bottom:none;
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:var(--max); margin:0 auto;}
  .logo{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
  }
  .logo img{
    width:128px;
    height:auto;
    display:block;
  }
  .nav-links{display:flex; align-items:center; gap:34px; list-style:none; margin:0; padding:0;}
  .nav-links a{
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(31,33,29,.88);
  }
  .nav-links a:hover{color:var(--sage);}
  .nav-cta{
    padding:13px 20px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    background:var(--taupe-deep);
    border-color:var(--taupe-deep);
    box-shadow:0 12px 24px rgba(115,98,82,.16);
  }
  .nav-cta{display:none;}
  .hamburger{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .hamburger span{display:block; width:22px; height:2px; background:var(--ink); margin:5px 0;}
  @media (max-width:860px){
    .nav-links{display:none;}
    .nav-links.is-open{
      display:flex; flex-direction:column; position:absolute; top:64px; right:24px;
      background:var(--ivory); padding:20px; border:1px solid var(--border); border-radius:8px; gap:16px;
    }
    .hamburger{display:block;}
    .nav-links{
      width:min(260px, calc(100vw - 36px));
      max-width:calc(100vw - 36px);
    }
  }
  @media (min-width:861px){ .nav-cta{display:inline-flex;} }

  /* ---------- HERO ---------- */
  .hero{
    padding:0 0 36px;
    background:
      radial-gradient(circle at 18% 18%, rgba(255,255,255,.98) 0, rgba(255,255,255,.72) 26%, rgba(255,255,255,0) 58%),
      linear-gradient(180deg, rgba(252,250,245,.86), rgba(252,250,245,.2));
  }
  .hero-grid{display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:18px; align-items:start;}
  .hero-copy{position:relative; z-index:2; padding:74px 0 0; margin-right:-24px;}
  .hero .eyebrow{
    margin-bottom:18px;
    font-size:11px;
    letter-spacing:.24em;
    font-weight:700;
  }
  .hero h1{
    font-size:clamp(50px,6vw,80px);
    font-weight:800;
    margin-bottom:24px;
    letter-spacing:-.06em;
    max-width:580px;
    line-height:1;
  }
  .hero h1 .accent{display:inline; font-size:.9em; margin-top:0;}
  .hero-sub{
    font-size:17px;
    color:var(--charcoal);
    max-width:430px;
    margin-bottom:42px;
    line-height:1.72;
    letter-spacing:-.01em;
  }
  .hero-actions{display:flex; gap:22px; flex-wrap:wrap; margin-bottom:56px;}
  .hero-actions .btn{
    min-width:220px;
    justify-content:center;
    padding:18px 30px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .hero-photo-col{position:relative; min-height:620px; display:flex; align-items:flex-start; justify-content:flex-end; padding-bottom:20px;}
  .hero-photo-col::before{
    content:""; position:absolute; inset:0 10% 8% -24%;
    background:
      radial-gradient(circle at 8% 18%, rgba(255,250,242,.98) 0, rgba(255,250,242,.82) 18%, rgba(255,250,242,.32) 42%, transparent 68%),
      radial-gradient(circle at 10% 82%, rgba(255,251,245,.94) 0, rgba(255,251,245,.36) 20%, transparent 54%);
    pointer-events:none; z-index:1;
  }
  .hero-photo{
    width:100%; min-height:620px; border:none; border-radius:0 0 0 28px;
    background:
      linear-gradient(90deg, rgba(255,249,240,.68) 0%, rgba(255,249,240,.24) 14%, rgba(255,249,240,.03) 26%, rgba(255,249,240,0) 36%),
      linear-gradient(180deg, rgba(255,255,255,.08), rgba(120,120,90,.04)),
      url("./hero_background.png") 64% 42%/cover no-repeat;
    box-shadow:none;
    overflow:hidden; position:relative; color:transparent; font-size:0; line-height:0;
  }
  .hero-photo::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(circle at 4% 14%, rgba(255,248,234,.9) 0, rgba(255,248,234,.58) 13%, rgba(255,248,234,.14) 30%, transparent 52%),
      radial-gradient(circle at 8% 82%, rgba(255,250,242,.66) 0, rgba(255,250,242,.22) 16%, transparent 40%),
      linear-gradient(90deg, rgba(255,248,236,.4) 0 9%, rgba(255,248,236,.08) 20%, transparent 34%);
    opacity:.84;
  }
  .hero-photo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,249,240,.14) 100%);
  }
  .hero-quote{
    background:rgba(251,249,244,.96); color:var(--ink); padding:30px 28px 26px; border-radius:22px;
    position:absolute; left:24px; bottom:78px; width:286px; max-width:calc(100% - 24px);
    font-family:var(--font-head); font-size:18px; line-height:1.46; box-shadow:0 20px 34px rgba(47,43,35,.11);
    border:1px solid rgba(181,171,151,.24); z-index:3;
    transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .hero-quote::before{
    content:"“"; position:absolute; top:18px; left:28px; font-size:70px; line-height:.6;
    color:rgba(180,154,103,.8);
  }
  .hero-quote cite{
    display:block;
    font-style:normal;
    font-family:var(--font-body);
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--charcoal);
    margin-top:16px;
  }
  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-copy{padding:72px 0 0; margin-right:0;}
    .hero-actions{margin-bottom:42px;}
    .hero-photo-col{min-height:auto; padding-left:0; padding-bottom:0;}
    .hero-photo-col::before{inset:0; opacity:.72;}
    .hero-photo{min-height:560px; border-radius:24px; background-position:60% 40%;}
    .hero-quote{position:static; margin-top:20px; max-width:none; width:auto; padding:30px 26px 24px; border-radius:20px; min-height:auto;}
    .hero-quote::before{top:18px; left:26px;}
  }

  /* ---------- RECOGNITION ---------- */
  .recognition{background:var(--cream); padding:56px 0 46px;}
  .rec-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:38px; align-items:start;}
  .rec-head{padding-top:28px;}
  .rec-head h2{
    font-family:var(--font-body);
    font-size:clamp(34px,4vw,54px);
    font-weight:800;
    letter-spacing:-.055em;
    line-height:.96;
    max-width:420px;
  }
  .rec-head h2 .line2{display:block; color:var(--sage-bright);}
  .rec-sub{margin-top:0; color:var(--charcoal); max-width:320px; font-size:15px; line-height:1.58;}
  .rec-cards{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .rec-card{
    background:
      linear-gradient(90deg, rgba(251,249,244,.88) 0%, rgba(251,249,244,.72) 30%, rgba(251,249,244,.3) 54%, rgba(251,249,244,.06) 76%),
      linear-gradient(180deg, rgba(255,255,255,.22), rgba(30,28,24,.1)),
      url("./recognition-01-gym-door.webp") center/cover no-repeat;
    border:none; border-radius:20px; padding:24px 22px 18px;
    position:relative; overflow:hidden; min-height:238px; box-shadow:0 14px 28px rgba(67,61,51,.09);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .rec-card:hover{transform:translateY(-4px); box-shadow:0 18px 30px rgba(67,61,51,.11);}
  .rec-card::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(251,249,244,.78) 0%, rgba(251,249,244,.56) 24%, rgba(251,249,244,.2) 48%, rgba(251,249,244,0) 72%);
    pointer-events:none;
  }
  .rec-card::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,0) 36%, rgba(29,26,21,.08));
    pointer-events:none;
  }
  .rec-card > *{position:relative; z-index:1;}
  .rec-card.card-1{
    background-image:
      linear-gradient(90deg, rgba(251,249,244,.88) 0%, rgba(251,249,244,.72) 30%, rgba(251,249,244,.3) 54%, rgba(251,249,244,.08) 76%),
      linear-gradient(180deg, rgba(255,255,255,.22), rgba(30,28,24,.1)),
      url("./recognition-01-gym-door.webp");
    background-position:82% center;
    box-shadow:none;
  }
  .rec-card.card-2{
    background-image:
      linear-gradient(90deg, rgba(251,249,244,.88) 0%, rgba(251,249,244,.72) 30%, rgba(251,249,244,.3) 54%, rgba(251,249,244,.08) 76%),
      linear-gradient(180deg, rgba(255,255,255,.22), rgba(30,28,24,.1)),
      url("./recognition-02-dumbbell.webp");
    background-position:68% center;
  }
  .rec-card.card-3{
    background-image:
      linear-gradient(90deg, rgba(251,249,244,.88) 0%, rgba(251,249,244,.72) 30%, rgba(251,249,244,.3) 54%, rgba(251,249,244,.08) 76%),
      linear-gradient(180deg, rgba(255,255,255,.22), rgba(30,28,24,.1)),
      url("./recognition-03-training-bag.webp");
    background-position:60% 78%;
    box-shadow:none;
  }
  .rec-card.card-1:hover,
  .rec-card.card-3:hover{box-shadow:none;}
  .rec-card.card-4{
    background-image:
      linear-gradient(90deg, rgba(251,249,244,.88) 0%, rgba(251,249,244,.72) 30%, rgba(251,249,244,.3) 54%, rgba(251,249,244,.08) 76%),
      linear-gradient(180deg, rgba(255,255,255,.22), rgba(30,28,24,.1)),
      url("./recognition-04-weekly-planner.webp");
    background-position:76% 62%;
  }
  .rec-card .num{font-size:16px; color:var(--sage); font-weight:700; margin:0 0 10px;}
  .rec-card .icon{
    width:62px; height:62px; margin:0 0 14px; color:var(--sage); border-radius:50%;
    display:flex; align-items:center; justify-content:center; background:rgba(251,248,241,.72);
    box-shadow:inset 0 0 0 1px rgba(181,171,151,.16);
  }
  .rec-card .icon svg{width:28px; height:28px;}
  .rec-card.card-3 .icon svg{width:24px; height:24px; overflow:visible;}
  .rec-card p{margin:0; font-size:15px; line-height:1.45; max-width:205px;}
  .rec-card .mini-line{display:block; width:30px; height:2px; background:rgba(154,136,120,.8); margin-top:14px;}
  @media (max-width:860px){
    .rec-grid{grid-template-columns:1fr;}
    .rec-head{padding-top:0;}
    .rec-cards{grid-template-columns:1fr;}
    .rec-card{min-height:210px;}
  }

  /* ---------- BRAND CONCEPT ---------- */
  #concept{padding:72px 0 76px;}
  .concept-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:30px; align-items:start;}
  .concept-head{padding-top:4px;}
  .concept-head h2{
    font-family:var(--font-body);
    font-size:clamp(32px,4vw,48px);
    font-weight:800;
    letter-spacing:-.05em;
    line-height:.98;
    max-width:430px;
  }
  .concept-head .quote-line{display:block; color:var(--sage-bright); font-style:italic; font-size:1.02em; margin-top:8px;}
  .concept-head .concept-rule{width:36px; height:2px; background:rgba(154,136,120,.82); margin:16px 0 12px;}
  .concept-sub{margin-top:0; color:var(--charcoal); font-size:14px; line-height:1.56; max-width:300px;}
  .timeline{position:relative; padding-left:0; display:grid; gap:14px; margin-left:-8px;}
  .timeline::before{
    content:""; position:absolute; left:62px; top:24px; bottom:24px; width:1px;
    border-left:1px dashed rgba(154,136,120,.24);
  }
  .t-item{
    display:grid; grid-template-columns:52px 18px minmax(0,1fr); align-items:center; column-gap:14px;
    margin-bottom:0; position:relative;
  }
  .t-icon{
    width:52px; height:52px; border-radius:50%; background:rgba(247,243,236,.94); flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-size:18px; position:relative;
    box-shadow:0 6px 16px rgba(57,54,43,.05);
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
  }
  .t-icon svg{width:22px; height:22px; stroke:var(--ink);}
  .t-dot{
    width:9px; height:9px; border-radius:50%; background:var(--sage); justify-self:center;
    box-shadow:0 0 0 6px rgba(244,240,231,.95);
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
  }
  .t-bubble{
    background:rgba(255,255,255,.84); border:1px solid rgba(181,171,151,.32); border-radius:14px; padding:16px 20px;
    font-size:15px; min-height:60px; display:flex; align-items:center; position:relative;
    box-shadow:0 8px 18px rgba(57,54,43,.05);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
  }
  .t-bubble::before{
    content:""; position:absolute; left:-8px; top:50%; transform:translateY(-50%);
    width:16px; height:16px; background:inherit; border-left:inherit; border-bottom:inherit;
    rotate:45deg; border-radius:0 0 0 4px;
  }
  .concept-footer{
    margin-top:24px; text-align:center; border-top:1px solid rgba(154,136,120,.18); padding-top:14px;
  }
  .concept-footer h3{
    font-family:var(--font-body);
    font-size:28px;
    font-weight:800;
    letter-spacing:-.04em;
    line-height:1.02;
    margin:12px 0 28px;
  }
  .concept-cols{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:start;}
  .concept-cols > div{
    position:relative; padding:0 6px;
  }
  .concept-cols > div::after{
    content:"→"; position:absolute; right:-12px; top:22px; font-size:18px; line-height:1; color:rgba(154,136,120,.45);
  }
  .concept-cols > div:last-child::after{display:none;}
  .concept-badge{
    width:58px; height:58px; margin:0 auto 12px; border-radius:50%;
    background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(244,240,231,.92));
    border:1px solid rgba(181,171,151,.22); display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(57,54,43,.05);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .concept-cols > div:not(.concept-step){padding-top:70px;}
  .concept-cols > div:not(.concept-step)::before{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:58px; height:58px; border-radius:50%;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s6-5.4 6-10a6 6 0 1 0-12 0c0 4.6 6 10 6 10Z' fill='none' stroke='%231f2d1f' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='10' r='2.2' fill='none' stroke='%231f2d1f' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center/22px 22px,
      radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(244,240,231,.92));
    border:1px solid rgba(181,171,151,.22); box-shadow:0 8px 20px rgba(57,54,43,.05);
  }
  .concept-badge svg{width:22px; height:22px; stroke:var(--ink);}
  .concept-cols > div strong{
    display:block;
    font-size:17px;
    margin-bottom:8px;
    font-family:var(--font-body);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .concept-cols > div p{margin:0; font-size:12.5px; color:var(--muted); line-height:1.5; max-width:180px; margin-left:auto; margin-right:auto;}
  @media (max-width:860px){
    .concept-grid{grid-template-columns:1fr;}
    .concept-cols{grid-template-columns:1fr 1fr;}
    .concept-cols > div::after{display:none;}
  }
  @media (max-width:960px){
    .p-list{max-width:100%; padding-left:0;}
    .p-list::before{left:24px;}
    .p-list-item{grid-template-columns:48px 64px minmax(0,1fr); gap:14px; min-height:132px;}
    .p-list-item::before{left:24px; width:18px;}
    .p-num{
      width:40px; height:40px; font-size:13px;
      box-shadow:0 0 0 8px var(--cream), 0 8px 18px rgba(67,61,51,.06);
    }
    .p-list-item:nth-child(1) .p-num{box-shadow:0 0 0 8px var(--cream), 0 8px 18px rgba(67,61,51,.05);}
    .p-li-ic{width:64px; height:64px;}
    .p-li-ic svg{width:24px; height:24px;}
    .p-list-item > div:last-child{min-height:132px; padding:20px 22px 18px;}
    .p-list-item strong{font-size:17px; margin-bottom:8px;}
    .p-list-item p{font-size:15px; max-width:none;}
  }

  /* ---------- METHOD / PYRAMID ---------- */
  .method{
    background:var(--cream);
    padding-top:54px;
    padding-bottom:72px;
  }
  .method-intro{
    display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:24px; align-items:center;
    margin-bottom:32px; min-height:190px; padding:24px 36px 22px; position:relative; overflow:hidden;
    background:
      linear-gradient(90deg, rgba(248,244,236,.95) 0%, rgba(248,244,236,.9) 24%, rgba(248,244,236,.62) 44%, rgba(248,244,236,.18) 60%, rgba(248,244,236,.02) 72%),
      url("./core_background.webp") center center/cover no-repeat;
  }
  .method-intro::after{
    content:""; position:absolute; inset:auto 0 0 0; height:34px;
    background:linear-gradient(180deg, rgba(248,244,236,0) 0%, rgba(248,244,236,.86) 72%, rgba(248,244,236,1) 100%);
    pointer-events:none;
  }
  .method-copy{position:relative; z-index:1; max-width:760px;}
  .method-intro h2{
    font-family:var(--font-body);
    font-size:clamp(28px,3.4vw,42px);
    font-weight:800;
    line-height:.98;
    margin-bottom:14px;
    letter-spacing:-.055em;
    max-width:500px;
  }
  .method-intro h2 em{color:var(--sage); font-style:italic; font-weight:400;}
  .method-tagline{font-style:normal; color:var(--ink); font-size:13px; line-height:1.45; max-width:190px; position:relative; padding-top:16px;}
  .method-tagline::before{content:""; position:absolute; left:0; top:0; width:38px; height:2px; background:rgba(154,136,120,.72);}
  .swoosh{
    min-height:100%; width:100%; opacity:0; pointer-events:none;
  }
  .subsection-title{font-size:13px; font-weight:700; letter-spacing:.06em; color:var(--muted); margin-bottom:22px; text-transform:uppercase;}
  .subsection-intro{
    max-width:720px;
    margin:-8px 0 26px;
    font-size:15px;
    line-height:1.6;
    color:var(--charcoal);
  }
  .pyramid-row{display:grid; grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr); gap:54px; align-items:center; margin-bottom:72px;}
  .pyramid{display:flex; flex-direction:column; align-items:center; gap:10px; padding:12px 0;}
  .p-layer{
    color:var(--ivory); text-align:center; padding:18px 18px 16px; font-size:13px; line-height:1.55;
    border-radius:14px; box-shadow:0 10px 22px rgba(57,54,43,.08);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    transition:transform .24s ease, box-shadow .24s ease, filter .24s ease;
  }
  .p-layer strong{
    display:block; font-family:var(--font-body); font-size:15px; margin-bottom:6px; font-weight:700;
    letter-spacing:.06em; text-transform:uppercase;
  }
  .p-layer::before{
    content:""; width:28px; height:28px; margin:0 auto 10px; display:block;
    background-repeat:no-repeat; background-position:center; background-size:contain; opacity:.96;
  }
  .p1{
    width:58%; min-height:108px; color:#2f3a2e;
    background:linear-gradient(180deg, #FBF7F0 0%, #F1EADF 100%);
    border:1px solid rgba(181,171,151,.34);
    clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);
  }
  .p2{
    width:82%; min-height:104px; color:var(--ivory);
    background:linear-gradient(180deg, #BCA998 0%, #A28E7D 100%);
    clip-path:polygon(7% 0,93% 0,100% 100%,0 100%);
  }
  .p3{
    width:100%; min-height:108px; color:var(--ivory);
    background:linear-gradient(180deg, #7A6858 0%, #5F5044 100%);
    clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);
  }
  .p1::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566250' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.1 4.6 5 .6-3.7 3.3 1 4.8-4.4-2.5-4.4 2.5 1-4.8-3.7-3.3 5-.6L12 3Z'/%3E%3C/svg%3E");
  }
  .p2::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7f4ed' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h3v4H3zM18 10h3v4h-3z'/%3E%3Cpath d='M6 12h3m6 0h3M9 9v6m6-6v6'/%3E%3C/svg%3E");
  }
  .p3::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7f4ed' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7.2' r='2.2'/%3E%3Cpath d='M6.3 19.5c1.7-3.6 3.7-5.4 5.7-5.4s4 1.8 5.7 5.4'/%3E%3C/svg%3E");
  }
  .p-list{display:flex; flex-direction:column; gap:16px; position:relative; padding-left:16px; max-width:560px;}
  .p-list::before{
    content:""; position:absolute; left:26px; top:48px; bottom:48px; width:1px; background:rgba(154,136,120,.16);
  }
  .p-list-item{
    display:grid; grid-template-columns:48px 64px minmax(0,1fr); gap:14px; align-items:center; position:relative;
    min-height:124px;
  }
  .p-list-item::before{
    content:""; position:absolute; left:26px; top:50%; width:16px; height:1px; background:rgba(154,136,120,.22);
    transform:translateY(-50%);
  }
  .p-num{
    width:40px; height:40px; border-radius:50%; background:var(--ink); color:var(--ivory);
    display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; position:relative; z-index:2; margin-top:0;
    box-shadow:0 0 0 8px var(--cream), 0 8px 18px rgba(67,61,51,.08);
  }
  .p-list-item:nth-child(1) .p-num{background:#F1EADF; color:#2f3a2e; border:1px solid rgba(181,171,151,.5); box-shadow:0 0 0 8px var(--cream), 0 8px 18px rgba(67,61,51,.06);}
  .p-list-item:nth-child(2) .p-num{background:#BCA998; color:var(--ivory);}
  .p-list-item:nth-child(3) .p-num{background:#7A6858; color:var(--ivory);}
  .p-li-ic{
    width:64px; height:64px; border-radius:50%; border:1px solid rgba(181,171,151,.34); color:var(--sage);
    display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,243,236,.92));
    box-shadow:0 14px 28px rgba(67,61,51,.08);
    position:relative;
    z-index:2;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .p-li-ic svg{width:24px; height:24px;}
  .p-list-item > div:last-child{
    min-height:124px;
    border:1px solid rgba(181,171,151,.28);
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,243,236,.86));
    box-shadow:0 18px 34px rgba(67,61,51,.08);
    padding:18px 24px 16px 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    overflow:hidden;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .p-list-item strong{
    display:block; font-size:17px; margin-bottom:8px; font-family:var(--font-body); font-weight:800;
    letter-spacing:.08em; text-transform:uppercase; line-height:1;
  }
  .p-list-item strong::after{
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin-top:12px;
    background:rgba(154,136,120,.72);
    border-radius:999px;
  }
  .p-list-item p{margin:0; font-size:14px; color:var(--charcoal); line-height:1.42; max-width:340px;}
  .p-list-item:nth-child(1){min-height:124px;}
  .p-list-item:nth-child(2){min-height:124px;}
  .p-list-item:nth-child(3){min-height:124px;}

  .benefit-cards{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:64px;}
  .benefit-card{
    background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(251,249,244,.94));
    border:1px solid rgba(181,171,151,.34); border-radius:10px; padding:18px 18px 22px;
    text-align:center; min-height:188px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
  }
  .benefit-card .b-icon{
    width:58px; height:58px; border-radius:50%; margin:2px auto 14px;
    display:flex; align-items:center; justify-content:center;
    background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.96), rgba(244,240,231,.9));
    box-shadow:inset 0 0 0 1px rgba(181,171,151,.2);
    color:var(--sage);
    transition:transform .22s ease, box-shadow .22s ease, color .22s ease;
  }
  .benefit-card .b-icon svg{width:28px; height:28px; stroke:currentColor;}
  .benefit-card strong{
    display:block; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--sage);
    margin-bottom:10px; line-height:1.25;
  }
  .benefit-card strong::after{
    content:""; display:block; width:30px; height:2px; margin:10px auto 0;
    background:rgba(154,136,120,.6);
  }
  .benefit-card p{margin:0; font-size:13px; line-height:1.58; max-width:160px;}
  .method-story{
    display:grid;
    gap:24px;
    margin-bottom:12px;
  }
  .method-story-intro,
  .method-story-outro{
    max-width:920px;
    font-size:15px;
    line-height:1.72;
    color:var(--charcoal);
  }
  .method-story-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
  .method-story-step{
    border:1px solid rgba(181,171,151,.3);
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,243,236,.92));
    box-shadow:0 16px 30px rgba(67,61,51,.06);
    padding:20px 20px 22px;
    min-height:220px;
    display:flex;
    flex-direction:column;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .method-story-step .step-mark{
    width:48px;
    height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(242,236,226,.9));
    border:1px solid rgba(181,171,151,.34);
    color:var(--sage);
    box-shadow:0 10px 20px rgba(67,61,51,.06);
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
  }
  .method-story-step .step-mark svg{width:22px; height:22px;}
  .method-story-step strong{
    display:block;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#566250;
    margin-bottom:10px;
    font-family:var(--font-body);
    font-weight:800;
  }
  .method-story-step h4{
    margin:0 0 10px;
    font-family:var(--font-body);
    font-size:21px;
    line-height:1;
    letter-spacing:-.04em;
    font-weight:800;
    color:var(--ink);
  }
  .method-story-step p{
    margin:0;
    font-size:14px;
    line-height:1.62;
    color:var(--charcoal);
  }
  .method-story-quote{
    border-top:1px solid rgba(181,171,151,.36);
    border-bottom:1px solid rgba(181,171,151,.36);
    padding:22px 0;
    text-align:center;
  }
  .method-story-quote p{
    margin:0 auto;
    max-width:900px;
    font-family:var(--font-body);
    font-size:clamp(22px,2.25vw,30px);
    line-height:1.2;
    letter-spacing:-.04em;
    font-weight:800;
    color:var(--ink);
  }
  .method-story-quote .accent{color:var(--sage-bright);}
  .method-story-sign{
    margin-top:10px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sage);
    font-weight:700;
  }

  .accordion{border-top:1px solid var(--border);}
  details{border-bottom:1px solid var(--border);}
  summary{
    list-style:none; cursor:pointer; padding:18px 4px; display:flex; align-items:center; justify-content:space-between;
    font-size:15px; font-weight:500;
  }
  summary::-webkit-details-marker{display:none;}
  summary::after{content:"+"; font-size:20px; color:var(--sage); font-weight:400;}
  details[open] summary::after{content:"–";}
  details p{margin:0 0 20px; color:var(--charcoal); font-size:14.5px; max-width:640px;}

  /* ---------- PRICING ---------- */
  .pricing-head{
    text-align:center; max-width:980px; margin:0 auto 24px; padding:52px 32px 44px; position:relative; overflow:hidden;
    background:
      linear-gradient(180deg, rgba(248,244,236,.84) 0%, rgba(248,244,236,.9) 100%),
      url("./headline_background.webp") center center/cover no-repeat;
    border-radius:22px;
  }
  .pricing-head .eyebrow{margin-bottom:12px; font-size:10px; letter-spacing:.22em;}
  .pricing-head h2{
    font-family:var(--font-body);
    font-size:clamp(34px,4.2vw,52px);
    font-weight:800;
    line-height:.98;
    letter-spacing:-.055em;
    margin:0;
  }
  .pricing-head h2 .accent{
    color:var(--sage-bright);
    font-style:italic;
  }
  .pricing-head .eyebrow,
  .why-unlimited .label{
    font-family:var(--font-body);
    font-weight:700;
    text-transform:uppercase;
  }
  .why-unlimited{padding:8px 0 2px; margin-bottom:42px; text-align:center; position:relative;}
  .why-unlimited h4{
    font-family:var(--font-head); font-weight:400; font-size:17px;
    line-height:1.42; margin:0 auto 24px; max-width:700px; color:var(--ink); letter-spacing:-.015em;
  }
  .why-unlimited h4::after{
    content:""; display:block; width:48px; height:1px; margin:16px auto 0; background:rgba(154,136,120,.58);
  }
  .wu-track{
    display:grid; grid-template-columns:88px minmax(0,1fr) 88px; align-items:start; gap:12px;
    max-width:1040px; margin:0 auto 16px;
  }
  .wu-side{
    display:flex; flex-direction:column; align-items:center; gap:10px; padding-top:18px; color:var(--sage);
  }
  .wu-side .dot{
    width:14px; height:14px; border-radius:50%; border:1.5px solid rgba(154,136,120,.52); background:rgba(255,255,255,.96);
    box-shadow:0 0 0 5px rgba(154,136,120,.06);
  }
  .wu-side .label{
    font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:800; color:#566250; white-space:nowrap;
  }
  .wu-side.start{
    padding-top:14px;
  }
  .wu-side.start .label{
    font-size:28px;
    letter-spacing:.08em;
  }
  .wu-side.start .label::after{
    content:">";
    display:inline-block;
    margin-left:12px;
    font-size:30px;
    line-height:1;
    color:var(--sage);
    transform:translateY(-1px);
  }
  .wu-side.start .dot{
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(242,236,226,.94));
  }
  .wu-side.end .dot{
    width:auto; height:auto; border:none; border-radius:0;
    background:none;
    box-shadow:none;
    font-size:88px; line-height:1; color:var(--sage-bright);
    display:flex; align-items:center; justify-content:center;
  }
  .wu-side.end{
    padding-top:0;
    justify-self:center;
  }
  .wu-side.end .dot::before{
    content:"∞";
  }
  .wu-side.end .label{
    color:var(--sage-bright);
    font-size:22px;
    letter-spacing:.12em;
  }
  .wu-cols{
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; text-align:center; margin:0 auto 16px;
    max-width:none; position:relative; align-items:start; padding-top:4px;
  }
  .wu-cols::before{
    content:""; position:absolute; left:-10%; right:-10%; top:49px; height:1px; pointer-events:none; background:rgba(181,171,151,.52);
  }
  .wu-cols > div{position:relative; padding:0 8px;}
  .wu-cols > div::before{
    content:""; width:62px; height:62px; border-radius:50%; margin:0 auto 14px; display:block;
    background:#f8f4ec;
    box-shadow:0 10px 20px rgba(67,61,51,.05), inset 0 0 0 1px rgba(181,171,151,.26);
    background-repeat:no-repeat; background-position:center; background-size:28px 28px; position:relative; z-index:1;
  }
  .wu-cols > div:nth-child(1)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6e5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v3M17 3v3M4 8h16'/%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 12h4M8 15h6'/%3E%3C/svg%3E");
  }
  .wu-cols > div:nth-child(2)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6e5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.4'/%3E%3Cpath d='M5.4 19.5c1.9-3.1 4.1-4.7 6.6-4.7s4.7 1.6 6.6 4.7'/%3E%3C/svg%3E");
  }
  .wu-cols > div:nth-child(3)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6e5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12M8 12h8M10 16h4'/%3E%3Ccircle cx='7' cy='8' r='1.4'/%3E%3Ccircle cx='17' cy='12' r='1.4'/%3E%3Ccircle cx='9' cy='16' r='1.4'/%3E%3C/svg%3E");
  }
  .wu-cols strong{
    display:block; font-size:14px; margin-bottom:8px; color:var(--ink); font-family:var(--font-body); font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  }
  .wu-cols p{margin:0 auto; font-size:12.5px; color:var(--charcoal); line-height:1.55; max-width:165px;}

  .plans{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
  .pricing-head .rec-sub{
    max-width:760px;
    font-size:18px;
    line-height:1.38;
    white-space:normal;
    color:var(--sage-bright);
    font-style:italic;
    letter-spacing:-.02em;
  }
  .pricing-kicker{
    margin:16px auto 0;
    max-width:720px;
    font-size:14px;
    line-height:1.6;
    color:var(--ink);
  }
  .pricing-mini{
    margin:8px auto 0;
    max-width:640px;
    font-size:12px;
    line-height:1.55;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--sage);
    font-weight:700;
  }
  .plan-card{
    border:1px solid rgba(181,171,151,.24); border-radius:14px; position:relative;
    overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:354px;
    box-shadow:0 12px 30px rgba(67,61,51,.09); padding:110px 24px 108px;
    isolation:isolate;
    background-color:#e8e1d6;
    transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .plan-card.pop{border-color:var(--taupe-deep); box-shadow:0 0 0 1px rgba(132,114,97,.28), 0 16px 34px rgba(67,61,51,.1);}
  .plan-card > *{position:relative; z-index:2;}
  .plan-card::selection{background:rgba(132,114,97,.18);}
  .plan-card.base{
    background-image:url("./pricing-base-gym.webp");
    background-position:50% 46%;
    background-size:cover;
    background-repeat:no-repeat;
  }
  .plan-card.concierge{
    background-image:url("./pricing-concierge-home.webp");
    background-position:56% 50%;
    background-size:cover;
    background-repeat:no-repeat;
  }
  .plan-card.signature{
    background-image:url("./pricing-signature-gym-home.webp");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
  }
  .plan-card .plan-visual{
    position:absolute; inset:0; z-index:0; pointer-events:none;
  }
  .plan-card .plan-visual::before{
    content:""; position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(36,34,28,.12) 0%, rgba(36,34,28,.04) 18%, rgba(250,248,242,0) 38%, rgba(250,248,242,.48) 62%, rgba(250,248,242,.82) 80%),
      radial-gradient(ellipse at 50% 60%, rgba(255,250,244,.76) 0%, rgba(255,250,244,.54) 22%, rgba(255,250,244,.18) 42%, rgba(255,250,244,0) 64%);
    transition:opacity .24s ease, transform .24s ease;
  }
  .plan-card .plan-visual::after{
    content:""; position:absolute; left:0; right:0; bottom:76px; height:120px;
    background:linear-gradient(180deg, rgba(250,248,242,0) 0%, rgba(250,248,242,.58) 58%, rgba(250,248,242,.84) 100%);
    z-index:1;
  }
  .plan-card::before{
    content:""; width:58px; height:58px; border-radius:50%; display:block; position:absolute; left:14px; top:14px;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6e5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10v4M6 8v8M18 8v8M21 10v4'/%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E") no-repeat center/25px 25px,
      radial-gradient(circle at 30% 30%, rgba(255,255,255,.98), rgba(246,242,234,.92));
    box-shadow:0 10px 22px rgba(67,61,51,.09), inset 0 0 0 1px rgba(181,171,151,.18);
    color:var(--sage);
    z-index:3;
  }
  .plan-card.concierge::before{
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6e5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E") no-repeat center/25px 25px,
      radial-gradient(circle at 30% 30%, rgba(255,255,255,.98), rgba(246,242,234,.92));
  }
  .plan-card.signature::before{
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 24' fill='none' stroke='%235f6e5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10v4M6 8v8M18 8v8M21 10v4'/%3E%3Cpath d='M6 12h12'/%3E%3Cpath d='M23 11l9-8 9 8'/%3E%3Cpath d='M25 10v10h14V10'/%3E%3C/svg%3E") no-repeat center/30px 18px,
      radial-gradient(circle at 30% 30%, rgba(255,255,255,.98), rgba(246,242,234,.92));
  }
  .plan-badge{position:absolute; top:14px; right:14px; background:var(--taupe-deep); color:var(--ivory); font-size:10px; font-weight:700; letter-spacing:.06em; padding:7px 12px; border-radius:999px; z-index:3; transition:transform .22s ease, box-shadow .22s ease;}
  .plan-note{
    position:absolute;
    top:14px;
    right:14px;
    font-size:10px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--ivory);
    background:var(--taupe-deep);
    padding:7px 12px;
    border-radius:999px;
    z-index:3;
    transition:transform .22s ease, box-shadow .22s ease;
  }
  .plan-copy{
    position:relative; z-index:2; width:min(100%, 270px); margin:0 auto;
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    padding:20px 18px 22px; border-radius:24px;
    background:linear-gradient(180deg, rgba(250,248,242,.62), rgba(250,248,242,.44));
    box-shadow:0 10px 24px rgba(67,61,51,.05);
    backdrop-filter:blur(1.5px);
  }
  .plan-name{font-family:var(--font-head); font-size:24px; margin-bottom:4px; font-weight:400; letter-spacing:-.02em; text-transform:uppercase; position:relative; z-index:2; width:100%; text-align:center;}
  .plan-name{
    font-family:var(--font-body);
    font-size:16px;
    margin-bottom:8px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    position:relative;
    z-index:2;
    width:100%;
    text-align:center;
  }
  .plan-tag{color:var(--ink); font-size:17px; margin-bottom:18px; line-height:1.24; max-width:240px; position:relative; z-index:2; text-align:center; font-family:var(--font-head); letter-spacing:-.025em;}
  .plan-tag::after{content:""; display:block; width:34px; height:1px; background:rgba(154,136,120,.52); margin:14px auto 0;}
  .plan-desc{
    margin:0 0 16px;
    font-size:12.5px;
    line-height:1.5;
    color:#3f473b;
    max-width:250px;
    text-align:center;
  }
  .plan-micro{
    margin:16px auto 0;
    font-size:11.5px;
    line-height:1.5;
    color:#495345;
    max-width:250px;
    text-align:center;
  }
  .plan-price{
    position:absolute; left:0; right:0; bottom:0; background:var(--taupe-deep); color:rgba(252,248,241,.86);
    padding:12px 18px 16px; font-size:12px; line-height:1.2; margin:0; z-index:4;
  }
  .plan-price b{display:block; font-size:31px; line-height:1; margin-top:4px; color:var(--ivory); font-family:var(--font-body); font-weight:700;}
  .plan-book{
    position:absolute;
    right:16px;
    bottom:16px;
    z-index:6;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:102px;
    height:40px;
    padding:0 16px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.08);
    color:var(--ivory);
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    letter-spacing:.04em;
    backdrop-filter:blur(4px);
    transition:background .22s ease, transform .22s ease, border-color .22s ease;
  }
  .plan-book:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.36);
    transform:translateY(-1px);
  }
  .plan-list{list-style:none; margin:0 auto; padding:0; font-size:14px; display:flex; flex-direction:column; gap:13px; width:min(100%,240px); max-width:240px; position:relative; z-index:2; text-align:left;}
  .plan-list li{
    position:relative; padding-left:26px; border-top:none; line-height:1.4;
  }
  .plan-list li::before{
    content:""; position:absolute; left:0; top:4px; width:16px; height:16px; border-radius:50%;
    box-shadow:inset 0 0 0 1.5px rgba(132,114,97,.28);
    background:
      radial-gradient(circle at 50% 50%, transparent 0 4px, rgba(132,114,97,.58) 4.4px 5px, transparent 5.4px),
      transparent;
  }
  .plan-card .btn{display:none;}
  .plans-note{text-align:center; margin-top:18px; font-size:13.5px; color:var(--muted);}
  .plans-map{
    margin-top:12px;
    text-align:center;
    font-size:13px;
  }
  .plans-map a{
    color:var(--sage);
    text-decoration:none;
    font-weight:600;
  }
  @media (max-width:860px){
    .plans{grid-template-columns:1fr;}
    .pricing-head{padding:34px 20px 28px; border-radius:18px;}
    .method{padding-top:42px; padding-bottom:58px;}
    .method-intro{
      grid-template-columns:1fr; min-height:auto; padding:26px 18px 22px;
      margin-bottom:26px;
      background:
        linear-gradient(180deg, rgba(248,244,236,.92) 0%, rgba(248,244,236,.78) 40%, rgba(248,244,236,.58) 100%),
        url("./core_background.webp") 66% center/cover no-repeat;
    }
    .method-copy{max-width:100%;}
    .method-intro h2{font-size:clamp(24px,8vw,34px); line-height:1.03; margin-bottom:12px;}
    .method-tagline{font-size:13px; max-width:180px;}
    .pyramid-row{grid-template-columns:1fr; gap:28px; margin-bottom:52px;}
    .pyramid{max-width:100%;}
    .wu-track{grid-template-columns:1fr; gap:18px;}
    .wu-side.start{display:none;}
    .wu-side{padding-top:0;}
    .wu-side.end .dot{font-size:32px;}
    .wu-cols{grid-template-columns:1fr; gap:20px;}
    .wu-cols::before{display:none;}
    .benefit-cards{grid-template-columns:1fr 1fr;}
    .method-story-grid{grid-template-columns:1fr;}
    .method-story-step{min-height:auto; padding:18px;}
  }

  /* ---------- TRAIN WHERE ---------- */
  .venues-section{
    background:
      linear-gradient(90deg, rgba(246,242,234,.95) 0%, rgba(246,242,234,.9) 28%, rgba(246,242,234,.72) 52%, rgba(246,242,234,.58) 100%),
      url("./venues-background-park.webp") center center / cover no-repeat;
    padding:36px 0 32px;
  }
  .venue-grid{display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:20px; align-items:center;}
  .venue-head{
    padding:24px 24px 22px;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(181,171,151,.2);
    border-radius:24px;
    box-shadow:0 14px 30px rgba(57,54,43,.05);
  }
  .venue-head h2{font-size:clamp(30px,3.5vw,48px); line-height:1.06; letter-spacing:-.04em; max-width:320px;}
  .venue-head .line2{display:block; color:var(--sage-bright); font-style:normal; font-weight:800;}
  .venue-head p{margin-top:20px; color:var(--charcoal); font-size:15px;}
  .venue-cards{position:relative; min-height:360px; display:grid; grid-template-columns:repeat(2,250px); justify-content:center; gap:16px; align-content:center; padding:0;}
  .venue-path{
    position:absolute; inset:6px 28px 0 28px; width:calc(100% - 56px); height:326px;
    overflow:visible; pointer-events:none;
  }
  .venue-path path{fill:none; stroke:rgba(255,255,255,.34); stroke-width:2; stroke-dasharray:7 14; stroke-linecap:round;}
  .venue-card{
    position:relative; width:250px; min-height:118px; height:118px; background:rgba(255,255,255,.9);
    border:1px solid rgba(181,171,151,.2); border-radius:20px; padding:18px 18px 16px;
    box-shadow:0 18px 34px rgba(57,54,43,.1); backdrop-filter:blur(6px);
    z-index:1;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
  }
  .venue-card.home,
  .venue-card.condo,
  .venue-card.gym,
  .venue-card.park{margin:0;}
  .venue-card .v-icon{width:32px; height:32px; margin-bottom:10px; color:var(--sage);}
  .venue-card strong{display:block; font-size:14px; margin-bottom:4px; letter-spacing:.02em; text-transform:uppercase; color:#374434;}
  .venue-card p{margin:0; font-size:12px; color:var(--ink); line-height:1.4; max-width:132px;}
  .venue-card a.map-link{display:inline-flex; align-items:center; gap:4px; margin-top:10px; font-size:0; color:var(--sage-bright); text-decoration:none; line-height:1;}
  .venue-card a.map-link::before{content:"↗"; font-size:14px; line-height:1;}
  .venue-card.gym .n-badge{
    width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 35%, #907C69, #352B23);color:var(--ivory);
    display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:16px;margin-bottom:10px;
  }
  .venue-card.gym strong{display:inline-block; max-width:none; margin-right:8px;}
  .venue-card.gym p{max-width:150px;}
  .venue-card.gym .v-icon-inline{display:none;}
  .venue-card.gym .map-link{display:none;}
  @media (max-width:1160px){
    .venue-cards{grid-template-columns:repeat(2,226px); gap:14px; min-height:332px;}
    .venue-path{inset:6px 18px 0 18px; width:calc(100% - 36px); height:302px;}
    .venue-card{width:226px; height:112px; min-height:112px; padding:16px 16px 14px;}
    .venue-card.home{margin:0;}
    .venue-card.condo{margin:20px 0 0;}
    .venue-card.gym{margin:0;}
    .venue-card.park{margin:8px 0 0;}
  }
  @media (max-width:860px){
    .venue-grid{grid-template-columns:1fr;}
    .venue-head{padding:20px 18px 18px;}
    .venue-cards{min-height:auto; display:grid; grid-template-columns:1fr; gap:20px; padding:0;}
    .venue-path{display:none;}
    .venue-card{position:relative; width:auto; top:auto; left:auto; right:auto; margin:0;}
  }

  /* ---------- FOUNDER ---------- */
  #founder > .wrap > .section-label{display:none;}
  #founder .founder-shell,
  #founder .founder-editorial,
  #founder .founder-article{display:none;}
  #founder .wrap{
    max-width:var(--max);
    padding:0 24px;
  }
  .founder-story-v2{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }
  .founder-story-v2-hero{
    display:grid;
    grid-template-columns:minmax(280px,360px) minmax(0,1fr);
    gap:42px;
    align-items:stretch;
  }
  .founder-story-v2-portrait{
    margin:0;
    width:88%;
    aspect-ratio:.72/1;
    overflow:hidden;
    background:#d7d0c7;
    justify-self:start;
  }
  .founder-story-v2-portrait img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 28%;
    filter:saturate(.92) contrast(1.01) brightness(1.02);
    transition:transform .28s ease, filter .28s ease;
  }
  .founder-story-v2-top{
    padding:44px 34px 34px 0;
  }
  .founder-story-v2-kicker{
    margin:0 0 20px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sage);
    font-weight:700;
  }
  .founder-story-v2-rule{
    width:44px;
    height:2px;
    background:rgba(154,136,120,.72);
    margin:0 0 30px;
  }
  .founder-story-v2-title{
    margin:0;
    font-family:var(--font-body);
    font-size:clamp(36px,3.8vw,56px);
    font-weight:800;
    line-height:.96;
    letter-spacing:-.06em;
    max-width:12ch;
    white-space:normal;
  }
  .founder-story-v2-copy{
    margin-top:32px;
    padding-top:30px;
    border-top:1px solid rgba(154,136,120,.16);
  }
  .founder-story-v2-copy p,
  .founder-story-v2-block p{
    margin:0 0 18px;
    font-size:18px;
    line-height:1.72;
    color:var(--ink);
  }
  .founder-story-v2-copy p:last-child,
  .founder-story-v2-block p:last-child{margin-bottom:0;}
  .founder-story-v2-body{
    margin-top:38px;
    width:100%;
  }
  .founder-story-v2-block{
    padding:32px 0;
    border-top:1px solid rgba(154,136,120,.16);
  }
  .founder-story-v2-pull{
    padding:34px 0;
    border-top:1px solid rgba(154,136,120,.16);
    border-bottom:1px solid rgba(154,136,120,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:26px;
    text-align:center;
  }
  .founder-story-v2-pull .quote-mark{
    font-family:var(--font-head);
    font-size:76px;
    line-height:.6;
    color:rgba(154,136,120,.22);
    flex:0 0 auto;
  }
  .founder-story-v2-pull p{
    margin:0;
    font-family:var(--font-head);
    font-style:italic;
    font-size:clamp(22px,2.2vw,32px);
    font-weight:800;
    line-height:1.18;
    letter-spacing:-.03em;
    color:var(--sage);
    max-width:18ch;
    white-space:normal;
  }
  .founder-story-v2-signoff{
    padding:32px 0 0;
    border-top:1px solid rgba(154,136,120,.16);
  }
  .founder-story-v2-signoff h3{
    margin:0 0 18px;
    font-family:var(--font-head);
    font-size:clamp(15px,1.55vw,24px);
    line-height:1.02;
    letter-spacing:-.045em;
    max-width:none;
    white-space:nowrap;
  }
  .founder-story-v2-signoff .sigline{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:15px;
    color:var(--sage);
  }
  .founder-story-v2-signoff .sigline::before{
    content:"";
    width:28px;
    height:2px;
    background:rgba(154,136,120,.72);
    flex:0 0 auto;
  }
  .founder-story-v2-signoff em{font-style:italic;}
  #plans{padding-bottom:12px;}
  #founder{
    background:var(--cream);
    padding-top:28px;
    padding-bottom:56px;
  }
  @media (max-width:960px){
    #founder .wrap{padding:0 24px;}
    .founder-story-v2-hero{
      grid-template-columns:1fr;
      gap:26px;
    }
    .founder-story-v2-top{padding:4px 0 0;}
    .founder-story-v2-title{max-width:none; font-size:clamp(46px,12vw,64px); white-space:normal;}
    .founder-story-v2-pull{
      gap:18px;
      padding:28px 0;
    }
    .founder-story-v2-pull .quote-mark{font-size:60px;}
    .founder-story-v2-pull p{font-size:clamp(32px,8vw,48px); max-width:none; white-space:normal;}
    .founder-story-v2-signoff h3{max-width:none; font-size:clamp(34px,10vw,52px); white-space:normal;}
  }

  /* ---------- TRUST ---------- */
  .trust{
    background:#fff;
    padding-top:56px;
    padding-bottom:56px;
  }
  .trust-head{text-align:left; max-width:none; width:100%; margin:0 0 34px;}
  .trust-head h2{
    font-family:var(--font-body);
    font-size:clamp(34px,4.2vw,52px);
    font-weight:800;
    letter-spacing:-.055em;
    line-height:.98;
  }
  .trust-head .eyebrow{
    margin-bottom:12px;
    font-size:10px;
    letter-spacing:.22em;
    font-weight:700;
  }
  .trust-head .rec-sub{
    max-width:none;
    font-size:16px;
    line-height:1.42;
    color:var(--ink);
    letter-spacing:-.01em;
  }
  .trust-cols{display:grid; grid-template-columns:repeat(4,1fr);}
  .trust-cols > div{padding:0 22px; text-align:center; border-left:1px solid rgba(154,136,120,.16); transition:transform .22s ease, opacity .22s ease;}
  .trust-cols > div:first-child{border-left:none;}
  .trust-cols .t-ic{width:46px; height:46px; margin:0 auto 14px; color:var(--sage); transition:transform .22s ease, color .22s ease;}
  .trust-cols strong{
    display:block;
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:10px;
    color:#475843;
    font-family:var(--font-body);
    font-weight:800;
  }
  .trust-cols p{
    margin:0;
    font-size:13px;
    color:var(--ink);
    line-height:1.5;
    max-width:170px;
    margin-left:auto;
    margin-right:auto;
  }
  @media (max-width:860px){ .trust-cols{grid-template-columns:1fr 1fr;} .trust-cols>div{border-left:none; margin-bottom:18px;} }

  /* ---------- FINAL CTA ---------- */
  .cta-sub{margin:18px 0 24px; color:var(--charcoal); font-size:16px;}
  .cta-buttons{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-width:700px;}
  .cta-btn{
    display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:10px; padding:14px 14px 14px;
    border-radius:16px; text-decoration:none; font-size:15px; font-weight:500; text-align:center; min-height:100px;
    background:linear-gradient(180deg, #B99572, #A17A5F);
    color:var(--ivory);
    border:1px solid transparent;
    box-shadow:0 16px 28px rgba(92,75,63,.18);
    transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
  }
  .cta-btn.line{background:linear-gradient(180deg, #B99572, #A17A5F); color:var(--ivory); border:1px solid transparent;}
  .cta-btn.outline{background:linear-gradient(180deg, #B99572, #A17A5F); color:var(--ivory); border:1px solid transparent;}
  .cta-btn svg{width:24px; height:24px;}
  .cta-btn small{display:block; font-weight:400; font-size:11px; opacity:.84; margin-top:-1px; color:rgba(255,255,255,.84);}
  .cta-micro{margin-top:16px; font-size:13px; color:var(--muted);}

  /* ---------- CONTACT + FOOTER ---------- */
  #contact{padding-top:56px;}
  .contact-grid{display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:34px; align-items:start;}
  .contact-head{padding-top:10px;}
  .contact-head h2{
    font-family:var(--font-body);
    font-size:clamp(34px,4vw,56px);
    font-weight:800;
    line-height:.96;
    letter-spacing:-.06em;
    max-width:440px;
  }
  .contact-head .line2{color:var(--sage-bright); font-style:italic;}
  .contact-head .cta-sub{
    margin:18px 0 22px;
    max-width:none;
    font-size:17px;
    line-height:1.45;
    color:var(--ink);
    letter-spacing:-.01em;
  }
  .contact-head .cta-buttons{max-width:500px; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr));}
  .contact-head .cta-btn{min-height:100px;}
  .contact-head .cta-languages{
    margin:14px 0 10px;
    max-width:500px;
    font-size:12px;
    line-height:1.55;
    color:var(--muted);
    letter-spacing:.04em;
  }
  .contact-head .cta-languages strong{
    color:var(--ink);
    font-weight:700;
    margin-right:8px;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .contact-head .cta-micro{
    max-width:420px;
    line-height:1.6;
    font-size:13px;
    color:var(--muted);
  }
  .form-card{
    background:rgba(255,255,255,.68); border:1px solid rgba(181,171,151,.26); border-radius:26px; padding:24px;
    box-shadow:0 22px 44px rgba(57,54,43,.08); backdrop-filter:blur(6px);
  }
  .field{margin-bottom:16px;}
  .field > label{
    display:block;
    font-size:12px;
    font-weight:700;
    margin-bottom:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--ink);
  }
  .field-help{margin:-2px 0 10px; font-size:13px; line-height:1.5; color:var(--muted);}
  .field input[type=text], .field input[type=email], .field textarea{
    width:100%; padding:14px 16px; border-radius:10px; border:1px solid rgba(181,171,151,.42); background:rgba(255,255,255,.72);
    font-family:var(--font-body); font-size:15px; color:var(--ink);
  }
  .field input[type=text]:focus,
  .field input[type=email]:focus,
  .field textarea:focus{
    outline:none; border-color:rgba(132,114,97,.52); box-shadow:0 0 0 4px rgba(132,114,97,.08);
  }
  .field textarea{resize:vertical; min-height:90px;}
  .chip-group{display:grid; gap:10px;}
  .contact-methods{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
  .contact-option{display:grid; gap:8px; align-content:start;}
  .contact-toggle{
    position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
  }
  .contact-card{
    position:relative; border:1px solid rgba(181,171,151,.34); border-radius:18px; padding:16px 16px 14px; min-height:108px;
    background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(251,249,244,.9));
    box-shadow:0 10px 22px rgba(57,54,43,.05); cursor:pointer; transition:border-color .25s ease, box-shadow .25s ease, background .25s ease, transform .25s ease;
    display:flex; flex-direction:column; gap:10px;
  }
  .contact-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px rgba(57,54,43,.08);}
  .contact-toggle:focus-visible + .contact-card{outline:2px solid rgba(132,114,97,.45); outline-offset:3px;}
  .contact-toggle:checked + .contact-card{
    border-color:rgba(132,114,97,.52);
    background:linear-gradient(180deg, rgba(249,244,238,.96), rgba(252,248,241,.94));
    box-shadow:0 16px 30px rgba(57,54,43,.08), inset 0 0 0 1px rgba(132,114,97,.15);
  }
  .contact-card-top{display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
  .contact-card svg{width:26px; height:26px; color:var(--sage); flex:0 0 auto;}
  .contact-card-copy{display:flex; flex-direction:column; gap:6px;}
  .contact-card-title{
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink);
    font-weight:800;
  }
  .contact-card-text{font-size:12.5px; line-height:1.48; color:var(--muted);}
  .contact-card-check{
    width:22px; height:22px; border-radius:6px; border:1px solid rgba(181,171,151,.6); display:flex; align-items:center; justify-content:center;
    color:transparent; background:rgba(255,255,255,.78); transition:all .25s ease; flex:0 0 auto;
  }
  .contact-card-check::before{content:"✓"; font-size:13px; font-weight:700;}
  .contact-toggle:checked + .contact-card .contact-card-check{
    border-color:rgba(132,114,97,.82); background:var(--taupe-deep); color:var(--ivory);
  }
  .contact-panel{
    display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s ease;
  }
  .contact-panel-inner{
    min-height:0; overflow:hidden; border:1px solid rgba(181,171,151,.28); border-radius:16px; background:rgba(255,255,255,.64);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.5); padding:0 14px;
    opacity:0; transform:translateY(-6px); transition:opacity .28s ease, transform .28s ease, padding .28s ease;
  }
  .contact-toggle:checked + .contact-card + .contact-panel{grid-template-rows:1fr;}
  .contact-toggle:checked + .contact-card + .contact-panel .contact-panel-inner{
    opacity:1; transform:none; padding:14px;
  }
  .contact-panel label{display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--sage); font-weight:700; margin-bottom:8px;}
  .contact-panel input{margin-bottom:8px;}
  .contact-panel-note{margin:0; font-size:12px; line-height:1.5; color:var(--muted);}
  .location-options{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;}
  .location-option{position:relative;}
  .location-option input{
    position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
  }
  .location-card{
    min-height:112px; border:1px solid rgba(181,171,151,.34); border-radius:18px; padding:14px 12px 12px;
    background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(250,248,242,.88));
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; cursor:pointer;
    box-shadow:0 10px 22px rgba(57,54,43,.05); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  }
  .location-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px rgba(57,54,43,.08);}
  .location-option input:focus-visible + .location-card{outline:2px solid rgba(132,114,97,.42); outline-offset:3px;}
  .location-option input:checked + .location-card{
    border-color:rgba(132,114,97,.58);
    background:linear-gradient(180deg, rgba(249,244,238,.96), rgba(252,248,241,.94));
    box-shadow:0 16px 30px rgba(57,54,43,.08), inset 0 0 0 1px rgba(132,114,97,.14);
  }
  .location-card svg{width:28px; height:28px; color:var(--sage);}
  .location-card .n-badge{
    width:34px; height:34px; margin:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-body); font-size:16px; font-weight:700; color:var(--ivory);
    background:radial-gradient(circle at 35% 35%, #907C69, #352B23);
  }
  .location-card span{
    font-size:12px; line-height:1.3; color:var(--ink); letter-spacing:.04em; text-transform:uppercase; font-weight:700;
  }
  .chip{
    border:1px solid rgba(181,171,151,.42); border-radius:10px; padding:14px 16px; font-size:14px; background:rgba(255,255,255,.72);
    cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; min-height:74px; text-align:center;
  }
  .chip svg{width:24px; height:24px; color:var(--sage); flex-shrink:0;}
  .chip input{accent-color:var(--sage); margin:0;}
  .submit-btn{
    width:100%; justify-content:center; padding:16px 18px; border-radius:12px; font-size:15px;
    background:linear-gradient(180deg, #C8956E, #AD7A5C); border-color:transparent;
    color:var(--ivory);
    box-shadow:0 14px 28px rgba(146,88,73,.18); transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
  }
  .submit-btn:hover{
    background:linear-gradient(180deg, #B98561, #9C6B51);
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(146,88,73,.24);
  }
  .submit-btn svg{width:20px; height:20px;}
  .form-trust{
    display:flex; align-items:center; justify-content:center; gap:8px;
    text-align:center; font-size:13px; color:var(--muted); margin-top:12px;
  }
  .form-trust svg{width:16px; height:16px; color:#925849; flex:0 0 auto;}
  .floating-contact{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:60;
    display:flex;
    flex-direction:column;
    gap:10px;
    width:min(236px, calc(100vw - 28px));
    transform-origin:bottom right;
  }
  .floating-contact-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    width:100%;
    min-height:58px;
    padding:8px 8px 8px 18px;
    border:none;
    border-radius:999px;
    background:linear-gradient(180deg, #B99572, #A17A5F);
    color:var(--ivory);
    font:inherit;
    cursor:pointer;
    box-shadow:0 18px 36px rgba(67,61,51,.14);
    border:1px solid transparent;
    transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
  }
  .floating-contact-toggle .toggle-label{
    font-size:13px;
    font-weight:700;
    letter-spacing:.32em;
    text-transform:uppercase;
    flex:1 1 auto;
    text-align:center;
    padding-left:22px;
    white-space:nowrap;
  }
  .floating-contact-toggle svg{
    width:22px;
    height:22px;
    flex:0 0 auto;
  }
  .floating-contact-toggle .toggle-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.14);
    color:var(--ivory);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
    flex:0 0 auto;
    padding:0;
    transition:transform .22s ease, background-color .22s ease, box-shadow .22s ease;
  }
  .floating-contact-toggle .toggle-icon svg{
    width:20px;
    height:20px;
    flex:none;
    display:block;
    margin:0;
  }
  .floating-contact-links{
    display:grid;
    gap:8px;
    overflow:hidden;
    max-height:0;
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    transition:max-height .28s ease, opacity .22s ease, transform .22s ease;
    padding:0 8px;
  }
  .floating-contact.is-open .floating-contact-links{
    max-height:260px;
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
  .floating-contact a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:10px 12px;
    border-radius:14px;
    text-decoration:none;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,243,236,.9));
    border:1px solid rgba(181,171,151,.3);
    color:var(--ink);
    font-size:13px;
    font-weight:700;
    letter-spacing:.02em;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .floating-contact a:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(67,61,51,.09);
    border-color:rgba(154,136,120,.32);
  }
  .floating-contact a svg{
    width:18px;
    height:18px;
    color:var(--sage);
    flex:0 0 auto;
  }
  .floating-contact a.contact-direct{
    background:linear-gradient(180deg, #B99572, #A17A5F);
    color:var(--ivory);
    border-color:transparent;
  }
  .floating-contact a.contact-direct svg{color:var(--ivory);}

  @media (hover:hover){
    .btn:hover{
      transform:translateY(-2px);
      box-shadow:0 12px 24px rgba(67,61,51,.10);
    }
    .hero-photo:hover + .hero-quote,
    .hero-quote:hover{
      transform:translateY(-3px);
      box-shadow:0 24px 40px rgba(47,43,35,.15);
      border-color:rgba(181,171,151,.34);
    }
    .timeline .t-item:hover .t-icon{
      transform:translateY(-2px);
      box-shadow:0 12px 22px rgba(57,54,43,.09);
    }
    .timeline .t-item:hover .t-dot{
      transform:scale(1.12);
      box-shadow:0 0 0 8px rgba(244,240,231,.98), 0 0 0 1px rgba(154,136,120,.12);
    }
    .timeline .t-item:hover .t-bubble{
      transform:translateX(4px);
      box-shadow:0 14px 24px rgba(57,54,43,.08);
      border-color:rgba(154,136,120,.24);
      background:rgba(255,255,255,.9);
    }
    .concept-cols > div:hover .concept-badge{
      transform:translateY(-3px);
      box-shadow:0 12px 24px rgba(57,54,43,.08);
      border-color:rgba(154,136,120,.24);
    }
    .pyramid:hover .p-layer{filter:saturate(1.02);}
    .pyramid:hover .p1{transform:translateY(-2px);}
    .pyramid:hover .p2{transform:translateY(-4px);}
    .pyramid:hover .p3{transform:translateY(-6px);}
    .p-list-item:hover .p-li-ic{
      transform:translateY(-2px);
      box-shadow:0 16px 28px rgba(67,61,51,.11);
      border-color:rgba(154,136,120,.28);
    }
    .p-list-item:hover > div:last-child{
      transform:translateX(4px);
      box-shadow:0 22px 38px rgba(67,61,51,.10);
      border-color:rgba(154,136,120,.22);
    }
    .benefit-card:hover{
      transform:translateY(-4px);
      box-shadow:0 18px 30px rgba(67,61,51,.09);
      border-color:rgba(154,136,120,.22);
    }
    .benefit-card:hover .b-icon{
      transform:translateY(-2px);
      box-shadow:inset 0 0 0 1px rgba(181,171,151,.22), 0 10px 20px rgba(67,61,51,.08);
      color:#4e6249;
    }
    .method-story-step:hover{
      transform:translateY(-4px);
      box-shadow:0 20px 34px rgba(67,61,51,.09);
      border-color:rgba(154,136,120,.22);
    }
    .method-story-step:hover .step-mark{
      transform:translateY(-2px);
      box-shadow:0 14px 24px rgba(67,61,51,.1);
    }
    .venue-card:hover{
      transform:translateY(-4px);
      box-shadow:0 22px 38px rgba(57,54,43,.13);
      border-color:rgba(154,136,120,.24);
      background:rgba(255,255,255,.94);
    }
    .plan-card:hover{
      transform:translateY(-6px);
      box-shadow:0 18px 38px rgba(67,61,51,.14);
      border-color:rgba(154,136,120,.22);
    }
    .plan-card:hover .plan-visual::before{
      opacity:.92;
      transform:scale(1.015);
    }
    .plan-card:hover .plan-badge,
    .plan-card:hover .plan-note{
      transform:translateY(-2px);
      box-shadow:0 10px 18px rgba(67,61,51,.14);
    }
    .founder-story-v2-portrait:hover img{
      transform:scale(1.018);
      filter:saturate(.98) contrast(1.02) brightness(1.03);
    }
    .trust-cols > div:hover{
      transform:translateY(-3px);
    }
    .trust-cols > div:hover .t-ic{
      transform:translateY(-2px);
      color:#4e6249;
    }
    .cta-btn:hover{
      transform:translateY(-3px);
      box-shadow:0 20px 34px rgba(78,98,73,.22);
      background:linear-gradient(180deg, #C39A74, #AA7F61);
    }
    .floating-contact-toggle:hover{
      transform:translateY(-2px);
      box-shadow:0 22px 38px rgba(67,61,51,.18);
      background:linear-gradient(180deg, #B89272, #9F775C);
    }
    .floating-contact-toggle:hover .toggle-icon{
      transform:scale(1.04);
      background:rgba(255,255,255,.18);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
    }
  }

  @media (max-width:860px){
    #plans{padding-bottom:8px;}
    #founder{padding-bottom:44px;}
    .trust{padding-top:44px; padding-bottom:44px;}
    #contact{padding-top:44px;}
    .contact-grid{grid-template-columns:1fr;}
    .contact-methods{grid-template-columns:1fr;}
    .contact-head .cta-buttons{grid-template-columns:1fr;}
    .contact-head .cta-btn{min-height:84px;}
    .location-options{grid-template-columns:1fr 1fr;}
    .field:nth-of-type(2) .chip-group{grid-template-columns:1fr 1fr;}
    .floating-contact{
      right:12px;
      bottom:12px;
      width:min(214px, calc(100vw - 24px));
    }
    .floating-contact a{
      min-height:40px;
      font-size:12.5px;
      padding:9px 11px;
    }
    .floating-contact-toggle{
      min-height:54px;
      padding:7px 7px 7px 16px;
    }
    .floating-contact-toggle .toggle-label{
      font-size:12px;
      letter-spacing:.28em;
      padding-left:18px;
    }
    .floating-contact-toggle .toggle-icon{
      width:40px;
      height:40px;
    }
  }

  @media (max-width:640px){
    .wrap,
    .nav{padding-left:18px; padding-right:18px;}
    section{padding:74px 0;}
    .hero{padding:0 0 24px;}
    .hero-copy{padding-top:54px;}
    .hero h1{
      font-size:clamp(36px, 14vw, 54px);
      line-height:.94;
      max-width:12ch;
    }
    .hero-sub{
      font-size:15px;
      line-height:1.62;
      margin-bottom:28px;
    }
    .hero-actions{gap:12px; margin-bottom:30px;}
    .hero-actions .btn{
      width:100%;
      min-width:0;
      padding:16px 22px;
    }
    .hero-photo{min-height:420px; background-position:63% 38%;}
    .hero-quote{
      padding:26px 20px 20px;
      font-size:16px;
      line-height:1.5;
    }
    .hero-quote::before{
      font-size:58px;
      top:16px;
      left:20px;
    }
    .concept-cols{grid-template-columns:1fr;}
    .concept-footer h3{font-size:24px; margin-bottom:20px;}
    .method-intro{padding:22px 16px 20px;}
    .subsection-intro,
    .method-story-intro,
    .method-story-outro{font-size:14px; line-height:1.65;}
    .benefit-cards{grid-template-columns:1fr;}
    .wu-cols{gap:16px;}
    .wu-cols strong{font-size:22px;}
    .wu-cols p{font-size:12.5px; max-width:240px;}
    .venue-head{padding:18px 16px 16px;}
    .venue-head h2{font-size:clamp(28px, 10vw, 40px);}
    .founder-story-v2-hero{gap:24px;}
    .founder-story-v2-portrait{
      width:100%;
      max-width:320px;
    }
    .founder-story-v2-title{
      font-size:clamp(30px, 12vw, 44px);
      max-width:none;
    }
    .founder-story-v2-top{padding-top:0;}
    .founder-story-v2-pull{
      gap:14px;
      padding:22px 0;
    }
    .founder-story-v2-pull .quote-mark{font-size:48px;}
    .founder-story-v2-pull p{font-size:clamp(18px, 7vw, 28px);}
    .founder-story-v2-signoff{
      padding-top:24px;
    }
    .founder-story-v2-signoff h3{
      font-size:clamp(14px, 4.6vw, 18px);
      white-space:normal;
    }
    .trust-cols{grid-template-columns:1fr;}
    .trust-cols > div{
      border-left:none;
      padding:0;
      margin-bottom:18px;
    }
    .contact-head h2{
      font-size:clamp(30px, 12vw, 44px);
      max-width:10ch;
    }
    .contact-head .cta-sub{font-size:15px; margin-bottom:16px;}
    .contact-head .cta-buttons{grid-template-columns:1fr;}
    .form-card{padding:18px;}
    .location-options{grid-template-columns:1fr;}
    .field-help{font-size:12.5px;}
    .floating-contact{
      right:10px;
      bottom:10px;
      width:min(198px, calc(100vw - 20px));
    }
    .floating-contact-toggle{
      min-height:50px;
      padding:6px 6px 6px 14px;
      gap:10px;
    }
    .floating-contact-toggle .toggle-label{
      font-size:11px;
      letter-spacing:.22em;
      padding-left:8px;
    }
    .floating-contact-toggle .toggle-icon{
      width:38px;
      height:38px;
    }
    .footer-grid{grid-template-columns:1fr;}
  }

  footer{background:var(--ink); color:#C9C5BE; padding:64px 0 28px; margin-top:0;}
  .footer-grid{display:grid; grid-template-columns:1.35fr 1fr 1.2fr; gap:52px; margin-bottom:54px;}
  .footer-brand{margin-bottom:14px;}
  .footer-brand img{
    width:150px;
    height:auto;
    display:block;
    filter:brightness(0) invert(83%) sepia(12%) saturate(236%) hue-rotate(49deg) brightness(92%) contrast(86%);
  }
  .footer-grid p{font-size:15px; line-height:1.8; max-width:320px;}
  .footer-col h5{font-size:12px; letter-spacing:.08em; color:#8B8878; text-transform:uppercase; margin:0 0 16px;}
  .footer-col a{display:block; font-size:15px; text-decoration:none; margin-bottom:12px; color:#C9C5BE;}
  .footer-bottom{border-top:1px solid #3A3A37; padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:#8B8878;}
  .footer-contact-icons{display:flex; gap:12px; margin-bottom:28px;}
  .footer-contact-icons a{display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#C9C5BE; transition:transform .2s ease, background .2s ease, color .2s ease;}
  .footer-contact-icons a svg{width:18px; height:18px;}
  .footer-contact-icons a:hover{background:var(--taupe-deep); color:var(--ivory); transform:translateY(-2px);}
  @media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr;} }

  [data-reveal]{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
  [data-reveal].in{opacity:1; transform:none;}
  @media (prefers-reduced-motion:reduce){
    [data-reveal]{opacity:1; transform:none; transition:none;}
    html{scroll-behavior:auto;}
  }
  :focus-visible{outline:2px solid var(--sage-bright); outline-offset:2px;}
