/* Heated Shoulder Massager landing page (/8/): soft stone greys, charcoal, heat coral→amber gradient, Sora,
   big rounded cards and a three-colour "heat · air · vibration" trio */
:root{--char:#24262b;--char-2:#2f3238;--stone:#f2f1ef;--stone-2:#e8e6e2;--coral:#e8553a;--amber:#f59e3b;--ink:#24262b;--muted:#6b6e76;--line:#e4e2de;--r:26px;--grad:linear-gradient(90deg,#e8553a,#f59e3b)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Sora,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral)}
h1,h2,h3{color:#1b1c20;line-height:1.1;margin:0 0 .5em;font-weight:700;letter-spacing:-.03em}
h1{font-size:clamp(2.2rem,4.5vw,3.5rem)}
h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:860px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 1rem/1 Sora,sans-serif;text-decoration:none;border-radius:16px;padding:15px 26px;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn-heat{background:var(--grad);color:#fff;box-shadow:0 14px 30px -12px rgba(232,85,58,.85)}
.btn-line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #4a4d55}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--amber)}
.btn-white{background:#fff;color:var(--char)}
.btn-lg{padding:18px 30px;font-size:1.05rem}
.btn-sm{padding:10px 18px;font-size:.88rem}
.btn-block{display:flex;width:100%}

/* bar + header */
.heat-bar{background:var(--grad);color:#fff;text-align:center;font-weight:600;font-size:.86rem;padding:9px 16px}
.top{background:var(--char);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;gap:24px;min-height:68px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font:700 1.2rem Sora,sans-serif;line-height:1}
.logo b{color:var(--amber)}
.logo small{display:block;font:500 .66rem Sora,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#a3a6ad;margin-top:3px}
.top-nav{display:flex;gap:22px;margin-left:auto}
.top-nav a{color:#d3d5da;text-decoration:none;font-size:.9rem}
.top-nav a:hover{color:#fff}

/* hero */
.hero{background:radial-gradient(circle at 85% 35%,#fde3d8 0%,rgba(253,227,216,0) 45%),var(--stone);padding:50px 0 60px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:center}
.pill{display:inline-block;background:#fff;color:var(--char);font-size:.82rem;font-weight:500;padding:7px 14px;border-radius:999px;margin-bottom:18px;box-shadow:0 2px 10px rgba(36,38,43,.06)}
.lead{font-size:1.08rem;color:var(--muted)}
.hero-buy{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px}
.hero-buy p{margin:0;color:var(--muted)}
.hero-buy b{color:#1b1c20;font-size:1.35rem}
.trust{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.84rem;color:var(--muted)}
.gallery{background:#fff;border-radius:32px;padding:16px;box-shadow:0 30px 70px rgba(36,38,43,.12)}
.g-main{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff 0%,var(--stone) 80%)}
.g-main img{width:100%;height:100%;object-fit:cover}
.g-main img:first-child{object-fit:contain}
.g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.g-thumbs button{padding:0;border:2px solid transparent;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--stone);aspect-ratio:1}
.g-thumbs button.on{border-color:var(--coral)}
.g-thumbs img{width:100%;height:100%;object-fit:cover}

/* sections */
.sec{padding:78px 0}
.sec.soft{background:var(--stone)}
.sec.dark{background:var(--char);color:#c5c7cc}
.sec.dark h2,.sec.dark h3{color:#fff}
.kicker{display:inline-block;font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:12px}
.sec.dark .kicker{color:var(--amber)}
.head{text-align:center;max-width:700px;margin:0 auto 40px}
.head p{color:var(--muted)}
.head.light p{color:#a3a6ad}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.round{border-radius:var(--r);box-shadow:0 20px 50px rgba(36,38,43,.12)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:36px}
.t{border-radius:var(--r);padding:28px 24px}
.t span{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff;font-size:1.5rem;margin-bottom:14px}
.t p{margin:0;color:#4a4d55}
.t.heat{background:#fde3d8}.t.air{background:#dff0f6}.t.vib{background:#e9e4f7}
.wide{width:100%;max-width:560px;margin:0 auto;border-radius:var(--r);box-shadow:0 20px 50px rgba(36,38,43,.12)}
.steps{list-style:none;counter-reset:s;padding:0;margin:22px 0 0;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;gap:2px 16px;background:#fff;border-radius:20px;padding:16px 18px}
.steps li::before{content:counter(s);grid-row:span 2;width:48px;height:48px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.2rem}
.steps b{color:#1b1c20}
.steps span{color:var(--muted);font-size:.94rem}
.moments{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.moments li{border-left:3px solid var(--coral);padding:4px 0 4px 16px}
.moments b{display:block;color:#1b1c20}
.moments span{color:var(--muted);font-size:.94rem}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.specs div{background:#fff;border-radius:20px;padding:20px}
.specs b{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.specs span{color:#3c3f46}

/* pricing */
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.pcard{position:relative;background:var(--char-2);border:1px solid #3a3d44;border-radius:24px;padding:24px 18px 20px;text-align:center;display:flex;flex-direction:column}
.pcard.featured{border:2px solid var(--amber);transform:translateY(-10px);box-shadow:0 24px 60px -20px rgba(245,158,59,.5)}
.flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;white-space:nowrap}
.stack{display:flex;justify-content:center;align-items:center;height:130px;margin-bottom:14px;background:#fff;border-radius:18px;overflow:hidden}
.stack img{flex:0 0 auto;width:var(--sw);height:var(--sw);max-width:none;object-fit:contain;margin-left:calc(var(--sw) * -.5);mix-blend-mode:multiply}
.stack img:first-child{margin-left:0}
.stack.n1{--sw:120px}.stack.n2{--sw:100px}.stack.n3{--sw:86px}.stack.n4{--sw:76px}
.pcard h3{margin:0 0 2px}
.qty{margin:0 0 12px;font-size:.84rem;color:#a3a6ad}
.price{margin:0 0 4px;font-weight:700;font-size:2.1rem;line-height:1;color:#fff;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.price s{font-size:.92rem;font-weight:400;color:#7d8088;margin-bottom:4px}
.per{margin:0 0 16px;font-size:.84rem;color:var(--amber)}
.pay-row{display:flex;justify-content:center;margin-top:34px}
.pay-icons{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;align-items:center}
.pay-icons svg{width:46px;height:30px;display:block;border-radius:5px}
.pay-icons .ssl{display:flex;align-items:center;gap:5px;color:var(--amber);font-weight:800;font-size:.8rem;line-height:1}
.pay-icons .ssl svg{width:18px;height:18px}
.pay-icons .ssl small{display:block;font-size:.6rem;letter-spacing:.08em}

/* guarantee + faq */
.guarantee{display:flex;gap:32px;align-items:center;background:var(--stone);border-radius:var(--r);padding:34px}
.seal{flex:0 0 116px;height:116px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-content:center;text-align:center;line-height:1;box-shadow:0 0 0 6px #fff}
.seal b{font-size:2.4rem;font-weight:800}
.seal span{font-weight:700;letter-spacing:.2em;font-size:.76rem}
.seal small{font-weight:700;font-size:.5rem;letter-spacing:.14em;margin-top:3px}
.guarantee p{margin:0;color:var(--muted)}
.faq details{background:#fff;border-radius:18px;margin-bottom:10px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;color:#1b1c20;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 26px;height:26px;border-radius:50%;background:var(--stone);color:var(--coral);display:grid;place-items:center;font-size:1.15rem;line-height:1}
.faq details[open] summary::after{content:"−";background:var(--grad);color:#fff}
.faq details p{color:var(--muted);margin:0 0 18px}

/* final cta + footer */
.cta{background:var(--grad);padding:44px 0}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta h2{color:#fff;margin-bottom:.2em}
.cta p{margin:0;color:#fff3ec}
.foot{background:var(--char);color:#a3a6ad;padding:40px 0 100px;font-size:.88rem;text-align:center}
.foot a{color:var(--amber)}
.f-links{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center}
.note{font-size:.76rem;color:#7d8088;max-width:780px;margin:10px auto 0}

/* sticky mobile buy bar */
.sticky-buy{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;background:var(--char);color:#fff;transform:translateY(110%);transition:transform .25s}
.sticky-buy.on{transform:none}
.sticky-buy span{font-size:.88rem}

@media (min-width:901px){.sticky-buy{display:none}}
@media (max-width:1000px){.prices{grid-template-columns:1fr 1fr}.pcard.featured{transform:none}}
@media (max-width:900px){
  .top-nav{display:none}
  .top-in .btn{margin-left:auto}
  .hero-grid,.split{grid-template-columns:1fr;gap:32px}
  .hero{padding:26px 0 44px}
  .gallery{order:-1}
  .split.rev>img{order:-1}
  .trio{grid-template-columns:1fr}
  .specs{grid-template-columns:1fr 1fr}
  .sec{padding:56px 0}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .top-in{min-height:60px;gap:12px}
  .logo{font-size:1.05rem}
  .specs{grid-template-columns:1fr}
  .prices{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .guarantee{flex-direction:column;text-align:center;padding:26px 20px}
  .cta-in{flex-direction:column;text-align:center}
}
/* ==== bigger product photos ==== */
@media (min-width:901px){.wrap{max-width:1280px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}}
.stack{height:175px}.stack.n1{--sw:165px}.stack.n2{--sw:136px}.stack.n3{--sw:116px}.stack.n4{--sw:102px}
