/* Large type and normal-flow controls keep the invitation readable at small widths. */
body{font-size:20px;line-height:1.8;color:#243e4c}
.header-caption{font-size:16px;letter-spacing:1px}
.motion-toggle{font-size:18px;min-height:48px;padding:8px 4px;color:#345264}
.hero-copy>.eyebrow,.section-heading .eyebrow,.flight-message>.eyebrow{font-size:18px;color:#32586c}
.hero h1{font-size:clamp(52px,5vw,72px);line-height:1.25;letter-spacing:-2px}
.ceremony{font-size:26px;line-height:1.6}
.hero-date>strong{font-size:84px}
.hero-date>span,.hero-date b{font-size:20px;line-height:1.7;color:#224e66}
.hero-tagline{font-size:20px;line-height:1.8;color:#405b6a}
.hero-anchor{font-size:18px;min-height:54px}
.hero-anchor span{font-size:24px}
.flight-message>p:nth-child(2){font-size:48px}
.flight-message>span{font-size:20px;color:#405b6a}
.flight-cue,.scene-caption,.aircraft-caption,.aircraft-type-note,.flyby-cue{font-size:16px;color:#405d6c;line-height:1.6}
.hero-visual .hero-photo figcaption{font-size:16px;line-height:1.5;left:16px;right:16px;text-align:right}
.aircraft-caption{top:auto;bottom:0;right:3%;max-width:94%;text-align:right}
.scene-caption{bottom:-36px}
.mini-label{font-size:16px;color:#365c6f}
.date-block strong{font-size:38px}
.date-block p>span,.date-block b{font-size:22px}
.venue-block p,.small-address{font-size:20px;line-height:1.8;color:#334f60}
.event-strip{align-items:start;gap:30px}
.date-block{min-width:42%}
.section-nav{gap:30px;flex-wrap:wrap}
.section-nav a{font-size:20px;min-height:52px;display:flex;align-items:center;color:#34576a}
.section-heading h2{font-size:44px;line-height:1.45}
.welcome{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.welcome-body{font-size:22px;line-height:1.95;color:#334e5e}
.welcome-body .lead{font-size:28px;line-height:1.7}
.welcome-body .signature{font-size:24px}
.program-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;min-height:0}
.program-header .section-heading{min-width:0}
.program-header .text-link{font-size:18px;min-height:52px;white-space:normal}
.program-aircraft{position:relative;grid-column:1/-1;justify-self:center;width:340px;max-width:100%;height:200px;right:auto;bottom:auto;margin:0}
.schedule>div{font-size:22px;line-height:1.7;padding:26px 12px;grid-template-columns:30% minmax(0,1fr)}
.schedule .time{font-size:24px;color:#245571;white-space:nowrap}
.schedule .schedule-head{font-size:18px;color:#456170;padding:16px 12px}
.schedule small{display:block;font-size:18px;line-height:1.7;color:#486475;margin:5px 0 0}
.footnote,.transport .footnote{font-size:18px;line-height:1.85;color:#4d6572}
.venue-name{font-size:28px;line-height:1.6}
.address{font-size:22px;line-height:1.9;color:#334f60}
.text-link,.location-detail>.text-link,.map-open>span{font-size:20px;min-height:52px;line-height:1.6}
.button,.map-links .button{font-size:20px;min-height:60px;line-height:1.5;padding:16px 20px;gap:12px;white-space:normal}
.transport h3{font-size:22px}
.transport p:not(.footnote){font-size:20px;color:#334f60;line-height:1.9}
.closing h2{font-size:44px;max-width:56%;line-height:1.5}
.closing>.eyebrow{font-size:18px;color:#365b6f}
.closing>p{font-size:20px;line-height:1.8;color:#3e5b6c;max-width:56%}
.closing-share{background:#e8eeed;max-width:1328px;padding:40px 70px 48px;border-top:1px solid #b8c8cf}
.closing-share .closing-actions{margin:0;max-width:none;width:100%;justify-content:flex-start;gap:16px}
.closing-actions .button{font-size:20px;min-height:60px;flex:0 1 auto;white-space:normal}
.closing-share .image-download{font-size:20px;line-height:1.7;min-height:52px;color:#285873;white-space:normal;margin-top:8px}
.organizers{font-size:18px;gap:32px}
.organizers>div>span,.footer-note,.aircraft-credit{font-size:16px;line-height:1.9;color:#4b6370}
.organizers p{font-size:18px;color:#294c62}
.toast{font-size:18px;line-height:1.6}
dialog{max-width:620px;max-height:90svh;overflow:auto}
dialog .eyebrow{font-size:16px}
dialog h2,#map-dialog h2{font-size:28px;line-height:1.5;padding-right:30px}
dialog p:not(.eyebrow),dialog textarea{font-size:20px;line-height:1.8;color:#355467}
dialog textarea{min-height:260px}
.dialog-close{font-size:36px;min-height:48px;min-width:48px}
.button.primary,.native-share{font-size:20px;min-height:58px}
.rsvp-preview-header{height:auto;flex-wrap:wrap;padding-block:22px;gap:18px}
.rsvp-preview-header>.text-link{font-size:18px;min-height:52px}
@media(max-width:1050px),(max-height:850px){
 .motion-on .flight-story{height:auto;min-height:0}
 .motion-on .flight-sticky{position:relative;height:auto;min-height:0}
 .motion-on .hero{height:auto;min-height:0;padding-bottom:70px}
 .hero-copy{padding-top:42px;padding-bottom:35px;transform:none;opacity:1}
 .hero .drone-visual{transform:none}
 .motion-on .hero-visual{height:auto;min-height:700px}
 .motion-on .flight-message{display:none}
 .flight-cue{bottom:18px}
}
@media(min-width:701px) and (max-width:1050px){
 .hero h1{font-size:48px;letter-spacing:-1.5px}
 .hero-copy{padding-right:15px;padding-left:0}
 .hero-date{gap:14px;flex-wrap:wrap}
 .hero-date>strong{font-size:74px}
 .hero-date>span{padding-left:14px}
 .location-aircraft{position:relative;grid-column:1/-1;right:auto;top:auto;justify-self:center;width:330px;height:180px;margin-top:20px}
 .location-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .map-links{max-width:600px}
 .closing{padding-inline:36px}
 .closing h2{font-size:36px}
}
@media(max-width:700px){
 .site-header{height:88px;padding-inline:22px;gap:12px}
 .brand img{width:180px;max-width:100%}
 .header-caption{display:none}
 .header-tools{flex-shrink:0}
 .motion-toggle{font-size:18px}
 .hero,.motion-on .hero{display:block;padding:28px 22px 74px;min-height:0;height:auto}
 .hero-copy{padding:0;transform:none;opacity:1}
 .hero-copy>.eyebrow{font-size:16px;line-height:1.8;letter-spacing:0}
 .short-line{width:18px;margin-right:6px}
 .hero h1{font-size:clamp(40px,10.7vw,52px);letter-spacing:-1.5px;line-height:1.25;margin-top:22px}
 .ceremony{font-size:24px;margin-top:22px}
 .hero-date{gap:16px;flex-wrap:wrap;margin-top:26px}
 .hero-date>strong{font-size:76px;letter-spacing:-3px}
 .hero-date>span,.hero-date b{font-size:20px;line-height:1.7}
 .hero-date>span{padding-left:16px}
 .hero-tagline{font-size:20px;line-height:1.8;margin-top:24px}
 .hero-anchor{position:static;display:inline-flex;width:auto;height:auto;font-size:18px;min-height:54px;gap:30px;margin-top:18px;padding:8px 0}
 .hero-visual,.motion-on .hero-visual{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:380px;min-height:380px;margin-top:24px}
 .drone-visual.aircraft-stage{top:0;height:48%;width:100%;left:0}
 .hero-visual .hero-photo{top:45%;height:43%;width:94%;left:3%;transform:perspective(1200px) rotateX(6deg) rotateY(-5deg)}
 .aircraft-caption{top:auto;bottom:0;font-size:16px;right:3%;line-height:1.5}
 .hero-visual .hero-photo figcaption{font-size:16px;line-height:1.5;bottom:10px;left:10px;right:10px}
 .scene-caption{display:none}
 .flight-cue{left:22px;right:22px;bottom:15px;font-size:16px;line-height:1.5;gap:12px}
 .event-strip{padding:30px 0;margin-inline:22px}
 .mini-label{font-size:16px}
 .date-block strong{font-size:36px}
 .date-block p>span,.date-block b{font-size:22px;line-height:1.8;margin-left:0}
 .date-block p>span{display:block;margin-top:6px}
 .venue-block p,.small-address{font-size:20px;line-height:1.8}
 .section-nav{padding:20px 22px;gap:8px 24px;flex-wrap:wrap}
 .section-nav a{font-size:18px;min-height:52px;white-space:normal}
 .section-heading .eyebrow{font-size:18px}
 .section-heading h2{font-size:36px;line-height:1.5;letter-spacing:-1px}
 .welcome{display:block}
 .welcome-body{font-size:20px;line-height:1.95}
 .welcome-body .lead{font-size:24px;line-height:1.75}
 .welcome-body .signature{font-size:22px}
 .aircraft-type-note{font-size:16px}
 .program-header{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
 .program-header .section-heading{grid-template-columns:72px minmax(0,1fr);column-gap:20px}
 .program-header h2{font-size:36px;line-height:1.4}
 .program-header .text-link{justify-self:start;font-size:18px;margin:0;min-height:54px}
 .program-aircraft{width:100%;height:175px;margin:0;right:auto;bottom:auto}
 .schedule>div{grid-template-columns:minmax(0,1fr);gap:8px;font-size:22px;padding:22px 12px;line-height:1.65}
 .schedule .time{font-size:24px;line-height:1.5}
 .schedule small{font-size:18px;line-height:1.75;margin:4px 0 0}
 .schedule .schedule-head{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .schedule:before,.schedule:after{top:0;left:-6px}
 .schedule>div:not(.schedule-head):before{left:-8px;top:33px}
 .footnote,.transport .footnote{font-size:16px;line-height:1.9}
 #location>.section-heading{grid-template-columns:72px minmax(0,1fr);column-gap:20px}
 #location .section-heading h2{font-size:36px;line-height:1.4}
 .location-aircraft{height:175px;margin-top:24px}
 .venue-name{font-size:28px;line-height:1.6}
 .address{font-size:22px;line-height:1.9;margin-top:22px}
 .map-open>span,.location-detail>.text-link{font-size:20px;min-height:54px}
 .map-links{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 .map-links .button{font-size:22px;min-height:64px;padding:16px 20px;gap:20px}
 .transport h3{font-size:22px}
 .transport p:not(.footnote){font-size:20px;line-height:1.95}
 .closing,.motion-on .closing{padding:40px 24px 70px;min-height:730px}
 .closing h2{font-size:34px;line-height:1.5;letter-spacing:-1px;max-width:none;margin-top:22px}
 .closing>.eyebrow{font-size:18px}
 .closing>p{font-size:20px;max-width:none;line-height:1.85;margin-top:20px}
 .closing-aircraft,.motion-on .closing-aircraft{top:43%;height:44%;width:112%;right:-6%}
 .flyby-cue{left:24px;bottom:30px;font-size:16px;line-height:1.5}
 .closing-share{padding:30px 24px 40px}
 .closing-share .closing-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:none;width:100%;margin:0}
 .closing-actions .button{font-size:22px;min-height:64px;padding:16px;flex:auto;gap:18px}
 .closing-share .image-download{font-size:20px;min-height:56px;margin-top:4px;text-align:center}
 .organizers{font-size:18px;display:block}
 .organizers>div{display:block;text-align:center;line-height:1.9}
 .organizers>div+div{margin-top:20px}
 .organizers p{font-size:18px;line-height:1.9;margin-top:6px}
 .footer-note,.aircraft-credit{font-size:16px;line-height:1.9}
 .mobile-bar{padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:10px}
 .mobile-bar>*{font-size:18px;min-height:58px;padding:8px 4px;line-height:1.5}
 .mobile-bar>a{gap:12px}
 footer{padding-bottom:130px!important}
 .toast{font-size:18px;bottom:110px}
 dialog{padding:30px 22px}
 dialog p:not(.eyebrow),dialog textarea{font-size:20px}
 #map-dialog h2{font-size:24px}
}
@media(max-width:360px){
 .site-header{padding-inline:18px}
 .brand img{width:160px}
 .hero h1{font-size:40px}
 .hero-date>strong{font-size:68px}
 .hero-date>span{padding-left:12px}
 .hero-visual,.motion-on .hero-visual{height:340px;min-height:340px}
 .program-header h2,#location .section-heading h2{font-size:32px}
 .closing h2{font-size:31px}
}
