  :root{
    --bone: #F5F1E9;
    --black: #111110;
    --lavender: #C6B4D8;
    --blush: #EFC7BE;
    --skyblue: #A9C2DC;
    --stone-dark: #675F55;
    --white: #FFFFFF;
    --hairline: rgba(17,17,16,0.13);
    --gradient: linear-gradient(120deg, var(--lavender), var(--blush) 52%, var(--skyblue));
    --max: 1240px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--black);
    background:var(--bone);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:'Inter', sans-serif; font-weight:700; letter-spacing:-0.02em;}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 40px;}
  @media(max-width:640px){ .wrap{padding:0 22px;} }
  ::selection{background:var(--lavender); color:var(--black);}

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(245,241,233,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  nav{display:flex; align-items:center; justify-content:space-between; padding:20px 0;}
  .logo{font-weight:800; font-size:1.35rem; letter-spacing:-0.02em;}
  .logo-img{height:26px; width:auto; display:block;}
  .nav-links{display:flex; align-items:center; gap:38px;}
  .nav-links a.link{position:relative; font-size:0.9rem; font-weight:500; color:var(--stone-dark); padding-bottom:4px;}
  .nav-links a.link::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
    background:var(--gradient); transition:width 0.3s ease;
  }
  .nav-links a.link:hover{color:var(--black);}
  .nav-links a.link:hover::after{width:100%;}
  @media(max-width:760px){ .nav-links .link{display:none;} }

  .pill{
    display:inline-flex; align-items:center; justify-content:center;
    padding:15px 30px; border-radius:100px;
    font-size:0.92rem; font-weight:600;
    transition:transform 0.3s cubic-bezier(.2,.8,.3,1.2), box-shadow 0.3s ease;
  }
  .pill-gradient{background:var(--gradient); color:var(--black); box-shadow:0 10px 28px rgba(198,180,216,0.55);}
  .pill-gradient:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 16px 34px rgba(198,180,216,0.7);}
  .pill-dark{background:var(--black); color:var(--white);}
  .pill-dark:hover{transform:translateY(-3px) scale(1.02);}
  .pill-white{background:var(--white); color:var(--black); border:1px solid var(--hairline);}
  .pill-white:hover{transform:translateY(-3px) scale(1.02);}
  .pill-outline-dark{border:1.5px solid rgba(255,255,255,0.45); color:var(--white);}
  .pill-outline-dark:hover{background:rgba(255,255,255,0.12); transform:translateY(-3px);}
  .pill-sm{padding:11px 22px; font-size:0.82rem;}
  .cta-row{display:flex; gap:14px; flex-wrap:wrap;}

  /* ---------- HERO (conversion-first split layout) ---------- */
  .hero{position:relative; padding:64px 0 40px; overflow:hidden;}
  .hero-orb{
    position:absolute; z-index:0; border-radius:50%;
    background:radial-gradient(circle at 35% 35%, rgba(239,199,190,0.6), rgba(198,180,216,0.32) 55%, transparent 75%);
    filter:blur(10px); animation:breathe 6.5s ease-in-out infinite;
  }
  @keyframes breathe{ 0%,100%{transform:scale(0.9); opacity:0.7;} 50%{transform:scale(1.07); opacity:1;} }
  @media (prefers-reduced-motion: reduce){ .hero-orb{animation:none;} html{scroll-behavior:auto;} }
  .hero-orb-1{width:520px; height:520px; top:-180px; right:-140px;}

  .hero-grid{position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
  @media(max-width:960px){ .hero-grid{grid-template-columns:1fr; text-align:center;} }

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:600; letter-spacing:0.02em;
    color:var(--black); background:var(--white);
    padding:8px 16px; border-radius:100px; margin-bottom:22px;
    border:1px solid var(--hairline);
  }
  .eyebrow .stars{color:var(--black); letter-spacing:1px;}

  h1{font-size:clamp(2.2rem, 4.4vw, 3.3rem); line-height:1.08; margin-bottom:20px;}
  h1 .accent{
    font-style:italic; font-weight:800;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.sub{font-size:1.1rem; font-weight:400; color:var(--stone-dark); max-width:490px; margin-bottom:30px;}
  @media(max-width:960px){ .hero p.sub{margin-left:auto; margin-right:auto;} }

  .hero .cta-row{margin-bottom:18px;}
  @media(max-width:960px){ .hero .cta-row{justify-content:center;} }
  .microcopy{font-size:0.85rem; color:var(--stone-dark);}

  .proof-row{
    display:flex; align-items:center; gap:14px; margin-top:32px; flex-wrap:wrap;
  }
  @media(max-width:960px){ .proof-row{justify-content:center;} }
  .avatar-stack{display:flex;}
  .avatar-stack span{
    width:34px; height:34px; border-radius:50%; border:2px solid var(--bone);
    background:var(--gradient); margin-left:-10px; display:inline-block;
  }
  .avatar-stack span:first-child{margin-left:0;}
  .proof-row .proof-text{font-size:0.88rem; font-weight:500; color:var(--stone-dark);}

  /* Hero visual: device with floating proof cards */
  .hero-visual{position:relative; display:flex; justify-content:center; align-items:center; min-height:640px;}
  .phone-frame{
    width:clamp(420px, 34vw, 820px); position:relative; z-index:2;
    filter:drop-shadow(0 30px 60px rgba(17,17,16,0.28));
  }
  .phone-frame img{width:100%; background:transparent;}

  .float-card{
    position:absolute; z-index:3; background:var(--white);
    border-radius:16px; padding:14px 18px; max-width:220px;
    box-shadow:0 18px 40px rgba(17,17,16,0.14);
    font-size:0.85rem; font-weight:500;
    animation:float 5s ease-in-out infinite;
  }
  @keyframes float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
  .float-card.top{top:6%; left:-6%;}
  .float-card.bottom{bottom:8%; right:-10%; animation-delay:1.2s;}
  .float-card .stars{color:transparent; background:var(--gradient); -webkit-background-clip:text; background-clip:text; display:block; margin-bottom:4px; font-size:0.9rem;}
  .float-card .label{color:var(--stone-dark); font-weight:400;}
  @media(max-width:960px){ .float-card{display:none;} }
  @media(max-width:640px){ .phone-frame{width:min(92vw, 520px);} .hero-visual{min-height:420px;} }

  .float-card{z-index:3;}

  /* ---------- BLACK CAROUSEL ---------- */
  .carousel-section{background:var(--black); color:var(--white); padding:100px 0; position:relative; overflow:hidden;}
  .carousel-section .hero-orb{width:380px; height:380px; top:-140px; left:50%; transform:translateX(-50%); opacity:0.6;}
  .carousel-stars{position:relative; z-index:2; text-align:center; font-size:1.3rem; letter-spacing:6px; margin-bottom:28px;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .carousel-inner{position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:34px; max-width:820px; margin:0 auto; padding:0 20px;}
  .carousel-quote{
    font-weight:500; font-style:italic;
    font-size:clamp(1.1rem, 2.1vw, 1.5rem);
    text-align:center; line-height:1.55; min-height:120px;
    display:flex; align-items:center; justify-content:center;
    transition:opacity 0.4s ease;
  }
  .carousel-arrow{
    flex:0 0 auto; width:54px; height:54px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.32);
    display:flex; align-items:center; justify-content:center;
    color:var(--white); font-size:1.25rem; cursor:pointer;
    background:transparent; transition:transform 0.25s ease, background 0.25s ease;
  }
  .carousel-arrow:hover{background:var(--gradient); color:var(--black); border-color:transparent; transform:scale(1.08);}
  @media(max-width:640px){ .carousel-inner{gap:14px;} .carousel-arrow{width:42px; height:42px;} }

  /* ---------- SECTION shared ---------- */
  section{padding:120px 0;}
  @media(max-width:640px){ section{padding:76px 0;} }
  .section-head{max-width:600px; margin-bottom:64px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .kicker{
    font-size:0.8rem; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:18px; display:inline-block;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:700;
  }
  h2{font-size:clamp(1.8rem, 3.2vw, 2.5rem); margin-bottom:18px;}
  .section-head p{color:var(--stone-dark); font-size:1.03rem; font-weight:400;}

  .reveal{opacity:0; transform:translateY(24px); transition:opacity 0.7s ease, transform 0.7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- PROBLEM ---------- */
  .problem-inner{max-width:700px; margin:0 auto; text-align:center;}
  .problem-inner p{font-size:1.15rem; color:var(--stone-dark); margin-bottom:8px; font-weight:400;}
  .problem-inner .callout{
    font-weight:600; font-size:clamp(1.3rem, 2.6vw, 1.8rem); color:var(--black);
    margin:40px auto; line-height:1.5; max-width:600px;
  }
  .problem-inner .flip{font-size:clamp(1.3rem, 2.6vw, 1.9rem); margin-top:38px; font-weight:700;}
  .flip .accent{
    font-style:italic; font-weight:800;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  /* ---------- METHOD ---------- */
  .method-section{background:var(--black); color:var(--white);}
  .method-section .section-head p{color:rgba(255,255,255,0.65);}
  .method-flow{display:flex; align-items:flex-start; gap:0;}
  .flow-card{flex:1; padding:0 28px;}
  .flow-card:first-child{padding-left:0;}
  .flow-card:last-child{padding-right:0;}
  .flow-num{
    width:60px; height:60px; border-radius:50%; margin-bottom:26px;
    background:var(--gradient); color:var(--black); font-weight:800; font-size:1.3rem;
    display:flex; align-items:center; justify-content:center;
  }
  .flow-card h3{font-size:1.5rem; font-weight:700; color:var(--white); margin-bottom:14px;}
  .flow-card p{color:rgba(255,255,255,0.65); font-size:1rem; font-weight:400;}
  .flow-arrow{
    flex:0 0 auto; width:56px; padding-top:18px; text-align:center; font-size:1.6rem;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  @media(max-width:820px){
    .method-flow{flex-direction:column; gap:36px;}
    .flow-card{padding:0 !important;}
    .flow-arrow{width:auto; padding:0; transform:rotate(90deg);}
  }
  .method-section .method-list{border-top:1px solid rgba(255,255,255,0.15);}
  .method-section .method-row{border-bottom:1px solid rgba(255,255,255,0.15);}
  .method-section .method-desc p{color:rgba(255,255,255,0.65);}
  .method-section h3{color:var(--white);}
  .method-section h2{color:var(--white);}
  .method-row{
    display:grid; grid-template-columns:90px 1fr 1.4fr; gap:40px;
    align-items:start; padding:46px 0; border-bottom:1px solid var(--hairline);
    transition:padding-left 0.3s ease;
  }
  .method-row:hover{padding-left:12px;}
  @media(max-width:760px){ .method-row{grid-template-columns:50px 1fr;}
    .method-row .method-desc{grid-column:1 / -1; padding-left:0;} }
  .method-num{
    font-weight:800; font-size:1.9rem;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .method-row h3{font-size:1.4rem; font-weight:700;}
  .method-desc p{color:var(--stone-dark); font-size:1rem; max-width:480px; font-weight:400;}

  /* ---------- FEATURES ---------- */
  .features-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media(max-width:900px){ .features-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:600px){ .features-grid{grid-template-columns:1fr;} }
  .feature-card{
    background:var(--white); border-radius:20px; padding:32px 26px;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
    border:1px solid var(--hairline);
  }
  .feature-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(17,17,16,0.08);}
  .feature-mark{width:42px; height:42px; border-radius:50%; margin-bottom:18px; background:var(--gradient);}
  .feature-card h3{font-size:1.15rem; font-weight:700; margin-bottom:8px;}
  .feature-card p{color:var(--stone-dark); font-size:0.95rem; font-weight:400;}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto; border-top:1px solid var(--hairline);}
  .faq-item{border-bottom:1px solid var(--hairline); padding:26px 0;}
  .faq-item summary{
    cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between;
    font-weight:600; font-size:1.08rem;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{
    font-size:1.3rem; margin-left:16px; flex:0 0 auto; transition:transform 0.3s ease;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .faq-item[open] summary .plus{transform:rotate(45deg);}
  .faq-item p{margin-top:16px; color:var(--stone-dark); font-size:0.98rem; max-width:640px; font-weight:400;}

  /* ---------- FINAL CTA ---------- */
  .final-cta{background:var(--black); color:var(--white); text-align:center; padding:130px 0; position:relative; overflow:hidden;}
  .final-cta .hero-orb{width:460px; height:460px; left:50%; top:-160px; transform:translateX(-50%); opacity:0.7;}
  .final-cta .wrap{position:relative; z-index:1;}
  .final-cta h2{color:var(--white); max-width:580px; margin:0 auto 34px;}
  .final-cta .cta-row{justify-content:center;}

  /* ---------- CONTACT ---------- */
  .contact-section{text-align:center; padding:130px 0;}
  .contact-section .kicker{display:block; margin-bottom:18px;}
  .contact-section h2{margin-bottom:22px;}
  .contact-section a.email{
    font-size:clamp(1.4rem, 3vw, 2.1rem); font-weight:700;
    background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  /* ---------- FOOTER ---------- */
  footer{padding:60px 0 90px; text-align:center;}
  .footer-links{display:flex; justify-content:center; gap:28px; flex-wrap:wrap; margin-bottom:22px;}
  .footer-links a{font-size:0.85rem; font-weight:500; color:var(--stone-dark);}
  .footer-links a:hover{color:var(--black);}
  footer .copyright{font-size:0.82rem; color:var(--stone-dark);}

  /* ---------- STICKY MOBILE BAR ---------- */
  .sticky-bar{
    position:fixed; bottom:0; left:0; right:0; z-index:200;
    background:rgba(17,17,16,0.95); backdrop-filter:blur(10px);
    padding:14px 20px; display:none; align-items:center; justify-content:space-between; gap:12px;
  }
  .sticky-bar span{font-weight:600; font-size:0.95rem; color:var(--white);}
  @media(max-width:760px){ .sticky-bar{display:flex;} body{padding-bottom:74px;} }

/* ---------- LEGAL PAGES ---------- */
.legal-content{padding:80px 0 100px;}
.legal-content .legal-header{max-width:720px; margin:0 auto 56px;}
.legal-content .legal-header .kicker{display:block;}
.legal-content .legal-header h1{font-size:clamp(1.8rem, 3.4vw, 2.6rem); margin-bottom:14px;}
.legal-content .legal-header .updated{color:var(--stone-dark); font-size:0.9rem;}
.legal-body{max-width:720px; margin:0 auto; color:var(--stone-dark); font-size:1rem;}
.legal-body h2{font-size:1.3rem; color:var(--black); margin:40px 0 14px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{margin-bottom:16px;}
.legal-body ul{margin:0 0 16px 22px;}
.legal-body li{margin-bottom:8px;}
.legal-body a{color:var(--black); text-decoration:underline;}

/* ---------- REAL SESSIONS (floating) ---------- */
.sessions-float{
  display:flex; justify-content:center; align-items:flex-start;
  gap:52px; flex-wrap:wrap; padding:30px 0 10px;
}
.session-float-item{
  width:210px; text-align:center;
  animation:float 5.5s ease-in-out infinite;
}
.session-float-item:nth-child(1){transform:rotate(-4deg);}
.session-float-item:nth-child(2){transform:rotate(3deg); margin-top:46px; animation-delay:1.1s;}
.session-float-item:nth-child(3){transform:rotate(-2deg); animation-delay:2.2s;}
.session-float-item img{
  width:100%; height:auto; border-radius:24px;
  box-shadow:0 26px 46px rgba(17,17,16,0.22);
  margin-bottom:16px;
}
.session-float-item h3{font-size:1.02rem; font-weight:700; margin-bottom:4px;}
.session-float-item .session-meta{color:var(--stone-dark); font-size:0.85rem; font-weight:500;}
@media(max-width:760px){
  .sessions-float{gap:28px;}
  .session-float-item{width:150px;}
  .session-float-item:nth-child(2){margin-top:26px;}
}
