/* Naples Coastal Vacations: the existing editorial direction, refined.
   Image dimensions belong to their frame; no competing global ratios. */
:root{--ink:#202020;--muted:#626262;--paper:#fff;--soft:#f5f5f3;--line:#deded9;--accent:#805039;--serif:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;--sans:'DM Sans','DM Sans Fallback',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3,em{font-family:var(--serif)}em{font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b66e35;outline-offset:5px}[hidden]{display:none!important}::selection{background:#ead6c5;color:#202020}.container{width:calc(100% - 112px);max-width:1600px;margin-inline:auto}.section{padding-block:112px}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:2.8px;text-transform:uppercase}.section-head{text-align:center;max-width:700px;margin:0 auto 56px}.section-head .eyebrow{color:var(--accent);margin-bottom:18px}h2{font-size:clamp(44px,4.5vw,68px);line-height:1.05;letter-spacing:-1.7px}.section-head>p:last-of-type:not(.eyebrow){max-width:520px;margin:24px auto 0;color:var(--muted);line-height:1.8}.section-cta{text-align:center;margin-top:44px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:15px 24px;background:var(--ink);color:#fff;border:1px solid var(--ink);font:500 11px/1.6 var(--sans);letter-spacing:1.4px;text-transform:uppercase;transition:background .25s,color .25s}.button:hover{background:#3d3b38}.button span{font-size:19px;line-height:1}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{background:#eee}.button-outline{background:transparent;color:var(--ink);border-color:#888}.button-outline:hover{background:var(--ink);color:#fff}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;padding-block:12px;border-bottom:1px solid currentColor;min-height:44px}.text-link span{font-size:18px}.skip{position:fixed;z-index:999;left:20px;top:12px;padding:14px;background:white;transform:translateY(-160%)}.skip:focus{transform:none}
.nav{height:100px;padding:12px 48px;position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#fff;border-bottom:1px solid #ffffff2e}.brand{display:flex;align-items:center;width:122px;flex-shrink:0}.brand img{width:120px;height:72px;object-fit:contain;filter:brightness(0) invert(1)}.desktop-nav{display:flex;gap:30px;align-items:center}.desktop-nav a,.nav-cta{font-size:10px;text-transform:uppercase;letter-spacing:1.6px}.desktop-nav a{padding-block:16px}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-cta{border:1px solid #ffffffa6;padding:13px 18px;display:flex;gap:24px;align-items:center;min-height:46px}.nav-cta:hover{background:#ffffff17}.menu-toggle{display:none;border:0;background:none;width:48px;height:48px}.menu-toggle span{display:block;width:23px;height:1px;background:#fff;margin:7px auto}.mobile-menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;background:#202020;color:#fff;padding:100px 32px 40px}.mobile-menu[open]{display:flex;flex-direction:column;justify-content:center;gap:14px}.mobile-menu>a{font-family:var(--serif);font-size:36px;min-height:50px}.mobile-menu .menu-phone{font:14px var(--sans);margin-top:30px}.menu-close{position:absolute;right:22px;top:18px;font:36px var(--sans);width:50px;height:50px;color:#fff;border:0;background:none}
.hero{position:relative;isolation:isolate;min-height:680px;height:min(900px,92svh);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;background:#373b40;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(180deg,#0007 0%,#0002 36%,#0003 60%,#0008 100%)}.hero-content{padding:140px 24px 130px;position:relative}.hero-content .eyebrow{color:#fff;margin-bottom:20px}.hero h1{font-size:clamp(66px,7.6vw,116px);line-height:.97;letter-spacing:-2px}.hero h1 em{font-weight:400}.hero-copy{font-size:14px;line-height:1.8;letter-spacing:.4px;margin:26px 0 30px}.hero-bottom{position:absolute;left:48px;right:48px;bottom:42px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px;text-transform:uppercase}.motion-toggle{display:inline-flex;gap:13px;align-items:center;justify-content:center;background:#0004;color:#fff;border:1px solid #fff6;padding:9px 14px;font-size:10px;letter-spacing:1px;min-height:44px}.motion-toggle:hover{background:#0008}.ambient-video{opacity:0;transition:opacity .6s}.ambient-video.is-playing{opacity:1}.booking-wrap{position:relative;z-index:2;margin-top:-28px;max-width:1260px}.booking{display:grid;grid-template-columns:1.25fr 1fr 1fr .9fr auto;background:white;box-shadow:0 12px 44px #20202012;padding:12px}.booking>label,.booking-place{min-width:0;padding:8px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:4px}.field-label{font-size:9px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted)}.booking-place>span:last-child{font-size:13px}.booking input,.booking select{width:100%;border:0;background:transparent;padding:5px 0;color:var(--ink);font-size:13px;min-height:34px;min-width:0}.booking .button{margin-left:12px;gap:15px}.booking-note{font-size:10px;color:var(--muted);text-align:center;margin:16px 10px 0}
.homes{padding-top:96px}.homes-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:30px}.home-filters{display:flex;gap:32px}.home-filters button{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;border:0;border-bottom:2px solid transparent;background:none;padding:15px 0;color:var(--muted)}.home-filters button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--ink)}#home-count{font-size:11px;color:var(--muted);white-space:nowrap}.home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:start}.home-card{min-width:0}.home-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--soft)}.home-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s}.home-card:hover .home-image img{transform:scale(1.035)}.image-index{position:absolute;top:15px;left:15px;font-size:10px;color:#fff;letter-spacing:1px;background:#20202099;padding:4px 9px}.image-arrow{position:absolute;bottom:16px;right:16px;background:#fff;color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:19px}.home-meta{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin:22px 0 6px}.home-card h3{font-size:clamp(25px,2vw,32px);line-height:1.15}.home-details{font-size:10px;color:var(--muted);margin-top:11px}.home-details i{font-style:normal;margin:0 5px}.home-card .text-link{margin-top:11px;font-size:9px;gap:18px}
.day-intro{padding-block:102px;margin-bottom:0;max-width:800px}.coastal-day{background:var(--soft)}.day-arc{display:flex;align-items:center;justify-content:center;gap:20px;margin:34px auto 0;color:#956445}.day-arc span{font-size:9px;letter-spacing:1.8px;text-transform:uppercase}.day-arc i{width:60px;height:1px;background:#ad76545c}.day-arc svg{width:32px;height:32px}.day-scene{position:relative;isolation:isolate;min-height:650px;height:76svh;max-height:900px;color:white;background:#202020;overflow:hidden}.scene-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.morning .scene-media{object-position:center 61%}.afternoon .scene-media{object-position:center 50%}.sunset .scene-media{object-position:center 47%}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0006 38%,#0000 80%);z-index:-1}.scene-inner{height:100%;min-height:inherit;display:flex;align-items:center}.scene-copy{max-width:520px;padding:80px 0}.scene-copy .eyebrow{color:#f4d6bd;font-size:10px;margin-bottom:22px}.scene-copy h3{font-size:clamp(45px,4.5vw,72px);line-height:1.07;letter-spacing:-1px}.scene-copy>p:not(.eyebrow){max-width:370px;font-size:14px;line-height:1.8;color:#f1f1ed;margin-top:25px}.scene-copy .text-link{margin-top:23px}.afternoon .scene-inner{justify-content:flex-end}.afternoon .scene-shade{background:linear-gradient(270deg,#000b 0%,#0006 40%,#0000 85%)}.scene-credit{position:absolute;left:56px;bottom:26px;font-size:9px;letter-spacing:.5px;color:#eee}.scene-bottom{position:absolute;bottom:26px;left:56px;right:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:9px;letter-spacing:.3px;color:#eee}.sunset .scene-shade{background:linear-gradient(90deg,#15151caa 0%,#15151c40 40%,#15151c00 75%),linear-gradient(0deg,#15151c80,transparent 35%)}
.experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}.experience{position:relative;aspect-ratio:3/4;overflow:hidden;color:white;background:#444}.experience:nth-child(even){margin-top:48px}.experience>img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .7s}.experience:hover>img{transform:scale(1.04)}.experience::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000c 0%,transparent 75%)}.experience>div{position:absolute;z-index:1;bottom:24px;left:22px;right:22px}.experience h3{font-size:31px;line-height:1.15;margin-top:8px;padding-right:16px}.experience>div>span:first-child{font-size:8px;letter-spacing:1.4px;text-transform:uppercase}.experience-arrow{position:absolute;right:0;bottom:4px;font-size:23px}.destinations{background:var(--soft)}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px}.destination-image{aspect-ratio:3/2;overflow:hidden}.destination-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.destination-grid a:hover img{transform:scale(1.035)}.destination-grid h3{font-size:30px;display:flex;justify-content:space-between;align-items:center;margin-top:17px}.destination-grid h3 span{font:19px var(--sans)}.destination-grid p{font-size:11px;color:var(--muted);margin-top:4px}.enquire{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}.enquire-image{aspect-ratio:1/1;overflow:hidden}.enquire-image img{width:100%;height:100%;object-fit:cover}.enquire-copy .eyebrow{color:var(--accent);margin-bottom:24px}.enquire-copy h2{font-size:clamp(58px,6vw,92px)}.enquire-copy>p:not(.eyebrow){font-size:14px;max-width:390px;line-height:1.9;color:var(--muted);margin-top:26px}.enquire-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:30px 0}.contact-phone{font:30px var(--serif);display:block;width:fit-content;min-height:44px}.contact-email{font-size:12px;display:block;width:fit-content;padding:8px 0;color:var(--muted)}
footer{background:#202020;color:#fff}.footer-main{padding-block:66px;display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.1fr;gap:40px}.footer-brand img{width:140px;height:84px;object-fit:contain;filter:brightness(0) invert(1)}.footer-brand p{color:#c1c1bc;font-size:12px;line-height:1.8;margin-top:20px}.footer-main h2{font:500 10px var(--sans);letter-spacing:1.8px;text-transform:uppercase;margin:18px 0 20px;color:#dbb899}.footer-main>div>a:not(:has(img)){display:block;width:fit-content;font-size:12px;padding:7px 0;color:#e0e0dc}.footer-main a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{padding-block:22px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;font-size:10px;color:#bbb;gap:20px}
@media(min-width:1800px){.home-image{aspect-ratio:4/5}.hero{height:880px}.scene-inner{max-width:1480px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.desktop-nav{gap:18px}.nav{padding-inline:32px;gap:18px}.desktop-nav a{font-size:9px;letter-spacing:1px}.nav-cta{font-size:9px;gap:12px}.booking{grid-template-columns:1fr 1fr 1fr auto}.booking-place{display:none}.booking>label{padding:8px 16px}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 26px}.home-image{aspect-ratio:4/3}.home-card h3{font-size:32px}.home-details{font-size:12px}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.experience{aspect-ratio:4/5}.experience:nth-child(even){margin-top:0}.enquire{gap:48px}.scene-credit,.scene-bottom{left:32px}.scene-bottom{right:32px}.footer-main{gap:24px;grid-template-columns:1fr 1fr}.homes-toolbar{align-items:flex-start;gap:12px}.home-filters{gap:24px}#home-count{padding-top:18px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.section{padding-block:72px}.section-head{margin-bottom:34px}.section-head>p:last-of-type:not(.eyebrow){font-size:13px}.nav{height:86px;padding:8px 20px;gap:15px}.brand{width:96px}.brand img{width:96px;height:64px}.desktop-nav{display:none}.nav-cta{margin-left:auto;padding:11px 14px;font-size:8px;letter-spacing:1px;gap:12px}.menu-toggle{display:block;flex-shrink:0;width:40px}.hero{min-height:650px;height:88svh;max-height:820px}.hero h1{font-size:clamp(62px,12vw,90px);letter-spacing:-1px}.hero-content{padding:120px 20px 110px}.hero-content .eyebrow{font-size:8px;letter-spacing:1.8px}.hero-bottom{left:20px;right:20px;bottom:42px;font-size:7px;letter-spacing:1px}.hero-copy{font-size:13px}.booking-wrap{margin-top:-25px}.booking{grid-template-columns:1fr 1fr;padding:14px}.booking>label{padding:8px 12px;border:0}.booking>label:nth-of-type(1){border-right:1px solid var(--line)}.booking>label:nth-of-type(3){border-top:1px solid var(--line);padding-top:12px}.booking .button{font-size:8px;margin:10px 0 0;gap:9px;padding:12px 10px;align-self:stretch;min-height:60px}.booking input,.booking select{font-size:16px;min-height:42px}.booking-note{font-size:9px;line-height:1.6}.homes-toolbar{display:block}.home-filters{gap:0;justify-content:space-between}.home-filters button{font-size:8px;letter-spacing:.5px;min-height:48px}.homes-toolbar #home-count{display:block;padding:10px 0;font-size:10px}.home-grid{gap:32px 20px}.home-meta{font-size:8px;margin-top:17px}.home-card h3{font-size:28px}.home-details{font-size:10px}.image-arrow{width:32px;height:32px}.day-intro{padding-block:72px}.day-arc{gap:12px}.day-arc span{font-size:7px;letter-spacing:1px}.day-arc i{width:30px}.day-scene{min-height:610px;height:78svh;max-height:800px}.scene-inner{align-items:flex-end}.scene-copy{max-width:490px;padding:140px 0 94px}.scene-copy h3{font-size:48px}.scene-copy .eyebrow{font-size:9px}.scene-copy>p:not(.eyebrow){font-size:13px;max-width:340px;margin-top:20px}.scene-shade,.afternoon .scene-shade{background:linear-gradient(0deg,#000c 0%,#0008 40%,#0001 100%)}.sunset .scene-shade{background:linear-gradient(0deg,#13131bc9 0%,#13131b75 42%,#13131b05 100%)}.sunset .scene-media{object-position:64% center}.scene-credit{left:20px;bottom:21px;font-size:8px}.scene-bottom{left:20px;right:20px;bottom:18px;font-size:8px;gap:16px}.scene-bottom>span{max-width:175px}.motion-toggle{padding:9px 10px;font-size:9px;white-space:nowrap}.scene-copy .text-link{font-size:9px}.experience-grid{gap:18px}.experience{aspect-ratio:3/4}.experience>div{left:16px;right:16px;bottom:18px}.experience h3{font-size:28px}.experience>div>span:first-child{font-size:7px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.destination-grid h3{font-size:26px}.destination-grid p{font-size:10px}.enquire{grid-template-columns:1fr;gap:38px}.enquire-image{aspect-ratio:4/3}.enquire-copy h2{font-size:66px}.enquire-actions{gap:22px}.footer-main{padding-block:48px;gap:32px 20px}.footer-main h2{font-size:9px}.footer-main>div>a:not(:has(img)){font-size:11px;min-height:40px;display:flex;align-items:center}.footer-brand img{width:110px;height:66px}.footer-bottom{font-size:9px;flex-wrap:wrap}}
@media(max-width:600px){.home-grid{grid-template-columns:1fr}.home-image{aspect-ratio:4/3}.home-card h3{font-size:34px}.home-details{font-size:12px}.home-card .text-link{font-size:9px}.experience-grid{grid-template-columns:1fr 1fr}.experience{aspect-ratio:3/5}.experience h3{font-size:26px}.experience-arrow{display:none}.destination-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.destination-grid h3{font-size:23px;gap:7px;line-height:1.15}.destination-grid h3 span{font-size:14px}.destination-grid p{margin-top:8px}.destination-image{aspect-ratio:1}.scene-copy h3{font-size:clamp(40px,10.7vw,58px)}.hero-bottom>span{max-width:110px;text-align:left}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.footer-brand p{margin:0}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{padding-block:24px}}
/* Guest composition follows the client's live booking form. */
.booking-guests{position:relative;min-width:0;border-right:1px solid var(--line)}
.booking-guests summary{height:100%;min-height:62px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 24px;cursor:pointer;list-style:none}
.booking-guests summary::-webkit-details-marker{display:none}
.booking-guests summary:focus-visible{outline:3px solid #b66e35;outline-offset:3px}
.guest-value{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;min-height:34px;font-size:13px}
.guest-panel{position:absolute;top:calc(100% + 14px);right:0;width:300px;padding:24px;background:white;box-shadow:0 12px 36px #20202024;border:1px solid var(--line);z-index:5}
.guest-panel-title{font-family:var(--serif);font-size:28px;line-height:1.2;margin-bottom:20px}
.guest-panel label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.guest-panel small{display:block;font-size:11px;color:var(--muted)}
.guest-panel select{width:72px;min-height:44px;padding:8px;border:1px solid var(--line);font-size:16px}
.guest-limit{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0}
.guest-done{width:100%;min-height:44px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
@media(max-width:1100px){.booking-guests summary{padding-inline:16px}}
@media(max-width:760px){.booking-guests{border-right:0;border-top:1px solid var(--line);margin-top:0}.booking-guests summary{padding:12px 12px 8px}.guest-value{font-size:16px;min-height:42px}.guest-panel{left:-14px;right:auto;width:min(300px,calc(100vw - 40px));top:calc(100% + 14px)}}
/* Magazine-like property spreads replace the former services cards. */
.house-stories{background:#fff}
.house-stories-rail{display:contents}
.house-stories-intro{padding-block:94px 82px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}
.house-stories-intro .eyebrow{color:var(--accent);margin-bottom:20px}
.house-stories-intro h2{font-size:clamp(64px,6.5vw,104px);line-height:.97}
.house-stories-intro>p{max-width:335px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:6px}
.property-spread{position:relative;isolation:isolate;overflow:hidden;background:#252823;color:#fff;height:95svh;min-height:660px;max-height:1100px;scroll-margin-top:0}
.spread-images,.spread-shade{position:absolute;inset:0;z-index:-2}
.spread-strip{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));opacity:0;transition:opacity .65s ease;pointer-events:none}
.spread-strip.is-current{opacity:1}
.spread-strip img{width:100%;height:100%;object-fit:cover;border-right:1px solid #ffffff24}
.spread-shade{z-index:-1;background:linear-gradient(180deg,#121a2055 0%,transparent 27%,#121a2022 45%,#101719d9 100%)}
.spread-top{position:absolute;top:34px;left:0;right:0;display:flex;justify-content:space-between;gap:30px;font-size:9px;text-transform:uppercase;letter-spacing:2px}
.spread-layout{height:100%;display:flex;align-items:flex-end;padding-bottom:150px}
.spread-copy{max-width:760px}
.spread-copy .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:19px}
.spread-copy h3{font-size:clamp(62px,6.8vw,112px);line-height:1.02;letter-spacing:-2.8px;text-wrap:balance}
.spread-facts{font-size:12px;letter-spacing:.4px;margin-top:23px}
.spread-facts span{padding-inline:12px;color:#ddd}
.spread-copy .text-link{font-size:10px;margin-top:20px;border-color:#ffffffa6}
.property-spread:nth-of-type(even) .spread-layout{justify-content:flex-end}
.property-spread:nth-of-type(even) .spread-copy{text-align:right}
.spread-bottom{position:absolute;left:0;right:0;bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.spread-bottom>p{font-size:9px;letter-spacing:.5px;color:#e6e8e7}.spread-bottom>p>span{padding-inline:10px}
.spread-views{display:flex;gap:22px}
.spread-views button{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 0;background:none;border:0;border-bottom:1px solid #ffffff55;color:#ddd;font-size:10px;letter-spacing:1px;text-transform:uppercase;transition:border-color .2s,color .2s}
.spread-views button[aria-pressed="true"]{color:white;border-bottom:2px solid white}
.spread-views button:hover{color:#fff;border-color:#fff}
.property-spread--mimosa .spread-strip img{object-position:57% 58%}
.property-spread--coastal .spread-strip img{object-position:46% 55%}
.property-spread--calming .spread-strip img{object-position:51% 56%}
.property-spread--paradise .spread-strip img{object-position:center 55%}
@media(max-width:760px){
  .house-stories-intro{padding-block:64px 52px;display:block}.house-stories-intro h2{font-size:64px}
  .house-stories-intro>p{font-size:13px;margin-top:24px;max-width:310px}
  .property-spread{height:92svh;min-height:720px;max-height:950px}
  .spread-top{top:24px;font-size:8px;letter-spacing:1.2px}
  .spread-layout{padding-bottom:167px}
  .spread-copy{max-width:100%}.spread-copy h3{font-size:clamp(50px,12.8vw,82px);letter-spacing:-1.8px}
  .spread-copy .eyebrow{font-size:8px;margin-bottom:15px;letter-spacing:1.4px}
  .spread-facts{font-size:11px;margin-top:20px}.spread-facts span{padding-inline:7px}
  .spread-copy .text-link{font-size:8px;letter-spacing:1px;margin-top:15px}
  .property-spread:nth-of-type(even) .spread-copy{text-align:left}
  .spread-bottom{bottom:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .spread-bottom>p{font-size:8px}.spread-bottom>p>span{padding-inline:6px}
  .spread-views{gap:26px}.spread-views button{font-size:9px;gap:12px}
  .spread-shade{background:linear-gradient(180deg,#121a2044,transparent 25%,#121a2044 43%,#101719ef 100%)}
  .spread-strip{grid-template-columns:1fr}.spread-strip img{display:none}.spread-strip img:first-child{display:block}
  .property-spread--mimosa .spread-strip img{object-position:60% center}
  .property-spread--coastal .spread-strip img{object-position:43% center}
  .property-spread--calming .spread-strip img{object-position:45% center}
}

/* Client direction: homepage surfaces are true white, never cream or tan. */
.magazine-home,
.magazine-home main,
.magazine-home .issue-opener,
.magazine-home .homes,
.magazine-home .coastal-day,
.magazine-home .light-showcase,
.magazine-home .light-showcase:nth-of-type(2),
.magazine-home .house-stories,
.magazine-home .destinations,
.magazine-home .enquire{background:#fff}

/* The sunrise/sunset introduction uses the client's real coastal hero frame. */
.magazine-home .coastal-day{background:#172126 url('assets/hero-poster.webp') center 58%/cover no-repeat}
.magazine-home .day-intro{max-width:none;width:100%;padding-inline:max(56px,calc((100% - 820px)/2));color:#fff;background:linear-gradient(90deg,#101a20b8,#101a2073)}
.magazine-home .day-intro .eyebrow{color:#f0d1b7}
.magazine-home .day-intro>p:last-of-type:not(.eyebrow){color:#f1f1ed}
.magazine-home .light-jumps a{border-color:#ffffff96;color:#fff}
.magazine-home .light-jumps a:hover{border-color:#fff}
@media(max-width:760px){
  .magazine-home .coastal-day{background-position:58% center}
  .magazine-home .day-intro{padding-inline:20px}
}
/* Dedicated sunrise and sunset chapters: generous imagery, distinct titles,
   and opposing text placement so each landscape remains the main subject. */
.light-jumps{display:flex;align-items:center;justify-content:center;gap:44px;margin-top:30px}
.light-jumps a{display:flex;align-items:center;gap:20px;min-height:48px;border-bottom:1px solid #aaa;font-size:10px;text-transform:uppercase;letter-spacing:1.6px}
.light-jumps a:hover{border-color:var(--ink)}
.light-showcase{background:#fff}
.light-showcase:nth-of-type(2){background:var(--soft)}
.showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-block:62px 52px}
.showcase-heading .eyebrow{color:var(--accent);font-size:10px;margin-bottom:12px}
.showcase-heading h2{font-size:clamp(84px,9vw,138px);line-height:.88;letter-spacing:-4px}
.showcase-heading>p{color:var(--muted);line-height:1.9;padding-bottom:4px;font-size:14px;max-width:340px}
.mobile-light-intro{display:none}
.light-showcase .day-scene{height:80svh;min-height:700px}
.sunrise-scene .scene-inner{justify-content:flex-end}
.sunrise-scene .scene-media{object-position:center center}
.sunrise-scene .scene-shade{background:linear-gradient(270deg,#10283bb3 0%,#10283b55 37%,transparent 73%),linear-gradient(0deg,#10283b66,transparent 30%)}
.sunrise-scene .scene-copy .eyebrow{color:#fff2db}
.light-showcase .scene-copy{max-width:575px}
.light-showcase .scene-copy h3{font-size:clamp(44px,4vw,66px);text-wrap:balance}
@media(max-width:760px){
  .light-jumps{gap:30px;margin-top:22px}.light-jumps a{font-size:9px;gap:15px}
  .showcase-heading{padding-block:44px 34px;gap:22px;align-items:flex-start;flex-direction:column}
  .showcase-heading h2{font-size:86px;letter-spacing:-3px}
  .showcase-heading>p{font-size:12px;line-height:1.7}
  .light-showcase .day-scene{height:86svh;min-height:660px;max-height:850px}
  .sunrise-scene .scene-media{object-position:30% center}
  .sunrise-scene .scene-shade{background:linear-gradient(0deg,#10232bdd 0%,#10232b77 42%,transparent 85%)}
  .light-showcase .scene-copy h3{font-size:clamp(38px,10vw,56px)}
}
/* Preserve the colors and details of the client's supplied logo. */
.brand img,.footer-brand img{filter:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.ambient-video{display:none}.motion-toggle{display:none}}

/* Luxury coastal magazine pass: asymmetry, folio details, layered photography,
   and restrained movement using only verified Naples Coastal imagery. */
.skip{visibility:hidden;opacity:0}.skip:focus{visibility:visible;opacity:1}
.magazine-home{background:#fbfaf7}
.magazine-home::before{content:'';position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E")}
.magazine-home .hero{justify-content:flex-start;text-align:left;height:min(970px,96svh)}
.magazine-home .hero-content{width:calc(100% - 224px);max-width:1400px;margin-inline:auto;padding-left:4vw}
.magazine-home .hero-content h1{font-size:clamp(82px,8.7vw,142px);line-height:.87;letter-spacing:-4px;max-width:940px;text-wrap:balance}
.magazine-home .hero-copy{margin-left:7px}
.hero-folio{position:absolute;z-index:1;right:45px;top:150px;bottom:120px;display:flex;flex-direction:column;align-items:center;gap:18px;font:500 8px var(--sans);letter-spacing:2px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero-folio i{display:block;flex:1;width:1px;background:#ffffff6e}
.magazine-home .hero-shade{background:linear-gradient(90deg,#0b161ac4 0%,#0b161a70 36%,transparent 69%),linear-gradient(180deg,#0007 0%,transparent 35%,#0007 100%)}
.magazine-home .booking-wrap{max-width:1380px;margin-top:-40px}
.magazine-home .booking{padding:16px 14px;border-top:3px solid var(--accent);box-shadow:0 24px 70px #55432c1a}
.magazine-home .booking-note{letter-spacing:.25px}

.issue-opener{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;gap:30px;min-height:970px;padding-block:150px 180px;isolation:isolate}
.issue-copy{grid-column:1/6;grid-row:1;align-self:center;z-index:2;padding:80px 0 0 4vw}
.issue-number{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);padding-top:13px;margin-bottom:78px;max-width:370px;font-size:9px;letter-spacing:2px;text-transform:uppercase}
.issue-copy .eyebrow{color:var(--accent);margin-bottom:22px}
.issue-copy h2{font-size:clamp(62px,5.6vw,96px);line-height:.94;letter-spacing:-3px;max-width:660px}
.issue-copy>p:not(.eyebrow):not(.issue-number){max-width:390px;margin-top:30px;color:var(--muted);font-size:14px;line-height:1.9}
.issue-copy .text-link{margin-top:28px}
.issue-photo{position:relative;margin:0;z-index:1}
.issue-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.issue-photo:hover img{transform:scale(1.025)}
.issue-photo figcaption{display:flex;justify-content:space-between;gap:18px;margin-top:14px;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}
.issue-photo--tall{grid-column:7/11;grid-row:1;height:650px}
.issue-photo--wide{grid-column:5/10;grid-row:2;height:340px;margin-top:-72px}
.issue-word{position:absolute;left:-.04em;bottom:22px;z-index:-1;font:400 clamp(160px,22vw,350px)/.64 var(--serif);letter-spacing:-.075em;color:#ece7de;white-space:nowrap}

.magazine-home .homes{padding-top:128px;padding-bottom:165px}
.magazine-home .homes .section-head{text-align:left;margin-left:0;max-width:850px}
.magazine-home .homes .section-head>p:last-of-type:not(.eyebrow){margin-left:0}
.magazine-home .homes .section-head h2{font-size:clamp(68px,6.3vw,104px);line-height:.95;letter-spacing:-3px}
.magazine-home .homes-toolbar{margin-bottom:62px}
.magazine-home .home-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:110px 30px;align-items:start}
.magazine-home .home-card:nth-child(1){grid-column:1/8}
.magazine-home .home-card:nth-child(2){grid-column:9/13;margin-top:150px}
.magazine-home .home-card:nth-child(3){grid-column:2/6}
.magazine-home .home-card:nth-child(4){grid-column:7/13;margin-top:110px;justify-self:end}
.magazine-home .home-card:nth-child(1),.magazine-home .home-card:nth-child(4){width:100%;max-width:720px}
.magazine-home .home-grid.is-filtered{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 28px}
.magazine-home .home-grid.is-filtered .home-card{grid-column:auto;margin-top:0}
.magazine-home .home-image{aspect-ratio:4/3}
.magazine-home .home-card:nth-child(even) .home-image{aspect-ratio:3/4}
.magazine-home .home-image-secondary{opacity:0;transform:scale(1.035)}
.magazine-home .home-card:hover .home-image-primary{opacity:0;transform:scale(1.02)}
.magazine-home .home-card:hover .home-image-secondary{opacity:1;transform:scale(1)}
.magazine-home .home-image img{transition:opacity .7s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.magazine-home .home-card h3{font-size:clamp(40px,4vw,68px);letter-spacing:-1.6px}
.magazine-home .home-card:nth-child(2) h3,.magazine-home .home-card:nth-child(3) h3{font-size:clamp(36px,3vw,52px)}
.magazine-home .image-index{background:transparent;padding:0;text-shadow:0 1px 16px #000;font-size:9px;letter-spacing:2px}
.magazine-home .image-arrow{transition:transform .35s ease,background .35s ease}
.magazine-home .home-card:hover .image-arrow{transform:rotate(45deg);background:#eee7dd}

.magazine-home .coastal-day{background:#eee9e1}
.magazine-home .day-intro{max-width:980px;padding-block:150px 128px}
.magazine-home .day-intro h2{font-size:clamp(66px,6vw,102px);letter-spacing:-3px}
.magazine-home .showcase-heading{padding-block:85px 66px}
.magazine-home .light-showcase:nth-of-type(2){background:#eee9e1}
.magazine-home .day-scene::after{content:'';position:absolute;inset:22px;border:1px solid #ffffff66;pointer-events:none;z-index:1}
.magazine-home .scene-copy{position:relative;z-index:2}
.magazine-home .scene-bottom{z-index:4}
.magazine-home .scene-copy h3{font-size:clamp(54px,5vw,82px)}

.magazine-home .house-stories-intro{padding-block:150px 110px}
.magazine-home .house-stories-intro h2{font-size:clamp(76px,7vw,118px)}
.magazine-home .property-spread{height:88svh;min-height:720px;max-height:980px}
.magazine-home .spread-copy{padding-left:4vw}
.magazine-home .property-spread:nth-of-type(even) .spread-copy{padding-left:0;padding-right:4vw}

.magazine-home .destinations{background:#ede7de;padding-block:150px}
.magazine-home .destinations .section-head{text-align:left;margin-left:0;max-width:820px}
.magazine-home .destinations .section-head>p:last-of-type:not(.eyebrow){margin-left:0}
.magazine-home .destinations .section-head h2{font-size:clamp(68px,6vw,100px)}
.magazine-home .destination-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 30px;align-items:start}
.magazine-home .destination-grid>a:nth-child(1){grid-column:1/8}
.magazine-home .destination-grid>a:nth-child(2){grid-column:9/13;margin-top:120px}
.magazine-home .destination-grid>a:nth-child(3){grid-column:2/6}
.magazine-home .destination-grid>a:nth-child(4){grid-column:7/13;margin-top:70px}
.magazine-home .destination-grid>a:nth-child(5){grid-column:1/7}
.magazine-home .destination-grid>a:nth-child(6){grid-column:8/13;margin-top:120px}
.magazine-home .destination-grid>a:nth-child(odd) .destination-image{aspect-ratio:4/3}
.magazine-home .destination-grid>a:nth-child(even) .destination-image{aspect-ratio:3/4}
.magazine-home .destination-grid h3{font-size:clamp(32px,3vw,52px);font-family:var(--serif);letter-spacing:-1px}

.magazine-home .enquire{position:relative;background:#1f2b2d;color:#fff;padding-block:145px;box-shadow:0 0 0 100vmax #1f2b2d;clip-path:inset(0 -100vmax)}
.magazine-home .enquire-image{position:relative;aspect-ratio:4/5;overflow:visible}
.magazine-home .enquire-image::before{content:'The next chapter';position:absolute;left:-44px;top:46px;z-index:2;font-size:8px;letter-spacing:2px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);color:#c6cfc9}
.magazine-home .enquire-image img{box-shadow:24px 24px 0 #334143}
.magazine-home .enquire-copy .eyebrow{color:#d9aa85}
.magazine-home .enquire-copy>p:not(.eyebrow){color:#c6ceca}
.magazine-home .enquire-copy h2{font-size:clamp(74px,7vw,112px);line-height:.9}
.magazine-home .enquire .button{background:#f4eee6;color:#1f2b2d;border-color:#f4eee6}
.magazine-home .enquire .text-link,.magazine-home .contact-email{color:#e9e4dc}

.js [data-reveal]{opacity:0;transform:translateY(45px);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .magazine-home .hero-content{width:calc(100% - 128px);padding-left:0}
  .issue-opener{min-height:820px;padding-block:110px 130px}.issue-copy{grid-column:1/7;padding-left:0}.issue-photo--tall{grid-column:8/13;height:540px}.issue-photo--wide{grid-column:5/11;height:300px}.issue-number{margin-bottom:52px}
  .magazine-home .home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:75px 30px}.magazine-home .home-card:nth-child(n){grid-column:auto;margin-top:0}.magazine-home .home-card:nth-child(even){margin-top:90px}
  .magazine-home .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 30px}.magazine-home .destination-grid>a:nth-child(n){grid-column:auto;margin-top:0}.magazine-home .destination-grid>a:nth-child(even){margin-top:80px}
}
@media(max-width:760px){
  .magazine-home .hero{justify-content:center;text-align:center}.magazine-home .hero-content{width:100%;padding:120px 20px 110px}.magazine-home .hero-content h1{font-size:clamp(64px,19vw,92px);letter-spacing:-2px}.hero-folio{display:none}
  .magazine-home .booking-wrap{margin-top:-22px}.magazine-home .booking{border-top-width:2px;padding:14px}
  .issue-opener{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-height:0;padding-block:90px 120px}.issue-copy{grid-column:1/-1;grid-row:auto;padding:0}.issue-number{margin-bottom:48px;max-width:none}.issue-copy h2{font-size:clamp(54px,15vw,74px)}.issue-photo--tall{grid-column:1;grid-row:auto;height:330px;margin-top:48px}.issue-photo--wide{grid-column:2;grid-row:auto;height:250px;margin:108px 0 0}.issue-photo figcaption{display:block;line-height:1.6}.issue-photo figcaption span{display:block}.issue-word{font-size:37vw;bottom:28px}
  .magazine-home .homes{padding-top:86px;padding-bottom:105px}.magazine-home .homes .section-head h2{font-size:58px}.magazine-home .homes-toolbar{margin-bottom:40px}.magazine-home .home-grid,.magazine-home .home-grid.is-filtered{grid-template-columns:1fr;gap:62px}.magazine-home .home-card:nth-child(n){margin-top:0}.magazine-home .home-card:nth-child(even) .home-image,.magazine-home .home-image{aspect-ratio:4/3}.magazine-home .home-card h3,.magazine-home .home-card:nth-child(2) h3,.magazine-home .home-card:nth-child(3) h3{font-size:42px}
  .magazine-home .day-intro{padding-block:90px 74px}.magazine-home .day-intro h2{font-size:54px}.magazine-home .showcase-heading{padding-block:54px 42px}.magazine-home .day-scene::after{inset:12px}
  .magazine-home .house-stories-intro{padding-block:90px 66px}.magazine-home .house-stories-intro h2{font-size:64px}.magazine-home .property-spread{height:90svh;min-height:720px}.magazine-home .spread-copy,.magazine-home .property-spread:nth-of-type(even) .spread-copy{padding-inline:0}
  .magazine-home .destinations{padding-block:90px}.magazine-home .destinations .section-head h2{font-size:56px}.magazine-home .destination-grid{grid-template-columns:1fr 1fr;gap:55px 16px}.magazine-home .destination-grid>a:nth-child(n){margin-top:0}.magazine-home .destination-grid>a:nth-child(even){margin-top:65px}.magazine-home .destination-grid h3{font-size:26px}.magazine-home .destination-grid p{font-size:9px}
  .magazine-home .enquire{padding-block:90px;gap:65px}.magazine-home .enquire-image{aspect-ratio:4/3;margin-left:16px}.magazine-home .enquire-image::before{left:-27px;top:28px}.magazine-home .enquire-image img{box-shadow:12px 12px 0 #334143}.magazine-home .enquire-copy h2{font-size:68px}
}
@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none}}

/* Human editorial correction: luxury through restraint, not effects. */
.magazine-home::before,.hero-folio,.issue-word{display:none}
.magazine-home .hero{height:min(900px,92svh)}
.magazine-home .hero-content{width:calc(100% - 112px);max-width:1320px;padding-left:0}
.magazine-home .hero-content h1{font-size:clamp(76px,7.5vw,116px);line-height:.94;letter-spacing:-2px;max-width:820px}
.magazine-home .hero-shade{background:linear-gradient(90deg,#0b161aa8 0%,#0b161a55 38%,transparent 72%),linear-gradient(180deg,#0006 0%,transparent 38%,#0007 100%)}
.magazine-home .booking{padding:12px;border-top:1px solid var(--line);box-shadow:0 14px 42px #55432c12}

.issue-opener{display:grid;grid-template-columns:1.15fr .72fr .72fr;grid-template-rows:auto;gap:24px;min-height:0;padding-block:120px;align-items:end}
.issue-copy{grid-column:1;grid-row:1;align-self:center;padding:0 7vw 24px 0}
.issue-number{justify-content:flex-start;gap:14px;max-width:none;margin-bottom:34px;border:0;padding:0;color:var(--muted)}
.issue-copy h2{font-size:clamp(54px,4.8vw,76px);line-height:1;letter-spacing:-1.8px}
.issue-copy>p:not(.eyebrow):not(.issue-number){margin-top:24px;line-height:1.8}
.issue-photo--tall,.issue-photo--wide{grid-row:1;height:auto;margin:0}
.issue-photo--tall{grid-column:2}.issue-photo--wide{grid-column:3}
.issue-photo img{aspect-ratio:3/4;object-fit:cover}
.issue-photo figcaption{font-size:8px;letter-spacing:1px}

.magazine-home .homes{padding-block:110px 130px}
.magazine-home .homes .section-head{max-width:720px}
.magazine-home .homes .section-head h2{font-size:clamp(60px,5.4vw,82px);line-height:1}
.magazine-home .homes-toolbar{margin-bottom:44px}
.magazine-home .home-grid,.magazine-home .home-grid.is-filtered{grid-template-columns:repeat(2,minmax(0,1fr));gap:68px 34px}
.magazine-home .home-card:nth-child(n){grid-column:auto;margin-top:0;justify-self:stretch;width:auto;max-width:none}
.magazine-home .home-card:nth-child(even) .home-image,.magazine-home .home-image{aspect-ratio:4/3}
.magazine-home .home-image-secondary{display:none}
.magazine-home .home-card:hover .home-image-primary{opacity:1;transform:scale(1.02)}
.magazine-home .home-card h3,.magazine-home .home-card:nth-child(2) h3,.magazine-home .home-card:nth-child(3) h3{font-size:clamp(36px,3.4vw,50px);letter-spacing:-1px}
.magazine-home .home-card:hover .image-arrow{transform:none;background:#fff}

.magazine-home .day-intro{max-width:820px;padding-block:110px 94px}
.magazine-home .day-intro h2{font-size:clamp(58px,5.3vw,80px);letter-spacing:-1.8px}
.magazine-home .showcase-heading{padding-block:64px 50px}
.magazine-home .showcase-heading h2{font-size:clamp(74px,7.5vw,108px);letter-spacing:-2px}
.magazine-home .scene-copy h3{font-size:clamp(48px,4.4vw,68px)}
.magazine-home .day-scene::after{display:none}
.magazine-home .house-stories-intro{padding-block:110px 82px}
.magazine-home .house-stories-intro h2{font-size:clamp(68px,6.2vw,96px)}
.magazine-home .property-spread{height:82svh;min-height:680px;max-height:900px}
.magazine-home .spread-copy,.magazine-home .property-spread:nth-of-type(even) .spread-copy{padding-inline:0}

.magazine-home .destinations{padding-block:115px;background:#fff}
.magazine-home .destinations .section-head{max-width:720px}
.magazine-home .destinations .section-head h2{font-size:clamp(58px,5.3vw,80px)}
.magazine-home .destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 28px}
.magazine-home .destination-grid>a:nth-child(n){grid-column:auto;margin-top:0}
.magazine-home .destination-grid>a:nth-child(n) .destination-image{aspect-ratio:4/3}
.magazine-home .destination-grid h3{font-size:clamp(28px,2.4vw,38px);letter-spacing:-.6px}

.magazine-home .enquire{background:#fbfaf7;color:var(--ink);padding-block:120px;box-shadow:none;clip-path:none}
.magazine-home .enquire-image{aspect-ratio:4/3;overflow:hidden}
.magazine-home .enquire-image::before{display:none}
.magazine-home .enquire-image img{box-shadow:none}
.magazine-home .enquire-copy .eyebrow{color:var(--accent)}
.magazine-home .enquire-copy>p:not(.eyebrow){color:var(--muted)}
.magazine-home .enquire-copy h2{font-size:clamp(64px,6vw,88px);line-height:.96}
.magazine-home .enquire .button{background:var(--ink);color:#fff;border-color:var(--ink)}
.magazine-home .enquire .text-link,.magazine-home .contact-email{color:inherit}
.js [data-reveal]{opacity:1;transform:none;transition:none}

@media(max-width:1100px){
  .magazine-home .hero-content{width:calc(100% - 64px)}
  .issue-opener{grid-template-columns:1fr 1fr;gap:24px;padding-block:90px}.issue-copy{grid-column:1/-1;grid-row:auto;padding:0 0 28px;max-width:650px}.issue-photo--tall{grid-column:1;grid-row:auto}.issue-photo--wide{grid-column:2;grid-row:auto}.issue-photo img{aspect-ratio:4/3}
  .magazine-home .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .magazine-home .hero-content{width:100%}.magazine-home .hero-content h1{font-size:clamp(62px,17vw,84px)}
  .issue-opener{grid-template-columns:1fr 1fr;padding-block:74px;gap:14px}.issue-copy{grid-column:1/-1;grid-row:auto;padding:0 0 22px}.issue-copy h2{font-size:52px}.issue-photo--tall{grid-column:1;grid-row:auto}.issue-photo--wide{grid-column:2;grid-row:auto}.issue-photo img{aspect-ratio:3/4}.issue-photo figcaption{display:none}
  .magazine-home .homes{padding-block:68px 74px}.magazine-home .homes .section-head h2{font-size:54px}.magazine-home .home-grid,.magazine-home .home-grid.is-filtered{grid-template-columns:1fr;gap:54px}.magazine-home .home-card h3,.magazine-home .home-card:nth-child(2) h3,.magazine-home .home-card:nth-child(3) h3{font-size:39px}
  .magazine-home .day-intro{display:none}.magazine-home .showcase-heading{padding-block:36px 28px}.magazine-home .house-stories-intro{padding-block:64px 34px}.magazine-home .property-spread{height:auto;min-height:0}
  .magazine-home .destinations{padding-block:80px}.magazine-home .destination-grid{grid-template-columns:1fr 1fr;gap:42px 14px}.magazine-home .destination-grid h3{font-size:24px}
  .magazine-home .enquire{padding-block:82px;gap:45px}.magazine-home .enquire-image{margin-left:0;aspect-ratio:4/3}.magazine-home .enquire-copy h2{font-size:62px}
}

/* Final image-backed sunrise/sunset intro. */
.magazine-home .coastal-day{
  background:#172126 url('assets/hero-poster.webp') center 58%/cover no-repeat;
}
.magazine-home .day-intro{
  width:100%;
  max-width:none;
  margin:0;
  padding:110px max(56px,calc((100% - 820px)/2)) 94px;
  color:#fff;
  background:linear-gradient(90deg,rgba(10,20,26,.78),rgba(10,20,26,.42));
}
.magazine-home .day-intro h2{
  max-width:820px;
  margin-inline:auto;
}
.magazine-home .day-intro .eyebrow{color:#f0d1b7}
.magazine-home .day-intro>p:last-of-type:not(.eyebrow){color:#f1f1ed}
.magazine-home .light-jumps a{color:#fff;border-color:#ffffff96}
.magazine-home .light-jumps a:hover{border-color:#fff}
@media(max-width:760px){
  .magazine-home .coastal-day{background-position:58% center}
  .magazine-home .day-intro{display:none}
}

/* Property-specific homepage photo galleries. */
.magazine-home .home-card{position:relative}
.magazine-home .home-visual{position:relative;touch-action:pan-y;user-select:none}
.magazine-home .home-image-link,.magazine-home .home-card-copy{display:block}
.magazine-home .home-image .home-gallery-slide{
  opacity:0;
  transform:none;
  pointer-events:none;
  transition:opacity .42s ease;
}
.magazine-home .home-image .home-gallery-slide.is-active{opacity:1;z-index:1}
.magazine-home .home-card:hover .home-image .home-gallery-slide{transform:none}
.magazine-home .home-gallery-controls{position:absolute;inset:50% 14px auto;z-index:3;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.magazine-home .home-gallery-controls button{
  width:46px;
  height:46px;
  border:1px solid #ffffffb8;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fffffff0;
  color:var(--ink);
  font-size:20px;
  box-shadow:0 7px 24px #15202724;
  pointer-events:auto;
  transition:background .2s ease,transform .2s ease;
}
.magazine-home .home-gallery-controls button:hover{background:#fff;transform:scale(1.05)}
.magazine-home .home-gallery-controls button:active{transform:scale(.97)}
.magazine-home .home-gallery-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.magazine-home .home-gallery-count{position:absolute;z-index:2;left:16px;bottom:16px;padding:6px 9px;background:#172126b8;color:#fff;font-size:9px;letter-spacing:1.2px}
.magazine-home .home-image .image-index{z-index:2}
@media(max-width:760px){
  .magazine-home .home-gallery-controls{inset-inline:10px}
  .magazine-home .home-gallery-controls button{width:36px;height:36px;font-size:16px;box-shadow:0 5px 16px #1520271c}
}
@media(prefers-reduced-motion:reduce){
  .magazine-home .home-image .home-gallery-slide{transition:none}
}

/* Preserve each truthful three-photo view on phones as an editorial mosaic. */
@media(max-width:760px){
  .magazine-home .house-stories-rail-heading{display:flex;margin-bottom:18px}
  .magazine-home .house-stories-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 20px 28px}
  .magazine-home .house-stories-rail::-webkit-scrollbar{display:none}
  .magazine-home .property-spread{
    --mobile-collage-height:clamp(370px,49svh,440px);
    display:flex;
    flex-direction:column;
    flex:0 0 min(84vw,370px);
    scroll-snap-align:start;
    scroll-snap-stop:always;
    height:auto;
    min-height:0;
    max-height:none;
    background:#fff;
    color:var(--ink);
  }
  .magazine-home .spread-images{
    position:relative;
    inset:auto;
    z-index:0;
    order:1;
    width:100%;
    height:var(--mobile-collage-height);
    flex:none;
  }
  .magazine-home .spread-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  .magazine-home .spread-strip img:first-child{grid-column:1/-1}
  .magazine-home .spread-strip img{
    display:block;
    width:100%;
    height:calc(var(--mobile-collage-height)/2);
    min-width:0;
    min-height:0;
    object-fit:cover;
    border-right:1px solid #ffffff30;
    border-bottom:1px solid #ffffff30;
  }
  .magazine-home .spread-shade,.magazine-home .spread-top{display:none}
  .magazine-home .spread-layout{
    order:2;
    height:auto;
    align-items:flex-start;
    justify-content:flex-start;
    padding:27px 0 17px;
  }
  .magazine-home .property-spread:nth-of-type(even) .spread-layout{justify-content:flex-start}
  .magazine-home .spread-copy,
  .magazine-home .property-spread:nth-of-type(even) .spread-copy{
    width:100%;
    max-width:none;
    padding:0;
    text-align:left;
    background:none;
    border:0;
    backdrop-filter:none;
  }
  .magazine-home .spread-copy h3{
    font-size:clamp(42px,12vw,54px);
    line-height:.94;
    letter-spacing:-1.3px;
  }
  .magazine-home .spread-copy .eyebrow{margin-bottom:11px}
  .magazine-home .spread-facts{margin-top:13px;font-size:9px}
  .magazine-home .spread-facts span{padding-inline:4px}
  .magazine-home .spread-copy .text-link{margin-top:12px}
  .magazine-home .spread-bottom{
    position:relative;
    inset:auto;
    order:3;
    padding-bottom:22px;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
  }
  .magazine-home .spread-bottom>p{display:none}
  .magazine-home .spread-views{gap:18px}
  .magazine-home .spread-views button{min-height:42px;font-size:8px;gap:7px;color:var(--muted);border-color:var(--line)}
  .magazine-home .spread-views button[aria-pressed="true"]{color:var(--ink);border-color:var(--ink)}
  .magazine-home .hero-content .button span[aria-hidden="true"],
  .magazine-home .booking .button span[aria-hidden="true"]{display:none}
}

.trust-marks{margin-top:32px;background:#fff;border-block:1px solid #17212612}
.trust-marks-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:clamp(28px,6vw,110px);padding-block:24px}
.trust-marks img{width:auto;height:66px;object-fit:contain;object-position:center;filter:brightness(0);opacity:.82}
.trust-marks img:nth-child(3){height:56px}
.trust-marks+.issue-opener{padding-top:90px}

/* The client wants first light and the ocean to read immediately. The media is
   brightened without replacing the approved motion or flattening its detail. */
.magazine-home .hero-media img,.magazine-home .hero-media video{filter:brightness(1.22) saturate(1.08)}
.magazine-home .hero-shade{background:linear-gradient(90deg,#08131991 0%,#08131945 37%,transparent 72%),linear-gradient(180deg,#0004 0%,transparent 40%,#0006 100%)}
.sunrise-scene .scene-media{filter:brightness(1.14) saturate(1.06)}
.sunrise-scene .scene-shade{background:linear-gradient(270deg,#10283b7d 0%,#10283b32 38%,transparent 74%),linear-gradient(0deg,#10283b42,transparent 31%)}

/* Compact, image-led gateway: the complete listing catalogue lives on the
   dedicated properties page, not as seven repeating homepage cards. */
.collection-gateway{position:relative;isolation:isolate;min-height:650px;height:76svh;max-height:820px;overflow:hidden;color:#fff;background:#172126}
.collection-gateway-media,.collection-gateway-shade{position:absolute;inset:0;z-index:-2}
.collection-gateway-media{display:grid;grid-template-columns:1fr 1fr}
.collection-gateway-media img{width:100%;height:100%;object-fit:cover}
.collection-gateway-media img:first-child{object-position:center 58%}
.collection-gateway-media img:last-child{object-position:center 52%}
.collection-gateway-shade{z-index:-1;background:linear-gradient(90deg,#101a20db 0%,#101a2094 38%,#101a2038 72%,#101a2054 100%),linear-gradient(0deg,#101a2085,transparent 45%)}
.collection-gateway-copy{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:90px}
.collection-gateway-copy .eyebrow{margin-bottom:23px;color:#f0d1b7}
.collection-gateway-copy h2{max-width:850px;font-size:clamp(64px,6.4vw,104px);line-height:.94;letter-spacing:-3px}
.collection-gateway-copy>p:not(.eyebrow){max-width:600px;margin-top:28px;color:#f4f4f1;font-size:clamp(17px,1.15vw,19px);line-height:1.75}
.collection-gateway-copy .button{margin-top:30px}

/* A restrained proof banner keeps the homepage rating visible while the
   individual guest notes move to their own page. */
.review-banner{padding-block:84px 92px;background:#fff;border-block:1px solid #17212614;scroll-margin-top:68px}
.review-banner-inner{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1fr);gap:clamp(60px,10vw,170px);align-items:center}
.review-banner-score{padding-right:clamp(40px,7vw,110px);border-right:1px solid var(--line)}
.review-banner-score .eyebrow{margin-bottom:22px;color:var(--accent)}
.review-banner-score>div:first-of-type{display:flex;align-items:baseline;gap:13px}
.review-banner-score strong{font:600 clamp(58px,5.5vw,82px)/.92 var(--sans);letter-spacing:-.065em;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.review-banner-score>div:first-of-type span{color:var(--muted);font-size:14px}
.review-banner .review-stars{margin-top:20px;font-size:22px}
.review-banner-copy h2{font-size:clamp(50px,4.8vw,76px);line-height:.98;letter-spacing:-2px}
.review-banner-copy>p{max-width:520px;margin-top:22px;color:var(--muted);font-size:17px;line-height:1.75}
.review-banner-copy .text-link{margin-top:22px}

/* Direct-booking value is presented as a single factual editorial banner. */
.direct-booking{position:relative;isolation:isolate;min-height:570px;overflow:hidden;color:#fff;background:#172126}
.direct-booking-media,.direct-booking-shade{position:absolute;inset:0;z-index:-2}
.direct-booking-media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.88)}
.direct-booking-shade{z-index:-1;background:linear-gradient(90deg,#0d191fe8 0%,#0d191fbf 48%,#0d191f7a 100%),linear-gradient(0deg,#0d191f9c,transparent 52%)}
.direct-booking-inner{min-height:570px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:clamp(60px,9vw,150px);align-items:center;padding-block:72px}
.direct-booking-inner .eyebrow{margin-bottom:20px;color:#f0d1b7}
.direct-booking-inner h2{max-width:880px;font-size:clamp(56px,5.4vw,84px);line-height:.98;letter-spacing:-2.3px}
.direct-booking-inner>div>p:not(.eyebrow){max-width:590px;margin-top:25px;color:#f1f2ef;font-size:17px;line-height:1.75}
.direct-booking-inner .button{margin-top:28px}
.direct-booking-proof{border:1px solid #ffffff55;background:#1121289c;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff24}
.direct-booking-proof>div{padding:27px 30px}
.direct-booking-proof>div+div{border-top:1px solid #ffffff33}
.direct-booking-proof strong{display:block;font:500 25px/1.15 var(--serif);letter-spacing:-.2px}
.direct-booking-proof span{display:block;margin-top:9px;color:#e8ebe8;font-size:12px;line-height:1.65}
.direct-booking-proof img{width:126px;height:auto;filter:brightness(0) invert(1);opacity:.95}

.airbnb-reviews{padding-block:118px 132px;background:#fff;border-block:1px solid #17212612;scroll-margin-top:68px}
.reviews-layout{display:grid;gap:58px}
.reviews-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(48px,7vw,120px);align-items:end}
.reviews-kicker{margin-bottom:18px;color:var(--accent);font:italic 18px/1.2 var(--serif);letter-spacing:0;text-transform:none}
.reviews-score h2{font-size:clamp(46px,4vw,62px);line-height:1.02;letter-spacing:-1.2px}
.reviews-summary{max-width:590px;margin-top:24px;color:var(--muted);font-size:clamp(17px,1.15vw,19px);line-height:1.7}
.reviews-rating-block{min-width:260px;padding-bottom:4px}
.review-rating{display:flex;align-items:flex-end;gap:12px}
.review-rating{align-items:center;gap:11px}
.review-rating strong{font:600 clamp(32px,2.5vw,38px)/1 var(--sans);letter-spacing:-.8px;font-variant-numeric:tabular-nums}
.review-rating>span{padding:0;color:var(--muted);font-size:14px}
.review-stars,.quote-stars{display:flex;align-items:center;gap:4px}
.review-stars{margin-top:22px;font-size:22px}
.quote-stars{font-size:16px;margin-bottom:24px}
.review-stars span,.quote-stars span{display:inline-block;color:transparent;background:linear-gradient(105deg,#172126 0 38%,#d3a36f 48%,#fff4d8 52%,#d3a36f 56%,#172126 66% 100%);background-size:280% 100%;background-position:115% 0;-webkit-background-clip:text;background-clip:text;animation:starShimmer 5.6s cubic-bezier(.32,.72,0,1) infinite}
.review-stars span:nth-child(2),.quote-stars span:nth-child(2){animation-delay:.12s}
.review-stars span:nth-child(3),.quote-stars span:nth-child(3){animation-delay:.24s}
.review-stars span:nth-child(4),.quote-stars span:nth-child(4){animation-delay:.36s}
.review-stars span:nth-child(5),.quote-stars span:nth-child(5){animation-delay:.48s}
@keyframes starShimmer{0%,64%,100%{background-position:115% 0}82%{background-position:-35% 0}}
.reviews-rating-block>p{max-width:290px;margin-top:18px;color:var(--muted);font-size:15px;line-height:1.65}
.reviews-score .text-link{margin-top:22px}
.mobile-rail-heading{display:none}
.rail-controls{display:flex;align-items:center;gap:8px}
.rail-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #17212633;border-radius:50%;background:#fff;color:var(--ink);font:400 18px/1 var(--sans);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.rail-controls button:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-1px)}
.rail-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.review-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #1721261f;border-radius:12px;box-shadow:0 18px 50px #1721260c;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease}
.review-card:hover{transform:translateY(-5px);border-color:#9d69484d;box-shadow:0 25px 65px #17212617}
.review-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #9d694817,0 25px 65px #17212617}
.review-card-head{display:flex;align-items:center;gap:15px;height:116px;min-height:116px;padding:20px 22px;background:#eef3f2;border-bottom:1px solid #1721260f}
.review-card-head>div{min-width:0}
.review-avatar{display:block;flex:0 0 50px;width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:center;border:1px solid #fff;box-shadow:0 0 0 1px #1721261f}
.review-card-head h3{font:500 19px/1.1 var(--sans);letter-spacing:-.2px}
.review-card-head p{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35;letter-spacing:.25px}
.review-card-body{flex:1;padding:26px 24px 30px}
.review-card .quote-stars{margin-bottom:24px;font-size:19px}
.review-quotes blockquote{margin:0;font:400 clamp(25px,2vw,32px)/1.23 var(--serif);letter-spacing:-.45px;text-wrap:pretty}
.review-card-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 24px 24px;padding-top:18px;border-top:1px solid #1721261f;color:var(--accent);font-size:12px;letter-spacing:.5px;text-decoration:none}
.review-card-link span{transition:transform .25s ease}
.review-card-link:hover span{transform:translate(3px,-3px)}
.review-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}

/* Supporting copy is intentionally larger for relaxed, easy scanning. */
.magazine-home .hero-copy{font-size:18px;line-height:1.7}
.magazine-home .booking-note{font-size:13px;line-height:1.7}
.magazine-home .section-head>p:last-of-type:not(.eyebrow),
.magazine-home .issue-copy>p:not(.eyebrow):not(.issue-number),
.magazine-home .house-stories-intro>p,
.magazine-home .showcase-heading>p,
.magazine-home .scene-copy>p:not(.eyebrow),
.magazine-home .enquire-copy>p:not(.eyebrow){font-size:clamp(17px,1.15vw,19px);line-height:1.75}

/* A thin mobile masthead and a detached booking action keep the page feeling editorial. */
.mobile-booking-dock{display:contents}
.nav-label-mobile,.mobile-call-cta{display:none}
@media(max-width:760px){
  html{scroll-padding-top:68px}
  body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .nav,
  .nav.inner-nav{
    position:fixed;
    inset:0 0 auto;
    z-index:100;
    height:60px;
    padding:3px 14px;
    color:#fff;
    background:#172126;
    border-bottom:1px solid #ffffff2e;
    box-shadow:0 7px 24px #17212612;
  }
  .nav .brand{width:90px}
  .nav .brand img{width:88px;height:52px;filter:none}
  .nav .mobile-booking-dock{
    display:flex;
    position:fixed;
    left:50%;
    right:auto;
    top:auto;
    bottom:max(18px,env(safe-area-inset-bottom));
    z-index:90;
    transform:translateX(-50%);
    align-items:center;
    gap:6px;
  }
  .nav .nav-cta{
    display:flex;
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    margin:0;
    min-width:172px;
    min-height:54px;
    padding:13px 26px;
    justify-content:center;
    gap:0;
    color:#172126;
    background:#fff;
    border:1px solid #17212624;
    border-radius:999px;
    box-shadow:inset 0 1px 0 #fff,0 0 0 5px #1721260a,0 16px 38px #07101442;
    font-size:10px;
    font-weight:600;
    letter-spacing:1.8px;
    transition:transform .55s cubic-bezier(.32,.72,0,1),background-color .55s cubic-bezier(.32,.72,0,1),box-shadow .55s cubic-bezier(.32,.72,0,1);
  }
  .nav .nav-cta:hover{transform:translateY(-2px);background:#fff;box-shadow:inset 0 1px 0 #fff,0 0 0 5px #1721260d,0 19px 44px #0710144f}
  .nav .nav-cta:active{transform:scale(.97)}
  .nav .nav-cta:focus-visible{outline:2px solid #fff;outline-offset:4px}
  .nav .nav-label-desktop,
  .nav .nav-cta>span[aria-hidden="true"]{display:none}
  .nav .nav-label-mobile{display:inline}
  .nav .mobile-call-cta{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    color:#172126;
    background:#fff;
    border:1px solid #17212624;
    border-radius:999px;
    box-shadow:inset 0 1px 0 #fff,0 0 0 5px #1721260a,0 16px 38px #07101442;
    transition:transform .55s cubic-bezier(.32,.72,0,1),box-shadow .55s cubic-bezier(.32,.72,0,1);
  }
  .nav .mobile-call-cta:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 0 0 5px #1721260d,0 19px 44px #0710144f}
  .nav .mobile-call-cta:active{transform:scale(.94)}
  .nav .mobile-call-cta:focus-visible{outline:2px solid #fff;outline-offset:4px}
  .nav .menu-toggle{display:block;margin-left:auto;width:36px;height:36px}
  .nav .menu-toggle span{width:23px;height:2px;background:#fff}
  body.inner-page{padding-top:60px}
  .trust-marks{margin-top:20px}
  .trust-marks-inner{gap:12px;padding-block:14px}
  .trust-marks img{height:auto;max-width:100%;opacity:.84}
  .trust-marks img:nth-child(1){width:80px}
  .trust-marks img:nth-child(2){width:76px}
  .trust-marks img:nth-child(3){width:86px}
  .trust-marks+.issue-opener{padding-top:58px}
  .magazine-home .hero-media img,.magazine-home .hero-media video{filter:brightness(1.28) saturate(1.09)}
  .magazine-home .hero-shade{background:linear-gradient(180deg,#0813196b 0%,#0813192e 38%,#0813197d 100%)}
  .sunrise-scene .scene-shade{background:linear-gradient(0deg,#10232bb5 0%,#10232b59 42%,transparent 84%)}
  .collection-gateway{height:auto;min-height:650px;max-height:none}
  .collection-gateway-media{display:block}
  .collection-gateway-media img{height:100%}
  .collection-gateway-media img:last-child{display:none}
  .collection-gateway-shade{background:linear-gradient(0deg,#101a20e3 0%,#101a2078 55%,#101a2024 100%)}
  .collection-gateway-copy{min-height:650px;justify-content:flex-end;padding-block:86px 72px}
  .collection-gateway-copy h2{font-size:clamp(54px,14vw,72px);letter-spacing:-1.8px}
  .collection-gateway-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}
  .review-banner{padding-block:66px 72px}
  .review-banner-inner{grid-template-columns:1fr;gap:38px}
  .review-banner-score{padding:0 0 34px;border:0;border-bottom:1px solid var(--line)}
  .review-banner-score strong{font-size:68px;letter-spacing:-.06em}
  .review-banner-copy h2{font-size:50px;letter-spacing:-1px}
  .review-banner-copy>p{font-size:17px}
  .direct-booking,.direct-booking-inner{min-height:650px}
  .direct-booking-media img{object-position:61% center}
  .direct-booking-shade{background:linear-gradient(0deg,#0d191fed 0%,#0d191fa3 63%,#0d191f61 100%)}
  .direct-booking-inner{grid-template-columns:1fr;gap:38px;align-content:end;padding-block:82px 72px}
  .direct-booking-inner h2{font-size:clamp(49px,12.5vw,64px);letter-spacing:-1.3px}
  .direct-booking-inner>div>p:not(.eyebrow){font-size:17px}
  .direct-booking-proof>div{padding:22px 24px}
  .direct-booking-proof strong{font-size:23px}
  .direct-booking-proof img{width:112px}
  .airbnb-reviews{padding-block:68px 76px}
  .reviews-layout{gap:44px}
  .reviews-score{grid-template-columns:1fr;gap:34px}
  .reviews-kicker{margin-bottom:14px;font-size:17px}
  .reviews-score h2{font-size:42px;line-height:1.04;letter-spacing:-.7px}
  .review-rating strong{font-size:34px;letter-spacing:-.6px}
  .review-stars{margin-top:17px;font-size:21px}
  .reviews-summary{font-size:17px}
  .reviews-rating-block>p{max-width:320px;font-size:16px}
  .mobile-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:-22px;color:var(--muted);font-size:11px;letter-spacing:1.25px;text-transform:uppercase}
  .rail-controls button{width:34px;height:34px;font-size:14px}
  .review-quotes{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 24px}
  .review-quotes::-webkit-scrollbar,.magazine-home .home-grid::-webkit-scrollbar{display:none}
  .review-card{flex:0 0 min(82vw,340px);scroll-snap-align:start;scroll-snap-stop:always}
  .review-quotes blockquote{font-size:27px;line-height:1.26}
  .review-card-head{height:102px;min-height:102px;padding:18px 20px}
  .review-card-body{padding:24px 20px 28px}
  .review-card-link{margin:0 20px 22px;font-size:13px}

  .magazine-home .homes>.mobile-rail-heading{margin:0 0 18px}
  .magazine-home #homes>.section-cta{display:none}
  .magazine-home .home-grid,
  .magazine-home .home-grid.is-filtered{display:flex;grid-template-columns:none;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 24px}
  .magazine-home .home-card,
  .magazine-home .home-card:nth-child(n){flex:0 0 min(80vw,370px);margin-top:0;scroll-snap-align:start;scroll-snap-stop:always}
  .magazine-home .home-card[hidden]{display:none}

  .magazine-home .destinations{padding-block:68px 76px;background:#fff}
  .magazine-home .destinations .section-head{margin-bottom:38px}
  .magazine-home .destinations>.container>.mobile-rail-heading{margin:0 0 18px}
  .magazine-home .destination-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 24px}
  .magazine-home .destination-grid::-webkit-scrollbar{display:none}
  .magazine-home .destination-grid>a,
  .magazine-home .destination-grid>a:nth-child(n){flex:0 0 min(76vw,340px);margin-top:0;scroll-snap-align:start;scroll-snap-stop:always}
  .magazine-home .destination-grid>a:nth-child(n) .destination-image{aspect-ratio:4/3}
  .magazine-home .light-showcase .day-scene{height:72svh;min-height:560px;max-height:700px}
  .magazine-home .mobile-light-intro{display:block;margin-bottom:18px;color:var(--accent);font:italic 24px/1.2 var(--serif);letter-spacing:-.2px;text-wrap:balance}

  /* Decorative CTA arrows become emoji on some mobile browsers. Functional
     gallery controls remain visible because they are buttons, not link glyphs. */
  .magazine-home a span[aria-hidden="true"],
  .magazine-home footer a .mobile-decorative-arrow{display:none}
  .magazine-home .text-link{gap:0}

  /* Readability pass for the home's older-skewing guest audience. */
  .magazine-home .hero-copy{font-size:18px;line-height:1.65}
  .magazine-home .hero-content .eyebrow{font-size:10px}
  .magazine-home .hero-content .button,
  .magazine-home .booking .button{font-size:10px}
  .magazine-home .field-label{font-size:10px}
  .magazine-home .booking-note{font-size:13px;line-height:1.65}
  .magazine-home .section-head>p:last-of-type:not(.eyebrow){font-size:17px;line-height:1.7}
  .magazine-home .issue-copy>p:not(.eyebrow):not(.issue-number){font-size:17px;line-height:1.75}
  .magazine-home .issue-number{font-size:11px}
  .magazine-home .home-filters button{font-size:10px;letter-spacing:.65px}
  .magazine-home .homes-toolbar #home-count{font-size:12px}
  .magazine-home .home-meta{font-size:10px}
  .magazine-home .home-details{font-size:13px;line-height:1.6}
  .magazine-home .home-card .text-link{font-size:11px}
  .magazine-home .house-stories-intro>p{font-size:17px;line-height:1.7}
  .magazine-home .spread-facts{font-size:12px}
  .magazine-home .spread-copy .text-link{font-size:11px}
  .magazine-home .showcase-heading>p{font-size:17px;line-height:1.65}
  .magazine-home .scene-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}
  .magazine-home .scene-copy .text-link{font-size:11px}
  .magazine-home .scene-bottom{font-size:10px}
  .magazine-home .destination-grid p{font-size:13px;line-height:1.55}
  .magazine-home .enquire-copy>p:not(.eyebrow){font-size:17px;line-height:1.75}
  .magazine-home footer a{font-size:12px}
}

/* The detached mobile CTA should never compete with the booking interface
   itself. Collection, property, and checkout pages already expose the same
   action in context, so the dock steps away on those routes. */
@media(max-width:760px){
  body.inner-page .mobile-booking-dock{display:none}
  body.inner-page{padding-bottom:0}
  body[data-page="properties"] .mobile-booking-dock,
  body[data-page="property"] .mobile-booking-dock,
  body[data-page="booking"] .mobile-booking-dock{display:none}
  body[data-page="properties"],
  body[data-page="property"],
  body[data-page="booking"]{padding-bottom:0}
}

/* The smallest portrait screen cannot carry two duplicate hero CTAs plus the
   floating booking control. Let the dock do the booking work and preserve the
   sunrise, headline, and readable supporting copy. */
@media(max-width:360px) and (max-height:650px) and (orientation:portrait){
  .magazine-home .hero{height:calc(100svh - 60px);min-height:508px;max-height:590px}
  .magazine-home .hero-content{padding:76px 20px 84px}
  .magazine-home .hero-actions,.magazine-home .hero-proof,.magazine-home .hero-bottom{display:none}
}

/* Short landscape phones get an intentionally composed masthead instead of a
   clipped portrait layout. The compact dock moves to the quiet lower-right
   corner, leaving the editorial headline and copy unobstructed. */
@media(max-width:760px) and (max-height:520px) and (orientation:landscape){
  body{padding-bottom:68px}
  .nav,.nav.inner-nav{height:52px;padding:2px 14px}
  .nav .brand{width:78px}
  .nav .brand img{width:76px;height:46px}
  .nav .menu-toggle{width:34px;height:34px}
  body.inner-page{padding-top:52px}
  .nav .mobile-booking-dock{left:auto;right:14px;bottom:max(10px,env(safe-area-inset-bottom));transform:none;gap:5px}
  .nav .nav-cta{min-width:132px;min-height:46px;padding:10px 20px;box-shadow:inset 0 1px 0 #fff,0 0 0 4px #1721260a,0 12px 28px #07101438}
  .nav .mobile-call-cta{width:46px;height:46px;flex-basis:46px;box-shadow:inset 0 1px 0 #fff,0 0 0 4px #1721260a,0 12px 28px #07101438}
  .magazine-home .hero{height:calc(100svh - 52px);min-height:323px;max-height:none;justify-content:flex-start;text-align:left}
  .magazine-home .hero-content{width:100%;max-width:500px;align-items:flex-start;padding:58px 210px 38px 24px}
  .magazine-home .hero-content .hero-kicker{justify-content:flex-start;gap:10px;margin-bottom:13px;font-size:8px;letter-spacing:2.5px}
  .magazine-home .hero-content .hero-kicker::before{width:28px}
  .magazine-home .hero-content h1{max-width:430px;font-size:48px;line-height:.9;letter-spacing:-1px;text-align:left}
  .magazine-home .hero-copy{max-width:390px;margin:17px 0 0;font-size:13px;line-height:1.45;text-align:left}
  .magazine-home .hero-actions,.magazine-home .hero-proof,.magazine-home .hero-bottom{display:none}
  .page-intro{padding:42px 210px 52px 0}
  .page-intro h1,.property-heading h1{font-size:52px}
  .intro-copy{font-size:14px;line-height:1.65}
}

/* Direct-booking hero: centered, cinematic, and grounded in verified facts. */
.magazine-home .hero{height:min(940px,94svh);min-height:760px;justify-content:center;text-align:center}
.magazine-home .hero-content{width:calc(100% - 112px);max-width:1180px;padding:142px 24px 124px;display:flex;flex-direction:column;align-items:center}
.magazine-home .hero-content .hero-kicker{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 28px;color:#dfa071;font-size:13px;letter-spacing:5px}
.magazine-home .hero-content .hero-kicker::before{content:'';width:56px;height:1px;background:currentColor}
.magazine-home .hero-content h1{max-width:1120px;font-size:clamp(78px,8vw,126px);line-height:.92;letter-spacing:-2.8px;text-wrap:balance}
.magazine-home .hero-copy{max-width:860px;margin:36px auto 38px;color:#f5f2ec;font-size:clamp(18px,1.4vw,22px);line-height:1.62;letter-spacing:.15px;text-wrap:balance}
.magazine-home .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(240px,320px));gap:22px;justify-content:center;width:100%}
.magazine-home .hero-actions .button{min-height:68px;padding:18px 30px;font-size:12px;font-weight:600;letter-spacing:2.3px;transition:transform .25s ease,background-color .25s ease,border-color .25s ease}
.magazine-home .hero-actions .button:hover{transform:translateY(-2px)}
.magazine-home .hero-actions .button:active{transform:translateY(1px)}
.magazine-home .hero-actions .hero-primary{background:#985435;border-color:#985435;color:#fff}
.magazine-home .hero-actions .hero-primary:hover{background:#aa6444;border-color:#aa6444}
.magazine-home .hero-actions .hero-secondary{background:#10191b33;border-color:#ffffffa8;color:#fff;backdrop-filter:blur(5px)}
.magazine-home .hero-actions .hero-secondary:hover{background:#ffffff18;border-color:#fff}
.magazine-home .hero-proof{display:flex;align-items:center;justify-content:center;gap:0;list-style:none;margin:38px 0 0;padding:0;color:#e7ded4;font-size:11px;font-weight:500;letter-spacing:2.1px;text-transform:uppercase}
.magazine-home .hero-proof li{display:flex;align-items:center;white-space:nowrap}
.magazine-home .hero-proof li+li::before{content:'·';margin:0 19px;color:#dfa071;font-size:18px;line-height:1}
.magazine-home .hero-shade{background:radial-gradient(circle at 50% 45%,#24110d17 0%,#08121659 72%),linear-gradient(180deg,#0710148f 0%,#07101440 34%,#07101463 62%,#071014d1 100%)}
.magazine-home .hero-media img,.magazine-home .hero-media video{object-position:0% center}
@media(min-width:761px){
  .magazine-home .hero-media img,.magazine-home .hero-media video{transform:scale(1.1) translateX(4.3%)}
}

@media(max-width:760px){
  .magazine-home .hero{height:92svh;min-height:790px;max-height:900px}
  .magazine-home .hero-content{width:100%;padding:98px 20px 106px}
  .magazine-home .hero-content .hero-kicker{gap:12px;margin-bottom:23px;font-size:9px;letter-spacing:3.2px}
  .magazine-home .hero-content .hero-kicker::before{width:34px}
  .magazine-home .hero-content h1{max-width:355px;font-size:clamp(53px,14.2vw,68px);line-height:.96;letter-spacing:-1.4px}
  .magazine-home .hero-copy{max-width:340px;margin:26px auto 28px;font-size:17px;line-height:1.55}
  .magazine-home .hero-actions{grid-template-columns:1fr;gap:11px;max-width:315px}
  .magazine-home .hero-actions .button{min-height:56px;padding:14px 20px;font-size:10px;letter-spacing:1.8px}
  .magazine-home .hero-proof{max-width:340px;flex-wrap:wrap;row-gap:7px;margin-top:25px;font-size:8px;letter-spacing:1.35px}
  .magazine-home .hero-proof li+li::before{margin-inline:10px;font-size:14px}
  .magazine-home .hero-bottom{bottom:20px}
  .magazine-home .hero-media img,.magazine-home .hero-media video{object-position:40% center}
  /* The floating pill occupies this transition zone instead of covering the
     first date fields. It reads as a deliberate bridge from hero to search. */
  .magazine-home .booking-wrap{margin-top:0;padding-top:84px}
}

/* Final height-sensitive hero overrides live after the core hero rules so the
   compact compositions win in both Chromium and mobile Safari. */
@media(max-width:360px) and (max-height:650px) and (orientation:portrait){
  .magazine-home .hero{height:calc(100svh - 60px);min-height:508px;max-height:590px}
  .magazine-home .hero-content{padding:76px 20px 84px}
  .magazine-home .hero-actions,.magazine-home .hero-proof,.magazine-home .hero-bottom{display:none}
}
@media(max-width:760px) and (max-height:520px) and (orientation:landscape){
  .magazine-home .hero{height:calc(100svh - 52px);min-height:323px;max-height:none;justify-content:flex-start;text-align:left}
  .magazine-home .hero-content{width:100%;max-width:500px;align-items:flex-start;padding:58px 210px 38px 24px}
  .magazine-home .hero-content .hero-kicker{justify-content:flex-start;gap:10px;margin-bottom:13px;font-size:8px;letter-spacing:2.5px}
  .magazine-home .hero-content .hero-kicker::before{width:28px}
  .magazine-home .hero-content h1{max-width:430px;font-size:48px;line-height:.9;letter-spacing:-1px;text-align:left}
  .magazine-home .hero-copy{max-width:390px;margin:17px 0 0;font-size:13px;line-height:1.45;text-align:left}
  .magazine-home .hero-actions,.magazine-home .hero-proof,.magazine-home .hero-bottom{display:none}
}



/* Homepage range calendar */
.booking .flatpickr-wrapper{position:relative;display:block;width:100%}
.booking .date-box{cursor:pointer}
.flatpickr-calendar.static{z-index:1200}
.booking .flatpickr-calendar.static{top:auto;bottom:calc(100% + 14px)}
.flatpickr-calendar{font-family:'DM Sans',system-ui,sans-serif;border-radius:6px;box-shadow:0 18px 50px rgba(0,0,0,.18);border:1px solid #e3e0da;color:#1f1f1f}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{background:#1f1f1f;border-color:#1f1f1f;color:#fff}
.flatpickr-day.inRange{background:#efe9e0;border-color:#efe9e0;box-shadow:-5px 0 0 #efe9e0,5px 0 0 #efe9e0}
.flatpickr-day:hover{background:#f3efe8;border-color:#f3efe8}
.flatpickr-current-month{font-weight:600;font-size:1rem}
@media (max-width:700px){.booking .flatpickr-calendar.static{bottom:auto;top:calc(100% + 8px)}}


/* Calendar chrome: close button, footer summary; full-screen sheet on phones */
.cal-close{display:none}
.cal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 12px;border-top:1px solid #e3e0da;font-size:.85rem;color:#555}
.cal-summary{display:flex;gap:18px}
.cal-summary span{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#777}
.cal-summary strong{font-weight:600;color:#1f1f1f}
.cal-done{font:600 .8rem 'DM Sans',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;background:#1f1f1f;color:#fff;border:0;padding:12px 18px;cursor:pointer}
.cal-done:disabled{background:#d9d5ce;color:#777;cursor:default}
@media (max-width:700px){
  body.cal-open{overflow:hidden}
  body.cal-open .nav,body.cal-open .mobile-booking-dock{visibility:hidden}
  .flatpickr-calendar.open{position:fixed!important;inset:0!important;top:0!important;left:0!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important;height:100%!important;border-radius:0!important;border:0!important;box-shadow:none!important;max-height:none!important;z-index:100000!important;display:flex!important;flex-direction:column;padding-top:60px;background:#fff}
  .flatpickr-calendar.open:before,.flatpickr-calendar.open:after{display:none}
  .cal-close{display:block;position:absolute;top:10px;left:10px;width:44px;height:44px;border:0;background:transparent;font-size:32px;line-height:44px;color:#1f1f1f;cursor:pointer}
  .flatpickr-calendar.open .flatpickr-months{padding:0 12px}
  .flatpickr-calendar.open .flatpickr-innerContainer,.flatpickr-calendar.open .flatpickr-rContainer,.flatpickr-calendar.open .flatpickr-days,.flatpickr-calendar.open .dayContainer,.flatpickr-calendar.open .flatpickr-weekdays,.flatpickr-calendar.open .flatpickr-weekdaycontainer{width:100%!important;min-width:0!important;max-width:none!important}
  .flatpickr-calendar.open .flatpickr-innerContainer{flex:1;overflow:auto;padding:0 8px}
  .flatpickr-calendar.open .flatpickr-day{max-width:none;flex-basis:14.2857%;height:54px;line-height:54px;font-size:1.05rem;font-weight:500;border-radius:10px}
  .flatpickr-calendar.open .flatpickr-weekday{font-size:.85rem}
  .flatpickr-calendar.open .cal-footer{position:sticky;bottom:0;background:#fff;padding:14px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px}
  .flatpickr-calendar.open .cal-summary{justify-content:space-between}
  .flatpickr-calendar.open .cal-done{width:100%;padding:16px}
}

/* Calendar colors (beat the library's own two-class selectors) and desktop-only tweaks */
.flatpickr-calendar .flatpickr-day.selected,.flatpickr-calendar .flatpickr-day.startRange,.flatpickr-calendar .flatpickr-day.endRange,.flatpickr-calendar .flatpickr-day.selected.startRange,.flatpickr-calendar .flatpickr-day.selected.endRange,.flatpickr-calendar .flatpickr-day.startRange.endRange,.flatpickr-calendar .flatpickr-day.selected:hover,.flatpickr-calendar .flatpickr-day.startRange:hover,.flatpickr-calendar .flatpickr-day.endRange:hover{background:#1f1f1f!important;border-color:#1f1f1f!important;color:#fff!important}
.flatpickr-calendar .flatpickr-day.inRange{background:#efe9e0!important;border-color:#efe9e0!important;box-shadow:-5px 0 0 #efe9e0,5px 0 0 #efe9e0!important;color:#1f1f1f}
@media (min-width:701px){.cal-footer{display:none}.cal-close{display:none}}

/* Month header breathing room */
.flatpickr-calendar .flatpickr-months .flatpickr-month{height:46px}
.flatpickr-calendar .flatpickr-current-month{padding:10px 0 0;font-size:.95rem;line-height:1.2}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,.flatpickr-calendar .flatpickr-months .flatpickr-next-month{height:46px;padding:12px 10px}

@font-face{font-family:'Cormorant Fallback';src:local('Georgia');size-adjust:90%;ascent-override:92%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:'DM Sans Fallback';src:local('Helvetica Neue'),local('Arial');size-adjust:98%;ascent-override:96%;descent-override:26%;line-gap-override:0%}
