@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-light.woff') format('woff');font-style:normal;font-weight:300 400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-extralight.woff') format('woff');font-style:normal;font-weight:200;font-display:swap}
:root{--sans:Montserrat,Arial,sans-serif;--serif:Montserrat,Arial,sans-serif}
body{font-weight:300;font-size:16px;line-height:1.85}
h1,h2,h3,blockquote{font-weight:200;letter-spacing:.025em}
h1,body[data-page=story] h1,body[data-page=events] h1,body[data-page=equus] h1,body[data-page=rita] h1,body[data-page=cabanas] h1{font-size:clamp(1.25rem,1.9vw,1.75rem);line-height:1.65;max-width:850px}
h2,.home-intro h2,.stay h2,.house-summary h2,.event-teaser h2{font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.6;letter-spacing:.02em}
.desktop-nav{gap:20px;font-size:14px}.desktop-nav a,.mobile-nav a{text-transform:uppercase;letter-spacing:.035em}
.site-header{height:120px}.brand{width:145px}.eyebrow{font-weight:300;letter-spacing:.1em;font-size:12px}.languages,.text-link{font-size:14px}
.mobile-nav a{font-size:20px;line-height:2.8;font-weight:300}
/* All supplied photographs retain their full composition at every viewport. */
main img{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.home-hero,.house-hero{width:min(1280px,95.6%);margin-inline:auto}
.home-intro{max-width:720px;padding-block:85px 105px}.home-intro>p:not(.eyebrow){font-size:16px;max-width:600px;margin-top:25px}
.home-intro h2{font-size:clamp(1.4rem,2vw,1.9rem)}
.story-teaser{gap:10%;margin-bottom:100px}.story-teaser h2{margin-bottom:20px}
.section-heading{margin-bottom:40px}.house-entry{margin-bottom:90px;gap:8%}.house-entry.rita{grid-template-columns:.9fr 1fr;gap:12%;margin-left:4%}
.house-entry.rita .house-photo{width:85%;justify-self:end}.house-photo,.gallery-image{overflow:visible}
.house-summary p:not(.eyebrow){font-size:16px}.house-summary .eyebrow{margin-bottom:10px}.house-summary h2{margin-bottom:20px}
.home-estate{margin-block:20px 90px}.event-teaser{max-width:1000px;padding-block:0 90px}.event-teaser figure{margin-bottom:40px}.event-teaser h2{max-width:700px;margin:auto}
.event-teaser p:not(.eyebrow){margin-top:22px}.gallery-teaser{margin-bottom:50px}.photo-pair{align-items:start;gap:9%}.photo-pair figure:last-child{margin-top:65px}
.stay{padding-block:65px;margin-bottom:55px}.stay h2{font-size:1.65rem}.stay .eyebrow{font-size:12px}
.page-title{padding-top:65px;padding-bottom:50px;max-width:1050px}.page-title .eyebrow{margin-bottom:24px}.page-title h1{font-size:1.6rem}
.editorial-copy{font-size:16px;max-width:730px;line-height:1.95;padding-bottom:60px}.editorial-copy h2{font-size:1.4rem}.editorial-copy .closing{font-size:1.35rem;line-height:1.8;padding:20px 0}
.large-quote{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.8;padding:45px 0 75px;max-width:850px;letter-spacing:.015em}
.pessoa{padding-block:20px 65px}.pessoa blockquote{font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.9}.pessoa .eyebrow{margin-bottom:18px}
.story-opening,.story-land,.story-continuity{display:grid;grid-template-columns:1fr 1fr;gap:12%;max-width:1080px;margin-bottom:65px}.story-land{align-items:center}.story-continuity{align-items:start}
.wide-photo{margin-block:10px 70px}.house-hero+.page-title{padding-top:65px}.photo-pair+.editorial-copy{padding-top:65px}
.practical{padding-bottom:70px}.practical h2,.house-gallery h2,.contact-layout h2,.booking-layout h2,.map-section h2{font-size:1.4rem}.house-gallery h2{margin-bottom:40px}
.masonry{column-gap:8%}.masonry figure{margin-bottom:50px}.masonry figure:nth-child(3n+2){width:82%;margin-inline:auto}.masonry figure:nth-child(2){padding-top:50px}
.topic-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9%;align-items:start}.topic-entries article{text-align:center}.topic-entries a{display:block}.topic-entries img{transition:opacity .3s}.topic-entries a:hover img{opacity:.72}.topic-entries h2{font-size:16px;text-transform:uppercase;font-weight:300;letter-spacing:.1em;margin-top:12px}.estate-entries{max-width:920px;margin-bottom:100px}
body[data-page=estate] .page-title{padding-bottom:10px;padding-top:45px}body[data-page=estate] .page-title .eyebrow{display:none}.home-estate .topic-entries{max-width:850px;margin:auto}
.topic-back .text-link{margin-top:35px}.topic-detail{display:grid;grid-template-columns:.55fr 1fr;gap:12%;align-items:start;max-width:1120px;margin-block:55px 100px}.topic-detail h1{font-size:1.4rem;margin-bottom:30px;line-height:1.7}.topic-detail figure{max-width:300px}.topic-detail article>p{line-height:1.95}.topic-detail .eyebrow{margin-bottom:22px}.topic-detail p+p{margin-top:24px}
.contact-details>div{grid-template-columns:.65fr 1.5fr;gap:15px}.contact-details dd{overflow-wrap:anywhere}.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-map{display:block;width:100%;height:370px;border:0;background:var(--quiet)}
.booking-layout{gap:12%;grid-template-columns:.8fr 1fr}.booking-layout figure{max-width:450px}.form-note{font-size:16px}.solid-button{font-weight:300}.footer{font-size:14px}
@media(max-width:1100px){.desktop-nav{gap:13px}.site-header{gap:18px}.brand{width:125px}}
@media(max-width:950px){.site-header{height:110px}.brand{width:140px}.mobile-nav{top:110px}.story-opening,.story-land,.story-continuity{gap:8%}}
@media(max-width:700px){
 .site-header{height:100px}.brand{width:128px}.mobile-nav{top:100px}
 .home-hero,.house-hero{width:92%}.home-intro{padding-block:60px 70px}.home-intro h2{font-size:1.45rem}.home-intro>p:not(.eyebrow){font-size:16px}
 h1,body[data-page=story] h1,body[data-page=events] h1,body[data-page=equus] h1,body[data-page=rita] h1,body[data-page=cabanas] h1{font-size:1.25rem;line-height:1.75}
 h2,.house-summary h2,.event-teaser h2,.stay h2{font-size:1.3rem}
 .story-teaser{margin-bottom:65px;gap:30px}.house-entry,.house-entry.rita{margin:0 0 65px;gap:25px}.house-entry.rita .house-photo{width:88%;align-self:center}
 .page-title{padding-top:45px;padding-bottom:35px}.page-title h1{font-size:1.4rem}.house-hero+.page-title{padding-top:45px}
 .story-opening,.story-land,.story-continuity{grid-template-columns:1fr;gap:25px;margin-bottom:40px}
 .wide-photo{margin-bottom:45px}.large-quote{font-size:1.35rem;padding-block:25px 50px}.pessoa blockquote{font-size:1.25rem}.pessoa{padding-bottom:40px}.editorial-copy{font-size:16px;padding-bottom:40px}
 .photo-pair figure:last-child{margin-top:40px}.photo-pair+.editorial-copy{padding-top:40px}.home-estate{margin-bottom:60px}.event-teaser{padding-bottom:60px}.event-teaser figure{margin-bottom:30px}
 .topic-entries{grid-template-columns:repeat(3,minmax(0,1fr));gap:4%}.topic-entries article{max-width:none;width:100%;margin:0}.topic-entries h2{margin-top:8px;font-size:14px;letter-spacing:.035em}.estate-entries{margin-bottom:60px}
 .topic-detail{grid-template-columns:1fr;gap:30px;margin-block:30px 60px}.topic-detail figure{width:52%;max-width:200px;margin:auto}.topic-detail h1{font-size:1.25rem}.topic-back .text-link{margin-top:25px}
 .masonry figure{margin-bottom:35px}.masonry figure:nth-child(2){padding-top:0}.stay{padding-block:50px;margin-bottom:35px}.booking-layout{grid-template-columns:1fr;gap:40px}.booking-layout figure{max-width:75%;margin:auto}.contact-map{height:300px}
}

