/* A lighter first screen and more readable text, using the supplied thin face. */
body{font-size:16px}
main .eyebrow{font-size:12px}
.site-header .desktop-nav{font-size:12px;gap:16px}.header-phone{font-size:13px}.header-actions .button{font-size:13px}
.hero{height:680px;color:var(--pine)}.hero-photo{object-position:50% 64%}.hero-shade{background:linear-gradient(180deg,#f8f7f238,transparent 55%)}
.hero-content{padding-top:54px}.hero-content .location-label{font-size:14px;margin-bottom:22px;color:#28543a}
.hero-content>p{font-size:clamp(23px,2vw,30px);line-height:1.55;color:#28543a;margin-top:0;max-width:850px;text-shadow:0 1px 14px #ffffffa6}
.hero-content>p>span{display:inline-block;margin-top:8px;font-size:.8em}
.hero-content>.button{margin-top:24px;background:var(--pine);border-color:var(--pine);color:#fff;font-size:14px}.hero-content>.button:hover{background:var(--pine-dark)}
.hero-caption{color:#28543a;font-size:10px;opacity:1}
body .booking-intro .eyebrow{font-size:13px}.booking-field .field-label{font-size:11px}.booking-field input,.booking-field select{font-size:14px;max-width:150px}.booking-bar>.button{font-size:14px}
.about .about-copy>p:not(.lead){font-size:15px;line-height:1.9;max-width:490px}.qualities>div{font-size:13px}
.about-gallery{grid-column:1/-1;min-width:0;width:100%;padding:0;overflow:hidden;scroll-margin-top:30px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.gallery-intro{font-size:14px;color:var(--muted)}.gallery-heading .gallery-controls{padding:0}
.about-gallery .gallery-item{flex-basis:calc((100% - 36px)/3);height:370px}.about-gallery .gallery-item>span{font-size:13px;bottom:20px;left:20px;right:15px;text-align:left;line-height:1.6}.about-gallery .gallery-item>img{object-position:center 65%}
.filter-tab{font-size:12px}.house-capacity{font-size:13px}.house-card .house-rate-days{font-size:13px}.house-card .house-rate>strong{font-size:25px}.house-card .house-rate>strong>span{font-size:12px}.house-card .house-bottom .text-link{font-size:14px}
main .button,main .text-link{font-size:14px}.spa-copy .spa-eyebrow{font-size:12px}.spa-copy .service-kicker{font-size:14px}.spa-price>span{font-size:12px}.spa-price strong{font-size:23px}.spa-price small{font-size:11px}.service-actions .button,.service-actions .text-link{font-size:14px}
.breakfast-copy>p,.reviews-copy>p{font-size:15px}.breakfast-time small{font-size:12px}.offer-card p{font-size:13px}.offer-open{font-size:13px}.holiday-price-banner .holiday-kicker{font-size:12px}.holiday-price-banner small{font-size:14px}
.availability-table{font-size:13px}.availability-table .availability-house{font-size:13px}.availability-note,.availability-status{font-size:13px}.availability-spa-summary p{font-size:15px}.availability-spa-actions label,.availability-spa-actions>span{font-size:14px}
.faq>div>p,.faq-list summary,.faq-list details>p{font-size:14px}.contact-copy>p{font-size:15px}.contact-copy>.eyebrow{font-size:11px}.contact-phone-note{font-size:12px}.social-link,.photo-map-label{font-size:13px}.quote-subtitle{font-size:13px}
.site-footer>p,.footer-meta,.footer-link{font-size:11px}
@media(min-width:1500px){.hero{height:730px}.hero-content{padding-top:64px}}
@media(max-width:1320px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:block}}
@media(max-width:960px){.booking-bar{grid-template-columns:1fr 1fr .85fr auto}.booking-bar>.button{font-size:12px;padding-inline:15px}.about-gallery .gallery-item{height:320px;flex-basis:calc((100% - 18px)/2)}.spa-price strong{font-size:21px}.service-actions{gap:16px}}
@media(max-width:700px){
  main .eyebrow{font-size:11px}
  .header-actions .button{font-size:12px}.hero{height:620px}.hero-photo{object-position:50% 50%}.hero-content{padding-top:46px}.hero-content .location-label{font-size:12px;margin-bottom:22px}.hero-content>p{font-size:21px;line-height:1.6;max-width:100%}.hero-content>p>span{font-size:16px;max-width:270px;margin-top:9px}.hero-content>.button{font-size:13px;margin-top:23px}
  .booking-bar{grid-template-columns:1fr 1fr}.booking-bar>.button{font-size:12px;padding-inline:10px}.booking-field input,.booking-field select{font-size:13px;max-width:130px}.booking-field .field-label{font-size:11px}body .booking-intro .eyebrow{font-size:13px}
  .about .about-copy>p:not(.lead){font-size:14px}.about-gallery{margin-top:12px}.gallery-intro{font-size:13px}.about-gallery .gallery-item{flex-basis:82%;height:350px}.about-gallery .gallery-item>span{font-size:13px;left:17px}.qualities>div{font-size:12px}.house-capacity{font-size:12px}.house-card .house-rate>strong{font-size:23px}.house-card .house-rate-days{font-size:12px}
  .spa-copy .spa-eyebrow{font-size:11px}.spa-price{padding:13px 10px}.spa-price strong{font-size:21px}.spa-price>span{font-size:12px}.spa-price small{font-size:11px}.breakfast-copy>p,.reviews-copy>p{font-size:14px}.offer-card p{font-size:14px}.holiday-price-banner .holiday-kicker{font-size:10px}.holiday-price-banner small{font-size:12px}.availability-spa-summary p{font-size:14px}.availability-spa-actions label,.availability-spa-actions>span{font-size:13px}
  .faq>div>p,.faq-list summary,.faq-list details>p{font-size:13px}.contact-copy>p{font-size:14px}.contact-phone-note{font-size:11px}.site-footer>p,.footer-meta,.footer-link{font-size:10px}
}
@media(max-width:370px){.header-actions .button{font-size:10px}.hero-content>p{font-size:19px}.hero-content .location-label{font-size:11px}.booking-bar>.button{font-size:10px}.booking-field input,.booking-field select{font-size:12px}.qualities>div{font-size:11px}.spa-price{padding:12px 8px}.spa-price strong{font-size:19px}.spa-price small{font-size:10px}}

/* Shared section spacing and a dedicated photo carousel for breakfast. */
main>.section,main>.contacts{padding-block:64px}
#about.section{padding-top:64px;padding-bottom:56px;row-gap:30px}
#about .qualities{margin-top:0}
main>.quote-band{padding-block:48px}
#spa .spa-eyebrow,#breakfast .breakfast-copy>.eyebrow{font-size:12px;line-height:1.7;letter-spacing:.11em}
.breakfast-layout{grid-template-columns:1fr 1.05fr;gap:55px}
.breakfast-photo-carousel{min-width:0;align-self:center}
.breakfast-photo-carousel .house-carousel-viewport{height:430px;border-radius:7px;background:#e9e8df}
.breakfast-photo-carousel .house-carousel-image{object-position:50% 55%}
.breakfast-photo-carousel .house-carousel-counter{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.breakfast-photo-carousel .house-carousel-counter+.circle-button{margin-left:auto}
@media(max-width:960px){main>.section,main>.contacts{padding-block:52px}#about.section{padding-top:52px;padding-bottom:48px}.breakfast-layout{gap:30px}.breakfast-photo-carousel .house-carousel-viewport{height:390px}}
@media(max-width:700px){
  main>.section,main>.contacts{padding-block:40px}
  #about.section{padding-top:44px;padding-bottom:40px;row-gap:24px}
  #about .about-gallery{margin-top:0}
  main>.quote-band{padding-block:38px}
  #spa .spa-eyebrow,#breakfast .breakfast-copy>.eyebrow{font-size:11px}
  .breakfast-layout{grid-template-columns:1fr;gap:26px}
  .breakfast-photo-carousel .house-carousel-viewport{height:350px}
  .house-grid{gap:24px}
  .house-card{min-width:0;padding:12px;background:var(--cream);border:1px solid #d3d9ca;border-radius:12px;box-shadow:0 4px 16px #233b2b06}
  .house-card>.house-carousel .house-carousel-viewport{border-radius:7px}
  .house-card>.house-info{padding:18px 6px 8px}
  .house-card .house-prices{margin-top:18px;padding-top:16px}
  .house-card .house-carousel-navigation{padding-inline:3px;gap:8px}
  .house-card .house-carousel-dots{gap:4px}
  .house-card .house-carousel-dot{width:16px}
  .house-card .house-carousel-navigation>.circle-button{width:30px;height:30px;flex-shrink:0}
  .house-card .house-title-block{padding-left:10px;border-left:2px solid #7d8d73}
  .house-card .amenity-icons{gap:8px;flex-wrap:wrap}
  .house-card .amenity-control{width:clamp(34px,10vw,44px);height:42px;padding:6px}
  .house-card .amenity-control svg{width:25px;height:25px}
}
@media(max-width:370px){
  .house-card{padding:10px}
  .house-card>.house-info{padding-inline:3px}
  .house-card .house-carousel-dot{width:13px}
  .house-card .house-carousel-dot:after{left:3px;width:7px;height:7px}
  .house-card .house-carousel-dots{gap:3px}
  .house-card .house-rate>strong{font-size:21px}
  .house-card .house-rate>strong>span{font-size:10px}
  .house-card .amenity-icons{gap:6px}
  .breakfast-photo-carousel .house-carousel-viewport{height:310px}
}

#spa .spa-eyebrow{text-transform:uppercase}
.breakfast-meta{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:24px}
.breakfast-meta .breakfast-time{margin-top:0}
.breakfast-from-price{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--pine);white-space:nowrap}
.breakfast-from-price strong{font-size:31px;line-height:1.3}
.booking-invitation #availability-title{font-size:40px;line-height:1.4;margin:18px 0 0}
.booking-invitation .quote-subtitle{margin-top:15px}
.about-gallery .gallery-item[data-gallery="2"]>img{object-position:50% 100%}
.service-document-links,.request-guest-documents{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;line-height:1.8;margin:20px 0}
.service-document-links a,.request-guest-documents a{text-decoration:underline;text-underline-offset:3px}
.footer-guest-documents{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
@media(min-width:701px){.qualities>div:first-child{justify-content:center}}
@media(max-width:700px){.breakfast-meta{gap:14px 24px;margin-top:20px}.breakfast-from-price strong{font-size:29px}.booking-invitation #availability-title{font-size:29px}.footer-guest-documents{width:100%;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px 20px;text-align:left}}

.gift-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:42px;padding:36px;margin-top:30px;border:1px solid #d5ddcd;border-radius:10px;background:#e8ebdf;overflow:hidden;scroll-margin-top:35px}
.gift-copy{min-width:0}.gift-copy>.eyebrow{font-size:11px;letter-spacing:.12em}.gift-copy h3{font-size:30px;line-height:1.4;margin:15px 0 18px}.gift-copy h3 em{font-style:normal;color:var(--sage)}.gift-copy>p{font-size:14px;line-height:1.9;max-width:470px;color:#53644e}
.gift-values{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.gift-values span{border:1px solid #bdcbb1;border-radius:5px;padding:9px 13px;background:#f8f7f2;font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}.gift-copy>.gift-step{font-size:12px;margin-top:9px}
.gift-facts{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;margin:24px 0 20px;padding-block:18px;border-top:1px solid #cbd4c0;border-bottom:1px solid #cbd4c0}.gift-facts dt{font-size:11px;color:var(--muted);margin-bottom:6px}.gift-facts dd{font-size:14px;line-height:1.7;margin:0;color:var(--pine)}.gift-copy>.gift-admin-note{font-size:13px}.gift-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin-top:20px}.gift-actions .button{gap:17px;padding-inline:19px;font-size:13px}.gift-contact{font-size:13px;white-space:nowrap}
.gift-preview-wrap{min-width:0;padding:20px 3px 5px}.gift-preview{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;padding:30px 25px;border:1px solid #c8cdbd;border-radius:8px;background:linear-gradient(135deg,#faf9f2,#efeee5);box-shadow:0 15px 35px #29463218;transform:rotate(-2deg);overflow:hidden;color:#28543a;text-align:center}.gift-preview::before,.gift-preview::after{content:'';position:absolute;z-index:-1;width:390px;height:150px;border:1px solid #bdc6ad;border-radius:50%;left:-100px;bottom:-80px;transform:rotate(-17deg);opacity:.5}.gift-preview::after{left:20px;bottom:-110px;transform:rotate(10deg)}
.gift-preview-branch{position:absolute;top:-30px;left:-20px;width:180px;height:180px;color:#93a47e;stroke-width:.65;opacity:.4;transform:rotate(30deg);z-index:-1}.gift-preview-badge{position:absolute;right:16px;top:15px;font-size:11px;letter-spacing:.15em;padding:5px 8px;border:1px solid #9bac8d;border-radius:3px;background:#f8f7f2}.gift-preview-logo{width:95px;height:95px;object-fit:contain;margin-bottom:16px}.gift-preview-title{font-size:24px;line-height:1.55;letter-spacing:.13em;text-transform:uppercase}.gift-preview-tagline{font-size:11px;line-height:1.8;margin-top:10px}.gift-preview-watermark{position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-24deg);font-size:clamp(37px,5.3vw,76px);letter-spacing:.08em;color:#28543a;opacity:.13;pointer-events:none;z-index:2}.gift-preview-footer{font-size:10px;line-height:1.8;margin-top:30px;color:#65785a}.gift-preview-caption{font-size:11px;line-height:1.8;margin:20px 0 0;text-align:center;color:#65745c}
@media(max-width:1050px){.gift-section{gap:28px;padding:28px}.gift-copy h3{font-size:27px}.gift-preview{min-height:330px;padding-inline:18px}.gift-preview-title{font-size:20px}.gift-values{gap:7px}.gift-values span{font-size:14px;padding-inline:10px}}
@media(max-width:700px){.gift-section{grid-template-columns:minmax(0,1fr);gap:15px;padding:25px 20px;margin-top:24px}.gift-copy h3{font-size:27px}.gift-copy>p{font-size:14px}.gift-copy>.eyebrow{font-size:10px}.gift-facts{gap:18px;margin-top:22px}.gift-facts dd{font-size:13px}.gift-values span{font-size:15px}.gift-actions{flex-direction:column;align-items:stretch;gap:14px}.gift-actions .button{width:100%;min-width:0;white-space:normal;padding:12px 13px;gap:14px}.gift-contact{text-align:center}.gift-preview-wrap{padding:20px 3px 2px}.gift-preview{min-height:285px;padding:30px 16px 24px;transform:rotate(-1.5deg)}.gift-preview-logo{width:80px;height:80px;margin-bottom:14px}.gift-preview-title{font-size:20px;letter-spacing:.1em}.gift-preview-badge{font-size:9px;right:10px;top:10px}.gift-preview-tagline{font-size:10px}.gift-preview-footer{margin-top:23px;font-size:10px}.gift-preview-watermark{font-size:47px}.gift-preview-caption{font-size:10px;margin-top:17px}}
@media(max-width:370px){.gift-section{padding:23px 16px}.gift-copy h3{font-size:25px}.gift-values{gap:6px}.gift-values span{font-size:13px;padding:8px 9px}.gift-facts{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:12px}.gift-preview-title{font-size:18px}.gift-preview-watermark{font-size:39px}}
@media print{.gift-preview-wrap{display:none!important}.gift-section{display:block;border:1px solid #777;background:transparent;box-shadow:none}.gift-actions .button{display:none}.gift-contact{display:inline}}
