@font-face{font-family:GiadaSans;src:local("Helvetica Neue");font-display:swap}
:root{color-scheme:dark;--black:#080708;--paper:#f2e9e8;--muted:#aaa09f;--red:#e31b23;--pink:#ffb9cd}
*{box-sizing:border-box}
html{min-width:280px;background:var(--black)}
body{margin:0;background:var(--black);color:var(--paper);font-family:GiadaSans,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--pink);outline-offset:8px;border-radius:2px}
::selection{background:#e31b23;color:white}
.atmosphere{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 44% 53% at 50% 45%,rgba(105,8,24,.17),transparent 85%),radial-gradient(ellipse 72% 42% at 50% 106%,rgba(116,15,35,.14),transparent 72%)}
.grain{position:fixed;inset:0;z-index:3;opacity:.045;pointer-events:none;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 type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.page{position:relative;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:34px 5vw 32px;isolation:isolate}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;font-weight:400;line-height:1.5;letter-spacing:.19em;text-transform:uppercase;color:var(--muted)}
.city{color:#c5bdbc}
.opening{display:flex;align-items:center;gap:10px}
.status-dot{height:4px;width:4px;border-radius:50%;background:#f17b86;box-shadow:0 0 12px #e31b2360}
main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 0 57px}
.brand{display:flex;flex-direction:column;align-items:center;margin:0;width:clamp(300px,43vw,620px);max-width:88vw;font-weight:400}
.giada-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 25px #720d1222);animation:arrive 1.4s ease-out both}
.brand-caption{align-self:flex-end;max-width:100%;margin-top:-11px;margin-right:clamp(6px,1.4vw,18px);text-align:center}
.neon{display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(22px,2.45vw,35px);font-weight:200;letter-spacing:.19em;line-height:1.5;text-transform:uppercase;white-space:nowrap;color:#ffd3e1;text-shadow:0 0 1px #fff,0 0 5px #ffa4c0,0 0 12px #ff719f99,0 0 30px #ee24556b;transform:rotate(-3deg);animation:neon-arrive 1.7s ease-out both}
.cuisine{display:block;margin-top:5px;padding-right:2px;text-align:right;font-size:10px;font-weight:400;line-height:1.5;letter-spacing:.36em;text-transform:uppercase;color:#eadfda;animation:neon-arrive 1.7s ease-out both}
.neon-south,.neon-beach{display:inline-block}
.neon-south{animation:neon-flutter 15s linear 2s infinite}
.neon-beach{animation:neon-flutter 19s linear 8s infinite}
.invitation{display:flex;flex-direction:column;align-items:center;margin-top:59px;animation:arrive 1.8s ease-out both}
.date{margin:0 0 27px;font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:#d5cbcc}
.follow{display:flex;align-items:center;gap:13px;min-height:49px;padding:13px 22px;border:1px solid #6b5359;border-radius:2px;background:#160e1138;font-size:12px;letter-spacing:.035em;transition:background .25s,border-color .25s,box-shadow .25s}
.follow svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.3}
.follow .dot{fill:currentColor;stroke:none}
.follow .arrow{width:15px;height:15px;margin-left:12px;stroke-width:1.2;transition:transform .25s}
.follow:hover{border-color:#d58d9d;background:#2a131a;box-shadow:0 0 25px #e31b2310}
.follow:hover .arrow{transform:translate(2px,-2px)}
footer{border-top:1px solid #ffffff16;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.address{display:flex;align-items:center;gap:12px;min-height:44px}
.address svg{width:18px;height:23px;stroke:#b49b9f;stroke-width:1.2}
.address>span{display:flex;flex-direction:column;gap:6px}
.street{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#d5cccb}
.locality{font-size:10px;color:#95898a;letter-spacing:.075em}
.handle{font-size:11px;letter-spacing:.05em;color:#b1a4a5;min-height:44px;display:flex;align-items:center;gap:19px}
.handle span{font-size:17px;color:#caa4ad}
.address:hover .street,.handle:hover{color:#fff0f5}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes neon-arrive{from{opacity:0}to{opacity:1}}
/* A brief, shallow dimming evokes real neon without a bright flash or blackout. */
@keyframes neon-flutter{0%,42%,43.2%,100%{opacity:1}42.3%,42.6%{opacity:.82}42.8%{opacity:.94}43%{opacity:.88}}
@media(min-width:1500px){.page{padding-left:6vw;padding-right:6vw}main{padding-top:60px;padding-bottom:70px}.invitation{margin-top:69px}}
@media(max-width:600px){.page{padding:25px 25px 22px}.masthead{font-size:10px;letter-spacing:.13em}.opening{gap:7px}.status-dot{width:3px;height:3px}main{padding:60px 0 66px}.brand{width:88vw;max-width:440px}.brand-caption{margin-top:-1px}.neon{font-size:23px;letter-spacing:.15em}.cuisine{margin-top:5px}.invitation{margin-top:50px}.date{font-size:10px;letter-spacing:.21em;margin-bottom:23px}.follow{font-size:12px;min-height:49px;padding:12px 18px}.follow .arrow{margin-left:8px}footer{gap:20px;padding-top:19px}.street{font-size:10px;letter-spacing:.09em}.locality{font-size:10px}.address{gap:9px}.address svg{width:15px}.handle{font-size:10px;letter-spacing:0;gap:9px}}
@media(max-width:370px){.page{padding-left:20px;padding-right:20px}.opening{letter-spacing:.08em}.neon{font-size:20px}footer{align-items:flex-start;flex-direction:column;gap:4px}.handle{padding-left:24px}}
@media(max-height:740px) and (min-width:601px){main{padding:28px 0 34px}.brand{width:440px}.neon{font-size:25px}.invitation{margin-top:34px}.date{margin-bottom:20px}.page{padding-top:25px;padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
