:root{
    --cream:#160A13;
    --cream2:#211019;
    --ink:#F3EBDD;
    --plum:#5B2E4D;
    --berry:#A63B4D;
    --orange:#CB5D25;
    --white:#FFFFFF;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Manrope','Work Sans',-apple-system,sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  .display{
    font-family:'Fraunces','Playfair Display',Georgia,'Times New Roman',serif;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;}
  .eyebrow{
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--orange);
  }
  .container{max-width:1180px;margin:0 auto;padding:0 32px;}

  /* ===== NAV ===== */
  #nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(22,10,19,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(243,235,221,0.08);
    transition:box-shadow .3s ease;
  }
  #nav.scrolled{box-shadow:0 2px 18px rgba(0,0,0,0.24);}
  .nav-inner{
    max-width:1180px;margin:0 auto;padding:14px 32px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .nav-logo{display:flex;align-items:center;gap:10px;}
  .nav-logo img{height:38px;width:auto;}
  .nav-logo span{font-family:'Fraunces','Playfair Display',serif;font-weight:700;font-size:19px;letter-spacing:.01em;}
  .nav-links{display:flex;gap:6px;list-style:none;align-items:center;}
  .nav-links button{
    background:none;padding:8px 16px;font-size:14.5px;font-weight:500;
    color:var(--ink);border-radius:999px;transition:background .2s, color .2s;
  }
  .nav-links button:hover{background:rgba(203,93,37,0.1);}
  .nav-links button.active{color:var(--orange);font-weight:600;}
  .nav-cta{
    background:var(--orange);color:var(--white);padding:10px 22px;
    border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.01em;
    transition:transform .15s ease, background .2s;
  }
  .nav-cta:hover{background:var(--berry);transform:translateY(-1px);}
  .nav-ig{
    width:34px;height:34px;border-radius:50%;background:var(--cream2);color:#EBD3CB;
    display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
    letter-spacing:.02em;margin-left:14px;transition:background .2s,color .2s;flex-shrink:0;
  }
  .nav-ig svg{width:17px;height:17px;}
  .nav-ig:hover{background:var(--orange);color:var(--white);}
  .nav-toggle{display:none;background:none;font-size:26px;color:#EBD3CB;}

  /* ===== PAGES ===== */
  .page{display:none;animation:fadeIn .5s ease;}
  .page.active{display:block;}
  @keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

  /* ===== HERO ===== */
  .hero{
    position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(180deg, rgba(91,46,79,0.55), rgba(36,23,34,0.72)),
      url('/hero-move.jpg') center/cover no-repeat;
    text-align:center;padding:140px 24px 80px;
  }
  .hero-inner{max-width:640px;}
  .hero img.logo{width:180px;margin:0 auto 28px;filter:drop-shadow(0 8px 30px rgba(0,0,0,0.35));}
  .hero .eyebrow{color:#D9CBBE;opacity:.9;margin-bottom:18px;display:block;}
  .hero h1{
    font-family:'Fraunces','Playfair Display',serif;font-weight:700;font-style:italic;
    font-size:clamp(30px,5vw,52px);color:var(--white);line-height:1.15;margin-bottom:16px;
  }
  .hero p.slogan{
    color:#D9CBBE;font-size:clamp(15px,2vw,19px);letter-spacing:.06em;
    text-transform:uppercase;font-weight:500;margin-bottom:38px;
  }
  .hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .btn-primary{
    background:var(--orange);color:var(--white);padding:15px 30px;border-radius:999px;
    font-weight:600;font-size:15px;transition:transform .15s ease,background .2s;display:inline-block;
  }
  .btn-primary:hover{background:var(--berry);transform:translateY(-2px);}
  .btn-ghost{
    background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.5)!important;
    color:var(--white);padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;
    transition:background .2s;display:inline-block;
  }
  .btn-ghost:hover{background:rgba(255,255,255,0.22);}

  .stats-bar{background:#0E050B;padding:34px 0;}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .stat{text-align:center;border-right:1px solid rgba(255,255,255,0.1);}
  .stat:last-child{border-right:none;}
  .stat-num{font-family:'Fraunces','Playfair Display',serif;font-weight:700;font-size:clamp(20px,2.6vw,28px);color:var(--orange);}
  .stat-lab{font-size:12px;letter-spacing:.05em;color:#cbb9c2;margin-top:4px;}

  /* ===== SECTION generic ===== */
  section{padding:96px 0;}
  .section-head{max-width:640px;margin:0 0 52px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-head h2{
    font-family:'Fraunces','Playfair Display',serif;font-weight:700;font-size:clamp(28px,3.4vw,40px);
    margin-top:10px;color:#EBD3CB;
  }
  .section-head p{color:#CDBEC6;font-size:16.5px;margin-top:14px;}

  /* ===== PILLARS ===== */
  .pillars{background:#211019;padding-bottom:80px;}
  .pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .pillar{border-radius:16px;overflow:hidden;border:1px solid rgba(243,235,221,0.08);
    box-shadow:0 12px 30px rgba(0,0,0,0.18);transition:transform .2s ease, box-shadow .2s ease;}
  .pillar:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.36);}
  .pillar-photo{aspect-ratio:4/5;overflow:hidden;}
  .pillar-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
  .pillar:hover .pillar-photo img{transform:scale(1.06);}
  .pillar-body{padding:24px 22px 28px;}
  .pillar .bar{height:4px;width:34px;border-radius:2px;margin-bottom:16px;}
  .pillar h3{font-family:'Fraunces','Playfair Display',serif;font-size:21px;margin-bottom:8px;color:var(--ink);}
  .pillar p{font-size:14px;color:#CDBEC6;}
  .p-move .bar{background:var(--orange);}
  .p-relax .bar{background:var(--berry);}
  .p-thrive .bar{background:var(--plum);}
  .p-belong .bar{background:linear-gradient(90deg,var(--orange),var(--berry),var(--plum));}

  /* ===== ROOF (signature element) ===== */
  .beginning-section{background:var(--berry);padding:70px 0;}
  .beginning-inner{display:flex;justify-content:space-between;align-items:center;gap:44px;flex-wrap:wrap;}
  .beginning-text{max-width:540px;}
  .beginning-text .eyebrow{color:#f6d9c4;margin-bottom:12px;display:block;}
  .beginning-text h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-weight:700;
    font-size:clamp(24px,3.2vw,34px);color:var(--white);margin-bottom:14px;}
  .beginning-text p{color:#f5e3e8;font-size:15.5px;margin-bottom:22px;}
  .beginning-badge{background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);
    border-radius:16px;padding:28px 34px;text-align:center;min-width:230px;}
  .bb-num{font-family:'Fraunces','Playfair Display',serif;font-size:44px;font-weight:700;color:var(--white);}
  .bb-lab{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#f5e3e8;margin-top:2px;}
  .bb-sep{height:1px;background:rgba(255,255,255,0.25);margin:16px 0;}
  .bb-loc{font-size:14.5px;color:var(--white);line-height:1.5;}

  .roof-section{background:var(--cream2);text-align:center;}
  .roof-wrap{position:relative;max-width:900px;margin:0 auto;}
  .roof-svg{width:100%;height:auto;display:block;margin-bottom:-2px;}
  .roof-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#211019;
    border-radius:0 0 20px 20px;overflow:hidden;box-shadow:0 20px 50px rgba(91,46,79,0.12);}
  .roof-col{padding:34px 24px 30px;border-right:1px solid rgba(243,235,221,0.08);}
  .roof-col:last-child{border-right:none;}
  .roof-col .who{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#A9959F;margin-bottom:6px;}
  .roof-col h4{font-family:'Fraunces','Playfair Display',serif;font-size:22px;margin-bottom:10px;}
  .roof-col p{font-size:14px;color:#CDBEC6;}
  .roof-col.c1 h4{color:var(--orange);}
  .roof-col.c2 h4{color:var(--berry);}
  .roof-col.c3 h4{color:#EBD3CB;}
  .roof-caption{margin-top:26px;font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-size:19px;color:#EBD3CB;}
  .roof-col .btn-link{display:inline-block;margin-top:14px;}

  .gofurther-section{background:#211019;padding:80px 0;text-align:center;}
  .gofurther-inner{max-width:640px;margin:0 auto;}
  .gofurther-inner .eyebrow{margin-bottom:14px;display:block;}
  .gofurther-inner h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-weight:700;
    font-size:clamp(24px,3.2vw,32px);color:#EBD3CB;margin-bottom:16px;}
  .gofurther-inner p{color:#CDBEC6;font-size:15.5px;margin-bottom:26px;}

  .future-section{background:var(--plum);padding:80px 0 0;text-align:center;}
  .future-inner{max-width:680px;margin:0 auto;padding-bottom:56px;}
  .future-inner .eyebrow{color:#d9b8cc;margin-bottom:14px;display:block;}
  .future-inner h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-weight:700;
    font-size:clamp(26px,3.6vw,36px);color:var(--white);margin-bottom:16px;}
  .future-inner p{color:#e8d5e0;font-size:15.5px;}
  .future-section .stats-bar{background:rgba(0,0,0,0.15);}

  /* ===== TRUST STRIP ===== */
  .trust{background:#211019;}
  .trust-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;}
  .trust-grid img{border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,0.44999999999999996);}
  .carousel{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,0.44999999999999996);
    aspect-ratio:4/3;background:#0E050B;}
  .carousel-track{position:relative;width:100%;height:100%;}
  .carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transition:opacity .5s ease;border-radius:0;box-shadow:none;}
  .carousel-slide.active{opacity:1;}
  .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;
    border-radius:50%;background:rgba(255,255,255,0.85);color:#EBD3CB;font-size:20px;font-weight:700;
    display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:2;}
  .carousel-arrow:hover{background:#211019;}
  .carousel-arrow.prev{left:14px;}
  .carousel-arrow.next{right:14px;}
  .carousel-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2;}
  .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.5);transition:background .2s,width .2s;}
  .dot.active{background:#211019;width:22px;border-radius:4px;}
  .trust-text .eyebrow{margin-bottom:14px;display:block;}
  .trust-text h2{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(24px,3vw,32px);color:#EBD3CB;margin-bottom:14px;}
  .trust-text p{color:#CDBEC6;font-size:16px;}

  /* ===== CTA BAND ===== */
  .cta-band{background:var(--plum);text-align:center;padding:90px 0;}
  .cta-band img{width:64px;margin:0 auto 22px;}
  .cta-band h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-weight:700;
    font-size:clamp(24px,3.4vw,36px);color:var(--white);margin-bottom:14px;}
  .cta-band p{color:#D9CBBE;opacity:.85;margin-bottom:30px;font-size:15.5px;}
  .cta-band-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

  /* ===== FOOTER ===== */
  footer{background:#0E050B;color:#D9CBBE;padding:56px 0 28px;}
  .footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;margin-bottom:40px;}
  .footer-brand img{height:34px;margin-bottom:12px;}
  .footer-brand p{font-size:13.5px;color:#a9979f;max-width:280px;}
  .footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
  .footer-col h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#A9959F;margin-bottom:14px;}
  .footer-col a,.footer-col p{display:block;font-size:14px;color:#e7dfe2;margin-bottom:9px;}
  .footer-col a:hover{color:var(--orange);}
  .footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:22px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#CDBEC6;}
  .legal-link{color:#a9979f;text-decoration:underline;margin-left:6px;}
  .legal-link:hover{color:var(--orange);}

  .legal-hero{padding:170px 0 50px;background:var(--cream2);text-align:center;}
  .legal-hero .eyebrow{margin-bottom:14px;display:block;}
  .legal-hero h1{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(28px,3.6vw,40px);color:#EBD3CB;}
  .legal-body{max-width:720px;}
  .draft-notice{background:#fbeee0;border:1px solid #e8b98f;border-radius:12px;padding:16px 20px;
    font-size:13.5px;color:#CDBEC6;margin-bottom:36px;}
  .legal-body h3{font-family:'Fraunces','Playfair Display',serif;color:#EBD3CB;font-size:19px;margin:26px 0 8px;}
  .legal-body h3:first-of-type{margin-top:0;}
  .legal-body p{color:#CDBEC6;font-size:15px;}

  /* ===== ABOUT PAGE ===== */
  .about-hero{
    background:linear-gradient(180deg, rgba(91,46,79,.55), rgba(36,23,34,.75)), url('/about-story.jpg') center/cover;
    padding:180px 0 90px;text-align:center;color:var(--white);
  }
  @supports (background-image: image-set(url('/about-story.avif') type('image/avif'))) {
    .about-hero{
      background:linear-gradient(180deg, rgba(91,46,79,.55), rgba(36,23,34,.75)),
        image-set(url('/about-story.avif') type('image/avif'),
                  url('/about-story.webp') type('image/webp'),
                  url('/about-story.jpg')  type('image/jpeg')) center/cover;
    }
  }
  .about-hero .eyebrow{color:#D9CBBE;margin-bottom:16px;display:block;}
  .about-hero h1{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-weight:700;
    font-size:clamp(32px,5vw,54px);}
  .arch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;}
  .arch-card{background:#211019;border-radius:16px;padding:36px 32px;border:1px solid rgba(243,235,221,0.08);}
  .arch-card .eyebrow{margin-bottom:12px;display:block;}
  .arch-card h3{font-family:'Fraunces','Playfair Display',serif;font-size:22px;margin-bottom:12px;color:#EBD3CB;}
  .arch-card p{color:#CDBEC6;font-size:15.5px;}
  .arch-card.wide{grid-column:1/-1;}

  .story-band{background:#211019;text-align:center;padding:70px 0 0;}
  .story-band .container{max-width:720px;}
  .story-band h2{font-family:'Fraunces','Playfair Display',serif;color:#EBD3CB;
    font-size:clamp(24px,3vw,32px);margin:10px 0 16px;}
  .story-band p{color:#CDBEC6;font-size:15.5px;}
  .story-tag{font-family:'Fraunces','Playfair Display',serif;font-style:italic;color:var(--orange);
    font-size:17px;margin-top:14px !important;}

  .founder-section{background:#211019;padding:64px 0;}
  .founder-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center;}
  .founder-photo{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,0.36);}
  .founder-photo img{width:100%;display:block;}
  .founder-caption{background:#0E050B;color:#D9CBBE;font-size:12.5px;text-align:center;padding:9px 0;}
  .founder-text h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;color:#EBD3CB;
    font-size:clamp(24px,3vw,32px);margin:8px 0 14px;}
  .founder-text p{color:#CDBEC6;font-size:15.5px;}
  .founder-signoff{font-family:'Fraunces','Playfair Display',serif;font-style:italic;color:var(--orange);
    margin-top:14px !important;font-size:15px;}

  .position-band{background:var(--berry);color:var(--white);text-align:center;padding:80px 0;}
  .position-band .container{max-width:760px;}
  .position-band h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-size:clamp(22px,3vw,30px);
    line-height:1.5;margin-bottom:18px;}
  .position-band p{opacity:.9;font-size:15px;}
  .position-tag{font-family:'Fraunces','Playfair Display',serif;font-style:italic;opacity:1 !important;
    font-size:17px;margin-top:18px !important;color:var(--white);}
  .location-strip{display:flex;gap:40px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
  .location-strip .loc-text h3{font-family:'Fraunces','Playfair Display',serif;color:#EBD3CB;font-size:24px;margin-bottom:10px;}
  .location-strip .loc-text p{color:#CDBEC6;font-size:15px;max-width:420px;}
  .loc-badge{background:var(--cream2);border-radius:14px;padding:22px 28px;text-align:center;min-width:200px;}
  .loc-badge .num{font-family:'Fraunces','Playfair Display',serif;font-size:30px;color:var(--orange);font-weight:700;}
  .loc-badge .lab{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#A9959F;margin-top:4px;}

  .natty-band{background:var(--cream2);padding:56px 0;}
  .natty-inner{display:flex;align-items:center;gap:36px;flex-wrap:wrap;}
  .natty-photo{width:130px;height:130px;border-radius:16px;overflow:hidden;flex-shrink:0;
    box-shadow:0 12px 30px rgba(0,0,0,0.44999999999999996);}
  .natty-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;}
  .natty-eyebrow{margin-bottom:8px;display:block;}
  .natty-text{max-width:560px;}
  .natty-text h2{font-family:'Fraunces','Playfair Display',serif;color:#EBD3CB;font-size:clamp(22px,2.8vw,28px);margin:8px 0 10px;}
  .natty-text p{color:#CDBEC6;font-size:15px;}

  .landlord-band{background:var(--plum);padding:64px 0;}
  .landlord-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
  .landlord-text{max-width:520px;}
  .landlord-text .eyebrow{color:#e8b98f;margin-bottom:10px;display:block;}
  .landlord-text h2{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(22px,2.8vw,30px);color:var(--white);margin-bottom:12px;}
  .landlord-text p{color:#D9CBBE;opacity:.9;font-size:15px;}
  .landlord-ctas{display:flex;flex-direction:column;gap:12px;min-width:260px;}
  .landlord-ctas a{text-align:center;}

  /* ===== CLASSES/PARTNERS PAGE ===== */
  .trial-section{padding-top:0;}
  .trial-card{background:#211019;border:1.5px solid var(--orange);border-radius:20px;
    padding:44px;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;box-shadow:0 20px 50px rgba(203,93,37,0.1);}
  .trial-info h2{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(22px,2.8vw,28px);color:#EBD3CB;
    margin:10px 0 14px;}
  .trial-info p{color:#CDBEC6;font-size:15px;margin-bottom:20px;}
  .trial-facts{list-style:none;}
  .trial-facts li{font-size:14px;color:#CDBEC6;padding:8px 0;border-top:1px solid rgba(243,235,221,0.08);}
  .trial-facts li:first-child{border-top:none;}
  .trial-facts strong{color:#EBD3CB;font-weight:600;}
  .trial-pay-btn{display:inline-block;margin-top:22px;}
  .trial-pay-note{font-size:12.5px;color:#A9959F;margin-top:8px;}
  .form-success .trial-pay-btn{margin-top:18px;}
  .trial-form .form-row label{color:#EBD3CB;}
  .trial-form .opt{font-weight:400;color:#A9959F;text-transform:none;letter-spacing:0;}
  .mindbody-embed{border-radius:12px;overflow:hidden;border:1px solid rgba(243,235,221,0.1);}
  .mindbody-embed iframe{display:block;min-height:600px;}

  .partners-hero{padding:170px 0 60px;background:var(--cream2);text-align:center;}
  .partners-hero .eyebrow{margin-bottom:14px;display:block;}
  .partners-hero h1{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(30px,4.4vw,46px);color:#EBD3CB;}
  .partner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .partner-card{background:#211019;border-radius:16px;overflow:hidden;border:1px solid rgba(243,235,221,0.08);
    transition:transform .2s ease, box-shadow .2s ease;}
  .partner-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.36);}
  .partner-top{height:8px;}
  .pc1 .partner-top{background:var(--orange);}
  .pc2 .partner-top{background:var(--berry);}
  .pc3 .partner-top{background:var(--plum);}
  .partner-card .pc-body{padding:30px 26px;}
  .partner-card .disc{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#A9959F;margin-bottom:8px;}
  .partner-card h3{font-family:'Fraunces','Playfair Display',serif;font-size:23px;margin-bottom:6px;}
  .partner-card .by{font-size:13.5px;color:#A9959F;margin-bottom:16px;}
  .partner-card p.desc{font-size:14.5px;color:#CDBEC6;margin-bottom:20px;}
  .btn-small{
    display:inline-block;padding:10px 20px;border-radius:999px;font-size:13.5px;font-weight:600;
    border:1.5px solid var(--plum)!important;color:#EBD3CB;transition:background .2s,color .2s;
  }
  .btn-small:hover{background:var(--plum);color:var(--white);}
  .card-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .btn-link{font-size:13px;font-weight:600;color:var(--berry);white-space:nowrap;}
  .testimonial-link{display:block;margin-top:12px;}

  .testimonials-section{background:var(--cream2);}
  .testimonial-placeholder{max-width:480px;margin:0 auto;text-align:center;background:#211019;
    border-radius:16px;padding:40px 32px;border:1px dashed rgba(243,235,221,0.2);}
  .testimonial-icon{font-size:32px;margin-bottom:14px;}
  .testimonial-placeholder p{color:#CDBEC6;font-size:15px;margin-bottom:22px;}
  .btn-link:hover{text-decoration:underline;}
  .roof-col h4 a:hover,.partner-card h3 a:hover{text-decoration:underline;}

  .schedule-note{background:#211019;border:1px dashed rgba(243,235,221,0.25);border-radius:14px;
    padding:16px 22px;font-size:13.5px;color:#A9959F;margin-bottom:28px;text-align:center;}

  .partner-hero{padding:170px 0 60px;background:var(--plum);text-align:center;}
  .partner-hero .eyebrow{color:#e8b98f;margin-bottom:14px;display:block;}
  .partner-hero h1{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(30px,4.4vw,46px);color:var(--white);margin-bottom:18px;}
  .partner-sub{max-width:600px;margin:0 auto;color:#D9CBBE;opacity:.9;font-size:15px;}
  .partner-sub a{color:var(--orange);text-decoration:underline;}
  .partner-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .audience-card{background:#211019;border:1px solid rgba(243,235,221,0.08);border-radius:16px;
    padding:32px 28px;box-shadow:0 12px 30px rgba(0,0,0,0.18);display:flex;flex-direction:column;}
  .audience-card .eyebrow{margin-bottom:10px;display:block;}
  .audience-card h2{font-family:'Fraunces','Playfair Display',serif;font-size:21px;color:#EBD3CB;margin-bottom:12px;}
  .audience-card p{color:#CDBEC6;font-size:14.5px;margin-bottom:22px;flex-grow:1;}
  .audience-card .btn-primary{text-align:center;}
  table.schedule{width:100%;border-collapse:collapse;background:#211019;border-radius:14px;overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,0.18);}
  table.schedule th{background:var(--plum);color:var(--white);font-size:12.5px;letter-spacing:.06em;
    text-transform:uppercase;padding:14px 10px;text-align:left;font-weight:600;}
  table.schedule td{padding:14px 10px;font-size:14px;border-bottom:1px solid rgba(243,235,221,0.06);color:#CDBEC6;}
  table.schedule tr:last-child td{border-bottom:none;}
  table.schedule .tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;}
  .tag-move{background:rgba(203,93,37,0.14);color:var(--orange);}
  .tag-relax{background:rgba(166,59,77,0.14);color:var(--berry);}
  .tag-thrive{background:rgba(91,46,79,0.14);color:#EBD3CB;}

  /* ===== CONTACT PAGE ===== */
  .contact-hero{padding:170px 0 50px;text-align:center;}
  .contact-hero .eyebrow{margin-bottom:14px;display:block;}
  .contact-hero h1{font-family:'Fraunces','Playfair Display',serif;font-size:clamp(30px,4.4vw,46px);color:#EBD3CB;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
  .form-card{background:#211019;border-radius:18px;padding:38px;border:1px solid rgba(243,235,221,0.08);}
  .form-row{margin-bottom:18px;}
  .form-row label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#EBD3CB;}
  .form-row input[type=text],.form-row input[type=email],.form-row select{
    width:100%;padding:12px 14px;border:1.5px solid rgba(243,235,221,0.15);border-radius:9px;
    font-family:inherit;font-size:14.5px;background:var(--cream);color:var(--ink);
  }
  .form-row input:focus,.form-row select:focus{outline:2px solid var(--orange);outline-offset:1px;}
  .check-group{display:flex;flex-wrap:wrap;gap:10px;}
  .check-pill{position:relative;}
  .check-pill input{position:absolute;opacity:0;}
  .check-pill span{
    display:inline-block;padding:9px 16px;border-radius:999px;border:1.5px solid rgba(243,235,221,0.18);
    font-size:13.5px;cursor:pointer;transition:all .15s ease;
  }
  .check-pill input:checked + span{background:var(--orange);border-color:var(--orange);color:var(--white);}
  .form-submit{width:100%;background:var(--orange);color:var(--white);padding:15px;border-radius:9px;
    font-weight:600;font-size:15px;margin-top:8px;transition:background .2s;}
  .form-submit:hover{background:var(--berry);}
  .form-success{display:none;text-align:center;padding:30px 10px;}
  .form-success.show{display:block;}
  .form-success .check{font-size:40px;margin-bottom:14px;}
  .form-success h3{font-family:'Fraunces','Playfair Display',serif;color:#EBD3CB;margin-bottom:8px;}
  .form-success p{color:#CDBEC6;font-size:14.5px;}
  .contact-side h3{font-family:'Fraunces','Playfair Display',serif;font-size:20px;color:#EBD3CB;margin-bottom:10px;margin-top:28px;}
  .contact-side h3:first-child{margin-top:0;}
  .contact-side p,.contact-side a{font-size:15px;color:#CDBEC6;}
  .contact-side a:hover{color:var(--orange);}
  .social-row{display:flex;gap:12px;margin-top:12px;}
  .social-row a{width:38px;height:38px;border-radius:50%;background:var(--cream2);
    display:flex;align-items:center;justify-content:center;font-size:14px;color:#EBD3CB;
    transition:background .2s,color .2s;}
  .social-row a svg{width:19px;height:19px;}
  .social-row a:hover{background:var(--orange);color:var(--white);}
  .note-box{background:var(--cream2);border-radius:12px;padding:16px 20px;font-size:13px;color:#CDBEC6;margin-top:26px;}

  /* ===== RESPONSIVE ===== */
  @media (max-width:860px){
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);
      flex-direction:column;padding:14px 24px;border-bottom:1px solid rgba(243,235,221,0.08);gap:2px;}
    .nav-links.open{display:flex;}
    .nav-links button{text-align:left;width:100%;border-radius:8px;}
    .nav-toggle{display:block;}
    .pillar-grid{grid-template-columns:1fr 1fr;}
    .roof-cols{grid-template-columns:1fr;}
    .roof-col{border-right:none;border-bottom:1px solid rgba(243,235,221,0.08);}
    .trust-grid,.arch-grid,.contact-grid,.partner-cards,.partner-audience-grid,.founder-grid,.trial-card{grid-template-columns:1fr;}
    .arch-card.wide{grid-column:auto;}
    .location-strip{flex-direction:column;align-items:flex-start;}
    table.schedule{font-size:12.5px;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation:none!important;transition:none!important;}
  }
  :focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
  [data-key]{white-space:pre-line;}

/* Acronym treatment: Playfair's Q has a long swash tail that misreads as a "2"
   at display sizes. Set the acronym in the sans face, upright, so it stays clear. */
.acr{
  font-family:'Manrope','Work Sans',-apple-system,'Segoe UI',Arial,sans-serif;
  font-style:normal;
  font-weight:600;
  font-size:0.88em;
  letter-spacing:.01em;
}


  /* ===== Voices (testimonials) ===== */
  .voices-section{background:var(--cream2);padding:72px 0;}
  .voices-section .eyebrow{display:block;text-align:center;margin-bottom:12px;}
  .voices-section h2{font-family:'Fraunces','Playfair Display',serif;font-style:italic;font-weight:700;
    font-size:clamp(24px,3.2vw,32px);color:#EBD3CB;text-align:center;margin-bottom:34px;}

  /* A continuous marquee. The card set is duplicated in site.js and the inner
     rail slides left by exactly one set width, then restarts, so the movement
     never stops or snaps back. Hovering or touching pauses it. */
  .voices-track{overflow:hidden;}
  .voices-rail{display:flex;gap:20px;align-items:stretch;width:max-content;
    animation:alpMarquee linear infinite;}
  .voices-rail.paused{animation-play-state:paused;}
  /* Hover-pause only where there is a real pointer. On touch screens :hover
     latches after a tap and would leave the rail paused for good. */
  @media (hover:hover) and (pointer:fine){
    .voices-track:hover .voices-rail{animation-play-state:paused;}
  }
  @keyframes alpMarquee{
    from{transform:translateX(0);}
    to{transform:translateX(var(--alp-shift));}
  }
  .tcard{width:var(--alp-card);flex:0 0 auto;
    display:flex;flex-direction:column;
    background:#211019;border-top:3px solid var(--berry);
    border-radius:4px;overflow:hidden;padding:0;}
  .tshot{display:block;}
  .tshot img{width:100%;height:auto;display:block;aspect-ratio:760/475;object-fit:cover;}
  .tbody{padding:22px 24px 24px;flex:1;display:flex;flex-direction:column;}
  .tcard blockquote{font-family:'Fraunces','Playfair Display',serif;font-style:italic;
    font-size:17px;line-height:1.45;color:var(--berry);flex:1;}
  .tcard blockquote::before{content:'\201C';}
  .tcard blockquote::after{content:'\201D';}
  .tcard figcaption{margin-top:14px;font-size:11.5px;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:#A9959F;}
  /* Text-only cards, for quotes with no photograph. Same width and rhythm as
     the photo cards; the logo or the brand stripe fills the space the image
     would occupy so the card reads as a deliberate variant, not a gap. */
  .tcard--text .tbody{justify-content:center;text-align:center;padding:30px 24px;}
  .tcard--text blockquote{flex:0 1 auto;font-size:18px;}
  .tcard--text figcaption{color:#A9959F;}
  .tmark{display:block;width:104px;height:auto;margin:0 auto 20px;}
  .tcard--cream{background:var(--cream);}
  .tcard--plum{background:var(--plum);border-top-color:var(--orange);}
  .tcard--plum blockquote{color:#F3EBDD;}
  .tcard--plum figcaption{color:#C99BB3;}
  .tstripe{display:flex;height:4px;width:56px;margin:20px auto 0;
    border-radius:2px;overflow:hidden;}
  .tstripe i{flex:1;}
  .tstripe i:nth-child(1){background:var(--orange);}
  .tstripe i:nth-child(2){background:var(--berry);}
  .tstripe i:nth-child(3){background:var(--cream);}

  .voices-section{--alp-card:calc((1180px - 64px - 40px)/3);}
  @media (max-width:1240px){ .voices-section{--alp-card:calc((100vw - 64px - 40px)/3);} }
  @media (max-width:860px){
    .voices-rail{gap:14px;}
    .voices-section{--alp-card:78vw;}
  }
  @media (prefers-reduced-motion: reduce){
    .voices-rail{animation:none;}
    .voices-track{overflow-x:auto;}
  }


  /* ===== Quote grid (classes page: text only, no carousel) ===== */
  .qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
  .qcard{background:#211019;border-top:3px solid var(--berry);border-radius:4px;
    padding:26px 24px 24px;display:flex;flex-direction:column;}
  .qcard blockquote{font-family:'Fraunces','Playfair Display',serif;font-style:italic;
    font-size:17px;line-height:1.45;color:var(--berry);flex:1;}
  .qcard blockquote::before{content:'\201C';}
  .qcard blockquote::after{content:'\201D';}
  .qcard figcaption{margin-top:14px;font-size:11.5px;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:#A9959F;}
  @media (max-width:860px){ .qgrid{grid-template-columns:1fr;} }

/* Accessibility fixes (Oct 2026): contrast to WCAG AA, heading order, image sizing */
:where(img[width][height]){height:auto;}
.footer-brand img{width:auto;}
.btn-primary{background:#B5501C;}
.roof-col .who,.loc-badge .lab,.trial-pay-note,.trial-form .opt,.partner-card .disc,.partner-card .by{color:#CDBEC6;}
.tcard figcaption,.qcard figcaption,.tcard--text figcaption{color:#CDBEC6;}
.tcard--plum figcaption{color:#D9B4C6;}
.eyebrow{color:#CDBEC6;}
.bb-lab{color:#fff;}
.btn-map{background:#B5501C;}
.footer-bottom{color:#a89aa1;}
.footer-col .fh{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#a89aa1;margin-bottom:14px;font-weight:400;}
.roof-col h3{font-family:'Fraunces','Playfair Display',serif;font-size:22px;margin-bottom:10px;}
.roof-col.c1 h3{color:var(--orange);}.roof-col.c2 h3{color:var(--berry);}.roof-col.c3 h3{color:#EBD3CB;}
.roof-col h3 a:hover{text-decoration:underline;}

/* ===== Dark luxe theme additions (Oct 2026) ===== */
.display,h1,h2,h3{font-weight:400}
h1,h2{letter-spacing:-.01em}
.eyebrow{color:#E9A27A;letter-spacing:.3em}
.btn-primary,.nav-cta,.form-submit{background:linear-gradient(100deg,#E2702F,#B8344F)!important;color:#fff!important;border:0}
.nav-logo img{filter:none}
::selection{background:#B8344F;color:#fff}
/* Voices on dark */
.tcard{background:#211019}
.tcard blockquote,.tcard--text blockquote{color:#F3EBDD}
.tcard--cream{background:#2A1622}

/* ===== Readability on dark (Oct 2026) ===== */
body.readable{font-size:17px;font-weight:500;line-height:1.7}
body.readable main p,body.readable main li,body.readable main td,body.readable main th,
body.readable main dd,body.readable main dt,body.readable main label,body.readable main blockquote,
body.readable main figcaption,body.readable main .tbody,body.readable .faq-a,body.readable .faq p{font-size:max(1em,17px)!important;line-height:1.7}
body.readable main h1 + p,body.readable main .lead{font-size:max(1em,18px)!important}
body.readable .eyebrow,body.readable .lx-lab,body.readable main small{font-size:max(.8em,13px)!important;letter-spacing:.22em}
body.readable main strong,body.readable main b{font-weight:700}
body.readable footer p,body.readable footer a,body.readable footer li{font-size:15px}
body.readable input,body.readable textarea,body.readable select{font-size:17px}
@media (max-width:640px){
  body.readable main p,body.readable main li,body.readable main td,body.readable main blockquote{font-size:max(1em,17.5px)!important}
}

/* Testimonials: ivory text, gold accents (Oct 2026) */
.qcard blockquote,.tcard blockquote,.tcard--text blockquote,.tcard--cream blockquote{color:#F3EBDD!important}
.qcard blockquote::before,.qcard blockquote::after,.tcard blockquote::before,.tcard blockquote::after{color:#E9A27A}
.qcard figcaption,.tcard figcaption,.tcard--text figcaption,.tcard--plum figcaption{color:#E9A27A!important;letter-spacing:.2em}
