:root{--ink:#3a5274;--paper:#ffffff;--copper:#ffffff;--muted:#526784;--ldg-psb-background:#fff;--ldg-psb-border-radius:0px;--ldg-psb-box-shadow:none;--ldg-psb-padding:16px;--ldg-psb-button-border-radius:0px;--ldg-psb-color-primary:#3a5274;--ldg-psb-color-primary-lighter:#dbe5f2;--ldg-psb-color-primary-darker:#293e5c;--ldg-psb-color-primary-contrast:#fff;--ldg-semantic-color-primary:#3a5274;--ldg-semantic-color-primary-lighter:#dbe5f2;--ldg-semantic-color-primary-darker:#293e5c;--ldg-semantic-color-primary-contrast:#fff}header{min-height:105px;padding:24px 6%;border-bottom:1px solid #dbe5f2}.brand{gap:14px}.brand-symbol{border-radius:0;border-color:#3a5274;width:44px;height:52px;font-size:38px;color:var(--ink)}.wordmark{display:flex;flex-direction:column;gap:7px}.wordmark strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:33px;font-weight:400;line-height:1}.wordmark small{font-size:10px;letter-spacing:.14em;font-weight:500}nav{gap:30px}.nav-book{background:var(--ink);color:white;border:0;padding:13px 22px}nav a{transition:opacity .2s}nav a:hover{opacity:.72}.hero{display:grid;grid-template-columns:46% 54%;background:var(--ink);height:760px;min-height:650px;max-height:none;overflow:hidden}.hero>img{position:relative;grid-column:2;grid-row:1;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{display:none}.hero-content{grid-column:1;grid-row:1;align-self:center;padding:20px 10% 90px 13%;max-width:none}.hero .eyebrow{color:#ffffff;font-size:12px;letter-spacing:.18em}.hero h1{font-size:clamp(72px,7.2vw,108px);line-height:.99;letter-spacing:-.02em}.hero h1 em{font-weight:400;color:#ffffff}.hero-content>p:not(.eyebrow){font-size:16px;color:#ffffff;line-height:1.8;margin:30px 0 33px}.button{padding:17px 26px;min-height:54px;border:1px solid transparent;transition:background .2s}.copper{background:#ffffff;color:var(--ink)}.button:hover{background:#eaf0f8}.hero-caption{left:6%;right:auto;width:34%;bottom:33px;font-size:10px;color:#dbe5f2;letter-spacing:.09em;border-top:1px solid #8195b0;padding-top:22px;gap:18px}.section{padding:110px 8%}.welcome{gap:8vw;align-items:center}.welcome h2{font-size:clamp(47px,4.8vw,68px);line-height:1.08}.eyebrow{color:#3a5274;font-size:12px;letter-spacing:.16em}.welcome-copy{padding-top:0}.welcome-copy p:first-child{font-size:21px;line-height:1.65}.text-link{font-size:14px;font-weight:500;padding:12px 0;border-color:#8b9db6}.text-link:hover{border-color:var(--ink)}.rooms{padding-top:0;gap:8vw}.rooms img{height:590px;object-position:50% 48%;box-shadow:18px 18px 0 #eaf0f8}.rooms h2{font-size:clamp(52px,5vw,74px);line-height:1.05}.rooms .room-details{border-top:1px solid #dbe5f2;border-bottom:1px solid #dbe5f2;padding:15px 0;font-size:12px}.explore{background:#f3f6fb;padding-top:80px}.landscape{position:relative;margin-bottom:65px}.landscape img{width:100%;height:330px;object-fit:cover;display:block}.landscape span{position:absolute;bottom:22px;left:26px;letter-spacing:.18em;font-size:11px;color:white;background:#3a5274db;padding:9px 14px}.section-head h2{font-size:clamp(48px,4.8vw,69px)}.experiences{gap:40px}.number{font-size:12px;color:#526784}.experiences h3{font-size:36px}.booking{grid-template-columns:.8fr 1.2fr;gap:65px;background:#3a5274;padding-top:95px;padding-bottom:95px}.booking .eyebrow{color:#ffffff}.booking h2{font-size:clamp(48px,4.7vw,68px);line-height:1.08}.booking-card{padding:40px;background:#ffffff}.booking-card .eyebrow{color:#3a5274}.booking-card h3{font-size:42px}.booking-card #booking-content p{font-size:15px;color:#526784}.booking-card #booking-content .text-link{display:inline-flex;margin-bottom:15px}.booking-note{line-height:1.6}#lodgify-widget{margin-top:8px}footer{padding:65px 8% 28px}footer .brand-symbol{height:46px;width:38px;font-size:33px}footer .wordmark strong{font-size:29px}.footer-bottom{padding-top:24px;font-size:12px}#contact a:hover{text-decoration:underline}@media(min-width:1600px){header{padding-left:8%;padding-right:8%}.hero{height:850px}}@media(max-width:1000px){nav{gap:20px}.hero{height:680px;grid-template-columns:48% 52%}.hero h1{font-size:80px}.hero-content{padding-left:12%;padding-right:8%}.hero-content>p:not(.eyebrow){font-size:15px}.hero-caption{width:36%;font-size:9px}.booking{gap:35px;grid-template-columns:1fr 1.2fr}.booking-card{padding:28px}.rooms img{height:500px}}@media(max-width:750px){header{min-height:90px;padding:18px 6%;gap:14px}.brand-symbol{width:33px;height:43px;font-size:29px}.wordmark strong{font-size:28px}.wordmark small{font-size:8px;letter-spacing:.1em}.brand{gap:9px}.nav-book{padding:11px 13px;font-size:12px}.nav-book span{display:none}.hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column}.hero>img{order:1;height:490px;object-position:center 45%}.hero-content{order:2;padding:42px 7% 45px;align-self:stretch}.hero h1{font-size:72px}.hero h1 br{display:none}.hero .eyebrow{margin-bottom:22px;font-size:11px}.hero-content>p:not(.eyebrow){margin:22px 0 26px;font-size:16px}.hero-caption{display:none}.section{padding:68px 7%}.welcome{gap:28px}.welcome h2{font-size:47px}.rooms{padding-top:5px;gap:45px}.rooms img{height:420px;box-shadow:10px 10px 0 #eaf0f8}.rooms h2{font-size:55px}.landscape{margin-bottom:40px}.landscape img{height:240px}.section-head h2{font-size:48px}.experiences{gap:25px}.booking{grid-template-columns:1fr;gap:30px}.booking h2{font-size:53px}.booking-card{padding:27px 20px}.booking-card h3{font-size:37px}.booking-card .eyebrow{font-size:11px}.footer-bottom{gap:18px}footer{padding:45px 7% 25px}}@media(max-width:380px){.wordmark strong{font-size:24px}.wordmark small{font-size:7px}.brand-symbol{display:none}.hero>img{height:420px}.hero h1{font-size:62px}}@media(prefers-reduced-motion:reduce){nav a,.button{transition:none}}

.welcome>div,.rooms>div,.booking>div{min-width:0}.booking-card{max-width:100%}@media(max-width:750px){.hero h1 br{display:block}.hero h1{font-size:68px}.booking h2{font-size:48px}#lodgify-search-bar>div{max-width:100%}}

.explore{background:#fff;border-top:1px solid #dbe5f2}.copper{background:#fff;color:#3a5274}.hero h1 em{color:#fff}.booking-card{border:1px solid #dbe5f2}.booking-card h3{margin-bottom:18px}#lodgify-widget{border:1px solid #dbe5f2;padding:4px;background:#fff}.brand-symbol{border-color:#3a5274}.booking-note{font-size:13px}.text-link{color:#3a5274}

/* Cross-page layout safeguards: keep the navigation, booking card and room
   content balanced at intermediate screen widths as well as on phones. */
img{max-width:100%}
header,main,footer{overflow-x:clip}
nav a{white-space:nowrap}
.hero-content,.welcome-copy,.section-head>div,.booking>div,.room-copy{min-width:0}
.booking-card .text-link{max-width:100%}
.booking-card #lodgify-widget{overflow:hidden}
.footer-bottom a{white-space:nowrap}
.hero .button{
  min-height:58px;
  padding:0 0 0 23px;
  gap:0;
  background:#fff;
  color:#3a5274;
  font-weight:600;
  line-height:1;
  box-shadow:0 10px 24px rgba(16,36,60,.18);
}
.hero .button span{
  display:grid;
  place-items:center;
  align-self:stretch;
  width:58px;
  margin-left:22px;
  border-left:1px solid #dbe5f2;
  font-size:18px;
  transition:background .2s,color .2s;
}
.hero .button:hover{background:#fff;color:#293e5c}
.hero .button:hover span{background:#eaf0f8}
.hero .button:focus-visible{outline-color:#fff;outline-offset:5px}
@media(max-width:900px){
  header{min-height:94px;padding:19px 5%;gap:18px}
  .wordmark strong{font-size:29px}
  nav{gap:17px;font-size:13px}
  .nav-book{padding:11px 15px}
  .nav-book span{margin-left:8px}
  .hero{grid-template-columns:50% 50%;height:680px}
  .hero-content{padding-left:10%;padding-right:8%}
  .hero h1{font-size:clamp(64px,8vw,82px)}
  .hero-caption{width:39%}
  .section{padding:85px 7%}
  .welcome,.rooms{gap:52px}
  .booking{padding-top:75px;padding-bottom:75px}
}
@media(max-width:700px){
  header{min-height:84px}
  nav>a:not(.nav-book){display:none}
  .hero{height:auto;display:flex;flex-direction:column}
  .hero>img{order:1;height:min(68vh,500px);min-height:350px}
  .hero-content{order:2;padding:40px 7% 46px}
  .hero-caption{display:none}
  .welcome,.rooms,.booking{grid-template-columns:1fr}
  .section-head{display:block}
  .section-head>p{margin:22px 0 0}
  .experiences{grid-template-columns:1fr;gap:27px}
  .rooms img{height:380px}
  .booking-card{padding:26px 20px}
  .footer-bottom{flex-wrap:wrap;justify-content:flex-start}
  .hero .button{min-height:56px}
  .hero .button span{width:56px;margin-left:18px}
}
