@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--forest:#173b32;--ivory:#f4f0e8;--ink:#242b27;--brass:#a68b59;--line:#d8d4c9;--muted:#5b645c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--ivory);font:16px/1.7 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-.025em}h1{font-size:clamp(54px,6vw,94px)}h2{font-size:clamp(44px,4.7vw,72px)}h3{font-size:clamp(29px,2.8vw,43px)}em{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:var(--ivory);z-index:99}.skip:focus{top:12px}.header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ivory);position:sticky;top:0;z-index:10;border-bottom:1px solid #ddd8cc}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:26px;font-weight:700;line-height:1}.brand img{width:46px;height:46px;border-radius:6px}.brand-sub{font:500 10px/1.1 'DM Sans',Arial,sans-serif;letter-spacing:.37em;display:block;margin-top:8px}.header nav{display:flex;gap:32px;font-size:13px}.header nav a:hover,.text-link:hover{color:#7b6139}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;padding:14px 23px;font-size:13px;letter-spacing:.02em;border:1px solid transparent;min-height:48px;transition:background .2s}.button-dark{background:var(--forest);color:var(--ivory)}.button-dark:hover{background:#245247}.button-cream{background:var(--ivory);color:var(--forest)}.button-cream:hover{background:white}.button span{font-size:21px;line-height:1}.hero{position:relative;color:white;background:var(--forest)}.hero-photo{width:100%;height:auto}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,30,23,.73),rgba(14,30,23,.23) 70%),linear-gradient(0deg,rgba(14,30,23,.4),transparent 40%)}.hero-content{position:absolute;left:8%;top:50%;transform:translateY(-48%);max-width:800px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;line-height:1.5;margin-bottom:26px}.hero-content>p:not(.eyebrow){font-size:17px;line-height:1.6;margin:26px 0 32px;color:#f3f0e9}.hero-gallery{position:absolute;right:5%;bottom:44px;background:transparent;border:0;border-bottom:1px solid #fff8;color:white;padding:10px 0;font-size:12px;display:flex;gap:35px}.hero-index{position:absolute;left:8%;bottom:47px;font-size:9px;letter-spacing:.2em}.facts{padding:31px 7%;display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);font-size:12px}.facts strong{font-weight:500;font-size:17px;margin-right:7px}.section-pad{padding:110px 8%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.intro-copy p{max-width:510px;color:var(--muted)}.intro-copy .large-copy{font:30px/1.25 'Libre Caslon Display',Georgia,serif;color:var(--ink);margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:30px;border:0;border-bottom:1px solid var(--brass);padding:9px 0;background:transparent;font-size:12px;margin-top:25px}.text-link span{font-size:20px}.living-split{display:grid;grid-template-columns:1.1fr 1fr;background:var(--forest);color:var(--ivory)}.living-split>img{width:100%;height:auto;align-self:center}.living-copy{padding:80px 15% 80px 13%;align-self:center}.living-copy>p:not(.eyebrow){color:#d7e0d9;line-height:1.75;margin-top:27px;font-size:14px}.living-copy .eyebrow{color:#d3bd94}.living-copy .text-link{color:var(--ivory)}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;font-size:11px;margin-top:30px;border-top:1px solid #ffffff30;padding-top:22px}.amenities span:before{content:'·';color:#d3bd94;margin-right:9px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}.section-heading>p{max-width:300px;font-size:14px;color:var(--muted)}.primary-room{display:grid;grid-template-columns:1.35fr 1fr;gap:8%;align-items:center}.primary-room>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:22px}.photo-button{display:block;position:relative;padding:0;border:0;background:transparent;width:100%;overflow:hidden;text-align:left}.photo-button img{width:100%;height:auto}.photo-button>span{position:absolute;bottom:18px;right:20px;background:var(--ivory);padding:7px 15px;font-size:10px}.room-pair{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:65px}.room-pair .eyebrow{margin:25px 0 14px}.room-pair h3{font-size:31px;max-width:360px}.bath-note{font-size:13px;color:var(--muted);margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}.gallery-section{padding-top:70px;background:#e9e6dd}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid button{padding:0;border:0;background:none;overflow:hidden}.gallery-grid img{width:100%;height:auto}.locale{text-align:center;background:var(--forest);color:var(--ivory)}.locale .eyebrow{color:#d3bd94}.locale>p:not(.eyebrow){max-width:630px;margin:28px auto 0;color:#d7e0d9;font-size:15px}.locale .locale-note{font-size:11px!important;max-width:500px!important;opacity:.85}.reserve{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.reserve-copy>p:not(.eyebrow){margin-top:25px;max-width:350px;font-size:14px;color:var(--muted)}.reserve-notes{margin-top:30px;max-width:350px}.reserve-notes p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;gap:10px;font-size:12px}.reserve-notes strong{font-weight:500}.reserve-notes span{color:var(--muted)}.booking-panel{background:white;padding:30px;border:1px solid var(--line);box-shadow:0 18px 50px #173b3208}.booking-panel h3{font-size:31px}.booking-panel>p{font-size:11px;color:var(--muted);margin:9px 0 15px}.booking-panel iframe{display:block;width:100%;height:610px;border:0;background:#fff}.booking-panel .booking-footnote{font-size:10px;border-top:1px solid var(--line);padding-top:16px;line-height:1.5}.details-section{padding-top:30px;display:grid;grid-template-columns:1fr 1.4fr;gap:12%}.details-section h2{font-size:50px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;cursor:pointer;padding:20px 0;font-size:14px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq p{font-size:13px;color:var(--muted);max-width:550px;padding:0 20px 23px 0}.faq details[open] summary span{transform:rotate(45deg)}.inline-link{padding:0;border:0;border-bottom:1px solid;background:none;font-size:inherit}footer{border-top:1px solid var(--line);margin:0 8%;padding:45px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>p{font:22px/1.3 'Libre Caslon Display',Georgia,serif}footer>div{display:flex;flex-direction:column;font-size:10px;color:var(--muted);text-align:right}dialog{border:0;background:#101f1a;color:var(--ivory);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:20px 3%;overflow:hidden}dialog::backdrop{background:#101f1a}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:12px;height:50px}.lightbox-toolbar button{border:0;background:transparent;color:inherit;padding:10px}.lightbox-toolbar button span{font-size:25px;margin-left:15px}.lightbox-view{display:flex;align-items:center;justify-content:center;gap:18px;height:calc(100% - 125px)}.lightbox-view img{max-width:calc(100% - 110px);max-height:100%;object-fit:contain}.lightbox-view button{background:transparent;border:1px solid #ffffff55;border-radius:50%;width:42px;height:42px;color:var(--ivory);flex-shrink:0}#photo-caption{text-align:center;font-size:12px;margin:20px auto;max-width:850px}@media(min-width:1600px){.section-pad{padding-left:max(8%,calc((100vw - 1360px)/2));padding-right:max(8%,calc((100vw - 1360px)/2))}}@media(max-width:900px){.header{padding:0 5%;height:82px}.header nav{display:none}.brand{font-size:22px}.brand img{width:40px;height:40px}.hero-content{left:6%}.hero-index{left:6%}.hero h1{font-size:68px}.section-pad{padding:75px 6%}.intro{gap:7%}.living-copy{padding:50px 10%}.living-copy .eyebrow{font-size:9px}.primary-room{gap:6%}.reserve{gap:6%}.booking-panel{padding:20px}.details-section{gap:6%}.header-book{padding:12px 15px;gap:16px}footer{margin:0 6%}footer>p{display:none}}@media(max-width:620px){html{scroll-padding-top:78px}.header{height:78px;padding:0 5%}.brand{font-size:20px;gap:8px}.brand img{width:36px;height:36px}.brand-sub{font-size:8px;margin-top:6px}.header-book{font-size:10px;gap:13px;min-height:42px;padding:9px 12px}.header-book span{font-size:17px}.hero h1{font-size:clamp(47px,12.5vw,69px);line-height:1.02}.hero .eyebrow{font-size:9px;margin-bottom:25px}.hero-content>p:not(.eyebrow){font-size:14px;margin-top:25px}.hero-index{display:none}.facts{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:25px 7%;font-size:11px}.facts strong{font-size:14px}.section-pad{padding:64px 7%}h2{font-size:49px}.eyebrow{font-size:9px;margin-bottom:21px}.intro{display:block}.intro-copy{margin-top:35px}.intro-copy .large-copy{font-size:27px}.intro-copy p{font-size:14px}.living-split{display:flex;flex-direction:column}.living-copy{padding:55px 7%;width:100%}.living-copy p{max-width:430px}.amenities{gap:13px;font-size:12px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{max-width:330px;margin-top:22px;font-size:13px}.primary-room{display:flex;flex-direction:column;gap:30px}.primary-room h3{font-size:37px}.room-pair{gap:40px;display:block;margin-top:45px}.room-pair article+article{margin-top:40px}.room-pair h3{font-size:31px}.bath-note{font-size:12px}.gallery-grid{grid-template-columns:1fr;gap:15px}.locale h2{font-size:43px}.locale>p:not(.eyebrow){font-size:13px}.locale .locale-note{font-size:10px!important}.reserve{display:block}.reserve-copy>p{font-size:14px}.reserve-notes{max-width:none}.booking-panel{margin-top:40px;padding:22px 12px}.booking-panel>h3,.booking-panel>p{margin-left:8px;margin-right:8px}.booking-panel iframe{height:620px}.details-section{display:block;padding-top:0}.details-section>div:first-child{margin-bottom:25px}.details-section h2{font-size:45px}footer{padding:35px 0;gap:20px;align-items:start}footer .brand{font-size:18px}footer .brand img{width:32px;height:32px}footer>div{font-size:9px;padding-top:4px;gap:4px}.lightbox-view{gap:5px}.lightbox-view button{width:32px;height:32px}#photo-caption{font-size:11px}.lightbox-toolbar{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.booking-photo{width:100%;height:auto;margin:25px 0}.booking-action{padding:3px 0 18px}.booking-action>p{font-family:Georgia,serif;font-size:20px;line-height:1.5;margin-bottom:22px}.booking-action .button{width:100%;justify-content:space-between}.booking-action>span{display:block;font-size:10px;color:var(--muted);margin-top:15px;text-align:center}


@media (max-width: 900px) {
  .hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-photo, .hero-gallery {
    grid-area: 1 / 1;
  }
  .hero-shade, .hero-index {
    display: none;
  }
  .hero-content {
    position: static;
    transform: none;
    grid-row: 2;
    padding: clamp(32px, 6vw, 55px) 7%;
  }
  .hero-gallery {
    position: static;
    justify-self: end;
    align-self: end;
    z-index: 1;
    margin: 16px;
    padding: 8px 14px;
    gap: 12px;
    background: var(--ivory);
    color: var(--forest);
    border: 0;
  }
}

@media (max-width: 620px) {
  dialog[open] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: 12px 4%;
  }
  .lightbox-view {
    height: auto;
    min-height: 0;
    display: grid;
    grid-template: minmax(0, 1fr) auto / 1fr 1fr;
    gap: 12px;
  }
  .lightbox-view img {
    grid-area: 1 / 1 / 2 / -1;
    height: 100%;
    width: 100%;
    max-width: 100%;
    object-fit: contain;
  }
  .lightbox-view button {
    grid-row: 2;
    width: 44px;
    height: 44px;
  }
  #prev-photo { justify-self: end; }
  #next-photo { justify-self: start; }
}
