/* Readable, higher-contrast invitation system. Loaded after the original styles. */
.ivory{--paper:#edf3f1;--ink:#173036;--accent:#08666c;--tint:#d4e5e1}
.garden{--paper:#12362f;--ink:#f8f5e9;--accent:#ecd194;--tint:#215044}
.royal{--paper:#481b2c;--ink:#fff4e8;--accent:#e9bd82;--tint:#672f43}
.invitation{font-size:16px;line-height:1.55}
.invitation .site-header{padding:30px 4vw}
.invitation .collection-link,.invitation .share{font-size:13px;font-weight:700;letter-spacing:.06em}
.invitation .page-dots a{font-size:13px;opacity:.8;padding-right:12px;font-weight:700}
.invitation .page-dots .active{opacity:1}
.invitation .eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em}
.invitation .overview{background:radial-gradient(circle at 50% 16%,var(--tint),transparent 52%),var(--paper);padding:100px 48px 60px}
.invitation .overview h1{font-size:clamp(66px,8vw,120px);font-weight:500}
.invitation .intro{font:italic clamp(23px,2vw,31px)/1.35 'Cormorant Garamond',Georgia,serif;opacity:1;max-width:720px}
.invitation .bismillah{font-size:28px;color:var(--accent)}
.invitation .date-line{font-size:12px;font-weight:700;letter-spacing:.1em;margin:26px 0}
.invitation .reveal-heading>span{font-size:11px;font-weight:800;letter-spacing:.14em}
.invitation .reveal-heading p{font-size:24px;line-height:1.3;color:var(--ink)}
.invitation .event-links{width:min(850px,100%);gap:18px}
.invitation .event-links .scratch-date{min-height:248px;border-radius:14px;padding:25px 18px 18px;box-shadow:0 15px 36px #112a2612;background:color-mix(in srgb,var(--paper) 25%,white)}
.invitation .event-links small{font-size:11px;font-weight:700;letter-spacing:.08em}
.invitation .event-links h3{font-size:37px;font-weight:600}
.invitation .scratch-date-value{min-height:115px;gap:3px}
.invitation .scratch-date-value .day{font-size:60px}
.invitation .scratch-date-value .reveal-month{font-size:11px;font-weight:700}
.invitation .scratch-date-value>span:last-child{font-size:13px;font-weight:700}
.invitation .gold-foil{height:123px;border-radius:8px}
.invitation .foil-caption{bottom:20px;height:92px;color:#38270e}
.invitation .foil-caption>span{font-size:24px}
.invitation .foil-caption b{font-size:11px;letter-spacing:.1em}
.invitation .foil-caption small{font-size:15px}
.invitation .verse{font-size:24px}
.invitation .verse small{font-size:11px;opacity:.85}
.invitation .scroll-cue{font-size:12px;font-weight:700;letter-spacing:.12em}
.invitation .demo-badge{font-size:10px;opacity:.8}
.invitation .event{grid-template-columns:38% 62%}
.ivory .event-art{background:radial-gradient(circle at 80% 10%,#29616a 0%,transparent 45%),#153b42;color:#f5f6f1}
.ivory .event-art .arch{border-color:#d0b57b;outline-color:#9dbeb8}
.ivory .event-art .arch>span{color:#e8c376}
.garden .event-art{background:radial-gradient(circle at 20% 15%,#426a54,transparent 50%),#15392f}
.royal .event-art{background:radial-gradient(circle at 20% 15%,#834059,transparent 50%),#4d1d30}
.invitation .event-art>p{font-size:12px;letter-spacing:.2em;font-weight:700;margin-top:42px}
.invitation .art-number{font-size:15px;font-weight:700}
.invitation .arch{border-width:2px;outline-width:1px}
.invitation .arch em{font-size:64px;font-weight:600}
.ivory .event-content{background:#fff}
.garden .event-content,.royal .event-content{background:var(--paper)}
.invitation .event-content{padding:76px clamp(40px,5vw,110px)}
.invitation .event-content h2{font-size:clamp(76px,7vw,112px);font-weight:600;margin:12px 0}
.invitation .description{font-size:clamp(26px,2.2vw,34px);line-height:1.3;max-width:650px;opacity:1}
.invitation .detail-grid{gap:16px;padding:24px 0;margin-top:28px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.invitation .detail-grid>div{padding:18px 20px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:12px;background:color-mix(in srgb,var(--tint) 45%,transparent)}
.invitation .detail-grid small{font-size:12px;letter-spacing:.12em;font-weight:800;margin-bottom:8px;color:var(--accent)}
.invitation .detail-grid strong{font-size:18px;font-weight:700;line-height:1.35}
.invitation .detail-grid span{font-size:14px;line-height:1.5;opacity:1;margin-top:5px}
.invitation details{font-size:16px;padding:19px 0}
.invitation summary{font-weight:700}
.invitation details p{font-size:15px;opacity:1;margin-top:10px}
.invitation .actions{gap:12px;margin-top:24px}
.invitation .button,.invitation .outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-size:14px;font-weight:800;padding:13px 19px;border-radius:8px}
.ivory .button{color:#fff}
.garden .button,.royal .button{color:#241c16}
.invitation .outline{border:2px solid var(--accent)}
.invitation .text-button{font-size:14px;font-weight:800}
.invitation .sample-note{font-size:12px;opacity:.85}
.invitation .next{font-size:13px;font-weight:800;letter-spacing:.08em;margin-top:30px}
.invitation dialog label{font-size:14px}
.invitation dialog h2{font-size:42px}
.invitation #feedback{font-size:14px}
.gallery>header>span,.gallery>header>a:last-child{font-size:12px}
.gallery-hero>p:not(.eyebrow){font-size:16px;color:#4b514e}
.gallery .eyebrow,.gallery .edition{font-size:11px}
.gallery .mini-top,.gallery .mini-bottom,.gallery .mini-arch small{font-size:9px}
.gallery .card-caption>small{font-size:10px;color:#4f5952}
.gallery .card-caption h3{font-size:31px}
.gallery .card-caption p{font-size:14px;color:#515d55}
.gallery .card-caption b{font-size:11px;font-weight:800}
.gallery footer span{font-size:12px;color:#536056}
@media(max-width:1050px){.invitation .event{grid-template-columns:35% 65%}.invitation .event-content{padding:54px 32px}.invitation .arch em{font-size:48px}}
@media(max-width:650px){
 .invitation .site-header{padding:20px 22px}
 .invitation .share{font-size:12px}
 .invitation .page-dots{right:6px}
 .invitation .page-dots a{font-size:10px;padding-right:5px}
 .invitation .overview{padding:88px 22px 35px}
 .invitation .overview h1{font-size:clamp(62px,17vw,76px)}
 .invitation .intro{font-size:24px;max-width:340px}
 .invitation .date-line{font-size:10px;line-height:1.5}
 .invitation .reveal-heading>span{font-size:10px}
 .invitation .reveal-heading p{font-size:21px}
 .invitation .event-links{gap:8px}
 .invitation .event-links .scratch-date{min-height:206px;padding:14px 5px 10px;border-radius:8px}
 .invitation .event-links h3{font-size:24px}
 .invitation .event-links small{font-size:8px}
 .invitation .scratch-date-value{min-height:97px}
 .invitation .scratch-date-value .day{font-size:39px}
 .invitation .scratch-date-value .reveal-month{font-size:9px}
 .invitation .scratch-date-value>span:last-child{font-size:10px}
 .invitation .gold-foil{height:100px}
 .invitation .foil-caption{bottom:10px;height:82px}
 .invitation .foil-caption b{font-size:8px}
 .invitation .foil-caption small{font-size:12px}
 .invitation .verse{font-size:20px}
 .invitation .scroll-cue{font-size:10px}
 .invitation .event{display:block}
 .invitation .event-art{min-height:195px}
 .invitation .arch{min-height:135px;width:170px}
 .invitation .arch em{font-size:32px}
 .invitation .event-art>p{font-size:9px;margin-top:18px}
 .invitation .art-number{font-size:12px}
 .invitation .event-content{padding:32px 25px 42px}
 .invitation .event-content h2{font-size:64px}
 .invitation .description{font-size:27px}
 .invitation .detail-grid{gap:10px;margin-top:21px}
 .invitation .detail-grid>div{padding:14px 12px;border-radius:9px}
 .invitation .detail-grid small{font-size:10px;margin-bottom:6px}
 .invitation .detail-grid strong{font-size:15px}
 .invitation .detail-grid span{font-size:12px}
 .invitation details{font-size:14px}
 .invitation .button,.invitation .outline{min-height:44px;font-size:12px;padding:10px 12px}
 .invitation .sample-note{font-size:11px}
 .invitation .next{font-size:11px}
 .gallery .card-caption h3{font-size:30px}
}
@media(min-width:651px) and (max-width:900px){.invitation .event{display:block}.invitation .event-art{min-height:250px;padding:25px}.invitation .arch{min-height:180px;width:190px}.invitation .arch>span{font-size:55px}.invitation .arch em{font-size:38px;margin-top:7px}.invitation .event-art>p{margin-top:20px}.invitation .event-content{padding:55px 7vw}.invitation .event-content h2{font-size:86px}}

.heaven-preview{--paper:#082b33;--ink:#f8e9c7;--accent:#e2b968;background:radial-gradient(circle at center,#245e61,#082b33 70%);color:#f8e9c7}.heaven-preview .mini-door{width:72%;height:78%;border:8px double #dfb360;border-radius:45% 45% 4px 4px/23% 23% 4px 4px;background:linear-gradient(90deg,#8b602a 0%,#dfbb70 48%,#553618 50%,#ddb66a 54%,#8b602a 100%);box-shadow:inset 0 0 0 15px #a17033,0 16px 25px #0007;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff2cc;gap:20px}.heaven-preview .mini-door span{font-size:55px}.heaven-preview .mini-door b{font-size:10px;letter-spacing:.15em;line-height:1.8}.heaven-preview .mini-top,.heaven-preview .mini-bottom{color:#f8e9c7}
/* Optional details start hidden, including before saved settings finish loading. */
.invitation .detail-grid>div:nth-child(3),.invitation .detail-grid>div:nth-child(4){display:none}
.show-guests .invitation .detail-grid>div:nth-child(3){display:block}
.show-dress-note .invitation .detail-grid>div:nth-child(4){display:block}
