/* DM Sans loads from a <link> in index.html (v2). */
:root{--paper:#f3f1eb;--ink:#30322d;--muted:#71736b;--line:#d0d1c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #859968;outline-offset:6px}img{display:block;width:100%;object-fit:cover}figure,p,h1,h2{margin:0}h1,h2{font-weight:300;letter-spacing:-.055em;line-height:1.05}h2{font-size:clamp(36px,4.5vw,68px)}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--paper)}.wordmark{font-size:28px;font-weight:400;letter-spacing:-1.7px}.wordmark span{font-size:13px;letter-spacing:2px;margin-left:7px}nav{display:flex;gap:35px;font-size:12px}nav a,.header-link{padding:12px 0}.header-link{font-size:12px;border-bottom:1px solid var(--ink)}.header-link span{margin-left:30px}.hero{height:calc(100svh - 92px);min-height:620px;max-height:1050px;position:relative;color:white;overflow:hidden}.hero>img{height:100%;object-position:50% 60%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,17,27,.13),transparent 45%,rgba(10,20,17,.54))}.hero-copy{position:absolute;top:9%;left:5%}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:500}.hero h1{font-size:clamp(66px,8.9vw,145px);margin-top:22px;line-height:.97;letter-spacing:-.065em}.hero h1 span{display:block}.hero-bottom{position:absolute;bottom:36px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px}.hero-bottom a{display:flex;gap:70px}.vertical-note{position:absolute;right:3%;top:15%;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px;text-transform:uppercase}.section{padding:95px 5%}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;border-top:1px solid var(--line);padding-top:18px}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;margin:65px 0 70px}.intro-text{max-width:370px;padding-top:5px}.intro-text p,.material-copy p{font-size:16px;line-height:1.85;color:#64665e}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid #a4a799;padding:0 0 12px;margin-top:30px;font-size:11px}.wide-photo img{aspect-ratio:1.8}.photo-button{display:block;border:0;background:transparent;padding:0;width:100%;text-align:left;overflow:hidden}.photo-button img{transition:transform .7s}.photo-button:hover img{transform:scale(1.025)}figcaption{display:flex;justify-content:space-between;font-size:10px;padding-top:14px;color:var(--muted)}.material{display:grid;grid-template-columns:1fr 1fr;gap:15%;padding-top:10px;padding-bottom:120px;align-items:start}.material-image{padding-top:80px}.material-image img{aspect-ratio: .87;object-position:35%}.micro{display:block;font-size:8px;letter-spacing:1.5px;margin-top:15px}.material-copy .eyebrow{color:#787b6c}.material-copy h2{margin:26px 0}.material-copy p{max-width:350px}.material-copy>img{width:62%;aspect-ratio:1.2;margin-top:60px}.grounds{background:#e5e7dd}.grounds-heading{display:flex;align-items:end;justify-content:space-between;margin:65px 0 45px;gap:40px}.grounds-heading p{font-size:14px;line-height:1.8;color:#64665e}.grounds-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;align-items:start}.grounds-grid figure:nth-child(2){margin-top:120px}.grounds-grid img{aspect-ratio:1.28}.grounds-grid figcaption{justify-content:start;gap:25px;font-size:12px;padding-top:20px}.grounds-grid figcaption span{font-size:9px}.photo-heading{display:flex;justify-content:space-between;align-items:center;margin:55px 0 35px}.arrows{display:flex;gap:10px}.arrows button{border:1px solid #c8cabe;border-radius:50%;width:44px;height:44px;background:none}.arrows button:hover{background:#e2e5d9}.photo-track{display:flex;overflow:auto;gap:24px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b3b8a5 transparent;padding-bottom:20px}.photo-track .detail-photo{flex:0 0 35%;scroll-snap-align:start}.photo-track img{aspect-ratio:1.05}.film{height:560px;position:relative;color:white;display:grid;place-items:center;text-align:center;overflow:hidden}.film>img{position:absolute;height:100%;filter:brightness(.55);object-position:50% 65%}.film>div{position:relative}.film h2{margin:30px 0 40px;font-size:clamp(42px,6vw,84px)}.film-link{display:inline-flex;gap:18px;align-items:center;font-size:12px}.play{display:grid;place-items:center;border:1px solid #aaa;border-radius:50%;width:52px;height:52px;font-size:22px}footer{padding:55px 5% 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:55px}.footer-top p{font-size:12px;line-height:1.8}.footer-top>a:last-child{font-size:11px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:9px;color:var(--muted)}dialog{padding:55px 20px 20px;border:0;background:#f3f1eb;width:min(1200px,95vw);max-height:95svh}dialog::backdrop{background:#131712ed}dialog img{height:70svh;object-fit:contain}dialog p{font-size:12px;text-align:center;margin-top:15px}.close{position:absolute;right:20px;top:15px;border:0;background:none;padding:8px}.skip{position:absolute;top:-100px;z-index:9;background:white;padding:12px}.skip:focus{top:5px}@media(min-width:1700px){.section{padding-left:max(5%,calc((100vw - 1550px)/2));padding-right:max(5%,calc((100vw - 1550px)/2))}}@media(max-width:700px){header{height:76px;padding:0 6%}nav{display:none}.wordmark{font-size:24px}.header-link{font-size:11px}.hero{height:78svh;min-height:550px}.hero>img{object-position:54% 50%}.hero-copy{left:6%;top:8%}.hero h1{font-size:72px}.hero .eyebrow{font-size:8px}.hero-bottom{left:6%;right:6%;bottom:26px;gap:20px;font-size:10px}.hero-bottom p{max-width:110px;line-height:1.6}.hero-bottom a{gap:16px;align-items:center}.vertical-note{display:none}.section{padding:65px 6%}.section-label{font-size:8px;gap:30px;line-height:1.5}.section-label span:last-child{text-align:right;max-width:150px}.intro-grid{grid-template-columns:1fr;gap:30px;margin:40px 0}.intro-text p,.material-copy p{font-size:14px}.wide-photo img{aspect-ratio:1.15}.wide-photo figcaption span:last-child{display:none}.material{grid-template-columns:1fr 1fr;gap:25px;padding-top:0;align-items:start}.material-image{padding-top:60px}.material-image img{aspect-ratio:.65}.material-copy h2{font-size:32px}.material-copy .eyebrow{font-size:8px}.material-copy p{font-size:12px;line-height:1.7}.material-copy>img{width:100%;margin-top:25px}.micro{font-size:7px;line-height:1.5}.grounds-heading{display:block;margin:40px 0 30px}.grounds-heading p{margin-top:20px;font-size:13px}.grounds-grid{grid-template-columns:1fr;gap:35px}.grounds-grid figure:nth-child(2){margin:0 0 0 18%}.photo-track .detail-photo{flex-basis:80%}.photo-track{gap:15px}.photo-heading{margin:35px 0}.film{height:410px}.footer-top{flex-wrap:wrap;gap:30px}.footer-top p{font-size:11px}.footer-bottom{gap:30px;line-height:1.7}.footer-bottom a{text-align:right}dialog img{height:auto;max-height:75svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}.hero>img{position:absolute;top:-6%;height:112%;width:100%}

/* Automatic half-opening, completed by scrolling. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-padding-top:100px}
.hero.hero-split{height:100svh;min-height:0;max-height:none;background:white;isolation:isolate}
.hero-media,.hero-media>img,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-video{opacity:0;transition:opacity .35s}.hero-video.is-playing{opacity:1}
.reveal-panel{position:absolute;top:0;bottom:0;width:calc(50% + 1px);background:#fff;z-index:2;will-change:transform;pointer-events:none}.panel-left{left:0}.panel-right{right:0}
.welcome-layer{position:fixed;inset:0;z-index:100;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#111}
.welcome-layer:before{content:'';position:absolute;inset:0;background:#fff;z-index:-1}
.welcome-layer p{font-size:14px;letter-spacing:.04em;margin-bottom:18px}.welcome-layer>div{font-size:clamp(40px,6vw,88px);font-weight:300;letter-spacing:-.055em}
.reveal-cue{position:absolute;bottom:22px;left:calc(50% - 24px);width:48px;height:48px;display:grid;place-items:center;z-index:3;color:white;filter:drop-shadow(0 1px 4px #000)}
.video-toggle{position:absolute;right:22px;bottom:22px;z-index:1;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#0005;color:white;place-items:center}.video-toggle:not([hidden]){display:grid}
.jump-menu{position:fixed;top:16px;left:50%;transform:translate(-50%,-8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,transform .4s,visibility .4s;z-index:30;width:max-content;max-width:calc(100% - 24px);height:56px;padding:6px;margin:0;border:1px solid rgba(225,244,255,.8);border-radius:99px;color:#172e42;background:linear-gradient(135deg,rgba(237,249,255,.46),rgba(150,201,239,.2) 52%,rgba(211,237,255,.32));-webkit-backdrop-filter:blur(20px) saturate(1.85);backdrop-filter:blur(20px) saturate(1.85);box-shadow:0 8px 30px rgba(27,72,112,.14),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(126,183,224,.28)}
.jump-menu nav{display:flex;gap:4px;align-items:center}.jump-menu nav a{padding:14px 24px;border-radius:40px;font-size:12px;white-space:nowrap;font-weight:500;transition:background .2s}.jump-menu nav a:hover,.jump-menu nav a[aria-current="location"]{background:rgba(228,245,255,.42)}
.jump-menu.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
#residence{padding-top:36px;background:#fff}.property-facts{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:25px;padding:40px 0;border-bottom:1px solid var(--line)}.property-facts strong{font-size:clamp(18px,2vw,28px);font-weight:400;display:block;letter-spacing:-.04em}.property-facts span{display:block;font-size:10px;color:var(--muted);margin-top:10px}.estate-description{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;margin:65px 0}.estate-description h2{margin-top:24px}.estate-description .eyebrow{line-height:1.8}.mls-description{font-size:15px;line-height:1.9;color:#575c53}
@media(max-width:700px){.jump-menu{top:12px}.jump-menu nav{gap:0}.jump-menu nav a{padding:14px 16px;font-size:11px}.hero.hero-split{height:100svh;min-height:0}.property-facts{grid-template-columns:repeat(2,1fr);gap:26px}.property-facts>div:first-child{grid-column:1/-1}.estate-description{grid-template-columns:1fr;gap:25px;margin:40px 0}.mls-description{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}

.features{padding-top:65px;padding-bottom:50px}.feature-story{display:grid;grid-template-columns:1.45fr 1fr;gap:8%;align-items:center;margin:90px 0 130px}.feature-story:nth-of-type(even){grid-template-columns:1fr 1.45fr}.feature-story:nth-of-type(even) .feature-visual{order:2}.feature-story:nth-of-type(even) .feature-copy{order:1}.feature-visual{overflow:hidden}.feature-visual img{aspect-ratio:1.2;object-fit:cover}.feature-copy{max-width:380px}.feature-number{display:block;font-size:11px;color:#858a7d;letter-spacing:2px;margin-bottom:45px}.feature-copy .eyebrow{font-size:10px;letter-spacing:1.5px}.feature-copy h3{font-size:clamp(32px,3.8vw,55px);font-weight:300;letter-spacing:-.055em;line-height:1.08;margin:22px 0}.feature-description{font-size:15px;line-height:1.9;color:#666b61}.feature-story#observatory{padding:45px;background:#262b27;color:#f4f3ed;gap:7%;margin-left:-2%;margin-right:-2%}.feature-story#observatory .feature-description{color:#c5c9bf}.feature-story#observatory .feature-number{color:#a3aa99}
@media(max-width:700px){.feature-story,.feature-story:nth-of-type(even){grid-template-columns:1fr;gap:28px;margin:55px 0 80px}.feature-story:nth-of-type(even) .feature-visual,.feature-story:nth-of-type(even) .feature-copy{order:initial}.feature-copy{max-width:none}.feature-number{margin-bottom:22px}.feature-copy h3{font-size:38px}.feature-description{font-size:14px}.feature-story#observatory{padding:22px;margin-left:-3%;margin-right:-3%}.feature-visual img{aspect-ratio:1.15}.features{padding-bottom:0}}

#great-room .feature-visual img,#primary-suite .feature-visual img,#location .feature-visual img{aspect-ratio:3/2}

/* A contained, scroll-led sequence of photographic details. */
.photographs{padding-top:30px;padding-bottom:40px;background:var(--paper)}
.photographs .photo-heading{margin:30px 0}
.photo-window{overflow:hidden;width:100%}
.photographs .photo-track{gap:24px;padding:0;overflow-x:auto;scroll-snap-type:none;scrollbar-width:none;overscroll-behavior-x:contain}
.photographs .photo-track::-webkit-scrollbar{display:none}
.photographs .photo-track .detail-photo{flex:0 0 clamp(230px,32vw,460px);scroll-snap-align:none}
.photographs .photo-track img{height:clamp(180px,42svh,420px);aspect-ratio:auto;width:100%}
.photographs .photo-track:focus-visible{outline:2px solid #859968;outline-offset:-2px}
@media(max-width:700px){.photographs .photo-track{gap:16px}.photographs .photo-track .detail-photo{flex-basis:72vw}.photographs .photo-heading h2{font-size:36px}.photographs .photo-track img{height:38svh}}

#residence .wide-photo img{aspect-ratio:auto;height:auto}

.photo-window.is-drifting .photo-track{position:relative;width:max-content;overflow:visible;will-change:transform}
.photo-window.is-drifting .photo-track .detail-photo{flex:0 0 auto;width:clamp(230px,32vw,460px)}
@media(max-width:700px){.photo-window.is-drifting .photo-track .detail-photo{width:72vw}}

/* Glass invitation to continue beyond the opening film. */
.reveal-cue{left:50%;transform:translateX(-50%);bottom:28px;width:auto;height:auto;min-height:46px;padding:14px 23px;border-radius:14px;border:1px solid rgba(235,247,255,.7);background:linear-gradient(135deg,rgba(237,249,255,.32),rgba(150,201,239,.16));-webkit-backdrop-filter:blur(18px) saturate(1.65);backdrop-filter:blur(18px) saturate(1.65);box-shadow:0 6px 24px rgba(0,25,45,.12),inset 0 1px 0 rgba(255,255,255,.65);filter:none;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.55);font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:background .25s,border-color .25s}
.reveal-cue:hover{background:rgba(206,234,255,.35);border-color:#fff}
/* Residence editorial layout. */
#residence{padding-top:45px;padding-bottom:100px}
.property-facts{border:0;padding:22px 0 48px;max-width:1200px;margin:auto}
.property-facts span{font-size:14px;line-height:1.5}
#residence .wide-photo{width:83.333%;margin:35px auto 75px}
#residence .wide-photo figcaption{display:none}
.estate-description{display:block;max-width:1060px;margin:0 auto}
.estate-description h2{margin:15px 0 38px}
.mls-description{font-size:14px;line-height:1.9;columns:2;column-gap:48px;color:#555b53;text-wrap:pretty}
.listing-by{margin-top:35px;font-size:16px;display:flex;gap:25px;flex-wrap:wrap}
.listing-by p{flex-basis:100%;font-size:13px;color:var(--muted);margin-bottom:-12px}
.features{padding-top:10px}.feature-story:first-of-type{margin-top:40px}
.full-gallery{background:#fff}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}
.outline-button,.solid-button{border:1px solid #aeb5ad;border-radius:8px;background:transparent;padding:14px 22px;font-size:14px}
.outline-button:hover{background:#e9ede7}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}
.gallery-thumb{border:0;padding:0;background:#e9e9e4;overflow:hidden;cursor:zoom-in}
.gallery-thumb img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .5s}
.gallery-thumb:hover img{transform:scale(1.035)}
.gallery-thumb[hidden]{display:none}
#gallery-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:#111713;color:#fff}
.gallery-toolbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:14px}
.gallery-toolbar>div{display:flex;gap:16px}
.gallery-toolbar button{background:transparent;color:white;border:1px solid #ffffff55;border-radius:8px;padding:10px 14px}
.gallery-stage{height:calc(100% - 76px);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:0 15px 25px}
#gallery-image{width:100%;height:100%;min-height:0;object-fit:contain}
.gallery-stage button{background:transparent;color:white;border:0;font-size:32px;width:55px;height:55px}
body:has(dialog[open]){overflow:hidden}
.film-section{background:#f3f1eb}
.film-section video{display:block;width:100%;aspect-ratio:16/9;background:#111;object-fit:contain}
.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:white}
.inquiry>div>p{font-size:16px;line-height:1.8;max-width:380px;margin-top:28px}
#inquiry-form{display:grid;gap:10px}
#inquiry-form label{font-size:14px;margin-top:10px}
#inquiry-form label span{font-size:12px;color:#6d746c}
#inquiry-form input{width:100%;min-height:50px;border:1px solid #bdc5bb;border-radius:6px;background:#fff;padding:12px;font:inherit;font-size:16px;color:var(--ink)}
#inquiry-form input:focus{outline:2px solid #688b9c;outline-offset:2px}
.form-note{font-size:12px;line-height:1.6;color:#687166;margin:12px 0}
.solid-button{background:#293a30;color:white;border-color:#293a30;justify-self:start}
#inquiry-status{font-size:14px;line-height:1.6}
.legal-footer{background:#e9ece5;padding-top:55px}
.legal-footer .footer-top{padding-bottom:35px}
.agent-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:950px}
.agent-grid h3{font-size:22px;font-weight:400;margin:0 0 14px}
.agent-grid p{font-size:14px;line-height:1.8;margin-bottom:15px;overflow-wrap:anywhere}
.legal-copy{font-size:12px;line-height:1.8;max-width:1100px;margin:25px 0 35px;color:#626a60}
.legal-footer .footer-bottom{font-size:12px;border:0;padding:0}
@media(max-width:700px){#residence .wide-photo{width:100%;margin:15px auto 45px}.property-facts span{font-size:14px}.mls-description{columns:1;max-width:60ch}.estate-description h2{margin-bottom:28px}.listing-by{gap:18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-heading{align-items:start;flex-direction:column}.inquiry{grid-template-columns:1fr;gap:30px}.agent-grid{grid-template-columns:1fr;gap:22px}.gallery-toolbar{padding:0 12px;font-size:12px}.gallery-toolbar button{font-size:12px;padding:10px}.gallery-stage{grid-template-columns:40px minmax(0,1fr) 40px;padding:0 0 20px}.gallery-stage button{width:40px;font-size:27px}}

/* Property specifications: a movable section independent of the visual story. */
.property-details{background:#fff;padding-top:85px;padding-bottom:90px}
.details-heading{margin-bottom:55px;max-width:720px}
.details-heading p{font-size:16px;line-height:1.7;color:#697064;margin-top:22px}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 55px}
.detail-group h3{font-size:23px;font-weight:400;letter-spacing:-.035em;margin:0 0 27px}
.detail-group dl{margin:0;display:grid;gap:20px}
.detail-group dt{font-size:12px;font-weight:500;color:#6e766b;margin-bottom:6px}
.detail-group dd{font-size:15px;line-height:1.65;margin:0;text-wrap:pretty}
@media(max-width:1000px){.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 35px}}
@media(max-width:600px){.property-details{padding-top:60px;padding-bottom:65px}.details-heading{margin-bottom:40px}.details-grid{grid-template-columns:1fr;gap:40px}.detail-group h3{margin-bottom:22px}.detail-group dl{grid-template-columns:1fr 1fr;gap:20px}.detail-group dd{font-size:14px}}
@media(max-width:360px){.detail-group dl{grid-template-columns:1fr}}

/* A continuous white canvas from the residence through the visual highlights. */
.features,.photographs{background:#fff}
.feature-copy .eyebrow{font-size:15px;letter-spacing:1.2px;line-height:1.5}
.jump-menu nav a[aria-current="location"]{background:rgba(218,240,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
@media(max-width:700px){.jump-menu nav a{padding:14px 12px;font-size:11px}.feature-copy .eyebrow{font-size:14px}}
@media(max-width:360px){.jump-menu nav a{padding:14px 9px;font-size:10px}}

.jump-menu nav a.menu-inquiry{background:rgba(211,235,251,.4);box-shadow:inset 0 0 0 1px rgba(236,248,255,.8);margin-left:5px}
.jump-menu nav a.menu-inquiry:hover,.jump-menu nav a.menu-inquiry[aria-current="location"]{background:rgba(204,233,254,.8)}
.cta-mobile{display:none}
@media(max-width:700px){.cta-desktop{display:none}.cta-mobile{display:inline}.jump-menu nav a{padding:14px 9px;font-size:10px}.jump-menu nav a.menu-inquiry{margin-left:3px}}
@media(max-width:360px){.jump-menu nav a{padding:14px 6px;font-size:10px}}

.detail-photo{overflow:hidden;cursor:default}

/* Full-width navigation follows the film, then sticks to the viewport top. */
.jump-menu{position:sticky;top:0;left:auto;transform:none;opacity:1;visibility:visible;pointer-events:auto;width:100%;max-width:none;height:auto;min-height:76px;margin:0;padding:12px 5%;border:0;border-radius:0;background:rgba(255,255,255,.82);color:var(--ink);-webkit-backdrop-filter:blur(24px) saturate(1.25);backdrop-filter:blur(24px) saturate(1.25);box-shadow:0 1px 0 rgba(35,43,35,.07);justify-content:center;transition:none}
.jump-menu.is-visible{transform:none}
.jump-menu nav{display:flex;justify-content:center;align-items:center;gap:12px;max-width:100%;font-size:13px}
.jump-menu nav a{font-size:13px;padding:14px 22px;border-radius:8px}
.jump-menu nav a:hover,.jump-menu nav a[aria-current="location"]{background:rgba(231,234,229,.65);box-shadow:none}
.jump-menu nav a.menu-inquiry{margin-left:20px;background:rgba(244,246,242,.55);box-shadow:inset 0 0 0 1px rgba(111,124,111,.25)}
.jump-menu nav a.menu-inquiry:hover,.jump-menu nav a.menu-inquiry[aria-current="location"]{background:rgba(226,232,224,.75)}
@media(max-width:700px){.jump-menu{top:0;min-height:64px;padding:8px 10px}.jump-menu nav{gap:1px}.jump-menu nav a{padding:13px 9px;font-size:11px}.jump-menu nav a.menu-inquiry{margin-left:5px}}
@media(max-width:360px){.jump-menu nav a{padding:13px 6px;font-size:10px}}

/* A cinematic invitation, with playback contained in a modal. */
.film-section{position:relative;isolation:isolate;height:75svh;min-height:420px;max-height:850px;width:100%;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;background:#172018}
.film-backdrop,.film-overlay{position:absolute;inset:0;width:100%;height:100%}
.film-backdrop{object-fit:cover;object-position:center 55%;z-index:-2}
.film-overlay{background:rgba(5,14,12,.48);z-index:-1}
.film-invitation{padding:40px 24px}
.film-invitation>p{font-size:13px;letter-spacing:.08em;margin-bottom:25px}
.film-invitation h2{font-size:clamp(44px,6vw,88px);margin-bottom:35px}
.film-watch{display:inline-flex;align-items:center;gap:17px;border:0;padding:8px;background:transparent;color:#fff;font-size:15px}
.film-play{width:56px;height:56px;border:1px solid #ffffffa0;border-radius:50%;display:grid;place-items:center;font-size:25px;background:#ffffff12;backdrop-filter:blur(8px);transition:background .25s}
.film-watch:hover .film-play{background:#ffffff35}
.film-duration{display:block;font-size:12px;margin-top:20px;color:#ffffffc7}
#film-dialog{width:min(1280px,94vw);max-width:94vw;max-height:94dvh;padding:0;background:#101510;color:#fff;border:0}
#film-dialog::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(8px)}
.film-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;font-size:14px}
.film-toolbar button{background:transparent;color:white;border:1px solid #ffffff60;border-radius:7px;padding:10px 15px}
#film-dialog video{display:block;width:100%;max-height:calc(94dvh - 72px);aspect-ratio:16/9;background:black;object-fit:contain}
@media(max-width:700px){.film-section{height:65svh;min-height:400px}.film-toolbar{font-size:12px;padding:12px}.film-invitation h2{font-size:46px}}
/* Fine dividers between the residence facts. */
.property-facts>div+div{border-left:1px solid #d9ddd6;padding-left:25px}
@media(max-width:700px){.property-facts>div+div{border-left:0;padding-left:0}.property-facts>div:nth-child(3),.property-facts>div:nth-child(5){border-left:1px solid #d9ddd6;padding-left:25px}}

/* More room and a scroll-paced rhythm for each highlight. */
.feature-story{margin-top:110px;margin-bottom:160px}
.film-section{height:80vh;height:80svh;min-height:0;max-height:none}
@media(max-width:700px){.feature-story,.feature-story:nth-of-type(even){margin-top:75px;margin-bottom:105px}.film-section{height:80vh;height:80svh;min-height:0;max-height:none}}

/* A quieter pause before the first highlight enters. */
.features{padding-top:90px}
@media(max-width:700px){.features{padding-top:55px}}

/* Compact top-right navigation. */
.menu-toggle{position:fixed;top:22px;right:26px;z-index:60;width:48px;height:48px;border:1px solid rgba(170,183,174,.35);border-radius:12px;background:rgba(255,255,255,.82);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer}
.menu-toggle span{display:block;width:20px;height:1px;background:#29372d;transition:transform .25s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.jump-menu{position:fixed;inset:82px 26px auto auto;width:280px;max-width:calc(100vw - 32px);min-height:0;height:auto;padding:14px;border:1px solid rgba(211,221,213,.65);border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 15px 45px #14261b14;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;z-index:55}
.jump-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.jump-menu nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:3px}
.jump-menu nav a{font-size:15px;padding:14px 18px;text-align:left}
.jump-menu nav a.menu-inquiry{margin:10px 0 0;text-align:center}
.cta-desktop{display:inline}.cta-mobile{display:none}
@media(max-width:700px){.menu-toggle{top:16px;right:16px}.jump-menu{inset:76px 16px auto auto}.jump-menu nav a{font-size:15px;padding:14px 18px}.jump-menu nav a.menu-inquiry{margin:10px 0 0}}

/* An offset pair connects the primary retreat with its garden-facing bath. */
#primary-suite .retreat-grid{overflow:visible;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
#primary-suite .retreat-grid>.photo-button:first-child{grid-column:1/12;grid-row:1}
#primary-suite .retreat-grid>.retreat-bath{grid-column:6/13;grid-row:2;margin-top:-55px;border:10px solid white;position:relative;z-index:1}
#primary-suite .retreat-grid>.retreat-bath img{aspect-ratio:1.15;object-position:center}
@media(max-width:700px){#primary-suite .retreat-grid>.retreat-bath{margin-top:-35px;border-width:7px;grid-column:6/13}}

.description-actions{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:32px;align-items:center}
.description-actions button,.description-actions a{appearance:none;border:0;border-radius:0;background:none;color:var(--ink);padding:8px 0;font:inherit;font-size:14px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:#91998e;cursor:pointer;transition:color .2s,text-decoration-color .2s}
.description-actions button:hover,.description-actions a:hover{color:#62735d;text-decoration-color:currentColor}
@media(max-width:700px){.description-actions{gap:12px 25px}.description-actions button,.description-actions a{font-size:13px}}

/* Minimal film viewer: unobstructed frame and one quiet close control. */
#film-dialog{width:min(1320px,94vw);max-width:94vw;max-height:96dvh;padding:52px 0 0;background:transparent;overflow:hidden;outline:none}
#film-dialog::backdrop{background:rgba(4,8,6,.95);backdrop-filter:blur(12px)}
#film-dialog video{width:100%;max-height:calc(96dvh - 52px);height:auto;aspect-ratio:16/9;border-radius:3px;background:#000;box-shadow:0 20px 80px #0005}
.film-close{position:absolute;right:0;top:0;width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .2s}
.film-close:hover{background:rgba(255,255,255,.2)}
.film-close:focus-visible{outline:1px solid #fff;outline-offset:3px}
@media(max-width:700px){#film-dialog{width:96vw;max-width:96vw;padding-top:48px}#film-dialog video{max-height:calc(96dvh - 48px)}}

/* Coastal panorama paired with the texture of the estate landscape. */
#location .location-grid{overflow:visible;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
#location .location-grid>.photo-button{grid-column:3/13;grid-row:1}
#location .location-grid>.photo-button img{aspect-ratio:1.5}
#location .landscape-detail{grid-column:1/7;grid-row:2;margin-top:-55px;position:relative;z-index:1;border:10px solid white;overflow:hidden}
#location .landscape-detail img{aspect-ratio:1.1;object-fit:cover;object-position:center}
@media(max-width:700px){#location .landscape-detail{margin-top:-35px;border-width:7px}}

/* The welcome remains centered throughout the scroll-driven aperture. */
.hero-intro{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;color:#111;pointer-events:none;padding:0 20px}
.hero .hero-intro-title{font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-weight:300;font-size:clamp(19px,6.6vw,124px);letter-spacing:-.035em;line-height:1.2;white-space:nowrap;margin:0;opacity:0}
.hero-film-link{pointer-events:auto;border:0;background:none;border-radius:0;color:inherit;font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:400;padding:10px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;opacity:0;visibility:hidden;cursor:pointer}
@media(max-width:700px){.hero-intro{gap:22px;padding:0 10px}.hero-film-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero .hero-intro-title{opacity:1}.hero-intro{color:white}.hero-film-link{opacity:1;visibility:visible}}

/* Typography rides on the two white aperture panels. */
.panel-label{position:absolute;top:50%;transform:translateY(-50%);width:50%;padding:0 1.6vw;color:#111;font-family:'DM Sans',Arial,sans-serif;font-weight:300;letter-spacing:-.05em;line-height:1.1;font-size:clamp(18px,3.1vw,64px);opacity:0}
.panel-label-left{right:0;text-align:center}
.panel-label-right{left:0;display:flex;flex-direction:column;gap:17px;padding-left:2.4vw}
.panel-label-right span:last-child{align-self:flex-end;padding-right:1vw}
.hero-intro{gap:0;color:white}
.hero-film-link{font-size:15px;text-shadow:0 1px 12px rgba(0,0,0,.5)}
@media(max-width:700px){.panel-label{font-size:clamp(12px,3.2vw,22px);padding-left:1vw;padding-right:1vw;letter-spacing:-.04em}.panel-label-right{gap:12px;padding-left:1.8vw}.hero-film-link{font-size:13px}}

/* Reveal a small portion of the residence after the opening sequence. */
.hero-stage{--hero-peek:0svh;position:relative;background:#fff}
.hero-stage .hero.hero-split{position:sticky;top:0;height:calc(100svh - var(--hero-peek));min-height:0}
.facts-address{max-width:1200px;margin:0 auto 12px;font-size:18px;font-weight:400;letter-spacing:-.02em;line-height:1.5}
.facts-address span{font-size:14px;font-weight:300;color:#747a70;margin-left:18px;white-space:nowrap}
#residence{padding-top:24px}
@media(max-width:700px){.facts-address{font-size:16px}.facts-address span{display:block;margin-left:0;font-size:13px}.hero-stage .hero.hero-split{height:calc(100svh - var(--hero-peek))}}

.agent-brand{height:145px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:24px}
.agent-brand img{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:auto}
.agent-brand .peter-brand{width:210px;max-height:140px}
.agent-brand .elliman-brand{width:270px;max-height:85px}
@media(max-width:700px){.agent-brand{height:auto;min-height:90px;margin-top:15px;margin-bottom:25px}.agent-brand .peter-brand{width:180px}.agent-brand .elliman-brand{width:240px}}

.film-invitation h2{margin:0}
.film-heading-link{appearance:none;background:none;border:0;border-radius:0;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;padding:14px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;cursor:pointer}
.film-heading-link:hover{text-decoration-thickness:2px}

/* Compact inquiry and a quiet, aligned brand footer. */
.inquiry{grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:8%;align-items:start;max-width:1120px;margin:auto;padding-top:110px;padding-bottom:110px}
#inquiry-form{width:100%;gap:22px;align-content:start}
.form-field{display:grid;gap:6px}
#inquiry-form label{margin:0;font-size:13px}
#inquiry-form label span{font-size:10px}
#inquiry-form input{min-height:38px;height:38px;padding:6px 0;border:0;border-bottom:1px solid #b8beb8;border-radius:0;background:transparent}
#inquiry-form .form-note{margin:0;max-width:360px;font-size:11px}
#inquiry-form .solid-button{padding:8px 0;background:none;color:var(--ink);border:0;border-radius:0;text-decoration:underline;text-underline-offset:6px;font-size:14px}
#inquiry-status:empty{display:none}
.legal-footer{background:#fff;padding-top:45px;padding-bottom:35px}
.legal-footer .footer-top{align-items:center;padding-bottom:45px;border:0;gap:30px}
.footer-brands{display:flex;align-items:center;gap:55px}
.footer-brands img{object-fit:contain;height:auto}
.footer-brands .peter-brand{width:125px}
.footer-brands .elliman-brand{width:220px}
.legal-footer .footer-top>a{font-size:12px;color:#626a60}
.agent-grid{max-width:800px;gap:70px}
.agent-grid h3{font-size:19px;margin:0 0 10px}
.agent-grid p{font-size:13px;line-height:1.7;margin:0 0 12px}
.legal-copy{max-width:100%;font-size:11px;line-height:1.8;margin:35px 0 25px;color:#777}
.legal-footer .footer-bottom{font-size:10px;color:#777}
@media(max-width:700px){.inquiry{grid-template-columns:1fr;gap:35px;padding-top:70px;padding-bottom:70px}#inquiry-form{max-width:400px}.footer-brands{gap:28px}.footer-brands .peter-brand{width:90px}.footer-brands .elliman-brand{width:160px}.legal-footer .footer-top{align-items:start;flex-direction:column;gap:25px;padding-bottom:35px}.agent-grid{grid-template-columns:1fr;gap:25px}.legal-footer .footer-bottom{gap:12px;flex-wrap:wrap}}

.inquiry{grid-template-columns:minmax(0,1fr);justify-items:center;gap:36px;text-align:center}
.inquiry>div>p{margin:24px auto 0;max-width:390px}
#inquiry-form{max-width:400px;text-align:left}
#inquiry-form .solid-button{justify-self:center}
#inquiry-form .form-note{text-align:center;margin:0 auto}

/* Keep the entire inquiry band white, including its outer gutters. */
main:has(>.inquiry){background:#fff}
.inquiry{background:#fff}

#property-details,#gallery{background:var(--paper)}

/* Avoid isolated final words without altering the listing copy. */
h1,h2,h3,h4,h5,h6{ text-wrap:balance; }
p,dd,figcaption{ text-wrap:pretty; }

/* Agent and brokerage signatures beneath the inquiry. */
.inquiry-brands{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:14px}
.inquiry-brands img{height:auto;object-fit:contain}
.inquiry-brands .peter-brand{width:115px}
.inquiry-brands .elliman-brand{width:245px;padding-left:32px;border-left:1px solid #d0d1c7}
.legal-footer .footer-top{justify-content:flex-end}
@media(max-width:700px){.inquiry-brands{gap:22px}.inquiry-brands .peter-brand{width:90px}.inquiry-brands .elliman-brand{width:190px;padding-left:22px}}

.footer-directory{display:grid;grid-template-columns:minmax(0,650px) minmax(150px,1fr);gap:9%;align-items:start}
.footer-heading{font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;line-height:1.4;margin:0 0 24px}
.footer-listing .agent-grid{grid-template-columns:1fr 1fr;gap:28px;max-width:650px}
.footer-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px}
.footer-navigation .footer-heading{margin-bottom:12px}
.footer-navigation a{padding:0;line-height:1.6}
.footer-navigation a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.footer-directory{grid-template-columns:1fr;gap:35px}.footer-listing .agent-grid{grid-template-columns:1fr;gap:22px}.footer-navigation{display:flex}}

/* Observatory image bleeds to the dark panel edges. */
.feature-story#observatory{padding:0;gap:0;overflow:hidden}
#observatory .feature-copy{padding:45px;max-width:470px}
#observatory .feature-visual{align-self:stretch;min-height:460px}
#observatory .photo-button{display:block;width:100%;height:100%}
#observatory .feature-visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){#observatory .feature-visual{min-height:0}#observatory .feature-visual img{height:auto;aspect-ratio:1.15}#observatory .feature-copy{padding:32px 24px;max-width:none}}

.hero-film-link{font-size:clamp(18px,1.6vw,24px);font-weight:500;line-height:1.5;text-underline-offset:8px;text-shadow:0 1px 12px rgba(0,0,0,.65)}

#great-room .great-room-grid{overflow:visible;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
#great-room .great-room-grid>.photo-button:first-child{grid-column:1/12;grid-row:1}
#great-room .hallway-detail{grid-column:7/13;grid-row:2;margin-top:-45px;border:10px solid white;position:relative;z-index:1}
#great-room .hallway-detail img{aspect-ratio:4/5;object-position:center}
@media(max-width:700px){#great-room .hallway-detail{margin-top:-30px;border-width:7px}}

#pool .pool-grid{overflow:visible;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
#pool .pool-grid>.photo-button:first-child{grid-column:2/13;grid-row:1}
#pool .pool-detail{grid-column:1/8;grid-row:2;margin-top:-45px;border:10px solid white;position:relative;z-index:1}
#pool .pool-detail img{aspect-ratio:3/2;object-position:center}
@media(max-width:700px){#pool .pool-detail{margin-top:-30px;border-width:7px}}


/* ==========================================================================
   v2 (Oct 14, 2026) — contact path, performance, accessibility, reordered
   close. Appended so the original layers above stay readable.
   ========================================================================== */
picture{display:contents}
::selection{background:var(--ink);color:var(--paper)}

/* Hero: the address stays on the photograph when the opening is not animated. */
.hero-static-title{display:none;margin:0 0 18px;color:#fff;font-weight:300;font-size:clamp(34px,6vw,96px);letter-spacing:-.04em;line-height:1.05;text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero-static-title span{display:block;font-size:.42em;letter-spacing:-.01em;margin-top:.35em}
@media(prefers-reduced-motion:reduce){.hero-static-title{display:block}}
.no-motion .hero-static-title{display:block}

/* Detail strip: a quiet control to stop the drift. */
.drift-toggle{display:block;margin:18px 0 0 auto;border:0;background:none;padding:8px 0;font-size:13px;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:#91998e;cursor:pointer}
.drift-toggle[hidden]{display:none}
.drift-toggle:hover{text-decoration-color:currentColor}

/* Film: the closing scene before the particulars. */
.film-meta{margin-top:20px;font-size:14px;letter-spacing:.02em;color:rgba(255,255,255,.88);text-shadow:0 1px 10px rgba(0,0,0,.4)}
.film-backdrop{object-position:center 60%}

/* Gallery and particulars after the film. */
#gallery{background:#fff}
.gallery-heading>div>p{margin-top:16px;font-size:15px;color:#5f655d}

/* Contrast: labels, legal copy and form lines clear WCAG AA. */
.eyebrow{font-size:12px}
.detail-group dt{color:#585f55}
.legal-copy,.legal-footer .footer-bottom{color:#5f655d}
#inquiry-form label span{font-size:12px;color:#5f675e}
#inquiry-form input{border-bottom-color:#848c84}
.form-note,#inquiry-form .form-note{color:#5f675e}

/* Inquiry: direct lines, the buyer-or-agent choice, and a submit with weight. */
.direct-lines{list-style:none;padding:0;margin:26px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 36px;font-size:15px}
.direct-lines a{display:inline-block;padding:8px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:#91998e}
.direct-lines a:hover{text-decoration-color:currentColor}
.direct-lines span{color:#5f655d;margin-left:8px}
.form-role{border:0;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px}
.form-role legend{padding:0;margin-bottom:10px;font-size:13px}
.form-role label{display:inline-flex;align-items:center;gap:9px;min-height:32px;cursor:pointer}
#inquiry-form .form-role input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--ink)}
#inquiry-form .solid-button{background:var(--ink);color:#fff;padding:15px 34px;text-decoration:none;font-size:14px;letter-spacing:.01em;transition:background .2s}
#inquiry-form .solid-button:hover{background:#474a43}
#inquiry-status a{text-decoration:underline;text-underline-offset:4px}

/* Footer contacts are links now. */
.agent-grid a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:#b5bbb2}
.agent-grid a:hover{text-decoration-color:currentColor}

/* The close at night: after the dusk film, the page ends under the dome. */
.inquiry.night{max-width:none;margin:0;background:#161b18;color:#ecebe4;padding-left:max(5%,calc((100vw - 1120px)/2));padding-right:max(5%,calc((100vw - 1120px)/2))}
.inquiry.night>div>p{color:#c9ccc2}
.night .direct-lines{flex-direction:column;align-items:center;gap:14px;margin-top:34px}
.night .direct-lines a{color:#ecebe4;text-decoration-color:#8c9288}
.night .direct-lines span{color:#b9bdb2}
.night .direct-primary{background:#f3f1eb;color:#161b18!important;text-decoration:none!important;padding:16px 30px;font-size:16px;transition:background .2s}
.night .direct-primary:hover{background:#fff}
.night .direct-primary span{color:#4f554c!important}
.night .form-lead{margin-top:40px!important;font-size:14px!important;color:#b9bdb2!important}
.night #inquiry-form label,.night .form-role legend{color:#ecebe4}
.night #inquiry-form label span{color:#b9bdb2}
.night #inquiry-form input:not([type=radio]){color:#fff;border-bottom-color:#868b84}
.night #inquiry-form .form-role input{accent-color:#f3f1eb}
.night .form-note,.night #inquiry-form .form-note{color:#b9bdb2}
.night #inquiry-form .solid-button{background:transparent;color:#ecebe4;border:1px solid #868b84}
.night #inquiry-form .solid-button:hover{background:#262c28}
.night #inquiry-status{color:#ecebe4}
.night .inquiry-brands img{filter:brightness(0) invert(1);opacity:.9}
.night .inquiry-brands .elliman-brand{border-left-color:#3d443f}
.night a:focus-visible,.night button:focus-visible{outline-color:#c9d6b4}
.night #inquiry-form input:focus{outline-color:#c9d6b4}
/* The hero still sits inside <picture> in v2; keep it covering the stage. */
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* One button language: every text button is an underlined link (v2, Oct 14). Icon buttons keep their shapes. */
.outline-button,.solid-button,#inquiry-form .solid-button,.night #inquiry-form .solid-button,.night .direct-primary,.direct-lines a,.gallery-toolbar button,.jump-menu nav a.menu-inquiry{appearance:none;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;padding:8px 0!important;font:inherit;font-size:14px;color:inherit!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:7px!important;text-decoration-color:#91998e!important;cursor:pointer;transition:text-decoration-color .2s}
.outline-button:hover,.solid-button:hover,.direct-lines a:hover,.gallery-toolbar button:hover,.jump-menu nav a.menu-inquiry:hover{text-decoration-color:currentColor!important}
.jump-menu nav a.menu-inquiry{padding:14px 18px!important;text-align:left}
.night .direct-primary,.night .direct-lines a,.night #inquiry-form .solid-button,.gallery-toolbar button{text-decoration-color:#8c9288!important}
.night .direct-primary span{color:#b9bdb2!important}
.night .direct-lines a:hover,.night #inquiry-form .solid-button:hover,.gallery-toolbar button:hover{text-decoration-color:#fff!important}
.night .direct-primary{font-size:16px}
.direct-lines span{margin-left:0}
/* <source> tags inside display:contents pictures must not become layout items (they pushed the film heading off-centre). */
picture source{display:none}
/* Residence: address, facts, photo and description share one 1200px column with the same left edge. */
#residence .wide-photo{width:100%;max-width:1200px}
.estate-description{max-width:1200px}

/* Exterior sequence in the residence: six daylight frames, the next one peeking in on the right. */
.exterior-carousel{position:relative}
.exterior-window{overflow:hidden}
.exterior-track{display:flex;gap:16px;transition:transform .95s cubic-bezier(.22,1,.36,1);will-change:transform}
.exterior-slide{flex:0 0 86.6%;min-width:0}
.exterior-slide .photo-button{display:block}
#residence .exterior-slide img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:opacity .6s,transform .7s}
.exterior-slide:not(.is-current) img{opacity:.55}
.exterior-slide:not(.is-current) .photo-button{cursor:e-resize}
.exterior-slide:not(.is-current) .photo-button:hover img{opacity:.8}
.exterior-controls{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:14px;font-size:13px;color:#5f655d}
.exterior-count{margin-right:12px;font-variant-numeric:tabular-nums}
.exterior-arrow{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--ink);padding:0;cursor:pointer;transition:transform .2s}
.exterior-arrow[data-step="-1"]:hover{transform:translateX(-3px)}
.exterior-arrow[data-step="1"]:hover{transform:translateX(3px)}
@media(max-width:700px){.exterior-slide{flex-basis:88%}.exterior-track{gap:10px}}
@media(prefers-reduced-motion:reduce){.exterior-track,.exterior-slide img{transition:none}}
/* Honeypot field for bots; off-screen for people and assistive tech. */
.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#inquiry-form .solid-button:disabled{opacity:.6;cursor:progress}

/* ==========================================================================
   Vertical phones: a self-playing opening (js/main.js, "phone" branch).
   Big type on both doors, split at the seam; the doors carry it out to the
   sides; the hero stops short of the screen so the residence peeks below.
   ========================================================================== */
@media (max-width: 700px) and (orientation: portrait){
 .hero-stage{height:auto}
 .hero-stage .hero.hero-split{position:relative;height:88svh}
 .reveal-panel{overflow:hidden}
 .panel-label{width:100%;font-size:10.5vw;line-height:.98;letter-spacing:-.04em;padding:0 3vw}
 .panel-label-left{text-align:right}
 .panel-label-right{gap:0;padding-left:3vw}
 .panel-label-right span:last-child{align-self:flex-start;padding-right:0;margin-top:.12em;font-size:.62em;letter-spacing:-.02em}
 .hero-intro{justify-content:flex-end;padding-bottom:13svh}
 .hero-film-link{font-size:17px}
}

/* Sticky "Request a showing" (phones and tablets only). Quiet frosted pill, underlined like every other action. */
.sticky-cta{display:none}
@media (max-width: 1024px){
 .sticky-cta{display:block;position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;transform:translate(-50%,12px);
  padding:12px 22px;border-radius:999px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 6px 24px rgba(20,26,22,.14),inset 0 0 0 1px rgba(48,50,45,.08);color:var(--ink);font-size:14px;font-weight:400;white-space:nowrap;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:#91998e;
  opacity:0;visibility:hidden;transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s linear .35s}
 .sticky-cta.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s}
 .sticky-cta:focus-visible{outline:2px solid #859968;outline-offset:4px}
}
@media (prefers-reduced-motion: reduce){.sticky-cta{transition:none!important}}
