/* Shared typographic roles. Theme-wide settings intentionally override old per-page fonts. */
body.sl-theme,.editor-styles-wrapper{font-family:var(--sl-font-body);font-size:var(--sl-type-body);line-height:1.7}
.sl-theme main,.sl-theme .legacy-content{font-family:var(--sl-font-body);font-size:var(--sl-type-body)}
.sl-theme main :is(p,li,blockquote,figcaption),.editor-styles-wrapper :is(p,li,blockquote,figcaption){font-family:var(--sl-font-body)!important}
.sl-theme main p:not(.eyebrow):not(.lead),.sl-theme main li,.editor-styles-wrapper p:not(.eyebrow):not(.lead),.editor-styles-wrapper li{font-size:var(--sl-type-body)!important;line-height:1.7}
.sl-theme main :is(h1,h2,h3,h4,h5,h6),.editor-styles-wrapper :is(h1,h2,h3,h4,h5,h6){font-family:var(--sl-font-heading)!important;font-weight:400;line-height:1.15;overflow-wrap:anywhere}
.sl-theme main h1,.editor-styles-wrapper h1{font-size:clamp(var(--sl-type-h1-mobile),6vw,var(--sl-type-h1))!important}
.sl-theme main h2,.editor-styles-wrapper h2{font-size:clamp(var(--sl-type-h2-mobile),4.3vw,var(--sl-type-h2))!important}
.sl-theme main h3,.editor-styles-wrapper h3{font-size:var(--sl-type-h3)!important}
.sl-theme main h4,.editor-styles-wrapper h4{font-size:calc(var(--sl-type-h3)*.9)!important}
.sl-theme main h5,.editor-styles-wrapper h5{font-size:calc(var(--sl-type-h3)*.8)!important}
.sl-theme main h6,.editor-styles-wrapper h6{font-size:var(--sl-type-body)!important}
.sl-theme .legacy-content :is(span,font)[style*="font"],.sl-theme .legacy-content :is(span,font)[size]{font-family:inherit!important;font-size:inherit!important}
.sl-theme main p.lead,.editor-styles-wrapper p.lead{font-size:var(--sl-type-lead)!important;line-height:1.6}
.sl-theme .eyebrow,.editor-styles-wrapper .eyebrow{font-family:var(--sl-font-body)!important;font-size:var(--sl-type-small)!important}
.sl-theme .brand-name{font-family:var(--sl-font-brand);font-size:var(--sl-type-brand);font-weight:400;line-height:1.08;letter-spacing:.08em}
.sl-theme .brand{gap:12px;min-width:0}
.sl-theme .brand-mark{flex-shrink:0}
.sl-theme .primary-nav a{font-family:var(--sl-font-body);font-size:var(--sl-type-nav)}
.sl-theme :is(.button,.header-cta,.text-link,.wp-block-button__link){font-family:var(--sl-font-body)!important;font-size:var(--sl-type-button)!important}
.sl-theme .sl-booking-panel h2,.editor-styles-wrapper .sl-booking-panel h2{font-size:var(--sl-type-card)!important}
.sl-theme .page-hero.sl-page-hero{background:var(--cream);padding:80px 0;min-height:0;display:block}
.sl-theme .page-hero.sl-page-hero .container{max-width:var(--max);text-align:left}
.sl-theme .sl-page-hero .lead{max-width:850px}
.sl-theme .sl-plain-title{padding-top:60px}
/* Stop the portrait image following the height of its neighbouring text. */
.sl-theme .intro-grid{min-height:0;align-items:start}
.sl-theme .photo-frame{min-height:0;align-self:start}
.sl-theme .photo-frame img.sl-editable-home-image{width:100%;height:var(--sl-image-intro-height);min-height:0;max-height:none;margin:0;border-radius:20px}
.sl-theme .intro-grid>div:first-child{padding:40px 30px 40px 0}
.sl-theme .current-content-grid{align-items:start}
.sl-theme .current-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;align-self:start;max-height:none}
.sl-theme .current-gallery img.sl-editable-home-image{width:100%;height:var(--sl-image-pair-height);min-height:0;margin:0;border-radius:20px}
/* With the booking sidebar open, avoid squeezing a second pair of columns inside it. */
@media(min-width:1101px){
 .sl-theme .sl-has-booking .current-content-grid{grid-template-columns:minmax(0,1fr)}
 .sl-theme .sl-has-booking .intro-grid{grid-template-columns:minmax(0,1fr)}
 .sl-theme .sl-has-booking .intro-grid>div:first-child{padding-right:0}
 .sl-theme .sl-has-booking .steps{grid-template-columns:minmax(0,1fr);gap:24px}
 .sl-theme .sl-has-booking .step-arrow{display:none}
}
@media(max-width:1100px){.sl-theme .primary-nav a{font-size:max(18px,var(--sl-type-nav))}.sl-theme .primary-nav .sub-menu a{font-size:max(16px,var(--sl-type-nav))}}
@media(max-width:600px){
 .sl-theme .brand-name{display:block;font-size:var(--sl-type-brand)}
 .sl-theme main h1,.editor-styles-wrapper h1{font-size:var(--sl-type-h1-mobile)!important}
 .sl-theme main h2,.editor-styles-wrapper h2{font-size:var(--sl-type-h2-mobile)!important}
 .sl-theme .sl-booking-panel h2,.editor-styles-wrapper .sl-booking-panel h2{font-size:var(--sl-type-card)!important}
 .sl-theme .page-hero.sl-page-hero{padding:50px 0}
 .sl-theme .intro-grid>div:first-child{padding:32px 0}
 .sl-theme .photo-frame img.sl-editable-home-image{height:min(75vw,var(--sl-image-intro-height))}
 .sl-theme .current-gallery{gap:12px}
 .sl-theme .current-gallery img.sl-editable-home-image{height:min(70vw,var(--sl-image-pair-height))}
}

@media(min-width:1101px){.sl-theme .primary-nav .menu{flex-wrap:wrap;column-gap:14px;row-gap:0}.sl-theme .header-inner{padding-block:8px}}

.sl-theme .sl-home-hero{position:relative;overflow:hidden}
.sl-theme .sl-home-hero .container{position:relative;z-index:2}
