:root{--ink:#17213d;--ink2:#4b5270;--mute:#6b7090;--pink:#c2125f;--pink-d:#a30f50;--pink-l:#ff7fb4;--blush:#fbe1ec;--paper:#fbf7f5;--sand:#f4e9e5;--green:#157a47;--r:20px;--serif:"Instrument Serif",Georgia,serif;--sans:"Manrope",system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px;padding-bottom:84px}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.narrow{max-width:760px}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:6px}

/* top */
.top{position:sticky;top:0;z-index:20;background:rgb(251 247 245/.86);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgb(23 33 61/.07)}
.top-in{display:flex;justify-content:space-between;align-items:center;height:58px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:.95rem;text-decoration:none;letter-spacing:-.01em}
.dot{width:12px;height:12px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px var(--blush)}
.top-link{font-weight:700;font-size:.9rem;text-decoration:none;color:var(--pink-d)}

/* hero */
.hero{padding:28px 0 56px;background:radial-gradient(900px 480px at 85% 0,var(--blush),transparent 70%),radial-gradient(600px 400px at 0 100%,var(--sand),transparent 70%)}
.hero-grid{display:grid;gap:30px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--pink-d);background:#fff;border:1px solid var(--blush);padding:8px 14px;border-radius:99px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--pink);animation:p 2s infinite}
@keyframes p{50%{box-shadow:0 0 0 7px rgb(194 18 95/0)}0%{box-shadow:0 0 0 0 rgb(194 18 95/.45)}}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.015em}
h1{font-size:clamp(2.9rem,11.5vw,5.6rem);margin:18px 0 16px}
h1 em{color:var(--pink);font-style:italic}
.lead{font-size:1.1rem;color:var(--ink2);max-width:34ch}
.buy{margin-top:26px;display:grid;gap:14px;padding:20px;background:#fff;border-radius:var(--r);box-shadow:0 30px 60px -36px rgb(23 33 61/.4),0 0 0 1px rgb(23 33 61/.06)}
.price{display:flex;align-items:center;gap:14px}
.price-v{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--ink)}
.price-s{font-size:.88rem;color:var(--ink2);font-weight:600;line-height:1.35}
.price-s small{font-weight:500;color:var(--mute)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:99px;font-weight:800;font-size:1rem;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-family:inherit}
.btn-main{background:var(--pink);color:#fff;box-shadow:0 14px 28px -12px rgb(194 18 95/.7)}
.btn-main:hover{background:var(--pink-d);transform:translateY(-2px)}
.btn-wa{background:var(--green);color:#fff;width:100%;box-shadow:0 14px 28px -14px rgb(21 122 71/.8)}
.btn-wa:hover{transform:translateY(-2px);background:#10633a}
.micro{font-size:.8rem;color:var(--mute)}
.ship{margin-top:18px;font-weight:700}
.bulk{display:inline-block;margin-top:4px;color:var(--pink-d);font-weight:700;text-underline-offset:4px}
.flow-line{margin-top:18px;color:var(--ink2);max-width:46ch}
.trust{list-style:none;padding:0;margin-top:16px;display:grid;gap:8px;font-weight:600;font-size:.93rem}
.trust li{display:flex;gap:10px;align-items:center}
.trust li::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain;flex:none}

.hero-fig{position:relative;order:-1}
.zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -40px rgb(23 33 61/.55),0 0 0 6px #fff}
.zoom img{width:100%;aspect-ratio:1;object-fit:cover}
.tag{position:absolute;background:#fff;color:var(--ink);font-size:.78rem;font-weight:800;padding:7px 13px;border-radius:99px;box-shadow:0 10px 24px -10px rgb(23 33 61/.5)}
.tag-a{left:-4px;top:46%}
.tag-c{right:-4px;bottom:26%}
figcaption{margin-top:16px;font-size:.82rem;color:var(--mute)}
.tap{display:block;font-weight:700;color:var(--ink2)}

/* sections */
.sec{padding:72px 0}
.sec-soft{background:var(--sand)}
.sec-ink{background:var(--ink);color:#fff}
.sec-ink .sub{color:#c8cde0}
h2{font-size:clamp(2.2rem,7vw,3.6rem)}
.eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--pink-d);margin-bottom:14px}
.sub{margin-top:16px;color:var(--ink2);max-width:60ch;font-size:1.05rem}
.three{list-style:none;padding:0;margin-top:36px;display:grid;gap:16px}
.three li,.three-plain>div{background:#fff;padding:26px;border-radius:var(--r);box-shadow:0 0 0 1px rgb(23 33 61/.06)}
.three-plain{margin-top:30px}
.num{font-family:var(--serif);font-size:2.6rem;color:var(--pink);line-height:1}
h3{font-size:1.15rem;line-height:1.25;margin:10px 0 8px;letter-spacing:-.01em}
.three p,.steps p,.plan p{color:var(--ink2)}
.where{margin-top:26px;padding:18px 22px;background:#fff;border-left:4px solid var(--pink);border-radius:12px}

.steps{list-style:none;padding:0;margin-top:36px;display:grid;gap:0;position:relative}
.steps li{position:relative;padding:0 0 30px 38px;border-left:2px solid var(--blush);margin-left:8px}
.steps li::before{content:"";position:absolute;left:-9px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 5px var(--blush)}
.steps li:last-child{border-left-color:transparent}
.when{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--pink-d)}
.steps h3{margin-top:4px}

.prod{display:grid;gap:34px;align-items:center}
.spec{display:grid;gap:0;border-radius:var(--r);overflow:hidden;background:rgb(255 255 255/.06);box-shadow:inset 0 0 0 1px rgb(255 255 255/.12)}
.spec div{display:flex;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid rgb(255 255 255/.1)}
.spec div:last-child{border:0}
.spec dt{color:#aab1cc;font-weight:600}
.spec dd{font-weight:800;text-align:right}

.plans{display:grid;gap:20px;margin-top:36px}
.plan{background:#fff;border-radius:24px;padding:28px;box-shadow:0 0 0 1px rgb(23 33 61/.07);display:flex;flex-direction:column;gap:14px;scroll-margin-top:80px}
.plan-main{box-shadow:0 0 0 2px var(--pink),0 40px 70px -40px rgb(194 18 95/.45)}
.plan-k{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--pink-d)}
.plan h3{font-size:1.5rem;margin:0}
.price-lg{margin:6px 0}
form{display:grid;gap:14px;margin-top:6px}
label{display:grid;gap:6px;font-weight:700;font-size:.9rem}
input:not([type=checkbox]){min-height:52px;border:1.5px solid #d9dbe6;border-radius:14px;padding:0 16px;font:inherit;font-size:16px;background:var(--paper);color:var(--ink)}
input:not([type=checkbox]):focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px var(--blush)}
input[aria-invalid=true]{border-color:#b42318}
.chk{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:.85rem;color:var(--ink2)}
.chk input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--pink)}
.err{color:#b42318;font-weight:700;font-size:.88rem}

.faq{margin-top:28px;display:grid;gap:10px}
details{background:#fff;border-radius:16px;box-shadow:0 0 0 1px rgb(23 33 61/.07);padding:0 22px}
summary{cursor:pointer;list-style:none;font-weight:800;padding:20px 28px 20px 0;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--pink);transition:transform .2s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details p{padding:0 0 20px;color:var(--ink2)}

.foot{background:var(--ink);color:#aab1cc;padding:44px 0 30px;font-size:.88rem}
.foot .wrap{display:grid;gap:6px}
.foot a{color:#fff}

/* sticky mobile buy bar */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgb(255 255 255/.94);backdrop-filter:blur(12px);box-shadow:0 -10px 30px -16px rgb(23 33 61/.35);transform:translateY(110%);transition:transform .3s}
.sticky.on{transform:none}
.sticky div{display:grid;line-height:1.15}
.sticky strong{font-family:var(--serif);font-weight:400;font-size:1.7rem}
.sticky span{font-size:.7rem;color:var(--mute)}
.sticky .btn{min-height:48px;padding:0 18px;font-size:.88rem}

dialog{border:0;padding:0;background:transparent;max-width:min(94vw,92vh)}
dialog::backdrop{background:rgb(23 33 61/.85)}
dialog img{border-radius:20px;width:100%}
dialog button{position:absolute;right:8px;top:8px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:1.6rem;cursor:pointer;z-index:1}

@media(min-width:760px){
  .three{grid-template-columns:repeat(3,1fr)}
  .plans{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(4,1fr);gap:20px}
  .steps li{border-left:0;margin:0;padding:34px 0 0;border-top:2px solid var(--blush)}
  .steps li::before{left:0;top:-9px}
  .steps li:last-child{border-top-color:var(--blush)}
  .prod{grid-template-columns:1.3fr 1fr}
}
@media(min-width:960px){
  body{padding-bottom:0}
  .sticky{display:none}
  .hero{padding:56px 0 90px}
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
  .hero-fig{order:0}
  .tag-a{left:-26px}.tag-c{right:-22px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* mobile-first polish (Meta Ads traffic ~390px) */
html,body{overflow-x:hidden}
.top-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
@media(max-width:759px){
  .wrap{width:calc(100% - 32px)}
  .hero{padding:14px 0 44px}
  .hero-grid{gap:22px}
  .zoom{border-radius:22px;box-shadow:0 24px 48px -28px rgb(23 33 61/.55),0 0 0 4px #fff}
  .hero-fig{max-width:280px;margin-inline:auto}
  .zoom img{aspect-ratio:1;max-height:34svh;object-fit:cover}
  .tag{font-size:.7rem;padding:5px 10px}
  .tag-a{left:6px}
  figcaption{text-align:center}
  .tag-c{right:10px;bottom:14px}
  figcaption{margin-top:12px;font-size:.78rem}
  .kicker{font-size:.7rem;padding:7px 12px}
  h1{font-size:clamp(2.7rem,13vw,3.4rem);margin:14px 0 12px;line-height:1}
  .lead{font-size:1.12rem;max-width:none;line-height:1.5}
  .buy{margin-top:20px;padding:18px;gap:12px;border-radius:22px}
  .price-v{font-size:3rem}
  .buy .btn{width:100%;min-height:60px;font-size:1.05rem}
  .micro{text-align:center}
  .ship{margin-top:16px;font-size:.95rem}
  .bulk{display:flex;align-items:center;min-height:44px}
  .flow-line{font-size:.95rem}
  .trust{font-size:.92rem}
  .sec{padding:52px 0}
  h2{font-size:clamp(2rem,9.5vw,2.6rem);line-height:1.05}
  .sub{font-size:1rem}
  .three li,.three-plain>div{padding:22px}
  .plan{padding:22px;border-radius:22px}
  .plan .btn{width:100%;min-height:60px}
  .spec div{padding:14px 18px}
  summary{min-height:56px;display:flex;align-items:center}
  .sticky{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .sticky strong{font-size:1.6rem}
  .sticky .btn{min-height:52px;padding:0 20px;font-size:.95rem;white-space:nowrap}
  .foot{padding-bottom:calc(30px + 24px)}
}
@media(max-width:360px){.sticky span{display:none}.sticky .btn{padding:0 14px;font-size:.88rem}}
