:root{--ink:#153c34;--dark:#10332c;--paper:#f5f2ea;--sand:#ddd5c6;--gold:#b49c74;--muted:#68726c;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}.skip-link{position:fixed;left:-999px;z-index:99;background:#fff;padding:10px}.skip-link:focus{left:10px;top:10px}.site-header{height:84px;padding:0 5.5vw;position:absolute;z-index:10;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s}.site-header.scrolled{position:fixed;height:68px;background:rgba(16,51,44,.94);box-shadow:0 4px 18px #001c152e;backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;color:inherit;text-decoration:none;font-family:var(--mono);font-size:12px;line-height:.9;letter-spacing:2px}.brand span:last-child{padding-left:8px}.main-nav{display:flex;gap:25px}.main-nav a,.footer-links a{color:inherit;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.7px}.main-nav a:hover,.footer-links a:hover{color:var(--gold)}.button{border:1px solid currentColor;border-radius:100px;text-transform:uppercase;letter-spacing:.8px;text-decoration:none;font-family:var(--mono);font-size:11px;font-weight:500;padding:13px 17px;display:inline-flex;gap:22px;align-items:center;justify-content:center;cursor:pointer;background:transparent;color:inherit;transition:.25s}.button:hover{transform:translateY(-2px);background:var(--ink);color:white}.button-cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button-cream:hover{background:#fff;color:var(--ink);border-color:#fff}.menu-toggle{display:none;background:transparent;border:0;color:#fff}.hero{height:min(820px,100vh);min-height:700px;color:#fff;position:relative;overflow:hidden}.hero-image,.contact-image{position:absolute;inset:0;background:url('assets/home/hero-villa.jpg') center/cover;transform:scale(1.02);animation:heroZoom 15s ease-out both}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,35,29,.78),rgba(8,35,29,.25) 68%,rgba(8,35,29,.15)),linear-gradient(0deg,rgba(8,35,29,.45),transparent 40%)}.hero-content{position:absolute;left:10vw;top:50%;max-width:700px;transform:translateY(-38%)}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:500;margin:0 0 20px}.light{color:#faf8f1}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-2px}h1{font-size:clamp(55px,7vw,105px);margin:0 0 24px}h1 em,h2 em{font-weight:500}h1 em{color:#e9dfcc}.hero-copy{font-size:17px;max-width:470px;line-height:1.55;margin-bottom:30px}.hero-actions{display:flex;gap:25px;align-items:center}.text-link{font-family:var(--mono);font-size:11px;letter-spacing:.7px;text-decoration:none;text-transform:uppercase;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-flex;gap:18px;align-items:center}.text-link:hover{color:var(--gold)}.hero-bottom{position:absolute;bottom:32px;left:5.5vw;right:5.5vw;display:flex;align-items:center;gap:18px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:1px}.hero-bottom .line{height:1px;opacity:.7;background:white;flex:1}.booking-wrap{position:relative;z-index:3;margin:-38px auto 0;width:min(1080px,90vw)}.booking-bar{background:#fff;border-radius:5px;box-shadow:0 10px 35px #17362b21;display:grid;grid-template-columns:1.6fr 1fr 1fr .8fr 130px;padding:10px}.booking-bar label{padding:8px 18px;border-right:1px solid #e8e6e0;display:flex;flex-direction:column;font:9px var(--mono);letter-spacing:1px;text-transform:uppercase;color:#718078}.booking-bar input,.booking-bar select{font:500 13px var(--sans);color:var(--ink);background:transparent;border:0;outline:0;padding:3px 0;max-width:100%}.booking-bar select{appearance:none}.search-button{border:0;background:var(--ink);color:white;text-transform:uppercase;font:11px var(--mono);letter-spacing:1px;cursor:pointer;transition:.2s}.search-button:hover{background:#265b4e}.section{padding:145px 8vw}.intro{display:grid;grid-template-columns:1.25fr 1fr;gap:10vw;align-items:center}.intro-image{position:relative;height:590px}.intro-image img{width:100%;height:100%;object-fit:cover}.image-note{position:absolute;right:-35px;bottom:40px;background:var(--ink);color:#fff;padding:16px 20px;font:10px var(--mono);letter-spacing:1px;text-transform:uppercase}.intro-copy{max-width:470px}.intro-copy h2,.section-heading h2,.faq h2{font-size:clamp(42px,4.2vw,65px);margin-bottom:25px}.intro-copy>p:not(.eyebrow){color:#53615b;margin-bottom:32px;font-size:16px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px}.section-heading h2{margin:0}.heading-copy{max-width:350px;color:#58635d;margin:0}.villa-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}.villa-card.offset{margin-top:70px}.card-image{display:block;height:435px;overflow:hidden;position:relative;background:var(--ink)}.card-image img,.journal-grid img,.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.card-image span{opacity:0;position:absolute;bottom:20px;left:20px;color:var(--ink);background:var(--paper);padding:10px 14px;font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;transition:.3s}.card-image:hover img,.gallery-item:hover img{transform:scale(1.07)}.card-image:hover span{opacity:1}.card-info{padding-top:18px}.card-meta{font:10px var(--mono);text-transform:uppercase;letter-spacing:.7px;color:#738078;margin-bottom:5px}.card-info h3,.journal-grid h3{font:500 27px var(--serif);margin-bottom:5px;letter-spacing:-.5px}.card-info p:not(.card-meta){color:#65716b;margin-bottom:8px}.card-info strong{font:500 11px var(--mono);letter-spacing:.3px}.card-info small{color:#768178}.signature{height:720px;position:relative;overflow:hidden;color:white}.signature>img{width:100%;height:100%;object-fit:cover}.signature:after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,#092d25be,transparent 70%)}.signature-overlay{position:absolute;z-index:1;left:10vw;top:50%;transform:translateY(-50%)}.signature h2{font-size:clamp(47px,5.7vw,82px);margin:0 0 30px}.signature-details{display:flex;gap:20px;flex-wrap:wrap;font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:32px}.signature-details span{border-bottom:1px solid #ffffff80;padding-bottom:6px}.centered{text-align:center;display:block;margin:0 auto 60px;max-width:600px}.centered>p:last-child{color:#67716c}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfcabf;border-bottom:1px solid #cfcabf}.feature-grid article{padding:30px 28px 30px 0;margin:25px 0 25px 28px;border-left:1px solid #cfcabf}.feature-grid article:first-child{border:0;margin-left:0}.feature-grid b,.steps b{font:10px var(--mono);letter-spacing:1px;color:var(--gold)}.feature-grid h3,.steps h3{font:500 25px var(--serif);margin:40px 0 8px}.feature-grid p,.steps p{color:#65716b;margin:0}.destination-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.destination{height:460px;overflow:hidden;position:relative;color:white;text-decoration:none}.destination img{width:100%;height:100%;object-fit:cover;transition:.6s}.destination:hover img{transform:scale(1.06)}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d3029bd,transparent 55%)}.destination div{position:absolute;z-index:1;bottom:24px;left:24px}.destination span{display:block;font:500 39px var(--serif)}.destination small{font:10px var(--mono);letter-spacing:.5px;text-transform:uppercase}.experiences{background:var(--dark);color:#fff;padding:130px 8vw;display:grid;grid-template-columns:1.1fr 1fr;gap:9vw}.experience-header h2{font-size:clamp(43px,4.5vw,68px);margin:0 0 32px}.experience-list{border-top:1px solid #ffffff55}.experience-list div{height:94px;border-bottom:1px solid #ffffff55;display:flex;align-items:center;gap:25px}.experience-list span{font:10px var(--mono);color:#b5bdb9}.experience-list strong{font:500 24px var(--serif);flex:1}.experience-list i{font-style:normal}.gallery-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:235px;gap:15px}.gallery-item{border:0;overflow:hidden;padding:0;cursor:zoom-in}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.testimonial{background:#e2dacb;min-height:540px;padding:100px 12vw;position:relative;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.quote-mark{font:90px var(--serif);line-height:.5;color:var(--gold);margin:0}.testimonial blockquote{font:500 clamp(31px,4vw,56px)/1.2 var(--serif);letter-spacing:-1px;max-width:1000px;margin:30px 0}.guest span{color:#a88a55;letter-spacing:4px;font-size:13px}.guest p{font-size:12px;margin:8px}.testimonial-count{position:absolute;bottom:35px;font:10px var(--mono);letter-spacing:1px}.testimonial-count span{color:#9b9384;padding:0 5px}.how{padding-bottom:80px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{min-height:250px;padding:25px;border-top:1px solid #bdb9ae;background:#efebe3}.steps h3{margin-top:48px}.journal{background:#ebe7dd}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.journal-grid img{height:270px}.journal-grid>article>p{font:10px var(--mono);text-transform:uppercase;letter-spacing:.7px;color:#69746d;margin:16px 0 7px}.journal-grid h3{font-size:25px;line-height:1.15;margin-bottom:15px}.faq{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw}.accordion details{border-top:1px solid #c8c6bc;padding:22px 0}.accordion details:last-child{border-bottom:1px solid #c8c6bc}.accordion summary{list-style:none;cursor:pointer;font:500 21px var(--serif);display:flex;justify-content:space-between}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font:20px var(--sans);transition:.2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:#65716b;max-width:580px;margin:15px 0 0}.contact{background:var(--dark);min-height:690px;color:#fff;position:relative;display:flex;align-items:center}.contact-image{opacity:.38;background-image:url('assets/home/contact-background.jpg')}.contact-content{position:relative;margin-left:10vw;max-width:600px;padding:80px 0}.contact h2{font-size:clamp(50px,5vw,76px);margin:0 0 20px}.contact-content>p:not(.eyebrow){max-width:420px;color:#d2dbd5;font-size:17px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.contact-form input,.contact-form select{border:0;border-bottom:1px solid #ffffff88;padding:14px 0;color:white;background:transparent;outline:0;font:14px var(--sans)}.contact-form select{color:#fff}.contact-form option{color:#000}.contact-form button{grid-column:1/-1;justify-self:start;margin-top:14px}.contact-phone{color:#fff;text-decoration:none;display:block;margin-top:45px;font:500 24px var(--serif)}.contact-phone span{font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;margin-left:14px}footer{background:#0b2822;color:#fff;padding:68px 8vw 30px;display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr 1fr;gap:25px;align-items:start}footer>div p{font:500 24px/1.1 var(--serif)}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-links a{font-size:10px}footer small{font:9px var(--mono);letter-spacing:.4px;color:#a5b2ad}.lightbox{position:fixed;z-index:99;inset:0;background:#061b16eF;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;right:5vw;top:25px;border:0;color:white;background:transparent;font-size:45px;cursor:pointer}.mobile-book{display:none}.reveal{opacity:0;transform:translateY(28px);transition:.7s ease}.reveal.in-view{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.11)}to{transform:scale(1.02)}}
@media(max-width:900px){.main-nav{display:none}.menu-toggle{display:block;width:36px;height:30px;position:relative}.menu-toggle i{width:25px;height:1px;background:currentColor;position:absolute;right:0;top:10px}.menu-toggle i+ i{top:18px;width:16px}.site-header.menu-open{background:var(--dark)}.site-header.menu-open .main-nav{position:absolute;display:flex;flex-direction:column;top:84px;left:0;right:0;padding:28px 5.5vw;background:var(--dark)}.intro{gap:6vw}.villa-grid{gap:18px}.card-image{height:350px}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid article:nth-child(3){border-left:0;margin-left:0}.destination-grid{grid-template-columns:1.3fr 1fr}.destination:last-child{display:none}.experiences{gap:5vw}.steps{grid-template-columns:1fr 1fr}.faq{gap:4vw}.site-header .header-cta{margin-left:auto;margin-right:18px}}
@media(max-width:620px){body{font-size:14px}.site-header{height:72px;padding:0 22px}.header-cta{display:none}.hero{min-height:680px}.hero-content{left:24px;right:24px;transform:translateY(-30%)}h1{font-size:55px}.hero-copy{font-size:15px}.hero-bottom{left:24px;right:24px}.booking-wrap{width:calc(100% - 30px);margin-top:-25px}.booking-bar{grid-template-columns:1fr 1fr;padding:5px}.booking-bar label{padding:8px 10px}.booking-bar label:nth-child(2){border:0}.booking-bar label:nth-child(3),.booking-bar label:nth-child(4){border-top:1px solid #e8e6e0}.search-button{grid-column:1/-1;padding:12px;margin-top:4px}.section{padding:85px 24px}.intro{grid-template-columns:1fr;gap:40px}.intro-image{height:400px}.image-note{right:0}.section-heading{display:block;margin-bottom:36px}.section-heading .text-link{margin-top:20px}.heading-copy{margin-top:15px}.villa-grid{grid-template-columns:1fr;gap:44px}.villa-card.offset{margin-top:0}.card-image{height:420px}.signature{height:590px}.signature-overlay{left:24px;right:24px}.signature h2{font-size:47px}.feature-grid{grid-template-columns:1fr}.feature-grid article,.feature-grid article:nth-child(3){border-left:0;border-top:1px solid #cfcabf;margin:0;padding:25px 0}.feature-grid article:first-child{border-top:0}.destination-grid{grid-template-columns:1fr}.destination{height:380px}.destination:last-child{display:block}.experiences{padding:85px 24px;grid-template-columns:1fr}.experience-list div{height:76px}.experience-list strong{font-size:19px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 1}.testimonial{min-height:480px;padding:80px 24px}.testimonial blockquote{font-size:31px}.steps{grid-template-columns:1fr}.steps article{min-height:0}.journal-grid{grid-template-columns:1fr;gap:45px}.journal-grid img{height:300px}.faq{grid-template-columns:1fr}.faq h2{margin-bottom:0}.contact-content{margin:0 24px}.contact-form{grid-template-columns:1fr}.contact h2{font-size:50px}footer{grid-template-columns:1fr 1fr;padding:55px 24px 90px;gap:30px}footer .brand,footer small{grid-column:1/-1}.mobile-book{position:fixed;display:flex;z-index:20;bottom:15px;left:15px;right:15px;background:var(--paper);color:var(--ink);box-shadow:0 5px 20px #0004;border-radius:2px;padding:15px 20px;justify-content:space-between;text-decoration:none;font:11px var(--mono);text-transform:uppercase;letter-spacing:.8px}.contact-phone{font-size:19px}}
