/* Theatrical invitation effects; all remain optional under reduced motion. */
.hero h1{font-size:158px;filter:drop-shadow(0 0 16px #ffe23830)}
.hero h1>span:first-child{color:#08090b;text-shadow:0 0 28px #ffe23820}
.hero h1 .family-name{font-size:134px;text-shadow:0 0 28px #ffe23845,0 5px 0 #675b12}
.hero-subtitle{display:flex;align-items:center;justify-content:center;gap:9px;font-size:24px}
.hero-subtitle strong{font-size:43px;line-height:1;display:inline-block;width:30px;text-shadow:0 0 17px #ffe23870}
[data-age-reveal]{display:inline-block;min-width:44px;height:48px;margin:0 -7px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;text-shadow:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation}
[data-age-reveal]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:3px}
.level-pop{animation:level-pop .3s ease-out both}
.hero-eyebrow{color:#b9e5e8}
.hero-cta{min-height:52px;min-width:206px;position:relative;overflow:hidden;box-shadow:0 0 26px #ffe23825,0 4px 0 #897718}
.hero-cta:before{content:'';position:absolute;left:-70px;top:-30%;width:22px;height:170%;background:#fff;opacity:.22;transform:rotate(24deg);animation:button-sheen 4.5s 2s infinite}
.hero-cta:hover{box-shadow:0 0 38px #ffe23865,0 4px 0 #897718;transform:translateY(-3px)}
.hero-cta:active{transform:translateY(3px);box-shadow:0 0 18px #ffe23860}
.hero-tools{position:absolute;right:5%;bottom:32px;display:flex;gap:10px}
.hero-tools .flyby{position:static;background:#0d1e2190;border-color:#4c8a91;color:#a1f7ff}
.celebrate-button{color:#ffe238;border-color:#897a2f;background:#27220b90}
.hero-tools .icon-button:hover{box-shadow:0 0 20px #73e0e530}
.music-toggle{color:var(--cyan);border-color:#4c8a91;background:#0d1e2190}
.music-toggle[aria-pressed="true"]{background:#1b454a;border-color:var(--cyan);box-shadow:0 0 18px #73e0e530}
.hyperspace .hero-copy{animation:warp-react 2.5s ease-out}
.hero:after{content:'';position:absolute;inset:0;background:#9aeaf1;opacity:0;pointer-events:none;z-index:-1}
.hero.hyperspace:after{animation:warp-flash 1.1s ease-out}
.mission-marquee{height:36px;overflow:hidden;border-top:1px solid #6d6122;border-bottom:1px solid #6d6122;background:#17170d;color:#ffe238;display:flex;align-items:center}
.mission-marquee>div{display:flex;width:max-content;flex:none;animation:marquee 40s linear infinite}
.mission-marquee span{white-space:nowrap;font-family:Barlow,Arial,sans-serif;font-size:13px;padding-right:32px}
.mission-marquee b{font-family:Arial,sans-serif;font-size:10px;color:#779ca0;padding:0 24px}
.crew-band{box-shadow:0 0 45px #ffe23812}
.saber.cyan{animation:saber-breathe 3s infinite alternate}
.saber.red{animation:saber-breathe 3s 1s infinite alternate}
.rsvp-band{background:#0f1113;color:#f3f5ee}
.rsvp-copy .eyebrow{color:#94cbd0}
.rsvp-copy h2 em{color:#73e0e5;text-shadow:0 0 26px #73e0e51c}
.rsvp-copy>p:not(.eyebrow){color:#a1acb4}
.rsvp-copy .deadline{color:#c3d8dc!important}
.rsvp-copy .deadline svg{color:#73e0e5}
.host-contact strong{color:#d6e2e7}
.rsvp-stamp{border-color:#48797a;color:#65abad}
.rsvp-stamp b{border-color:#48797a}
.rsvp-form-wrap{border:1px solid #49442c;border-top:3px solid #ffe238;background:#171a1c;padding:27px;border-radius:6px;box-shadow:0 0 35px #ffe23808;color-scheme:dark}
.form-title h3{color:#f0f2ed}
.form-step{color:#9aa7af}
.attendance label>span{color:#e3e7e8;background:#23282c;border-color:#4e5b64;min-height:52px}
.attendance input:checked+span{color:#acffdc;background:#15382f;border-color:#65dba8;box-shadow:inset 0 0 0 1px #65dba8,0 0 15px #65dba820}
.attendance label:nth-of-type(2) input:checked+span{color:#ffc5ba;background:#3c2625;border-color:#df8778;box-shadow:inset 0 0 0 1px #df8778,0 0 15px #df877815}
.attendance input:focus-visible+span{outline-color:#ffe238}
.choice-pop{animation:choice-pop .3s ease-out}
.field input,.field textarea{background:#0c1012;border-color:#465159;color:#eff4f4}
.field input::placeholder,.field textarea::placeholder{color:#8798a0}
.field input:focus,.field textarea:focus{outline-color:#73e0e5;border-color:#73e0e5}
.required{color:#ffb285}
.optional{color:#94a4ae}
.count-field{border-color:#41494f}
.count-field small{color:#9babb4}
.stepper button{color:#d7e4e7;background:#283239;border-color:#5d717b}
.stepper button:hover{background:#36505c}
.stepper input{color:#f7f7eb}
.button-dark{background:#ffe238;color:#11150b;box-shadow:0 4px 0 #796a1d;min-height:53px}
.button-dark:hover{background:#ffeb75;box-shadow:0 0 25px #ffe23835,0 4px 0 #796a1d}
.button-dark:active{transform:translateY(3px);box-shadow:none}
.submit-rsvp:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.privacy-note{color:#9caeb6}
.success-banner{background:#133b30;border-color:#5bba95;color:#b0ffdf}
.success-icon{border-color:#65cba3}
.response-actions{color:#96e4e8;border-color:#43515a}
.form-errors,.form-client-error{background:#402626;color:#ffd1c7;border:1px solid #97574b}
.draft-notice{color:#aebdc4;border-color:#40505a}
.closed-rsvp{border-color:#40505a}
.closed-rsvp p{color:#aab6bd}
.farewell h2{text-shadow:0 0 30px #ffe23825}
.celebration-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:49;pointer-events:none;background:#06090bec;opacity:0;transform:scale(.8);transition:transform .3s cubic-bezier(.2,1.6,.4,1),opacity .2s;text-align:center;padding:30px}
.celebration-overlay[hidden]{display:none}
.celebration-overlay.arrived{opacity:1;transform:scale(1)}
.celebration-overlay strong{font-family:Barlow,Impact,sans-serif;font-size:118px;line-height:.88;color:#ffe238;text-shadow:0 0 42px #ffe23855,0 6px 0 #65570a}
.celebration-tag{font-size:10px;color:#83e6ec}
.celebration-caption{font-size:12px;color:#edf7f8;margin-top:8px}
@keyframes level-pop{0%{transform:rotateX(-55deg) scale(.8);opacity:.5}70%{transform:rotateX(10deg) scale(1.18)}100%{transform:none;opacity:1}}
@keyframes choice-pop{0%{transform:scale(1)}50%{transform:scale(1.045)}100%{transform:scale(1)}}
@keyframes button-sheen{0%,65%{left:-70px}90%,100%{left:130%}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes saber-breathe{from{filter:brightness(.9)}to{filter:brightness(1.2)}}
@keyframes warp-react{0%,100%{transform:scale(1)}20%{transform:scale(.97)}40%{transform:scale(1.02)}}
@keyframes warp-flash{0%,100%{opacity:0}30%{opacity:.12}}
@media(min-width:1600px){.hero h1{font-size:174px}.hero h1 .family-name{font-size:145px}}
@media(max-width:1000px){.hero h1{font-size:136px}.hero h1 .family-name{font-size:114px}.rsvp-layout{gap:44px;grid-template-columns:.9fr 1.15fr}.rsvp-form-wrap{padding:23px}.rsvp-copy h2{font-size:50px}}
@media(max-width:700px){.hero{min-height:0}.hero h1{font-size:105px}.hero h1 .family-name{font-size:96px}.hero-subtitle{font-size:21px;gap:7px;margin-top:12px}.hero-subtitle strong{font-size:36px;width:24px}.hero-copy{padding-top:12px;padding-bottom:60px}.hero-intro{margin-top:9px}.hero-tools{right:22px;bottom:23px;gap:8px}.hero-tools .icon-button{width:30px;height:30px}.hero-tools svg{width:14px;height:14px}.scroll-cue{left:44%;font-size:6px}.hero-cta{min-height:48px;min-width:210px}.mission-marquee{height:32px}.mission-marquee span{font-size:11px;padding-right:24px}.mission-marquee b{font-size:8px;padding:0 16px}.rsvp-layout{grid-template-columns:1fr;gap:27px}.rsvp-copy h2{font-size:48px}.rsvp-form-wrap{padding:24px 20px}.attendance label>span{font-size:10px;gap:6px;min-height:49px}.attendance svg{width:14px;height:14px}.count-field{flex-direction:column;align-items:flex-start}.count-field .stepper{align-self:flex-end}.count-field label{font-size:11px}.count-field small{font-size:8px}.celebration-overlay strong{font-size:74px}.celebration-tag{font-size:8px}.celebration-caption{font-size:9px}}
@media(max-width:370px){.hero h1{font-size:92px}.hero h1 .family-name{font-size:88px}.hero-subtitle{font-size:18px}.hero-subtitle strong{font-size:32px}.rsvp-copy h2{font-size:43px}.rsvp-form-wrap{padding:21px 15px}.attendance{gap:7px}.attendance label>span{font-size:9px}.form-title h3{font-size:13px}.celebration-overlay strong{font-size:64px}}
@media(max-height:660px) and (max-width:700px){.hero{height:calc(100svh - 116px);min-height:0}.hero-copy{padding:7px 22px 49px}.hero h1{font-size:75px}.hero h1 .family-name{font-size:68px}.hero-eyebrow{font-size:6px;max-width:235px}.episode{margin:12px 0 8px;font-size:8px}.episode span{font-size:6px}.hero-subtitle{font-size:17px;margin-top:9px}.hero-subtitle strong{font-size:28px}.hero-intro{font-size:9px;line-height:1.5;max-width:220px;margin:8px auto 13px}.hero-cta{min-height:40px;min-width:190px;font-size:10px}.hero-footnote{font-size:7px;margin-top:9px}.hero-tools{bottom:14px}.scroll-cue{bottom:15px;gap:4px}}
@media(prefers-reduced-motion:reduce){.hero h1{filter:none}.hero h1 .family-name{text-shadow:none}.hero-cta:before{display:none}.mission-marquee>div{animation:none}.celebration-overlay{display:none!important}}
