/* Readable supporting text, with room for both languages at each screen size. */
.eyebrow{letter-spacing:.11em;line-height:1.75}
.welcome-kicker{letter-spacing:.16em}
.welcome-kicker [lang=hi]{
 display:block;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);
 font-weight:500;line-height:1.85;letter-spacing:0;
}
.welcome{padding-top:112px}
.language-switch button,.welcome-language button,.masthead .language-switch button{
 min-height:44px;font-size:var(--type-caption);line-height:1.5;
}
.button,.ceremonial-button{font-size:var(--type-label);line-height:1.6;min-height:52px}
.ceremonial-button{max-width:100%;text-align:center}
.ceremonial-button>span:first-child{min-width:0}
.button .translation,.ceremonial-button .translation{line-height:1.8}
.hero .hero-end{
 position:relative;inset:auto;grid-column:1/-1;order:8;width:100%;
 margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem 2rem;
 align-items:center;line-height:1.7;letter-spacing:.06em;
}
.hero-end>span{min-width:0;max-width:100%}
.hero-end>span:last-child{text-align:inherit;min-width:0}
.scroll-note,.section-note,.gallery-navigation,.memory-footer,.privacy-note{line-height:1.8}
.invitation-letter .letter-heading{line-height:1.7}
.letter-title{font:inherit;text-align:left;flex:1}
.letter-greeting{font-size:var(--type-caption);line-height:1.8;letter-spacing:.1em}
.gallery-card figcaption{line-height:1.5}
.gallery-card figcaption .translation{line-height:1.8}
.memory-footer{flex-wrap:wrap;letter-spacing:.04em}
.ceremony-tabs button{font-size:var(--type-label);line-height:1.7}
.ceremony-row{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);line-height:1.75}
.ceremony-row dd{font-size:var(--type-label);line-height:1.75}
.ceremony-place{line-height:1.8}
.countdown p{letter-spacing:.06em;line-height:1.8}
.image-credits,.image-credits summary{line-height:1.9}
.closing{padding-bottom:110px}
.music-toggle{font-size:var(--type-caption);min-height:50px}
.music-status{font-size:var(--type-caption)}

@media(max-width:1050px){
 nav{gap:18px}
 .ceremony-panel{grid-template-columns:190px minmax(0,1fr)}
 .ceremony-body{padding:32px 25px}
}
@media(max-width:800px){
 .welcome{padding-top:108px}
 .welcome-language{top:30px}
 .masthead{padding-inline:clamp(1rem,3vw,2rem)}
 .language-switch button,.welcome-language button,.masthead .language-switch button{padding:7px 9px}
 .hero .eyebrow,.memory-header .eyebrow,.interlude-copy .eyebrow{letter-spacing:.08em}
 .hero .hero-end{margin-top:2rem;text-align:center;justify-content:center}
 .hero-end>span{flex-basis:100%}
 .gallery-meter{max-width:none}
 .circle-button{width:44px;height:44px;font-size:22px}
 .ceremony-panel{grid-template-columns:minmax(0,1fr)}
 .ceremony-date{grid-template-rows:auto auto auto}
 .date-number{grid-row:1/4}
 .ceremony-year{position:static;grid-column:2;grid-row:3;margin-top:.5rem;letter-spacing:.12em}
 .ceremony-body{padding:27px 18px}
 .programme-actions{flex-wrap:wrap}
 .all-events,.calendar-link{flex-basis:100%;flex-grow:0;max-width:100%;padding:8px 0}
 .countdown-section{padding-inline:28px}
 .countdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .countdown>div{min-width:0;padding:16px 4px 12px}
 .countdown-colon{display:none}
 .music-toggle{font-size:var(--type-caption);min-height:48px}
 .viewer-caption{bottom:24px;line-height:1.6}
 .viewer-image{max-height:calc(100dvh - 200px)}
}
@media(max-width:480px){
 .ceremony-row{grid-template-columns:minmax(0,1fr);gap:.3rem;margin:24px 0}
 .ceremony-row dd{text-align:left}
 .welcome-date{max-width:100%}
}