/* Final editorial adjustments: sequential story reading and restrained headings. */
.story-opening,.story-land,.story-continuity{display:block;max-width:730px}
.story-opening>div+div,.story-land>div+div,.story-continuity>div+div{margin-top:1.5rem}
h1,body[data-page=story] h1,body[data-page=events] h1,body[data-page=equus] h1,body[data-page=rita] h1,body[data-page=cabanas] h1,.page-title h1{font-size:clamp(1.125rem,1.55vw,1.375rem);line-height:1.75}
h2,.home-intro h2,.stay h2,.house-summary h2,.event-teaser h2,.editorial-copy h2,.practical h2,.house-gallery h2,.contact-layout h2,.booking-layout h2,.map-section h2{font-size:clamp(1.125rem,1.4vw,1.3rem);line-height:1.7}
.large-quote,.pessoa blockquote,.editorial-copy .closing{font-size:clamp(1.125rem,1.55vw,1.375rem);line-height:1.9;white-space:pre-line}
.topic-detail h1{font-size:1.2rem}.topic-entries h2{font-size:16px}
.gallery-house{margin-bottom:70px}.gallery-house>h2{margin-bottom:38px;font-weight:300;letter-spacing:.045em;font-size:1.2rem}
@media(max-width:700px){.topic-entries h2{font-size:14px}.topic-detail h1{font-size:1.125rem}.gallery-house{margin-bottom:45px}.gallery-house>h2{margin-bottom:26px}.large-quote{max-width:90%}}

