/* Release 15: readable supporting text; no new font files or layout rewrite. */
:root{--body-size:18px;--detail-size:16px}
body{font-size:18px;line-height:1.8}
#main .eyebrow,#entry-gate .eyebrow,.photo-album .eyebrow,
.form-card .form-top,#rsvp-scope,.fact-label{font-size:14px!important;line-height:1.75;letter-spacing:1.4px;font-weight:650}
#main .eyebrow{color:#ead7b4;text-shadow:0 1px 2px #24122540}
#regalo .eyebrow,.form-card .eyebrow,#entry-gate .entry-card .eyebrow{color:#735534;text-shadow:none}
#experience-header nav,#experience-header .nav-rsvp{font-size:16px}
#experience-header nav a{min-height:50px}
#main .logistics-heading>p,#main .logistic-card p,#main .rsvp-copy>p:not(.eyebrow),
#main .gift-heading>p,.entry-card>p:not(.eyebrow),.entry-copy>p:not(.eyebrow),
#main .opening-scene .evening-content>p:not(.lead){font-size:18px!important;line-height:1.85}
#main .logistics-heading>p,#main .logistic-card p,#main .rsvp-copy>p:not(.eyebrow){color:#f5eaf2;text-shadow:0 1px 2px #23112055}
.card-note,.logistics-footnote{font-size:16px!important;line-height:1.85;color:#f0e2ed!important}
#main section h2,#main .logistic-card h3,#main .wish-content h3,.form-card .form-step h3,
.photo-album h1,.photo-album h2{font-weight:500;text-shadow:.25px 0 currentColor,0 1px 2px #23112026;line-height:1.18}
#main .gift h2,.form-card .form-step h3,#main .wish-content h3{color:#4b2d45;text-shadow:.22px 0 currentColor}
#main section h2 em{color:#ecd4a4}
#main .gift h2 em{color:#80613c}
.logistic-card h3{font-size:33px!important;margin-bottom:18px}
#main .logistics-heading h2{margin-bottom:0}
#entry-form-title{font-weight:600;text-shadow:none}
.entry-card label,.form-card label,.form-card legend{font-size:18px!important;line-height:1.7;font-weight:550}
.form-card input:not([type=checkbox]):not([type=radio]),.form-card select,.form-card textarea,.entry-card input{font-size:18px!important;min-height:54px;line-height:1.55}
.form-card .form-subtitle,.form-card label>small,.form-card .field-hint,.form-card .form-bottom-note,
.entry-card .required-legend,#entry-help,.photo-terms-details small,.form-card .response-summary small{
 font-size:16px!important;line-height:1.85!important;color:#624655!important
}
.form-card .optional{font-size:13px!important;color:#6a4d5c;letter-spacing:.35px}
.form-card .check-label,.form-card .choice span,.gift-idea-option span{font-size:17px!important;line-height:1.75!important}
.form-card .check-label{font-weight:450}
.form-card .choice span{min-height:56px}
.person-heading h4{font-size:20px;font-weight:600}
.form-card .transfer-place-feedback,.transfer-place-selected,#companion-message,.companion-verify-notice,#form-error,#entry-feedback{font-size:17px!important;line-height:1.8}
#main .form-actions .button,#main #companion-confirm,.entry-card .button{font-size:17px!important;min-height:56px}
.form-card .transfer-search-button{font-size:17px!important;min-height:48px;line-height:1.4}
.form-card .back-button,#main .text-link{font-size:16px;min-height:44px}
#main .response-summary>div{font-size:17px!important;line-height:1.8}
.wish-content p,.wish-status,.wish-category,.gift-legend,.gift-privacy{font-size:16px!important;line-height:1.75!important}
.wish-content p{color:#644b5c}.wish-status{letter-spacing:.6px}.wish-category{letter-spacing:1px;opacity:1;color:inherit}
.wish-number{font-size:14px!important}.wish-button{font-size:16px!important;line-height:1.7;min-height:54px}
.wish-content h3{min-height:0}.wish-content{padding:25px}
.gift-legend{flex-wrap:wrap;gap:14px 20px}.gift-legend button{font-size:16px;min-height:44px}
.chapter-strip small,.entry-topline>span,.disco-stage .art-caption,.disco-stage .art-bottom{font-size:14px!important;line-height:1.75}
.opening-scene .hero-bottom,.opening-scene .hero-date{font-size:14px!important;line-height:1.8}
#main .personal-welcome>span{font-size:14px}.personal-welcome>small,#welcome-capacity{font-size:16px!important}
.brand-legal p,.brand-legal button,.brand-byline p,.brand-byline>div{font-size:15px!important;line-height:1.85}
.brand-legal small{font-size:14px!important;line-height:1.85}
.legal-dialog p{font-size:17px!important;line-height:1.85}.legal-dialog h3{font-size:20px!important}
#photo-album p,#photo-album label,#photo-album .album-photo p,#photo-album .album-photo small{font-size:17px!important;line-height:1.85}
#photo-album .album-upload{padding:28px}#photo-album .album-upload p,#photo-album .album-upload label{color:#4b2d45}
#photo-album input[type=file]{font-size:17px}#photo-album .button{font-size:17px!important;min-height:56px}
#photo-album input[type=file]::file-selector-button{font:600 17px/1.5 var(--sans,Arial,sans-serif);background:#d9c399;color:#4b2d45;border:1px solid #9b804e;padding:15px 20px;margin:10px 15px 10px 0;border-radius:3px;cursor:pointer}
/* The same readable defaults apply to protected staff pages. */
#staff-tools{font-size:17px;line-height:1.8}#staff-tools h3{font-size:29px;line-height:1.3}#staff-tools h4{font-size:20px;line-height:1.5}
.service-checks{display:grid;gap:12px;margin:24px 0}
.service-check{padding:18px 20px;background:#fffaf2;border:1px solid #d8c8b3;border-left:4px solid #a17e50}
.service-check[data-state=ok]{border-left-color:#396c4a}.service-check[data-state=error]{border-left-color:#a12e39}
.service-check strong,.service-check span{display:block}.service-check strong{font-size:18px;margin-bottom:5px}.service-check span{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
#staff-tools details{margin-top:22px}#staff-tools summary{cursor:pointer;font-weight:600;padding:12px 0}
@media(max-width:700px){
 body{font-size:17px}
 #experience-header{gap:6px 10px}#experience-header nav{font-size:16px;gap:18px}#experience-header .nav-rsvp{font-size:14px;min-height:46px}
 #main .eyebrow,#entry-gate .eyebrow{font-size:13px!important;letter-spacing:1.1px}
 .form-card{padding:28px 20px}.form-card label,.form-card legend{font-size:17px!important}
 .form-card input:not([type=checkbox]):not([type=radio]),.form-card select,.form-card textarea,.entry-card input{font-size:17px!important}
 .form-card .choice span{font-size:16px!important;padding-inline:5px}
 #main .logistic-card p,#main .logistics-heading>p,#main .rsvp-copy>p:not(.eyebrow),#main .gift-heading>p{font-size:18px!important}
 .entry-topline>span{max-width:125px;font-size:12px!important}
 .logistic-card{padding:28px 23px}.logistic-card h3{font-size:33px!important}
 #main .form-actions .button{padding-inline:14px}.form-actions{gap:16px}
 .wish-content{padding:24px}.wish-content h3{font-size:32px!important}
 #photo-album .album-grid{grid-template-columns:1fr}#photo-album .album-upload{padding:22px}
 #photo-album input[type=file]::file-selector-button{display:block;margin:10px 0}
 .service-check{padding:16px}.service-check strong{font-size:17px}
}
@media(max-width:355px){
 .form-card{padding:24px 16px}.form-card .choice-row{flex-wrap:wrap;gap:8px}.form-card .choice{flex:1 0 100%}
 .form-actions{flex-wrap:wrap}.form-actions .button{min-width:0;width:100%}
}

#experience-header nav a{font-size:16px!important}
.card-number{font-size:13px;opacity:1;color:#dbc6d5}
.event-facts small,.event-fact .fact-action{font-size:16px!important;line-height:1.8}
@media(max-width:700px){#experience-header nav a{font-size:15px!important}}
