*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%}
body{min-height:100vh;overflow:hidden;font-family:"DM Sans",Arial,sans-serif;background:#956e74;color:#fff}

.coming-soon{
 position:relative;isolation:isolate;width:100%;height:100vh;height:100svh;min-height:600px;
 display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;
 background:radial-gradient(circle at 50% 45%,#a57b82 0%,#9c737a 28%,#956e74 58%,#896168 100%);
}
.background-overlay{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.03),transparent 48%,rgba(65,30,38,.13))}

/* MOVING WHITE GLOW */
.moving-glows{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.moving-glow{position:absolute;border-radius:50%;filter:blur(70px);background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,.12) 45%,transparent 72%);will-change:transform}
.glow-1{width:650px;height:650px;top:-300px;left:-250px;animation:glow1 18s ease-in-out infinite alternate}
.glow-2{width:600px;height:600px;right:-260px;bottom:-270px;opacity:.55;animation:glow2 21s ease-in-out infinite alternate}
.glow-3{width:400px;height:400px;top:30%;left:35%;opacity:.3;animation:glow3 15s ease-in-out infinite alternate}
@keyframes glow1{to{transform:translate3d(80vw,45vh,0) scale(1.15)}}
@keyframes glow2{to{transform:translate3d(-75vw,-55vh,0) scale(.9)}}
@keyframes glow3{0%{transform:translate3d(-20vw,-10vh,0)}100%{transform:translate3d(25vw,30vh,0) scale(1.3)}}

/* FLOATING HEARTS - FIXED */
.floating-hearts{
 position:absolute;inset:0;z-index:5;width:100%;height:100%;overflow:hidden;pointer-events:none;
}
.heart{
 --left:10%;--drift:20px;--size:14px;--duration:14s;--delay:-2s;
 position:absolute;left:var(--left);bottom:-40px;display:block;
 font-family:Arial,sans-serif;font-size:var(--size);line-height:1;color:goldenrod;
 text-shadow:0 0 7px rgba(255,255,255,.35),0 0 18px rgba(255,255,255,.18);
 opacity:0;will-change:transform,opacity;
 animation:heartRise var(--duration) linear var(--delay) infinite;
}
.heart:nth-child(1){--left:6%;--drift:18px;--size:15px;--duration:13s;--delay:-2s}
.heart:nth-child(2){--left:14%;--drift:-20px;--size:9px;--duration:17s;--delay:-11s}
.heart:nth-child(3){--left:23%;--drift:25px;--size:13px;--duration:15s;--delay:-6s}
.heart:nth-child(4){--left:32%;--drift:-16px;--size:10px;--duration:19s;--delay:-15s}
.heart:nth-child(5){--left:41%;--drift:22px;--size:17px;--duration:14s;--delay:-9s}
.heart:nth-child(6){--left:49%;--drift:-24px;--size:8px;--duration:18s;--delay:-4s}
.heart:nth-child(7){--left:58%;--drift:18px;--size:12px;--duration:16s;--delay:-13s}
.heart:nth-child(8){--left:67%;--drift:-20px;--size:9px;--duration:20s;--delay:-7s}
.heart:nth-child(9){--left:75%;--drift:25px;--size:15px;--duration:15s;--delay:-1s}
.heart:nth-child(10){--left:83%;--drift:-18px;--size:10px;--duration:18s;--delay:-12s}
.heart:nth-child(11){--left:90%;--drift:20px;--size:13px;--duration:14s;--delay:-5s}
.heart:nth-child(12){--left:96%;--drift:-16px;--size:8px;--duration:21s;--delay:-17s}

@keyframes heartRise{
 0%{transform:translate3d(0,5vh,0) rotate(-8deg) scale(.65);opacity:0}
 8%{opacity:.3}
 22%{transform:translate3d(var(--drift),-22vh,0) rotate(3deg) scale(.82);opacity:.55}
 48%{transform:translate3d(calc(var(--drift) * -1),-50vh,0) rotate(-5deg) scale(1);opacity:.45}
 72%{transform:translate3d(var(--drift),-78vh,0) rotate(6deg) scale(.88);opacity:.32}
 92%{opacity:.12}
 100%{transform:translate3d(0,-115vh,0) rotate(12deg) scale(.7);opacity:0}
}

