:root{--ink:#173431;--deep:#082522;--sand:#f5efe4;--cream:#fffaf2;--wood:#b9824d;--aqua:#74c9c7;--coral:#e98562;--muted:#66756f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.nav{z-index:50;color:#fff;background:linear-gradient(#082522b8,#08252200);justify-content:space-between;align-items:center;padding:18px 5vw;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:.04em;text-transform:uppercase;font-weight:700;line-height:1}.brand small{opacity:.8;margin-top:4px;font-size:10px;display:block}.nav-links{letter-spacing:.08em;text-transform:uppercase;gap:26px;font-size:13px;display:flex}.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.overlay{background:linear-gradient(90deg,#031614d1,#03161440 48%,#03161426),linear-gradient(#0000 50%,#03161499);position:absolute;inset:0}.hero-copy{color:#fff;width:min(760px,90vw);padding:0 0 11vh 6vw;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--wood);font-size:12px;font-weight:800}.light-text{color:#e9cda8}.hero h1,.booking h2{margin:12px 0 24px;font-family:Georgia,serif;font-size:clamp(44px,7vw,92px);font-weight:400;line-height:.93}.hero p{max-width:680px;font-size:clamp(17px,2vw,22px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.btn{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:13px;font-weight:800;transition:all .25s;display:inline-flex}.btn.primary{background:var(--coral);color:#fff}.btn.secondary{background:var(--ink);color:#fff}.btn.light{color:var(--ink);background:#ffffffeb}.btn:hover{transform:translateY(-2px)}section{padding:96px 6vw}.intro{background:var(--sand);grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.intro h2,.section-header h2{margin:8px 0 16px;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);font-weight:400;line-height:1.04}.intro p,.section-header p,.copy-card p,.amenity-cards p{color:var(--muted);font-size:18px;line-height:1.7}.highlight-grid{background:#ddcfba;grid-template-columns:repeat(6,1fr);gap:1px;padding-top:36px;padding-bottom:36px;display:grid}.highlight{background:var(--cream);text-align:center;justify-content:center;align-items:center;gap:12px;min-height:118px;padding:28px 18px;display:flex}.highlight svg{color:var(--wood)}.highlight span{font-weight:800}.split{grid-template-columns:1.05fr .95fr;align-items:center;gap:42px;display:grid}.image-stack{grid-template-columns:1fr 1fr;gap:16px;display:grid}.image-stack img:first-child{grid-column:1/3;height:470px}.image-stack img{object-fit:cover;border-radius:28px;width:100%;height:260px}.copy-card{background:#fff;border-radius:34px;padding:46px;box-shadow:0 20px 70px #1734311f}.check-list{gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.check-list li{color:var(--ink);align-items:center;gap:12px;font-weight:650;display:flex}.check-list svg{color:var(--coral);flex:none}.tour-section{background:var(--deep);color:#fff}.tour-section .section-header p{color:#c6d8d5}.tour-frame{aspect-ratio:16/9;background:#111;border-radius:30px;overflow:hidden;box-shadow:0 30px 80px #00000052}.tour-frame iframe{border:0;width:100%;height:100%}.amenities{background:var(--sand)}.section-header{max-width:880px;margin-bottom:34px}.amenity-cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.amenity-cards article{background:#fff;border-radius:28px;padding:32px;box-shadow:0 20px 60px #17343114}.amenity-cards svg{color:var(--wood);width:32px;height:32px}.amenity-cards h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.courts-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;display:grid}.courts-grid img{object-fit:cover;border-radius:24px;width:100%;height:280px}.gallery{background:var(--cream)}.photo-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.photo-grid figure{background:#ddd;border-radius:24px;margin:0;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:300px;transition:all .5s}.photo-grid figure:hover img{transform:scale(1.05)}.photo-grid figcaption{background:#fffaf2e6;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;position:absolute;bottom:12px;left:12px;right:12px}.reviews{background:#fff}.review-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.review-grid blockquote{background:var(--sand);border-radius:28px;flex-direction:column;min-height:280px;margin:0;padding:26px;display:flex}.review-grid svg{fill:var(--wood);color:var(--wood)}.review-grid p{flex:1;font-family:Georgia,serif;font-size:20px;line-height:1.35}.review-grid footer{font-weight:900}.review-grid span{color:var(--muted);margin-top:4px;font-weight:500;display:block}.guestbook-strip{scroll-snap-type:x mandatory;gap:16px;padding:26px 0 8px;display:flex;overflow-x:auto}.guestbook-strip img{scroll-snap-align:start;background:#fff;border-radius:18px;width:auto;height:280px;box-shadow:0 18px 60px #17343124}.center{text-align:center;margin-top:20px}.experiences{background:var(--sand)}.experience-list{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.experience-list span{background:#fff;border-radius:22px;align-items:center;gap:12px;padding:24px;font-weight:850;display:flex}.experience-list svg{color:var(--coral)}.booking{color:#fff;text-align:center;background:linear-gradient(#082522bd,#082522c7),url(/images/villa/pool-courtyard-alt.jpg) 50%/cover}.booking p{max-width:760px;margin:0 auto;font-size:19px;line-height:1.65}.booking .hero-actions{justify-content:center}footer{background:var(--deep);color:#fff;justify-content:space-between;gap:24px;padding:36px 6vw;display:flex}footer p{color:#bad0cc;margin:.4rem 0 0}footer div:last-child{color:#e7cfad;align-items:center;gap:22px;display:flex}@media (max-width:900px){.nav-links{display:none}.hero-copy{padding:0 6vw 9vh}.intro,.split{grid-template-columns:1fr}.highlight-grid,.photo-grid,.review-grid,.amenity-cards,.experience-list{grid-template-columns:1fr 1fr}.courts-grid{grid-template-columns:1fr}.image-stack img:first-child{height:320px}.photo-grid img{height:240px}}@media (max-width:560px){section{padding:70px 5vw}.hero h1,.booking h2{font-size:42px}.intro,.highlight-grid,.photo-grid,.review-grid,.amenity-cards,.experience-list{grid-template-columns:1fr}.highlight{justify-content:flex-start}.image-stack{grid-template-columns:1fr}.image-stack img:first-child{grid-column:auto}.hero-actions .btn{justify-content:center;width:100%}footer{flex-direction:column}.guestbook-strip img{height:220px}}.instagram-preview{background:#fffaf2;grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px;padding-top:82px;padding-bottom:82px;display:grid}.instagram-copy h2{margin:8px 0 16px;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);font-weight:400;line-height:1.04}.instagram-copy p{color:var(--muted);max-width:620px;font-size:18px;line-height:1.7}.instagram-link{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:10px;margin-top:18px;padding:13px 20px;font-size:13px;font-weight:850;display:inline-flex}.instagram-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.instagram-grid img{object-fit:cover;border-radius:26px;width:100%;height:240px;box-shadow:0 18px 50px #1734311f}.instagram-grid img:first-child{grid-row:span 2;height:492px}@media (max-width:900px){.instagram-preview{grid-template-columns:1fr}.instagram-grid img:first-child{height:360px}}@media (max-width:560px){.instagram-grid{grid-template-columns:1fr}.instagram-grid img,.instagram-grid img:first-child{height:250px}}.nav-social{align-items:center;gap:6px;display:inline-flex}@media (max-width:760px){.nav-social{display:none}}.brand-lockup{align-items:center;gap:10px;display:flex}.turtle-mark{color:var(--wood);opacity:.12;pointer-events:none;justify-content:center;align-items:center;width:82px;height:82px;display:inline-flex}.turtle-mark.small{opacity:1;color:#e9cda8;width:34px;height:34px}.turtle-mark svg{width:100%;height:100%}.brand-watermark{position:relative;overflow:hidden}.brand-watermark>.turtle-mark:not(.small){width:190px;height:190px;color:var(--wood);opacity:.08;position:absolute;bottom:-18px;right:5vw}.trust-strip{background:#fff}.trust-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.trust-grid article{background:var(--sand);border-radius:26px;padding:26px;box-shadow:0 12px 45px #1734310f}.trust-grid svg{color:var(--wood);width:28px;height:28px}.trust-grid h3{margin:16px 0 8px;font-family:Georgia,serif;font-size:27px;font-weight:400}.trust-grid p{color:var(--muted);margin:0;line-height:1.6}.snorkel-section{background:var(--sand);grid-template-columns:.95fr 1.05fr;align-items:center;gap:38px;display:grid}.snorkel-section h2{margin:8px 0 16px;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);font-weight:400;line-height:1.04}.snorkel-section p{color:var(--muted);font-size:18px;line-height:1.7}.snorkel-section img{object-fit:cover;border-radius:32px;width:100%;height:500px;box-shadow:0 22px 70px #1734311f}.snorkel-links{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.snorkel-links a{text-transform:uppercase;letter-spacing:.04em;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:850;display:inline-flex}.faq-section{background:#fff}.faq-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.faq-grid details{background:var(--sand);border-radius:22px;padding:0;overflow:hidden}.faq-grid summary{cursor:pointer;padding:22px 24px;font-weight:850;line-height:1.35;list-style:none}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{color:var(--wood);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;font-size:11px;display:block}.faq-grid details[open] summary{border-bottom:1px solid #1734311a}.faq-grid p{color:var(--muted);margin:0;padding:20px 24px 24px;line-height:1.65}.faq-image{border:1px solid #17343114;border-radius:18px;width:calc(100% - 48px);margin:0 24px 24px;display:block;box-shadow:0 16px 40px #17343124}.faq-note{color:var(--muted);justify-content:center;align-items:center;gap:10px;margin:26px 0 0;display:flex}.inquiry-section{background:linear-gradient(135deg,#fffaf2,#f5efe4);grid-template-columns:.9fr 1.1fr;align-items:start;gap:42px;display:grid}.inquiry-copy h2{margin:8px 0 16px;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);font-weight:400;line-height:1.04}.inquiry-copy p{color:var(--muted);font-size:18px;line-height:1.7}.inquiry-points{gap:12px;margin-top:24px;display:grid}.inquiry-points span{align-items:center;gap:10px;font-weight:800;display:flex}.inquiry-points svg{color:var(--coral)}.inquiry-card{background:#fff;border-radius:32px;gap:16px;padding:30px;display:grid;box-shadow:0 24px 80px #1734311f}.inquiry-card label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink);gap:8px;font-size:13px;font-weight:850;display:grid}.inquiry-card input,.inquiry-card select,.inquiry-card textarea{width:100%;font:inherit;color:var(--ink);background:#fffaf8;border:1px solid #1734312e;border-radius:16px;outline:none;padding:14px}.inquiry-card input:focus,.inquiry-card select:focus,.inquiry-card textarea:focus{border-color:var(--wood);box-shadow:0 0 0 4px #b9824d1f}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.inquiry-card button{background:var(--coral);color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:16px 22px;font-weight:900;transition:all .25s;display:inline-flex}.inquiry-card button:hover{background:#dd7653;transform:translateY(-2px)}.inquiry-card button:disabled{opacity:.72;cursor:wait;transform:none}.form-success,.form-warning{text-align:center;border-radius:18px;margin:0;padding:14px 16px;font-size:14px;line-height:1.5}.form-success{color:#24553a;background:#eef8f1}.form-warning{color:#684018;background:#fff4e6}.form-warning a{font-weight:900;text-decoration:underline}.form-note{text-align:center;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.footer-brand{align-items:center;gap:10px;display:flex}.footer-brand .turtle-mark.small{width:28px;height:28px}@media (max-width:900px){.trust-grid,.faq-grid,.snorkel-section,.inquiry-section{grid-template-columns:1fr}.snorkel-section img{height:340px}.brand-watermark>.turtle-mark:not(.small){width:130px;height:130px}}@media (max-width:560px){.trust-grid,.faq-grid,.form-row{grid-template-columns:1fr}.faq-note{text-align:left;align-items:flex-start}.nav .turtle-mark.small{width:28px;height:28px}.brand{font-size:13px}.brand small{font-size:9px}}.elevated-gallery{background:linear-gradient(#fffaf2 0%,#f7efe3 100%);padding-top:86px;padding-bottom:92px}.elevated-gallery .section-header{max-width:940px;margin-bottom:38px}.story-photo-grid{grid-template-columns:1.15fr 1.15fr 1fr 1fr;align-items:stretch}.story-photo-grid figure{box-shadow:0 18px 55px #1734311a}.story-photo-grid .featured-photo{grid-row:span 2}.story-photo-grid .featured-photo img{height:614px}.story-photo-grid figure:not(.featured-photo) img{height:300px}.story-photo-grid figcaption{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #17343114}@media (max-width:1100px){.story-photo-grid{grid-template-columns:1fr 1fr}.story-photo-grid .featured-photo img{height:420px}.story-photo-grid figure:not(.featured-photo) img{height:260px}}@media (max-width:560px){.elevated-gallery{padding-top:64px;padding-bottom:70px}.story-photo-grid{grid-template-columns:1fr}.story-photo-grid .featured-photo{grid-row:auto}.story-photo-grid .featured-photo img,.story-photo-grid figure:not(.featured-photo) img{height:250px}}.hero>img.hero-image{object-position:center center}.hero-copy{max-width:720px}.hero-copy p:not(.eyebrow){max-width:610px}@media (max-width:760px){.hero{align-items:flex-end;min-height:92svh}.hero>img.hero-image{object-position:58% center}.overlay{background:linear-gradient(#0316141a 0%,#03161447 38%,#031614d1 100%),linear-gradient(90deg,#0316147a,#0316141a 54%,#0316140f)}.hero-copy{width:100%;padding:0 6vw 7vh}.hero h1{margin:10px 0 16px;font-size:clamp(38px,11vw,52px);line-height:1.02}.hero p{max-width:34rem;font-size:16px;line-height:1.48}.hero-actions{gap:10px;margin-top:22px}}@media (max-width:420px){.hero>img.hero-image{object-position:62% center}.hero-copy{padding-bottom:6vh}.hero h1{font-size:36px}.hero-actions .btn{padding:13px 18px}}.amenity-link{background:var(--sand);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:11px 16px;font-size:12px;font-weight:900;display:inline-flex}.amenity-link:hover{background:#efe2cf;transform:translateY(-1px)}.seo-page{color:#f4efe7;max-width:1100px;margin:0 auto;padding:120px 24px 80px}.seo-page section{margin-bottom:72px}.seo-page h1{margin-bottom:18px;font-size:3rem}.seo-page h2{margin-bottom:14px;font-size:2rem}.seo-page p{max-width:760px;line-height:1.8}.seo-page img{border-radius:24px;width:100%;margin-top:28px}.seo-hero{padding-top:40px}.lifestyle-guides{background:linear-gradient(#fffaf2 0%,#f5efe4 100%)}.guide-card-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;display:grid}.guide-card{background:#fff;border-radius:32px;flex-direction:column;min-height:100%;transition:all .28s;display:flex;overflow:hidden;box-shadow:0 20px 60px #17343114}.guide-card:hover{transform:translateY(-5px);box-shadow:0 30px 82px #17343124}.guide-card img{object-fit:cover;width:100%;height:235px}.guide-card div{flex-direction:column;flex:1;gap:8px;padding:28px;display:flex}.guide-card h3{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.08}.guide-card p:not(.eyebrow){color:var(--muted);margin:0;font-size:16px;line-height:1.62}.guide-card span{text-transform:uppercase;letter-spacing:.06em;color:var(--coral);margin-top:auto;padding-top:18px;font-size:12px;font-weight:900}.seo-page{background:var(--cream);max-width:none;color:var(--ink);min-height:100vh;margin:0;padding:104px 6vw 88px}.seo-page section{margin:0 0 86px;padding:0}.seo-page h1,.seo-page h2,.seo-page h3{color:var(--ink);font-family:Georgia,serif;font-weight:400}.seo-page h1{max-width:900px;margin:10px 0 22px;font-size:clamp(44px,7vw,86px);line-height:.98}.seo-page h2{margin:8px 0 18px;font-size:clamp(34px,5vw,58px);line-height:1.04}.seo-page h3{margin:0 0 12px;font-size:28px;line-height:1.15}.seo-page p{color:var(--muted);max-width:760px;font-size:18px;line-height:1.75}.seo-page .lead{color:#485b55;font-size:clamp(19px,2.2vw,24px);line-height:1.62}.seo-page img{object-fit:cover;border-radius:32px;width:100%;margin:0;box-shadow:0 22px 70px #1734311f}.seo-back{z-index:60;text-transform:uppercase;letter-spacing:.06em;background:#fffaf2f0;border:1px solid #1734311a;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:900;position:fixed;top:22px;left:5vw;box-shadow:0 12px 34px #17343114}.guide-hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:44px;display:grid}.guide-hero img{height:560px}.seo-split{grid-template-columns:1fr .86fr;align-items:center;gap:42px;display:grid}.seo-split.reverse{grid-template-columns:.95fr 1.05fr}.seo-split.reverse img{height:500px}.seo-callout{background:#fff;border:1px solid #1734310d;border-radius:32px;padding:34px;box-shadow:0 20px 60px #17343114}.seo-callout ul{gap:13px;margin:16px 0 0;padding:0;list-style:none;display:grid}.seo-callout li{color:var(--ink);padding-left:26px;font-weight:750;line-height:1.45;position:relative}.seo-callout li:before{content:"✓";color:var(--coral);font-weight:900;position:absolute;top:0;left:0}.seo-image-band{grid-template-columns:1fr 1fr;gap:18px;display:grid}.seo-image-band.three{grid-template-columns:repeat(3,1fr)}.seo-image-band img{height:390px}.seo-grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.seo-grid-3 article{background:var(--sand);border-radius:28px;padding:30px;box-shadow:0 14px 44px #1734310f}.seo-grid-3 p{margin:0;font-size:16px;line-height:1.65}.quote-line{color:var(--wood)!important;margin-top:22px!important;font-family:Georgia,serif!important;font-size:clamp(26px,4vw,42px)!important;line-height:1.12!important}.seo-cta{background:linear-gradient(135deg,var(--deep),#123e39);color:#fff;text-align:center;border-radius:38px;box-shadow:0 24px 80px #0825222e;padding:56px!important}.seo-cta h2{color:#fff}.seo-cta p{color:#cfe1dd;margin:0 auto 26px}.seo-cta .btn{justify-content:center}@media (max-width:1000px){.guide-card-grid,.guide-hero,.seo-split,.seo-split.reverse{grid-template-columns:1fr}.guide-hero img,.seo-split.reverse img{height:380px}.seo-image-band,.seo-image-band.three,.seo-grid-3{grid-template-columns:1fr 1fr}.seo-image-band img{height:310px}}@media (max-width:640px){.guide-card-grid,.seo-image-band,.seo-image-band.three,.seo-grid-3{grid-template-columns:1fr}.guide-card img{height:220px}.seo-page{padding:92px 5vw 70px}.seo-page section{margin-bottom:64px}.guide-hero img,.seo-split.reverse img,.seo-image-band img{height:280px}.seo-back{top:14px;left:4vw}.seo-cta{border-radius:28px;padding:38px 24px!important}.seo-page p{font-size:16px}.seo-page .lead{font-size:18px}}.booking-pop{background:linear-gradient(135deg,var(--deep),#123b36);max-width:1120px;color:var(--cream);border-radius:28px;justify-content:space-between;align-items:center;gap:26px;margin:34px auto 18px;padding:30px;display:flex;box-shadow:0 22px 55px #0825222e}.booking-pop .eyebrow{color:#fffaf2b8;margin:0 0 8px}.booking-pop h2{margin:0 0 8px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.05}.booking-pop p{color:#fffaf2d6;max-width:680px;margin:0;line-height:1.6}.booking-pop-button{background:var(--wood);color:#fff;letter-spacing:.02em;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:56px;padding:0 26px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 14px 30px #0000002e}.booking-pop-button:hover{background:#c58b52;transform:translateY(-2px);box-shadow:0 18px 36px #00000038}@media (max-width:760px){.booking-pop{flex-direction:column;align-items:flex-start;margin:24px 16px 10px;padding:24px}.booking-pop-button{width:100%}}
