@font-face{font-family:Outfit;src:url(/assets/fonts/outfit-bold.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:Outfit;src:url(/assets/fonts/outfit.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Figtree;src:url(/assets/fonts/figtree-var.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{--sun:#F6A623;--sund:#C9780A;--char:#20272F;--txt:#4A5260;--cream:#FFF8EC;--line:#E7EAEE}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 Figtree,system-ui,sans-serif;color:var(--txt);-webkit-font-smoothing:antialiased;background:#fff}img{max-width:100%;height:auto;display:block}a{color:var(--sund)}
.wrap{max-width:1220px;margin:0 auto;padding:0 24px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
h1,h2,h3{font-family:Outfit,sans-serif;font-weight:700;color:var(--char);line-height:1.08;margin:0 0 .4em;letter-spacing:-.015em}p{margin:0 0 1em}h2{font-size:clamp(30px,3.6vw,46px)}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sund);margin:0 0 10px}section.pad{padding:90px 0}
.btn{display:inline-block;padding:15px 26px;border-radius:999px;font-weight:800;text-decoration:none;font-size:16px;line-height:1.2;text-align:center;border:0;cursor:pointer;font-family:inherit}.btn.s{background:var(--sun);color:var(--char)}.btn.s:hover{background:#FFB840}.btn.d{background:var(--char);color:#fff}.btn.o{border:1.5px solid currentColor;background:none;color:inherit}
/* header */
.top{background:var(--char);color:#fff;position:sticky;top:0;z-index:30}.top .wrap{display:flex;align-items:center;gap:16px;min-height:84px}.logo img{height:48px;width:auto}
.top nav{display:flex;align-items:center;margin-left:auto}.top nav a{color:#E6EAEF;text-decoration:none;font-weight:600;font-size:15px;padding:8px 12px}.top nav a:hover,.top nav a[aria-current]{color:var(--sun)}.top .btn{margin-left:10px;padding:12px 20px;font-size:15px}
.mnav{display:none;margin-left:auto}.mnav summary{list-style:none;cursor:pointer;border:1px solid #3A434E;border-radius:999px;padding:10px 16px;font-weight:800;color:#fff;font-size:15px;display:flex;align-items:center;gap:8px}.mnav summary::-webkit-details-marker{display:none}
.mnav summary::before{content:"";width:16px;height:12px;background:linear-gradient(#fff 0 0) 0 0/100% 2px no-repeat,linear-gradient(#fff 0 0) 0 50%/100% 2px no-repeat,linear-gradient(#fff 0 0) 0 100%/100% 2px no-repeat}
.mpanel{position:absolute;left:0;right:0;top:100%;background:var(--char);padding:6px 24px 20px;box-shadow:0 18px 40px rgba(0,0,0,.3)}.mpanel a{display:block;padding:14px 0;border-bottom:1px solid #333C47;color:#fff;text-decoration:none;font-weight:700;font-size:17px}
/* home */
.hero{background:linear-gradient(90deg,rgba(20,24,30,.86),rgba(20,24,30,.4) 60%,rgba(20,24,30,.15)),url(/assets/img/sitges/gall1.webp) center/cover;color:#E3E7EC;padding:90px 0 110px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.hero h1{color:#fff;font-size:clamp(42px,5.4vw,74px)}.hero h1 span{color:var(--sun)}.hero .lead{font-size:20px;max-width:540px}
.qb{background:#fff;border-radius:22px;padding:26px;color:var(--txt)}.qb h3{font-size:24px}.qb .btn{width:100%}
.facts{display:flex;gap:18px;flex-wrap:wrap;font-weight:700;color:var(--char);font-size:15px;margin:8px 0 14px}.facts b{font:700 22px Outfit;margin-right:4px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tags span{background:#FFF1DA;color:#7A4B00;border-radius:99px;padding:5px 12px;font-size:13.5px;font-weight:700}
.price{font-weight:700;color:var(--char);margin:0}.price b{font:700 26px Outfit;color:var(--sund)}.price small{display:block;font-weight:500;color:var(--txt);font-size:14px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:26px}.card{border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(32,39,47,.10);display:flex;flex-direction:column}.card>a img{aspect-ratio:16/10;object-fit:cover;width:100%}.card .in{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}.card h3{font-size:32px}.card h3 a{color:inherit;text-decoration:none}
.card .bot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto}
.vid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:22px;overflow:hidden;border:0;padding:0;cursor:pointer;background:#000 center/cover}.yt::after{content:"";position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;background:var(--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%2320272F'/%3E%3C/svg%3E") 54% 50%/30px no-repeat;box-shadow:0 8px 24px rgba(0,0,0,.35)}.yt.playing::after{display:none}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.qs blockquote{margin:0;padding:28px;border-radius:20px;background:var(--cream)}.st{color:var(--sun);letter-spacing:3px;font-size:18px}.qs cite,.rv cite{display:block;font-style:normal;font-weight:800;margin-top:10px;color:var(--char)}.qs cite small,.rv cite small{display:block;font-weight:500;color:var(--txt)}
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.strip img{aspect-ratio:1;object-fit:cover;width:100%}
/* enquiry */
.enq{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}#enquire{scroll-margin-top:90px}.enq .tel{font:700 26px Outfit;color:var(--char);text-decoration:none}
.form{background:#fff;border-radius:22px;padding:30px;box-shadow:0 24px 60px rgba(32,39,47,.14);color:var(--txt)}.form h3{font-size:28px}.form label{display:block;font-weight:700;font-size:14px;color:var(--char);margin-bottom:12px}.form label i{font-style:normal;font-weight:500;color:#8A929E}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:5px;padding:12px 14px;border:1.5px solid #DADFE6;border-radius:12px;font:inherit;font-size:16px;background:#fff;color:var(--char)}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--sun)}
.form .r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form .r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form button{width:100%}.form .small{font-size:13px;color:#8A929E;margin:12px 0 0}.hp{position:absolute;left:-9999px}.err{background:#FDECEC;color:#8A1C12;border-radius:12px;padding:12px 16px;margin-bottom:14px;font-weight:600;font-size:15px}
/* villa page */
.vhead{padding:34px 0 10px}.crumb{font-size:14px;color:#8A929E;margin-bottom:8px}.crumb a{color:#8A929E}.vhead h1{font-size:clamp(32px,3.8vw,50px);margin:0 0 4px}
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:8px;border-radius:22px;overflow:hidden;position:relative}.mosaic a{display:block;overflow:hidden}.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.mosaic a:hover img{transform:scale(1.04)}.mosaic a:first-child{grid-row:span 2}
.mosaic .all{position:absolute;right:16px;bottom:16px;background:#fff;color:var(--char);border-radius:99px;padding:10px 16px;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.vmain{display:grid;grid-template-columns:1.55fr 1fr;gap:56px;align-items:start;padding:40px 0 80px}.vmain h2{font-size:30px;margin-top:1.4em}.vmain h2:first-child{margin-top:0}
.amen{list-style:none;padding:0;margin:0;columns:2;column-gap:30px}.amen li{padding:8px 0 8px 28px;position:relative;break-inside:avoid;border-bottom:1px solid var(--line)}.amen li::before{content:"";position:absolute;left:0;top:15px;width:13px;height:7px;border-left:2.5px solid var(--sun);border-bottom:2.5px solid var(--sun);transform:rotate(-45deg)}
.info{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info div{background:#F5F6F8;border-radius:14px;padding:14px 16px;font-size:15px}.info b{display:block;color:var(--char)}
.note{background:var(--cream);border-left:4px solid var(--sun);padding:14px 18px;border-radius:0 12px 12px 0}
.side{position:sticky;top:104px}.side .form .r3{grid-template-columns:1fr 1fr}.side .form .r3 label:last-child{grid-column:span 2}.side .pbox{background:var(--char);color:#C6CDD6;border-radius:22px 22px 0 0;padding:22px 26px}.side .pbox .price{color:#fff}.side .pbox .price small{color:#C6CDD6}.side .form{border-radius:0 0 22px 22px;box-shadow:0 24px 60px rgba(32,39,47,.16)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gal a{display:block;border-radius:12px;overflow:hidden}.gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rv{display:grid;gap:16px}.rv blockquote{margin:0;background:var(--cream);border-radius:18px;padding:24px 26px}
.lb{position:fixed;inset:0;background:rgba(10,12,16,.94);z-index:100;display:none;align-items:center;justify-content:center}.lb.on{display:flex}.lb img{max-width:92vw;max-height:84vh;border-radius:8px}.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font-size:30px;width:54px;height:54px;border-radius:50%;cursor:pointer}.lb .x{top:18px;right:18px}.lb .p{left:18px}.lb .n{right:18px}.lb .c{position:absolute;bottom:18px;color:#C6CDD6;font-size:14px}
/* inner */
.ph2{background:var(--char);color:#C6CDD6}.ph2 .wrap{padding-top:54px;padding-bottom:50px}.ph2 h1{color:#fff;font-size:clamp(34px,4.2vw,54px);margin:0}.ph2 .lead{font-size:19px;max-width:760px;margin:12px 0 0}
.prose{max-width:820px}.prose h2{font-size:28px;margin-top:1.4em}.prose li{margin-bottom:6px}
.locs{display:grid;grid-template-columns:1fr 1fr;gap:30px}.loc{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(32,39,47,.08)}.loc img{aspect-ratio:16/9;object-fit:cover;width:100%}.loc .in{padding:26px 28px}.loc ul{padding-left:20px}
/* footer */
footer{background:var(--char);color:#B4BCC7;padding:54px 0 30px;font-size:15px}footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}footer img{height:44px;width:auto;margin-bottom:14px}footer b{color:#fff}footer a{color:#E6EAEF;text-decoration:none}footer a:hover{color:var(--sun)}footer .legal{grid-column:1/-1;border-top:1px solid #333C47;padding-top:18px;font-size:13px}
.bar{display:none}
@media(max-width:1000px){.top nav,.top .btn{display:none}.mnav{display:block}.top .wrap{position:relative;min-height:70px}.logo img{height:40px}}
@media(max-width:960px){.hero .wrap,.cards,.vid,.qs,.enq,.vmain,.locs{grid-template-columns:1fr}.hero{padding:50px 0 60px}.strip{grid-template-columns:repeat(3,1fr)}section.pad{padding:60px 0}footer .wrap{grid-template-columns:1fr}.side{position:static}
 .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 120px}.mosaic a:first-child{grid-column:span 2;grid-row:auto}.mosaic a:nth-child(n+4){display:none}.gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -2px 14px rgba(0,0,0,.14)}.bar a{padding:13px 6px;font-size:15px}body{padding-bottom:74px}.dt{display:none!important}}
@media(max-width:600px){.form .r3,.form .r2{grid-template-columns:1fr 1fr}.form .r3 label:last-child{grid-column:span 2}.amen{columns:1}.gal{grid-template-columns:repeat(2,1fr)}.info{grid-template-columns:1fr}.form{padding:22px 18px}}