/* CONTENT */
.content{position:relative;z-index:10;width:90%;max-width:760px;display:flex;flex-direction:column;align-items:center;padding:20px}
.logo-wrapper{margin-bottom:30px;opacity:0;transform:translateY(20px) scale(.94);animation:logoReveal 1.5s cubic-bezier(.22,1,.36,1) forwards}
.logo{display:block;width:220px;max-width:55vw;height:auto;filter:drop-shadow(0 15px 35px rgba(65,30,38,.18))}
@keyframes logoReveal{to{opacity:1;transform:translateY(0) scale(1)}}

.eyebrow{margin-bottom:20px;color:#e7cda5;font-size:11px;font-weight:500;letter-spacing:6px;text-transform:uppercase;opacity:0;transform:translateY(15px);animation:fadeUp 1s ease .7s forwards}
h1{max-width:760px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(42px,5.2vw,76px);line-height:1.05;font-weight:400;letter-spacing:-2px;text-shadow:0 5px 35px rgba(65,30,38,.2);opacity:0;transform:translateY(25px);animation:fadeUp 1.2s ease 1s forwards}
.description{max-width:500px;margin-top:22px;font-size:15px;line-height:1.8;font-weight:300;color:rgba(255,255,255,.82);opacity:0;transform:translateY(20px);animation:fadeUp 1.2s ease 1.3s forwards}
.divider{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;max-width:270px;margin:32px 0;opacity:0;animation:fadeIn 1.5s ease 1.7s forwards}
.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#AF8C5C)}
.divider-line.right{background:linear-gradient(90deg,#AF8C5C,transparent)}
.divider-heart{display:inline-block;color:#AF8C5C;font-size:15px;animation:heartbeat 2.5s ease-in-out infinite}
@keyframes heartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
.coming-text{font-size:13px;font-weight:500;letter-spacing:8px;text-transform:uppercase;opacity:0;animation:fadeIn 1.5s ease 2s forwards}
.unwrap{margin-top:18px;font-family:"Playfair Display",Georgia,serif;font-size:14px;font-style:italic;color:rgba(255,255,255,.62);opacity:0;animation:fadeIn 1.5s ease 2.3s forwards}
.dots span{display:inline-block;opacity:.25;animation:dots 1.5s ease-in-out infinite}
.dots span:nth-child(2){animation-delay:.25s}.dots span:nth-child(3){animation-delay:.5s}
@keyframes dots{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.bottom-text{position:absolute;z-index:10;bottom:28px;left:50%;width:100%;transform:translateX(-50%);color:rgba(255,255,255,.42);font-size:9px;letter-spacing:4px;text-transform:uppercase;opacity:0;animation:fadeIn 2s ease 3s forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}

@media(max-width:768px){
 .coming-soon{min-height:100svh}
 .content{width:88%;padding:15px}
 .logo{width:170px}
 .logo-wrapper{margin-bottom:24px}
 .eyebrow{font-size:9px;letter-spacing:4px;margin-bottom:15px}
 h1{font-size:clamp(38px,11vw,58px);letter-spacing:-1px}
 .description{max-width:340px;margin-top:18px;font-size:13px;line-height:1.7}
 .divider{max-width:210px;margin:26px 0}
 .coming-text{font-size:10px;letter-spacing:6px}
 .bottom-text{bottom:18px}
 .heart{color:#AF8C5C}
}

@media(max-height:650px){
 .logo{width:135px}.logo-wrapper{margin-bottom:15px}h1{font-size:36px}
 .description{margin-top:12px}.divider{margin:18px 0}.unwrap{margin-top:12px}
}
