/* Typography refinement only. Composition, content and behavior remain V12. */
:root{--olive:#293b27;--ink:#2d3826;--brown:#7b5636;--serif:'Cormorant Garamond',serif;--roman:'Cinzel',serif;--script:'Great Vibes',cursive}
body{font-weight:500;font-synthesis:none}
button,input,select,textarea{font-synthesis:none}
.brand,.header-meta,.overline,.years-label,.hero-quote,.section h2,.presence h2,.fancy-card h3,.event-content>span,.registry-card h3,.registry-soon,.footer,.letter-small,.letter-date,.welcome-date,.wax-seal{font-weight:600}
.brand,.header-meta,.overline,.years-label,.hero-quote,.section h2,.presence h2,.fancy-card h3,.event-content>span,.registry-card h3,.registry-soon,.letter-small,.letter-date,.welcome-date{color:var(--olive)}
.header-meta{letter-spacing:.2em}
.overline{letter-spacing:.18em;line-height:1.6}
.hero-overline{letter-spacing:.3em}
.monogram span{font-family:var(--roman);font-weight:600;font-size:218px;line-height:.9;color:var(--olive);letter-spacing:-.065em;padding-right:.065em;-webkit-text-stroke:0;text-shadow:none}
.hero h1{font-family:var(--script);font-weight:400;font-size:clamp(64px,7.3vw,104px);line-height:1.3;color:var(--brown);letter-spacing:0;text-shadow:none;margin-inline:-8%;max-width:116%;padding-inline:.035em;background:radial-gradient(ellipse,#fff2d9db 20%,#fff2d9b0 65%,#fff2d900 100%)}
.hero h1 span{font-size:.8em}
.hero-quote{font-size:14px;letter-spacing:.14em;line-height:1.8}
.intro{font-weight:500;line-height:1.4;color:var(--ink);text-shadow:none}
.date-row>span{font-weight:600;font-size:15px;letter-spacing:.12em;color:var(--olive)}
.date-row strong{font-family:var(--roman);font-size:80px;font-weight:600;line-height:1.08;color:var(--olive)}
.countdown strong{font-family:var(--roman);font-size:42px;font-weight:600;line-height:1.15;font-variant-numeric:lining-nums tabular-nums}
.countdown small{font-weight:600;font-size:11px;letter-spacing:.12em}
.section h2{font-weight:600;font-size:30px;line-height:1.35;letter-spacing:.055em;text-wrap:balance}
.section h2 i{font-family:var(--roman);font-weight:600;font-style:normal}
.ceremonial h2{font-size:25px;letter-spacing:.14em}
.ceremonial-copy{font-weight:500;font-size:23px;line-height:1.5}
.ceremonial-copy strong{font-weight:600}
.misa-aside{font-weight:500;color:#745333}
.location-content h3{font-weight:600;line-height:1.12;color:var(--olive)}
.location-content p{font-weight:500;line-height:1.4}
.location-content p.location-time{font-weight:600;color:#745333}
.location-image span{font-weight:600;letter-spacing:.045em}
.primary-btn,.secondary-btn,.nav a,.music-button{font-weight:600;text-shadow:none}
.presence h2{font-size:18px;letter-spacing:.12em;line-height:1.5;text-wrap:balance;text-shadow:none}
.presence p{font-weight:500;line-height:1.4;text-shadow:none}
.fancy-card h3{font-weight:600;font-size:17px;letter-spacing:.07em;line-height:1.5}
.fancy-card p{font-weight:500;line-height:1.4}
.amp{font-family:var(--serif);font-weight:500;color:var(--brown)}
.event-content>span{font-weight:600;letter-spacing:.06em;line-height:1.7}
.event-content h3{font-weight:600;line-height:1.3}
.event-content p{font-weight:500}
.agenda-event time{font-family:var(--roman);font-weight:600;font-size:23px;line-height:1.3;font-variant-numeric:lining-nums tabular-nums}
.agenda-event small{font-size:11px}
.body-copy,.registry-note,.form-privacy{font-weight:500;line-height:1.5}
.registry-card h3{font-family:var(--roman);font-size:24px;font-weight:600;line-height:1.4;letter-spacing:.025em}
.registry-soon{font-size:17px;letter-spacing:.08em}
.final-note h2{font-family:var(--serif);font-size:33px;font-weight:600;line-height:1.35;color:var(--olive)}
.final-note p{font-weight:500;line-height:1.45}
.final-note .final-names{font-family:var(--script)!important;font-weight:400;font-size:54px!important;line-height:1.4;color:var(--brown);letter-spacing:0}
.final-names small{font-family:inherit}
.footer{font-size:11px;line-height:1.9;letter-spacing:.075em}
.footer .photo-credit{font-weight:500;font-size:14px;line-height:1.6}
.welcome-shell h2{font-family:var(--roman);font-size:34px;font-weight:600;line-height:1.4;letter-spacing:.035em;color:var(--olive)}
.welcome-shell>#welcome-description{font-weight:500;line-height:1.45}
.letter-names{font-family:var(--script);font-size:40px;font-weight:400;color:var(--brown);letter-spacing:0}
.letter-small,.letter-date{letter-spacing:.12em}
.welcome-recipient{font-weight:600;line-height:1.4}
.welcome-date{font-weight:600;letter-spacing:.06em;line-height:1.7}
.dialog-head h2{font-family:var(--roman);font-weight:600;font-size:27px;line-height:1.35;letter-spacing:.015em}
.family-form label{font-weight:600;line-height:1.35}
.family-form input,.family-form select{font-weight:500}
.family-dialog .field-help,.family-dialog .form-privacy{font-weight:500}
@media(max-width:767px){
 .header-meta{font-size:9px;letter-spacing:.035em}.music-word{font-size:13px}
 .monogram span{font-size:162px}.hero-overline{font-size:11px;letter-spacing:.27em}
 .hero h1{font-size:clamp(40px,12.8vw,76px);line-height:1.35;margin:9px -12% 13px;max-width:124%;padding-inline:.045em}
 .hero-quote{font-size:9px;letter-spacing:.065em;line-height:1.7}
 .intro{font-size:20px;line-height:1.4}
 .date-row>span{font-size:9px;letter-spacing:.045em}.date-row strong{font-size:59px;padding-inline:10px;line-height:1.1}
 .countdown strong{font-size:29px}.countdown small{font-size:8px;letter-spacing:.04em}
 .section h2{font-size:23px;letter-spacing:.035em}.ceremonial h2{font-size:20px;letter-spacing:.105em}
 .ceremonial-copy{font-size:21px;line-height:1.45}
 .location-content p{font-size:18px;line-height:1.35}.location-content h3{font-size:25px}
 .location-image span{font-size:9px;letter-spacing:.02em}
 .presence h2{font-size:14px;letter-spacing:.07em}.presence p{font-size:21px;line-height:1.4}
 .fancy-card h3{font-size:17px}.fancy-card p{font-size:24px;line-height:1.35}
 .event-content>span{font-size:9px;letter-spacing:.025em}.agenda-event time{font-size:19px}.agenda-event small{font-size:10px}
 .registry-card h3{font-size:23px}.registry-soon{font-size:16px}
 .welcome-shell h2{font-size:27px;line-height:1.45}.welcome-shell>.overline{font-size:9px;letter-spacing:.09em}
 .letter-names{font-size:29px}.letter-small{font-size:8px}.letter-date{font-size:8px}
 .welcome-recipient{font-size:22px}.welcome-date{font-size:9px}
 .whatsapp-dialog .dialog-head h2{font-size:24px;line-height:1.4}
 .final-note h2{font-size:29px}.final-note .final-names{font-size:clamp(40px,12vw,54px)!important}
}
@media(max-width:380px){.hero h1{font-size:12.6vw}.hero-quote{font-size:8.5px;letter-spacing:.04em}.intro{font-size:19px}.location-content p{font-size:17px}}
