@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Inter:wght@400;500&family=Playfair+Display:ital@0;1&display=swap');
:root{--paper:#f3f0e7;--ink:#17221e;--muted:#737770;--sand:#ddd8ca;--deep:#10241e;--white:#fff;--line:#17221e2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}a{text-decoration:none;color:inherit;cursor:pointer}button{font:inherit}img,video{display:block;width:100%}.mono,.eyebrow,.nav a,.meta,.caption,.cta,.small{font:8px 'DM Mono';letter-spacing:.15em;text-transform:uppercase}.site-header{position:fixed;z-index:50;inset:0 0 auto;height:82px;padding:0 4vw;display:flex;align-items:center;color:#fff;border-bottom:1px solid #fff3;background:linear-gradient(#0007,transparent)}.site-header.light{position:relative;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line)}.logo{font:20px 'Playfair Display';letter-spacing:.2em}.site-nav{display:flex;gap:28px;margin:auto}.site-header .menu{display:none;background:none;border:0;color:inherit}.hero{height:100svh;min-height:700px;position:relative;color:#fff;overflow:hidden}.hero video{height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(#0008,transparent 42%,#0008)}.hero .meta{position:absolute;z-index:2;top:110px;left:4vw;right:4vw;display:flex;justify-content:space-between}.hero-copy{position:absolute;z-index:2;left:7vw;bottom:14vh}.hero-copy small{font:8px 'DM Mono';letter-spacing:.18em}.hero h1{font-size:clamp(76px,10vw,154px);font-weight:400;line-height:.77;letter-spacing:-.08em;margin:24px 0 36px}.hero h1 em,h2 em{font-family:'Playfair Display';font-weight:400}.play{border:1px solid #fff8;background:#ffffff16;color:#fff;border-radius:40px;padding:14px 21px;font:8px 'DM Mono';letter-spacing:.15em}.hero-bottom{position:absolute;z-index:2;left:4vw;right:4vw;bottom:24px;display:flex;justify-content:space-between}.section{padding:10vw 7vw}.two-col{display:grid;grid-template-columns:.55fr 1.45fr}.eyebrow{color:var(--muted)}.eyebrow span{margin-left:18px}.section h2,.split h2,.dark h2,.page-hero h1{font-weight:400;letter-spacing:-.075em;line-height:.84;margin:0}.section h2{font-size:clamp(60px,7.4vw,110px)}.lead{max-width:530px;color:var(--muted);line-height:1.75}.arrow{display:inline-block;margin-top:30px;padding-bottom:7px;border-bottom:1px solid;font:8px 'DM Mono';letter-spacing:.14em}.arrow b{margin-left:24px}.reveal{opacity:0;transform:translateY(55px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.reveal.on{opacity:1;transform:none}.image-reveal{overflow:hidden}.image-reveal img{transform:scale(1.12);transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}.image-reveal.on img{transform:scale(1)}.split{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px}.split img{height:100%;min-height:720px;object-fit:cover}.split-copy{padding:8vw 6vw;background:var(--sand);display:flex;flex-direction:column;justify-content:center}.split h2{font-size:clamp(56px,6.4vw,96px);margin:24px 0}.pillbar{display:flex;gap:10px;flex-wrap:wrap;margin:45px 0}.pill{border:1px solid var(--line);background:transparent;border-radius:30px;padding:11px 16px;font:8px 'DM Mono';letter-spacing:.13em}.pill.active{background:var(--ink);color:#fff}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.feature img{height:100%;min-height:560px;object-fit:cover}.feature-copy{padding:7vw;background:#e3dfd2;display:flex;flex-direction:column;justify-content:center}.feature-copy h3{font:400 clamp(44px,5vw,74px) 'Playfair Display';line-height:.9;margin:24px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card .photo{height:470px;overflow:hidden;position:relative}.card .photo img{height:100%;object-fit:cover;transition:transform 1s}.card:hover .photo img{transform:scale(1.06)}.card .photo span{position:absolute;top:18px;left:18px;color:#fff;font:8px 'DM Mono'}.card small{display:block;margin-top:18px;color:var(--muted)}.card h3{font:400 30px 'Playfair Display';margin:11px 0}.dark{background:var(--deep);color:#f4f0e7}.dark .lead{color:#aeb6af}.dark .arrow{color:#fff}.villa{display:grid;grid-template-columns:.95fr 1.05fr;min-height:760px}.villa img{height:100%;min-height:760px;object-fit:cover}.villa-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.villa-copy h2{font-size:clamp(58px,6.8vw,100px);margin:24px 0}.wide{height:78vh;min-height:620px;position:relative;color:#fff;overflow:hidden}.wide img{height:100%;object-fit:cover;transform:scale(1.04);transition:transform 2s}.wide.on img{transform:scale(1)}.wide:after{content:'';position:absolute;inset:0;background:#0005}.wide-content{position:absolute;z-index:2;left:7vw;bottom:10vw}.wide h2{font-size:clamp(66px,8vw,125px);margin:24px 0}.editorial{display:grid;grid-template-columns:.55fr 1.45fr;background:#e3dfd2}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.journal-card img{height:320px;object-fit:cover}.journal-card small{display:block;color:var(--muted);margin-top:18px}.journal-card h3{font:400 28px 'Playfair Display';margin:10px 0}.reserve{padding:13vw 7vw;text-align:center;background:var(--deep);color:#f4f0e7}.reserve h2{font-size:clamp(80px,10vw,155px);margin:30px 0 60px}.reserve .cta{display:inline-block;border:1px solid #fff7;padding:18px 25px}.page-hero{padding:8vw 7vw 6vw;background:var(--sand)}.page-hero h1{font-size:clamp(70px,10vw,150px);margin-top:30px}.page-hero p{max-width:650px;color:var(--muted);line-height:1.7;font-size:16px}.listing{padding:7vw}.listing-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 30px}.listing-item img{height:560px;object-fit:cover}.listing-item h2{font:400 42px 'Playfair Display';margin:20px 0 8px}.listing-item p{color:var(--muted);line-height:1.7}.booking{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.booking img{height:100%;min-height:720px;object-fit:cover}.booking-form{padding:7vw;background:#e3dfd2}.field{border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:5px}.field label{display:block;font:8px 'DM Mono';letter-spacing:.15em;color:var(--muted);margin-bottom:9px}.field input,.field select{width:100%;border:0;background:none;outline:0;font:17px Inter;color:var(--ink)}.submit{margin-top:35px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:17px 22px;font:8px 'DM Mono';letter-spacing:.14em}.footer{padding:38px 4vw;display:flex;justify-content:space-between;color:var(--muted);font:8px 'DM Mono';letter-spacing:.12em;border-top:1px solid var(--line)}.film{position:fixed;inset:0;background:#07110e;z-index:90;display:none;align-items:center;justify-content:center}.film.open{display:flex}.film video{width:88%;height:82%;object-fit:cover}.film button{position:absolute;right:4vw;top:4vw;color:#fff;background:none;border:0;font:8px 'DM Mono';letter-spacing:.15em}.loader{position:fixed;inset:0;background:var(--deep);z-index:100;display:flex;align-items:center;justify-content:center;color:#fff;animation:out 1.5s forwards}.loader span{font:20px 'Playfair Display';letter-spacing:.22em}@keyframes out{0%,70%{opacity:1}100%{opacity:0;visibility:hidden}}@media(max-width:850px){.site-nav,.site-header>.book-link{display:none}.site-header .menu{display:block;margin-left:auto}.two-col,.split,.feature,.villa,.booking,.editorial{grid-template-columns:1fr}.cards,.listing-grid,.journal-grid{grid-template-columns:1fr}.split img,.villa img,.booking img{min-height:520px}.feature img{min-height:440px}.card .photo{height:390px}.page-hero{padding-top:16vw}.footer{flex-direction:column;gap:18px}}
