@font-face { font-family: Newsreader; src: url('assets/fonts/newsreader-latin.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Newsreader; src: url('assets/fonts/newsreader-italic-latin.woff2') format('woff2'); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: Manrope; src: url('assets/fonts/manrope-latin.woff2') format('woff2'); font-style: normal; font-weight: 400 500; font-display: swap; }
:root { --sans: Manrope, Arial, Helvetica, sans-serif; --serif: var(--sans); }
body { font-optical-sizing: auto; }
h1, h2 { letter-spacing: -.035em; text-wrap: balance; }
h1 { line-height: 1.12; }
h1 em, h2 em { font-style: normal; }
.hero-content h1 { font-size: clamp(58px, 6vw, 74.82px); }
.wordmark { font-size: 33px; letter-spacing: -.05em; }
.service-list summary { font-size: 18px; letter-spacing: -.025em; }
.desktop-nav { font-family: var(--sans); font-size: 12px; gap: clamp(22px, 2.8vw, 44px); }
.desktop-nav a { position: relative; border: 0; }
.desktop-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 5px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.hero-description { font-size: clamp(16px, 1.3vw, 20px); }
.button { font-size: 14px; transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease; }
.button:hover { box-shadow: 0 4px 20px #03132218; }
.text-link { transition: border-color .2s ease; }
.eyebrow { letter-spacing: .18em; }
.quick-header { position: fixed; z-index: 6; inset: 0 0 auto; padding: 12px 3.3vw; min-height: 70px; background: #092238f5 !important; color: var(--ivory); border-bottom: 1px solid #fff3da26; box-shadow: 0 8px 30px #0313221c; animation: header-arrive .23s ease-out both; }
.quick-header[hidden] { display: none; }
.quick-header .wordmark { font-size: 31px; }
.quick-header .desktop-nav { font-size: 12px; }
.skip-link { z-index: 8; }
section { scroll-margin-top: 92px; }
@keyframes header-arrive { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes section-arrive { from { opacity: .35; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.reveal-enter { animation: section-arrive .65s cubic-bezier(.2,.6,.3,1) both; }
.stays-art.parallax-ready { background: none; position: relative; overflow: hidden; }
.stays-art.parallax-ready::before { content: ''; position: absolute; inset: -26px 0; background: url('assets/misty-lake.png') 72% 75% / auto 135% no-repeat; transform: translateY(var(--parallax-y, 0px)); }
.service-list summary, .stay-notes summary { transition: color .2s ease; }
.service-list summary:hover { color: #dfc49b; }
.stay-notes summary:hover { color: #506a79; }
@supports (interpolate-size: allow-keywords) {
  .service-list details, .stay-notes details { interpolate-size: allow-keywords; }
  .service-list details::details-content, .stay-notes details::details-content { height: 0; overflow: clip; transition: height .3s ease, content-visibility .3s allow-discrete; }
  .service-list details[open]::details-content, .stay-notes details[open]::details-content { height: auto; }
}
.photo-full { transition: opacity .2s ease; }
@media (max-width: 900px) {
  .wordmark { font-size: 29px; }
  .desktop-nav { gap: 19px; font-size: 11px; }
}
@media (max-width: 700px) {
  .wordmark { font-size: 29px; }
  .hero-description { font-size: 14px; }
  .quick-header { padding: 10px 24px; min-height: 65px; }
  .quick-header .wordmark { font-size: 27px; }
  .quick-header .desktop-nav { display: none; }
  .hero-content h1 { font-size: clamp(34px, 10.5vw, 64px); }
  section { scroll-margin-top: 82px; }
}
@media (max-width: 360px) { .hero-content h1 { font-size: 32px; } .quick-header { padding-left: 20px; padding-right: 20px; } }
@media (prefers-reduced-motion: reduce) {
  .quick-header, .reveal-enter { animation: none; }
  .stays-art.parallax-ready::before { transform: none; }
  .service-list details::details-content, .stay-notes details::details-content { transition: none; }
}

/* About: a real managed home anchors the hospitality story. */
.about { align-items: center; gap: clamp(40px, 7vw, 110px); }
.about-home { margin: 28px 0 0; background: #092238; color: #f5f0e6; }
.about-home > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.about-home figcaption { padding: 24px 28px 28px; border-top: 3px solid #b99760; }
.about-home-place { display: block; color: #dcc8a6; font-size: 11px; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase; }
.about-home-place > span { margin: 0 7px; }
.about-home-thought { display: block; margin: 16px 0 22px; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.3; letter-spacing: -.03em; }
.about-home-link { display: inline-flex; gap: 24px; align-items: center; font-size: 13px; min-height: 44px; color: #f5f0e6; text-decoration: underline; text-underline-offset: 6px; }
.about-home-link:focus-visible { outline: 2px solid #dcc8a6; outline-offset: 5px; }
@media (max-width: 760px) { .about { gap: 36px; } .about-home { max-width: 520px; } .about-home figcaption { padding: 22px; } .about-home > img { aspect-ratio: 3 / 2; } }

