/* Mackenzie Stinnett | MackzMethod coaching funnel */
:root{
  --bg:#fdf0f3;
  --blush:#f9dee6;
  --petal:#f3c6d3;
  --rose:#e2678c;
  --rose-deep:#c94672;
  --berry:#6e1d3c;
  --ink:#2a0f1b;
  --muted:#8c5a6c;
  --line:rgba(110,29,60,.14);
  --white:#fffafb;
  --serif:'Instrument Serif', Georgia, serif;
  --sans:'Manrope', system-ui, -apple-system, sans-serif;
  --r:22px;
  --gut:clamp(18px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:transparent;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--rose-deep)}
section{position:relative}

/* soft grain over the whole page */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-deep)}
.eyebrow--light{color:#ffe3ec}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#ff9cbb;box-shadow:0 0 0 0 rgba(255,156,187,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,156,187,0)}100%{box-shadow:0 0 0 0 rgba(255,156,187,0)}}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.2vw,88px);line-height:.98;letter-spacing:-.01em;color:var(--berry);margin-top:14px}
.lede{color:var(--muted);font-size:clamp(16px,1.3vw,18px);max-width:46ch;margin-top:18px}

.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;background:var(--berry);color:var(--white);font-weight:700;font-size:15px;letter-spacing:.01em;transition:transform .35s var(--ease),background .3s,box-shadow .35s;box-shadow:0 10px 30px -12px rgba(110,29,60,.55)}
.btn:hover{transform:translateY(-2px);background:var(--rose-deep)}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn--sm{padding:10px 18px;font-size:13px}
.btn--lg{padding:20px 32px;font-size:16px}
.btn--light{background:var(--white);color:var(--berry);box-shadow:0 14px 40px -14px rgba(0,0,0,.45)}
.btn--light:hover{background:#ffe6ee;color:var(--berry)}
.link-light{color:#ffe9f0;font-weight:600;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,233,240,.5);padding-bottom:2px}

/* NAV */
.nav{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:60;width:min(1180px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 10px 10px 22px;border-radius:999px;transition:background .4s,box-shadow .4s,backdrop-filter .4s}
.nav.is-solid{background:rgba(253,240,243,.78);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 8px 30px -18px rgba(110,29,60,.5),inset 0 0 0 1px rgba(255,255,255,.6)}
.nav__mark{font-family:var(--serif);font-size:26px;line-height:1;text-decoration:none;color:var(--white);transition:color .4s}
.nav__mark span{font-style:italic;color:#ffb8cc;transition:color .4s}
.nav.is-solid .nav__mark{color:var(--berry)}
.nav.is-solid .nav__mark span{color:var(--rose)}
.nav__social{display:flex;gap:4px;margin-left:auto}
.nav__social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--white);transition:background .3s,color .4s}
.nav.is-solid .nav__social a{color:var(--berry)}
.nav__social a:hover{background:rgba(255,255,255,.18)}
.nav.is-solid .nav__social a:hover{background:var(--blush)}
.nav__social svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav__social svg .fill{fill:currentColor;stroke:none}

/* HERO */
.hero{height:100svh;min-height:620px;overflow:hidden;isolation:isolate}
/* the video and its backdrop fade out to transparent at the bottom so the pink page shows through, no seam above the codes.
   The copy is not masked, so the buttons stay solid. */
.hero__fill,.hero__media,.hero__tint{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 62%,rgba(0,0,0,.5) 80%,rgba(0,0,0,.12) 92%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 62%,rgba(0,0,0,.5) 80%,rgba(0,0,0,.12) 92%,transparent 100%)}
.hero__fill{background-color:#1e0d14}
.hero__fill{position:absolute;inset:-60px -60px 0 -60px;background:url(/assets/img/hero-v2.jpg) center 30%/cover;filter:blur(40px) saturate(1.3) brightness(.7)}
.hero__media{position:absolute;inset:0;display:flex;justify-content:center}
.hero__video{height:100%;width:100%;object-fit:cover;object-position:50% 30%}
.hero__tint{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(42,15,27,.35) 0%,rgba(42,15,27,0) 22%,rgba(42,15,27,0) 45%,rgba(110,29,60,.5) 74%,rgba(253,240,243,.55) 100%),
    linear-gradient(120deg,rgba(226,103,140,.28),rgba(226,103,140,0) 60%)}
@media (max-width:859px){
  .hero__media{top:0;bottom:0}
  .hero__copy{bottom:44px}
  .hero__scroll{display:none}
}
@media (min-width:860px){
  .hero__media{justify-content:flex-end;padding-right:6vw}
  .hero__video{width:auto;aspect-ratio:9/16;object-fit:cover;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%)}
}
.hero__copy{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(70px,11vh,120px);z-index:3;color:var(--white);max-width:1180px;margin:0 auto}
.hero__title{font-family:var(--serif);font-weight:400;line-height:.86;font-size:clamp(68px,13.5vw,210px);letter-spacing:-.02em;margin:14px 0 18px;text-shadow:0 10px 50px rgba(42,15,27,.35)}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .line > span{display:inline-block}
.hero__title .line--it{font-style:italic;color:#ffc6d6;padding-left:.6em}
.hero__sub{max-width:40ch;font-size:clamp(15px,1.25vw,18px);color:#ffeef3;opacity:.95}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px}
.hero__social{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero__social a{display:inline-flex;align-items:center;gap:8px;padding:9px 15px 9px 11px;border-radius:999px;color:var(--white);font-size:13px;font-weight:700;text-decoration:none;
  background:rgba(110,29,60,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,233,240,.35);transition:background .3s,transform .35s var(--ease)}
.hero__social a:hover{background:rgba(110,29,60,.62);transform:translateY(-2px)}
.hero__social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero__social svg .fill{fill:currentColor;stroke:none}
.hero__scroll{position:absolute;right:var(--gut);bottom:34px;z-index:3;width:1px;height:64px;background:rgba(110,29,60,.18);overflow:hidden}
.hero__scroll span{position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--berry);animation:drip 2s var(--ease) infinite}
@keyframes drip{to{top:110%}}

/* CODES */
.codes{padding:20px var(--gut) clamp(60px,9vw,120px);max-width:1180px;margin:0 auto;isolation:isolate}
.codes__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.codes__note{font-size:14px;color:var(--muted)}
.codes__row{display:grid;gap:16px}
@media (min-width:760px){.codes__row{grid-template-columns:1fr 1fr}}
.ticket{position:relative;display:grid;grid-template-columns:1fr auto;align-items:stretch;text-align:left;padding:0;border-radius:var(--r);background:var(--white);overflow:hidden;
  box-shadow:0 20px 40px -28px rgba(110,29,60,.5),inset 0 0 0 1px var(--line);transition:transform .45s var(--ease),box-shadow .45s;
  -webkit-mask:radial-gradient(circle 12px at calc(100% - 132px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 12px at calc(100% - 132px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 12px at calc(100% - 132px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 12px at calc(100% - 132px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat}
.ticket:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 30px 50px -28px rgba(110,29,60,.6),inset 0 0 0 1px var(--line)}
.ticket::before{content:"";position:absolute;top:16px;bottom:16px;right:132px;border-left:2px dashed var(--petal);pointer-events:none}
.ticket--alt{background:linear-gradient(135deg,#ffe3ec,#fbd0dd)}
.ticket__shop{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:22px 20px 20px 26px;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.ticket__copy{width:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:18px 11px 14px;border:0;background:transparent;font:inherit;color:inherit;cursor:copy;-webkit-tap-highlight-color:transparent;transition:background .25s}
.ticket__copy:hover,.ticket__copy:focus-visible{background:rgba(201,74,115,.07)}
.ticket__copy:active{background:rgba(201,74,115,.14)}
.ticket__tap{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ticket__brand{font-family:var(--serif);font-size:clamp(28px,3vw,38px);line-height:1;color:var(--berry)}
.ticket__what{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.ticket__off{font-family:var(--serif);font-size:46px;line-height:.9;color:var(--rose-deep)}
.ticket__off small{font-family:var(--sans);font-size:12px;font-weight:700;margin-left:2px;letter-spacing:.05em}
.ticket__code{font-weight:800;letter-spacing:.2em;font-size:13px;padding:5px 10px;border-radius:8px;background:var(--berry);color:var(--white)}
.ticket__go{margin-top:10px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);opacity:.85;transition:opacity .3s,transform .35s var(--ease)}
.ticket__shop:hover .ticket__go{opacity:1;transform:translateX(3px)}
.ticket__stamp{position:absolute;right:66px;top:50%;transform:translate(50%,-50%) rotate(-12deg) scale(1.6);opacity:0;font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:14px;color:var(--rose-deep);border:2px solid var(--rose-deep);padding:6px 12px;border-radius:8px;background:rgba(255,250,251,.9);pointer-events:none;transition:transform .4s var(--ease),opacity .3s}
.ticket.is-copied .ticket__stamp{opacity:1;transform:translate(50%,-50%) rotate(-12deg) scale(1)}
.codes__shop{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;font-size:14px;font-weight:600}
.codes__shop a{color:var(--berry);text-decoration:none;border-bottom:1px solid var(--petal)}

/* BACKGROUND AURA: slow drifting pink light behind everything */
.aura{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--bg)}
.aura i{position:absolute;width:70vmax;height:70vmax;border-radius:50%;opacity:.75;will-change:transform}
.aura i:nth-child(1){left:-25vmax;top:-20vmax;background:radial-gradient(circle,#ffc3d4 0,rgba(255,195,212,0) 62%);animation:driftA 26s ease-in-out infinite alternate}
.aura i:nth-child(2){right:-30vmax;top:10vh;background:radial-gradient(circle,#f8a8c0 0,rgba(248,168,192,0) 60%);opacity:.55;animation:driftB 32s ease-in-out infinite alternate}
.aura i:nth-child(3){left:10vw;bottom:-35vmax;background:radial-gradient(circle,#ffd9c9 0,rgba(255,217,201,0) 60%);opacity:.6;animation:driftC 28s ease-in-out infinite alternate}
.aura i:nth-child(4){right:5vw;bottom:-10vmax;width:45vmax;height:45vmax;background:radial-gradient(circle,#e98fb0 0,rgba(233,143,176,0) 62%);opacity:.35;animation:driftA 22s ease-in-out infinite alternate-reverse}
@keyframes driftA{to{transform:translate(18vw,22vh) scale(1.15)}}
@keyframes driftB{to{transform:translate(-22vw,30vh) scale(.9)}}
@keyframes driftC{to{transform:translate(25vw,-18vh) scale(1.1)}}

/* giant outlined words behind sections */
.bgword{position:absolute;left:50%;top:clamp(10px,4vw,50px);transform:translateX(-50%);white-space:nowrap;pointer-events:none;z-index:-1;
  font-family:var(--serif);font-style:italic;font-size:clamp(120px,24vw,360px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(201,70,114,.22)}
.bgword--talk{-webkit-text-stroke-color:rgba(201,70,114,.2)}

/* floating glossy orbs and chrome rings */
.deco{position:absolute;pointer-events:none;z-index:0;height:auto;aspect-ratio:1;filter:drop-shadow(0 24px 30px rgba(122,34,69,.3))}
.deco--a{right:5%;top:14%;width:clamp(80px,10vw,150px);transform:rotate(-20deg) scaleY(.55)}
.deco--b{left:3%;top:-46px;width:clamp(60px,7vw,100px);z-index:3}
.deco--c{right:4%;top:-26px;width:clamp(40px,4vw,62px)}
.deco--d{left:-2%;top:30px;width:clamp(70px,8vw,120px);transform:rotate(25deg) scaleY(.6)}
@media (max-width:700px){.deco--a{top:30px;right:4%}.deco--d{top:30px;left:auto;right:4%}}

/* spinning text badge */
.spin{position:absolute;width:clamp(96px,10vw,130px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--berry);color:#ffd1de;box-shadow:0 18px 40px -16px rgba(110,29,60,.7)}
.spin svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 14s linear infinite}
.spin text{font-family:var(--sans);font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;fill:#ffd1de}
.spin span{font-size:24px;color:#ff9cbb}
@keyframes spin{to{transform:rotate(360deg)}}

/* TRANSFORMATION */
.tf{padding:clamp(70px,10vw,140px) var(--gut);max-width:1180px;margin:0 auto;text-align:center;isolation:isolate}
.tf__head .lede{margin-left:auto;margin-right:auto}
.tf__stage{position:relative;display:flex;justify-content:center;align-items:center;margin-top:clamp(40px,6vw,70px);min-height:clamp(260px,46vw,560px)}
.tf__card{position:relative;width:min(40vw,380px);aspect-ratio:4/5;margin:0;border-radius:24px;overflow:hidden;background:var(--petal);
  box-shadow:0 40px 70px -40px rgba(110,29,60,.75),0 0 0 6px rgba(255,250,251,.85)}
.tf__card img{width:100%;height:100%;object-fit:cover}
.tf__card--then{transform:rotate(-6deg) translateX(8%);z-index:1}
.tf__card--then img{filter:saturate(.7) contrast(.95)}
.tf__card--now{transform:rotate(5deg) translateX(-8%) translateY(18px);z-index:2}
.tf__card figcaption{position:absolute;left:14px;bottom:14px;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:rgba(255,250,251,.92);color:var(--berry)}
.tf__card--now figcaption{left:auto;right:14px;background:var(--berry);color:var(--white)}
.tf__spin{left:50%;top:50%;margin:calc(clamp(96px,10vw,130px) / -2) 0 0 calc(clamp(96px,10vw,130px) / -2);z-index:3}

/* ABOUT: full-bleed berry band */
.about{padding:clamp(150px,14vw,210px) var(--gut);color:#ffe9f0;isolation:isolate;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6) 60px,#000 130px,#000 calc(100% - 130px),rgba(0,0,0,.6) calc(100% - 60px),transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6) 60px,#000 130px,#000 calc(100% - 130px),rgba(0,0,0,.6) calc(100% - 60px),transparent 100%);
  background:radial-gradient(ellipse 60% 70% at 15% 30%,rgba(242,139,171,.55),transparent 70%),radial-gradient(ellipse 50% 60% at 90% 90%,rgba(201,70,114,.6),transparent 70%),linear-gradient(160deg,#7a2245,#4a1229 60%,#2a0f1b)}
.about::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:radial-gradient(circle at 70% 20%,rgba(255,209,222,.25),transparent 30%)}
.about__inner{max-width:1180px;margin:0 auto;display:grid;gap:56px;align-items:start}
@media (min-width:900px){.about__inner{grid-template-columns:.85fr 1fr;gap:90px}.about__media{position:sticky;top:110px}}
.about__media{position:relative;max-width:480px;width:100%;margin:0 auto}
.about__media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%;
  -webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 45%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 62% 58% at 50% 45%,#000 50%,transparent 100%)}
.about__spin{right:2%;bottom:10%;background:#ffd1de;color:var(--berry)}
.about__spin text{fill:var(--berry)}
.about__spin span{color:var(--rose-deep)}
.about__title{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.2vw,60px);line-height:1.02;color:var(--white);margin-top:14px}
.about__title em{color:#ff9cbb}
.about__lead{margin-top:22px;display:grid;gap:14px;font-size:clamp(16px,1.25vw,18px);color:#f7d3df;max-width:52ch}
.about__strong{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,30px);line-height:1.15;color:#ffd1de}
/* her story as a timeline */
.story{list-style:none;margin-top:40px;position:relative;padding-left:30px}
.story::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#ff9cbb,rgba(255,156,187,.15))}
.story li{position:relative;padding-bottom:30px}
.story li:last-child{padding-bottom:0}
.story li::before{content:"";position:absolute;left:-30px;top:5px;width:14px;height:14px;border-radius:50%;background:#2a0f1b;box-shadow:inset 0 0 0 3px #ff9cbb}
.story li:last-child::before{background:#ff9cbb;box-shadow:0 0 0 6px rgba(255,156,187,.2)}
.story__when{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#ff9cbb}
.story h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,32px);line-height:1.05;color:var(--white);margin:6px 0 8px}
.story p{color:#f1c6d4;font-size:15.5px;line-height:1.65;max-width:54ch}
.story p + p{margin-top:10px}

/* faith line under the method cards */
.faith{margin:60px auto 0;max-width:760px;text-align:center}
.faith__mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:50%;background:var(--berry);color:#ffd1de;font-size:24px}
.faith p{font-family:var(--serif);font-size:clamp(26px,3vw,40px);line-height:1.15;color:var(--berry)}

/* coaching philosophy extras */
.szn__label{margin-top:28px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-deep)}
.szn__label + .checks{margin-top:8px}
.szn__note{margin-top:22px;color:var(--muted);font-size:clamp(15px,1.15vw,17px);max-width:50ch}
.pull{grid-column:1/-1;order:3;margin-top:clamp(20px,4vw,50px);padding:clamp(30px,5vw,60px) clamp(24px,5vw,70px);border-radius:32px;text-align:center;
  background:radial-gradient(ellipse at 20% 0%,rgba(242,139,171,.5),transparent 60%),linear-gradient(150deg,#7a2245,#3a0f22);box-shadow:0 40px 80px -50px rgba(110,29,60,.8)}
.pull p{font-family:var(--serif);font-size:clamp(28px,3.6vw,52px);line-height:1.08;color:var(--white);max-width:24ch;margin:0 auto}
.pull em{color:#ff9cbb}

/* REAL TALK */
.talk{padding:clamp(60px,10vw,130px) 0;overflow:hidden;isolation:isolate}
.talk__head{padding:0 var(--gut);max-width:1180px;margin:0 auto}
.talk__rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:46px var(--gut) 30px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.talk__rail::-webkit-scrollbar{display:none}
@media (min-width:1100px){.talk__rail{justify-content:center;overflow:visible}}
.reel{position:relative;flex:0 0 clamp(220px,62vw,270px);aspect-ratio:9/16;border-radius:26px;overflow:hidden;scroll-snap-align:center;background:var(--petal);text-align:left;
  box-shadow:0 30px 60px -36px rgba(110,29,60,.75);transition:transform .6s var(--ease),box-shadow .6s;transform:rotate(var(--rot,0deg)) translateY(var(--ty,0px))}
.reel:nth-child(1){--rot:-4deg;--ty:14px}.reel:nth-child(2){--rot:2deg}.reel:nth-child(3){--rot:-2deg;--ty:-10px}.reel:nth-child(4){--rot:4deg;--ty:12px}
.reel:hover,.reel.is-live{transform:rotate(0) translateY(-10px) scale(1.03);box-shadow:0 40px 70px -36px rgba(110,29,60,.85);z-index:2}
.reel video{width:100%;height:100%;object-fit:cover}
.reel__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,15,27,.25),transparent 30%,transparent 50%,rgba(42,15,27,.82))}
.reel__num{position:absolute;top:16px;left:18px;font-weight:800;font-size:12px;letter-spacing:.16em;color:var(--white)}
.reel__title{position:absolute;left:18px;right:18px;bottom:20px;font-family:var(--serif);font-size:28px;line-height:1.02;color:var(--white)}
.reel__play{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;background:rgba(255,250,251,.92);display:grid;place-items:center;transition:transform .4s var(--ease)}
.reel__play svg{width:16px;height:16px;fill:var(--berry);margin-left:2px}
.reel:hover .reel__play{transform:scale(1.12)}
.talk__more{text-align:center;font-weight:600;font-size:14px}
.talk__more a{color:var(--berry);text-decoration:none;border-bottom:1px solid var(--petal)}

/* METHOD stacked cards */
.method{padding:clamp(60px,10vw,130px) var(--gut);max-width:1000px;margin:0 auto;isolation:isolate}
.stack{margin-top:50px;display:grid;gap:22px}
.stack__card{position:sticky;top:calc(96px + var(--i) * 18px);display:grid;grid-template-columns:auto 1fr;gap:18px 26px;align-items:start;padding:clamp(26px,4vw,46px);border-radius:28px;background:var(--white);min-height:clamp(220px,28vw,280px);
  box-shadow:0 -10px 40px -30px rgba(110,29,60,.5),inset 0 0 0 1px var(--line);transform-origin:50% 0}
.stack__card:nth-child(2){background:#ffe8ef}
.stack__card:nth-child(3){background:#fcd6e1}
.stack__card:nth-child(4){background:var(--berry);color:var(--white)}
.stack__card:nth-child(4) h3,.stack__card:nth-child(4) .stack__n{color:#ffc6d6}
.stack__card:nth-child(4) p{color:#f7dbe4}
.stack__n{font-family:var(--serif);font-style:italic;font-size:clamp(46px,6vw,74px);line-height:.85;color:var(--rose)}
.stack__card h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1;color:var(--berry)}
.stack__card p{margin-top:12px;color:#5a3443;max-width:46ch;font-size:clamp(15px,1.2vw,18px)}
.stack__tag{position:absolute;right:clamp(22px,3vw,40px);bottom:clamp(18px,3vw,32px);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;opacity:.5}

/* GROWTH SZN */
.szn{padding:clamp(60px,10vw,130px) var(--gut);max-width:1180px;margin:0 auto;display:grid;gap:44px;align-items:center}
@media (min-width:900px){.szn{grid-template-columns:1fr .8fr;gap:80px}.szn__video{order:2}}
.szn__video{position:relative;max-width:420px;margin:0 auto;width:100%}
.szn__video video{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:50% 20%;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 55%,transparent 100%)}
.checks{list-style:none;margin-top:28px;display:grid;gap:4px}
.checks li{position:relative;padding:16px 0 16px 40px;border-bottom:1px solid var(--line);font-size:clamp(16px,1.3vw,19px);color:#4a2534}
.checks li::before{content:"";position:absolute;left:0;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}

/* STEPS */
.steps{padding:clamp(60px,9vw,120px) var(--gut);max-width:1180px;margin:0 auto;isolation:isolate}
.steps__list{list-style:none;display:grid;gap:18px;margin-top:44px}
@media (min-width:860px){.steps__list{grid-template-columns:repeat(3,1fr)}}
.steps__list li{position:relative;padding:30px 28px 32px;border-radius:24px;background:rgba(255,250,251,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line)}
.steps__n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--blush);color:var(--berry);font-family:var(--serif);font-size:26px;font-style:italic}
.steps__list h3{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1;color:var(--berry);margin-top:22px}
.steps__list p{color:var(--muted);margin-top:10px}

/* FINAL */
/* the whole section fades in from transparent at the top, so the pink page shows through and there is no seam */
.final{min-height:calc(100svh + 24vh);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#2a0f1b;padding-top:30vh;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.25) 8vh,rgba(0,0,0,.75) 17vh,#000 26vh);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.25) 8vh,rgba(0,0,0,.75) 17vh,#000 26vh)}
.final__video{position:absolute;top:22vh;left:0;right:0;bottom:0;width:100%;height:calc(100% - 22vh);object-fit:cover;object-position:50% 35%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(180deg,transparent 0,#000 16%)}
@media (min-width:860px){
  .final{background:radial-gradient(ellipse at 50% 30%,#8e3a58,#2a0f1b 70%)}
  .final__video{margin:0 auto;width:auto;aspect-ratio:9/16;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent),linear-gradient(180deg,transparent 0,#000 16%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent),linear-gradient(180deg,transparent 0,#000 16%);mask-composite:intersect}
}
.final__fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,15,27,0) 0%,rgba(42,15,27,0) 45%,rgba(42,15,27,.85) 86%,#2a0f1b 100%)}
.final__copy{position:relative;z-index:2;text-align:center;color:var(--white);padding:0 var(--gut) clamp(60px,10vh,110px)}
.final__title{font-family:var(--serif);font-weight:400;font-size:clamp(64px,11vw,170px);line-height:.9;letter-spacing:-.02em;margin:14px 0 14px}
.final__title em{color:#ffc6d6}
.final__sub{color:#ffe3ec;max-width:36ch;margin:0 auto 30px;font-size:clamp(16px,1.3vw,19px)}

/* FOOTER */
.foot{background:#2a0f1b;color:#f7dbe4;padding:clamp(60px,8vw,100px) var(--gut) 40px}
.foot__big{font-family:var(--serif);font-size:clamp(56px,10vw,150px);line-height:.9;color:var(--white);max-width:1180px;margin:0 auto}
.foot__big em{color:#ff9cbb}
.foot__cols{max-width:1180px;margin:50px auto 0;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.foot__cols a{display:block;text-decoration:none;color:#f7dbe4;padding:3px 0;font-size:15px}
.foot__cols a:hover{color:var(--white)}
.foot__label{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#ff9cbb;margin-bottom:10px}
.foot__fine{max-width:1180px;margin:50px auto 0;padding-top:22px;border-top:1px solid rgba(247,219,228,.14);font-size:13px;color:#b78a9b}

/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:120;background:rgba(42,15,27,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}
.lb[hidden]{display:none}
.lb__inner{width:min(400px,100%);display:flex;flex-direction:column;align-items:center}
.lb__inner video{width:100%;max-height:78svh;aspect-ratio:9/16;object-fit:cover;border-radius:24px;background:#000}
.lb__title{font-family:var(--serif);font-size:28px;color:var(--white);margin-top:16px;text-align:center}
.lb__x{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--berry);font-size:28px;line-height:1}

/* APPLICATION */
.app{position:fixed;inset:0;z-index:130;background:rgba(42,15,27,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:14px}
.app[hidden]{display:none}
.app__panel{width:min(620px,100%);max-height:calc(100svh - 28px);overflow:auto;background:var(--bg);border-radius:28px;padding:22px clamp(20px,4vw,40px) 28px;box-shadow:0 40px 100px -40px rgba(42,15,27,.8)}
.app__top{display:flex;justify-content:space-between;align-items:center}
.app__brand{font-family:var(--serif);font-size:20px;color:var(--berry)}
.app__brand span{font-style:italic;color:var(--rose)}
.app__x{width:40px;height:40px;border-radius:50%;background:var(--white);color:var(--berry);font-size:24px;line-height:1;box-shadow:inset 0 0 0 1px var(--line)}
.app__bar{height:4px;border-radius:4px;background:var(--blush);margin:18px 0 28px;overflow:hidden}
.app__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rose),var(--rose-deep));border-radius:4px;transition:width .5s var(--ease)}
.app__count{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-deep)}
.app__q{font-family:var(--serif);font-weight:400;font-size:clamp(32px,5vw,44px);line-height:1.02;color:var(--berry);margin:10px 0 8px}
.app__help{color:var(--muted);font-size:15px;margin-bottom:20px}
.field{display:block;margin-bottom:14px}
.field span{display:block;font-size:13px;font-weight:700;color:var(--berry);margin-bottom:6px}
.field input,.field textarea{width:100%;font:inherit;font-size:16px;padding:15px 16px;border-radius:16px;border:1.5px solid var(--petal);background:var(--white);color:var(--ink);outline:none;transition:border-color .25s,box-shadow .25s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(226,103,140,.15)}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--petal);text-align:left;font-weight:600;color:var(--berry);transition:box-shadow .25s,background .25s,transform .25s}
.opt:hover{transform:translateY(-1px)}
.opt::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--petal);transition:box-shadow .25s,background .25s}
.opt.is-on{background:#ffe8ef;box-shadow:inset 0 0 0 2px var(--rose)}
.opt.is-on::before{background:var(--rose);box-shadow:inset 0 0 0 4px #ffe8ef,0 0 0 2px var(--rose)}
.app__err{min-height:22px;color:var(--rose-deep);font-size:14px;font-weight:600;margin-top:6px}
.app__nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.app__back{font-weight:700;color:var(--muted);padding:10px 4px}
.app__back[disabled]{visibility:hidden}
.app__done{text-align:center;padding:20px 0 10px}
.app__done .big{font-family:var(--serif);font-size:clamp(44px,7vw,64px);line-height:1;color:var(--berry)}
.app__done p{color:var(--muted);margin:14px auto 0;max-width:38ch}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media (max-width:700px){
  .tf__card{width:47vw}
  .tf__spin{top:auto;bottom:-14px;width:84px;margin:0 0 0 -42px}
  .tf__stage{padding-bottom:50px}
}

/* YOUTUBE */
.yt{padding:clamp(60px,10vw,130px) var(--gut);max-width:1180px;margin:0 auto;isolation:isolate}
.bgword--yt{top:clamp(20px,5vw,60px)}
.yt__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.yt__sub{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--berry);color:var(--white);font-weight:700;font-size:14px;text-decoration:none;transition:transform .35s var(--ease),background .3s}
.yt__sub:hover{transform:translateY(-2px);background:var(--rose-deep)}
.yt__sub svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.yt__sub svg .fill{fill:currentColor;stroke:none}
.yt__grid{display:grid;gap:18px;margin-top:40px}
@media (min-width:960px){.yt__grid{grid-template-columns:1.7fr 1fr;gap:22px;align-items:start}}
.yt__player{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#2a0f1b;box-shadow:0 40px 80px -46px rgba(110,29,60,.8),0 0 0 6px rgba(255,250,251,.7)}
.yt__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt__facade{position:absolute;inset:0;width:100%;height:100%;text-align:left}
.yt__facade img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.yt__facade:hover img{transform:scale(1.04)}
.yt__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,15,27,.2),transparent 40%,rgba(42,15,27,.85))}
.yt__new{position:absolute;top:16px;left:16px;padding:6px 12px;border-radius:999px;background:var(--rose);color:var(--white);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.yt__play{position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;background:rgba(255,250,251,.94);display:grid;place-items:center;animation:ytring 2.4s infinite;transition:transform .4s var(--ease)}
.yt__facade:hover .yt__play{transform:scale(1.08)}
.yt__play svg{width:28px;height:28px;fill:var(--berry);margin-left:4px}
@keyframes ytring{0%{box-shadow:0 0 0 0 rgba(255,250,251,.5)}70%{box-shadow:0 0 0 18px rgba(255,250,251,0)}100%{box-shadow:0 0 0 0 rgba(255,250,251,0)}}
.yt__ft{position:absolute;left:clamp(16px,2.5vw,28px);right:clamp(16px,2.5vw,28px);bottom:clamp(14px,2.2vw,24px);font-family:var(--serif);font-size:clamp(22px,2.6vw,36px);line-height:1.05;color:var(--white)}
.yt__list{display:grid;gap:10px}
@media (max-width:959px){.yt__list{grid-auto-flow:column;grid-auto-columns:minmax(240px,72%);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}.yt__list::-webkit-scrollbar{display:none}}
.yt__item{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;padding:10px;border-radius:18px;text-align:left;scroll-snap-align:start;background:rgba(255,250,251,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s var(--ease),box-shadow .3s,background .3s}
.yt__item:hover{transform:translateX(4px)}
.yt__item.is-on{background:var(--white);box-shadow:inset 0 0 0 2px var(--rose)}
.yt__thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--petal)}
.yt__thumb img{width:100%;height:100%;object-fit:cover}
.yt__item.is-on .yt__thumb::after{content:"On now";position:absolute;right:6px;bottom:6px;padding:3px 7px;border-radius:6px;background:var(--berry);color:var(--white);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.yt__t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:700;font-size:14px;line-height:1.3;color:var(--berry)}
.yt__d{display:block;margin-top:4px;font-size:12px;color:var(--muted)}


/* PHONE TUNING */
@media (max-width:700px){
  /* socials live in the hero on phones, so the bar keeps room for Apply */
  .nav__social{display:none}
  .nav{padding:8px 8px 8px 18px}
  .hero__social{gap:8px}
  .hero__social a{padding:9px 13px 9px 10px}
  .ticket__brand{font-size:26px}
  .stack__card{padding-bottom:52px}
  /* bigger tap areas on text links */
  .codes__shop a,.talk__more a,.link-light{display:inline-block;padding:10px 0}
  .codes__shop{gap:6px 22px}
  .foot__cols a{padding:8px 0}
  /* closing video: taller so her face sits above the text, darker behind the copy */
  .final{min-height:calc(118svh + 22vh)}
  .final__video{object-position:50% 8%}
  .final__fade{background:linear-gradient(180deg,rgba(42,15,27,0) 0%,rgba(42,15,27,0) 38%,rgba(42,15,27,.7) 62%,rgba(42,15,27,.94) 88%,#2a0f1b 100%)}
  .final__title{font-size:clamp(56px,16vw,80px)}
}
/* short phones (iPhone SE and similar): keep the hero copy clear of the top bar */
@media (max-width:700px) and (max-height:740px){
  .hero{min-height:0}
  .hero__copy{bottom:28px}
  .hero__copy .eyebrow{font-size:10.5px;letter-spacing:.14em}
  .hero__title{font-size:56px;margin:10px 0 12px}
  .hero__sub{font-size:14.5px}
  .hero__cta{margin-top:16px;gap:16px}
  .hero__cta .btn{padding:14px 22px}
  .hero__social{margin-top:14px}
  .hero__social a{padding:7px 12px 7px 9px;font-size:12px}
}
