:root{--ink:#19332c;--paper:#f4efe3;--rust:#a7653e;--ochre:#c49a54;--cream:#fbf8f0;--line:rgba(25,51,44,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Newsreader",serif;font-weight:400;line-height:.96;letter-spacing:-.035em}h1{font-size:clamp(4rem,9.6vw,9.6rem);margin:.25em 0 .22em}h1 em{color:var(--rust);font-weight:400}h2{font-size:clamp(3rem,6vw,6rem);margin:.2em 0}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:.78rem;font-weight:600}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-family:"Newsreader",serif;font-size:1.4rem}.brand img{object-fit:contain}.site-header nav{display:flex;gap:2rem;align-items:center}.site-header nav a{text-decoration:none;font-size:.88rem}.nav-cta,.button{display:inline-flex;border:1px solid currentColor;padding:.75rem 1.2rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}.menu{display:none;border:0;background:transparent;color:inherit;font:inherit}.hero{min-height:calc(100vh - 86px);position:relative;display:grid;grid-template-columns:58% 42%;overflow:hidden}.hero-copy{padding:8vh 5vw 9rem;z-index:2}.intro{font-family:"Newsreader",serif;font-size:clamp(1.25rem,2vw,1.8rem);max-width:620px;line-height:1.4}.button{margin-top:1.4rem;background:var(--ink);color:var(--cream);border-color:var(--ink)}.hero-art{position:relative;background:var(--rust);min-height:600px;overflow:hidden}.sun{position:absolute;width:34vw;height:34vw;border-radius:50%;background:#e8c88f;right:-6vw;top:9vh}.horizon{position:absolute;border-radius:50% 50% 0 0;background:var(--ink);left:-18%;width:140%;height:46%;bottom:-22%}.horizon.two{background:#315e50;left:-35%;width:155%;bottom:-8%;height:31%}.house-silhouette{position:absolute;left:23%;bottom:18%;width:45%;height:30%;}.roof{position:absolute;display:block;left:-8%;top:0;width:116%;height:42%;background:var(--cream);clip-path:polygon(8% 80%,50% 0,92% 80%,100% 80%,100% 100%,0 100%,0 80%)}.wall{position:absolute;display:block;left:0;top:34%;width:100%;height:62%;background:var(--cream)}.door{position:absolute;display:block;left:45%;bottom:0;width:16%;height:39%;background:var(--ink)}.hero-art>p{position:absolute;right:2.2rem;bottom:2rem;color:var(--cream);font-family:"Newsreader",serif;font-style:italic;text-align:right}.quick-facts{position:absolute;left:4vw;right:4vw;bottom:0;background:var(--cream);z-index:3;display:grid;grid-template-columns:repeat(4,1fr);padding:1.7rem 3vw}.quick-facts span{padding:0 1.6rem;border-right:1px solid var(--line);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.quick-facts span:last-child{border:0}.quick-facts strong{font-family:"Newsreader",serif;font-size:2.5rem;font-weight:400;display:block;line-height:1}.story{display:grid;grid-template-columns:70px 1fr 1fr;gap:4vw;padding:10rem 6vw;background:var(--cream)}.section-number{font-family:"Newsreader",serif;font-size:1.2rem;border-top:1px solid var(--ink);padding-top:.7rem}.story-copy{padding-top:3.2rem;max-width:520px}.story-copy p:first-child{font-family:"Newsreader",serif;font-size:1.45rem;line-height:1.5}.quote-band{background:var(--ink);color:var(--cream);display:flex;gap:4vw;align-items:center;justify-content:center;padding:7rem 8vw}.quote-band img{filter:brightness(0) invert(1);opacity:.8}.quote-band blockquote{font-family:"Newsreader",serif;font-size:clamp(2rem,4.5vw,4.6rem);line-height:1.05;max-width:1050px;margin:0;font-style:italic}.stay{padding:10rem 6vw}.stay-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:end}.stay-heading h2{margin:0}.stay-heading>p:last-child{margin-bottom:.7rem}.amenities{display:grid;grid-template-columns:repeat(4,1fr);margin-top:6rem;border-top:1px solid var(--line)}.amenities article{padding:2rem 2.2rem 0 0;border-right:1px solid var(--line);min-height:250px}.amenities article+article{padding-left:2.2rem}.amenities article:last-child{border:0}.amenities span{font-family:"Newsreader",serif;color:var(--rust);font-size:1.2rem}.amenities h3{font-family:"Newsreader",serif;font-size:1.65rem;font-weight:400;margin:2rem 0 .5rem}.amenities p{font-size:.9rem}.estate{display:grid;grid-template-columns:1fr 1fr;background:var(--ochre)}.estate-card{padding:7rem 8vw;background:var(--rust);color:var(--cream)}.acre{font-family:"Newsreader",serif;font-size:clamp(6rem,14vw,13rem);line-height:.8;letter-spacing:-.06em}.acre-label{text-transform:uppercase;letter-spacing:.18em;line-height:1.5;margin:2rem 0 0}.estate-copy{padding:9rem 8vw}.estate-copy h2{font-size:clamp(3rem,5vw,5.5rem)}.estate-copy>p{font-family:"Newsreader",serif;font-size:1.4rem;line-height:1.45}.estate-copy .small{font-family:"DM Sans",sans-serif;font-size:.85rem}.rule{width:100%;height:1px;background:var(--ink);margin:3rem 0}.dordogne{padding:11rem 10vw;background:var(--cream);text-align:center}.dordogne h2{max-width:900px;margin:.3em auto .7em}.columns{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:900px;margin:auto;text-align:left}.columns p{font-family:"Newsreader",serif;font-size:1.3rem}.details{padding:10rem 5vw;text-align:center}.details img{max-width:460px;width:70%;height:auto;margin-bottom:4rem}.details h2{font-size:clamp(4rem,8vw,8rem)}.details>p{font-family:"Newsreader",serif;font-size:1.5rem}.details .contact-note{font-family:"DM Sans",sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;margin-top:2rem}footer{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:2rem 4vw;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}footer div:nth-child(2){text-align:center}footer div:last-child{text-align:right}
@media(max-width:900px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--cream);padding:1.5rem 4vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:6rem 6vw 10rem}.hero-art{min-height:480px}.quick-facts{left:0;right:0;grid-template-columns:1fr 1fr}.quick-facts span{padding:.7rem}.quick-facts span:nth-child(2){border:0}.story{grid-template-columns:45px 1fr;padding:7rem 6vw}.story-copy{grid-column:2}.stay{padding:7rem 6vw}.stay-heading{grid-template-columns:1fr}.amenities{grid-template-columns:1fr 1fr}.amenities article:nth-child(2){border-right:0}.estate{grid-template-columns:1fr}.estate-card,.estate-copy{padding:7rem 8vw}.columns{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center;gap:.8rem}footer div:nth-child(2),footer div:last-child{text-align:center}}
@media(max-width:560px){h1{font-size:3.8rem}.hero-art{min-height:360px}.quick-facts{position:relative}.hero{display:block}.story{grid-template-columns:1fr}.story-copy{grid-column:1}.section-number{width:44px}.quote-band{padding:5rem 6vw}.quote-band img{display:none}.amenities{grid-template-columns:1fr}.amenities article,.amenities article+article{border-right:0;border-bottom:1px solid var(--line);padding:2rem 0;min-height:0}.stay-heading>p:last-child{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% center}
.hero-photo-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,51,44,.06),rgba(25,51,44,.58))}
.sun,.horizon{display:none}
.photo-story{padding:8rem 6vw 10rem;background:var(--cream);display:grid;grid-template-columns:1.25fr .72fr .62fr;gap:3vw;align-items:center}
.photo-story figure{margin:0}
.photo-story img{display:block;width:100%;height:100%;object-fit:cover}
.photo-large{height:clamp(420px,55vw,760px)}
.photo-tall{height:clamp(380px,43vw,620px);align-self:end}
.photo-story figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;font-family:"Newsreader",serif;font-size:1rem}
.photo-story figcaption span{font-family:"DM Sans",sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}
.photo-intro{align-self:start;padding-top:4rem}
.photo-intro h2{font-size:clamp(3rem,5vw,5.8rem)}
.photo-intro>p:last-child{font-family:"Newsreader",serif;font-size:1.25rem;line-height:1.45}
@media(max-width:900px){.photo-story{grid-template-columns:1.2fr .8fr;padding:6rem 6vw}.photo-intro{padding-top:0}.photo-tall{grid-column:2}}
@media(max-width:560px){.photo-story{grid-template-columns:1fr;padding:5rem 6vw}.photo-large,.photo-tall{height:480px}.photo-intro,.photo-tall{grid-column:1}.photo-intro{order:-1}}
.bathrooms{padding:10rem 6vw;background:var(--paper)}
.bathrooms-heading{display:grid;grid-template-columns:.75fr 1.7fr .75fr;gap:4vw;align-items:end;margin-bottom:5rem}
.bathrooms-heading h2{margin:0}
.bathrooms-heading>p:last-child{font-family:"Newsreader",serif;font-size:1.2rem;line-height:1.45;margin-bottom:.7rem}
.bathrooms-grid{display:grid;grid-template-columns:1.35fr .82fr .82fr;gap:1.1rem;align-items:stretch}
.bathrooms-grid figure{margin:0;display:flex;flex-direction:column}
.bathrooms-grid img{display:block;width:100%;height:clamp(420px,45vw,680px);object-fit:cover}
.bathroom-wide img{object-position:center}
.bathrooms-grid figcaption{padding-top:.8rem;font-family:"DM Sans",sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:900px){.bathrooms{padding:7rem 6vw}.bathrooms-heading{grid-template-columns:1fr 2fr}.bathrooms-heading>p:last-child{grid-column:2}.bathrooms-grid{grid-template-columns:1fr 1fr}.bathroom-wide{grid-column:span 2}.bathrooms-grid img{height:520px}}
@media(max-width:560px){.bathrooms{padding:6rem 6vw}.bathrooms-heading{grid-template-columns:1fr;margin-bottom:3rem}.bathrooms-heading>p:last-child{grid-column:1}.bathrooms-grid{grid-template-columns:1fr}.bathroom-wide{grid-column:1}.bathrooms-grid img{height:430px}}
.gallery{padding:10rem 6vw;background:var(--paper)}
.gallery-heading{display:grid;grid-template-columns:.75fr 1.7fr .75fr;gap:4vw;align-items:end;margin-bottom:5rem}
.gallery-heading h2{margin:0}
.gallery-heading>p:last-child{font-family:"Newsreader",serif;font-size:1.2rem;line-height:1.45;margin-bottom:.7rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(260px,32vw);gap:1.1rem}
.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:var(--ink)}
.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-grid .gallery-landscape img{object-position:center}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(251,248,240,.92);padding:.55rem .8rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.gallery-wide{grid-column:span 2}
.gallery-tall{grid-row:span 2}
@media(max-width:900px){.gallery{padding:7rem 6vw}.gallery-heading{grid-template-columns:1fr 2fr}.gallery-heading>p:last-child{grid-column:2}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:360px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 1}}
@media(max-width:560px){.gallery{padding:6rem 6vw}.gallery-heading{grid-template-columns:1fr;margin-bottom:3rem}.gallery-heading>p:last-child{grid-column:1}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:330px}.gallery-wide{grid-column:1}.gallery-tall{grid-row:span 1}.gallery-grid figcaption{font-size:.68rem}}
.quote-band{justify-content:center}
.quote-band blockquote{max-width:1180px;text-align:center}
.closing-wordmark{font-family:"Newsreader",serif;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.9;letter-spacing:-.035em;margin-bottom:4.5rem}
.closing-wordmark span{display:block;font-family:"DM Sans",sans-serif;font-size:.72rem;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;margin-top:1.2rem}
.email-button{margin-top:1.2rem}
footer a{text-decoration:none;border-bottom:1px solid currentColor}
.brand{line-height:1}
.brand small{display:block;font-family:"DM Sans",sans-serif;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem}
.weather{padding:9rem 6vw;background:var(--ink);color:var(--cream)}
.weather-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:4rem}
.weather-heading h2{margin-bottom:0}
.weather-place{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;margin-bottom:.7rem}
.weather-panel{display:grid;grid-template-columns:minmax(250px,.72fr) 2fr;border-top:1px solid rgba(251,248,240,.34);border-bottom:1px solid rgba(251,248,240,.34)}
.weather-current{padding:2.6rem 3rem 2.6rem 0;border-right:1px solid rgba(251,248,240,.34)}
.weather-status{font-family:"Newsreader",serif;font-size:1.6rem;margin-bottom:.7rem}
.weather-temperature{font-family:"Newsreader",serif;font-size:clamp(5.5rem,10vw,9rem);line-height:.8;letter-spacing:-.06em;color:#e8c88f}
.weather-temperature sup{font-size:.26em;vertical-align:top;letter-spacing:0;margin-left:.1em}
.weather-detail{font-size:.82rem;letter-spacing:.04em;margin:1.8rem 0 0}
.forecast{display:grid;grid-template-columns:repeat(5,1fr)}
.forecast-day{padding:2.8rem 1.4rem;text-align:center;border-right:1px solid rgba(251,248,240,.18)}
.forecast-day:last-child{border-right:0}
.forecast-day p{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;margin-bottom:2rem}
.forecast-icon{display:block;font-family:"Newsreader",serif;font-size:2.5rem;color:#e8c88f;line-height:1;margin-bottom:2rem}
.forecast-day strong,.forecast-day small{display:inline;font-family:"Newsreader",serif;font-size:2rem;font-weight:400}
.forecast-day small{font-size:1.1rem;opacity:.65;margin-left:.35rem}
.weather-updated{text-align:right;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;opacity:.68;margin:1rem 0 0}
@media(max-width:900px){.weather{padding:7rem 6vw}.weather-panel{grid-template-columns:1fr}.weather-current{border-right:0;border-bottom:1px solid rgba(251,248,240,.34);padding-right:0}.forecast-day{padding:2rem .8rem}}
@media(max-width:560px){.weather{padding:6rem 6vw}.weather-heading{display:block;margin-bottom:3rem}.weather-place{margin-top:1rem}.forecast{grid-template-columns:repeat(5,minmax(94px,1fr));overflow-x:auto}.forecast-day{padding:2rem .7rem}.weather-updated{text-align:left}.weather-temperature{font-size:6rem}}
.news-ticker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.4rem;background:var(--ink);color:var(--cream);border-top:1px solid rgba(251,248,240,.22);border-bottom:1px solid rgba(251,248,240,.22);padding:.85rem 4vw;overflow:hidden}
.news-label{font-family:"Newsreader",serif;font-size:1.05rem;white-space:nowrap}.news-label span{color:#e8c88f;font-family:"DM Sans",sans-serif;font-size:.69rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-right:.35rem}.news-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.news-track{display:flex;width:max-content;gap:3rem;align-items:center}.news-track a{color:inherit;text-decoration:none;font-size:.76rem;white-space:nowrap}.news-track a::before{content:'◆';color:var(--rust);font-size:.5rem;margin-right:1rem;vertical-align:middle}.news-track.is-live{animation:news-scroll 65s linear infinite}.news-track:hover,.news-track:focus-within{animation-play-state:paused}.news-source{font-size:.66rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;opacity:.74}
@keyframes news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.news-ticker{grid-template-columns:auto minmax(0,1fr);gap:.8rem}.news-source{display:none}.news-label{font-size:.88rem}.news-label span{display:block;font-size:.58rem}.news-track.is-live{animation-duration:52s}}
@media(prefers-reduced-motion:reduce){.news-track.is-live{animation:none}.news-window{overflow-x:auto}}
.estate-map{grid-column:1/-1;margin:0;padding:clamp(3rem,7vw,7rem);background:var(--cream)}
.estate-map a{display:block;max-width:1050px;margin:0 auto;box-shadow:0 1.5rem 4rem rgba(40,32,20,.14)}
.estate-map img{display:block;width:100%;height:auto}
.estate-map figcaption{max-width:1050px;margin:1.2rem auto 0;display:flex;justify-content:space-between;gap:1.5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
@media(max-width:560px){.estate-map{padding:2rem 4vw}.estate-map figcaption{display:block}.estate-map figcaption span{display:block}.estate-map figcaption span+span{margin-top:.4rem}}
.activities{padding:10rem 6vw;background:var(--ochre)}
.activities-heading{display:grid;grid-template-columns:.75fr 1.7fr .75fr;gap:4vw;align-items:end;margin-bottom:5rem}
.activities-heading h2{margin:0}
.activities-heading>p:last-child{font-family:"Newsreader",serif;font-size:1.2rem;line-height:1.45;margin-bottom:.7rem}
.activity-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(25,51,44,.4);border-left:1px solid rgba(25,51,44,.4)}
.activity-list a{display:flex;flex-direction:column;min-height:300px;padding:2.4rem;text-decoration:none;border-right:1px solid rgba(25,51,44,.4);border-bottom:1px solid rgba(25,51,44,.4);transition:background .25s ease,color .25s ease}
.activity-list .activity-featured{grid-column:span 2;min-height:340px;background:var(--rust);color:var(--cream)}
.activity-list a:hover,.activity-list a:focus-visible{background:var(--ink);color:var(--cream)}
.activity-list span,.activity-list strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}
.activity-list h3{font-family:"Newsreader",serif;font-size:clamp(2rem,3.3vw,3.5rem);font-weight:400;line-height:1.02;margin:3.2rem 0 .8rem}
.activity-list p{max-width:42rem;font-family:"Newsreader",serif;font-size:1.15rem;line-height:1.45}
.activity-list strong{display:block;margin-top:auto;padding-top:2rem;font-weight:600}
@media(max-width:900px){.activities{padding:7rem 6vw}.activities-heading{grid-template-columns:1fr 2fr}.activities-heading>p:last-child{grid-column:2}}
@media(max-width:560px){.activities{padding:6rem 6vw}.activities-heading{grid-template-columns:1fr;margin-bottom:3rem}.activities-heading>p:last-child{grid-column:1}.activity-list{grid-template-columns:1fr}.activity-list .activity-featured{grid-column:1}.activity-list a,.activity-list .activity-featured{min-height:0}.activity-list h3{margin-top:2.4rem}}
.restaurants{padding:10rem 6vw;background:var(--paper)}
.restaurants-heading{display:grid;grid-template-columns:.75fr 1.7fr .75fr;gap:4vw;align-items:end;margin-bottom:5rem}
.restaurants-heading h2{margin:0}
.restaurants-heading>p:last-child{font-family:"Newsreader",serif;font-size:1.2rem;line-height:1.45;margin-bottom:.7rem}
.restaurant-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.restaurant-list a{display:block;min-height:310px;padding:2.4rem;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s ease,color .25s ease}
.restaurant-list a:hover,.restaurant-list a:focus-visible{background:var(--ink);color:var(--cream)}
.restaurant-list span,.restaurant-list strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}
.restaurant-list h3{font-family:"Newsreader",serif;font-size:2.2rem;font-weight:400;margin:3.4rem 0 .8rem}
.restaurant-list p{max-width:34rem;font-family:"Newsreader",serif;font-size:1.15rem;line-height:1.45}
.restaurant-list strong{display:block;margin-top:2rem;font-weight:600}
@media(max-width:900px){.restaurants{padding:7rem 6vw}.restaurants-heading{grid-template-columns:1fr 2fr}.restaurants-heading>p:last-child{grid-column:2}}
@media(max-width:560px){.restaurants{padding:6rem 6vw}.restaurants-heading{grid-template-columns:1fr;margin-bottom:3rem}.restaurants-heading>p:last-child{grid-column:1}.restaurant-list{grid-template-columns:1fr}.restaurant-list a{min-height:0}.restaurant-list h3{margin-top:2.4rem}}
