@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=DM+Serif+Display&display=swap');
:root{--cream:#f3f0e9;--paper:#f8f5ee;--ink:#171613;--muted:#77736a;--line:#d5cfc4;--dark:#171713}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.header{height:82px;padding:0 3.8vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.header.dark{color:#fff}.logo{font-family:'DM Serif Display',Georgia,serif;font-size:23px;letter-spacing:.18em}.nav{display:flex;align-items:center;gap:34px;font-size:11px}.nav .inquire{border:1px solid currentColor;padding:10px 18px;text-transform:uppercase;letter-spacing:.12em}.hamb{display:none;background:transparent;border:0;color:inherit}.hamb i{display:block;width:22px;height:1px;background:currentColor;margin:5px}.eyebrow{font-size:9px;letter-spacing:.21em;margin-bottom:14px}.eyebrow.dark{color:#716d64}.text-link,.light-link{display:inline-flex;gap:12px;align-items:center;font-size:9px;letter-spacing:.17em;padding-bottom:8px;border-bottom:1px solid currentColor}.hero{height:92vh;min-height:690px;position:relative;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.22) 65%,rgba(0,0,0,.08)),url('images/mallorca-hero.jpg');background-size:cover;background-position:center}.hero-copy{position:absolute;left:5.2vw;bottom:14vh;z-index:3}.hero h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(56px,6.3vw,98px);line-height:.87;letter-spacing:-.035em;margin:0 0 25px}.hero-copy p{font:18px/1.4 Georgia,serif;margin:0 0 28px}.hero-index{position:absolute;left:5.2vw;right:4vw;bottom:30px;z-index:3;display:flex;gap:10px;align-items:center;font-size:9px;letter-spacing:.16em}.hero-index b{width:34px;height:1px;background:currentColor}.hero-place{margin-left:auto;text-align:right}.wrap{padding:78px 4vw 90px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}.section-head h2{font:400 39px/1 'DM Serif Display',Georgia,serif;margin:0;letter-spacing:-.025em}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card-photo{height:390px;position:relative;overflow:hidden;background:#ddd}.card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.card:hover .card-photo img{transform:scale(1.025)}.card-photo span{position:absolute;right:11px;bottom:11px;width:30px;height:30px;background:rgba(248,245,238,.93);display:grid;place-items:center}.card-caption{padding:11px 1px;display:flex;flex-direction:column}.card-caption small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.card-caption strong{font:400 16px/1.2 Georgia,serif}.story{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-copy{padding:88px 9vw 88px 4vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.story-copy h2{font:400 64px/.93 'DM Serif Display',Georgia,serif;letter-spacing:-.04em;margin:0 0 25px}.story-copy p{font:16px/1.65 Georgia,serif;color:#555149;max-width:470px;margin:0 0 30px}.story-photo{min-height:540px}.story-photo img{width:100%;height:100%;display:block;object-fit:cover}.closing{height:500px;position:relative;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden}.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.66)}.closing>div{position:relative;z-index:1}.closing h2{font:400 47px/.96 'DM Serif Display',Georgia,serif;margin:0 0 28px}.button{display:inline-flex;align-items:center;gap:16px;border:0;background:var(--ink);color:#fff;padding:14px 19px;font-size:9px;letter-spacing:.15em;cursor:pointer}.button.outline{background:transparent;border:1px solid rgba(255,255,255,.75)}footer{background:var(--dark);color:#fff;min-height:78px;padding:0 3.8vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:10px}footer nav{display:flex;gap:28px}footer>span:last-child{text-align:right}.property,.contact{min-height:100vh;background:var(--paper)}.property-main{padding:0 3.8vw 55px}.property-topline{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;padding:8px 0 29px}.property-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.property-title h1{font:400 61px/.94 'DM Serif Display',Georgia,serif;letter-spacing:-.035em;margin:0}.property-title p{font:17px/1.2 Georgia,serif;margin:8px 0 0}.property-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(285px,.8fr);gap:28px}.property-hero{height:650px;overflow:hidden;background:#ddd}.property-hero img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.property-grid aside{display:flex;flex-direction:column;justify-content:center;padding:10px 0}.facts{border-top:1px solid var(--line);padding-top:12px;margin-bottom:28px}.fact{font-size:11px;display:flex;align-items:center;gap:12px;padding:7px 0}.fact-mark{font-size:13px;color:#7b766d;width:16px}.property-grid aside p{font:15px/1.65 Georgia,serif;color:#514d46;margin:0 0 28px}.gallery-wrap{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center;margin-top:12px}.gallery-arrow{height:100%;min-height:126px;border:0;background:transparent;font-size:25px;color:#4d4942;cursor:pointer}.thumbs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 1px 7px;overscroll-behavior-x:contain}.thumbs::-webkit-scrollbar{display:none}.thumb{flex:0 0 clamp(150px,18vw,225px);border:0;padding:0;background:transparent;height:145px;overflow:hidden;cursor:pointer;scroll-snap-align:center}.thumb.sel{outline:1px solid var(--ink);outline-offset:3px}.thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}.thumb:hover img{transform:scale(1.025)}.thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}.thumb:hover img{transform:scale(1.025)}.property-story{border-top:1px solid var(--line);margin-top:42px;padding-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.property-story h2{font:400 30px/1.1 Georgia,serif;margin:0}.property-story p{font:14px/1.7 Georgia,serif;color:#57534b;margin:0}.lightbox{position:fixed;inset:0;background:rgba(14,14,12,.97);z-index:100;display:grid;place-items:center;padding:55px 5vw 95px}.lightbox>img{max-width:88vw;max-height:77vh;width:auto;height:auto;object-fit:contain;display:block}.lb-close,.lb-prev,.lb-next{position:absolute;background:transparent;color:#fff;border:0;cursor:pointer}.lb-close{top:18px;right:28px;font-size:30px}.lb-prev,.lb-next{top:47%;font-size:48px;font-weight:200}.lb-prev{left:25px}.lb-next{right:25px}.lb-count{position:absolute;top:23px;left:28px;color:#fff;font-size:10px;letter-spacing:.15em}.lb-thumbs{position:absolute;bottom:17px;left:5vw;right:5vw;height:70px;display:flex;justify-content:center;gap:8px}.lb-thumbs button{padding:0;border:1px solid transparent;background:transparent;width:100px;overflow:hidden;cursor:pointer;opacity:.65}.lb-thumbs button.sel{border-color:#fff;opacity:1}.lb-thumbs img{width:100%;height:100%;object-fit:cover}.contact main{padding:75px 8vw 105px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;min-height:78vh}.contact h1{font:400 82px/.9 'DM Serif Display',Georgia,serif;letter-spacing:-.04em;margin:0 0 28px}.contact h1 em{font-style:italic}.contact main>div>p{font:17px/1.65 Georgia,serif;color:#57534b;max-width:450px}.contact form{display:flex;flex-direction:column;gap:22px;padding-top:12px}.contact label{font-size:9px;letter-spacing:.14em;text-transform:uppercase}.contact input,.contact textarea,.contact select{width:100%;border:0;border-bottom:1px solid #bdb7ac;background:transparent;padding:12px 0;outline:none;color:var(--ink);border-radius:0}.contact textarea{resize:vertical}.contact form .button{align-self:flex-start;margin-top:8px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.card-photo{height:340px}.property-grid{grid-template-columns:1fr}.property-hero{height:58vw;min-height:430px}.thumb{height:125px}.contact main{grid-template-columns:1fr;gap:40px}.story-copy h2{font-size:54px}}
@media(max-width:640px){.header{height:70px;padding:0 20px}.hamb{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);color:var(--ink);padding:24px 20px;flex-direction:column;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line)}.header.dark .nav.open{background:#171713;color:#fff}.nav.open{display:flex}.hero{height:92vh;min-height:650px}.hero-copy{left:20px;right:20px;bottom:100px}.hero h1{font-size:52px}.hero-copy p{font-size:16px}.hero-index{left:20px;right:20px}.wrap{padding:62px 20px}.section-head{align-items:start}.section-head h2{font-size:32px}.cards{gap:9px}.card-photo{height:245px}.card-caption strong{font-size:14px}.story{grid-template-columns:1fr}.story-copy{padding:62px 20px}.story-photo{min-height:370px}.closing{height:410px}.closing h2{font-size:37px}.property-main{padding:0 20px 40px}.property-topline{padding-top:8px}.property-title{align-items:flex-start;gap:22px;flex-direction:column}.property-title h1{font-size:47px}.property-grid aside{padding:20px 0 10px}.property-hero{height:115vw;min-height:420px}.thumb{flex-basis:150px;height:100px}.gallery-arrow{min-height:100px}.property-story{grid-template-columns:1fr;gap:20px}.lightbox{padding:70px 18px 95px}.lightbox>img{max-width:96vw;max-height:72vh}.lb-prev{left:7px}.lb-next{right:7px}.lb-thumbs{left:18px;right:18px}.lb-thumbs button{width:65px}.contact main{padding:55px 20px 75px}.contact h1{font-size:60px}footer{padding:25px 20px;grid-template-columns:1fr;gap:18px}footer>span:last-child{text-align:left}}


/* Gallery reliability fixes */
.lightbox[hidden] { display: none !important; }
body.gallery-open { overflow: hidden; }
.lightbox { opacity: 1; visibility: visible; }
.lightbox > img { opacity: 1; transition: opacity .16s ease; }
.lightbox > img.is-visible { opacity: 1; }
.lb-stage { position: relative; width: min(88vw, 1400px); height: min(77vh, 820px); display: grid; place-items: center; }
.lb-stage > img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
.lb-thumbs { overflow-x: auto; scrollbar-width: none; }
.lb-thumbs::-webkit-scrollbar { display: none; }
.lb-thumb { flex: 0 0 100px; }
.lb-close:focus-visible, .lb-prev:focus-visible, .lb-next:focus-visible, .lb-thumb:focus-visible, .thumb:focus-visible, .gallery-arrow:focus-visible { outline: 1px solid #fff; outline-offset: 4px; }

/* Locations — editorial island index */
.locations-section{background:#11120f;color:#f4f1e9;padding:118px 0 112px;overflow:hidden}
.locations-inner{width:min(1120px,calc(100% - 9vw));margin:0 auto;position:relative}
.locations-kicker{display:flex;gap:72px;color:#7c7b72;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:74px}
.locations-label{position:absolute;left:-6.5vw;top:178px;color:#55564f;font-size:8px;letter-spacing:.25em;writing-mode:vertical-rl;transform:rotate(180deg)}
.locations-content{padding-left:0}
.locations-content h2{font:400 clamp(70px,7.2vw,108px)/.9 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;margin:0 0 72px}
.locations-content h2 em{font-style:italic}
.location-list{border-top:1px solid rgba(244,241,233,.14)}
.location-row{min-height:92px;border-bottom:1px solid rgba(244,241,233,.14);display:grid;grid-template-columns:80px 1fr 180px 28px;align-items:center;column-gap:0;transition:padding .35s ease,background .35s ease;color:inherit}
.location-row:hover{padding-left:14px;background:rgba(244,241,233,.025)}
.location-number,.location-meta{font-size:8px;letter-spacing:.18em;color:#686960}
.location-name{font:400 39px/1 'DM Serif Display',Georgia,serif;letter-spacing:-.025em}
.location-arrow{font-size:22px;font-weight:200;color:#77786f;text-align:right;transition:transform .35s ease,color .35s ease}
.location-row:hover .location-arrow{transform:translate(4px,-4px);color:#f4f1e9}
@media(max-width:640px){.locations-section{padding:82px 0 78px}.locations-inner{width:calc(100% - 40px)}.locations-kicker{gap:35px;margin-bottom:54px}.locations-label{display:none}.locations-content h2{font-size:62px;margin-bottom:50px}.location-row{min-height:78px;grid-template-columns:38px 1fr 22px;column-gap:8px}.location-name{font-size:30px}.location-meta{display:none}.location-arrow{font-size:19px}}

/* Listing amenities */
.amenities{border-top:1px solid var(--line);margin-top:46px;padding:34px 0 8px}.amenities h2{font:400 32px/1.05 'DM Serif Display',Georgia,serif;margin:0 0 26px}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.amenity{min-height:62px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;font-size:11px;color:#3e3b35}.amenity span{width:19px;color:#77736a;font-size:15px;text-align:center}.card-coming .card-photo{position:relative}.coming-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;background:linear-gradient(180deg,transparent 35%,rgba(17,17,15,.78) 100%);color:#fff}.coming-overlay small{font-size:8px;letter-spacing:.2em;margin-bottom:6px}.coming-overlay strong{font:400 32px/1 'DM Serif Display',Georgia,serif}.coming-overlay em{font:italic 13px Georgia,serif;margin-top:7px;opacity:.9}.card-coming:hover .card-photo img{transform:scale(1.025)}.location-coming .location-meta{color:#9a998f}.coming-main{padding:8px 3.8vw 80px}.coming-main>.property-topline{display:block;padding:8px 0 30px;font-size:9px;letter-spacing:.13em}.coming-hero{position:relative;min-height:650px;overflow:hidden;background:#171713;color:#fff}.coming-hero>img{width:100%;height:100%;min-height:650px;object-fit:cover;display:block;filter:brightness(.7)}.coming-copy{position:absolute;left:7%;bottom:9%;max-width:560px}.coming-copy h1{font:400 clamp(58px,7vw,94px)/.88 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;margin:0 0 24px}.coming-copy h1 em{font-style:italic}.coming-copy p{font:17px/1.6 Georgia,serif;max-width:480px;margin:0 0 28px}.coming-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:60px 4vw 20px;border-bottom:1px solid var(--line)}.coming-bottom h2{font:400 48px/1 'DM Serif Display',Georgia,serif;margin:10px 0 0}.coming-bottom p{font:16px/1.65 Georgia,serif;color:#57534b;max-width:500px;margin:10px 0}.coming-page footer{margin-top:0}
@media(max-width:900px){.amenity-grid{grid-template-columns:repeat(2,1fr)}.coming-bottom{gap:40px}}
@media(max-width:640px){.amenities{margin-top:35px}.amenity-grid{grid-template-columns:1fr}.amenity{min-height:55px}.coming-main{padding:8px 20px 55px}.coming-hero,.coming-hero>img{min-height:650px}.coming-copy{left:25px;right:25px;bottom:35px}.coming-copy h1{font-size:56px}.coming-copy p{font-size:15px}.coming-bottom{grid-template-columns:1fr;padding:45px 20px 10px;gap:20px}.coming-bottom h2{font-size:39px}}

/* Enquiry calendar */
.enquiry-note{display:flex;gap:18px;border-top:1px solid var(--line);margin-top:55px;padding-top:20px;max-width:500px}.enquiry-note>span{font-size:9px;letter-spacing:.16em;color:var(--muted)}.enquiry-note strong{font:400 18px/1.2 Georgia,serif}.enquiry-note p{font:13px/1.55 Georgia,serif;color:#6a655d;margin:7px 0 0}.calendar-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0 24px}.calendar-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.calendar-head h2{font:400 27px/1.05 'DM Serif Display',Georgia,serif;margin:0}.calendar-selected{font-size:10px;letter-spacing:.08em;color:#5e5a52;text-align:right;white-space:nowrap}.calendar-nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;text-align:center;margin-bottom:15px}.calendar-nav strong{font:400 18px Georgia,serif}.calendar-nav button{border:0;background:transparent;font-size:20px;color:#5b574f;cursor:pointer;padding:4px}.calendar-nav button:disabled{opacity:.3}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{text-align:center;font-size:7px;letter-spacing:.13em;color:#8a857b;padding:7px 0}.cal-empty{height:39px}.cal-day{height:39px;border:1px solid transparent;background:transparent;color:var(--ink);font-size:11px;cursor:pointer;position:relative}.cal-day:hover:not(:disabled){border-color:#aaa398}.cal-day:disabled{color:#c8c2b8;cursor:not-allowed}.cal-day.selected{background:var(--ink);color:#fff}.cal-day.in-range{background:#e4dfd5}.cal-day.start{border-radius:2px 0 0 2px}.cal-day.end{border-radius:0 2px 2px 0}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.enquiry-fields label:last-child{grid-column:1/-1}

@media(max-width:640px){.calendar-head{align-items:flex-start;flex-direction:column}.calendar-selected{text-align:left}.calendar-box{padding-top:24px}.cal-day,.cal-empty{height:37px}.enquiry-fields{grid-template-columns:1fr}.enquiry-fields label:last-child{grid-column:auto}.enquiry-note{margin-top:35px}}
