/* Source-audited proposal. Append after the current styles.css.
   Absolute photography stays in place. Real text enters document flow,
   so larger text and zoom can expand the hero without being clipped. */
.hero-content>p:not(.eyebrow){font-size:20px;line-height:1.55}
.hero-content .button,.hero-secondary{font-size:17px}
.package>p{font-size:18px}

@media(max-height:800px){
 .site-header{height:88px}
 html{scroll-padding-top:104px}
 .hero{display:flex;flex-direction:column;justify-content:flex-end;height:auto;min-height:calc(100svh - 114px);max-height:none;padding:28px clamp(30px,4.6vw,84px) 24px}
 .hero-content{position:relative;inset:auto;width:100%;max-width:720px}
 .hero-content h1{font-size:clamp(68px,6.2vw,94px);line-height:1.04}
 .hero-content .eyebrow{margin-bottom:14px;font-size:12px}
 .hero-content>p:not(.eyebrow){margin-top:16px;font-size:20px;line-height:1.5}
 .hero-actions{margin-top:18px;gap:10px 24px}
 .hero-actions .button{margin-top:0}
 .hero-bottom{position:relative;inset:auto;margin-top:24px;padding-top:14px;font-size:12px}
 .hero-bottom a{font-size:15px}
 #mobile-nav{top:88px;max-height:calc(100dvh - 88px)}
}

@media(max-width:820px) and (max-height:800px){
 .site-header{height:76px}
 .hero{min-height:calc(100svh - 94px);padding-inline:32px}
 #mobile-nav{top:76px;max-height:calc(100dvh - 76px)}
 html{scroll-padding-top:92px}
}

@media(max-width:580px){
 .site-header{height:72px}
 #mobile-nav{top:72px;max-height:calc(100dvh - 72px)}
 html{scroll-padding-top:88px}
 .hero{display:flex;flex-direction:column;justify-content:flex-end;height:auto;min-height:calc(100svh - 84px);max-height:none;padding:24px 23px 20px}
 .hero-content{position:relative;inset:auto;width:100%;max-width:none}
 .hero-content h1{font-size:clamp(44px,12vw,60px);line-height:1.08}
 .hero-content .eyebrow{font-size:12px;letter-spacing:.08em;max-width:none;margin-bottom:14px}
 .hero-content>p:not(.eyebrow){font-size:18px;line-height:1.55;margin-top:16px}
 .hero-actions{margin-top:18px;gap:10px 20px}
 .hero-content .button{font-size:16px;min-height:52px;margin-top:0}
 .hero-secondary{font-size:16px;min-height:44px}
 .hero-bottom{position:relative;inset:auto;margin-top:20px;padding-top:14px;gap:16px;font-size:11px}
 .hero-bottom a{font-size:13px}
}

/* Short landscape: title beside supporting copy and actions. The
   redundant location/about footer yields space to the primary CTA. */
@media(min-width:581px) and (max-width:980px) and (max-height:500px){
 .site-header{height:64px;position:relative}
 #mobile-nav{top:64px;max-height:calc(100dvh - 64px)}
 html{scroll-padding-top:24px}
 .hero{min-height:calc(100svh - 82px);padding:18px 28px;margin-inline:18px}
 .hero-content{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;row-gap:12px;align-items:start}
 .hero-content .eyebrow{grid-column:1/-1;margin:0;font-size:12px}
 .hero-content h1{grid-column:1;grid-row:2/4;font-size:clamp(48px,7vw,64px);line-height:1.05}
 .hero-content>p:not(.eyebrow){grid-column:2;margin:0;font-size:18px;line-height:1.5}
 .hero-actions{grid-column:2;margin:0;gap:8px 16px}
 .hero-content .button{font-size:16px;min-height:48px;margin:0;padding:12px 18px}
 .hero-secondary{font-size:16px;min-height:44px}
 .hero-bottom{display:none}
}

/* Keep the scrollable form area useful above the on-screen keyboard
   and in landscape, without reducing field/control typography. */
@media(max-height:540px){
 .inquiry-drawer .drawer-topbar{padding-block:8px}
 .inquiry-drawer .drawer-footer{padding-block:12px}
 .inquiry-drawer .drawer-scroll{padding-top:24px}
}

/* Keep enquiry forms readable, including low windows and the on-screen keyboard. */
dialog.inquiry-drawer{height:100vh;height:100dvh;max-height:none}
dialog.inquiry-drawer .drawer-intro{font-size:17px;line-height:1.65}
dialog.inquiry-drawer .drawer-label{font-size:15px;line-height:1.5}
dialog.inquiry-drawer .drawer-label span{font-size:12px}
dialog.inquiry-drawer .drawer-label>span[id]{margin:0;color:inherit;font:inherit}
dialog.inquiry-drawer .drawer-control{font-size:16px;line-height:1.5}
dialog.inquiry-drawer .drawer-primary{font-size:16px;min-height:52px}
dialog.inquiry-drawer .drawer-text-button{font-size:14px;min-height:44px}
dialog.inquiry-drawer .drawer-help,dialog.inquiry-drawer .drawer-footer-note,dialog.inquiry-drawer .drawer-copy-status,dialog.inquiry-drawer .drawer-field-error{font-size:14px;line-height:1.55}
dialog.inquiry-drawer .drawer-steps li{font-size:14px}
dialog.inquiry-drawer .drawer-steps li>span{font-size:12px}
dialog.inquiry-drawer legend{font-size:13px}
dialog.inquiry-drawer .drawer-summary dt{font-size:14px}
dialog.inquiry-drawer .drawer-summary dd{font-size:16px}
dialog.inquiry-drawer .drawer-recipient,dialog.inquiry-drawer .drawer-email-preview>summary,dialog.inquiry-drawer .drawer-email-preview pre{font-size:14px;line-height:1.6}
@media(max-height:650px){
 dialog.inquiry-drawer .drawer-topbar{padding-block:10px}
 dialog.inquiry-drawer .drawer-scroll{padding-top:24px;padding-bottom:24px}
 dialog.inquiry-drawer .drawer-footer{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 dialog.inquiry-drawer .drawer-footer-note{margin-bottom:9px}
 dialog.inquiry-drawer .drawer-steps{margin-block:20px}
}
/* Let the whole drawer scroll when a keyboard or landscape window is very short. */
@media(max-height:480px){
 dialog.inquiry-drawer[open]{display:block;overflow-y:auto;overscroll-behavior:contain}
 dialog.inquiry-drawer .drawer-scroll{overflow:visible;min-height:0;scrollbar-gutter:auto}
 dialog.inquiry-drawer .drawer-topbar,dialog.inquiry-drawer .drawer-footer{position:static}
 dialog.inquiry-drawer .drawer-heading{font-size:38px}
}
