:root{--paper:#f7f4ed;--cream:#ede8dc;--ink:#243c39;--deep:#183d3c;--sand:#bfa67d;--line:#d6d7cd;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:400 15px/1.75 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:hover{color:#9b794b}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b88d4c;outline-offset:5px}p{margin:0 0 1.4rem}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}em{font-family:var(--serif);font-weight:400}::selection{background:#d6c5a8;color:var(--ink)}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:white;padding:10px 20px}.skip-link:focus{top:10px}.site-header{position:absolute;top:0;left:0;width:100%;height:108px;display:flex;align-items:center;padding:0 5vw;gap:3vw;z-index:20;color:white;border-bottom:1px solid #ffffff45}.site-header.scrolled{position:fixed;height:80px;background:var(--paper);color:var(--deep);border-color:var(--line);box-shadow:0 4px 20px #16302c0c}.brand{display:flex;flex-direction:column;line-height:1;color:inherit;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:34px;letter-spacing:.06em;white-space:nowrap}.brand-plus{color:#d2b989;font-family:var(--sans);font-weight:300;font-size:29px;vertical-align:super;line-height:0}.brand small{font-size:8px;letter-spacing:.36em;margin-top:12px}.main-nav{display:flex;gap:2.6vw;align-items:center;margin-left:auto}.main-nav>a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;position:relative}.main-nav>a[aria-current]{border-bottom:1px solid currentColor}.main-nav a:hover{color:inherit;opacity:.7}.header-book{padding:13px 20px;border:1px solid #ffffff80;text-transform:uppercase;font-size:10px;letter-spacing:.13em;display:flex;gap:25px;align-items:center}.header-book:hover{background:var(--paper);color:var(--deep)}.scrolled .header-book{border-color:var(--deep)}.header-book span{font-size:19px}.menu-toggle,.mobile-book{display:none}.hero{height:92svh;min-height:700px;max-height:1150px;position:relative;color:white;overflow:hidden;background:var(--deep)}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#092c3a65,#08272b15 70%),linear-gradient(0deg,#072f3b75,transparent 55%),linear-gradient(180deg,#12313860,transparent 30%)}.hero-meta{position:absolute;left:5vw;right:5vw;top:145px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.22em}.hero-copy{position:absolute;left:8vw;bottom:16%;}.eyebrow{font:400 10px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:25px}.hero h1{font-size:clamp(64px,7.7vw,118px);line-height:1.04;letter-spacing:-.035em}.hero h1 em{color:#f2e2c7}.hero-copy>p:not(.eyebrow){margin:25px 0 27px;font-size:14px;color:#ffffffdf}.hero-link{display:inline-flex;align-items:center;gap:70px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #ffffff60;padding-bottom:12px}.hero-link span{font-size:22px}.hero-link:hover{color:white}.hero-bottom{position:absolute;left:5vw;right:5vw;bottom:28px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.17em}.booking-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1.05fr;align-items:center;padding:28px 5vw;gap:35px;border-bottom:1px solid var(--line);background:var(--cream)}.booking-strip p{margin:0;font-family:var(--serif);font-size:23px;line-height:1.4}.booking-strip p strong{font-weight:400;font-style:italic}.booking-strip>div{border-left:1px solid #c5c8bd;padding-left:35px}.booking-strip>div span{display:block;font-size:8px;letter-spacing:.16em;margin-bottom:8px}.booking-strip>div strong{font-weight:400;font-size:13px}.booking-strip>a{display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:white;padding:20px 24px;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.booking-strip>a span{font-size:22px}.section-pad{padding:105px 8vw}.display{font-size:clamp(40px,4.4vw,68px);line-height:1.13;letter-spacing:-.035em}.display em{color:#8b7959}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:start}.intro-grid>div:last-child{max-width:520px}.intro-grid p{color:#61706a;font-size:15px}.intro-note{margin-top:65px;padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid #243c3950}.text-link span{font-size:20px}.text-link.light{border-color:#ffffff60;color:white}.text-link.light:hover{opacity:.7}.image-story{position:relative;height:620px;overflow:hidden;background:var(--deep);color:white;margin:0 5vw}.image-story>img{height:100%;object-fit:cover}.image-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c302b85,transparent 85%)}.image-story>div{position:absolute;left:7%;top:50%;transform:translateY(-50%);z-index:1}.image-story h2{font-size:clamp(45px,5vw,78px);line-height:1.1}.image-story .text-link{margin-top:22px}.image-story-label{position:absolute;bottom:30px;right:30px;z-index:1;font-size:8px;letter-spacing:.2em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-head .text-link{margin-bottom:8px;flex-shrink:0}.section-head>p{color:#61706a}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px}.room-photo{position:relative;display:block;aspect-ratio:1.35;overflow:hidden;background:var(--cream)}.room-photo img{height:100%;object-fit:cover;transition:transform .6s}.room-photo:hover img{transform:scale(1.04)}.photo-number{position:absolute;top:22px;left:24px;color:white;font-size:11px;background:#183d3c88;padding:5px 9px}.photo-arrow{position:absolute;right:20px;bottom:20px;border-radius:50%;width:45px;height:45px;background:var(--paper);display:grid;place-items:center;font-size:23px}.room-caption{padding-top:24px}.room-caption .eyebrow{margin-bottom:8px;font-size:8px}.room-caption h3{font-size:30px;line-height:1.3}.room-caption p:last-child{color:#6d7970;margin:12px 0 0;font-size:13px}.dining-split{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:var(--paper)}.dining-photo{min-height:610px}.dining-photo img{height:100%;object-fit:cover}.dining-copy{padding:90px 7vw;align-self:center}.dining-copy .display em{color:#d9c8a9}.dining-copy>p:not(.eyebrow){color:#d1dcd4;margin-top:30px}.experiences{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.experience-list>a{display:flex;align-items:start;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}.experience-list>a:first-child{border-top:1px solid var(--line)}.experience-list>a>span{font-size:10px;color:#8b7959;margin-top:4px}.experience-list>a>span:last-child{margin-left:auto;font-size:24px}.experience-list h3{font-size:26px;line-height:1.3}.experience-list p{font-size:13px;color:#6d7970;margin:10px 0 0}.location-banner{height:550px;position:relative;color:white;overflow:hidden;background:var(--deep)}.location-banner>img{height:100%;object-fit:cover}.location-banner:after{content:'';position:absolute;inset:0;background:#0a343951}.location-banner>div{position:absolute;left:8vw;top:50%;transform:translateY(-50%);z-index:1}.location-banner h2{font-size:clamp(50px,5vw,80px);line-height:1.1}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;background:var(--paper);color:var(--deep);padding:17px 24px;border:1px solid var(--paper);font-size:10px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.button span{font-size:20px}.button:hover{background:#dcd4c2;color:var(--deep)}.button.dark{background:var(--deep);border-color:var(--deep);color:white}.button.dark:hover{background:#2b5148}.location-banner .button{margin-top:30px}.stay-callout{text-align:center;padding:88px 5vw;background:var(--cream)}.stay-callout .eyebrow{margin-bottom:18px}.stay-callout h2{font-size:clamp(38px,4.2vw,64px);line-height:1.2;letter-spacing:-.035em}.stay-callout h2 em{color:#8b7959}.stay-callout .button{margin-top:28px;background:transparent;border:1px solid var(--ink);padding:15px 25px}.site-footer{background:var(--deep);color:#e1e7dd;padding:65px 5vw 0;font-size:12px}.footer-top{display:flex;align-items:center;gap:5vw;padding-bottom:45px;border-bottom:1px solid #ffffff25}.footer-top p{margin:0;color:#b7c5ba;line-height:1.6}.footer-top .back-top{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.footer-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:40px;padding:48px 0}.footer-grid .eyebrow{color:#b5c2b7;font-size:9px;margin-bottom:22px}.footer-grid a{display:block;line-height:2.2}.footer-grid small{display:block;color:#b5c2b7;margin-top:10px}.payments{display:flex;gap:15px;margin-top:15px;font-size:11px}.payments span:first-child{font-weight:bold;font-style:italic}.footer-grid .award{font-size:10px;margin-top:10px;color:#bdcdbf}.footer-bottom{border-top:1px solid #ffffff25;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#b7c5ba}.page-hero{height:420px;position:relative;overflow:hidden;color:white;background:var(--deep)}.page-hero>img{width:100%;height:100%;object-fit:cover}.page-hero-copy{position:absolute;left:8vw;bottom:50px;max-width:85%}.page-hero-copy .eyebrow{margin-bottom:15px}.page-hero h1{font-size:clamp(38px,5vw,72px);line-height:1.12;letter-spacing:-.025em}.breadcrumb{padding:20px 8vw;display:flex;gap:16px;border-bottom:1px solid var(--line);font-size:10px;color:#68766a;flex-wrap:wrap}.room-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.room-intro .button{margin-top:15px}.room-intro .text-link{display:flex;max-width:max-content;margin-top:15px}.gallery-section{padding-top:55px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{border:0;padding:0;background:var(--cream);position:relative;aspect-ratio:1.3;overflow:hidden}.gallery-item img{height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item>span{position:absolute;right:12px;bottom:12px;border-radius:50%;background:var(--paper);height:32px;width:32px;font-size:19px;line-height:32px}.gallery-item[hidden]{display:none}.gallery-filters{display:flex;gap:12px;margin-bottom:35px;flex-wrap:wrap}.gallery-filters button{background:none;border:1px solid var(--line);padding:10px 18px;font-size:11px}.gallery-filters button.active{background:var(--deep);color:white;border-color:var(--deep)}.related{padding-top:30px}.related-links{display:flex;flex-direction:column}.related-links>a{padding:20px 0;border-bottom:1px solid var(--line);font:400 26px/1.4 var(--serif);display:flex;justify-content:space-between;gap:20px}.prose{line-height:1.9;overflow-wrap:anywhere}.prose p{margin-bottom:22px}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5{font-family:var(--serif);font-weight:400;margin:35px 0 15px;line-height:1.3}.prose h1,.prose h2{font-size:34px}.prose h3{font-size:28px}.prose h4{font-size:24px}.prose li{margin:10px 0}.prose a{border-bottom:1px solid}.prose table{width:100%;border-collapse:collapse;margin:30px 0;font-size:13px;table-layout:fixed}.prose th,.prose td{border-bottom:1px solid var(--line);padding:12px 9px;text-align:left;overflow-wrap:anywhere}.content-page>.prose{max-width:860px;margin:0 auto}.content-page .gallery-grid{margin-top:50px}.about-photo{height:500px;margin:0 8vw}.about-photo img{height:100%;object-fit:cover}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.service-grid article{padding-top:25px;border-top:1px solid var(--line)}.service-grid article>span{font-size:11px;color:#8b7959}.service-grid h3{font-size:27px;margin:15px 0;line-height:1.25}.service-grid p{color:#67746a;font-size:13px}.service-grid a{font-size:11px;border-bottom:1px solid var(--line)}.dining-times{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line)}.dining-times>div{padding:25px 15px 25px 0}.dining-times span{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.dining-times strong{display:block;font:400 28px/1.5 var(--serif);margin-top:10px}.dining-details{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--cream)}.dining-details .prose h3:first-of-type{margin-top:30px}.important-info{margin-top:65px;padding:35px;background:var(--cream);font-size:13px}.important-info ul{padding-left:18px}.important-info li{margin:12px 0}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw}.contact-details{margin-top:35px}.contact-details small{display:block;margin-top:22px;text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#7b8274}.contact-details>a:not(.text-link){display:block;font-size:19px;margin-top:5px}.contact-details p{margin-top:5px}.contact-form label{display:block;font-size:11px;margin-bottom:25px;letter-spacing:.04em}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;padding:12px 0;border:0;border-bottom:1px solid #a8b4a6;background:transparent;outline-offset:2px;border-radius:0;font-size:16px;letter-spacing:normal}.contact-form textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form .consent{display:flex;gap:12px;font-size:11px;align-items:start;letter-spacing:normal}.consent input{margin-top:5px;accent-color:var(--deep)}.consent a{text-decoration:underline}.verification{max-width:230px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{font-size:11px;color:#6d7970;margin-top:20px}.form-status{padding:20px;background:#f4e5de;border-left:3px solid #9b5438;margin-bottom:30px;font-size:13px}.form-status ul{padding-left:16px;margin:0}.form-status.success{background:#e1eee0;border-color:#38683b}.simple-hero{padding-top:190px;min-height:650px}.simple-hero p{margin-top:25px}.inner-page:has(.simple-hero) .site-header{color:var(--deep);border-color:var(--line)}.utility-page{max-width:1000px}.utility-page>p:not(.eyebrow){margin-top:30px}.utility-page .text-link{margin-left:25px}.account-note{font-size:13px;color:#69776d}.location-links{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:60px;padding-top:25px;font-size:12px}address{font-style:normal;margin:25px 0}.lightbox{position:fixed;inset:0;border:0;width:100%;height:100%;max-width:none;max-height:none;padding:65px 90px;background:#102725f5;color:white;overflow:hidden}.lightbox::backdrop{background:#102725}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;color:white;background:transparent;border:1px solid #ffffff45;border-radius:50%;width:44px;height:44px;font-size:24px;display:grid;place-items:center}.lightbox-close{right:25px;top:20px;font-size:30px}.lightbox-prev{left:20px;top:50%}.lightbox-next{right:20px;top:50%}.lightbox-count{position:absolute;bottom:14px;left:0;width:100%;text-align:center;font-size:11px;letter-spacing:.15em;margin:0}
@media(min-width:1600px){.section-pad{padding-left:max(8vw,calc((100vw - 1400px)/2));padding-right:max(8vw,calc((100vw - 1400px)/2))}}
@media(max-width:1050px){.site-header{padding:0 4vw;gap:2vw}.main-nav{gap:2vw}.main-nav>a{font-size:10px}.brand>span{font-size:29px}.header-book{padding:11px 14px;gap:12px}.section-pad{padding:80px 6vw}.hero-copy{left:6vw}.hero{min-height:650px}.booking-strip{gap:20px}.booking-strip>div{padding-left:20px}.intro-grid{gap:5vw}.dining-copy{padding:65px 5vw}.dining-photo{min-height:540px}.gallery-grid{gap:15px}.service-grid{gap:28px}.contact-layout{gap:6vw}.footer-grid{gap:25px}}
@media(max-width:800px){.site-header{height:85px;padding:0 5vw}.site-header.scrolled{height:75px}.brand>span{font-size:28px}.brand small{font-size:7px;margin-top:8px}.header-book{margin-left:auto;letter-spacing:.06em;font-size:9px;gap:15px;padding:10px 13px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px 0 10px 10px;background:transparent;border:0;color:inherit;position:relative;z-index:22;width:40px;height:40px}.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;transition:transform .2s}.main-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:start;justify-content:center;background:var(--deep);color:var(--paper);padding:100px 9vw 55px;margin:0;gap:22px;visibility:hidden;pointer-events:none;overflow:auto}.main-nav.open{visibility:visible;pointer-events:auto}.main-nav>a{font:400 36px/1.2 var(--serif);text-transform:none;letter-spacing:normal}.main-nav .mobile-book{display:block;font:400 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-top:10px}.site-header.menu-open{color:var(--paper);background:transparent;border-color:transparent}.menu-open .brand{z-index:22}.menu-open .header-book{visibility:hidden}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}body.menu-is-open{overflow:hidden}.hero{height:88svh;min-height:650px}.hero-meta{top:113px}.hero-meta span:last-child{display:none}.hero-copy{left:7vw;right:5vw;bottom:17%}.hero h1{font-size:clamp(57px,9vw,78px)}.hero-copy>p:not(.eyebrow){font-size:13px;max-width:270px}.hero-bottom span:last-child{display:none}.booking-strip{grid-template-columns:1fr 1fr;padding:25px 6vw;gap:20px}.booking-strip>div{border-left:0;padding:0}.booking-strip>div:nth-child(3){display:none}.booking-strip>a{grid-column:1/-1;padding:15px 20px}.section-pad{padding:70px 7vw}.intro-grid{grid-template-columns:1fr;gap:30px}.display{font-size:clamp(37px,7vw,56px)}.intro-grid>div:last-child{max-width:none}.intro-note{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:8px}.image-story{height:450px;margin:0 5vw}.image-story h2{font-size:52px}.image-story>div{left:7vw}.section-head{align-items:start;gap:25px;margin-bottom:35px}.room-grid{gap:40px 22px}.room-caption h3{font-size:24px}.room-caption p:last-child{font-size:12px}.dining-split{grid-template-columns:1fr}.dining-photo{height:400px;min-height:0}.dining-copy{padding:65px 7vw}.experiences{grid-template-columns:1fr;gap:35px}.location-banner{height:440px}.location-banner h2{font-size:56px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-top{gap:35px}.footer-top p{font-size:11px}.footer-top .back-top{display:none}.footer-bottom{flex-wrap:wrap;justify-content:start;font-size:9px}.footer-bottom span:nth-child(2){display:none}.footer-bottom a{margin-left:auto}.page-hero{height:350px}.page-hero-copy{left:7vw;bottom:40px}.page-hero h1{font-size:43px}.breadcrumb{padding:18px 7vw}.room-intro{grid-template-columns:1fr;gap:30px}.gallery-grid{grid-template-columns:1fr 1fr}.related-links>a{font-size:24px}.service-grid{grid-template-columns:1fr 1fr;gap:30px}.about-photo{height:350px;margin:0 7vw}.dining-times{grid-template-columns:1fr 1fr;margin-top:40px}.dining-details{grid-template-columns:1fr;gap:30px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-details{display:grid;grid-template-columns:1fr;gap:0}.contact-form .field-row{gap:20px}.utility-page .text-link{margin:20px 0 0;display:flex;width:max-content}.location-links{flex-direction:column}.stay-callout{padding:65px 7vw}}
@media(max-width:480px){.header-book{padding:9px 10px;font-size:8px;gap:8px}.header-book span{font-size:16px}.site-header{gap:10px}.brand>span{font-size:25px}.brand-plus{font-size:23px}.brand small{font-size:6px}.hero{min-height:620px}.hero h1{font-size:57px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.17em}.hero-bottom{font-size:7px;letter-spacing:.12em}.hero-meta{font-size:8px}.booking-strip p{font-size:21px}.booking-strip>div strong{font-size:11px}.section-head{flex-direction:column;gap:22px}.section-head .text-link{margin:0}.room-grid{grid-template-columns:1fr;gap:35px}.room-caption h3{font-size:27px}.image-story{height:400px}.image-story h2{font-size:43px}.image-story-label{font-size:7px}.gallery-grid{gap:10px}.gallery-filters{gap:8px}.gallery-filters button{padding:8px 10px;font-size:10px}.service-grid{grid-template-columns:1fr;gap:30px}.dining-times strong{font-size:24px}.important-info{padding:25px}.footer-top{gap:25px}.footer-grid{gap:30px 22px;font-size:11px}.footer-grid .eyebrow{font-size:8px}.footer-top .brand>span{font-size:26px}.field-row{grid-template-columns:1fr;gap:0}.contact-form label{margin-bottom:20px}.lightbox{padding:70px 10px 85px}.lightbox-prev,.lightbox-next{top:auto;bottom:20px}.lightbox-count{bottom:32px}.page-hero h1{font-size:36px}.prose table{font-size:11px}.prose th,.prose td{padding:8px 5px}.section-pad{padding-top:60px;padding-bottom:60px}.simple-hero{padding-top:160px}}
.brand .brand-logo{width:190px;height:auto;object-fit:contain}.brand .brand-logo-dark{display:none}.scrolled .brand .brand-logo-light{display:none}.scrolled .brand .brand-logo-dark{display:block}.site-header.menu-open .brand .brand-logo-light{display:block}.site-header.menu-open .brand .brand-logo-dark{display:none}.site-footer .brand .brand-logo{width:205px}.inner-page:has(.simple-hero) .brand-logo-light{display:none}.inner-page:has(.simple-hero) .brand-logo-dark{display:block}
@media(max-width:1050px){.brand .brand-logo{width:165px}}
@media(max-width:800px){.brand .brand-logo{width:140px}.site-footer .brand .brand-logo{width:165px}}
@media(max-width:360px){.brand .brand-logo{width:115px}.header-book{font-size:7px;padding:8px}.menu-toggle{width:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Direct booking and page-specific photography */
.hero{min-height:820px}.hero-copy{bottom:285px}.hero-copy>p:not(.eyebrow){margin:20px 0 24px}.hero-actions{display:flex;align-items:center;gap:30px}.hero-actions .hero-link{gap:35px}.hero-book{background:#f7f4ed;color:#183d3c}.hero-booking{position:absolute;z-index:3;left:5vw;right:5vw;bottom:62px;display:grid;grid-template-columns:.8fr 3.6fr;gap:25px;padding:30px;background:var(--paper);color:var(--ink);box-shadow:0 8px 35px #092d3020;scroll-margin-top:95px}.booking-intro{border-right:1px solid var(--line);padding-right:20px}.booking-intro .eyebrow{display:block;font-size:8px;margin-bottom:9px}.booking-intro strong{font:400 26px/1.12 var(--serif)}.booking-intro em{color:#8b7959}.availability-form{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.35fr;gap:20px;align-items:center;position:relative}.booking-field{display:block;min-width:0;border-right:1px solid var(--line);padding-right:20px}.booking-field>span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#63746a;margin-bottom:10px}.booking-field input{min-width:0;width:100%;border:0;padding:6px 0;background:transparent;font:400 15px var(--sans);color:var(--ink);color-scheme:light}.guest-picker{position:relative}.guest-picker summary{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:5px 0;cursor:pointer;list-style:none;font-size:14px;white-space:nowrap}.guest-picker summary::-webkit-details-marker{display:none}.guest-options{position:absolute;bottom:calc(100% + 22px);left:-20px;width:290px;padding:22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 40px #143c3026;z-index:25}.guest-options>p{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px}.guest-options label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;margin:10px 0}.guest-options select{font:inherit;min-width:65px;padding:5px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.guest-done{display:block;margin:18px 0 0 auto;border:0;background:var(--deep);color:white;padding:8px 17px;font-size:11px}.availability-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:60px;padding:18px 22px;background:var(--deep);border:0;color:white;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.availability-submit span{font-size:22px}.availability-submit:hover{background:#2b5148}.booking-error{grid-column:1/-1;margin:0;font-size:12px;color:#934b30}.booking-error[hidden]{display:none}.booking-benefits{display:flex;justify-content:space-between;gap:20px;padding:28px 7vw;border-bottom:1px solid var(--line);background:var(--cream);font-size:8px;letter-spacing:.13em}.booking-dialog{width:710px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);border:0;background:var(--paper);color:var(--ink);padding:44px;overflow:auto}.booking-dialog::backdrop{background:#102725b8;backdrop-filter:blur(4px)}.booking-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:30px;padding:5px 12px}.booking-dialog .eyebrow{margin-bottom:16px}.booking-dialog h2{font:400 48px/1.12 var(--serif);letter-spacing:-.03em}.booking-dialog h2 em{color:#8b7959}.booking-dialog>p:not(.eyebrow){font-size:13px;color:#68756c;max-width:480px;margin-top:22px}.booking-dialog .availability-form{grid-template-columns:1fr 1fr;margin-top:28px;gap:24px}.booking-dialog .booking-field{border:0;border-bottom:1px solid var(--line);padding:0 0 12px}.booking-dialog .availability-submit{align-self:end}.booking-dialog .guest-options{left:0;bottom:calc(100% + 15px);width:260px}.booking-dialog .booking-secure{font-size:11px!important;margin-bottom:12px}.booking-help{font-size:12px;border-bottom:1px solid var(--line)}.mobile-booking-bar{display:none}.page-hero .hero-shade{background:linear-gradient(0deg,#102b357d,transparent 90%),linear-gradient(180deg,#1632394d,transparent 45%)}.page-hero>img{object-position:center 53%}.page-hero .page-hero-copy{z-index:1}.inner-page .page-hero{height:460px}
@media(max-width:1100px){.hero-booking{grid-template-columns:1fr;padding:25px}.booking-intro{display:none}.availability-form{gap:18px}.booking-field{padding-right:18px}.hero-copy{bottom:250px}}
@media(max-width:800px){body{padding-bottom:72px}.hero{height:auto;min-height:0;max-height:none;padding-top:155px}.hero>img{object-position:center top}.hero-copy{position:relative;left:auto;right:auto;bottom:auto;padding:22px 7vw 0}.hero h1{font-size:56px;line-height:1.02}.hero-copy>p:not(.eyebrow){margin:16px 0 20px}.hero-copy .eyebrow{margin-bottom:18px}.hero-actions{gap:22px}.hero-actions .hero-link{font-size:8px;gap:15px;padding-bottom:8px}.hero-book{padding:13px 15px;font-size:9px;gap:20px}.hero-booking{position:relative;left:auto;right:auto;bottom:auto;margin:28px 5vw 40px;padding:22px;scroll-margin-top:95px}.availability-form{grid-template-columns:1fr 1fr;gap:20px 16px}.booking-field{padding-right:0;border:0;border-bottom:1px solid var(--line);padding-bottom:12px}.booking-field>span{font-size:8px;margin-bottom:8px}.booking-field input{font-size:14px;padding:4px 0}.guest-field{align-self:center}.guest-picker summary{font-size:12px}.availability-submit{font-size:9px;letter-spacing:.04em;padding:15px 12px;min-height:54px;gap:8px}.availability-submit span{font-size:19px}.guest-options{left:-8px;bottom:calc(100% + 20px);width:270px}.hero-bottom{display:none}.booking-benefits{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:22px 7vw;font-size:7px}.mobile-booking-bar{position:fixed;z-index:18;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--deep);color:white;padding:14px 6vw calc(14px + env(safe-area-inset-bottom));min-height:70px;box-shadow:0 -3px 20px #10272520}.mobile-booking-bar small{display:block;font:400 7px/1.5 var(--sans);letter-spacing:.13em;color:#c7d2c5;margin-bottom:3px}.mobile-booking-bar>span{font:400 19px/1.2 var(--serif)}.mobile-booking-bar strong{font:400 9px/1.5 var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:11px 13px;border:1px solid #ffffff65}.mobile-booking-bar:hover{color:white}.booking-dialog{padding:35px 24px;max-height:calc(100dvh - 28px)}.booking-dialog h2{font-size:40px}.booking-dialog .availability-form{gap:20px 14px}.booking-dialog .guest-options{width:260px;left:-6px}.booking-dialog .availability-submit{font-size:9px;padding:12px}.booking-dialog>p:not(.eyebrow){font-size:12px;margin-top:18px}.inner-page .page-hero{height:380px}.footer-bottom{padding-bottom:30px}}
@media(max-width:480px){.hero h1{font-size:49px}.hero-copy>p:not(.eyebrow){font-size:12px;max-width:none}.hero-copy .eyebrow{font-size:8px}.hero-copy{padding-top:10px}.hero-booking{padding:20px;margin-top:24px;margin-bottom:30px}.hero-actions .hero-link{gap:12px}.guest-picker summary{font-size:11px}.availability-submit{font-size:8px;padding:13px 9px}.availability-form{gap:17px 12px}.booking-field input{font-size:13px}.hero-book{gap:12px}.booking-dialog h2{font-size:35px}.booking-dialog .guest-options{width:245px}.mobile-booking-bar{padding-left:5vw;padding-right:5vw}.mobile-booking-bar strong{font-size:8px;padding:10px}.inner-page .page-hero{height:355px}}
@media(max-width:360px){.hero h1{font-size:43px}.hero-actions{gap:14px}.hero-book{padding:12px;font-size:8px}.hero-actions .hero-link{font-size:7px}.hero-booking{padding:16px}.booking-field input{font-size:12px}.availability-submit{font-size:7px;gap:4px}.guest-options{width:245px}.booking-dialog{padding:35px 19px}.booking-dialog .availability-submit{font-size:8px}.booking-dialog .guest-options{width:230px}}

.hero>img{inset:0}.home .hero h1{font-size:clamp(64px,6.4vw,100px)}
@media(max-width:800px){.home .hero h1{font-size:56px}}
@media(max-width:480px){.home .hero h1{font-size:49px}}
@media(max-width:360px){.home .hero h1{font-size:43px}}

.stay-meta{display:flex;justify-content:center;gap:45px;flex-wrap:wrap;margin:0 0 35px;color:#6d795f;font-size:9px;letter-spacing:.18em;line-height:1.6}.stay-meta span{white-space:nowrap}@media(max-width:480px){.stay-meta{flex-direction:column;gap:10px;font-size:8px;margin-bottom:28px}}
