:root{--ink:#0e3545;--blue:#174a60;--lime:#dded90;--paper:#fafbf8;--muted:#4e6269}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a2bb39;outline-offset:6px}.skip{position:fixed;top:-70px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}header{height:102px;padding:16px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper)}.wordmark{text-decoration:none;font:38px/1 Georgia,serif;letter-spacing:-1.8px;display:block}.wordmark span{font-style:italic}.wordmark small{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:2px;margin-top:10px}nav{display:flex;gap:32px;font-size:14px}nav a{text-decoration:none}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;text-decoration:none;background:var(--ink);color:white;font-size:15px;font-weight:600;border:1px solid transparent;border-radius:3px;transition:background .2s}.button:hover{background:#28647a}.button.lime{background:var(--lime);color:var(--ink)}.button.lime:hover{background:#ecf7bb}.button.small{min-height:46px;padding:12px 20px}.hero{height:min(750px,76vw);min-height:560px;position:relative;background:var(--ink);color:white;overflow:hidden}.hero>img{height:100%;width:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,23,35,.75),rgba(2,23,35,.12) 80%),linear-gradient(0deg,rgba(2,23,35,.35),transparent 60%)}.hero-content{position:absolute;left:8%;top:50%;transform:translateY(-50%);max-width:750px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.5px;margin:0 0 23px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.09;margin:0}h1{font-size:clamp(58px,6.9vw,100px)}h1 em,h2 em{font-weight:400}h1 em{color:var(--lime)}.hero-content>p:not(.eyebrow){font-size:18px;margin:26px 0}.hero-caption{position:absolute;right:5%;bottom:34px;font-size:13px;letter-spacing:1px;text-underline-offset:7px}.facts{display:flex;align-items:baseline;justify-content:center;background:var(--ink);color:white;padding:27px 4%;gap:0;font-size:14px}.facts span{padding:0 4%;border-right:1px solid #53717e}.facts span:last-child{border:0}.facts strong{font-weight:500}.facts span:not(:last-child) strong{font:28px Georgia,serif;margin-right:8px}.wrap{max-width:1280px;margin:auto;padding-left:7%;padding-right:7%}.intro{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}h2{font-size:clamp(38px,4.1vw,60px)}.intro h2 em{color:#397889}.intro-copy p{color:var(--muted);margin:0 0 22px}.intro-copy .lead{font-size:24px;line-height:1.5;color:var(--ink)}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:14px;border-top:1px solid #cfdad9;padding-top:24px;margin-top:30px}.amenities span:before{content:'＋';margin-right:8px;color:#397889}.gallery{background:#eaf0f1;padding:75px 0 85px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading>p{font-size:16px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start}.photo{border:0;padding:0;text-align:left;background:transparent;color:var(--ink);cursor:zoom-in;width:100%}.photo img{width:100%;height:350px;object-fit:cover;display:block}.photo.second{margin-top:65px}.photo.second img{height:300px}.photo span{display:flex;justify-content:space-between;font-size:14px;margin-top:14px}.photo b{font-size:22px;font-weight:400}.location{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-top:95px;padding-bottom:95px}.location-label{border-left:3px solid #a9c546;padding-left:25px}.big-coordinate{font:italic 27px/1.4 Georgia,serif}.location h2{font-size:43px}.location p:not(.eyebrow):not(.big-coordinate){color:var(--muted)}.text-link{font-size:15px;text-underline-offset:6px}.booking{background:var(--ink);color:white;text-align:center;padding:80px 0}.booking .eyebrow{color:var(--lime)}.booking h2{font-size:clamp(45px,5.4vw,76px)}.booking p:not(.eyebrow){max-width:460px;margin:26px auto}.booking small{display:block;font-size:12px;color:#c4d2d6;margin-top:20px}.questions{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;padding-top:75px;padding-bottom:75px}.questions h2{font-size:34px}.questions details{border-bottom:1px solid #cdd8d9;padding:0 0 18px;margin:0 0 20px}.questions summary{cursor:pointer;font-size:16px}.questions p{font-size:15px;color:var(--muted)}footer{border-top:1px solid #cdd8d9;padding-top:32px!important;padding-bottom:35px!important;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:13px}footer .wordmark{font-size:30px}dialog{width:min(1100px,94vw);max-height:94vh;border:0;background:var(--paper);padding:45px 20px 20px;color:var(--ink)}dialog::backdrop{background:rgba(3,19,27,.92)}dialog img{display:block;width:100%;max-height:68vh;object-fit:contain}.close{position:absolute;right:12px;top:2px;background:transparent;border:0;font-size:32px;cursor:pointer;width:42px;height:42px}dialog p{text-align:center;font-size:15px;margin:12px}.gallery-controls{display:flex;justify-content:center;gap:20px}.gallery-controls button{padding:8px 15px;background:var(--ink);color:white;border:0;border-radius:3px;cursor:pointer;font-size:14px}@media(max-width:750px){header{height:85px;padding:15px 5%;gap:12px}.wordmark{font-size:31px}.wordmark small{font-size:8px;letter-spacing:1.5px}nav{display:none}.button.small{font-size:12px;padding:11px 13px}.hero{height:650px;min-height:0;max-height:85vh}.hero-content{left:7%;right:7%}.hero-content h1{font-size:clamp(48px,10.8vw,78px)}.hero-content>p:not(.eyebrow){font-size:16px;max-width:280px}.hero-content .eyebrow{font-size:10px}.hero-shade{background:linear-gradient(90deg,rgba(2,23,35,.77),rgba(2,23,35,.16))}.hero-caption{display:none}.facts{display:grid;grid-template-columns:1fr 1fr;padding:15px 5%;gap:18px}.facts span{border:0;padding:0;font-size:13px}.facts span:last-child strong{display:block}.intro,.location,.questions{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:60px}.intro h2 br{display:block}.intro h2{line-height:1.2}.intro h2 br:after{content:' '}.intro h2 em{display:block}.intro-copy .lead{font-size:22px}.section-heading{display:block}.section-heading>p{margin-top:24px}.gallery{padding:55px 0}.photo-grid{grid-template-columns:1fr}.photo.second{margin-top:12px}.photo img,.photo.second img{height:auto;aspect-ratio:1.5}.location h2{font-size:37px}.location-label .big-coordinate{display:none}.location-label .eyebrow{margin:0}.booking{padding:65px 0}.booking p{font-size:16px}.questions{gap:32px}footer{flex-wrap:wrap}footer p{order:3;width:100%;margin:0}h2{letter-spacing:-1.2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.access-note{border-top:1px solid #cdd8d9}.access-note h3{font-size:19px;margin:0 0 14px}.access-note p{font-size:16px;margin:0 0 18px}.access-note p:last-child{margin-bottom:0}

/* Original owner logo, preserving its proportions and transparent artwork. */
header{height:132px}.wordmark{position:relative;width:310px;height:100px;flex-shrink:0;overflow:hidden}.brand-logo{position:absolute;width:100%;height:auto;left:0;top:50%;transform:translateY(-50%)}footer .wordmark{width:270px;height:88px}@media(max-width:950px){nav{display:none}}@media(max-width:750px){.wordmark{width:clamp(170px,52vw,230px);height:76px}header{height:106px;padding:15px 4%;gap:10px}.button.small{max-width:125px;text-align:center}footer .wordmark{width:240px;height:80px}}

.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.photo img{height:230px}.photo.staircase img{object-fit:contain;background:#dde6e8}.photo span{gap:10px;align-items:center}@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.photo-grid{grid-template-columns:1fr}.photo img{height:auto;aspect-ratio:1.5}.photo.staircase img{aspect-ratio:1;object-fit:contain}}

.smart-home{background:var(--ink);color:white;padding:80px 0}.smart-home-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.smart-home .eyebrow,.smart-home h2 em{color:var(--lime)}.smart-intro{max-width:380px;margin:26px 0 0;color:#dce7eb}.smart-features>div+div{border-top:1px solid #53717e;margin-top:24px;padding-top:24px}.smart-features h3{font-size:21px;font-weight:500;margin:0 0 10px}.smart-features p{margin:0;color:#dce7eb}@media(max-width:750px){.smart-home{padding:60px 0}.smart-home-layout{grid-template-columns:1fr;gap:32px}}

/* Optical alignment for Georgia’s raised six. */
.facts span:first-child strong{position:relative;top:3px}

/* Soft, deliberate motion with native scrolling and accessible fallbacks. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.button,.gallery-controls button,.hero-controls button{transition:background .25s ease,transform .4s var(--motion-ease),box-shadow .4s ease}
.button:active,.gallery-controls button:active,.hero-controls button:active{transform:scale(.97)}
.gallery-stage{overflow:hidden;border-radius:14px}
.gallery-stage>span{transition:background .3s ease,transform .5s var(--motion-ease)}
.thumbnail-strip .photo{transition:opacity .35s ease,transform .5s var(--motion-ease),border-color .3s ease}
nav a{position:relative}
nav a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--motion-ease)}
nav a:hover{text-decoration:none}
nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
dialog{border-radius:16px;box-shadow:0 24px 90px #0005}
dialog[open]{animation:lightbox-enter .45s var(--motion-ease)}
dialog[open]::backdrop{animation:backdrop-enter .45s ease}
@keyframes lightbox-enter{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #001e2d20}
  .gallery-controls button:hover,.hero-controls button:hover{transform:translateY(-1px)}
  .thumbnail-strip .photo:hover{transform:translateY(-3px)}
  .gallery-stage:hover>span{transform:translateY(-3px);background:var(--ink)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hero-content{translate:none!important;opacity:1!important}
}

/* Cinematic hero and manually controlled photo viewer. */
@media(prefers-reduced-motion:no-preference){
  .immersive-motion .gallery-viewer{max-width:1600px;padding-left:3%;padding-right:3%}
  .immersive-motion .gallery-stage{transform-origin:center center;will-change:transform}
  .immersive-motion .gallery-stage img{height:clamp(300px,65vw,780px)}
  .immersive-motion .smart-features>div{padding:40px 28px;border-radius:18px;border:1px solid #ffffff25;transition:background .7s ease,border-color .7s ease,box-shadow .7s ease}
  .immersive-motion .smart-features>div+div{margin-top:28px;padding-top:40px}
  .immersive-motion .smart-features>div.is-current{background:#ffffff0e;border-color:#dded9080;box-shadow:0 16px 45px #001c2925}
  .immersive-motion .smart-features h3{font-size:clamp(26px,3vw,40px);line-height:1.2;letter-spacing:-.6px}
  .immersive-motion .booking h2{transform-origin:center;will-change:transform}
}
@media(min-width:900px) and (min-height:650px) and (prefers-reduced-motion:no-preference){
  .immersive-motion .smart-home{padding:110px 0}
  .immersive-motion .smart-home-layout{align-items:start}
  .immersive-motion .smart-home-layout>div:first-child{position:sticky;top:70px}
  .immersive-motion .smart-features>div{min-height:44vh;display:flex;flex-direction:column;justify-content:center}
}
.hero.has-slideshow>.hero-frame{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;transform:scale(1.025);object-position:center 58%}
.hero.has-slideshow>.hero-frame.is-visible{opacity:1;animation:coastal-drift 10s linear both}
@keyframes coastal-drift{from{transform:scale(1.025)}to{transform:scale(1.085)}}
.hero.motion-paused>.hero-frame{animation-play-state:paused}
.hero-shade{pointer-events:none}
.hero-controls{position:absolute;left:8%;bottom:24px;display:flex;align-items:center;gap:16px;font-size:14px}
.hero-controls button{border:1px solid #ffffff80;border-radius:3px;background:#0e3545d9;color:white;padding:9px 14px;min-height:44px;cursor:pointer;font-size:14px}
.hero-controls button:hover{background:var(--ink)}
.gallery-stage{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;touch-action:pan-y;color:white}
.gallery-stage img{display:block;width:100%;height:clamp(280px,49vw,650px);object-fit:contain}
.gallery-stage>span{position:absolute;right:16px;bottom:16px;background:#0e3545e8;padding:8px 14px;border-radius:3px;font-size:14px}
.viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0 24px}
.viewer-bar p{margin:0;font-size:16px}
.viewer-bar .gallery-controls{gap:8px;flex-shrink:0}
.gallery-controls button{min-height:44px}
.photo-grid.thumbnail-strip{display:flex;overflow-x:auto;position:relative;gap:12px;padding-top:8px;padding-bottom:18px;scrollbar-color:#397889 #dce5e7;scrollbar-width:thin;scroll-snap-type:x proximity}
.thumbnail-strip .photo{flex:0 0 128px;cursor:pointer;scroll-snap-align:center;padding:4px;border:2px solid transparent;border-radius:3px;opacity:.7}
.thumbnail-strip .photo:hover,.thumbnail-strip .photo[aria-pressed=true]{opacity:1}
.thumbnail-strip .photo[aria-pressed=true]{border-color:var(--ink);background:white}
.thumbnail-strip .photo img,.thumbnail-strip .photo.staircase img{height:82px;aspect-ratio:auto;object-fit:cover}
.thumbnail-strip .photo span{font-size:12px;line-height:1.35;margin:6px 0 0;display:block}
.thumbnail-strip .photo b{display:none}
#large-photo{touch-action:pan-y}
@media(max-width:750px){.hero-controls{left:7%;bottom:18px}.viewer-bar{align-items:flex-start;flex-direction:column;gap:12px}.gallery-stage img{height:clamp(260px,65vw,480px)}.thumbnail-strip .photo{flex-basis:108px}.thumbnail-strip .photo img{height:70px}.hero-content{top:46%}}
@media(prefers-reduced-motion:reduce){.hero.has-slideshow>.hero-frame.is-visible{animation:none;transform:none}}

/* The enlarged photo gets the whole viewport; controls overlay the image. */
.gallery-stage img{max-height:72svh}
#lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#071921;color:white;overflow:hidden}
#lightbox #large-photo{width:100%;height:100%;max-height:none;object-fit:contain}
#lightbox .close{z-index:2;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:48px;height:48px;border-radius:50%;background:#071921d9;color:white;border:1px solid #ffffff60;line-height:1}
#lightbox #photo-caption{position:absolute;z-index:1;left:50%;bottom:calc(68px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;margin:0;padding:6px 14px;border-radius:8px;background:#071921d9;font-size:14px;pointer-events:none}
#lightbox .gallery-controls{position:absolute;z-index:1;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:100%;gap:10px}
#lightbox .gallery-controls button{background:#071921e6;border:1px solid #ffffff60;white-space:nowrap}
html:has(#lightbox[open]){overflow:hidden}
