/* Shared opening format across the home, service, journal and stay pages. */
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover){box-sizing:border-box;width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5%;padding:40px 5%;align-items:center;min-height:760px;height:760px;max-height:none}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image){box-sizing:border-box;position:static;inset:auto;width:100%;max-width:none;min-width:0;padding:0 5%;margin:0;grid-column:1;grid-row:1}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>:is(figure,.hero-image){position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:680px;min-height:0;max-height:none;margin:0;align-self:center;overflow:hidden}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>img{grid-column:2;grid-row:1;width:100%;height:680px;min-height:0;max-height:none;object-fit:cover;object-position:center;display:block}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>:is(figure,.hero-image) img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) h1{font-size:max(17px, clamp(48px,4.6vw,70px));line-height:1.04;margin:20px 0 24px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) p{font-size:max(17px, 17px);line-height:1.65;max-width:550px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) .actions .button{margin:0}
html body main>.stay-sheet-hero .stay-page-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
html body main>.stay-sheet-hero .stay-page-nav .button{padding:12px 14px;font-size:max(17px, 11px);margin:0}
main .care-hero h1{font-size:max(17px, clamp(46px,4.6vw,70px))}
main .press-detail h1,main .practical-article h1{font-size:max(17px, clamp(40px,5vw,68px))}
@media(min-width:761px) and (max-width:1100px){
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover){height:auto;min-height:760px;gap:4%;padding:40px 4%}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image){padding:0}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) h1{font-size:max(17px, 48px)}
}
@media(max-width:760px){
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover){display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;padding:32px 6%;gap:28px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image){grid-column:1;grid-row:1;padding:0}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>:is(figure,.hero-image,img){grid-column:1;grid-row:2;height:auto;min-height:0;aspect-ratio:4/3;width:100%;margin:0}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) h1{font-size:max(17px, clamp(42px,8vw,58px));margin:18px 0 22px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) p{font-size:max(17px, 16px)}
}
/* Keep suite shortcuts compact enough for the shared opening height. */
html body main>.stay-sheet-hero .stay-page-nav .button{width:auto;min-height:0;flex:0 1 auto;box-sizing:border-box;line-height:1.4}
html body main>.stay-sheet-hero .stay-back{margin-bottom:16px}
html body main>.stay-sheet-hero p{margin:14px 0}
/* Readable shortcuts in a compact grid preserve the common hero dimensions. */
html body main>.stay-sheet-hero .stay-page-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body main>.stay-sheet-hero .stay-page-nav .button{width:100%;letter-spacing:.02em;padding:10px 12px}
/* Compact square opening layout, with every text column starting at its label. */
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover){height:auto;min-height:0;padding:32px 5%;align-items:start}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image){align-self:start;padding:20px 5% 0;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:12px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image)>:is(.kicker,h1,p,nav),html body main>.stay-sheet-hero .stay-back{flex-basis:100%;width:100%}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) .kicker{margin:0}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) h1{margin:12px 0;font-size:clamp(44px,4.3vw,64px)}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) p{margin:8px 0 14px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>:is(figure,.hero-image,img){height:auto;min-height:0;aspect-ratio:1/1;align-self:start;object-fit:cover}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) :is(.actions,.conc-part-links){display:contents!important}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) .button{width:auto;max-width:100%;margin:0!important;padding:12px 16px;letter-spacing:.04em;flex:0 1 auto}
@media(max-width:760px){
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover){padding:28px 6%;gap:24px}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image){padding:0}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>:is(figure,.hero-image,img){aspect-ratio:1/1}
html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover) h1{font-size:clamp(42px,8vw,58px)}
}
html body main>.stay-sheet-hero>div{row-gap:0}
@media(min-width:761px){html body main>:is(.page-hero,.home-hero,.stay-sheet-hero,.journal-cover)>div:not(.hero-image){padding-top:40px}}

/* Crop the photographed window edges out of the family portrait. */
html body main .home-family-photo{overflow:hidden}
html body main .home-family-photo img{transform:scale(1.07);transform-origin:50% 70%}
