:root {
  --brand-main: #3d033f; --brand-sub: #680e34; --brand-accent: #a40f4e;
  --brand-background: #090712; --brand-background-deep: #05040b;
  --brand-surface: #171124; --brand-surface-soft: #20142d;
  --brand-title: #f5f1f7; --brand-text: #e5dfe9; --brand-muted: #c4b9ca;
  --brand-silver: #d7d5dd; --brand-gold: #bda36d;
  --brand-cta: #8f0b47; --brand-cta-hover: #a71358;
  --brand-line: rgba(216, 211, 222, 0.22); --brand-error: #ffb1c1;
  --font-title: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", Georgia, serif;
  --font-body: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-family: var(--font-body); color: var(--brand-text); background: var(--brand-background); font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; overflow-x: hidden; background-color: #090511; background-image: linear-gradient(rgba(8,4,16,.12),rgba(8,4,16,.3)),url("./assets/wave-noise-background.png?v=20260829101735"); background-position: center top; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; line-height: 1.8; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center top,transparent 0%,rgba(6,3,13,.04) 48%,rgba(4,2,10,.3) 100%); }
body::after { content:none; }
button,input,select,textarea { font: inherit; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.page-glow { display:none; }
.page-glow--top { top:-22rem;right:-12rem; }.page-glow--bottom { bottom:-23rem;left:-14rem; }
.shell { position:relative;width:min(100% - 28px,760px);margin:0 auto;padding:44px 0 78px; }
.form-card { position:relative;overflow:hidden;padding:clamp(34px,7vw,66px) clamp(20px,7vw,68px) clamp(42px,8vw,74px);border:1px solid rgba(228,223,231,.4);border-radius:24px;background-image:linear-gradient(rgba(15,5,25,.2),rgba(15,5,25,.2)),url("./assets/wave-noise-background.png?v=20260829101735");background-size:cover;background-position:center center;background-repeat:no-repeat;box-shadow:0 32px 90px rgba(0,0,0,.62),0 0 52px 5px rgba(132,40,118,.22),inset 0 1px rgba(255,255,255,.13),inset 0 -1px rgba(0,0,0,.52); }
.form-card::before { content:"";position:absolute;inset:8px;border:1px solid rgba(229,224,233,.18);border-radius:17px;pointer-events:none;box-shadow:inset 0 0 46px rgba(211,195,217,.045),0 0 24px rgba(156,72,144,.09); }
.form-card::after { content:none; }
.moon-mark { width:76px;height:62px;margin:0 auto 14px;position:relative;color:var(--brand-silver); }
.moon { position:absolute;width:48px;height:48px;left:10px;top:5px;border-radius:50%;box-shadow:-11px 7px 0 -3px rgba(215,213,221,.8);transform:rotate(-15deg); }
.star { position:absolute;font-family:Georgia,serif;color:#e6dfea;text-shadow:0 0 12px rgba(223,198,232,.65); }.star--one{right:3px;top:-5px;font-size:20px}.star--two{right:13px;bottom:3px;font-size:31px}
.intro { position:relative;z-index:1;text-align:center;filter:drop-shadow(0 0 18px rgba(142,53,133,.2)); }
.eyebrow { margin:0 0 14px;color:var(--brand-title);font-family:var(--font-title);font-size:clamp(34px,7vw,50px);font-weight:700;line-height:1.4;letter-spacing:.08em;text-shadow:0 2px 28px rgba(211,188,219,.18); }
h1 { margin:0;color:var(--brand-title);font-family:var(--font-title);font-size:clamp(26px,5.3vw,36px);font-weight:700;line-height:1.48;letter-spacing:.055em;text-shadow:0 2px 22px rgba(211,188,219,.12); }
.mobile-break{display:none}.ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto;color:var(--brand-gold)}.ornament span{width:46px;height:1px;background:linear-gradient(90deg,transparent,rgba(215,213,221,.55))}.ornament span:last-child{transform:rotate(180deg)}.ornament b{font-size:12px;font-weight:400}
.lead { color:var(--brand-title);font-family:var(--font-title);font-size:clamp(17px,4vw,20px);font-weight:700;line-height:2;letter-spacing:.035em; }.lead p{margin:0 0 22px}.lead p:last-child{margin-bottom:0}.narrow-only{display:none}
form { position:relative;z-index:1;margin-top:clamp(46px,8vw,72px); }
.field { padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid var(--brand-line); }
.field__heading { display:flex;align-items:flex-start;gap:13px;margin-bottom:12px; }.field__number{flex:0 0 34px;padding-top:3px;color:#c7bbcd;font-family:Georgia,serif;font-size:13px;letter-spacing:.08em}
.field label:not(.date-select),.field-label { display:inline;color:var(--brand-title);font-family:var(--font-title);font-size:clamp(19px,4vw,22px);font-weight:700;line-height:1.5;letter-spacing:.025em; }
.required { display:inline-block;margin-left:9px;padding:1px 8px;border:1px solid rgba(189,163,109,.55);border-radius:999px;color:#d9c38f;font-family:var(--font-body);font-size:11px;font-weight:700;line-height:1.7;vertical-align:2px; }
.field__help { margin:0 0 18px 47px;color:var(--brand-muted);font-family:var(--font-title);font-size:15px;font-weight:500;line-height:1.85; }
input,select,textarea { border:1px solid rgba(215,213,221,.26);border-radius:11px;outline:none;background:rgba(248,246,250,.96);color:#2d2431;font-family:var(--font-body);font-size:16px;font-weight:500;line-height:1.7;transition:border-color 160ms ease,box-shadow 160ms ease,background 160ms ease; }
input,textarea { width:calc(100% - 47px);margin-left:47px; } input{min-height:58px;padding:13px 15px} textarea{min-height:238px;padding:16px;resize:vertical;overflow-y:auto} input::placeholder,textarea::placeholder{color:#837889}
input:focus,select:focus,textarea:focus { border-color:#c596bf;background:#fff;box-shadow:0 0 0 4px rgba(164,15,78,.19),0 0 24px rgba(87,11,82,.13); }
.date-selects { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:10px;width:calc(100% - 47px);margin-left:47px; }.date-select{position:relative;min-width:0}.date-select::after{content:"⌄";position:absolute;top:50%;right:12px;transform:translateY(-56%);color:#625468;font-size:15px;pointer-events:none}.date-select select{width:100%;min-width:0;min-height:58px;padding:11px 31px 11px 12px;appearance:none;-webkit-appearance:none;cursor:pointer}
.field--featured { position:relative;padding:24px 18px 36px;margin-inline:-18px;border:1px solid rgba(210,199,215,.27);border-radius:16px;background:linear-gradient(138deg,rgba(156,35,96,.115),rgba(80,20,87,.055) 46%,rgba(255,255,255,.018));box-shadow:0 9px 24px rgba(0,0,0,.13),inset 0 1px rgba(235,228,238,.055),inset 0 -1px rgba(44,8,41,.25),inset 0 0 32px rgba(132,24,89,.035); }.field--featured .field__heading::after{content:"✦";margin:4px 0 0 auto;color:#c46a96;font-size:12px;text-shadow:0 0 11px rgba(190,91,142,.46)}
.field.has-error input,.field.has-error select,.field.has-error textarea { border-color:#d95d7a;background:#fff7f9; }.field__error{min-height:0;margin:8px 0 0 47px;color:var(--brand-error);font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1.6}
.test-verify-notice{margin:0 0 30px;padding:17px 18px;border:1px solid rgba(189,163,109,.54);border-radius:14px;background:rgba(40,16,49,.48);color:var(--brand-title);font-family:var(--font-title);font-size:15px;line-height:1.85}.test-verify-notice p{margin:0}
.error-summary { margin:0 0 38px;padding:18px 19px;border:1px solid rgba(255,135,158,.5);border-radius:12px;background:rgba(110,17,52,.36);color:#ffd4dc;font-family:var(--font-body); }.error-summary__title{margin:0;font-weight:700}.error-summary ul{margin:8px 0 0;padding-left:1.25em;font-size:14px;line-height:1.7}
.privacy-note { margin:0 auto 24px;color:var(--brand-muted);text-align:center;font-family:var(--font-title);font-size:13px;font-weight:500;line-height:1.7; }.privacy-note span{color:var(--brand-gold)}
.submit-button { display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:68px;padding:14px 22px;border:1px solid rgba(237,213,226,.54);border-radius:999px;color:white;background:linear-gradient(135deg,#6c0a3a 0%,var(--brand-cta) 50%,#a11758 100%);box-shadow:0 12px 32px rgba(96,4,47,.48),inset 0 1px rgba(255,255,255,.24);cursor:pointer;font-family:var(--font-title);font-size:17px;font-weight:700;letter-spacing:.08em;transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease; }.submit-button:hover{transform:translateY(-1px);background:linear-gradient(135deg,#7b0b42,var(--brand-cta-hover),#b11c61);box-shadow:0 15px 36px rgba(111,4,55,.55)}.submit-button:active{transform:translateY(1px)}.submit-button:focus-visible{outline:3px solid rgba(224,177,208,.46);outline-offset:4px}.button-arrow{font-family:sans-serif;font-size:20px;font-weight:300}.submit-caption{margin:11px 0 0;color:#aea4b2;text-align:center;font-family:var(--font-body);font-size:12px}
.completion { min-height:min(720px,calc(100vh - 80px));text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center; }.completion[hidden]{display:none}.completion__symbol{display:grid;place-items:center;width:74px;height:74px;margin-bottom:27px;border:1px solid rgba(215,213,221,.48);border-radius:50%;color:#f1eaf3;background:radial-gradient(circle,#48123f,#241027);box-shadow:0 0 0 7px rgba(146,38,117,.11),0 0 36px rgba(151,23,121,.22)}.completion__symbol span{font-family:sans-serif;font-size:29px;font-weight:300}.completion__message{color:var(--brand-text);font-family:var(--font-title);font-size:clamp(15px,3.7vw,17px);font-weight:500;line-height:2}.completion__message p{margin:0 0 22px}.completion__wait{color:var(--brand-title);font-weight:700}
@media(max-width:560px){.shell{width:min(100% - 18px,760px);padding:18px 0 40px}.form-card{padding:32px 19px 44px;border-radius:19px;background-image:linear-gradient(rgba(15,5,25,.2),rgba(15,5,25,.2)),url("./assets/wave-noise-background.png?v=20260829101735");background-size:cover;background-position:center center;background-repeat:no-repeat}.form-card::before{inset:6px;border-radius:14px}.mobile-break,.narrow-only{display:block}.field{padding-bottom:34px;margin-bottom:35px}.field__heading{gap:8px}.field__number{flex-basis:28px}.field__help,input,textarea,.field__error,.date-selects{width:100%;margin-left:0}.field__help{margin-top:11px}textarea{min-height:250px}.field--featured{padding:23px 14px 34px;margin-inline:-5px;background:linear-gradient(138deg,rgba(102,13,65,.38),rgba(40,11,52,.34) 48%,rgba(17,8,28,.28));box-shadow:0 9px 24px rgba(0,0,0,.12),inset 0 1px rgba(235,228,238,.075),inset 0 -1px rgba(44,8,41,.18)}.date-selects{gap:7px;grid-template-columns:1.35fr 1fr 1fr}.date-select select{min-height:56px;padding-left:9px;padding-right:24px;font-size:15px}.date-select::after{right:8px}.submit-button{min-height:66px;font-size:16px;letter-spacing:.045em}}
@media(max-width:365px){.form-card{padding-inline:15px}h1{font-size:25px}.field label:not(.date-select),.field-label{font-size:18px}.required{margin-left:6px;padding-inline:6px}.date-selects{gap:5px}.date-select select{padding-left:7px;padding-right:20px;font-size:14px}.date-select::after{right:6px;font-size:13px}.submit-button{gap:10px;padding-inline:14px;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
