:root{
--hot:#FF2E7E;--hd:#C7185C;--pale:#FFF0F5;
--ink:#14090E;--gy:#6E5C64;--mu:#A08D95;--ln:#F5E5EC;
--gut:22px;--max:720px;--e:cubic-bezier(.22,.68,.3,1)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#fff;color:var(--ink);font-family:'Jost',system-ui,sans-serif;font-size:12px;font-weight:300;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-align:center}
img{max-width:100%;display:block}
a{color:var(--hd);text-decoration:none}
::selection{background:var(--pale)}
:focus-visible{outline:1.5px solid var(--hot);outline-offset:2px}

/* one strict scale */
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.14}
h1{font-size:24px}
h2{font-size:16px}
h3{font-size:12.5px}
em{font-style:italic;color:var(--hd)}
.lbl{font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:var(--hot);display:block}
.lede{font-size:12px;color:var(--gy);max-width:38ch;margin:0 auto}
.sm{font-size:11px;color:var(--gy)}
.cap{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);display:block}

.shell{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.shell--r{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.spine,.dot{display:none}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln);transition:transform .35s var(--e),box-shadow .35s}
.nav.is-hidden{transform:translateY(-101%)}
.nav.is-stuck{box-shadow:0 4px 18px -14px rgba(20,9,14,.3)}
.nav__in{max-width:var(--max);margin:0 auto;padding:9px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:6px;flex-wrap:wrap;text-align:left}
.brand img{width:15px;height:15px;transition:transform .5s var(--e)}
.brand:hover img{transform:rotate(-10deg) scale(1.1)}
.brand span{font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;letter-spacing:.02em;color:var(--ink)}
.tag{font-size:6.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--hot);width:100%;margin-top:-4px;padding-left:21px}
.menu{display:flex;align-items:center;gap:16px}
.menu a{font-size:10px;letter-spacing:.05em;color:var(--gy);position:relative}
.menu a:not(.cta):after{content:'';position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--hot);transition:width .3s var(--e)}
.menu a:not(.cta):hover:after{width:100%}
.menu a.cta{background:var(--hot);color:#fff;padding:6px 14px;border-radius:99px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;transition:background .3s}
.menu a.cta:hover{background:var(--hd)}
.burger{display:none;flex-direction:column;gap:3.5px;background:0;border:0;cursor:pointer;padding:5px}
.burger span{width:16px;height:1px;background:var(--ink);transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}

.btn{display:inline-block;cursor:pointer;border:0;font-family:inherit;font-size:9px;letter-spacing:.13em;text-transform:uppercase;padding:9px 19px;border-radius:99px;transition:background .3s,color .3s,transform .22s var(--e),box-shadow .3s}
.btn--r{background:var(--hot);color:#fff;box-shadow:0 4px 16px -8px rgba(255,46,126,1)}
.btn--r:hover{background:var(--hd)}
.btn--o{background:0;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ln)}
.btn--o:hover{box-shadow:inset 0 0 0 1px var(--hot);color:var(--hd)}
.btn--w{background:#fff;color:var(--hd)}

/* consistent section rhythm, all white */
.sec{padding:34px 0;border-top:1px solid var(--ln)}
.sec--b{background:#fff}
.hd{margin:0 auto 20px;max-width:40ch}
.hd h2{margin-top:6px}

/* 1 hero */


.hero h1{margin:8px auto 9px;max-width:14ch}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:inline-block;transform:translateY(102%);transition:transform .85s var(--e)}
.hero__pl{display:block;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--hot);margin-top:10px}
.hero__act{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:16px}


.strip{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;justify-content:center;border-top:1px solid var(--ln);margin-top:22px;padding-top:13px;font-size:10px;color:var(--gy)}
.strip b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:13px;color:var(--ink)}
.strip s{text-decoration:none;color:var(--ln)}

