
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --rust:#cd5a37;--clay:#c8856e;--steel:#738ea7;--peri:#c9d4f2;
  --linen:#dfd2c0;--sage:#9b9e89;--mocha:#aa846e;--dark:#2d2926;
  --off:#f8f3ed;--body:#4a4542;--muted:#9a8f8a;
  --ease:cubic-bezier(0.16,1,0.3,1);--spring:cubic-bezier(0.34,1.56,0.64,1);
  --bg: #1a1714;--card-dark: #242018;--card-accent: #c05a38;--gold: #c8a96e;
  --text: #f0ebe3;--muted: #7a7060;--border: rgba(255,255,255,0.07);--header-h: 140px;
}
html{scroll-behavior:smooth;}

/* ═══ HERO ═══ */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:0 0 0 0;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.55);}
.hero-bg-grad{position:absolute;inset:0;background:linear-gradient(105deg,rgba(45,41,38,.92) 0%,rgba(45,41,38,.6) 40%,rgba(45,41,38,.15) 70%,transparent 100%);}
.hero-bg-grad2{position:absolute;bottom:0;left:0;right:0;height:300px;background:linear-gradient(to top,rgba(45,41,38,1) 0%,transparent 100%);}

.hero-content{position:relative; z-index:2; padding:120px 24px 120px; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;margin:0 auto; max-width: 980px}

.hero-left .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--clay);margin-bottom:28px;opacity:0;animation:fadeUp .8s var(--ease) .3s forwards;}
.hero-left .eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--rust);animation:pdot 2s ease-in-out infinite;}
@keyframes pdot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.3;transform:scale(.5);}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(52px,7vw,96px);font-weight:800;line-height:.93;letter-spacing:-3px;color:#fff;margin-bottom:15px;}
.hero-h1 .line{display:block;overflow:hidden;}
.hero-h1 .line span{display:block;transform:translateY(110%);animation:lineUp .9s var(--ease) forwards;}
.hero-h1 .line:nth-child(1) span{animation-delay:.5s;}
.hero-h1 .line:nth-child(2) span{animation-delay:.65s;}
.hero-h1 .line:nth-child(3) span{animation-delay:.8s;}
.hero-h1 em{font-style:italic;color:var(--clay);}
@keyframes lineUp{to{transform:translateY(0);}}

.hero-script{font-family:'Cormorant Garamond',serif;font-size:28px;font-style:italic;color:rgba(255,255,255,.65);margin:20px 0 40px;opacity:0;animation:fadeUp .8s var(--ease) 1.2s forwards;}
.hero-desc{font-size:16px;color:rgba(255,255,255,.55);line-height:1.85;max-width:100%; margin-bottom:44px;opacity:0;animation:fadeUp .8s var(--ease) 1.4s forwards; text-align:center;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s var(--ease) 1.6s forwards; justify-content:center;}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;opacity:0;animation:fadeUp .8s var(--ease) 1.8s forwards;}
.hbadge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:40px;padding:8px 16px;backdrop-filter:blur(8px);}
.hbadge-num{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--clay);}
.hbadge-lbl{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45);}

/* Scroll indicator */
.hero-scroll{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:3;opacity:0;animation:fadeUp .8s var(--ease) 2.2s forwards;}
.hero-scroll-lbl{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.3);}
.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);position:relative;overflow:hidden;}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;background:var(--rust);animation:scrollDrop 2s ease-in-out infinite;}
@keyframes scrollDrop{to{top:200%;}}

