:root{--ink:#292722;--paper:#f6f3ee;--cream:#e9e1d5;--accent:#a08064}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit}img{display:block;width:100%;object-fit:cover}.site-header{height:94px;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d7d0c6}.brand{text-decoration:none;line-height:1.1;display:inline-flex;flex-direction:column;gap:5px}.brand-main{font-size:24px;letter-spacing:.17em;font-weight:700}.brand-sub{font-size:10px;letter-spacing:.23em;font-weight:700}.site-header nav{display:flex;gap:38px;align-items:center}.site-header nav a{text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:hover,.visit a:hover{text-decoration:underline}.nav-book{border-bottom:1px solid currentColor;padding:9px 0}.hero{min-height:690px;position:relative;display:grid;grid-template-columns:48% 52%;overflow:hidden}.hero-copy{padding:130px 7% 90px 11.5%;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;margin:0 0 22px;color:#8b735f}.hero h1,h2{font:400 clamp(48px,6vw,94px)/1.09 'Playfair Display',serif;letter-spacing:-.045em;margin:0}h1 em,h2 em{font-weight:400}.intro{max-width:430px;margin:32px 0 35px;font-size:18px}.button{display:inline-flex;gap:45px;align-items:center;justify-content:space-between;min-height:58px;padding:0 24px;text-decoration:none;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:#fff}.light{background:#f7f3ed;color:var(--ink)}.hero-note{font-size:13px;letter-spacing:.03em;margin-top:34px;color:#6e675f}.hero-images{background:#d7cabd;position:relative;min-height:670px}.hero-main{height:100%;object-position:center 35%}.hero-inset{position:absolute;bottom:40px;left:-75px;width:200px;height:245px;border:8px solid var(--paper);box-shadow:0 15px 35px #0002}.vertical-caption{position:absolute;right:16px;top:42%;writing-mode:vertical-rl;letter-spacing:.18em;text-transform:uppercase;color:white;font-size:11px}.statement{text-align:center;max-width:870px;padding:120px 24px 90px;margin:auto}.statement h2{font-size:clamp(46px,5vw,76px)}.statement>p:last-child{font-size:18px;max-width:650px;margin:30px auto 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 5.5% 120px}.photo-grid img{height:520px;object-position:center 30%}.photo-grid figure{margin:0}.photo-grid figcaption{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-top:18px}.details{background:#e8e0d6;padding:110px 8%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.details h2{font-size:clamp(48px,5.5vw,76px)}.detail-list>div{border-top:1px solid #bfb4a7;padding:22px 0}.detail-list span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.detail-list p{margin:10px 0 0;max-width:460px}.booking{background:#2d2b28;color:#f5f1ec;display:grid;grid-template-columns:1fr 39%;min-height:590px}.booking>div{padding:105px 12%;align-self:center}.booking h2{font-size:clamp(48px,5.5vw,76px)}.booking p:not(.eyebrow){max-width:470px;margin:27px 0 35px;color:#ded8d0}.booking img{height:100%;max-height:690px;object-position:center}.visit{padding:100px 8%;display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:6%}.visit h2{font-size:clamp(45px,5vw,68px)}.visit .address{font-size:23px;font-family:'Playfair Display',serif;line-height:1.35;margin-top:5px}.visit a{font-weight:700;text-underline-offset:5px}.contact-heading{font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}footer{border-top:1px solid #d7d0c6;padding:40px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p,footer a{font-size:13px}footer a{text-decoration:none}@media(max-width:900px){.site-header nav{gap:16px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:80px 8%}.hero-inset{width:120px;height:150px;left:-40px}.photo-grid img{height:350px}.visit{grid-template-columns:1fr 1fr}.visit>div:last-child{grid-column:2}}@media(max-width:650px){.site-header{height:78px;padding:0 5%}.brand-main{font-size:18px}.brand-sub{font-size:8px}.site-header nav a:not(.nav-book){display:none}.site-header nav a{font-size:13px}.hero{display:flex;flex-direction:column}.hero-copy{padding:65px 7% 50px}.hero h1{font-size:clamp(48px,13vw,72px)}.intro{font-size:16px;margin:25px 0}.hero-images{height:500px;min-height:0}.hero-inset{left:auto;right:20px;bottom:20px;width:115px;height:145px;border:5px solid var(--paper)}.vertical-caption{display:none}.statement{padding:85px 7% 65px}.statement>p:last-child{font-size:16px}.photo-grid{grid-template-columns:1fr 1fr;padding:0 5% 85px;gap:10px}.photo-grid figure:last-child{grid-column:1/-1}.photo-grid img{height:260px}.photo-grid figure:last-child img{height:370px}.photo-grid figcaption{font-size:11px;margin-top:10px}.details{grid-template-columns:1fr;padding:80px 7%;gap:40px}.booking{grid-template-columns:1fr}.booking>div{padding:80px 7%}.booking img{height:380px}.visit{grid-template-columns:1fr;padding:80px 7%;gap:25px}.visit>div:last-child{grid-column:auto}footer{padding:35px 7%;flex-wrap:wrap}footer p{display:none}}
.booking .booking-terms{margin:22px 0 0;font-size:14px;color:#ded8d0}.booking-terms a{text-underline-offset:4px}.events{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:100px 8%;background:#f6f3ee}.events h2{font-size:clamp(45px,5vw,70px)}.events>div:last-child{align-self:center}.events p:not(.eyebrow){max-width:520px}.events .button{margin:18px 0 4px}.events .event-phone{font-size:14px}.events .event-phone a{text-underline-offset:4px}@media(max-width:650px){.events{grid-template-columns:1fr;gap:24px;padding:75px 7%}}

.rooms-link{grid-column:1/-1;justify-self:end;font-size:15px;font-weight:700;text-decoration:none;border-bottom:1px solid;padding:8px 0}.rooms-link span{margin-left:30px}.rooms-hero{display:grid;grid-template-columns:1fr 48%;min-height:620px;background:#e8e0d6}.rooms-hero>div{padding:110px 10%;align-self:center}.rooms-hero h1{font:400 clamp(50px,6vw,88px)/1.08 'Playfair Display',serif;letter-spacing:-.045em;margin:0}.rooms-hero p:not(.eyebrow){font-size:18px;max-width:470px;margin:28px 0}.rooms-hero img{height:100%;max-height:730px;object-position:center}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:7px}.room-section{display:grid;grid-template-columns:55% 45%;padding:115px 7%;align-items:center}.room-section.reverse{background:#f0ebe4}.room-section.reverse .room-gallery{order:2}.room-gallery{position:relative;max-width:680px;padding-right:12%;padding-bottom:65px}.room-gallery img:first-child{height:560px}.room-gallery img:last-child{width:40%;height:260px;position:absolute;right:0;bottom:0;border:10px solid var(--paper)}.reverse .room-gallery img:last-child{border-color:#f0ebe4}.room-description{padding:0 7% 0 15%}.reverse .room-description{padding:0 15% 0 0}.room-description h2{font-size:clamp(48px,5vw,72px);margin-bottom:28px}.room-description p:not(.eyebrow){max-width:480px;font-size:17px}.included{padding:110px 8%;background:#e8e0d6;display:grid;grid-template-columns:1fr 1fr;gap:10%}.included h2{font-size:clamp(46px,5vw,72px)}.included-items>div{display:grid;grid-template-columns:45px 1fr;border-top:1px solid #bdb1a4;padding:16px 0;gap:10px}.included-items span{font-size:13px;font-weight:700;color:#8b735f}.included-items p{margin:0}.seasonal{display:grid;grid-template-columns:43% 1fr;align-items:center;gap:10%;padding:100px 8%}.seasonal img{height:520px}.seasonal h2{font-size:clamp(48px,5vw,72px)}.seasonal p:not(.eyebrow){font-size:17px;max-width:500px;margin:26px 0 35px}.rooms-end{background:#2d2b28;color:#f7f3ed;padding:100px 8%;text-align:center}.rooms-end h2{font-size:clamp(48px,6vw,80px);margin-bottom:35px}
@media(max-width:900px){.room-section{padding:90px 5%}.room-gallery img:first-child{height:440px}.room-gallery img:last-child{height:190px}.room-description{padding-left:8%}.reverse .room-description{padding-right:8%}}
@media(max-width:650px){.rooms-hero{display:flex;flex-direction:column}.rooms-hero>div{padding:80px 7% 60px}.rooms-hero img{height:400px}.room-section,.room-section.reverse{display:flex;flex-direction:column;padding:80px 7%;gap:35px}.room-section.reverse .room-gallery{order:0}.room-gallery{width:100%;padding-right:10%;padding-bottom:35px}.room-gallery img:first-child{height:380px}.room-gallery img:last-child{height:150px;border-width:6px}.room-description,.reverse .room-description{padding:0;width:100%}.room-description p:not(.eyebrow){font-size:16px}.included{display:block;padding:80px 7%}.included h2{margin-bottom:35px}.seasonal{display:flex;flex-direction:column;padding:80px 7%;gap:45px}.seasonal img{height:390px}.rooms-end{padding:80px 7%}}
.agreement-page{max-width:1160px;margin:auto;padding:70px 7% 110px}.agreement-intro{max-width:780px}.agreement-intro h1{font:400 clamp(46px,6vw,78px)/1.1 'Playfair Display',serif;letter-spacing:-.04em;margin:0}.agreement-intro p:last-child{font-size:18px}.agreement-body{max-width:850px;margin:65px 0}.agreement-body section{border-top:1px solid #d3c9be;padding:26px 0 34px}.agreement-body h2{font:400 30px/1.2 'Playfair Display',serif;letter-spacing:-.02em;margin:0 0 16px}.agreement-body h3{margin:0 0 8px;font-size:18px}.agreement-body p,.agreement-body li{font-size:16px;line-height:1.7}.agreement-body ul{padding-left:24px;margin:0}.agreement-body li+li{margin-top:10px}.fee-card,.agreement-notice{background:#e9e1d5;padding:24px!important;border:0!important;margin:20px 0}.agreement-body .agreement-notice h2{margin-top:0}.addendum-risk{border:2px solid #292722!important;padding:25px!important}.addendum-risk strong{font-size:15px;line-height:1.65}.agreement-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.agreement-actions>a:not(.button){text-underline-offset:4px}@media print{.site-header,.agreement-actions,footer{display:none}.agreement-page{padding:0;max-width:none}.agreement-body{margin-top:30px}}
.visit a[href^="mailto:"]{overflow-wrap:anywhere}.visit .contact-heading+p{margin:14px 0 8px}.visit .contact-heading+p+p{margin:0}
.gallery-heading{padding:100px 8% 110px;max-width:1100px}.gallery-heading h1{font:400 clamp(48px,6vw,88px)/1.08 'Playfair Display',serif;letter-spacing:-.045em;margin:0}.gallery-heading>p:not(.eyebrow){font-size:18px;max-width:600px;margin:30px 0}.gallery-jump{display:flex;gap:30px;flex-wrap:wrap}.gallery-jump a,.gallery-rooms-link{font-size:14px;font-weight:700;text-underline-offset:5px}.gallery-section{padding:0 5.5% 110px}.gallery-section-heading{padding:0 2.5% 40px}.gallery-section-heading h2{font-size:clamp(44px,5vw,70px)}.gallery-section-heading p:last-child:not(.eyebrow){max-width:500px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-tile{border:0;background:#e8e0d6;padding:0;position:relative;cursor:zoom-in;overflow:hidden;text-align:left;color:#fff}.gallery-tile img{height:420px;transition:transform .35s ease}.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.035)}.gallery-tile span{position:absolute;bottom:0;left:0;right:0;padding:32px 20px 17px;background:linear-gradient(transparent,#0009);font-size:14px;font-weight:700}.gallery-tile:focus-visible{outline:3px solid #292722;outline-offset:3px}.gallery-rooms-link{display:inline-block;margin:30px 2.5% 0}.gallery-end{background:#2d2b28;color:#f5f1ec;text-align:center;padding:95px 7% 105px}.gallery-end h2{font-size:clamp(48px,5.5vw,76px);margin:0 0 30px}.gallery-dialog{border:0;padding:50px 30px 24px;background:#211f1d;color:#fff;max-width:min(92vw,1100px);max-height:92vh;box-shadow:0 20px 80px #0008}.gallery-dialog::backdrop{background:#000d}.gallery-dialog img{max-height:calc(92vh - 125px);width:auto;max-width:100%;margin:auto;object-fit:contain}.gallery-dialog p{text-align:center;margin:12px 0 0;font-size:14px}.gallery-close{position:absolute;right:6px;top:3px;background:transparent;border:0;color:#fff;font-size:36px;width:44px;height:44px;cursor:pointer}@media(max-width:900px){.gallery-tile img{height:330px}}@media(max-width:650px){.gallery-heading{padding:75px 7% 80px}.gallery-heading>p:not(.eyebrow){font-size:16px}.gallery-section{padding:0 5% 80px}.gallery-section-heading{padding:0 2% 26px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-tile img{height:240px}.gallery-tile span{font-size:12px;padding:26px 10px 10px}.gallery-dialog{padding:50px 8px 18px}.gallery-dialog img{max-height:calc(92vh - 115px)}}
@media(max-width:650px){
  .site-header{height:auto;min-height:116px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:15px;padding:18px 6% 14px}
  .site-header nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px 18px}
  .site-header nav a:not(.nav-book){display:inline-flex}
  .site-header nav a{font-size:13px;line-height:1.3;padding:7px 0;white-space:nowrap}
  .site-header .nav-book{border-bottom:1px solid currentColor}
  .hero-copy{padding:55px 7% 40px}.hero h1{font-size:clamp(43px,11.5vw,68px)}
  .hero-images{height:min(120vw,480px)}
  .statement h2,.details h2,.booking h2,.events h2,.visit h2,.room-description h2,.included h2,.seasonal h2,.rooms-end h2,.gallery-heading h1,.gallery-section-heading h2,.gallery-end h2{font-size:clamp(41px,11vw,64px);overflow-wrap:break-word}
  .button{max-width:100%;gap:16px;min-height:58px;line-height:1.3}
  .photo-grid{grid-template-columns:1fr;gap:28px}.photo-grid figure:last-child{grid-column:auto}.photo-grid img,.photo-grid figure:last-child img{height:min(112vw,470px)}.photo-grid figcaption{font-size:13px;margin-top:12px}
  .gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-tile img{height:min(115vw,470px)}.gallery-tile span{font-size:14px;padding:30px 16px 14px}
  .booking img{height:min(100vw,420px)}.visit>div{min-width:0}#contact{scroll-margin-top:20px}
}