/* trio: replaces the old rows, neat and centred */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:600px;margin:0 auto}
.t__i{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0 auto 8px;border-radius:50%;background:var(--pale)}
.t__i svg{width:11px;height:11px;max-width:11px;max-height:11px;display:block;fill:none;stroke:var(--hot);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.trio h3{margin-bottom:3px}
.trio p{color:var(--gy);font-size:11px;max-width:22ch;margin:0 auto}

/* 3 guide */
.split{display:block}
.split figure{max-width:200px;margin:0 auto 16px;overflow:hidden;border-radius:4px}
.split img{width:100%;aspect-ratio:1/1;object-fit:cover}
.work{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;max-width:600px;margin:22px auto 0}
.work figure{overflow:hidden;border-radius:3px}
.work img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s var(--e),opacity .3s}
.work figure:hover img{transform:scale(1.08);opacity:.88}

/* 4 plan */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:600px;margin:0 auto}
.step figure{overflow:hidden;border-radius:4px;margin-bottom:9px}
.step img{width:100%;aspect-ratio:16/10;object-fit:cover}
.step h3{margin:4px 0 2px}
.step p{color:var(--gy);font-size:11px}
.prices{border-top:1px solid var(--ln);max-width:400px;margin:26px auto 0}
.pr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--ln);text-align:left}
.pr__n{font-family:'Cormorant Garamond',Georgia,serif;font-size:12.5px;display:block}
.pr__s{display:block;font-size:10px;color:var(--mu);line-height:1.4}
.pr__f{font-family:'Cormorant Garamond',Georgia,serif;font-size:14px;color:var(--hd);white-space:nowrap;text-align:right}
.pr__f small{font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);display:block}
.pr-note{font-size:10px;color:var(--mu);margin:12px auto 0;max-width:46ch}