/* BTNS */
.btn-solid{background:var(--rust);color:#fff;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:16px 36px;border-radius:50px;cursor:none;transition:transform .3s var(--spring),box-shadow .3s;box-shadow:0 6px 24px rgba(205,90,55,.35);}
.btn-solid:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 12px 40px rgba(205,90,55,.45);}
.btn-outline{background:transparent;color:rgba(255,255,255,.8);border:1.5px solid rgba(255,255,255,.3);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:14px 32px;border-radius:50px;cursor:none;transition:all .3s;}
.btn-outline:hover{border-color:#fff;color:#fff;transform:translateY(-2px);}
.btn-dark{background:var(--dark);color:#fff;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:16px 36px;border-radius:50px;transition:transform .3s var(--spring),background .2s;text-decoration: none;}
.btn-dark:hover{transform:scale(1.05);background:var(--rust);}
.btn-outline-dark{background:transparent;color:var(--dark);border:2px solid rgba(45,41,38,.2);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:14px 32px;border-radius:50px;cursor:none;transition:all .3s;}
.btn-outline-dark:hover{border-color:var(--rust);color:var(--rust);transform:translateY(-2px);}

/* MARQUEE */
.mq{background:var(--rust);padding:14px 0;overflow:hidden;}
.mq-track{display:flex;width:max-content;animation:mqs 28s linear infinite;}
.mq-item{white-space:nowrap;padding:0 40px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:40px;}
.mq-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.5);}
@keyframes mqs{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══ ABOUT SECTION — SPLIT PARALLAX ═══ */
.about{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;position:relative;}
.about-left{background:var(--off);padding:120px 72px 120px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.about-left-bg{position:absolute;right:-40px;bottom:-40px;font-family:'Playfair Display',serif;font-weight:800;font-size:260px;color:rgba(45,41,38,.04);letter-spacing:-10px;pointer-events:none;user-select:none;line-height:1;}
.about-right{position:relative;overflow:hidden;display:flex;justify-content:center;background:#e4e1df;}
.about-right-img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.05);transition:transform 8s ease-out;}
.about-right-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(248,243,237,.15) 0%,transparent 40%);}
.about-right-quote{position:absolute;bottom:48px;left:40px;right:40px;background:rgba(248,243,237,.92);backdrop-filter:blur(16px);border-radius:16px;padding:28px 32px;border-left:4px solid var(--rust);}
.arq-text{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:var(--dark);line-height:1.6;margin-bottom:10px;}
.arq-author{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}

.about-tag{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--rust);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.about-tag-dash{width:28px;height:1px;background:var(--rust);}
.about-h2{font-family:'Playfair Display',serif;font-size:clamp(38px,4vw,58px);font-weight:800;line-height:1.05;color:var(--dark);margin-bottom:12px;}
.about-h2 em{font-style:italic;color:var(--clay);}
.about-script{font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;color:var(--clay);margin-bottom:28px;}
.about-body{font-size:15.5px;color:var(--body);line-height:1.85;margin-bottom:20px;}
.about-vals{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 36px;}
.vp{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 18px;border-radius:30px;background:#fff;color:var(--mocha);border:1px solid rgba(200,133,110,.18);}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(205,90,55,.1);border-radius:14px;overflow:hidden;margin-bottom:36px;}
.as{background:var(--off);padding:20px;text-align:center;}
.as-n{font-family:'Playfair Display',serif;font-size:30px;font-weight:800;color:var(--rust);line-height:1;}
.as-l{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:3px;}

/* ═══ SERVICES — HORIZONTAL SCROLL ═══ */
.services{padding:120px 0;background:var(--dark);position:relative;overflow:hidden;}
.services-header{padding:0 64px;margin-bottom:60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;}
.s-tag{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--clay);margin-bottom:12px;}
.s-h2{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,58px);font-weight:800;color:#fff;line-height:1.05;}
.s-h2 em{font-style:italic;color:var(--clay);}
.s-desc{font-size:15px;color:rgba(255,255,255,.4);line-height:1.8;}

.cards-scroll{display:flex;gap:20px;padding:0 64px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;}
.cards-scroll:active{cursor:grabbing;}
.cards-scroll::-webkit-scrollbar{display:none;}

.sc{flex:0 0 320px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:24px;padding:36px;transition:transform .4s var(--spring),background .3s;cursor:none;}
.sc:hover{transform:translateY(-8px) scale(1.01);background:rgba(255,255,255,.07);}
.sc-accent{width:40px;height:3px;border-radius:3px;margin-bottom:28px;transition:width .4s var(--ease);}
.sc:hover .sc-accent{width:100%;}
.sc-emoji{font-size:28px;display:block;margin-bottom:16px;}
.sc-name{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:#fff;line-height:1.15;margin-bottom:8px;}
.sc-sub{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;margin-bottom:20px;}
.sc-items{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:28px;}
.sc-items li{font-size:13px;line-height:1.55;padding-left:16px;position:relative;color:rgba(255,255,255,.5);}
.sc-items li::before{content:'·';position:absolute;left:3px;font-size:18px;top:-3px;color:rgba(255,255,255,.2);}
.sc-price{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;line-height:1;}
.sc-price-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:4px;}

