:root{--turq:#1fd3d3;--sea:#0aa0bd;--deep:#083b59;--coral:#ff4b4b;--sun:#ffd176;--sand:#fff7ec;--white:#ffffff;}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--deep);overflow-x:hidden}
.layer{position:fixed;inset:0;pointer-events:none}
.sky{background:radial-gradient(circle at 70% -10%, #ffe7a8 0%, rgba(255,231,168,0.0) 45%),linear-gradient(180deg,#59e3e3 0%,#28cfd1 40%,#17b3c1 70%,#0aa0bd 100%);animation:skyShift 16s ease-in-out infinite}
@keyframes skyShift{0%,100%{filter:saturate(1)}50%{filter:saturate(1.15)}}
.sun{--size:min(36vmin,340px);width:var(--size);height:var(--size);margin:auto;border-radius:50%;position:fixed;left:50%;top:18vh;transform:translateX(-50%);background:radial-gradient(circle at 50% 60%,var(--sun) 0%,#ffbe55 55%,rgba(255,139,63,.85) 85%,rgba(255,139,63,0) 100%);box-shadow:0 0 120px rgba(255,190,85,.55);opacity:.92;filter:contrast(1.05);animation:pulse 6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.04)}}
.palms{background-repeat:no-repeat;background-size:contain;background-position:center bottom;bottom:0;height:70vh;top:auto;opacity:.9;animation:sway 5.5s ease-in-out infinite;transform-origin:bottom center;filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}
.palms-left{left:-6vw;right:auto;width:40vw;background-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 300 520\"><path fill=\"%23083b59\" d=\"M170 510c-8 0-15-7-15-15V260c0-8 7-15 15-15s15 7 15 15v235c0 8-7 15-15 15z\"/><path fill=\"%23083b59\" d=\"M170 265c-40-55-120-70-160-60 45-60 130-50 160-10 0-70 85-90 130-70-60 15-85 55-85 85 35-35 110-35 150-5-70-5-130 25-150 55 40-10 95 0 125 25-60-5-115 0-140 15z\"/></svg>')}
.palms-right{right:-6vw;left:auto;width:42vw;animation-delay:.6s;background-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 520\"><path fill=\"%23083b59\" d=\"M150 510c-8 0-15-7-15-15V255c0-8 7-15 15-15s15 7 15 15v240c0 8-7 15-15 15z\"/><path fill=\"%23083b59\" d=\"M150 260c30-45 100-70 160-50-40-40-130-35-165 10 0-55-70-80-120-75 55 10 95 45 95 85-25-30-110-30-150-2 68 0 125 25 150 52-38-10-90 0-125 25 62-5 120 2 155 15z\"/></svg>')}
@keyframes sway{0%,100%{transform:rotate(0deg)}50%{transform:rotate(2deg)}}
.waves-back,.waves-front{bottom:0;top:auto;height:28vh;background-repeat:repeat-x;background-position:0 100%}
.waves-back{background-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1440 320\"><path fill=\"%230aa0bd\" fill-opacity=\"0.55\" d=\"M0,288L80,250.7C160,213,320,139,480,112C640,85,800,107,960,133.3C1120,160,1280,192,1360,208L1440,224L1440,320L0,320Z\"></path></svg>');animation:wave 22s linear infinite}
.waves-front{background-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1440 320\"><path fill=\"%23083b59\" fill-opacity=\"0.65\" d=\"M0,288L80,272C160,256,320,224,480,202.7C640,181,800,171,960,186.7C1120,203,1280,245,1360,266.7L1440,288L1440,320L0,320Z\"></path></svg>');animation:wave 14s linear infinite reverse}
@keyframes wave{0%{background-position-x:0}100%{background-position-x:1440px}}

.wrap{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 16px}
.card{text-align:center;background:rgba(255,255,255,0.12);border:1px solid rgba(8,59,89,0.12);backdrop-filter: blur(8px);border-radius:26px;max-width:860px;padding:32px 24px 26px;box-shadow:0 18px 50px rgba(8,59,89,0.22)}
.logo-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.logo-wrap img{width:min(560px,84vw);height:auto;filter: drop-shadow(0 8px 22px rgba(8,59,89,0.3));border-radius:16px}
.fallback .brand{display:block;font-weight:800;letter-spacing:1px;text-shadow:0 2px 0 rgba(8,59,89,0.12)}
.fallback .miami{font-size:44px;color:var(--coral)}
.fallback .pizza{font-size:44px;color:var(--sea)}
.fallback .tagline{font-size:18px;margin-top:6px;color:var(--sand)}
h1{font-size:42px;margin:10px 0 4px;color:var(--white)}
.subtitle{margin:0 0 16px;color:rgba(255,255,255,0.95);font-weight:600}

.countdown{display:flex;gap:14px;justify-content:center;align-items:center;margin:10px auto 6px}
.countdown .time{background:rgba(255,255,255,0.72);padding:10px 12px;border-radius:14px;min-width:74px;box-shadow:0 6px 18px rgba(8,59,89,0.18)}
.countdown .time span{display:block;font-weight:800;font-size:28px;color:var(--deep)}
.countdown .time small{display:block;font-size:12px;color:rgba(8,59,89,0.8);letter-spacing:.5px;text-transform:uppercase}
.open-note{color:#fff;opacity:.9;margin:0 0 10px}

.cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}
.btn{background:var(--deep);color:var(--white);padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.2px;transition:transform .12s ease, box-shadow .12s ease;box-shadow:0 10px 24px rgba(8,59,89,0.28)}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(8,59,89,0.35)}
.btn-ghost{background:transparent;border:2px solid var(--white);color:var(--white);box-shadow:none}

.signup{margin:14px auto 4px;max-width:560px}
.signup label{display:block;color:#fff;font-weight:600;margin:2px 0 8px}
.signup .row{display:flex;gap:10px}
.signup input{flex:1;padding:12px 14px;border-radius:12px;border:1px solid rgba(8,59,89,.25);font-size:16px}
.signup .hint{color:rgba(255,255,255,0.9);font-size:12px;margin:6px 0 0}
.toast{opacity:0;transition:opacity .2s ease;color:#fff;margin:8px 0 0}
.toast.show{opacity:1}
.toast.error{color:#ffd2d2}

.socials{display:flex;gap:10px;justify-content:center;margin:10px auto 2px}
.icon{width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,0.8);border-radius:50%;box-shadow:0 6px 18px rgba(8,59,89,0.18)}
.icon svg{width:22px;height:22px;fill:var(--deep)}

.details{margin-top:12px;color:rgba(8,59,89,0.95);background:rgba(255,255,255,0.6);border-radius:12px;padding:10px 14px}
.footer{margin-top:18px;text-align:center;color:rgba(255,255,255,0.95);font-size:14px}

@media (max-width:560px){
  h1{font-size:36px}
  .card{padding:24px 16px}
  .countdown .time{min-width:64px}
  .signup .row{flex-direction:column}
}