/* Homepage only: one restrained hierarchy for all five section names. */
body[data-page=home] .home-section-title {
 font-family:var(--sans);
 font-size:clamp(1.25rem,1.6vw,1.375rem);
 font-weight:300;
 line-height:1.5;
 letter-spacing:.08em;
 text-transform:uppercase;
 text-align:start;
 max-width:none;
 margin:0;
}
body[data-page=home] .home-section-subtitle {
 font-family:var(--sans);
 font-size:clamp(1.0625rem,1.3vw,1.125rem);
 font-weight:200;
 line-height:1.7;
 letter-spacing:.02em;
 text-align:start;
 margin:14px 0 0;
}
body[data-page=home] .story-teaser .home-section-subtitle {margin-bottom:20px}
body[data-page=home] .event-teaser {text-align:start;max-width:none}
body[data-page=home] .event-teaser .home-section-subtitle {max-width:700px}
body[data-page=home] .event-teaser p:not(.eyebrow) {margin-inline:0}
body[data-page=home] .event-teaser .event-overview {
 display:grid;
 grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
 gap:9%;
 align-items:start;
 margin-top:32px;
}
body[data-page=home] .event-teaser .event-copy .home-section-subtitle {margin-top:0}
body[data-page=home] .event-teaser .event-photo {margin:0}
@media(max-width:700px) {
 body[data-page=home] .event-teaser .event-overview {
  grid-template-columns:minmax(0,1fr);
  gap:28px;
  margin-top:24px;
 }
}

/* Our Story only: controlled pauses without changing text or type size. */
body[data-page=story] .page-title {padding-bottom:36px}
body[data-page=story] .story-opening {margin-bottom:40px}
body[data-page=story] .wide-photo {margin-block:0 40px}
body[data-page=story] .story-land,
body[data-page=story] .story-continuity {margin-bottom:0}
body[data-page=story] .large-quote {margin-block:0;padding-block:32px}
body[data-page=story] .pessoa {margin-block:0;padding-block:32px}
body[data-page=story] .pessoa .eyebrow {margin-bottom:12px}
body[data-page=story] .editorial-copy {padding-block:0 32px}
body[data-page=story] .editorial-copy .closing {margin-block:24px;padding-block:0}

@media(max-width:700px) {
 body[data-page=story] .page-title {padding-bottom:28px}
 body[data-page=story] .story-opening {margin-bottom:32px}
 body[data-page=story] .wide-photo {margin-bottom:32px}
 body[data-page=story] .large-quote,
 body[data-page=story] .pessoa {padding-block:24px}
 body[data-page=story] .pessoa .eyebrow {margin-bottom:10px}
 body[data-page=story] .editorial-copy {padding-bottom:24px}
 body[data-page=story] .editorial-copy .closing {margin-block:20px}
}
