:root{--cream:#f5eee2;--paper:#fffdf8;--brown:#2c1e18;--gold:#f4c744;--orange:#e57c32;--muted:#86766b;--line:#ddcfbf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--brown);font:16px/1.55 Arial,sans-serif}.topbar{height:80px;padding:10px 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid #eadfd2}.brand img{width:150px;height:58px;object-fit:contain;mix-blend-mode:multiply}.topbar nav{display:flex;gap:28px;align-items:center}.topbar nav a{color:var(--brown);text-decoration:none;font-size:12px;letter-spacing:.08em}.nav-btn,.btn{display:inline-flex;align-items:center;gap:20px;padding:15px 20px;text-decoration:none;font-size:12px;letter-spacing:.07em}.nav-btn,.gold{background:var(--gold);color:var(--brown)}.menu{display:none;border:0;background:none;font-size:24px;color:var(--brown)}h1,h2{font:400 clamp(48px,7vw,100px)/.98 Georgia,serif;letter-spacing:-.055em;margin:0}h1 em,h2 em{color:var(--orange);font-style:italic}.hero{min-height:calc(100vh - 80px);position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}.hero-bg,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,#1d120ccc,transparent 75%),linear-gradient(0deg,#1d120c77,transparent 45%)}.hero-content{position:relative;z-index:1;max-width:720px;padding:10vw 7vw}.eyebrow,.label{display:block;color:var(--gold);font-size:11px;letter-spacing:.2em;font-weight:700;margin-bottom:22px}.hero-content p:not(.eyebrow){max-width:470px;font-size:18px;color:#f6e9db;margin:30px 0}.meta{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin:24px 0 34px}.meta span:before{content:'·';color:var(--gold);margin-right:8px}.weather{position:absolute;right:7vw;bottom:15vh;z-index:2;font:32px Georgia,serif;border-left:1px solid #fff8;padding-left:18px}.weather small{display:block;font:11px Arial;margin-top:6px}.booking{background:var(--cream);padding:42px 7vw;display:flex;justify-content:space-between;gap:35px;align-items:end}.booking h2{font-size:46px}.fields{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.fields label{font-size:10px;display:flex;flex-direction:column;gap:7px;color:var(--muted)}input,select{border:1px solid var(--line);background:#fffaf1;padding:13px;color:var(--brown)}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--brown);color:var(--cream);padding:38px 8vw}.stats div{text-align:center;border-right:1px solid #fff3;padding:0 15px}.stats div:last-child{border:0}.stats b{display:block;font:48px Georgia,serif;color:var(--gold)}.stats span{text-transform:uppercase;font-size:11px;letter-spacing:.1em}.villa{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.villa>img{width:100%;height:100%;min-height:650px;object-fit:cover}.copy{padding:10vw 8vw}.copy>p,.services>p,.reviews>p,.faq>div>p{color:var(--muted);max-width:520px;font-size:17px}.cards,.review-grid,.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.cards article{background:#fffaf1;border:1px solid var(--line);padding:22px;color:var(--orange)}.cards h3,.service-grid h3{font:24px Georgia,serif;color:var(--brown);margin:10px 0 5px}.cards p,.service-grid p{color:var(--muted);font-size:13px}.amenities,.gallery,.reviews,.services,.faq{padding:10vw 8vw}.amenities{background:#fffaf1;display:grid;grid-template-columns:1fr 1fr;gap:15px}.amenities h2{font-size:52px}.tags{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.tags span{border:1px solid var(--line);padding:13px 16px;font-size:12px}.gallery{background:var(--cream)}.gallery>p{color:var(--muted);max-width:460px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:245px;gap:18px;margin-top:45px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:4px}.gallery-grid .tall{grid-row:span 2}.gallery-grid .wide{grid-column:span 2}.experiences{padding:10vw 8vw;background:var(--brown);color:var(--cream)}.experiences>p{color:#d9c7b8;max-width:480px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:50px 0}.experience-grid article{display:flex;gap:22px;padding:28px 0;border-top:1px solid #fff4;color:var(--gold);font-size:30px}.experience-grid article div{font-size:16px}.experience-grid small{color:#d9ae59;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.experience-grid h3{font:32px Georgia,serif;margin:8px 0;color:var(--cream)}.experience-grid p{color:#d9c7b8}.reviews{background:var(--paper)}.review-grid{grid-template-columns:repeat(3,1fr)}.review-grid blockquote{margin:0;background:#fff;border:1px solid var(--line);padding:27px;min-height:190px;color:var(--gold);letter-spacing:2px}.review-grid p{font:20px Georgia,serif;color:var(--brown);letter-spacing:0}.review-grid cite{font-size:11px;color:var(--muted);font-style:normal;letter-spacing:0}.services{background:#fff}.service-grid{grid-template-columns:repeat(4,1fr)}.service-grid article{padding:28px;border:1px solid var(--line);min-height:230px;color:var(--orange)}.service-grid article:first-child{border:2px solid var(--gold)}.service-grid a{color:var(--orange);font-size:12px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font:22px Georgia,serif;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary b{color:var(--orange)}.faq-list p{color:var(--muted)}.cta{background:var(--gold);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:9vw 8vw}.dark{background:var(--brown);color:#fff}.mark{text-align:center;font:54px Georgia,serif;line-height:.8}.mark strong{font-size:68px}.mark small{display:block;font:18px Arial;letter-spacing:.5em;margin-top:20px}footer{background:var(--brown);color:var(--cream);padding:70px 8vw 35px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px}footer img{width:170px;filter:brightness(0) invert(1)}footer h4{font-size:11px;letter-spacing:.15em;color:var(--gold)}footer a{display:block;color:var(--cream);text-decoration:none;font-size:13px;margin:12px 0}footer p{color:#d9c7b8;font-size:13px}.copyright{grid-column:1/-1;border-top:1px solid #fff3;padding-top:24px;color:#bba99d;font-size:11px}.floating{position:fixed;right:24px;bottom:22px;z-index:30;background:var(--gold);color:var(--brown);padding:15px 20px;text-decoration:none;font-size:12px;box-shadow:0 8px 25px #0002}@media(max-width:900px){.topbar nav{display:none}.topbar nav.open{display:flex;position:absolute;top:70px;right:5vw;flex-direction:column;align-items:flex-start;padding:22px;background:var(--cream);border:1px solid var(--line)}.menu{display:block}.hero{min-height:720px}.weather{bottom:90px}.booking,.amenities{display:block}.fields{margin-top:28px}.fields label,.fields .btn{width:100%}.stats{grid-template-columns:repeat(2,1fr);gap:25px}.stats div:nth-child(2){border:0}.villa{grid-template-columns:1fr}.villa>img{min-height:95vw}.copy{padding:16vw 8vw}.cards{grid-template-columns:1fr}.amenities h2{margin-bottom:30px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-grid .wide{grid-column:1/-1}.experience-grid,.review-grid,.service-grid{grid-template-columns:1fr}.faq,.cta{display:block}.cta{padding:18vw 8vw}.mark{margin-top:60px}footer{grid-template-columns:1fr 1fr;padding:55px 8vw 30px}footer>div:first-child,footer>div:last-of-type{grid-column:1/-1}.floating{right:12px;bottom:12px}.floating span{display:none}}