/* Theme from the supplied invitation. Content and event artwork stay untouched. */
:root{--wine:#9c3d3d;--body:#66575a;--gold:#c9a35b;--type-wine:#9c3d3d;--type-ink:#66575a;--type-muted:#8a7b7e}
html{background:#faf3e7}
body{color:#66575a;font-family:var(--serif);background:radial-gradient(ellipse at 0% 0%,#c8def0b0,transparent 55%),radial-gradient(ellipse at 100% 25%,#fef4dca0,transparent 55%),radial-gradient(ellipse at 0% 85%,#d4e8d8a0,transparent 55%),linear-gradient(140deg,#d2dfec 0%,#deeae3 20%,#faf3e7 42%,#f9efe0 60%,#f8e4d3 80%,#f2d7c8 100%);background-attachment:fixed;background-size:120% 120%;animation:pastel-wash 32s ease-in-out infinite alternate}
@keyframes pastel-wash{from{background-position:0% 0%}to{background-position:100% 100%}}
.section{padding-block:clamp(60px,7vw,100px)}
.section h2,.invitation h2,#reveal h2,#countdown h2,.family-dedication h2,.rsvp-panel h2,footer h2{font-family:var(--script);font-size:clamp(48px,7vw,72px);font-weight:400;line-height:1.25;letter-spacing:0;color:#9c3d3d;margin:16px auto 32px}
.section .eyebrow,footer>.eyebrow{color:#8a7b7e;font-weight:400;letter-spacing:.25em}
.story>.eyebrow,.wishes>.eyebrow,.moments>.eyebrow{color:#82947c}
.hero{min-height:100svh;background:transparent}
.hero h1{font-size:clamp(70px,10vw,116px);line-height:1.05;color:#9c3d3d;text-shadow:0 2px 10px #00000014}
.hero h1 em{font-size:clamp(26px,4vw,45px);margin:8px 0}
.hero .eyebrow{font-family:var(--serif);font-size:clamp(14px,1.8vw,19px);font-weight:600;letter-spacing:.25em;color:#9c3d3d;margin-bottom:18px}
#welcome-title{color:#9c3d3d}.welcome-eyebrow,.welcome-note{color:#66575a}
#begin-invitation{background:#f8f4ece0;border:1px solid #c9a35b73;color:#66575a;font-family:var(--serif);font-size:15px;letter-spacing:.2em;backdrop-filter:blur(8px);box-shadow:0 0 16px #c9a35b26}
.chapters{max-width:750px}.chapters h3{font-family:var(--script);font-size:clamp(30px,5vw,40px);color:#8a4b53;letter-spacing:0;font-weight:400}
.chapters p,.invitation>p:not(.eyebrow):not(.full-name),.blessings>p:last-child,.family-blessing-label,.family-closing,footer>p:not(.eyebrow),.rsvp-introduction>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(18px,2.2vw,21px);line-height:1.8;color:#66575a}
.chapters article{margin-block:32px;padding-top:16px}.chapters article+article{border-color:#c9a35b33}
.invitation h3{font-size:clamp(64px,8vw,84px);color:#9c3d3d}.invitation>.amp{color:#8a4b53}
.floral-ornament img,.welcome-floral,.clock-frame>img{filter:none}
.family-dedication{background:transparent;border:0;box-shadow:none;border-radius:0}.family-dedication:before,.family-dedication:after{display:none}
.family-names p{color:#66575a;font-weight:400}.family-names span{color:#c9a35b}.groom-family{border-color:#c9a35b4d}.family-hairline{background:#c9a35b4d}
#reveal,#countdown{min-height:0;background:transparent}#reveal h2{max-width:740px}#clock strong{font-family:var(--serif);color:#9c3d3d;font-weight:400}#clock span{color:#66575a}.time-note{color:#8a7b7e}
#rsvp{background:transparent}#rsvp .rsvp-panel{display:block;max-width:600px;padding:48px 32px;background:#ffffff73;border:1px solid #c9a35b47;border-radius:16px;box-shadow:0 16px 40px #b48c7814;backdrop-filter:blur(14px)}
#rsvp .rsvp-panel:before{display:none}.rsvp-introduction{padding:0}.rsvp-introduction:after{display:none}#rsvp .rsvp-introduction .floral-ornament{width:200px;margin-bottom:12px}#rsvp .rsvp-introduction h2{margin:12px auto 16px}#rsvp-form{margin-top:32px}
#rsvp-form>label,#rsvp-form legend{font-family:var(--serif);font-size:12px;letter-spacing:2px;color:#66575a}
#rsvp-form #name{font-family:var(--serif);font-size:18px;background:transparent;border:0;border-bottom:1px solid #c9a35b80;border-radius:0;box-shadow:none;padding:12px 0;color:#66575a}
#rsvp-form .stepper{border:0;background:transparent;padding:0;gap:18px;margin-block:8px 24px}
#rsvp-form .stepper .round{background:transparent;border:1px solid #bfa06a;color:#c9a35b}#rsvp-form #guests{font-family:var(--serif);font-size:24px;color:#66575a}
#rsvp-form fieldset{display:flex;flex-direction:column;gap:14px}#rsvp-form fieldset label{border:0;background:transparent;padding:0;min-height:28px;font-family:var(--serif);font-size:16px;letter-spacing:.035em}#rsvp-form fieldset label:has(input:checked){background:transparent;color:#8a4b53}input[type=checkbox]{accent-color:#c9a35b}
#rsvp-form .submit,.wishes .submit{background:#9c3d3d;color:#f8f4ec;border-radius:4px;box-shadow:none;font-size:13px;letter-spacing:.18em}#rsvp-form .submit:hover,.wishes .submit:hover{background:#8c6262}
#wish-form{max-width:500px}#wish-form input,#wish-form textarea{font-family:var(--serif);font-size:18px;background:#ffffff8c;border:1px solid #c9a35b4d;border-radius:6px;color:#66575a;backdrop-filter:blur(10px)}
.wishes .wish-paper{border-radius:12px;background-color:#ffffffb8;border-color:#c9a35b33;box-shadow:0 10px 30px #b48c7817}.wishes .wish-paper p{color:#66575a}.wishes .wish-paper cite,.wish-navigation{color:#9c3d3d}
.music{background:#f8f4ec;color:#9c3d3d;border-color:#9c3d3d}.text-button{color:#8a4b53;border-color:#c9a35b80}
/* Preserve the approved event cards, including their original button typography. */
.celebration-pages{--wine:#681f2c;--body:#493a32;--gold:#a3844e;--type-wine:#681f2c;--type-ink:#493a32;--type-muted:#746354}
@media(max-width:600px){.hero h1{font-size:clamp(70px,19vw,100px)}.section{padding-block:60px}#rsvp .rsvp-panel{padding:32px 22px}.section h2,#reveal h2,#countdown h2{font-size:clamp(43px,11vw,56px)}.chapters p{font-size:18px}}
@media(prefers-reduced-motion:reduce){body{animation:none}}
