  :root{
    --bg-dark:#1B1017;
    --bg-dark-2:#241521;
    --cream:#FBF7F4;
    --cream-2:#F4E9F0;
    --rose:#D98CB3;
    --rose-deep:#A21D65;
    --wine:#5C123F;
    --gold:#C97FA0;
    --text-dark:#241019;
    --text-soft:#6B5560;
    --line:rgba(36,16,25,0.12);
    --line-light:rgba(251,247,244,0.18);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;background:var(--bg-dark);height:100%;overscroll-behavior-y:none;}
  body{
    background:var(--bg-dark);
    color:var(--text-dark);
    font-family:'Montserrat',sans-serif;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    overscroll-behavior-y:none;
    min-height:100%;
  }
  img{display:block;width:100%;height:100%;object-fit:cover;}
  a{color:inherit;text-decoration:none;}
  .eyebrow{
    font-family:'Assistant',sans-serif;
    text-transform:uppercase;
    letter-spacing:0.28em;
    font-size:0.72rem;
    font-weight:600;
    color:var(--rose-deep);
  }
  .eyebrow.on-dark{color:var(--rose);}
  h1,h2,h3{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    line-height:1.05;
    letter-spacing:-0.005em;
  }
  .subline{
    display:block;
    font-family:'Assistant',sans-serif;
    font-size:0.95rem;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:none;
    color:var(--text-soft);
    margin-top:10px;
  }
  .subline.on-dark{color:rgba(251,247,244,0.7);}
  em{font-style:italic;color:var(--rose-deep);}
  .on-dark em{color:var(--rose);}
  .trust-white{color:#fff !important;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
  section{position:relative;}

  /* ---------- NAV ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 40px;
    background:#1B1017;
    color:#fff;
  }
  header .logo{
    font-family:'Cormorant Garamond',serif;
    font-size:1.3rem;
    font-weight:500;
    letter-spacing:0.03em;
    display:flex;align-items:center;
  }
  .logo-img{width:auto;height:38px;object-fit:contain;display:block;}
  header .logo em{color:#fff;}
  header nav{display:flex;align-items:center;gap:36px;}
  .nav-links{display:flex;align-items:center;gap:34px;}
  .nav-links a{
    font-family:'Assistant',sans-serif;
    font-size:0.72rem;text-transform:uppercase;letter-spacing:0.16em;font-weight:600;
    color:rgba(251,247,244,0.82);
    padding:6px 0;border-bottom:1px solid transparent;
    transition:color .25s ease, border-color .25s ease;
  }
  .nav-links a:hover, .nav-links a.active{color:#fff;border-color:var(--rose);}
  .nav-cta{
    font-family:'Assistant',sans-serif;
    font-size:0.72rem;text-transform:uppercase;letter-spacing:0.16em;font-weight:600;
    color:rgba(251,247,244,0.82);
    padding:6px 0;border-bottom:1px solid transparent;
    transition:color .25s ease, border-color .25s ease;
  }
  .nav-cta:hover{color:#fff;border-color:var(--rose);}

  /* ---------- HERO ---------- */
  .hero{
    min-height:100vh;
    min-height:-webkit-fill-available;
    min-height:100dvh;
    min-height:calc(var(--vh, 1vh) * 100);
    display:flex;align-items:flex-end;
    position:relative;
    background-color:#1B1017;
    background-image:
      linear-gradient(180deg, rgba(27,16,23,0.15) 0%, rgba(27,16,23,0.45) 45%, rgba(27,16,23,0.97) 100%),
      url('images/rachel_hero_bg.jpg');
    background-size:cover;
    background-position:center 30%;
    background-repeat:no-repeat;
  }
  .hero-inner{
    position:relative;z-index:2;color:var(--cream);
    padding:0 40px 90px;
    width:100%;
  }
  .hero-inner .wrap{padding:0;max-width:1180px;margin:0 auto;}
  .hero h1{
    font-size:clamp(2.6rem, 6vw, 5rem);
    max-width:14ch;
    color:#fff;
    margin-top:22px;
  }
  .hero-sub{
    max-width:520px;margin-top:28px;
    font-size:1.02rem;line-height:1.65;color:rgba(251,247,244,0.85);
    font-weight:300;
  }
  .hero-actions{margin-top:42px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}

  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:17px 34px;
    background:var(--rose-deep);
    color:#fff;
    border-radius:999px;
    font-size:0.72rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:500;
    border:1px solid var(--rose-deep);
    transition:all .35s ease;
    white-space:nowrap;
  }
  .btn:hover{background:transparent;color:var(--rose);border-color:var(--rose);}
  .btn.light{background:transparent;color:var(--text-dark);border-color:var(--text-dark);}
  .btn.light:hover{background:var(--text-dark);color:var(--cream);}
  .btn.on-dark.light{color:var(--cream);border-color:rgba(251,247,244,0.5);}
  .btn.on-dark.light:hover{background:var(--cream);color:var(--text-dark);}

  .scroll-note{font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(251,247,244,0.55);}

  /* ---------- SECTION 2 : PROBLEM ---------- */
  .problem{
    background:var(--cream);
    padding:150px 0 130px;
  }
  .problem .grid{
    display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;
  }
  .problem h2{font-size:clamp(2rem,3.4vw,3rem);margin-top:20px;}
  .tried-list{margin-top:36px;display:flex;flex-direction:column;gap:0;}
  .tried-list div{
    padding:20px 0;border-bottom:1px solid var(--line);
    font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--text-soft);
  }
  .problem-copy{font-size:1.05rem;line-height:1.85;color:var(--text-soft);margin-top:8px;}
  .problem-copy strong{color:var(--text-dark);font-weight:500;}

  /* ---------- BRAND BELIEF ---------- */
  .belief{background:var(--bg-dark);color:var(--cream);padding:130px 0 70px;text-align:center;}
  .belief-head h2{font-size:clamp(2rem,4vw,3.2rem);color:#fff;margin-top:16px;}
  .belief-lines{margin:60px auto 0;max-width:640px;display:flex;flex-direction:column;gap:0;}
  .belief-lines div{
    font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:clamp(1.2rem,2.6vw,1.7rem);
    padding:16px 0;border-top:1px solid rgba(251,247,244,0.15);
    color:rgba(251,247,244,0.9);
  }
  .belief-lines div:last-child{border-bottom:1px solid rgba(251,247,244,0.15);}
  .belief-close{max-width:600px;margin:50px auto 0;font-size:1.02rem;line-height:1.8;color:rgba(251,247,244,0.75);}
  .belief .btn{margin-top:40px;display:inline-flex;}

  /* ---------- SECTION 3: BUILT AROUND YOU ---------- */
  .pillars{background:var(--bg-dark);color:var(--cream);padding:80px 0 150px;}
  .pillars-head{max-width:640px;}
  .pillars-head h2{font-size:clamp(2.1rem,4vw,3.4rem);color:#fff;margin-top:20px;}
  .pillars-head p{margin-top:24px;font-size:1.02rem;line-height:1.8;color:rgba(251,247,244,0.75);}
  .pillar-grid{
    margin-top:80px;
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line-light);
    border-top:1px solid var(--line-light);
  }
  .pillar{
    background:var(--bg-dark);
    padding:0 0 40px;
    display:flex;flex-direction:column;
  }
  .pillar-img{aspect-ratio:3/4;overflow:hidden;}
  .pillar-img img{transition:transform 1.1s cubic-bezier(.16,1,.3,1);filter:saturate(0.92) brightness(0.94);}
  .pillar:hover .pillar-img img{transform:scale(1.06);}
  .pillar-body{padding:30px 30px 0;}
  .pillar-num{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--rose);font-size:0.95rem;}
  .pillar h3{font-size:1.5rem;margin-top:14px;color:#fff;text-transform:uppercase;letter-spacing:0.02em;}
  .pillar p{margin-top:12px;font-size:0.92rem;line-height:1.6;color:rgba(251,247,244,0.68);}

  .pillars-cta{margin-top:70px;text-align:center;}

  /* ---------- METHOD ---------- */
  .method{background:var(--cream);padding:150px 0;}
  .method-head{text-align:center;max-width:720px;margin:0 auto;}
  .method-head h2{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-top:20px;}
  .method-head h2 .tm{font-size:0.5em;vertical-align:super;margin-left:0.05em;}
  .method-head p{margin-top:26px;font-size:1.02rem;line-height:1.8;color:var(--text-soft);}
  .method-rows{margin-top:90px;display:flex;flex-direction:column;}
  .method-row{
    display:grid;grid-template-columns:1.3fr 0.9fr;
    align-items:center;gap:60px;
    padding:56px 0;
    border-top:1px solid var(--line);
  }
  .method-row .method-img{order:1;}
  .method-row .method-text{order:2;}
  .method-row:last-child{border-bottom:1px solid var(--line);}
  .method-text h3{
    font-family:'Cormorant Garamond',serif;font-weight:500;
    font-size:3.4rem;color:var(--rose-deep);line-height:1;
    text-transform:uppercase;letter-spacing:0.01em;
  }
  .method-text .tag{
    display:block;margin-top:16px;
    font-family:'Assistant',sans-serif;font-size:0.78rem;font-weight:700;
    text-transform:uppercase;letter-spacing:0.22em;color:var(--gold);
  }
  .method-text p{margin-top:16px;color:var(--text-soft);line-height:1.75;font-size:0.98rem;max-width:44ch;}
  .method-img{aspect-ratio:4/3;border-radius:4px;overflow:hidden;}
  .method-img-tall{aspect-ratio:3/4;}
  .method-row:nth-child(odd){grid-template-columns:0.9fr 1.3fr;}
  .method-row:nth-child(odd) .method-img{order:2;}
  .method-row:nth-child(odd) .method-text{order:1;}
  .method-row:nth-child(even){grid-template-columns:1.3fr 0.9fr;}

  /* ---------- FIT / NOT FOR ---------- */
  .fit-section{background:var(--wine);color:var(--cream);padding:140px 0;}
  .fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .fit-col{padding:0 60px;}
  .fit-col:first-child{border-right:1px solid rgba(251,247,244,0.18);}
  .fit-col .eyebrow{color:var(--rose);}
  .fit-col h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.8rem;margin-top:16px;font-weight:400;}
  .fit-list{margin-top:36px;display:flex;flex-direction:column;gap:22px;}
  .fit-list li{list-style:none;display:flex;gap:16px;font-size:1.02rem;line-height:1.5;color:rgba(251,247,244,0.9);}
  .mark{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;flex-shrink:0;color:var(--rose);}
  .fit-col.no .mark{color:rgba(251,247,244,0.4);}
  .fit-note{margin-top:44px;padding-top:32px;border-top:1px solid rgba(251,247,244,0.18);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;line-height:1.5;color:var(--cream);}

  /* ---------- GALLERY / RESULTS ---------- */
  .results{background:var(--cream);padding:150px 0 130px;}
  .results-head{max-width:600px;}
  .results-head h2{font-size:clamp(2.1rem,4vw,3.4rem);margin-top:20px;}
  .results-head p{margin-top:20px;color:var(--text-soft);font-size:1.02rem;line-height:1.7;}
  .transform-grid{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
  }
  .transform-card{overflow:hidden;border-radius:4px;position:relative;aspect-ratio:4/5;background:var(--cream-2);}
  .transform-card img{transition:transform .8s cubic-bezier(.16,1,.3,1);object-position:top center;}
  .transform-card:hover img{transform:scale(1.045);}
  @media(max-width:900px){ .transform-grid{grid-template-columns:repeat(2,1fr);} }
  .results-proof{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
  .proof-item{padding-top:26px;border-top:1px solid var(--line);}
  .proof-item .num{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--rose-deep);}
  .proof-item p{margin-top:10px;font-size:0.95rem;color:var(--text-soft);line-height:1.6;}

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{background:var(--cream);padding:150px 0 130px;}
  .testi-head{max-width:600px;}
  .testi-head h2{font-size:clamp(2.1rem,4vw,3.4rem);margin-top:20px;}
  .testi-grid{
    margin-top:70px;display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:28px;
  }
  .testi-card{
    background:var(--cream-2);display:flex;flex-direction:column;
    border-radius:2px;overflow:hidden;
  }
  .testi-name{padding:30px 32px 0;}
  .testi-name span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--rose-deep);}
  .testi-quote{padding:14px 32px 32px;flex:1;}
  .testi-quote p{font-family:'Cormorant Garamond',serif;font-size:1.28rem;line-height:1.55;color:var(--text-dark);}
  .testi-meta{
    background:var(--rose-deep);color:#fff;padding:15px 32px;
    font-family:'Assistant',sans-serif;font-size:0.7rem;letter-spacing:0.12em;
    text-transform:uppercase;font-weight:600;
  }
  .testi-card.featured{grid-column:span 3;}
  .testi-card.featured .testi-name span{font-size:1.6rem;}
  .testi-card.featured .testi-quote{padding:8px 40px 36px;columns:2;column-gap:40px;}
  .testi-card.featured .testi-quote p{
    font-size:1.1rem;line-height:1.65;
    break-inside:avoid-column;
  }
  .testi-card.featured .testi-quote p + p{margin-top:16px;}
  @media(max-width:900px){
    .testi-card.featured{grid-column:span 1;}
    .testi-card.featured .testi-quote{columns:1;}
  }

  /* ---------- CASE STUDIES / JOURNEYS ---------- */
  .journeys{background:var(--bg-dark-2);color:var(--cream);padding:150px 0;}
  .journeys-head{max-width:640px;}
  .journeys-head h2{font-size:clamp(2.1rem,4vw,3.4rem);color:#fff;margin-top:20px;}
  .journey{
    display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;
    padding:70px 0;border-top:1px solid rgba(251,247,244,0.15);
  }
  .journeys .journey:first-of-type{margin-top:70px;}
  .journey-img{aspect-ratio:4/5;overflow:hidden;border-radius:4px;}
  .journey-body .eyebrow{color:var(--rose);}
  .journey-body h3{font-size:2.1rem;margin-top:14px;color:#fff;}
  .journey-stat{
    margin-top:16px;display:inline-block;font-family:'Assistant',sans-serif;
    font-size:clamp(0.6rem, 2.6vw, 0.76rem);letter-spacing:0.02em;color:var(--bg-dark-2);text-transform:uppercase;
    font-weight:700;background:var(--rose);padding:10px 20px;border-radius:30px;
    line-height:1.4;white-space:nowrap;max-width:100%;
  }
  .journey-body p{margin-top:20px;color:rgba(251,247,244,0.78);line-height:1.8;font-size:1rem;max-width:48ch;}
  .journey-mini-grid{margin-top:22px;display:flex;gap:10px;max-width:340px;}
  .journey-mini{flex:1;aspect-ratio:4/5;border-radius:3px;overflow:hidden;opacity:0.92;transition:opacity .3s ease, transform .3s ease;}
  .journey-mini:hover{opacity:1;transform:translateY(-3px);}
  .journey-quote{
    margin-top:26px;padding:20px 26px;background:rgba(251,247,244,0.06);
    border-left:2px solid var(--rose);font-family:'Cormorant Garamond',serif;
    font-style:italic;font-size:1.15rem;line-height:1.55;color:var(--cream);
  }
  .journey:nth-child(even){grid-template-columns:1.15fr 0.85fr;}
  .journey:nth-child(even) .journey-img{order:2;}

  /* ---------- ABOUT ---------- */
  .about{background:var(--bg-dark-2);color:var(--cream);padding:150px 0 90px;}
  .about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:90px;align-items:center;}
  .about-frame{
    aspect-ratio:4/5;
    border:1px solid rgba(251,247,244,0.25);
    padding:18px;
  }
  .about-frame-inner{
    width:100%;height:100%;
    background:linear-gradient(160deg, var(--wine), #26081A);
    display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
  }
  .about-frame-inner img{position:absolute;inset:0;opacity:1;object-position:top center;}
  .about-monogram{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:5rem;color:rgba(251,247,244,0.9);position:relative;z-index:2;}
  .about-copy .eyebrow{color:var(--rose);}
  .about-copy h2{font-size:clamp(2rem,3.6vw,3.1rem);margin-top:18px;color:#fff;}
  .about-copy p{margin-top:22px;font-size:1.02rem;line-height:1.85;color:rgba(251,247,244,0.78);max-width:52ch;}
  .about-sign{margin-top:34px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--rose);}
  .about-proof{
    max-width:760px;margin:90px auto 0;text-align:center;
    padding-top:56px;border-top:1px solid rgba(251,247,244,0.15);
  }
  .about-proof p{
    font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.5;color:var(--cream);
  }
  .about-proof span{
    display:block;margin-top:22px;font-family:'Assistant',sans-serif;
    font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--rose);font-weight:600;
  }

  /* ---------- FINAL CTA ---------- */
  .final{
    position:relative;min-height:60vh;min-height:60dvh;display:flex;align-items:center;
    color:#fff;overflow:hidden;
    padding:100px 0;
    background-color:#1B1017;
    background-image:
      radial-gradient(ellipse at center, rgba(27,16,23,0.55) 0%, rgba(27,16,23,0.94) 78%),
      url('images/rachel_final_bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .final-inner{position:relative;z-index:2;text-align:center;width:100%;}
  .final h2{font-size:clamp(2.4rem,6vw,4.6rem);max-width:16ch;margin:20px auto 0;color:#fff;}
  .final p{max-width:480px;margin:26px auto 0;color:rgba(251,247,244,0.78);line-height:1.75;font-size:1.02rem;}
  .final .btn{margin-top:44px;}

  footer{
    background:var(--bg-dark);color:rgba(251,247,244,0.5);
    padding:60px 0 36px;border-top:1px solid rgba(251,247,244,0.12);
    text-align:center;font-size:0.75rem;letter-spacing:0.05em;
  }
  footer em{font-family:'Cormorant Garamond',serif;color:rgba(251,247,244,0.7);}
  .footer-links{
    display:flex;justify-content:center;flex-wrap:wrap;gap:28px;
    margin-bottom:34px;font-family:'Assistant',sans-serif;
    font-size:0.72rem;text-transform:uppercase;letter-spacing:0.16em;font-weight:600;
  }
  .footer-links a{color:rgba(251,247,244,0.75);}
  .footer-links a:hover{color:var(--rose);}

  /* ---------- INTERIOR PAGE HERO ---------- */
  .page-hero{
    min-height:88vh;min-height:88dvh;min-height:calc(var(--vh, 1vh) * 88);
    display:flex;align-items:flex-end;
    position:relative;background-color:#1B1017;overflow:hidden;
    padding-top:120px;
  }
  .page-hero .hero-inner{padding:0 40px 70px;}
  .page-hero h1{
    font-family:'Cormorant Garamond',serif;font-weight:500;
    font-size:clamp(2.4rem,5vw,4.2rem);color:#fff;margin-top:16px;max-width:16ch;
  }

  /* ---------- EMAIL SIGNUP ---------- */
  .signup-block{
    background:var(--bg-dark);color:var(--cream);
    padding:130px 0;text-align:center;
  }
  .signup-block .wrap{max-width:600px;}
  .signup-block h2{font-size:clamp(2rem,4vw,3rem);color:#fff;margin-top:16px;}
  .signup-block p{margin-top:20px;color:rgba(251,247,244,0.75);line-height:1.75;font-size:1rem;}
  .signup-form{
    margin-top:40px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;
  }
  .signup-form input[type="email"], .signup-form input[type="text"]{
    flex:1;min-width:220px;padding:16px 22px;border-radius:999px;border:1px solid rgba(251,247,244,0.25);
    background:rgba(251,247,244,0.06);color:#fff;font-family:'Montserrat',sans-serif;font-size:0.92rem;
  }
  .signup-form input::placeholder{color:rgba(251,247,244,0.45);}
  .signup-form button{
    padding:16px 32px;border-radius:999px;border:none;background:var(--rose-deep);color:#fff;
    font-family:'Assistant',sans-serif;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;
    font-weight:600;cursor:pointer;transition:background .3s ease;
  }
  .signup-form button:hover{background:var(--rose);color:var(--wine);}
  .signup-note{margin-top:18px;font-size:0.78rem;color:rgba(251,247,244,0.45);}


  .sticky-cta{
    position:fixed;bottom:0;left:0;right:0;z-index:90;
    display:none;
    padding:14px 20px;background:var(--bg-dark);
    border-top:1px solid rgba(251,247,244,0.15);
  }
  .sticky-cta .btn{width:100%;justify-content:center;}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease, transform .9s cubic-bezier(.16,1,.3,1);}
  .reveal.in{opacity:1;transform:translateY(0);}

  @media(max-width:900px){
    .wrap{padding:0 24px;}
    header{padding:20px 24px;}
    .nav-links{display:none;}
    .problem .grid{grid-template-columns:1fr;gap:40px;}
    .pillar-grid{grid-template-columns:repeat(2,1fr);}
    .method-row, .method-row:nth-child(even), .method-row:nth-child(odd){
      display:flex !important;flex-direction:column !important;gap:0 !important;
    }
    .method-row .method-img{order:1 !important;width:100%;}
    .method-row .method-text{order:2 !important;margin-top:20px;width:100%;}
    .method-text h3{font-size:2.4rem;}
    .fit-grid{grid-template-columns:1fr;}
    .fit-col{padding:50px 0;}
    .fit-col:first-child{border-right:none;border-bottom:1px solid rgba(251,247,244,0.18);}
    .about-grid{grid-template-columns:1fr;gap:44px;}
    .transform-grid{grid-template-columns:repeat(2,1fr);}
    .results-proof{grid-template-columns:1fr;gap:24px;}
    .journey, .journey:nth-child(even){grid-template-columns:1fr !important;gap:26px;}
    .journey:nth-child(even) .journey-img{order:0 !important;}
    .sticky-cta{display:block;}
    body{padding-bottom:70px;}
  }
