.grand-opening{position:relative;isolation:isolate;display:grid;min-height:calc(100vh - 185px);place-items:center;overflow:hidden;padding:64px 22px 78px;background:radial-gradient(circle at 20% 15%,#0863ff44,transparent 32%),radial-gradient(circle at 82% 70%,#ff8c1938,transparent 34%),linear-gradient(145deg,#040817,#081331 55%,#111c4d);color:#fff}
.grand-opening-confetti{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.confetti-piece{position:absolute;top:-12vh;width:10px;height:18px;border-radius:3px;background:var(--confetti-color);opacity:.9;transform:translate3d(0,-12vh,0) rotate(0);animation:confetti-fall var(--fall-duration) linear var(--fall-delay) infinite}
.confetti-piece:nth-child(3n){width:9px;height:9px;border-radius:50%}.confetti-piece:nth-child(4n){width:15px;height:7px;border-radius:999px}
@keyframes confetti-fall{0%{transform:translate3d(0,-12vh,0) rotate(0)}50%{transform:translate3d(var(--drift),50vh,0) rotate(360deg)}100%{transform:translate3d(calc(var(--drift) * -.35),115vh,0) rotate(760deg)}}
.grand-opening-glow{position:absolute;z-index:-2;width:360px;height:360px;border-radius:50%;filter:blur(75px);opacity:.35}.glow-one{top:-170px;left:-100px;background:#00d9ff}.glow-two{right:-140px;bottom:-200px;background:#ff7a00}
.grand-opening-card{width:min(780px,100%);padding:clamp(32px,7vw,70px);border:1px solid #ffffff38;border-radius:32px;background:linear-gradient(150deg,#0d1a42e8,#07102de8);box-shadow:0 32px 90px #0009,0 0 0 8px #ffffff0a;text-align:center;backdrop-filter:blur(16px)}
.grand-opening-logo{width:92px;height:92px;border-radius:24px;object-fit:cover;box-shadow:0 16px 42px #001b5b99}
.grand-opening-kicker{margin:24px 0 8px;color:#74e7ff;font-size:12px;font-weight:950;letter-spacing:.2em}
.grand-opening-year{display:inline-block;margin:4px 0 -4px;background:linear-gradient(90deg,#72eaff,#fff 45%,#ffc348);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(56px,13vw,112px);font-weight:1000;letter-spacing:-.06em;line-height:.9;text-shadow:0 0 50px #2ddcff44}
.grand-opening h1{margin:14px 0 18px;font-size:clamp(38px,7vw,70px);line-height:.95}.grand-opening-lead{max-width:650px;margin:0 auto;color:#d7e1fa;font-size:clamp(16px,2.5vw,21px);line-height:1.6}
.grand-opening-video{margin:30px auto 0}.grand-opening-feature{display:block;width:100%;max-height:72vh;border:1px solid #6fe7ff66;border-radius:22px;background:#020617;box-shadow:0 18px 55px #0008;object-fit:contain}.grand-opening-video-note{margin:10px 8px 0;color:#aebcdd;font-size:11px;line-height:1.45}.grand-opening-email-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:16px auto 2px;padding:11px 24px;border:1px solid #78e9ff;border-radius:13px;background:#f8fcff;color:#0e4fc5;font-weight:950;box-shadow:0 10px 28px #0005;transition:transform .18s ease,filter .18s ease}.grand-opening-email-action:hover{filter:brightness(1.05);transform:translateY(-2px)}
.grand-opening-status{display:inline-flex;align-items:center;gap:9px;margin:28px auto 0;padding:9px 15px;border:1px solid #6cefc899;border-radius:999px;background:#0c6c5555;color:#a8ffe4;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.grand-opening-status i{width:9px;height:9px;border-radius:50%;background:#69ffc4;box-shadow:0 0 16px #69ffc4;animation:status-pulse 1.8s ease-in-out infinite}@keyframes status-pulse{50%{opacity:.45;transform:scale(.72)}}
.grand-opening-actions{display:flex;justify-content:center;gap:13px;margin-top:30px}.grand-opening-actions a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border-radius:13px;font-weight:950;text-align:center;transition:transform .18s ease,filter .18s ease}.grand-opening-actions a:hover{filter:brightness(1.1);transform:translateY(-2px)}.grand-opening-primary{background:linear-gradient(135deg,#ffbd2d,#ff7400);color:#241000;box-shadow:0 12px 32px #ff7b0044}.grand-opening-secondary{border:1px solid #78e9ff88;background:#0e2c62;color:#fff}.grand-opening-note{margin:24px 0 0;color:#9cacca;font-size:13px}
@media(max-width:640px){.grand-opening{padding:38px 14px 58px}.grand-opening-card{padding:35px 20px;border-radius:24px}.grand-opening-logo{width:76px;height:76px}.grand-opening-feature{border-radius:16px}.grand-opening-actions{display:grid}.grand-opening-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){.confetti-piece{animation-duration:18s!important}.grand-opening-status i{animation:none}}
