:root{--ink:#183b32;--green:#123c32;--deep:#0c2a23;--gold:#c7a460;--paper:#fbfaf7;--line:#dce2dc;--muted:#54675f;--soft:#edf2ed;--white:#fff;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a,button,input,select,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #96752f}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.5vw,5rem);margin-bottom:1.4rem}h2{font-size:clamp(2.2rem,4vw,3.5rem)}h3{font-size:1.45rem;line-height:1.3}h4{font:400 1.7rem/1.2 Georgia,serif}h1 em,h2 em{font-weight:400;color:#667f69}p{margin-bottom:1.2rem}small,.muted{font-size:.875rem;color:var(--muted)}[hidden]{display:none!important}.wrap{max-width:1260px;width:calc(100% - 96px);margin:auto}.section{padding:80px 0}.narrow{max-width:780px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.3rem}.review-banner{text-align:center;background:#f1e5bd;color:#4c421f;font-size:.8125rem;padding:8px 24px}.nav{display:flex;align-items:center;gap:28px;justify-content:space-between;padding:25px 48px;background:var(--green);color:white}.brand{display:inline-flex;flex-direction:column;font-size:1.65rem;line-height:1.3;font-weight:750;letter-spacing:.16em;text-decoration:none}.brand span{font-size:.625rem;letter-spacing:.24em}.nav nav{display:flex;gap:25px;flex-wrap:wrap}.nav nav a{text-decoration:none;font-size:.9rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:14px 24px;background:var(--green);color:white;border:1px solid var(--green);border-radius:3px;text-decoration:none;font-weight:600;line-height:1.5}.button:hover{background:var(--deep);color:white}.button.small{font-size:.875rem;padding:10px 16px}.nav .button{border-color:#638075}.button.light{background:#faf8f0;color:var(--green);border-color:#faf8f0}.button.outline{background:transparent;color:var(--green)}.button.outline:hover{background:var(--soft)}.skip{position:absolute;left:12px;top:-90px;z-index:20;background:white;padding:8px}.skip:focus{top:12px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:white;min-height:600px}.hero-copy{padding:85px max(48px,calc((100vw - 1164px)/2));padding-right:42px;align-self:center}.hero h1{font-size:clamp(3rem,5.3vw,5.5rem)}.hero h1 em{color:#e0c68b}.hero-copy>p:not(.eyebrow){color:#d4e0d7}.hero-photo{margin:0;position:relative;min-height:550px}.hero-photo img{width:100%;height:100%;position:absolute}.hero-photo figcaption{position:absolute;bottom:20px;left:25px;color:white;background:#102a21bf;font-size:.8125rem;padding:7px 12px}.search-section{padding-top:28px}.search-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr auto;gap:20px;align-items:end;border-bottom:1px solid var(--line);padding:0 0 24px}.search-section>.muted{margin-top:12px}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:30px}.section-head h2{margin-bottom:0}.section-head>p{max-width:370px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.chip{border:1px solid #b9c7bc;background:transparent;padding:8px 18px;border-radius:30px;text-decoration:none;font-size:.875rem;color:var(--ink)}.chip.active,.chip:hover{background:var(--green);color:white;border-color:var(--green)}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.villa-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cover{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}.cover img{width:100%;height:100%;transition:transform .3s}.cover:hover img{transform:scale(1.025)}.cover span{position:absolute;bottom:14px;right:14px;background:#fff;padding:5px 10px;font-size:.8125rem;border-radius:4px}.card-body{padding:25px}.card-body .eyebrow{font-size:.7rem;margin-bottom:14px}.card-body h3 a{text-decoration:none}.spec-line{font-size:.875rem;color:var(--muted)}.card-body>p:not(.eyebrow){font-size:.95rem}.card-price{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.card-price strong,.card-price small{display:block}.text-link{font-weight:600;text-decoration:none;border-bottom:1px solid #c6aa6f;padding-bottom:5px;font-size:.95rem}.guide-section{background:var(--soft)}.destination-guide{padding-top:40px;padding-bottom:30px;border-top:1px solid #d0dbd1;margin-top:35px}.destination-guide>h3{font:400 2.3rem/1.2 Georgia,serif;margin-bottom:15px}.guide-intro{max-width:720px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}.article-grid article{background:var(--paper);padding:28px;border-radius:var(--radius)}.tag{display:inline-block;font-size:.75rem;font-weight:650;background:#e5ece5;padding:3px 9px;border-radius:20px;margin-bottom:20px}.article-grid p{font-size:.95rem}.source{font-size:.8125rem;color:var(--muted);display:inline-block;margin-top:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{border-top:1px solid #8ba291;padding:25px 0}.service-grid h3{font:400 1.65rem/1.2 Georgia,serif}.promise{display:grid;grid-template-columns:repeat(4,1fr);background:var(--green);color:white;padding:50px max(48px,calc((100vw - 1164px)/2));gap:26px}.promise div{border-left:1px solid #59756a;padding-left:24px}.promise strong{font:400 1.7rem/1.2 Georgia,serif;color:#e6cb92}.promise p{font-size:.875rem;margin:12px 0 0;color:#d1dfd4}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:15px 0}summary{font-weight:600;cursor:pointer}details p{margin:15px 0}.contact{text-align:center;border-top:1px solid var(--line)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:25px 0}.contact .actions{justify-content:center}.footer{display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:40px;background:var(--deep);color:#e7ede7;padding:55px 48px}.footer a:not(.brand){display:block;margin-bottom:10px;font-size:.875rem}.footer p{font-size:.875rem;margin:20px 0 0;color:#b7c9be}.footer small{color:#b7c9be}.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:30px 0 55px;padding-bottom:12px}.gallery figure{flex:0 0 70%;margin:0;scroll-snap-align:start}.gallery figure:first-child{flex-basis:82%}.gallery img{width:100%;aspect-ratio:16/10;border-radius:6px}.gallery figcaption{font-size:.8125rem;color:var(--muted);margin-top:8px}.detail-title{max-width:970px;font-size:clamp(2.5rem,4.8vw,4.2rem)}.booking-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:40px;align-items:start;margin-top:40px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:24px}.panel h2{font:600 1.35rem/1.3 system-ui,sans-serif;letter-spacing:0;margin-bottom:25px}.panel h3{font-size:1.15rem}.sticky{position:sticky;top:25px}.panel .button{width:100%}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0;border-block:1px solid var(--line);padding:24px 0}.specs strong{display:block;font-size:1.4rem}.specs div{font-size:.875rem}.amenities{columns:2;padding-left:20px}.amenities li{padding-bottom:10px}.steps{display:flex;gap:25px;list-style:none;padding:0;margin:0 0 40px;font-size:.875rem;flex-wrap:wrap}.steps li{border-bottom:2px solid var(--line);padding-bottom:10px}.steps [aria-current]{border-color:var(--green);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:flex;flex-direction:column;font-size:.875rem;font-weight:600;gap:8px;margin-bottom:20px}input,select,textarea{width:100%;border:1px solid #aabbb0;border-radius:4px;background:white;padding:12px;color:var(--ink);font-size:1rem;min-width:0}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--green);margin-top:4px}.addon,.check{display:flex;flex-direction:row;gap:14px;align-items:start;font-weight:400}.addon{border:1px solid var(--line);padding:17px;border-radius:5px}.addon:has(input:checked){border-color:var(--green);background:#f2f6f1}.addon span span,.addon small,.addon b{display:block;margin-top:7px}.addon span span{font-size:.875rem;color:var(--muted)}.addon b{font-size:.8125rem}.notice{background:#edf2e8;border-left:3px solid #9c8144;padding:22px;margin:24px 0}.notice h3{font-size:1.05rem}.notice p:last-child{margin-bottom:0}.error{border:1px solid #b06a5d;background:#fff0eb;padding:22px}.error h2{font:600 1.2rem system-ui}.price-list{margin:20px 0}.price-list>div{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:13px 0}.price-list dt{font-size:.9rem}.price-list dd{text-align:right;margin:0;font-size:.9rem;font-weight:600}.price-list .total{font-size:1.2rem;border-top:2px solid var(--green);margin-top:10px}.legal-hero{background:var(--green);color:white;padding:55px 0}.legal-hero h1{font-size:clamp(2.5rem,4vw,4rem)}.legal-hero p{max-width:700px}.legal-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:65px;justify-content:center}.legal-toc{position:sticky;top:25px;align-self:start;font-size:.875rem}.legal-toc a{display:block;border-bottom:1px solid var(--line);padding:9px 0;text-decoration:none}.legal-body{background:white;border:1px solid var(--line);border-radius:8px;padding:40px}.legal-body h2{font:600 1.25rem/1.4 system-ui;letter-spacing:0;padding-top:20px;margin-bottom:14px}.legal-body p,.legal-body li{font-size:1rem;line-height:1.8}.legal-body section{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.legal-links{display:flex;gap:18px;flex-wrap:wrap;font-size:.875rem}.language{display:flex;gap:6px;font-size:.8125rem;white-space:nowrap}.language a{padding:3px 5px;text-decoration:none}.language a[aria-current]{border-bottom:1px solid var(--gold);color:#f4d998}.review{margin:0;background:linear-gradient(160deg,#fff,var(--soft));border:1px solid #d8e2da;border-left:3px solid var(--gold);border-radius:12px;padding:22px 24px 20px;box-shadow:0 1px 8px rgba(18,60,50,.06)}.review .stars{display:block;color:var(--gold);letter-spacing:2px;font-size:.95rem;margin:6px 0 12px}.review blockquote{margin:0 0 18px;font:400 1.4rem/1.5 Georgia,serif;color:var(--deep)}.review figcaption{font-size:.875rem}@media(max-width:1050px){.nav{padding:20px 25px;gap:20px;flex-wrap:wrap}.nav nav{order:3;width:100%;justify-content:center;gap:20px}.wrap{width:calc(100% - 48px)}.hero-copy{padding:50px 30px}.search-bar{grid-template-columns:repeat(2,1fr)}.search-bar .button{grid-column:span 2}.villa-grid{gap:16px}.card-body{padding:20px}.section-head{gap:30px}.promise{padding:40px 25px;grid-template-columns:repeat(2,1fr)}.booking-grid{gap:24px}.legal-layout{gap:30px;grid-template-columns:180px minmax(0,1fr)}}@media(max-width:760px){.section{padding:50px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 24px}.hero-photo{min-height:360px}.nav .button{display:none}.nav nav{gap:14px;justify-content:flex-start}.nav nav a{font-size:.8125rem}.villa-grid,.article-grid,.service-grid{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:22px}.villa-card .cover{aspect-ratio:16/10}.promise{gap:28px 18px}.promise strong{font-size:1.4rem}.promise div{padding-left:14px}.faq,.booking-grid,.legal-layout{grid-template-columns:1fr;gap:25px}.footer{grid-template-columns:1fr;padding:40px 24px;gap:25px}.sticky{position:static}.legal-toc{position:static}.legal-body{padding:24px}.panel{padding:23px}.form-grid.three{gap:10px}.form-grid.three label{font-size:.8rem}.specs{gap:10px}.gallery figure,.gallery figure:first-child{flex-basis:94%}.gallery img{aspect-ratio:4/3}.steps{gap:14px;font-size:.75rem}.search-bar{gap:12px}.search-bar label{font-size:.8rem}.search-bar input{padding:10px 6px}.hero h1{font-size:3.25rem}}@media(max-width:400px){.wrap{width:calc(100% - 32px)}.form-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr}.promise{grid-template-columns:1fr}.hero h1{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.nav,.footer,.review-banner,.actions,.button,.legal-toc{display:none}.wrap{width:100%}.booking-grid,.legal-layout{display:block}.sticky{position:static}.panel,.legal-body{border:0;padding:10px}body{background:white;color:black}}
.guide-article{display:flex;flex-direction:column}.article-grid .guide-article .article-photo{width:100%;margin:0 0 14px;border-radius:6px;overflow:hidden;line-height:0}.article-grid .guide-article .article-photo img{width:100%!important;max-width:100%!important;height:170px!important;object-fit:cover!important;object-position:center;display:block}
.service-card{display:flex;flex-direction:column;border-top:none!important;padding:0!important;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.service-grid .service-card .service-photo{width:100%;margin:0;line-height:0}.service-grid .service-card .service-photo img{width:100%!important;max-width:100%!important;height:170px!important;object-fit:cover!important;object-position:center;display:block}
.service-body{padding:20px 22px 26px}.service-body h3{margin-top:6px}
.story-destinations{display:flex;flex-direction:column;gap:28px;margin-top:30px}
.story-dest{background:linear-gradient(160deg,var(--soft) 0%,#fff 65%);border:1px solid var(--line);border-radius:14px;padding:26px 26px 30px;box-shadow:0 2px 14px rgba(18,60,50,.05)}
.story-dest h3{display:flex;align-items:center;gap:10px;font:400 1.3rem/1.2 Georgia,serif;color:var(--deep);margin:0 0 18px}
.story-dest-icon{font-size:1.4rem;line-height:1;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(18,60,50,.12)}
.story-dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.story-slot{background:linear-gradient(160deg,#fff,var(--soft));border:1px solid #d8e2da;border-radius:12px;padding:26px 22px 22px;position:relative;text-align:center;box-shadow:0 1px 8px rgba(18,60,50,.06);transition:transform .2s}
.story-avatar{display:block;width:40px;height:40px;line-height:40px;border-radius:50%;background:var(--deep);margin:0 auto 8px;font-size:1.1rem}
.story-slot .quote-mark{display:block;font:400 2.4rem/1 Georgia,serif;color:var(--gold);opacity:.65;margin-bottom:2px}
.story-slot h4{margin:0 0 6px;font:400 1.02rem/1.2 Georgia,serif;color:var(--deep)}
.story-slot p{font-size:.85rem;color:var(--muted);margin:0}
.story-cta{text-align:center;margin-top:36px;padding:34px 24px;border-radius:16px;background:linear-gradient(135deg,var(--deep),var(--green));box-shadow:0 6px 24px rgba(12,42,35,.18)}
.story-cta p{color:#e4ebe6;max-width:480px;margin:0 auto 18px}
.story-cta .button{background:var(--gold);color:var(--deep);border-color:var(--gold);font-weight:700;padding:.85rem 1.6rem}
.review .tag.verified{background:transparent;color:var(--muted);padding:0;font-weight:400}
@media(max-width:900px){.story-dest-grid{grid-template-columns:1fr}}
