:root{color-scheme:dark;--background:#100312;--text:#fff8ff;--muted:#dac6df;--pink:#f017ad;--line:rgba(237,137,222,.18);font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{background:var(--background);scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:6px}
button:disabled{cursor:default}
.hero{position:relative;isolation:isolate;min-height:740px;height:calc(100svh - 76px);max-height:1100px;display:flex;align-items:center;overflow:hidden}
.scene,.neon-light{position:absolute;inset:0;background-image:url('assets/neon-heart-studio.png');background-size:cover;background-position:70% 50%;background-repeat:no-repeat;pointer-events:none}
.scene{z-index:-2}
.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,3,18,.16),transparent 55%),linear-gradient(0deg,#100312,transparent 12%);pointer-events:none}
.neon-light{filter:brightness(1.6) saturate(1.1) blur(8px);mix-blend-mode:screen;mask-image:radial-gradient(ellipse 26% 44% at 73% 45%,#000 15%,transparent 85%);animation:neon-breathe 7s ease-in-out infinite;opacity:.1;will-change:opacity}
.hero-content{position:relative;width:min(49%,680px);margin-left:max(6.5vw,calc((100vw - 1480px)/2));padding:76px 0 100px}
h1{margin:0 0 30px;font-size:clamp(72px,7.3vw,116px);line-height:.96;font-weight:800;letter-spacing:-.052em;text-transform:uppercase;text-wrap:balance}
h1>span{display:block}
.title-bottom>span{display:block}
.invitation{font-size:clamp(21px,2vw,29px);font-weight:700;line-height:1.25;letter-spacing:-.025em;margin:0 0 34px;max-width:520px}
.description{font-size:clamp(17px,1.5vw,22px);line-height:1.45;color:var(--muted);margin:0 0 35px;max-width:500px}
.primary{min-height:66px;display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid rgba(255,195,241,.3);border-radius:100px;padding:18px 30px;color:white;background:linear-gradient(110deg,#e820a0,#df0099);font-size:21px;line-height:1.2;font-weight:700;box-shadow:0 10px 40px #e1008a22;transition:background .2s,box-shadow .2s,transform .2s}
.primary:hover{background:linear-gradient(110deg,#f330b1,#ed0baa);box-shadow:0 10px 45px #f1009b44;transform:translateY(-2px)}
.primary:active{transform:translateY(0)}
.primary svg{width:25px;height:25px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
footer{min-height:76px;max-width:1480px;margin:auto;border-top:1px solid var(--line);padding:28px max(32px,3vw);display:flex;align-items:flex-start;justify-content:space-between;gap:24px;font-size:12px;line-height:1.7;color:#bda6c2}
footer p{margin:0 0 6px}footer nav{display:grid;gap:7px}footer a,.consent-row a,.policy-note a{color:#dfb1d7;text-underline-offset:3px}footer a:hover,.consent-row a:hover,.policy-note a:hover{color:white}.policy-note{font-size:12px;margin:0;line-height:1.5}.operator{max-width:390px}
.preview-label{opacity:.75}
dialog{width:min(590px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid #a451964d;border-radius:22px;background:linear-gradient(150deg,#241128,#130717);color:var(--text);box-shadow:0 30px 140px #000b;overflow:auto;overscroll-behavior:contain}
dialog::backdrop{background:#08030cce;backdrop-filter:blur(8px)}
body:has(dialog[open]){overflow:hidden}
.dialog-inner{padding:42px 38px 36px}
.close{position:absolute;top:10px;right:12px;width:44px;height:44px;font-size:30px;color:#dccddd;background:transparent;border:0;border-radius:50%;line-height:1}
.close:hover{background:#ffffff10}
.form-brand{margin:0 0 15px;color:#f596db;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
h2{font-size:35px;letter-spacing:-.04em;line-height:1.1;margin:0 0 16px}
.intro{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.preview-notice{font-size:12px;line-height:1.5;color:#bd9ac2;border-left:2px solid #e820a0;padding-left:10px;margin:0 0 25px}
form{display:grid;gap:19px}
label{display:grid;gap:9px;font-size:14px;line-height:1.4;color:#e5d5e8}
input:not([type=checkbox]){min-width:0;width:100%;background:#0d041077;border:1px solid #73517980;border-radius:10px;padding:15px;color:#fff;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}
input::placeholder{color:#aa8ab0}
input:not([type=checkbox]):focus{border-color:#e64abc;box-shadow:0 0 0 3px #f017ad19}
.consent-row{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.6;color:#bea6c4;cursor:pointer}
.consent-row input{width:18px;height:18px;flex:none;accent-color:#ed1aac;margin:1px 0 0}
.submit{width:100%;font-size:18px;min-height:58px}
.form-status{margin:0;color:#f2c6e9;line-height:1.5;font-size:14px}
.form-status[data-error=true]{color:#ffb5c5}
.noscript{padding:16px 30px;text-align:center;color:var(--muted)}
@keyframes neon-breathe{0%,100%{opacity:.04}50%{opacity:.46}}
@media(min-width:1600px){.hero-content{width:630px}.scene,.neon-light{background-position:70% 47%}}
@media(max-width:1050px) and (min-width:701px){.hero{min-height:720px}.hero-content{margin-left:5vw;width:47%}h1{font-size:clamp(64px,8vw,82px)}.invitation{font-size:22px}.description{font-size:18px}.primary{font-size:18px;padding:17px 24px;gap:20px}.scene,.neon-light{background-position:62% 50%}.scene:after{background:linear-gradient(90deg,#10031266,transparent 62%),linear-gradient(0deg,#100312,transparent 12%)}}
@media(max-width:700px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto;max-height:none;overflow:hidden;padding-bottom:66px}.scene{position:relative;inset:auto;width:100%;height:clamp(300px,90vw,480px);z-index:0;flex:none}.scene,.neon-light{background-size:auto 100%;background-position:94% 50%}.scene:after{background:linear-gradient(0deg,#100312,transparent 20%)}.neon-light{mask-image:radial-gradient(ellipse 60% 45% at 50% 42%,#000 15%,transparent 90%)}.hero-content{width:auto;margin:-5px 0 0;padding:0 28px;z-index:1}h1{font-size:clamp(43px,11.4vw,76px);line-height:1.02;letter-spacing:-.045em;margin-bottom:23px}.title-bottom>span{display:inline}.invitation{font-size:21px;max-width:400px;margin-bottom:13px}.description{font-size:17px;line-height:1.5;margin-bottom:27px;max-width:430px}.primary{font-size:19px;min-height:62px;width:100%;padding:17px 22px;justify-content:space-between}.desktop-break{display:none}.motion-toggle{right:22px;bottom:14px;background:transparent;font-size:11px;padding:6px 10px;min-height:36px}footer{margin:0 24px;padding:21px 0;font-size:10px;min-height:66px;gap:12px}.dialog-inner{padding:41px 24px 25px}h2{font-size:29px}dialog{max-height:calc(100dvh - 20px)}.submit{font-size:17px}.preview-label{max-width:100px;text-align:right}}
@media(max-width:700px){.scene,.neon-light{background-size:auto 125%;background-position:100% 50%}}
@media(max-width:700px){.hero{padding-bottom:36px}.invitation{margin-bottom:27px}footer{flex-direction:column;align-items:flex-start;gap:14px;font-size:11px}footer .preview-label{max-width:none;text-align:left}.preview-label{font-size:10px}}
@media(min-width:701px) and (max-width:1050px) and (orientation:portrait){.hero{height:auto;max-height:none;min-height:0;flex-direction:column;align-items:center;padding-bottom:72px}.scene{position:relative;inset:auto;width:100%;height:500px;z-index:0;background-size:auto 145%;background-position:100% 50%}.neon-light{background-size:auto 145%;background-position:100% 50%;mask-image:radial-gradient(ellipse 48% 55% at 62% 44%,#000 15%,transparent 90%)}.scene:after{background:linear-gradient(0deg,#100312,transparent 20%)}.hero-content{width:100%;max-width:650px;margin:0;padding:10px 42px 0;text-align:center}h1{font-size:70px;line-height:1.02;margin-bottom:25px}.title-bottom>span{display:inline}.invitation{max-width:none;font-size:25px}.description{max-width:none;font-size:20px;margin-bottom:28px}.primary{font-size:21px;min-width:330px}.motion-toggle{bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.neon-light{animation:none;opacity:.16;will-change:auto}.primary{transition:none}.primary:hover{transform:none}.motion-toggle{display:none}}