.scroll-hint{padding:28px 64px 0;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.2);}
.scroll-arrows{display:flex;gap:6px;}
.sa{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-size:12px;cursor:none;transition:all .25s;}
.sa:hover{border-color:var(--rust);color:var(--rust);}

/* ═══ PARTNERSHIP SECTION ═══ */
/* ── Sticky wrapper ── */
.scrollDriver-section {
    background: #d6d0c8;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    min-height: 300vh;
  }  
.partnership-sticky-section {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    z-index: 10;
    display: flex;
    flex-direction: column;
  }

  /* ── Header — normal flow, fixed height ── */
  .section-header {
    flex-shrink: 0;
    padding: 3rem 4rem 1.6rem;
    height: var(--header-h);
    margin-bottom: 15px;
  }
  .section-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 3.5vw, 3.2rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--dark);
  }
  .section-header p {
    font-style: italic;
    color: var(--gold);
    font-family: 'Playfair Display', serif;
    margin-top: 0.35rem;
    font-size: 1rem;
  }

  /* ── Cards container fills remaining height ── */
  .cards-stage {
    flex: 1;
    display: flex;
    align-items: stretch;
    padding: 0 3rem 3rem;
    gap: 1.5rem;
  }

  /* ── Individual card ── */
  .card {
    flex: 1;
    border-radius: 18px;
    padding: 2rem 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    will-change: transform, opacity;

    transform: translateY(130px) scale(0.96);
    opacity: 0;
    transition:
      transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
      opacity   0.65s ease;
  }
  .card.revealed {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  .card--dark   { background: #cd5a37; border: 1px solid var(--border); }
  .card--accent { background: #c8856e; }
  .card--suite  { background: #738ea7; border: 1px solid var(--border); }

  /* partnership-badge */
  .partnership-badge {
    display: inline-flex; align-items: center; gap: 0.35rem;
    font-size: 0.63rem; font-weight: 500; letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--dark);
    padding: 0.25rem 0.7rem;
    border-radius: 100px;
    width: fit-content;
    margin-bottom: 1rem;
  }
  .partnership-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
  .card--accent .partnership-badge { background: rgba(0,0,0,0.2); }

  .card-icon { font-size: 1.9rem; margin-bottom: 0.5rem; }

  .card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.65rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
  }
  .card-subtitle {
    font-style: italic;
    font-family: 'Playfair Display', serif;
    font-size: 0.82rem;
    opacity: 0.75;
    margin-bottom: 1.1rem;
  }

  .card-price {
    display: flex; align-items: baseline; gap: 0.1rem;
    margin-bottom: 0.3rem;
  }
  .price-dollar { font-size: 1.1rem; font-weight: 700; opacity: 0.7; }
  .price-amount { font-family: 'Playfair Display', serif; font-size: 2.8rem; font-weight: 700; line-height: 1; }
  .price-mo { font-size: 0.82rem; opacity: 0.6; margin-left: 0.1rem; }

  .best-for {
    font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: rgb(255 255 255 / 65%); margin-bottom: 1.1rem;
  }
  .card--accent .best-for { color: rgba(255,255,255,0.65); }

  .features {
    list-style: none; display: flex; flex-direction: column;
    gap: 0.45rem; margin-bottom: 1.5rem; flex: 1;
  }
  .features li {
    font-size: 0.8rem; display: flex; align-items: flex-start; gap: 0.5rem; opacity: 0.9;
  }
  .features li::before { content: '·'; font-size: 1.2rem; line-height: 1; color: var(--gold); flex-shrink: 0; }
  .card--accent .features li::before { color: rgba(255,255,255,0.6); }

  .card-btn {
    width: 100%; padding: 0.85rem;
    border-radius: 100px;
    border: none; cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.72rem; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase;
    transition: opacity 0.2s, transform 0.2s;
  }
  .card-btn:hover { opacity: 0.85; transform: translateY(-1px); }
  .card--dark  .card-btn { background: #2e2a22; color: var(--text); }
  .card--accent .card-btn { background: #fff; color: #1a1714; }
  .card--suite .card-btn { background: var(--card-accent); color: #fff; }

  .progress-bar {
    position: fixed; top: 0; left: 0; height: 2px;
    background: var(--gold);
    z-index: 100;
    width: 0%;
  }
/* ═══ PARTNERSHIP SECTION ═══ */

/* ═══ STICKY TESTIMONIAL SCROLL SECTION ═══ */
 /* Demo spacing before/after section */
    .spacer {
      height: 60vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      color: #999;
    }

    /* ── Sticky scroll wrapper ── */
    .outer {
      position: relative;
      /* height set by JS */
    }

    .sticky-section {
      position: sticky;
      top: 0;
      height: 100vh;
      background: #c5c8e8;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .scene {
      position: relative;
      width: 100%;
      max-width: 680px;
      height: 100vh;
      display: flex;
      align-items: flex-end;
      justify-content: center;
    }

    /* ── Girl image ── */
    .girl-img {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      pointer-events: none;
      user-select: none;
    }
    .girl-img img {
      width: 100%;
      display: block;
    }

    /* ── Bubbles layer ── */
    .bubbles-layer {
      position: absolute;
      inset: 0;
      z-index: 3;
      pointer-events: none;
    }

    .bubble {
      position: absolute;
      background: #fff;
      border-radius: 14px;
      padding: 10px 14px;
      font-size: 13px;
      font-weight: 400;
      color: #222;
      box-shadow: 0 2px 12px rgba(0,0,0,0.10);
      max-width: 200px;
      line-height: 1.45;
      opacity: 0;
      transform: translateY(16px) scale(0.95);
      transition: opacity 0.5s cubic-bezier(.4,0,.2,1),
                  transform 0.5s cubic-bezier(.4,0,.2,1);
    }

    .bubble.show {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    .bubble .time {
      display: block;
      font-size: 10px;
      color: #aaa;
      margin-top: 5px;
      text-align: right;
    }
/* ═══ STICKY TESTIMONIAL SCROLL SECTION ═══ */

/* ═══ RESULTS — DARK PARALLAX BG ═══ */
.results{position:relative;overflow:hidden;}
.results-bg{position:absolute;inset:0;z-index:0;}
.results-bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.25) saturate(.6);}
.results-bg-ov{position:absolute;inset:0;background:rgba(45,41,38,.75);}
.results-inner{position:relative;z-index:1;padding:120px 64px;}
.results-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:80px;}
.r-tag{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--clay);margin-bottom:14px;}
.r-h2{font-family:'Playfair Display',serif;font-size:clamp(40px,5vw,70px);font-weight:800;color:#fff;line-height:.95;letter-spacing:-2px;}
.r-h2 em{font-style:italic;color:var(--clay);display:block;}
.r-desc{font-size:15px;color:rgba(255,255,255,.45);line-height:1.8;}
.r-script{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--clay);margin-top:8px;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.06);border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.06);margin-bottom:60px;}
.sr{background:rgba(255,255,255,.03);padding:36px 24px;text-align:center;position:relative;}
.sr-num{font-family:'Playfair Display',serif;font-size:clamp(40px,4vw,60px);font-weight:800;color:#fff;line-height:1;}
.sr-num em{color:var(--rust);font-style:normal;}
.sr-lbl{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:8px;}
.sr-line{position:absolute;bottom:0;left:0;height:2px;background:var(--rust);width:0%;transition:width 1.6s var(--ease);}
.sr.lit .sr-line{width:100%;}

.cs-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.csc{border-radius:20px;overflow:hidden;transition:transform .4s var(--spring);cursor:none;}
.csc:hover{transform:translateY(-6px);}
.csc-head{padding:36px 32px;}
.csc.dk .csc-head{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
.csc.lt .csc-head{background:rgba(248,243,237,.08);border:1px solid rgba(248,243,237,.1);}
.csc-ctag{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;}
.dk .csc-ctag{color:var(--clay);}.lt .csc-ctag{color:var(--rust);}
.csc-name{font-family:'Playfair Display',serif;font-size:30px;font-weight:800;color:#fff;margin-bottom:4px;}
.csc-niche{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--clay);margin-bottom:20px;}
.csc-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:0;}
.csp{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:20px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);}
.csc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05);}
.csm{padding:24px 20px;text-align:center;background:rgba(45,41,38,.5);}
.csm-n{font-family:'Playfair Display',serif;font-size:26px;font-weight:800;color:var(--rust);}
.csm-l{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-top:3px;}
.r-view-all{text-align:center;margin-top:48px;}

