:root{--ink:#111b1e;--muted:#6e777a;--sky:#e3f0f4;--paper:#fbfbfa;--dark:#16262b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Helvetica Neue',sans-serif;font-weight:400}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:absolute;z-index:100;top:-5rem;left:1rem;background:#fff;padding:1rem}.skip:focus{top:1rem}.header{position:absolute;z-index:20;top:0;left:0;width:100%;height:94px;padding:0 7%;display:flex;align-items:center;color:#fff;gap:40px}.brand{font-size:29px;letter-spacing:-.09em;font-weight:600;display:flex;align-items:center}.brand-dot{color:#d6f0f8}.brand-mark{display:inline-block;width:23px;height:23px;border:2px solid #fff;border-radius:50%;position:relative;margin-right:7px}.brand-mark:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;right:-4px;bottom:-3px}.header nav{display:flex;gap:35px;margin:auto;font-size:13px}.header nav a{opacity:.75;transition:opacity .2s}.header nav a:hover,.header nav a:focus-visible{opacity:1}.header-cta{background:#fff;border:0;border-radius:30px;padding:14px 22px;font-size:13px;color:var(--ink);white-space:nowrap;transition:transform .2s,background .2s}.header-cta span{margin-left:15px}.header-cta:hover{transform:translateY(-3px);background:var(--sky)}.menu-btn{display:none;background:transparent;border:0;color:#fff;font-size:25px}.hero{height:100svh;min-height:760px;position:relative;color:#fff;overflow:hidden;background:#7bb8d1}.hero picture,.hero-image{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center;animation:heroIn 1.4s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,29,37,.38),transparent 60%),linear-gradient(transparent 62%,rgba(6,27,34,.45))}.hero-copy{position:absolute;top:23%;left:7%;max-width:780px;animation:copyIn .9s .12s both}.kicker,.section-label{font-size:11px;letter-spacing:.12em;font-weight:600}.hero h1{font-weight:400;font-size:clamp(60px,6.2vw,100px);letter-spacing:-.073em;line-height:1.02;margin:22px 0 22px}.hero h1 em{font-style:normal;color:#c5e3ee}.hero-copy>p:not(.kicker){max-width:410px;font-size:17px;line-height:1.55}.hero-link{display:inline-block;border-bottom:1px solid #fff;padding:12px 0;font-size:13px;margin-top:12px}.hero-link span{margin-left:35px}.hero-card{position:absolute;left:7%;bottom:5%;width:270px;padding:16px;background:#fff;color:var(--ink);border-radius:13px;box-shadow:0 20px 50px #152c3040}.hero-thumbs{display:flex;gap:6px;align-items:center;margin-bottom:19px}.thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;width:44px;height:38px;background:#eee}.thumb.active{border-color:#222}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-plus{background:#202526;color:#fff;border:0;border-radius:10px;width:38px;height:38px;font-size:24px;line-height:1}.card-caption{display:block;font-size:10px;color:#6d7473;margin-bottom:8px}.card-row{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #e5e7e5;font-size:11px}.card-row strong{font-weight:500}.card-plan{display:flex;justify-content:space-between;margin-top:13px;width:100%;padding:9px 0 0;background:none;border:0;text-align:left;font-size:11px;font-weight:600}.hero-note{position:absolute;right:7%;bottom:8%;max-width:240px;font-size:14px;line-height:1.45}.hero-index{position:absolute;right:7%;bottom:5%;font-size:10px;letter-spacing:.13em}.section{padding:130px 7%}.intro{min-height:700px}.intro-top{display:flex;justify-content:space-between;gap:40px}.section-label{display:flex;align-items:center;gap:9px;white-space:nowrap}.section-label i{display:block;width:9px;height:9px;background:#a7d2e1;border-radius:50%}.intro h2{font-size:clamp(42px,4.4vw,70px);letter-spacing:-.065em;line-height:1.14;font-weight:400;margin:0;max-width:900px}.intro h2 span{color:#b7bdc0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:135px}.service-card{min-height:280px;border:0;border-radius:12px;text-align:left;padding:22px;background:#f4f5f4;display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,background .25s,box-shadow .25s}.service-card:hover,.service-card:focus-visible{transform:translateY(-8px);box-shadow:0 14px 30px #1f343019}.service-card.dark{background:#23292b;color:#fff}.service-card.dark:hover{background:#344247}.service-icon{display:grid;place-items:center;background:#202829;color:#fff;width:45px;height:45px;border-radius:11px;font-size:25px}.dark .service-icon{background:#fff;color:#202829}.service-card strong{font-weight:400;font-size:26px;line-height:1.1;letter-spacing:-.05em;margin-top:auto;max-width:190px}.service-card p{font-size:13px;color:#697274;line-height:1.4;margin:14px 0 0}.service-card.dark p{color:#bdc5c5}.service-note{font-size:13px;color:#606b6c;min-height:32px;margin-top:18px}.numbers{text-align:center;padding-top:100px;padding-bottom:135px;min-height:650px;background:#fff}.numbers .section-label{justify-content:center}.numbers h2{font-size:clamp(44px,4.4vw,68px);font-weight:400;line-height:1.1;letter-spacing:-.07em;margin:35px 0 70px}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:950px;margin:auto}.number-grid>div{border-right:1px solid #d8dedf;display:flex;flex-direction:column;gap:8px}.number-grid>div:last-child{border:0}.number-grid strong{font-size:clamp(70px,8vw,120px);font-weight:300;letter-spacing:-.09em;line-height:1}.number-grid span{font-size:13px;color:#7e8789}.numbers-note{margin:105px auto 0;color:#858e8e;font-size:12px}.section-heading{display:grid;grid-template-columns:40% 1fr;align-items:start;gap:30px;margin-bottom:75px}.section-heading h2{font-size:clamp(47px,4.8vw,75px);line-height:1.08;letter-spacing:-.07em;font-weight:400;margin:0}.section-heading p:not(.section-label){max-width:540px;color:#727d7e;line-height:1.5;font-size:15px}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.villa-card{min-width:0}.villa-media{height:520px;border-radius:13px;overflow:hidden;position:relative;background:#d7e8e9}.villa-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.villa-card:hover img{transform:scale(1.05)}.villa-pill{position:absolute;top:17px;left:17px;border:1px solid #fff;border-radius:30px;color:#fff;background:#162e314d;padding:9px 13px;font-size:10px;letter-spacing:.06em}.villa-info{padding:20px 0;display:flex;justify-content:space-between;gap:10px;align-items:start}.villa-info h3{font-size:26px;letter-spacing:-.055em;font-weight:400;margin:0 0 7px}.villa-info p{color:#788184;font-size:13px;margin:0}.villa-info button{border:1px solid #c4c9c9;border-radius:50%;width:44px;height:44px;background:#fff;flex:none;transition:.25s}.villa-info button:hover{background:#1a2729;color:#fff}.place{background:#f6f8f8}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.place-card{background:#fff;border-radius:13px;overflow:hidden}.place-card img{height:390px;width:100%;object-fit:cover;transition:transform .5s}.place-card:hover img{transform:scale(1.03)}.place-card>div{padding:26px}.place-card span{font-size:10px;letter-spacing:.12em;color:#7b8789}.place-card h3{font-size:32px;line-height:1.13;letter-spacing:-.055em;font-weight:400;max-width:400px;margin:15px 0}.place-card p{color:#6e797b;font-size:15px;line-height:1.5;max-width:460px}.dark-feature{background:#1e2526;color:#fff;display:grid;grid-template-columns:1fr 44%;gap:7%;align-items:center;padding-top:80px;padding-bottom:80px}.dark-copy h2{font-weight:400;font-size:clamp(50px,5vw,82px);letter-spacing:-.07em;line-height:1.05;margin:35px 0 50px}.day-list{max-width:520px}.day-list p{border-top:1px solid #536063;padding:19px 0;margin:0;font-size:17px}.day-list span{font-size:12px;color:#9dbdc8;margin-right:35px}.dark-copy button{border:0;background:#fff;color:#101a1d;border-radius:30px;padding:16px 20px;margin-top:32px}.dark-copy button span{margin-left:30px}.dark-feature>img{width:100%;height:570px;border-radius:13px;object-fit:cover}.closing{min-height:760px;background:#fff;padding-bottom:0;position:relative;overflow:hidden}.closing-links{display:flex;gap:35px;font-size:14px}.closing-links a:hover{text-decoration:underline}.closing-copy{margin:115px 0 0 auto;width:55%;position:relative;z-index:1}.closing-copy h2{font-size:clamp(50px,5.2vw,84px);font-weight:400;letter-spacing:-.075em;line-height:1.06;margin:0}.closing-copy p{color:#818c8e;max-width:400px;line-height:1.5;font-size:15px}.closing-copy button{border:0;background:#1f2729;color:#fff;border-radius:30px;padding:16px 22px;margin-top:15px}.closing-copy button span{margin-left:40px}.closing-watermark{font-size:clamp(200px,29vw,490px);letter-spacing:-.1em;line-height:.75;color:#e7f2f4;position:absolute;bottom:-24px;left:3%;pointer-events:none}footer{background:#fff;padding:30px 7%;border-top:1px solid #eceded;display:flex;justify-content:space-between;color:#6c777a;font-size:12px}footer a{text-decoration:underline}.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}dialog{border:0;width:min(650px,calc(100% - 24px));max-height:calc(100% - 24px);padding:48px;background:#fff;color:var(--ink);box-shadow:0 20px 80px #071c2699}dialog::backdrop{background:#061b25aa}.dialog-close{position:absolute;top:20px;right:25px;border:0;background:none;font-size:32px}.form-label{font-size:11px;letter-spacing:.12em;color:#71878f}dialog h2{font-weight:400;font-size:52px;letter-spacing:-.07em;margin:15px 0}dialog>p{color:#758185;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;font-size:12px;margin-top:18px}form input,form select{display:block;width:100%;background:#f5f8f8;border:1px solid #d0d9db;border-radius:7px;padding:14px;margin-top:8px;color:#1c292b}form button{width:100%;display:flex;justify-content:space-between;background:#222c2f;color:#fff;border:0;border-radius:7px;padding:18px;margin-top:26px}#booking-result{padding:18px;background:#e4f1f4;margin-top:20px;line-height:1.5}#booking-result strong{display:block;margin-bottom:6px}@keyframes heroIn{from{transform:scale(1.05);filter:brightness(.75)}to{transform:scale(1);filter:brightness(1)}}@keyframes copyIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:950px){.header{gap:20px}.header nav{gap:18px}.hero h1{font-size:clamp(56px,7vw,75px)}.service-grid{grid-template-columns:repeat(2,1fr);margin-top:80px}.service-card{min-height:230px}.villa-media{height:380px}.section-heading{grid-template-columns:30% 1fr}.dark-feature{gap:4%}}
@media(max-width:700px){.header{height:68px;padding:0 5%}.header nav{display:none;position:absolute;top:68px;left:5%;right:5%;margin:0;padding:20px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 14px 40px #0003;flex-direction:column;gap:0}.header nav.open{display:flex}.header nav a{padding:12px}.menu-btn{display:block;margin-left:auto}.header-cta{padding:11px 15px}.header-cta span{display:none}.hero{min-height:740px;height:100svh}.hero-image{object-position:56%}.hero-shade{background:linear-gradient(180deg,#0c313a6b,transparent 70%,#0c313a88)}.hero-copy{left:6%;right:6%;top:17%}.hero h1{font-size:clamp(52px,10.5vw,72px);max-width:580px}.hero-copy>p:not(.kicker){font-size:14px;max-width:300px}.hero-card{left:6%;bottom:4%;width:235px}.hero-note,.hero-index{display:none}.section{padding:90px 6%}.intro-top{display:block}.intro h2{font-size:clamp(38px,7vw,56px);margin-top:34px}.service-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:60px}.service-card{min-height:250px;padding:16px}.service-card strong{font-size:21px}.service-card p{font-size:12px}.numbers{min-height:560px}.numbers h2{font-size:46px}.number-grid strong{font-size:62px}.number-grid span{font-size:11px}.numbers-note{margin-top:75px}.section-heading{display:block;margin-bottom:48px}.section-heading h2{font-size:48px;margin-top:28px}.villa-grid{grid-template-columns:1fr;gap:25px}.villa-media{height:480px}.place-grid{grid-template-columns:1fr}.place-card img{height:350px}.dark-feature{grid-template-columns:1fr;padding:70px 6%}.dark-feature>img{height:400px}.closing{min-height:700px}.closing-copy{margin:110px 0 0;width:100%}.closing-copy h2{font-size:60px}.closing-watermark{font-size:30vw;bottom:25px}.closing-links{gap:20px}footer{display:block;line-height:2}}
@media(max-width:430px){.brand{font-size:24px}.brand-mark{width:18px;height:18px}.hero{min-height:690px}.hero h1{font-size:48px}.hero-copy{top:19%}.hero-card{width:220px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:245px}.service-card p{font-size:11px}.numbers h2{font-size:39px}.number-grid strong{font-size:52px}.number-grid span{font-size:10px}.villa-media{height:380px}.place-card img{height:280px}.closing-copy h2{font-size:52px}.form-row{grid-template-columns:1fr;gap:0}dialog{padding:35px 22px}dialog h2{font-size:43px}}
@media(max-width:350px){.header-cta{font-size:11px}.hero h1{font-size:43px}.service-card strong{font-size:18px}.service-card{padding:12px}.numbers h2{font-size:34px}.number-grid strong{font-size:44px}.number-grid span{font-size:9px}.closing-links{gap:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
#footer-plan{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;max-width:590px;margin-top:23px}#footer-plan label{color:#606d70;font-size:11px;margin:0}#footer-plan input,#footer-plan select{padding:12px;margin-top:7px;background:#f5f8f8}#footer-plan button{grid-column:1/-1;width:max-content;border-radius:30px;margin-top:14px;padding:15px 23px;background:#1f2729}.closing{min-height:900px}.closing-watermark{bottom:-18px}
@media(max-width:700px){.closing{min-height:840px}.closing-copy{margin-top:80px}.closing-watermark{bottom:-8px}}@media(max-width:430px){#footer-plan{gap:6px 9px}#footer-plan input,#footer-plan select{min-width:0;padding:10px;font-size:13px}.closing{min-height:830px}}

/* Coastal line motif and quiet interaction states. */
.service-icon{border-radius:50%;background:#d6e9ec;color:#18353b}.service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dark .service-icon{background:#d6e9ec;color:#18353b}.service-card[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #8ebdc9}.service-card.dark[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #9bcfdf}.section-label i{display:none}.numbers h2{margin-top:0}.number-grid span{max-width:180px;line-height:1.5;align-self:center}.villa-info button{width:auto;min-width:64px;padding:0 14px;border-radius:22px;font-size:12px}.hero-link:hover,.card-plan:hover{text-decoration:underline;text-underline-offset:5px}.dark-copy button,.closing-copy button,.saaya-footer button{transition:transform .2s,background .2s,color .2s}.dark-copy button:hover,.closing-copy button:hover,.saaya-footer button:hover{transform:translateY(-3px);background:#d6e9ec;color:#132529}
.menu-bars{display:grid;gap:5px;width:23px}.menu-bars i{display:block;width:23px;height:2px;background:currentColor;border-radius:3px;transition:transform .2s}.menu-btn[aria-expanded="true"] .menu-bars i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-btn[aria-expanded="true"] .menu-bars i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.saaya-footer{display:block;background:#dcebf0;color:#173038;padding:66px 7% 30px;border-top:0}.saaya-footer-main{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:start}.footer-location{font-size:11px;letter-spacing:.13em}.saaya-footer-main p{font-size:clamp(32px,3.4vw,55px);letter-spacing:-.06em;line-height:1.08;margin:22px 0}.saaya-footer-main button{border:0;border-radius:25px;background:#193138;color:#fff;padding:14px 24px;font-size:13px}.saaya-footer-main nav{display:grid;gap:14px;font-size:14px;justify-self:end}.saaya-footer-main nav a{text-decoration:none}.saaya-footer-main nav a:hover{text-decoration:underline;text-underline-offset:4px}.saaya-footer-bottom{border-top:1px solid #a9c3ca;margin-top:75px;padding-top:25px;display:flex;align-items:end;justify-content:space-between;gap:30px}.footer-brand{display:flex;align-items:center;font-size:clamp(90px,13vw,210px);letter-spacing:-.1em;line-height:.7;font-weight:600;color:#bfd8e0}.footer-brand .brand-mark{width:.21em;height:.21em;border-color:currentColor;border-width:.025em;margin-right:.08em}.footer-brand .brand-mark:after{width:.08em;height:.08em;background:currentColor;right:-.025em;bottom:-.025em}.saaya-footer-bottom small{max-width:260px;font-size:11px;line-height:1.5}.saaya-footer-bottom small a{text-decoration:underline}
.footer-brand{font-size:clamp(42px,4vw,64px);color:#5e97a5;line-height:1}
.reveal{transform:none;transition:opacity .7s ease}.service-card.reveal{transform:translateY(16px);transition:opacity .65s ease,transform .65s ease,background .25s,box-shadow .25s}.service-card.reveal.visible{transform:none}.service-card:nth-child(2){transition-delay:.06s}.service-card:nth-child(3){transition-delay:.12s}.service-card:nth-child(4){transition-delay:.18s}
:is(a,button,input,select):focus-visible{outline:2px solid #173d4c;outline-offset:4px}.hero :is(a,button):focus-visible,.header :is(a,button):focus-visible{outline-color:#fff}form input:hover,form select:hover{border-color:#8eacb5}form input:focus,form select:focus{outline:2px solid #7aabb8;outline-offset:1px}form [aria-invalid="true"],form input:user-invalid{border-color:#bd5539}#booking-result.error{background:#fae8e2;color:#763b28}#booking-result:not(.error){border-left:3px solid #528e89}
@media(max-width:700px){.header nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}.header nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}.saaya-footer{padding:55px 6% 28px}.saaya-footer-main{grid-template-columns:1fr 1fr}.saaya-footer-main nav{justify-self:start}.saaya-footer-bottom{display:block}.footer-brand{font-size:48px}.saaya-footer-bottom small{display:block;max-width:380px;margin-top:24px}}
@media(max-width:430px){.saaya-footer-main{grid-template-columns:1fr;gap:35px}.saaya-footer-main nav{grid-template-columns:1fr 1fr;gap:16px 20px}.saaya-footer-bottom{margin-top:55px}.number-grid span{max-width:95px}}
@media(prefers-reduced-motion:reduce){.service-card.reveal{transform:none}.header nav{transition:none}}

@media(max-width:640px){#booking{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;overflow-x:hidden;padding:30px 20px}body:has(#booking[open]){overflow:hidden}}