/* 5 band */
.band{background:var(--hot);color:#fff;padding:36px 0}
.band .lbl{color:rgba(255,255,255,.85)}
.band h2{margin:7px 0 6px}
.band h2 em{color:#fff}
.band p{color:rgba(255,255,255,.92);margin-bottom:15px;font-size:11px}

/* 7 success */
.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:620px;margin:0 auto}
.q{border-top:1px solid var(--ln);padding-top:13px}
.q p{color:var(--gy);font-size:11px;margin-bottom:10px}
.q__b{display:flex;flex-direction:column;align-items:center;gap:5px}
.q__b img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.q__nm{font-size:10.5px;color:var(--ink)}
.q__m{display:none}

/* footer */
.foot{background:var(--ink);color:#E4D4DB;padding:32px 0 14px}
.foot__g{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px;justify-items:center}
.foot .brand{justify-content:center}
.foot .brand span{color:#fff}
.foot .tag{color:var(--hot);text-align:center;padding-left:0}
.foot p{font-size:10.5px;color:#B49AA4;margin:7px auto 0;max-width:26ch}
.foot h4{font-size:7.5px;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:9px;font-weight:400}
.foot nav{display:flex;flex-direction:column;gap:5px;align-items:center}
.foot nav a{color:#B49AA4;font-size:10.5px;transition:color .3s}
.foot nav a:hover{color:var(--hot)}
.foot__m{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:24px;line-height:.9;color:transparent;-webkit-text-stroke:.6px rgba(255,46,126,.6);margin-top:14px}
.foot__e{border-top:1px solid rgba(255,255,255,.1);padding-top:11px;margin-top:11px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;color:#8B757E}

/* effects */
.trio,.prices,.strip{position:relative}
.prices:before,.strip:before{content:'';position:absolute;top:-1px;left:0;height:1px;width:0;background:var(--hot);transition:width 1s var(--e)}
.prices.vis:before,.strip.vis:before{width:100%}
.wipe img{clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--e)}
.wipe.vis img{clip-path:inset(0 0 0 0)}
.hero.ready h1 .ln:nth-child(1)>span{transform:translateY(0);transition-delay:.05s}
.hero.ready h1 .ln:nth-child(2)>span{transform:translateY(0);transition-delay:.15s}
.rv{opacity:0;transform:translateY(9px);transition:opacity .7s var(--e),transform .7s var(--e)}
.rv.vis{opacity:1;transform:none}
.foot__g>*{opacity:0;transform:translateY(8px);transition:opacity .6s var(--e),transform .6s var(--e)}
.foot__g.vis>*{opacity:1;transform:none}
.foot__g.vis>*:nth-child(2){transition-delay:.07s}
.foot__g.vis>*:nth-child(3){transition-delay:.14s}
.foot__g.vis>*:nth-child(4){transition-delay:.21s}
.foot__m{opacity:0;transform:translateY(10px);transition:opacity .9s var(--e),transform .9s var(--e)}
.foot__m.vis{opacity:1;transform:none}
.inkdot{position:fixed;top:0;left:0;width:4px;height:4px;border-radius:50%;background:var(--hot);pointer-events:none;z-index:90;opacity:0;transition:opacity .4s,width .2s,height .2s;mix-blend-mode:multiply}
@media(hover:none){.inkdot{display:none}}

@media(max-width:640px){
:root{--gut:18px}
.menu{position:fixed;inset:40px 0 auto 0;background:#fff;flex-direction:column;align-items:center;gap:0;padding:6px var(--gut) 14px;border-bottom:1px solid var(--ln);display:none}
.menu.open{display:flex}
.menu a{padding:10px 0;width:100%;font-size:13px;min-height:42px;display:flex;align-items:center;justify-content:center}
.menu a.cta{margin-top:6px;font-size:10px}
.burger{display:flex}
.hero h1{font-size:21px}
.hero__act .btn{flex:1;padding:11px 12px}
.trio{grid-template-columns:1fr;gap:16px}
.steps{grid-template-columns:1fr;gap:14px}
.qs{grid-template-columns:1fr;gap:16px}
.work{grid-template-columns:repeat(4,1fr)}
.foot__g{grid-template-columns:1fr 1fr;gap:16px}
.sec{padding:28px 0}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
.rv,.foot__m,.foot__g>*{opacity:1!important;transform:none!important}
.wipe img{clip-path:none!important}
.hero h1 .ln>span{transform:none!important}
.inkdot{display:none}
html{scroll-behavior:auto}
}

/* ---- hero with full bleed background ---- */
.hero{position:relative;overflow:hidden;padding:0;display:flex;align-items:center;min-height:clamp(340px,52vh,470px)}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.11) translate(-1.2%,-1.2%)}}
.hero__bg:after{content:'';position:absolute;inset:0;background:
  radial-gradient(120% 90% at 50% 45%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 42%,rgba(255,255,255,.6) 72%,rgba(255,255,255,.42) 100%)}
.hero__in{position:relative;z-index:2;padding-top:34px;padding-bottom:30px}
.hero h1{margin:9px auto 10px;max-width:14ch}
.hero .strip{border-top:1px solid rgba(255,46,126,.22)}

/* ---- desktop polish ---- */
@media(min-width:900px){
  :root{--max:760px}
  .sec{padding:40px 0}
  .trio{max-width:640px;gap:26px}
  .work{max-width:640px}
  .steps{max-width:640px;gap:20px}
  .qs{max-width:660px}
  .hero__in{padding-top:44px;padding-bottom:38px}
}

/* ---- mobile polish ---- */
@media(max-width:640px){
  .hero{min-height:auto}
  .hero__in{padding-top:30px;padding-bottom:26px}
  .hero__bg:after{background:radial-gradient(140% 100% at 50% 40%,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.62) 100%)}
  .strip{gap:4px 10px;font-size:9.5px}
  .strip b{font-size:12px}
  .work{grid-template-columns:repeat(4,1fr);gap:4px;max-width:340px}
  .trio p{max-width:26ch}
  .prices{max-width:100%}
  .pr__s{font-size:9.5px}
}
@media(max-width:380px){
  .hero h1{font-size:19px}
  .work{grid-template-columns:repeat(4,1fr)}
  .foot__g{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.hero__bg img{animation:none}}
