:root{--paper:#f1eff5;--ink:#221c33;--muted:#6e6880;--seal:#a8243a;--seal-dark:#861a2d;--gold:#b8955a;--card:#fff;--line:#dcd7e4;--display:"Cormorant Garamond", "Times New Roman", serif;--body:"Be Vietnam Pro", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}.page{max-width:1080px;min-height:100dvh;margin:0 auto;padding:20px 16px 48px}.masthead{min-height:28px;margin-bottom:20px}.brand{font:600 15px/1 var(--body);letter-spacing:.02em;color:var(--muted)}.layout{gap:28px;display:grid}@media (width>=860px){.layout{grid-template-columns:minmax(300px,380px) 1fr;align-items:start;gap:64px}.frame-col{position:sticky;top:32px}}.frame{aspect-ratio:9/16;width:min(100%,380px);box-shadow:0 0 0 1px var(--gold), 0 0 0 7px var(--paper), 0 0 0 8px #b8955a8c, 0 30px 60px -30px #221c338c;background:linear-gradient(160deg,#2d2542,#19142a);border-radius:6px;margin:0 auto;position:relative;overflow:hidden}@media (width<=859px){.frame{width:min(58vw,260px)}}.frame-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame-photo+.frame-text{background:linear-gradient(#19142a00 0%,#19142ae0 100%)}.frame-empty{border:1px dashed #b8955a80;border-radius:50% 50% 46% 46%;position:absolute;inset:14% 22% 38%}.frame-text{text-align:center;color:#f6f1e6;gap:2px;padding:48px 20px 26px;display:grid;position:absolute;bottom:0;left:0;right:0}.frame-for{font:italic 500 18px/1.2 var(--display);color:#d9c59a}.frame-name{font:600 clamp(28px, 7vw, 36px)/1.1 var(--display);overflow-wrap:anywhere}.frame-video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.frame-veil{color:#f6f1e6;text-align:center;background:#19142a9e;place-content:center;justify-items:center;gap:6px;display:grid;position:absolute;inset:0}.frame-veil b{font:600 24px/1.2 var(--display)}.frame-veil span:last-child{font-variant-numeric:tabular-nums;color:#d9c59a}.seal{background:radial-gradient(circle at 35% 35%, #c9405a, var(--seal-dark));border-radius:50%;width:46px;height:46px;animation:1.8s ease-in-out infinite breathe;box-shadow:0 0 0 3px #b8955ab3}@keyframes breathe{50%{opacity:.75;transform:scale(.88)}}.panel{width:100%;max-width:520px;margin:0 auto}@media (width>=860px){.panel{margin:0;padding-top:24px}}h1{font:600 clamp(34px, 6vw, 46px)/1.08 var(--display);letter-spacing:-.005em;margin:0 0 12px}.lead{color:var(--muted);max-width:46ch;margin:0 0 28px}form{gap:18px;display:grid}.field{gap:6px;font-size:15px;font-weight:500;display:grid}.field small{color:var(--muted);font-weight:400}.hint{font-size:13px}input[type=text],input[type=tel],input[type=email],input[type=date]{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;min-height:48px;padding:12px 14px;font-weight:400}input:focus-visible,button:focus-visible,a:focus-visible,.choice:focus-within{outline:2px solid var(--seal);outline-offset:2px}input:disabled{opacity:.6}.choices{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.choices legend{margin-bottom:6px;font-size:15px;font-weight:500}.choice{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:15px}.choice input{opacity:0;pointer-events:none;position:absolute}.choice.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.photo-actions,.actions{flex-wrap:wrap;gap:10px;display:flex}button,a.primary{font:600 16px/1 var(--body);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:50px;padding:0 22px;text-decoration:none;display:inline-flex}.primary{background:var(--seal);color:#fff}.primary:hover{background:var(--seal-dark)}form .primary{width:100%;margin-top:4px}.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}.ghost:hover{border-color:var(--ink)}button:disabled{opacity:.65;cursor:progress}.error{color:var(--seal-dark);background:#f7e3e7;border-radius:10px;margin:0;padding:10px 14px;font-size:15px}.captcha{min-height:65px}@media (prefers-reduced-motion:reduce){.seal{animation:none}}
