body[data-theme="estate"]{--page:#1d3852;--panel:#142d44;--panel-alt:#10263a;--text:#f5f3ed;--muted:#c8d2dc;--accent:#d7c5a2;--line:#516578;--field:#233e57;background:var(--page);color:var(--text);border:5px solid #d9e0e5}body[data-theme="estate"] .estate-header{position:absolute;z-index:10;top:5px;left:5px;right:5px;max-width:none;height:120px;background:linear-gradient(#071b38a8,transparent);color:white;display:flex;justify-content:center;padding:20px 4%}.estate-header .brand{color:#fff}.estate-header .brand-wave{color:#fff}.estate-header .brand>span{font-size:20px}.estate-header .brand small{font-size:9px}#menu-toggle{position:absolute;left:30px;top:42px;border:0;color:#fff;background:transparent;font-size:24px}#menu-toggle span{font-size:12px;letter-spacing:1px;margin-left:8px}.estate-header .estate-book{position:absolute;right:30px;top:35px;background:transparent!important;border:1px solid #e2e7ee!important;color:white!important;font-size:11px}#estate-menu{position:absolute;top:110px;left:25px;z-index:20;padding:30px;background:#10283ff5;border:1px solid #678099;box-shadow:0 10px 30px #0004}#estate-menu[hidden]{display:none}#estate-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:18px}.comparison-link{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:13px;color:var(--muted)}body[data-theme="estate"] .hero{height:calc(100svh - 10px);min-height:640px;max-height:1200px}.hero .shade{background:linear-gradient(0deg,#071b3544,transparent 55%)!important}.hero>img{object-position:center 55%}.estate-scroll{position:absolute;bottom:35px;left:calc(50% - 25px);font:48px Arial;color:#fff;width:50px;text-align:center;text-shadow:0 2px 5px #0005}.estate-introduction{border-top:5px solid #d9e0e5;padding:80px 7%!important}.estate-introduction h1{font:clamp(32px,4.4vw,65px)/1.15 Georgia,serif;letter-spacing:-1px}.estate-introduction h2{font:24px/1.5 Georgia;margin:18px 0 30px}.estate-introduction>p:not(.eyebrow){max-width:1050px;font-size:18px;line-height:1.8;color:var(--muted)}.estate-facts{letter-spacing:2px;font-size:12px;margin-top:30px}.estate-facts span{margin:0 20px;color:var(--accent)}body[data-theme="estate"] .section{padding:75px 7%}body[data-theme="estate"] .intro{background:var(--panel);grid-template-columns:1.15fr 1fr;gap:7%}.intro img{height:520px;border-radius:0}.intro h2{font-size:58px}.intro .button{background:transparent!important;color:var(--text)!important;border-color:var(--accent)}body[data-theme="estate"] .coastal-banner{min-height:380px}.amenity-grid img{height:330px;border-radius:0}.amenity-grid h3{font-size:29px}.amenity-grid span{color:var(--accent)}.section-head h2{font-size:48px}.photos{grid-template-rows:300px 300px}.photos img{border-radius:0}body[data-theme="estate"] .guide-card{background:transparent;border-radius:0}.estate-reserve{text-align:center;background:var(--panel-alt)}.estate-reserve .booking-wrap{position:static;max-width:850px;margin:35px auto 0}.estate-reserve h2{font-size:48px}body[data-theme="estate"] .reference-footer{border-top:1px solid var(--line);background:#10263a}.review-card{background:transparent!important;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#review-quote{font-size:37px}.faq-section{max-width:none}.faq-section details{max-width:1000px}.gallery-caption p{color:var(--text)}@media(max-width:760px){body[data-theme="estate"] .estate-header{height:105px;flex-wrap:nowrap}.estate-header .brand>span{font-size:13px}.estate-header .brand small{font-size:7px}.estate-header .brand{max-width:210px}#menu-toggle{left:14px;top:29px;font-size:23px}#menu-toggle span{display:none}.estate-header .estate-book{display:none}#estate-menu{left:12px;right:12px;top:98px}#estate-menu nav>a:not(.button){display:block}#estate-menu nav{flex-direction:column;align-items:stretch}body[data-theme="estate"] .hero{min-height:580px}.estate-introduction h1{font-size:34px}.estate-introduction h2{font-size:21px}.estate-introduction>p:not(.eyebrow){font-size:16px}.estate-facts{font-size:10px;letter-spacing:1px}.estate-facts span{margin:0 8px}body[data-theme="estate"] .section{padding:50px 6%}body[data-theme="estate"] .intro{grid-template-columns:1fr;gap:30px}.intro img{height:380px}.intro h2,.section-head h2,.estate-reserve h2{font-size:37px}.photos{grid-template-rows:270px 180px 180px}#review-quote{font-size:28px}}
/* Keep the opening photograph edge to edge on wide displays. */
body[data-theme="estate"]{border:0}
body[data-theme="estate"] main{max-width:none;width:100%;margin:0}
body[data-theme="estate"] .estate-header{top:0;left:0;right:0}
body[data-theme="estate"] .hero{width:100%;height:100svh;max-height:none}
body[data-theme="estate"] .hero>img{inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
body.standalone-faq[data-theme="estate"] .estate-header{position:relative;top:auto;left:auto;right:auto;background:var(--panel);height:120px}.standalone-faq #estate-menu{top:110px}.standalone-faq .faq-back{max-width:none;margin:35px 0 0;padding:0 7%}.standalone-faq .faq-section{padding-top:35px!important}
#stay-inquiry{width:min(570px,94vw);max-height:90svh;padding:32px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;overflow:auto}#stay-inquiry::backdrop{background:#061827bc}#stay-inquiry h2{font:35px/1.15 Georgia;margin-right:25px}.inquiry-close{position:absolute;right:14px;top:10px;width:40px;height:40px;border:0;background:transparent;color:var(--text);font-size:30px}.inquiry-intro{color:var(--muted);margin:14px 0 22px}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#inquiry-form label{display:block;font-size:14px;margin-bottom:14px}#inquiry-form input,#inquiry-form select,#inquiry-form textarea{display:block;width:100%;min-width:0;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--text);font:16px Arial;color-scheme:dark}#inquiry-form textarea{resize:vertical}.inquiry-notice,#inquiry-status{font-size:13px;line-height:1.6;color:var(--muted)}.inquiry-notice a{text-decoration:underline}#inquiry-form .button{width:100%;margin-top:8px}#inquiry-form input:focus-visible,#inquiry-form select:focus-visible,#inquiry-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:500px){#stay-inquiry{padding:26px 20px}.inquiry-grid{gap:10px}#stay-inquiry h2{font-size:30px}}
/* More prominent navigation control on desktop and mobile. */
#menu-toggle{font-size:30px;min-width:112px;min-height:52px;padding:8px 12px;top:30px;left:20px;display:flex;align-items:center;gap:10px}
#menu-toggle span{display:inline;font-size:16px;letter-spacing:.7px;margin-left:0}
@media(max-width:760px){#menu-toggle{left:8px;top:25px;min-width:48px;min-height:48px;padding:7px;font-size:30px;gap:0}#menu-toggle span{display:none}}
/* Increase the navigation control and dropdown by ten percent. */
#menu-toggle{font-size:33px;min-width:123.2px;min-height:57.2px;padding:8.8px 13.2px;gap:11px}
#menu-toggle span{font-size:17.6px;letter-spacing:.77px}
#estate-menu{padding:33px;max-width:calc(100vw - 50px)}
#estate-menu nav{gap:19.8px;font-size:15.4px}
#estate-menu nav a:not(.button){font-size:15.4px}
#estate-menu .button{font-size:13.2px;padding:15.4px 26.4px;letter-spacing:1.32px}
#estate-menu .comparison-link{font-size:14.3px;padding-top:19.8px;margin-top:22px}
@media(max-width:760px){#menu-toggle{min-width:52.8px;min-height:52.8px;padding:7.7px;font-size:33px;gap:0}#menu-toggle span{display:none}#estate-menu{max-width:calc(100vw - 24px);padding:33px}#estate-menu nav a:not(.button){font-size:14.3px}}
body[data-theme="estate"] .reviews-editorial{display:grid;grid-template-columns:.9fr 1.1fr;padding:0;margin:65px 7%;text-align:left;background:#eee5d5;overflow:hidden;color:#18354a}.review-visual{position:relative;min-height:490px}.review-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.review-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#0d2d45bb);pointer-events:none}.review-visual-caption{position:absolute;bottom:40px;left:35px;right:25px;z-index:1;color:#fff;pointer-events:none}.review-visual-caption>span{font-size:11px;letter-spacing:2.5px}.review-visual-caption h2{font:43px/1.15 Georgia;margin-top:16px}.review-editorial-content{padding:38px 40px;display:flex;flex-direction:column}.review-topline{display:flex;align-items:start;justify-content:space-between;gap:20px}.reviews-editorial .eyebrow{color:#526778;font-size:11px;margin-top:8px}.rating-badge{text-align:right;white-space:nowrap}.rating-badge strong{font:39px/1 Georgia}.rating-badge strong span{font:17px Arial;margin-left:4px}.rating-badge small{display:block;font-size:12px;margin-top:7px;color:#526778}.reviews-editorial .review-card{border:0;min-height:230px;max-width:none;padding:20px 0 15px;margin:0;width:100%;position:relative}.review-quote-mark{display:block;font:68px/.8 Georgia;color:#b19872;margin:12px 0 3px}.reviews-editorial #review-score{font-size:12px;color:#526778;letter-spacing:1px}.reviews-editorial #review-quote{font:32px/1.3 Georgia;margin:17px 0 24px;color:#18354a}.reviews-editorial #review-author{font-size:14px;color:#18354a}.reviews-editorial .review-excerpt{font-size:12px;color:#526778}.review-bottom{margin-top:auto;border-top:1px solid #cfc4b2;padding-top:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.reviews-editorial .review-controls{margin:0;gap:10px}.reviews-editorial .review-controls button{border:1px solid #b6b8b0;background:transparent;color:#18354a;border-radius:50%;width:40px;min-height:40px;padding:6px}.reviews-editorial .review-controls #review-pause{width:auto;border:0;border-radius:0;font-size:12px;padding:6px 0}.reviews-editorial .text-link{font-size:13px;border-color:#9d8c71;color:#18354a}.reviews-editorial .review-updated{font-size:11px;color:#62727c;margin:15px 0 0}@media(max-width:1000px){.review-editorial-content{padding:30px 25px}.review-visual-caption{left:25px}.review-visual-caption h2{font-size:35px}}@media(max-width:760px){body[data-theme="estate"] .reviews-editorial{grid-template-columns:1fr;margin:40px 6%;padding:0}.review-visual{min-height:240px}.review-visual-caption{bottom:25px}.review-visual-caption h2{font-size:32px}.review-editorial-content{padding:28px 24px}.reviews-editorial #review-quote{font-size:28px}.reviews-editorial .review-card{min-height:230px}.rating-badge strong{font-size:33px}}
.rating-badge strong #review-badge-value{font:inherit;margin:0}
.reviews-editorial #review-score{display:none}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}button:disabled{opacity:.65;cursor:wait}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){.estate-header .brand{max-width:195px}.estate-header .brand>span{font-size:12px}}
#stay-inquiry{width:min(740px,95vw);max-height:92svh}#ownerrez-mount{margin-top:20px;min-height:200px;background:#fff;border-radius:5px;padding:16px}.booking-fallback,#ownerrez-loading{font-size:13px;line-height:1.6;color:var(--muted)}.booking-fallback a{text-decoration:underline;text-underline-offset:3px}#ownerrez-loading:empty{display:none}@media(max-width:500px){#ownerrez-mount{padding:8px}#stay-inquiry{padding:25px 15px}}
#ownerrez-mount{background:#142d44}
/* Focused homepage and shared detail pages. */
.inner-page .estate-header{position:relative;background:var(--panel);height:120px}
.inner-page main>section:first-child{padding-top:65px}
.inner-page h1{font:400 clamp(38px,5vw,64px)/1.12 Georgia,serif;margin:12px 0 24px;color:var(--text)}
.inner-page .section-head h1{max-width:650px}
.home-page .hero{height:80svh;min-height:600px;max-height:900px;position:relative}
.hero-copy{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 24px 65px;color:var(--text)}
.hero-copy h1{font:400 clamp(48px,6.5vw,90px)/1.05 Georgia,serif;margin:14px 0 18px;letter-spacing:-1px}
.hero-copy>p:not(.eyebrow){font-size:20px;margin:0 0 28px}
.hero-copy .eyebrow{color:#ead9b7}
.home-page .hero .shade{background:linear-gradient(180deg,rgba(6,23,35,.28),rgba(6,23,35,.55))}
.home-introduction{text-align:center;max-width:900px;margin:auto;padding-bottom:30px}
.home-introduction h2,.home-review blockquote{font:400 clamp(32px,4vw,48px)/1.2 Georgia,serif;margin:14px 0 22px}
.home-introduction>p:not(.eyebrow){max-width:630px;margin:0 auto 25px;line-height:1.8;color:var(--muted)}
.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.highlight-card{display:block;text-decoration:none;color:var(--text);background:var(--panel)}
.highlight-card img{display:block;width:100%;height:280px;object-fit:cover}
.highlight-card>div{padding:26px}
.highlight-card h3{font:400 29px/1.2 Georgia,serif;margin:12px 0}
.highlight-card p:not(.eyebrow){color:var(--muted);line-height:1.65;margin-bottom:24px}
.highlight-card .eyebrow{font-size:10px}
.highlight-card:hover img{filter:brightness(1.08)}
.home-review{text-align:center;background:var(--panel);padding-top:55px;padding-bottom:55px}
.home-review blockquote{margin:20px auto;max-width:750px}
.home-review>p:not(.eyebrow){color:var(--muted)}
.home-review .text-link{font-size:12px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 7%;background:var(--panel-alt);border-top:1px solid var(--line)}
.site-footer .footer-brand{font:24px Georgia,serif;color:var(--text);text-decoration:none}
.site-footer p{color:var(--muted);font-size:13px;margin:12px 0 0}
.site-footer nav{display:flex;align-items:center;gap:28px}
.site-footer nav a,.site-footer button{color:var(--text);font-size:14px}
.inner-page .faq-back{display:block;padding:24px 7% 0}
.inner-page .faq-section{max-width:1000px;margin:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:760px){
 .inner-page .estate-header{height:110px}
 .home-page .hero{height:76svh;min-height:550px}
 .hero-copy{padding-top:120px}
 .hero-copy .eyebrow{font-size:10px;letter-spacing:2px}
 .highlight-grid{grid-template-columns:1fr;gap:24px}
 .highlight-card img{height:260px}
 .home-highlights{padding-top:25px}
 .home-introduction .estate-facts{font-size:11px;letter-spacing:1px}
 .site-footer{align-items:flex-start;flex-direction:column;padding:32px 6%}
 .site-footer nav{flex-wrap:wrap;gap:22px}
 .inner-page main>section:first-child{padding-top:40px}
}
body[data-theme="estate"].inner-page .estate-header{position:relative;top:0;left:0;right:0;background:var(--panel)}
body[data-theme="estate"].home-page .hero{height:80svh;min-height:600px;max-height:900px}
.home-page .hero .shade{background:linear-gradient(180deg,rgba(6,23,35,.25),rgba(6,23,35,.6))!important}
.home-page .hero-copy{max-width:none;width:100%;margin:0}
.hero .hero-copy button{pointer-events:auto}
body[data-theme="estate"] .home-introduction{padding-bottom:25px}
body[data-theme="estate"] .home-highlights{padding-top:35px}
@media(max-width:760px){body[data-theme="estate"].home-page .hero{height:76svh;min-height:550px}body[data-theme="estate"].inner-page .estate-header{height:110px}}
.site-footer nav a{display:inline-block}
/* Give the shared booking invitation a clear, consistent vertical rhythm. */
body[data-theme="estate"] .estate-reserve{display:flex;flex-direction:column;align-items:center;gap:0;padding-top:85px;padding-bottom:85px}
.estate-reserve>.eyebrow{margin:0 0 24px}
.estate-reserve>h2{margin:0;line-height:1.2;max-width:900px}
.estate-reserve>.button{position:static;display:inline-block;margin:32px 0 0;flex-shrink:0}
.estate-reserve>p:not(.eyebrow){margin:24px 0 0;line-height:1.7;color:var(--muted)}
.site-footer{max-width:none;width:100%}
@media(max-width:760px){body[data-theme="estate"] .estate-reserve{padding-top:60px;padding-bottom:60px}.estate-reserve>h2{font-size:36px}.estate-reserve>.button{margin-top:28px}}

/* Original footer, spanning the full viewport on every page. */
body[data-theme="estate"] .reference-footer{width:100%;max-width:none;margin:0;box-sizing:border-box}
.reference-footer>div:nth-child(4){border-right:0}

/* Homepage photo crossfade; text and booking remain stationary. */
.home-page .hero>.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;pointer-events:none}
.home-page .hero>.hero-slide.is-active{opacity:1}
.home-page .hero .shade{z-index:1}
.hero-controls{position:absolute;z-index:3;bottom:27px;right:28px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(8,28,42,.65);border-radius:3px}
.hero-dot{width:12px;height:12px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.hero-dot[aria-pressed="true"]{background:#d7c5a2;border-color:#d7c5a2}
.hero-pause{border:0;background:transparent;color:white;padding:6px;font:12px Arial,sans-serif;cursor:pointer}
.home-page .estate-scroll{z-index:3}
@media(max-width:760px){.hero-controls{bottom:20px;right:50%;transform:translateX(50%);gap:10px;white-space:nowrap}.home-page .estate-scroll{display:none}}
@media(prefers-reduced-motion:reduce){.home-page .hero>.hero-slide{transition:none}}
/* Slow cinematic movement across the still photographs. */
.home-page .hero{overflow:hidden}
.home-page .hero>.hero-slide{transform:scale(1.04);transform-origin:50% 50%;animation:hero-drift 8s ease-out both;animation-play-state:paused}
.home-page .hero>.hero-slide:nth-of-type(even){transform-origin:65% 40%;animation-name:hero-drift-reverse}
.home-page .hero>.hero-slide.is-active{animation-play-state:running}
.home-page .hero.slideshow-paused>.hero-slide{animation-play-state:paused}
@keyframes hero-drift{from{transform:scale(1.04) translateX(-.5%)}to{transform:scale(1.16) translateX(1%)}}
@keyframes hero-drift-reverse{from{transform:scale(1.16) translateX(1%)}to{transform:scale(1.04) translateX(-.5%)}}
@media(prefers-reduced-motion:reduce){.home-page .hero>.hero-slide{animation:none;transform:none}}
/* Separate the brand header from the animated hero. */
body[data-theme="estate"].home-page .estate-header{position:relative;top:0;left:0;right:0;height:140px;background:var(--panel);max-width:none}
.home-page .hero-copy{padding:40px 24px;inset:0;justify-content:center;align-items:center}
@media(max-width:760px){body[data-theme="estate"].home-page .estate-header{height:125px}.home-page .hero-copy{padding:30px 20px}}
/* Align all header items on one vertical centerline. */
body[data-theme="estate"] .estate-header{align-items:center}
.estate-header #menu-toggle,.estate-header .estate-book{top:50%;transform:translateY(-50%);margin-top:0;margin-bottom:0}
.estate-header .brand{margin-top:0;margin-bottom:0}
