*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-bottom:112px;font-family:Inter,Arial,Helvetica,sans-serif;color:#3a1727;background:#fff1f6;overflow-x:hidden}
body.has-bg{background:
  radial-gradient(1200px 600px at 50% -10%, rgba(255,209,226,.55) 0%, transparent 60%),
  linear-gradient(rgba(255,246,250,.72) 0%, rgba(255,233,242,.68) 40%, rgba(255,217,232,.72) 100%),
  url("../images/bg.png") center/cover no-repeat fixed}
.bg-hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.bg-hearts span{position:absolute;color:rgba(255,77,141,.12);font-size:34px;animation:float 13s linear infinite}
.bg-hearts span:nth-child(1){left:6%;top:85%;animation-delay:-2s}
.bg-hearts span:nth-child(2){left:19%;top:35%;animation-delay:-7s;font-size:22px}
.bg-hearts span:nth-child(3){left:37%;top:70%;animation-delay:-4s}
.bg-hearts span:nth-child(4){left:58%;top:15%;animation-delay:-9s;font-size:26px}
.bg-hearts span:nth-child(5){left:72%;top:60%;animation-delay:-3s}
.bg-hearts span:nth-child(6){left:86%;top:28%;animation-delay:-6s;font-size:24px}
.bg-hearts span:nth-child(7){left:94%;top:84%;animation-delay:-10s}
@keyframes float{
  0%{transform:translateY(120px) rotate(0deg);opacity:0}
  15%{opacity:1}
  100%{transform:translateY(-900px) rotate(280deg);opacity:0}
}
.header{max-width:1120px;margin:auto;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:900;color:#d82f72}
.logo-heart{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;box-shadow:0 8px 22px rgba(204,40,101,.16);overflow:hidden}
.logo-heart img{width:100%;height:100%;object-fit:cover}
.online-pill{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 8px 20px rgba(134,54,87,.1);font-size:13px;color:#744256}
.dot{width:8px;height:8px;border-radius:50%;background:#32cf70;box-shadow:0 0 0 4px rgba(50,207,112,.15);display:inline-block}
.hero-copy{max-width:760px;margin:4px auto 14px;padding:0 20px;text-align:center}
.hero-copy h1{margin:0;font-size:clamp(34px,7vw,62px);line-height:.98;letter-spacing:-2px}
.hero-copy .accent{color:#ff3d84;text-shadow:0 5px 20px rgba(255,61,132,.18)}
.hero-copy p{max-width:620px;margin:16px auto 0;color:#805067;line-height:1.55;font-size:15px}
.hero{max-width:980px;margin:12px auto 0;padding:0 14px}
.swiper{height:min(112vw,600px);max-height:600px;min-height:430px;position:relative;perspective:1400px}
.slide{position:absolute;left:50%;top:0;width:min(86vw,420px);height:100%;border-radius:28px;overflow:hidden;transform:translateX(-50%) scale(.86);opacity:0;transition:transform .55s,opacity .55s,filter .55s;box-shadow:0 22px 60px rgba(89,26,52,.24);cursor:pointer;background:#222;filter:saturate(.8)}
.slide.is-active{z-index:4;opacity:1;transform:translateX(-50%) scale(1);filter:none}
.slide.is-prev{z-index:2;opacity:.45;transform:translateX(-112%) scale(.82) rotateY(12deg)}
.slide.is-next{z-index:2;opacity:.45;transform:translateX(12%) scale(.82) rotateY(-12deg)}
.slide-img{position:absolute;inset:0;background-size:cover;background-position:center}
.slide::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(18,4,11,.88))}
.slide-verified,.slide-online{position:absolute;z-index:3;top:16px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#fff;backdrop-filter:blur(8px)}
.slide-verified{left:16px;background:rgba(49,133,255,.78)}
.slide-online{right:16px;background:rgba(17,25,22,.62);display:flex;align-items:center;gap:7px}
.slide-info{position:absolute;z-index:3;left:18px;right:18px;bottom:18px;color:#fff}
.slide-info .name{font-size:32px;font-weight:900}
.slide-info .loc{margin-top:4px;font-size:14px;opacity:.92}
.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.tag{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.23);backdrop-filter:blur(7px);padding:6px 8px;border-radius:8px;font-size:11px;font-weight:700}
.tag.hot{background:rgba(255,61,132,.78)}
.dots{display:flex;justify-content:center;gap:7px;margin:14px 0 0}
.dots i{width:8px;height:8px;border-radius:50%;background:#e6a7bf;transition:.25s;cursor:pointer}
.dots i.on{width:24px;border-radius:99px;background:#ff4d8d}
.stats{max-width:880px;margin:22px auto 0;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stats .item{text-align:center;background:rgba(255,255,255,.88);padding:15px 8px;border:1px solid rgba(235,187,205,.62);border-radius:18px;box-shadow:0 10px 24px rgba(122,49,79,.07)}
.stats .num{font-weight:900;font-size:22px;color:#d72e70}
.stats .lbl{font-size:12px;color:#82536a;margin-top:3px}
.sect-title{max-width:1040px;margin:24px auto 12px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sect-title h2{margin:0;font-size:23px}
.more{color:#e33479;font-weight:800;font-size:14px;cursor:pointer}
.grid{max-width:1040px;margin:auto;padding:0 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.card{position:relative;aspect-ratio:.73/1;border-radius:20px;overflow:hidden;background:#222;box-shadow:0 12px 30px rgba(90,28,53,.14);cursor:pointer;transition:transform .2s}
.card:active{transform:scale(.98)}
.card-img{position:absolute;inset:0;background-position:center;background-size:cover}
.card::after{content:"";position:absolute;inset:44% 0 0;background:linear-gradient(transparent,rgba(17,3,9,.86))}
.card-badge{position:absolute;z-index:2;top:10px;left:10px;padding:5px 7px;border-radius:8px;background:rgba(255,73,133,.86);color:#fff;font-weight:800;font-size:10px}
.card-badge.gold{background:rgba(213,160,34,.9)}
.card-badge.new{background:rgba(131,76,225,.88)}
.card-heart{position:absolute;z-index:2;top:8px;right:10px;color:#fff;font-size:24px;text-shadow:0 2px 7px #a21c51}
.card-online{position:absolute;z-index:2;right:11px;bottom:52px;width:10px;height:10px;border-radius:50%;background:#36d675;box-shadow:0 0 0 3px rgba(54,214,117,.2)}
.card-info{position:absolute;z-index:2;left:11px;right:11px;bottom:10px;color:#fff}
.nm{font-size:19px;font-weight:900}
.tg{display:flex;gap:5px;margin-top:5px;flex-wrap:wrap}
.tg span{font-size:9px;padding:3px 5px;border-radius:5px;background:rgba(255,255,255,.18)}
.features{max-width:880px;margin:24px auto 0;padding:0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feat{text-align:center;padding:18px 10px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid rgba(235,187,205,.62)}
.feat-icon{font-size:28px}
.ft{margin-top:5px;font-weight:900}
.fs{font-size:12px;color:#8b6475;margin-top:3px}
.urgency{max-width:720px;margin:22px auto 0;padding:13px 14px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ff4d8d,#dc2c70);color:#fff;border-radius:18px;box-shadow:0 15px 34px rgba(213,40,107,.24);cursor:pointer}
.urgency .av{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background-size:cover;background-position:center;border:3px solid rgba(255,255,255,.75)}
.urgency .txt{font-size:13px;line-height:1.45}
.urgency b{font-size:15px}
.foot-hint{text-align:center;color:#805468;margin:20px 0 8px;font-size:13px}
.stars{color:#ffb429;letter-spacing:2px;font-size:18px}
.cta-wrap{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(255,244,249,.97) 22%,rgba(255,244,249,.99))}
.cta{display:flex;align-items:center;justify-content:center;gap:9px;width:min(680px,100%);margin:auto;height:58px;border:0;border-radius:18px;background:linear-gradient(135deg,#ff4d8d,#e82c74);color:#fff;font-size:17px;font-weight:900;box-shadow:0 12px 30px rgba(219,42,111,.34);cursor:pointer;animation:pulse 2s ease infinite}
.cta .heart{font-size:23px}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(max-width:820px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){
  .header{padding:13px 12px}
  .logo{font-size:20px}
  .online-pill{font-size:11px;padding:8px 10px}
  .hero-copy{padding:0 14px}
  .hero-copy h1{letter-spacing:-1.2px}
  .hero-copy p{font-size:13px}
  .swiper{min-height:430px;height:120vw;max-height:540px}
  .slide{width:88vw}
  .slide.is-prev,.slide.is-next{opacity:0}
  .stats{padding:8px}
  .stats .num{font-size:18px}
  .stats .lbl{font-size:10px}
  .sect-title h2{font-size:19px}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 10px}
  .features{gap:8px;padding:0 10px}
  .feat{padding:14px 6px}
  .ft{font-size:13px}
  .fs{font-size:10px}
  .urgency{margin:18px 10px 0;border-radius:15px}
  .cta{height:56px;font-size:15px}
}
html,body{width:100%;max-width:100%;overscroll-behavior-x:none;overflow-x:hidden!important}
html{position:relative}
body{position:relative;min-width:0;-webkit-text-size-adjust:100%}
.header,.hero-copy,.hero,.swiper,.stats,.sect-title,.grid,.features,.urgency,.foot-hint,.cta-wrap{min-width:0;max-width:100%}
@supports (-webkit-touch-callout:none){
  body.has-bg{background-attachment:scroll!important;background-position:center top!important}
}
@media(max-width:620px){
  body.has-bg{background-attachment:scroll!important;background-position:center top!important}
  .hero{width:100%;padding-left:14px;padding-right:14px;overflow:hidden!important}
  .swiper{width:100%;max-width:100%;touch-action:pan-y;overflow:hidden!important}
  .slide{width:calc(100vw - 28px);max-width:420px}
  .slide.is-prev,.slide.is-next{opacity:0!important;pointer-events:none}
  .hero-copy h1,.hero-copy p{overflow-wrap:anywhere;word-break:normal}
  .cta-wrap{left:0;right:0;width:100%;overflow:hidden}
  .cta{width:100%;max-width:100%;padding-left:12px;padding-right:12px;white-space:normal;line-height:1.15}
}
