/* Viewport-height refinement. Append after all existing site and drawer CSS. */
body{font-size:19px}
.hero-intro{font-size:20px;line-height:1.6}
.hero-scroll,.hero-image figcaption>span:last-child{font-size:15px}
.hero .eyebrow{font-size:12px;line-height:1.6}
.intro-ribbon{font-size:15px}
.story-copy>p:not(.eyebrow),.celebration-heading>p,.celebration-grid p,.setting-copy p:not(.eyebrow),.section-heading>p,.gallery-heading p:not(.eyebrow),.faq>div>p:not(.eyebrow),.faq-items details>p,.visit-intro{font-size:19px;line-height:1.7}
.room-description,.room-summary{font-size:18px;line-height:1.65}
.room-caption,.room-caption>span:first-child,.gallery-item>span,.gallery-bottom>span,.setting figcaption,.estate-details dt{font-size:15px;line-height:1.6}
.footer-brand p,.footer-main address,.email-link{font-size:18px}
.social-links,.footer-bottom,.plain-button{font-size:14px}
.site-header nav{font-size:16px}
.hero .button,.hero-scroll,.text-link{font-size:17px}
.photo-nav p{font-size:16px;line-height:1.5}
.inquiry-drawer .drawer-intro{font-size:17px;line-height:1.65}
.inquiry-drawer .drawer-label,.inquiry-drawer .drawer-summary dd{font-size:16px}
.inquiry-drawer .drawer-label span,.inquiry-drawer .drawer-help,.inquiry-drawer .drawer-footer-note,.inquiry-drawer .drawer-steps li,.inquiry-drawer .drawer-summary dt,.inquiry-drawer .drawer-text-button,.inquiry-drawer .drawer-recipient{font-size:14px;line-height:1.55}
.inquiry-drawer .drawer-primary{font-size:17px}
@media(min-width:881px) and (max-height:820px){
 .site-header{height:76px}
 html{scroll-padding-top:92px}
 .hero{grid-template-columns:52% 48%;padding-block:20px;min-height:0;align-items:stretch}
 .hero-copy{padding:8px 32px 8px 0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:20px;align-content:center;align-self:stretch}
 .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-intro{grid-column:1/-1}
 .hero .eyebrow{margin-bottom:16px;max-width:none}
 .hero h1{font-size:clamp(74px,11.5svh,88px);line-height:.95;margin-bottom:18px}
 .hero h1 br:first-of-type{display:none}
 .hero-intro{max-width:43ch;margin-bottom:20px}
 .hero-copy>.button{grid-column:1;grid-row:4;justify-self:start;align-self:center;min-height:54px;padding-inline:20px;gap:20px}
 .hero-scroll{grid-column:2;grid-row:4;align-self:center;margin:0;gap:15px;line-height:1.4}
 .hero-image{min-height:clamp(380px,calc(100svh - 116px - var(--holiday-height, 0px)),650px);height:auto}
 .hero-image figcaption{bottom:22px;padding:15px 21px}
}
@media(min-width:881px) and (max-width:1100px){.site-header nav{font-size:15px;gap:14px}}
@media(max-width:880px){
 .hero-intro{font-size:19px;line-height:1.6}
 .room-title{font-size:16px}
 .hero .button{font-size:17px}
}
@media(max-width:620px){
 .hero-copy{padding-top:28px;padding-bottom:28px}
 .hero .eyebrow{font-size:12px;margin-bottom:18px}
 .hero h1{font-size:clamp(62px,17vw,82px);line-height:.98;margin-bottom:20px}
 .hero h1 br{display:none}
 .hero h1 em{display:inline;margin-top:0}
 .hero-intro{font-size:19px;line-height:1.6;max-width:34ch;margin-bottom:20px}
 .hero-scroll{margin-top:14px;font-size:16px}
 .hero-image{height:clamp(310px,55svh,440px)}
 .hero-image figcaption>span:last-child{font-size:14px}
 .intro-ribbon,.gallery-item>span,.room-caption,.room-photo>span,.setting figcaption,.setting figcaption .text-link{font-size:14px}
 .room-summary,.room-description{font-size:18px}
 .story-copy>p:not(.eyebrow),.celebration-heading>p,.celebration-grid p,.setting-copy p:not(.eyebrow),.section-heading>p,.gallery-heading p:not(.eyebrow),.faq>div>p:not(.eyebrow),.faq-items details>p,.visit-intro{font-size:18px}
}
@media(max-width:620px) and (max-height:700px){
 .site-header{height:72px}
 .site-header nav{top:72px;max-height:calc(100dvh - 72px - var(--holiday-height, 0px))}
 .hero-copy{padding-block:20px}
 .hero .eyebrow{margin-bottom:14px}
 .hero h1{font-size:clamp(58px,16.5vw,72px);margin-bottom:16px}
 .hero-intro{margin-bottom:18px}
 .hero-scroll{margin-top:10px}
}
@media(max-height:480px){
 .site-header{position:relative}
 .hero{min-height:0;overflow:visible}
 .hero-copy{align-self:start}
 .hero-image{min-height:300px}
 dialog.inquiry-drawer[open]{display:block;overflow-y:auto}
 .inquiry-drawer .drawer-topbar{position:sticky;top:0;z-index:3;background:var(--paper);padding-block:8px}
 .inquiry-drawer .drawer-scroll{overflow:visible;padding-block:22px}
 .inquiry-drawer .drawer-footer{padding-block:16px}
}

/* 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}
}
