@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{
  --bg:#fff9fb;
  --paper:#fff;
  --ink:#211a20;
  --muted:#7e727a;
  --pink:#ff9fc2;
  --pink2:#ffc7da;
  --rose:#f475a5;
  --lav:#c9b8ff;
  --cream:#fff1e8;
  --line:rgba(84,54,70,.11);
  --shadow:0 30px 80px rgba(157,91,119,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter,sans-serif;overflow-x:hidden
}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.wrap{width:min(1240px,calc(100% - 48px));margin:auto}
.mono{font-family:"DM Mono";letter-spacing:.08em}
.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* NAV */
header{
  position:absolute;left:0;right:0;top:0;z-index:30;
  border-bottom:1px solid rgba(255,255,255,.45)
}
.nav{height:82px;display:flex;align-items:center}
.brand{display:flex;align-items:center;gap:12px}
.heart{
  width:39px;height:39px;position:relative;transform:rotate(45deg);
  background:linear-gradient(135deg,#ff87b4,#ffb6d0);
  border-radius:9px 13px 9px 13px;box-shadow:0 10px 30px #ef7aa840
}
.heart:before,.heart:after{content:"";position:absolute;width:39px;height:39px;border-radius:50%;background:inherit}
.heart:before{left:-20px}.heart:after{top:-20px}
.brand strong{display:block;font:800 14px Manrope}
.brand small{display:block;color:#9d7889;font:500 7px "DM Mono";margin-top:3px}
.links{display:flex;gap:23px;margin-left:auto}
.links a{font:500 8px "DM Mono";color:#725e68;transition:.2s}
.links a:hover{color:#e45e92}
.book{margin-left:25px;background:#241d22;color:white;padding:13px 18px;border-radius:30px;font:500 8px "DM Mono"}
.menu{display:none;margin-left:auto;border:0;background:none;font-size:23px}

/* HERO */
.hero{
  min-height:900px;position:relative;overflow:hidden;display:flex;align-items:center;
  background:
    radial-gradient(circle at 79% 30%,#f9c6d9 0,transparent 25%),
    radial-gradient(circle at 67% 80%,#dcd0ff 0,transparent 24%),
    linear-gradient(135deg,#fffafd,#fff1f6 55%,#fff9f5)
}
.hero:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(#d88fa015 1px,transparent 1px),linear-gradient(90deg,#d88fa015 1px,transparent 1px);
  background-size:70px 70px;mask-image:linear-gradient(#000,transparent 95%)
}
.hero-inner{padding-top:80px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;z-index:2}
.kicker{font:500 8px "DM Mono";color:#dc6592;letter-spacing:.14em}
h1{font:800 clamp(67px,8vw,115px)/.84 Manrope;letter-spacing:-7px;margin:24px 0}
h1 span{color:#e56b99}
.hero-copy{max-width:540px;color:#7e6f77;font-size:12px;line-height:1.9}
.actions{display:flex;gap:10px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 22px;border:1px solid #dfc9d2;border-radius:30px;font:500 8px "DM Mono";transition:.25s;background:#ffffff7d}
.btn:hover{transform:translateY(-3px);box-shadow:0 15px 35px #bd79951c}
.btn.hot{background:#231d21;color:white;border-color:#231d21}

/* 3D HEART */
.visual{height:600px;position:relative;display:grid;place-items:center;perspective:900px}
.orbit{width:430px;height:430px;border:1px solid #d8799d40;border-radius:50%;position:absolute;animation:spin 18s linear infinite}
.orbit:before{content:"";position:absolute;inset:55px;border:1px dashed #dd84a63d;border-radius:50%}
.orbit:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#f273a3;top:61px;left:68px;box-shadow:0 0 22px #f273a3}
@keyframes spin{to{transform:rotate(360deg)}}
.bigheart{width:180px;height:180px;position:relative;transform:rotate(45deg);background:linear-gradient(135deg,#ff7bac,#ffb9d1);border-radius:35px;box-shadow:0 35px 70px #c9538030,inset 15px 15px 30px #fff4;animation:float 5s ease-in-out infinite}
.bigheart:before,.bigheart:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:inherit}
.bigheart:before{left:-90px}.bigheart:after{top:-90px}
.bigheart i{position:absolute;width:40px;height:40px;background:#fff8;border-radius:50%;z-index:3;left:28px;top:27px;filter:blur(3px)}
@keyframes float{50%{transform:rotate(45deg) translate(-8px,-8px) scale(1.04)}}
.float-card{position:absolute;background:#ffffffad;border:1px solid #fff;backdrop-filter:blur(18px);box-shadow:0 20px 50px #b36b891c;border-radius:16px;padding:14px 17px;font:500 7px "DM Mono";color:#8e7280}
.float-card b{display:block;color:#31262c;font-size:10px;margin-top:5px}
.fc1{right:0;top:130px}.fc2{left:5px;bottom:125px}.fc3{right:25px;bottom:70px}

/* STRIP */
.strip{overflow:hidden;white-space:nowrap;background:#241d22;color:#b9a8b1}
.strip div{width:max-content;padding:15px 0;font:500 8px "DM Mono";animation:marquee 25s linear infinite}
.strip b{color:#ff9fc2;font-weight:500}
@keyframes marquee{to{transform:translateX(-50%)}}

/* COMMON */
section{padding:105px 0}
.sec-id{font:500 8px "DM Mono";color:#df6b98}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:15px}
.sec-head h2{font:800 clamp(40px,5vw,65px)/.96 Manrope;letter-spacing:-3.5px;margin:0}
.sec-head p{max-width:440px;margin:0;color:#82757c;font-size:11px;line-height:1.85}
.reveal{opacity:0;transform:translateY(25px);transition:.7s cubic-bezier(.2,.8,.2,1)}
.reveal.on{opacity:1;transform:none}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;margin-top:55px}
.about-main{min-height:500px;border-radius:28px;background:linear-gradient(135deg,#f5b4cd,#e7dafa);position:relative;overflow:hidden;padding:38px}
.about-main h3{font:800 48px/.95 Manrope;letter-spacing:-3px;margin:0;max-width:500px}
.room{
  position:absolute;width:470px;height:260px;right:-30px;bottom:-15px;
  transform:perspective(700px) rotateX(58deg) rotateZ(-8deg);
  background:linear-gradient(90deg,#fff8 1px,transparent 1px),linear-gradient(#fff8 1px,transparent 1px);
  background-size:55px 55px;border:1px solid #fff9;box-shadow:0 0 80px #fff8
}
.about-side{display:grid;gap:13px}
.mini{background:white;border:1px solid var(--line);border-radius:28px;padding:28px;position:relative;overflow:hidden}
.mini strong{font:800 39px Manrope;color:#e66f9c}.mini span{display:block;font:500 8px "DM Mono";color:#8c7c84;margin-top:6px}
.mini p{color:#8a7c83;font-size:10px;line-height:1.7;margin-top:30px}

/* ZONES */
.dark{background:#211a20;color:white}
.dark .sec-head p{color:#a4949d}
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:55px}
.zone{min-height:430px;border:1px solid #ffffff13;border-radius:25px;padding:27px;position:relative;overflow:hidden;background:#292128;transition:.3s}
.zone:hover{transform:translateY(-6px);border-color:#ff9fc250}
.zone:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-80px;background:radial-gradient(circle,#ff9fc22c,transparent 67%)}
.zone-num{font:500 8px "DM Mono";color:#e87aa3}
.zone-screen{height:145px;margin-top:45px;border:1px solid #ffffff16;border-radius:12px;background:linear-gradient(145deg,#171217,#392633);box-shadow:0 15px 30px #0003;position:relative}
.zone-screen:after{content:"HEARTZ";position:absolute;inset:0;display:grid;place-items:center;color:#ff9fc2;font:700 20px Manrope;letter-spacing:.15em}
.zone h3{font:700 21px Manrope;margin:25px 0 8px}.zone p{font-size:9px;color:#a898a1;line-height:1.75}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.tags i{font-style:normal;border:1px solid #ffffff15;border-radius:20px;padding:7px 9px;font:500 7px "DM Mono";color:#c9bac2}

/* SPECS */
.specs{background:#fff}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-block:1px solid var(--line)}
.spec{padding:35px 25px;border-right:1px solid var(--line)}.spec:last-child{border:0}
.spec small{font:500 7px "DM Mono";color:#d86c96}.spec strong{display:block;font:700 18px Manrope;margin:12px 0 6px}.spec p{font-size:9px;line-height:1.7;color:#887981}

/* EVENTS */
.events{background:linear-gradient(135deg,#fff4f8,#f5f0ff)}
.event-list{margin-top:50px;border-top:1px solid #d9cbd1}
.event{display:grid;grid-template-columns:110px 1fr 1fr 120px;gap:20px;align-items:center;min-height:120px;border-bottom:1px solid #d9cbd1;transition:.25s}
.event:hover{padding-left:12px;background:#fff6}
.event .date{font:500 8px "DM Mono";color:#d75f8d}.event h3{font:700 20px Manrope}.event p{font-size:9px;color:#85757d;line-height:1.6}.event .state{text-align:right;font:500 7px "DM Mono";color:#d65e8c}

/* PRICES */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:55px}
.price{padding:30px;border:1px solid var(--line);border-radius:26px;background:#fff;min-height:350px;position:relative}
.price.pop{background:#261e24;color:white;transform:translateY(-12px)}
.price small{font:500 7px "DM Mono";color:#d76b95}.price h3{font:700 20px Manrope;margin:18px 0}.price .cost{font:800 42px Manrope;letter-spacing:-2px}.price .cost span{font-size:11px;font-weight:500;color:#8d7b84}.price ul{padding:0;list-style:none;margin-top:28px}.price li{font-size:9px;color:#887981;border-top:1px solid var(--line);padding:11px 0}.price.pop li{color:#c5b5bd;border-color:#ffffff12}

/* FAQ */
.faq{max-width:900px;margin:50px auto 0}.faq-item{border-bottom:1px solid var(--line)}
.faq-q{padding:22px 0;display:flex;justify-content:space-between;cursor:pointer;font:600 13px Manrope}
.faq-q span{color:#d65e8c}.faq-a{max-height:0;overflow:hidden;color:#83767d;font-size:10px;line-height:1.8;transition:.35s}.faq-item.open .faq-a{max-height:130px;padding-bottom:22px}

/* CONTACT */
.contact{background:#211a20;color:white}
.contact-box{padding:55px;border-radius:30px;background:linear-gradient(130deg,#31252e,#241c22);position:relative;overflow:hidden}
.contact-box:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-180px;top:-220px;background:radial-gradient(circle,#ff8dbb40,transparent 67%)}
.contact-box h2{font:800 clamp(45px,6vw,75px)/.92 Manrope;letter-spacing:-4px;margin:15px 0 35px}
.contact-data{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px;position:relative;z-index:2}
.data{border-top:1px solid #ffffff15;padding-top:15px}.data small{font:500 7px "DM Mono";color:#aa929f}.data strong{display:block;font-size:10px;margin-top:7px}

/* PAGE */
.pagehero{padding:180px 0 100px;background:linear-gradient(135deg,#fff6fa,#f3edff);position:relative;overflow:hidden}
.pagehero:after{content:"♡";position:absolute;right:7%;top:100px;font:800 300px Manrope;color:#e58bb51a}
.pagehero h1{font-size:75px;max-width:900px}.pagehero p{max-width:600px;color:#81737b;line-height:1.8;font-size:12px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:50px}
.card{border:1px solid var(--line);border-radius:24px;background:white;padding:30px;min-height:230px}.card small{font:500 7px "DM Mono";color:#d86591}.card h3{font:700 19px Manrope;margin-top:45px}.card p{font-size:10px;color:#81747b;line-height:1.8}

/* FOOTER */
footer{background:#171216;color:white;padding:50px 0 25px}
.footer-top{display:flex;justify-content:space-between;gap:40px}.footlinks{display:flex;gap:45px}.footlinks div{display:flex;flex-direction:column;gap:10px}.footlinks b{font:500 7px "DM Mono";color:#8c7883}.footlinks a{font-size:9px;color:#c6b6be}
.copy{margin-top:45px;padding-top:20px;border-top:1px solid #ffffff12;display:flex;justify-content:space-between;color:#77666f;font:500 7px "DM Mono"}

@media(max-width:900px){
 .links,.book{display:none}.menu{display:block}
 .links.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#fffafdf7;padding:25px;flex-direction:column}
 .hero-inner{grid-template-columns:1fr;padding-top:145px}.visual{height:450px}
 .about-grid,.zones,.price-grid,.cards{grid-template-columns:1fr}
 .spec-grid{grid-template-columns:1fr 1fr}.event{grid-template-columns:80px 1fr}.event p,.event .state{display:none}
 .contact-data{grid-template-columns:1fr 1fr}.price.pop{transform:none}
}
@media(max-width:560px){
 .wrap{width:calc(100% - 28px)}.nav{height:70px}.links.open{top:70px}
 h1{font-size:55px;letter-spacing:-4px}.hero{min-height:auto}.hero-inner{padding-top:120px}.hero-buttons{flex-direction:column}.btn{width:100%}
 .visual{height:350px}.orbit{width:280px;height:280px}.bigheart{width:120px;height:120px}.bigheart:before,.bigheart:after{width:120px;height:120px}.bigheart:before{left:-60px}.bigheart:after{top:-60px}.float-card{display:none}
 section{padding:75px 0}.sec-head{display:block}.sec-head p{margin-top:18px}
 .about-main{min-height:390px}.about-main h3{font-size:37px}.room{width:330px}
 .spec-grid{grid-template-columns:1fr}.spec{border-right:0;border-bottom:1px solid var(--line)}
 .contact-box{padding:30px}.contact-data{grid-template-columns:1fr}.contact-box h2{letter-spacing:-2px}
 .footer-top{display:block}.footlinks{margin-top:35px;flex-wrap:wrap}.copy{display:block;line-height:2}
 .pagehero h1{font-size:50px}.pagehero{padding-top:140px}
}
</style>
