:root{--ink:#133f3b;--paper:#f8faf9;--cream:#edf3ef;--gold:#c3dbcf;--muted:#526c64;--line:#d7e3dc}body{background:var(--paper);color:var(--ink)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}html{scroll-padding-top:24px}.overline{font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 16px;color:#447367}h1 em,h2 em{font-style:normal;color:#639882}.pill{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;border-radius:999px;padding:14px 26px;font-weight:700;text-decoration:none;border:1px solid transparent;font-size:17px;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-2px)}.pill-dark{background:#133f3b;color:white;box-shadow:0 5px 16px #133f3b14}.pill-light{background:#e2efe6;color:#133f3b}.collection-header{padding:12px clamp(18px,4vw,72px) 0;background:#fff;border-bottom:1px solid var(--line)}.header-row{max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.identity{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none;font-size:21px;font-weight:700;line-height:1.2}.identity img{display:block;width:88px;height:88px;object-fit:contain;border-radius:50%;background:white}.identity small{display:block;font-size:14px;font-weight:400;margin-top:7px;color:#587c6e}.main-nav{display:flex;gap:30px;align-items:center}.main-nav a{text-decoration:none;font-size:17px;padding:14px 0}.main-nav a:hover{color:#638b76}.header-social-row{max-width:1500px;margin:10px auto 0;padding:10px 0;border-top:1px solid #ecf0ec;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;color:#4d6c62}.social-pills{display:flex;flex-wrap:wrap;gap:8px}.social-pills a{display:inline-flex;gap:14px;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border:1px solid #ceddd4;border-radius:999px;font-size:14px;text-decoration:none;transition:background .2s}.social-pills a:hover{background:#e5eee7}.social-pills a[href*="whatsapp"]{background:#dceee4;border-color:#dceee4;color:#133f3b}.collection-header .menu-toggle{display:none}.villa-intro,.featured-photos,.stay-strip,.film-section,.guest-notes,.collection-page{max-width:1500px;margin-inline:auto;padding-inline:clamp(20px,4vw,72px)}.villa-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;padding-top:65px;padding-bottom:40px}.villa-intro h1,.gallery-heading h1{font:600 clamp(44px,5.1vw,78px)/1.07 'Frank Ruhl Libre',serif;letter-spacing:-.035em;margin:0}.intro-side{max-width:480px}.intro-side p{font-size:19px;line-height:1.8;margin:0 0 24px;color:#45655a}.featured-photos{padding-top:24px}.section-line{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.section-line h2{font-size:clamp(29px,3vw,44px)}.section-line .overline{margin-bottom:9px}.section-line>p{font-size:16px;color:#597168;margin:0}.five-photos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(400px,39vw,570px);gap:12px;direction:rtl}.photo-open{position:relative;display:block;min-width:0;width:100%;height:100%;padding:0;border:0;border-radius:20px;overflow:hidden;background:#e1e8e1;cursor:pointer;text-align:right}.photo-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-open:hover img{transform:scale(1.035)}.photo-open>span{position:absolute;bottom:0;right:0;left:0;padding:42px 18px 15px;background:linear-gradient(transparent,#082a20b3);color:white;font-size:16px;font-weight:600}.five-photos .photo-open:first-child{grid-row:1/3}.gallery-invitation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.gallery-invitation>span{color:#60766a;font-size:16px}.stay-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:40px;padding-bottom:40px;margin-block:35px;border-block:1px solid var(--line)}.stay-strip>span{display:flex;align-items:center;gap:18px;font-size:16px}.stay-strip b{font:500 52px/1 'Frank Ruhl Libre',serif}.film-section{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center;padding-block:60px 90px}.film-frame{position:relative;aspect-ratio:16/10;border-radius:28px;overflow:hidden;background:#123d37}.film-frame video{width:100%;height:100%;object-fit:cover}.film-frame .hero-video-toggle{bottom:18px;left:18px;background:#102f2cbb}.film-copy h2,.guest-notes h2{font-size:clamp(34px,3.2vw,49px)}.film-copy>p:not(.overline){font-size:18px;line-height:1.8;color:#526c60}.text-action{display:inline-block;text-decoration:none;border-bottom:1px solid #729681;padding:8px 0;font-weight:700}.guest-notes{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding-block:90px}.guest-notes>div>p:not(.overline){max-width:400px;color:#526c60}.guest-notes summary{font-size:20px;min-height:40px}.guest-notes details{padding-block:20px}.booking{background:#e5eee9;color:#133f3b;padding:70px clamp(20px,4vw,72px);gap:50px}.booking-intro>p:last-child{color:#526c60}.booking-card,.calendar,.reservation-calendar,.reservation-card{border-radius:24px!important;box-shadow:0 10px 32px #153b3010}.booking input,.booking select{border-radius:14px!important}.button,.reservation-next,.checkout-submit{border-radius:999px!important}.collection-footer{display:block;background:#123c36;color:#eff7f1;padding:60px clamp(20px,4vw,72px) 25px}.footer-callout{max-width:1356px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:50px;border-bottom:1px solid #ffffff28}.footer-callout h2{font-size:clamp(43px,5vw,76px)}.footer-callout h2 em{color:#b5d6c0}.collection-footer .overline{color:#c0d6c7}.footer-columns{max-width:1356px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding:45px 0}.footer-columns h3{font-size:17px;margin:0 0 22px;color:#cee1d3}.footer-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-columns nav a{text-decoration:none;font-size:16px}.footer-columns nav a:hover{text-decoration:underline}.footer-columns p{font-size:16px;color:#c4d6ca;line-height:1.8}.collection-footer .identity{font-size:18px}.collection-footer .identity small{color:#c4d6ca}.collection-footer .identity img{width:76px;height:76px}.collection-footer .social-pills a{border-color:#ffffff40}.collection-footer .social-pills a:hover{color:#133f3b}.footer-phone{color:white;font-size:22px}.footer-fine{max-width:1356px;margin:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;border-top:1px solid #ffffff28;padding-top:24px;font-size:14px;color:#bdd0c3}.footer-fine a{text-decoration:none}.gallery-heading{padding:65px 0 35px}.gallery-heading>p:not(.overline){color:#587568}.category-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.category-pills a{padding:11px 19px;border:1px solid var(--line);border-radius:999px;background:white;text-decoration:none;min-height:44px;font-size:16px}.category-pills a:hover{background:#e1eee5}.photo-category{padding:30px 0 45px;scroll-margin-top:20px}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.category-grid .photo-open{aspect-ratio:4/3}.photo-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));border:0;background:#07120f;color:white;overflow:hidden}.photo-dialog[open]{display:flex;flex-direction:column}.photo-dialog::backdrop{background:#07120f}.photo-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 6px 12px;flex-shrink:0;gap:15px;font-size:17px}.photo-close{color:white;background:#ffffff12;border:1px solid #ffffff50;border-radius:999px;padding:9px 18px;min-height:44px;cursor:pointer}.photo-stage{flex:1;min-height:0;position:relative;display:grid;place-items:center}.photo-stage img{width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom}.photo-prev,.photo-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #ffffff66;border-radius:50%;background:#07120faa;color:white;font:32px Arial;cursor:pointer}.photo-prev{left:8px}.photo-next{right:8px}#photo-count{direction:ltr;text-align:center;font-size:15px;flex-shrink:0;margin:10px 0 0}
@media(min-width:1600px){.five-photos{height:610px}}
@media(max-width:1100px){.main-nav{gap:17px}.identity{font-size:18px}.identity img{width:70px;height:70px}.header-row{gap:15px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-intro{gap:35px}.film-section{gap:35px}.stay-strip>span{font-size:14px}}
@media(max-width:760px){.collection-header{padding:10px 18px 0}.header-row{flex-wrap:wrap;gap:12px}.identity{gap:9px;font-size:17px}.identity img{width:62px;height:62px}.identity small{font-size:13px;margin-top:5px}.collection-header .booking-link{margin-inline-start:auto;font-size:14px;padding:10px 15px;min-height:44px}.collection-header .menu-toggle{display:block;color:#133f3b;font-size:23px;padding:8px;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%}.main-nav{display:none;order:5;width:100%;padding:12px 0;grid-template-columns:1fr 1fr;gap:8px}.main-nav.open{display:grid}.main-nav a{text-align:center;padding:10px;background:#eef4ef;border-radius:999px}.header-social-row{justify-content:center;margin-top:9px;padding:9px 0}.header-social-row>span{display:none}.social-pills{gap:7px}.social-pills a{font-size:14px;padding:8px 13px;gap:10px}.villa-intro{grid-template-columns:1fr;gap:20px;padding-top:35px;padding-bottom:20px}.villa-intro h1{font-size:clamp(42px,8.8vw,64px)}.intro-side p{font-size:17px;line-height:1.7;margin-bottom:18px}.intro-side .pill{font-size:16px;min-height:48px;padding:12px 20px}.section-line{gap:12px;margin-bottom:17px}.section-line>p{display:none}.five-photos{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:9px}.five-photos .photo-open{aspect-ratio:4/3;border-radius:15px}.five-photos .photo-open:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.photo-open>span{font-size:14px;padding:35px 12px 11px}.gallery-invitation>span{font-size:14px}.gallery-invitation .pill{padding:12px 18px;font-size:16px;gap:12px}.stay-strip{grid-template-columns:1fr;gap:18px;padding-block:27px;margin-block:30px}.stay-strip>span{font-size:16px;gap:20px}.stay-strip b{font-size:39px;min-width:66px}.film-section{grid-template-columns:1fr;gap:25px;padding-block:10px 45px}.film-frame{aspect-ratio:4/3;border-radius:20px}.film-copy h2{font-size:37px}.guest-notes{grid-template-columns:1fr;gap:20px;padding-block:50px}.guest-notes summary{font-size:18px}.collection-footer{padding-top:40px}.footer-callout{display:block;padding-bottom:30px}.footer-callout .pill{margin-top:25px;font-size:15px;padding:14px 20px}.footer-columns{gap:32px 20px;padding-block:32px}.footer-brand{grid-column:1/-1}.footer-columns>div:last-child{grid-column:1/-1}.footer-columns h3{margin-bottom:12px}.footer-fine{display:grid}.gallery-heading{padding-top:36px}.gallery-heading h1{font-size:48px}.category-grid{grid-template-columns:1fr;gap:16px}.category-grid .photo-open{aspect-ratio:4/3}.photo-category{padding-bottom:25px}.photo-dialog{padding-inline:0}.photo-toolbar{padding-inline:12px}.photo-prev,.photo-next{width:44px;height:44px}.booking{padding:45px 18px}}
@media(max-width:390px){.collection-header .booking-link{font-size:13px;padding:10px 12px}.identity>span{font-size:15px}.identity img{width:48px;height:48px}.header-row{gap:7px}.collection-header .menu-toggle{min-width:40px;width:40px;padding:4px}.gallery-invitation>span{max-width:90px}}
@media(prefers-reduced-motion:reduce){.pill,.photo-open img,.social-pills a{transition:none}.pill:hover,.photo-open:hover img{transform:none}}
.google-reviews{max-width:1356px;margin:30px auto 70px;padding:32px;border:1px solid var(--line);border-radius:24px;background:white}.review-cards{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-block:18px}.review-card{flex:0 0 min(85vw,360px);border:1px solid var(--line);border-radius:20px;padding:22px;scroll-snap-align:start}.review-card header{display:flex;align-items:center;gap:12px}.review-card header img{border-radius:50%}.review-card header p,.review-note{font-size:14px;color:#526c64}.review-card>p{white-space:pre-wrap;font-size:17px}.review-card a{font-size:14px}.maps-attribution{font-family:Arial,sans-serif;font-style:normal;font-weight:400;font-size:14px;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}.review-rating{font-weight:700}@media(max-width:760px){.google-reviews{margin:20px 16px 45px;padding:20px}.google-reviews .section-line{display:block}.google-reviews .pill{margin-top:18px;font-size:15px}}
@media(max-width:760px){.header-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px}.collection-header .menu-toggle{display:block!important;grid-column:2;grid-row:1;background:white}.collection-header .booking-link{grid-column:1/-1;margin:0}.main-nav{grid-column:1/-1}.identity{min-width:0}.header-social-row .social-pills{justify-content:center;flex-wrap:nowrap;gap:5px}.header-social-row .social-pills a{font-size:13px;padding:8px 10px;gap:7px}}