/* ═══ PROCESS — PHOTO BG SECTION ═══ */
.process{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;}
.process-bg{position:absolute;inset:0;z-index:0;}
.process-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.process-bg-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(248,243,237,.97) 0%,rgba(248,243,237,.9) 50%,rgba(248,243,237,.6) 100%);}
.process-inner{position:relative;z-index:1;padding:120px 64px;width:100%;}
.process-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:64px;}
.p-tag{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--rust);margin-bottom:14px;}
.p-h2{font-family:'Playfair Display',serif;font-size:clamp(38px,4vw,58px);font-weight:800;line-height:1.05;color:var(--dark);}
.p-script{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--clay);margin-top:8px;}
.p-desc{font-size:15px;color:var(--body);line-height:1.8;}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;}
.steps::before{content:'';position:absolute;top:34px;left:7%;right:7%;height:1px;background:linear-gradient(to right,transparent,var(--linen) 10%,var(--clay) 50%,var(--linen) 90%,transparent);opacity:.4;}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 14px;position:relative;z-index:1;}
.step-c{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:transform .4s var(--spring),box-shadow .3s;}
.step:hover .step-c{transform:scale(1.12);box-shadow:0 12px 36px rgba(0,0,0,.12);}
.step-n{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:#fff;}
.step-title{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:7px;}
.step-desc{font-size:12px;color:var(--mocha);line-height:1.65;}

/* ═══ TESTIMONIALS — HORIZONTAL CARDS ON LINEN ═══ */
.testimonials{padding:120px 64px;background:var(--linen);position:relative;overflow:hidden;}
.testi-header{text-align:center;margin-bottom:64px;}
.t-tag{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--rust);margin-bottom:14px;}
.t-h2{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,56px);font-weight:800;color:var(--dark);line-height:1.05;}
.t-script{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--clay);margin-top:8px;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tc{background:#fff;border-radius:20px;padding:36px;position:relative;overflow:hidden;transition:transform .4s var(--spring),box-shadow .4s;cursor:none;}
.tc:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(45,41,38,.1);}
.tc-mark{position:absolute;top:10px;right:20px;font-family:'Playfair Display',serif;font-size:96px;font-weight:800;color:rgba(45,41,38,.04);line-height:1;}
.tc-stars{display:flex;gap:3px;margin-bottom:16px;}
.star{width:13px;height:13px;background:var(--rust);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}
.tc-quote{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:var(--dark);line-height:1.7;margin-bottom:24px;position:relative;z-index:1;}
.tc-author{display:flex;align-items:center;gap:12px;}
.tc-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:#fff;flex-shrink:0;}
.tc-name{font-size:13px;font-weight:700;color:var(--dark);}
.tc-role{font-size:12px;color:var(--sage);}
.tc-foot{position:absolute;bottom:0;left:0;right:0;height:3px;}

