body{background:#f7f9fc;color:#19324f}.brand-name,h1,h2,h3{font-family:Georgia,'Times New Roman',serif}.brand-name{font-weight:400;letter-spacing:-.03em;font-size:26px}.button{background:#0057b8;color:#fff;border-radius:3px}.site-nav .button{background:transparent;border:1px solid #4978a9;color:#0057b8}.hero{position:relative;isolation:isolate;width:calc(100% - 40px);margin:0 auto;background:#173b66;min-height:610px;display:flex;align-items:center;color:#fff;border-radius:5px;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 46%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,60,.83),rgba(9,31,60,.26) 70%,rgba(9,31,60,.08));z-index:-1}.hero .wrap{padding:70px 0}.hero h1{font-size:clamp(3.5rem,6.3vw,6rem);font-weight:400;letter-spacing:-.04em;margin:20px 0 25px;max-width:700px}.hero h1 em{font-weight:400;color:#d8eaff}.hero p{font-size:17px;max-width:36ch;color:#f4f8ff}.hero .button{margin-top:30px;background:#f7f9fc;color:#19324f}.hero-foot{display:flex;justify-content:space-between;gap:20px;margin-top:48px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#e0eaf5}.quick-details{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;border-bottom:1px solid #d2deeb;font-size:13px;text-align:center}.quick-details span+span{border-left:1px solid #d2deeb}.intro{display:grid;grid-template-columns:1fr 1.08fr;gap:85px;align-items:center}.intro h2{margin:18px 0 27px}.intro .copy{color:#52657a;line-height:1.8}.intro .image-stack{position:relative}.intro .image-stack img{height:445px;object-fit:cover;border-radius:150px 150px 3px 3px;object-position:center 58%}.intro .image-tag{position:absolute;bottom:30px;left:-27px;padding:18px 25px;background:#e4effa;font:italic 23px Georgia,serif}.amenities{background:#eaf2fb}.amenity-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bdcfe5;border-bottom:1px solid #bdcfe5}.amenity{padding:33px 26px 33px 0}.amenity+.amenity{border-left:1px solid #bdcfe5;padding-left:28px}.amenity svg{width:35px;height:35px;margin-bottom:24px;stroke:#3d6490}.amenity h3{font-size:22px;font-weight:400}.amenity p{font-size:12px;margin-top:10px;color:#50647c}.rates{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.rates h2{margin:17px 0 23px}.rates p{color:#52657a}.rate-card{border:1px solid #c7d6e8;padding:35px;background:#ffffff}.rate-card>p{font-size:13px}.rate-list div{border-color:#d2deeb}.rate-card .button{display:flex;margin-top:25px}.gallery{padding-top:0}.gallery .placeholder{background:#edf3f9;border-color:#9fb6d0;color:#506780}.contact{background:#153d6b;color:#f7fbff}.contact .eyebrow{color:#c4ddf8}.contact-copy p{color:#d5e5f6}.contact-details{border-left:1px solid #5e83ad;padding-left:60px}.contact-details h3{color:#c4ddf8}.contact-details .preview-note{color:#d5e5f6;font-size:12px}.site-footer{color:#62758b}.text-link{font-size:13px;display:inline-block;margin-top:24px}@media(min-width:1500px){.hero{min-height:680px}}@media(max-width:850px){.intro{gap:45px}.intro .image-stack img{height:390px}.rates{gap:40px}.amenity{padding:25px 15px 25px 0}.amenity+.amenity{padding-left:15px}.amenity h3{font-size:20px}.contact-details{padding-left:35px}.hero{min-height:560px}}@media(max-width:600px){.hero{width:100%;min-height:580px;border-radius:0}.hero .wrap{padding:45px 0}.hero h1{font-size:3.65rem}.hero>img{object-position:43% center}.hero:after{background:linear-gradient(90deg,rgba(9,31,60,.83),rgba(9,31,60,.39))}.hero-foot{flex-direction:column;margin-top:35px;gap:8px}.quick-details{grid-template-columns:1fr 1fr;gap:17px;font-size:11px}.quick-details span:nth-child(3){border-left:0}.intro,.rates{grid-template-columns:1fr;gap:35px}.intro .image-stack img{height:365px;border-radius:100px 100px 3px 3px}.intro .image-tag{left:-10px;font-size:20px}.amenity-list{grid-template-columns:1fr 1fr}.amenity:nth-child(3){padding-left:0;border-left:0}.amenity:nth-child(n+3){border-top:1px solid #bdcfe5}.amenity h3{font-size:21px}.rate-card{padding:25px}.contact-details{padding:30px 0 0;border-left:0;border-top:1px solid #5e83ad}.gallery{padding-top:0}}
.nightly-prices dd{text-align:right;flex-shrink:0}.nightly-total{display:block;font:400 29px/1.2 Georgia,'Times New Roman',serif}.rate-tax-note,.discount-eligibility{display:block;font:12px/1.6 Arial,Helvetica,sans-serif;color:#52657a;margin-top:7px}.discount-eligibility{max-width:23ch}.stay-times{margin-top:32px;padding-top:24px;border-top:1px solid #d2deeb}.stay-times h3{font:400 23px Georgia,'Times New Roman',serif;margin-bottom:12px}.office-hours{margin:16px 0 0;font-size:15px}.office-hours div+div{margin-top:16px}.office-hours dt{color:#c4ddf8;font-size:12px}.office-hours dd{margin:3px 0 0}.email-link{overflow-wrap:anywhere}@media(max-width:400px){.nightly-prices div{gap:12px}.nightly-prices dt{font-size:15px}.nightly-total{font-size:25px}.rate-tax-note,.discount-eligibility{font-size:11px}}
.preview-bar{background:#142f50}.site-header{width:100%;padding:8px max(6%,calc((100% - 1220px)/2));gap:20px;background:#fff}.site-header .brand{flex-shrink:0;gap:10px}.brand-symbol{display:block;width:54px;height:44px;flex:none}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.brand-copy{display:block}.brand-name{color:#153d6b;font-size:24px}.brand-sub{color:#52657a;font-size:9px;letter-spacing:.12em;margin-top:4px;line-height:1.4}.site-header .site-nav{gap:22px;font-size:12px}.site-header .site-nav .button{min-height:44px;padding:9px 16px;font-size:12px}@media(max-width:600px){.site-header{padding:8px 6%;gap:8px}.site-header .brand{gap:8px}.brand-symbol{width:42px;height:34px}.brand-name{font-size:22px}.brand-sub{font-size:8.5px;letter-spacing:.1em}.site-header .site-nav{gap:8px;font-size:11px}.site-header .site-nav .button{padding:8px 11px;font-size:11px}}
.contact .directions-button{margin-top:14px;background:#f7fbff;color:#153d6b;border:1px solid #c4ddf8;min-height:44px}.contact-details .arrival-note{margin-top:12px;color:#d5e5f6;font-size:12px;max-width:32ch}
.stay-times .late-arrivals-heading{margin-top:24px;scroll-margin-top:24px}.contact .late-arrivals-link{display:inline-block;margin-top:16px;color:#f7fbff;font-size:13px}
.hero-reservation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:30px}.hero .hero-reservation-actions .button{margin-top:0}.hero-phone-link{font-size:13px;color:#f4f8ff;text-underline-offset:5px}@media(max-width:600px){.hero-reservation-actions{align-items:flex-start;flex-direction:column;gap:14px}}

.rates {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  grid-template-areas: "intro prices" "arrival prices";
  grid-template-rows: auto 1fr;
  row-gap: 32px;
}
.rates-intro { grid-area: intro; }
.rates > .rate-card { grid-area: prices; }
.rates > .stay-times { grid-area: arrival; margin-top: 0; }
.rate-card { min-width: 0; }
.rate-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.rate-table caption { text-align: left; padding-bottom: 22px; }
.table-tax-note { display: block; margin-top: 7px; font-size: 13px; color: #52657a; }
.rate-table .stay-column { width: 22%; }
.rate-table thead { background: #eaf2fb; }
.rate-table th, .rate-table td { padding: 19px 6px; }
.rate-table thead th { font-size: 13px; font-weight: 700; padding-top: 13px; padding-bottom: 13px; }
.rate-table th:first-child { text-align: left; padding-left: 12px; }
.rate-table td, .rate-table thead th:not(:first-child) { text-align: center; }
.rate-table tbody th { font-size: 14px; font-weight: 400; }
.rate-table tbody tr { border-bottom: 1px solid #d2deeb; }
.rate-table td + td, .rate-table thead th + th { border-left: 1px solid #d2deeb; }
.rate-table .nightly-total { font-size: 28px; }
.rate-table .rate-tax-note { font-size: 11px; }
.rate-notes { margin-top: 17px; }
.rate-notes p { margin: 0; font-size: 12px; line-height: 1.7; }
.rate-notes p + p { margin-top: 6px; }
.long-stay-rates { display: grid; grid-template-columns: 1fr 1fr; margin: 23px 0 0; padding-top: 22px; border-top: 1px solid #d2deeb; text-align: center; }
.long-stay-rates > div { min-width: 0; padding: 0 10px; }
.long-stay-rates > div + div { border-left: 1px solid #d2deeb; }
.long-stay-rates dt { font: 400 21px/1.3 Georgia, 'Times New Roman', serif; }
.long-stay-rates dd { margin: 7px 0 0; }
.long-stay-rates a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: #0057b8; }
@media (max-width: 750px) {
  .rates {
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "prices" "arrival";
    grid-template-rows: auto;
    row-gap: 35px;
  }
}
@media (max-width: 600px) {
  .rate-card { padding: 23px 16px; }
  .rate-table .nightly-total { font-size: 23px; }
  .rate-table th, .rate-table td { padding: 18px 4px; }
  .rate-table th:first-child { padding-left: 7px; }
  .rate-table thead th { font-size: 12px; }
  .rate-table tbody th { font-size: 13px; }
  .long-stay-rates dt { font-size: 19px; }
}
@media (max-width: 360px) {
  .rate-table .nightly-total { font-size: 21px; }
  .rate-table .rate-tax-note { font-size: 10.5px; }
  .rate-table thead th { font-size: 11px; }
  .long-stay-rates dt { font-size: 18px; }
}