/* */
*{box-sizing:border-box;margin:0;padding:0}
.section{background:#c5c8e8;border-radius:16px;padding:40px 20px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.scene{position:relative;width:100%;max-width:900px;min-height:560px;display:flex;align-items:flex-end;justify-content:center;}
.girl-img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;user-select:none;}
.girl-img img{width:100%;display:block;}
.bubbles-layer{position:absolute;inset:0;z-index:3;pointer-events:none;}
.bubble{position:absolute;background:#fff;border-radius:14px;padding:10px 14px;font-size:12.5px;font-weight:400;color:#222;box-shadow:0 2px 10px rgba(0,0,0,0.10);max-width:190px;line-height:1.4;opacity:0;transform:translateY(18px) scale(0.95);transition:opacity 0.55s cubic-bezier(.4,0,.2,1),transform 0.55s cubic-bezier(.4,0,.2,1);}
.bubble.show{opacity:1;transform:translateY(0) scale(1);}
.bubble .time{display:block;font-size:10px;color:#999;margin-top:5px;text-align:right;}


/* ═══ PODCAST — FULL WIDTH SPLIT ═══ */
.podcast{display:grid;grid-template-columns:1fr 1fr;min-height:80vh;position:relative;}
.pod-left{background:var(--dark);display:flex;align-items:center;justify-content:center;padding:100px 72px 100px 64px;position:relative;overflow:hidden;}
.pod-left-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 70%,rgba(205,90,55,.12) 0%,transparent 60%);}
.pod-right{position:relative;overflow:hidden; height:630px}
.pod-right img{width:100%;height:100%;object-fit:cover;object-position:center center;}
.pod-right-ov{position:absolute;inset:0;background:linear-gradient(to left,transparent 50%,rgba(45,41,38,.4) 100%);}
.pod-right-badge{position:absolute;top:40px;right:40px;width:80px;height:80px;}
.pod-right-badge svg{animation:spin 12s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.pod-right-badge-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.pod-right-badge-dot{width:24px;height:24px;border-radius:50%;background:var(--rust);animation:spin 12s linear infinite reverse;}
@keyframes floatY{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-14px);}}
.pod-phone{width:160px;background:#111;border-radius:36px;padding:9px;box-shadow:0 32px 80px rgba(0,0,0,.5);}
.pod-island{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:56px;height:18px;background:#111;border-radius:12px;z-index:10;}
.pod-screen{background:var(--steel);border-radius:28px;overflow:hidden;aspect-ratio:9/19.5;display:flex;flex-direction:column;}
.pod-art{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 0 12px;}
.pod-art-bg{position:absolute;inset:0;background:linear-gradient(160deg,#4a6b82 0%,#2d4a5e 60%,#1a2f3e 100%);}
.pod-art-photo{position:absolute;inset:0;object-fit:cover;object-position:top;width:100%;height:100%;mix-blend-mode:luminosity;opacity:.5;}
.pod-art-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,47,62,.95) 0%,transparent 50%);}
.pod-wave{display:flex;align-items:center;justify-content:center;gap:2px;height:18px;margin:5px 0;position:relative;z-index:2;}
.wb{width:2px;border-radius:2px;background:rgba(255,255,255,.45);animation:wa 1.1s ease-in-out infinite;}
@keyframes wa{0%,100%{transform:scaleY(.2);opacity:.3;}50%{transform:scaleY(1);opacity:.8;}}
.pod-art-content{position:relative;z-index:2;text-align:center;padding:0 10px;}
.pod-art-title{font-family:'Playfair Display',serif;font-size:8px;font-weight:800;color:#fff;line-height:1.3;text-transform:uppercase;}
.pod-art-host{font-family:'Cormorant Garamond',serif;font-size:8px;font-style:italic;color:rgba(255,255,255,.6);}
.pod-player{background:#0d0d0d;padding:9px 12px 12px;flex-shrink:0;}
.pod-prog{height:2px;background:rgba(255,255,255,.1);border-radius:2px;margin-bottom:7px;overflow:hidden;}
.pod-fill{height:100%;width:35%;background:var(--rust);border-radius:2px;animation:pf 8s linear infinite;}
@keyframes pf{from{width:0;}to{width:100%;}}
.pod-ctrl{display:flex;align-items:center;justify-content:space-between;}
.pod-btn{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:9px;background:none;border:none;}
.pod-play{width:28px;height:28px;border-radius:50%;background:var(--rust);border:none;display:flex;align-items:center;justify-content:center;}
.pod-play::after{content:'';border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px;}
.pod-time-txt{font-size:7px;color:rgba(255,255,255,.3);}
.pod-left-content{position:relative;z-index:1;}
.pod-tag{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--clay);margin-bottom:14px;}
.pod-h2{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,54px);font-weight:800;color:#fff;line-height:1.05;margin-bottom:8px;}
.pod-h2 em{font-style:italic;color:var(--clay);}
.pod-script{font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;color:var(--clay);margin-bottom:24px;}
.pod-desc{font-size:15px;color:rgba(255,255,255,.45);line-height:1.8;max-width:440px;margin-bottom:36px;}
.pod-badge{display:inline-flex;align-items:center;gap:10px;background:var(--rust);color:#fff;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:11px 26px;border-radius:40px;box-shadow:0 8px 28px rgba(205,90,55,.35);animation:floatBadge 3s ease-in-out infinite;}
@keyframes floatBadge{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.pod-bdot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pdot 1.8s ease-in-out infinite;}

/* ═══ FINAL CTA ═══ */
.cta-wrap{position:relative;overflow:hidden;min-height:80vh;display:flex;align-items:center;justify-content:center;}
.cta-bg{position:absolute;inset:0;z-index:0;}
.cta-bg img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:brightness(.35) saturate(.7);}
.cta-bg-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(205,90,55,.7) 0%,rgba(45,41,38,.85) 60%);}
.cta-inner{position:relative;z-index:1;text-align:center;padding:100px 64px;}
.cta-eyebrow{font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:20px;}
.cta-h2{font-family:'Playfair Display',serif;font-size:clamp(52px,8vw,100px);font-weight:800;color:#fff;line-height:.93;letter-spacing:-4px;margin-bottom:16px;}
.cta-h2 em{font-style:italic;color:rgba(255,255,255,.55);display:block;}
.cta-sub{font-family:'Cormorant Garamond',serif;font-size:26px;font-style:italic;color:rgba(255,255,255,.6);margin-bottom:52px;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-wh{background:#fff;color:var(--rust);border:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:18px 48px;border-radius:50px;cursor:none;transition:transform .3s var(--spring),box-shadow .3s;box-shadow:0 10px 40px rgba(0,0,0,.25);}
.btn-wh:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 20px 50px rgba(0,0,0,.3);}
.btn-ow{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:16px 44px;border-radius:50px;cursor:none;transition:all .3s;}
.btn-ow:hover{border-color:#fff;transform:translateY(-2px);}

/* ═══ FOOTER ═══ */
footer{background:#1a1714;padding:72px 64px 40px;border-top:1px solid rgba(255,255,255,.05);}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.f-brand-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:#fff;margin-bottom:6px;}
.f-brand-script{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:var(--clay);margin-bottom:14px;}
.f-brand-desc{font-size:13px;color:rgba(255,255,255,.3);line-height:1.75;}
.f-col-title{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--clay);margin-bottom:16px;}
.f-links{display:flex;flex-direction:column;gap:9px;}
.f-links a{font-size:13px;color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s;}
.f-links a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.f-copy{font-size:12px;color:rgba(255,255,255,.2);}

/* REVEAL CLASSES */
.rv{opacity:0;transform:translateY(44px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rvl{opacity:0;transform:translateX(-44px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rvr{opacity:0;transform:translateX(44px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rvs{opacity:0;transform:scale(.92);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rv.on,.rvl.on,.rvr.on,.rvs.on{opacity:1;transform:none;}
.d1{transition-delay:.07s;}.d2{transition-delay:.14s;}.d3{transition-delay:.21s;}
.d4{transition-delay:.28s;}.d5{transition-delay:.35s;}.d6{transition-delay:.42s;}

::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:var(--clay);border-radius:2px;}

@media(max-width:1100px){
  .hero-content{grid-template-columns:1fr;}.hero-card{display:none;}
  .about{grid-template-columns:1fr;}.about-right{height:400px;}
  .services-header,.results-header,.process-header{grid-template-columns:1fr;gap:24px;}
  .ret-grid,.tgrid,.cs-duo{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr 1fr;}
  .podcast{grid-template-columns:1fr;}.pod-right{height:50vh;}
  .steps{grid-template-columns:1fr 1fr;}.steps::before{display:none;}
  nav,.hero-content,.about-left,.services-header,.scroll-hint,.retainers,.results-inner,.process-inner,.testimonials,.pod-left,.cta-inner,footer{padding-left:24px;padding-right:24px;}
  .cards-scroll{padding:0 24px;}
  .n-links{display:none;}
  .footer-top{grid-template-columns:1fr;}
}