:root{color-scheme:light;--navy-950: #031426;--navy-900: #061b33;--navy-800: #0b2a4a;--blue-500: #2d8ab8;--aqua-100: #dff4f7;--cream-50: #fffaf0;--cream-100: #f7efdf;--sand-200: #dcc9a8;--orange-500: #f2762d;--ink: #152130;--muted: #657282;--line: rgba(6, 27, 51, .13);--white: #ffffff;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);font-size:16px;font-weight:400;color:var(--ink);background:var(--cream-50);scroll-behavior:smooth}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;overflow-x:hidden;background:linear-gradient(180deg,#fffaf0e6,#ffffffeb),var(--cream-50)}body.menu-open,body.lightbox-open{overflow:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button{border:0;cursor:pointer}:focus-visible{outline:3px solid rgba(242,118,45,.75);outline-offset:4px}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:112px 0}.eyebrow{margin:0 0 18px;color:var(--orange-500);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-serif);font-weight:500;letter-spacing:0}h1{margin-bottom:18px;color:var(--white);font-size:6rem;line-height:.92}h2{margin-bottom:24px;color:var(--navy-900);font-size:3.75rem;line-height:1.02}h3{margin-bottom:10px;color:var(--navy-900);font-size:1.08rem;line-height:1.25}p{color:var(--muted);font-size:1rem;line-height:1.75}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border:1px solid transparent;border-radius:999px;font-size:.9rem;font-weight:800;line-height:1;text-transform:uppercase;transition:transform .24s ease,background .24s ease,border-color .24s ease,color .24s ease}.button svg,.text-link svg{transition:transform .24s ease}.button:hover,.text-link:hover{transform:translateY(-2px)}.button:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.button--accent{color:var(--white);background:var(--orange-500);box-shadow:0 18px 38px #f2762d3d}.button--accent:hover{background:#dc6420}.button--ghost{color:var(--white);border-color:#fff6;background:#ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.button--light{color:var(--navy-900);background:var(--white)}.button--navy{color:var(--white);background:var(--navy-900)}.button--outline{color:var(--navy-900);border-color:var(--line);background:transparent}.button--small{min-height:42px;padding:12px 18px;font-size:.78rem}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--navy-900);font-weight:800;transition:transform .24s ease,color .24s ease}.text-link:hover{color:var(--orange-500)}.site-header{position:fixed;z-index:50;top:18px;left:50%;display:flex;width:min(1180px,calc(100% - 32px));min-height:74px;align-items:center;justify-content:space-between;gap:24px;padding:12px 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#fffaf0e6;box-shadow:0 20px 58px #0314261f;transform:translate(-50%);transition:background .26s ease,border-color .26s ease,box-shadow .26s ease,top .26s ease;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header.is-solid{top:10px;border-color:#061b331f;background:#fffaf0f5;box-shadow:0 16px 48px #03142629}.site-logo{display:inline-flex;flex:0 0 auto;align-items:center;padding-left:4px}.site-logo img{width:192px;height:auto}.site-header__desktop,.site-nav{display:flex;align-items:center;gap:18px}.site-nav a{position:relative;color:var(--navy-900);font-size:.86rem;font-weight:800}.site-nav a:after{position:absolute;right:0;bottom:-8px;left:0;height:2px;background:var(--orange-500);content:"";transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.site-nav a:hover:after{transform:scaleX(1)}.language-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;color:var(--navy-900);background:#ffffffa6}.language-switcher button,.footer-lang button{min-width:36px;min-height:30px;border-radius:999px;color:var(--navy-900);background:transparent;font-size:.76rem;font-weight:900}.language-switcher button.is-active,.footer-lang button.is-active{color:var(--white);background:var(--navy-900)}.menu-button{display:none;width:46px;height:46px;align-items:center;justify-content:center;border-radius:999px;color:var(--navy-900);background:#ffffffbf}.mobile-panel{display:none}.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--navy-950)}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(1.08) contrast(1.04) saturate(1.04);transform:translateZ(0)}.hero__video::-webkit-media-controls-panel{background-image:linear-gradient(transparent,#031426b8)}.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,#03142685,#0314261a 54%,#0314260a),linear-gradient(180deg,#0314260f,#03142661);pointer-events:none}.hero__mobile-play{display:none}.hero__content{position:relative;z-index:2;display:flex;width:min(1180px,calc(100% - 40px));min-height:100svh;flex-direction:column;justify-content:center;margin-inline:auto;padding:140px 0 120px}.hero__eyebrow{margin-bottom:20px;color:var(--cream-100);font-size:.82rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero__subtitle{max-width:680px;color:#ffffffe0;font-family:var(--font-serif);font-size:2rem;line-height:1.18}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.scroll-cue{position:absolute;z-index:3;bottom:34px;left:50%;display:inline-flex;align-items:center;gap:8px;color:#ffffffd1;font-size:.78rem;font-weight:800;text-transform:uppercase;transform:translate(-50%)}.scroll-cue svg{animation:bounceDown 1.6s ease-in-out infinite}.intro-section{position:relative;background:var(--cream-50)}.intro-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:72px;align-items:center}.intro-copy p:not(.eyebrow){max-width:620px}.intro-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 34px}.intro-highlights span{padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--navy-900);background:#ffffff8a;font-size:.88rem;font-weight:800}.intro-visual{position:relative}.intro-visual__stack{display:grid;grid-template-columns:1fr .72fr;gap:18px;align-items:end}.intro-visual__stack img{width:100%;min-height:440px;border-radius:8px;object-fit:cover;box-shadow:0 28px 70px #061b332e}.intro-visual__stack img:nth-child(2){min-height:330px;transform:translateY(42px)}.villa-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:-34px auto 0;overflow:hidden;border:1px solid rgba(255,255,255,.32);border-radius:8px;background:#061b33f0;box-shadow:0 24px 62px #061b3338}.villa-stat{min-height:118px;padding:20px;background:#ffffff0a}.villa-stat strong{display:block;color:var(--white);font-family:var(--font-serif);font-size:2.45rem;font-weight:500;line-height:1}.villa-stat span{display:block;margin-top:8px;color:#ffffffbf;font-size:.82rem;line-height:1.35}.intro-booking{display:flex;justify-content:center;margin-top:66px}.section-heading{max-width:760px;margin-bottom:48px}.section-heading--center{margin-right:auto;margin-left:auto;text-align:center}.section-heading--light h2,.section-heading--light .section-heading__body{color:var(--white)}.section-heading__body{max-width:700px}.section-heading--center .section-heading__body{margin-inline:auto}.gallery-section{background:linear-gradient(180deg,#ffffff,var(--cream-50))}.gallery-section--page{padding-top:154px}.gallery-page{background:var(--cream-50)}.gallery-grid{display:grid;grid-auto-flow:dense;grid-auto-rows:220px;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{min-height:0}.gallery-item--wide{grid-column:span 2;grid-row:span 2}.gallery-item--portrait{grid-row:span 2}.gallery-item button{position:relative;width:100%;height:100%;overflow:hidden;border-radius:8px;background:var(--navy-900)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,opacity .26s ease}.gallery-item button:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,20,38,.78));content:""}.gallery-item button:hover img{transform:scale(1.045)}.gallery-item__icon{position:absolute;z-index:2;top:14px;right:14px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.36);border-radius:50%;color:var(--white);background:#03142647;opacity:0;transition:opacity .22s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gallery-item button:hover .gallery-item__icon{opacity:1}.lightbox{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;background:#031426f0;padding:34px}.lightbox figure{display:grid;max-width:1080px;max-height:calc(100svh - 100px);justify-self:center;margin:0}.lightbox img{width:100%;max-height:calc(100svh - 150px);border-radius:8px;object-fit:contain}.lightbox__close,.lightbox__nav{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;color:var(--white);background:#ffffff1f}.lightbox__close{position:fixed;top:26px;right:26px}.lightbox__nav--prev{justify-self:start}.lightbox__nav--next{justify-self:end}.booking-page{padding:0 0 112px;background:linear-gradient(180deg,#dff4f794,#fffaf0f5 42%,#ffffffeb),var(--cream-50)}.booking-hero{position:relative;min-height:72svh;margin-bottom:46px;overflow:hidden;background:var(--navy-900)}.booking-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.booking-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,#031426b8,#03142647 56%,#03142614),linear-gradient(180deg,#0314262e,#0314268a)}.booking-hero__content{position:relative;z-index:1;display:flex;min-height:72svh;flex-direction:column;justify-content:flex-end;padding:150px 0 86px}.booking-hero__content .eyebrow{color:var(--cream-100)}.booking-hero__content h1{max-width:860px;margin-bottom:20px;color:var(--white);font-size:5.35rem}.booking-hero__content p:not(.eyebrow){max-width:760px;color:#ffffffe0;font-family:var(--font-serif);font-size:1.82rem;line-height:1.22}.booking-estimator{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);gap:28px;align-items:start}.booking-calendar,.booking-summary{border:1px solid var(--line);border-radius:8px;background:#ffffffd1;box-shadow:0 28px 80px #061b3317;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.booking-calendar{padding:24px}.booking-calendar__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.booking-calendar__top h2{margin:0;color:var(--navy-900);font-size:2.12rem;line-height:1;text-transform:capitalize}.booking-calendar__top button,.guest-stepper__controls button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--navy-900);background:var(--white);transition:transform .18s ease,background .18s ease,color .18s ease}.booking-calendar__top button:hover,.guest-stepper__controls button:hover{color:var(--white);background:var(--navy-900);transform:translateY(-1px)}.guest-stepper__controls button:disabled{cursor:not-allowed;opacity:.38}.guest-stepper__controls button:disabled:hover{color:var(--navy-900);background:var(--white);transform:none}.booking-calendar__weekdays,.booking-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.booking-calendar__weekdays{margin-bottom:8px}.booking-calendar__weekdays span{color:var(--muted);font-size:.74rem;font-weight:900;text-align:center;text-transform:uppercase}.booking-day{position:relative;display:grid;min-height:86px;align-content:space-between;padding:10px;border:1px solid rgba(6,27,51,.1);border-radius:8px;color:var(--navy-900);background:#ffffffeb;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.booking-day:hover{border-color:#f2762d7a;transform:translateY(-2px)}.booking-day span{font-size:1.02rem;font-weight:900}.booking-day small{color:currentColor;font-size:.72rem;font-weight:850;opacity:.78}.booking-day.is-outside{opacity:.44}.booking-day.is-in-range{border-color:#2d8ab847;background:var(--aqua-100)}.booking-day.is-arrival,.booking-day.is-departure{color:var(--white);border-color:var(--navy-900);background:var(--navy-900);box-shadow:0 16px 34px #03142633}.booking-calendar__hint{margin:18px 0 0;color:var(--muted);font-size:.9rem}.booking-summary{display:grid;gap:20px;padding:22px}.booking-summary__dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-summary__dates div{min-height:92px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--cream-50)}.booking-summary__dates span,.booking-price-lines dt{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.booking-summary__dates strong{display:block;margin-top:8px;color:var(--navy-900);font-size:.98rem;line-height:1.25}.guest-panel{display:grid;gap:10px}.guest-stepper{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.guest-stepper>div:first-child{display:flex;min-width:0;align-items:center;gap:10px}.guest-stepper strong{display:block;color:var(--navy-900);font-size:.95rem}.guest-stepper small{display:block;margin-top:2px;color:var(--muted);font-size:.76rem;line-height:1.35}.guest-stepper__controls{display:inline-grid;grid-template-columns:38px 34px 38px;align-items:center;gap:6px}.guest-stepper__controls button{width:38px;height:38px}.guest-stepper__controls output{color:var(--navy-900);font-size:1.08rem;font-weight:900;text-align:center}.booking-result{display:grid;gap:14px;padding:18px;border-radius:8px;color:var(--white);background:var(--navy-900)}.booking-result__title{display:flex;align-items:center;gap:10px;font-size:1.02rem}.booking-message{margin:0;color:#ffffffbd;font-size:.92rem;line-height:1.55}.booking-message--warning{color:#ffe4ba;font-weight:800}.booking-price-lines{display:grid;gap:9px;margin:0}.booking-price-lines div{display:flex;justify-content:space-between;gap:14px}.booking-price-lines dt{color:#ffffff9e}.booking-price-lines dd{margin:0;color:var(--white);font-weight:900;white-space:nowrap}.booking-total{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}.booking-total span{color:#ffffffb8;font-size:.8rem;font-weight:900;text-transform:uppercase}.booking-total strong{color:var(--white);font-family:var(--font-serif);font-size:2.35rem;font-weight:600;line-height:1}.booking-rules{display:grid;gap:10px}.booking-rules div{display:grid;grid-template-columns:22px 1fr;gap:10px;color:var(--muted);font-size:.86rem;line-height:1.5}.booking-rules svg{margin-top:3px;color:var(--orange-500)}.booking-call{width:100%}.rooms-section{background:var(--navy-900)}.rooms-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:72px;align-items:center}.rooms-section h2,.rooms-section h3,.rooms-section .section-heading__body{color:var(--white)}.rooms-section .section-heading__body,.rooms-section p{color:#ffffffb8}.rooms-media{display:grid;grid-template-columns:1fr .58fr;gap:14px}.rooms-media img{width:100%;border-radius:8px;object-fit:cover}.rooms-media__main{min-height:620px;grid-row:span 2}.rooms-media__small{min-height:303px}.rooms-list{display:grid;gap:14px}.room-card{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff0d}.room-card svg{color:var(--orange-500)}.room-card p{margin-bottom:0;font-size:.94rem}.pool-section{position:relative;min-height:82svh;overflow:hidden;background:var(--navy-950)}.pool-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.pool-section__overlay{position:absolute;inset:0;background:linear-gradient(90deg,#031426d6,#03142661,#03142629),linear-gradient(180deg,#0314260f,#03142685)}.pool-section__content{position:relative;z-index:2;display:flex;min-height:82svh;align-items:center}.pool-section__content>div{max-width:620px}.pool-section h2,.pool-section p{color:var(--white)}.services-section{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card,.experience-card,.review-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:#fffaf0a3;transition:transform .24s ease,border-color .24s ease,background .24s ease}.service-card:hover,.experience-card:hover{border-color:#f2762d6b;background:#fff;transform:translateY(-5px)}.review-card:hover{border-color:#f2762d6b;background:#ffffff1c;transform:translateY(-5px)}.service-card__icon{display:grid;width:48px;height:48px;place-items:center;margin-bottom:20px;border-radius:50%;color:var(--navy-900);background:var(--aqua-100)}.service-card p,.experience-card p,.review-card p{margin-bottom:0;font-size:.94rem}.beach-section{padding:112px 0;background:linear-gradient(180deg,var(--cream-50),#ffffff)}.beach-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px;align-items:center}.beach-copy{max-width:470px}.beach-media{position:relative}.beach-media img{width:100%;min-height:560px;border-radius:8px;object-fit:cover;object-position:center 35%}.distance-mark{position:absolute;bottom:28px;left:28px;display:grid;width:152px;height:152px;place-items:center;border-radius:50%;color:var(--white);background:var(--navy-900);text-align:center}.distance-mark span{max-width:86px;font-family:var(--font-serif);font-size:1.18rem;line-height:1.15}.vieste-section{background:var(--cream-100)}.vieste-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:72px;align-items:center}.vieste-media{position:relative}.vieste-media img{width:100%;min-height:620px;border-radius:8px;object-fit:cover}.vertical-word{position:absolute;top:24px;left:-18px;margin:0;color:#ffffffdb;font-family:var(--font-serif);font-size:5rem;line-height:1;writing-mode:vertical-rl}.place-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:34px 0 0;padding:0;list-style:none}.place-list li{display:flex;min-height:44px;align-items:center;gap:10px;border-bottom:1px solid rgba(6,27,51,.14);color:var(--navy-900);font-weight:800}.place-list svg{color:var(--orange-500)}.experiences-section{background:#fff}.experiences-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.experience-card svg{margin-bottom:18px;color:var(--orange-500)}.reviews-section{background:radial-gradient(circle at top right,rgba(45,138,184,.16),transparent 32rem),var(--navy-900)}.reviews-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:72px;align-items:center}.reviews-section h2,.reviews-section .section-heading__body,.reviews-section .text-link{color:var(--white)}.reviews-section .section-heading__body{color:#ffffffb8}.reviews-slider{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-card{min-height:286px;background:#ffffff12}.review-card__topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.review-card__topline strong{color:var(--orange-500);font-family:var(--font-serif);font-size:2rem;font-weight:600;line-height:1}.review-card__topline small{color:#ffffff9e;font-size:.78rem;font-weight:800;text-transform:uppercase}.review-card svg,.review-card h3{color:var(--white)}.review-card p{color:#ffffffb8}.review-card span{display:block;margin-top:22px;color:var(--sand-200);font-size:.82rem;font-weight:800}.booking-cta{padding:96px 0;background:linear-gradient(90deg,#031426e6,#03142675),url(/assets/images/Foto5.jpg) center/cover}.booking-cta__panel{max-width:720px;padding:44px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0314269e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.booking-cta h2,.booking-cta p{color:var(--white)}.booking-cta__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1fr);gap:72px;align-items:start}.contact-panel{display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--cream-50)}.contact-row{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px;border-radius:8px;color:var(--navy-900);background:#fff;transition:transform .22s ease}.contact-row:hover{transform:translate(4px)}.contact-row svg{color:var(--orange-500)}.contact-row small{display:block;margin-bottom:4px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.contact-row b{display:block;font-weight:800}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.policy-section{padding-top:72px;background:linear-gradient(180deg,#ffffff,var(--cream-50))}.policy-page{min-height:72svh;padding-top:154px;background:radial-gradient(circle at top right,rgba(45,138,184,.16),transparent 30rem),linear-gradient(180deg,var(--cream-50),#ffffff)}.policy-page__inner{max-width:900px}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.policy-card{padding:30px;border:1px solid var(--line);border-radius:8px;background:#fff}.policy-card--page{padding:42px}.policy-card h1{margin-bottom:20px;color:var(--navy-900);font-size:3.4rem;line-height:1.02}.policy-card h2{margin-bottom:18px;font-size:2.2rem}.policy-card p{font-size:.94rem}.policy-details{display:grid;gap:10px;margin:24px 0}.policy-details div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.policy-details dt{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.policy-details dd{margin:0;color:var(--navy-900);font-weight:800;overflow-wrap:anywhere}.policy-list{display:grid;gap:12px;margin:0;padding-left:18px;color:var(--muted);line-height:1.65}.policy-list li::marker{color:var(--orange-500)}.policy-note{margin-top:24px;color:var(--navy-900);font-size:.84rem;font-weight:800}.site-footer{padding:74px 0 28px;color:var(--white);background:var(--navy-950)}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .78fr auto;gap:44px;align-items:start}.footer-brand img{width:220px;padding:8px 12px;border-radius:8px;background:#ffffffeb}.footer-brand p{max-width:410px;margin-top:22px;color:#ffffffad}.footer-brand .footer-legal{max-width:520px;margin-top:14px;color:#ffffff85;font-size:.82rem;line-height:1.55}.footer-links,.footer-contact{display:grid;gap:12px}.footer-links a,.footer-contact a,.footer-bottom a,.footer-bottom span{color:#ffffffbd;font-weight:750;transition:color .22s ease}.footer-contact a{display:inline-flex;align-items:center;gap:6px}.footer-links a:hover,.footer-contact a:hover,.footer-bottom a:hover{color:var(--white)}.footer-lang{display:inline-flex;gap:6px;padding:4px;border:1px solid rgba(255,255,255,.18);border-radius:999px}.footer-lang button{color:var(--white)}.footer-lang button.is-active{background:var(--orange-500)}.footer-bottom{display:flex;justify-content:space-between;gap:22px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.footer-bottom p,.footer-bottom span{margin:0;color:#ffffff8f;font-size:.86rem}.footer-bottom div{display:flex;gap:18px}.whatsapp-button{position:fixed;z-index:60;right:24px;bottom:24px;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;color:var(--white);background:#25d366;box-shadow:0 18px 40px #25d36652;animation:softFloat 3.2s ease-in-out infinite}.whatsapp-button svg{width:32px;height:32px}.mobile-booking-bar{display:none}.reveal{opacity:0;transform:translateY(32px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes softPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.025)}}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes softFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:1180px){.site-header__desktop,.site-nav{gap:12px}.site-nav a{font-size:.8rem}.site-logo img{width:168px}h1{font-size:5rem}h2{font-size:3.25rem}.services-grid,.experiences-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:960px){.site-header{width:min(720px,calc(100% - 24px));min-height:66px;padding:10px 12px}.site-logo img{width:158px}.site-header__desktop{display:none}.menu-button{display:inline-flex}.mobile-panel{position:fixed;top:84px;right:12px;left:12px;display:grid;gap:28px;padding:28px;border:1px solid rgba(6,27,51,.12);border-radius:8px;background:#fffaf0fa;box-shadow:0 30px 80px #03142633;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .22s ease,transform .22s ease}.mobile-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-panel .site-nav{display:grid;gap:0}.mobile-panel .site-nav a{padding:16px 0;border-bottom:1px solid var(--line);font-size:1.18rem}.mobile-panel .site-nav a:after{content:none}.mobile-panel__footer{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}h1{font-size:4.25rem}h2{font-size:2.7rem}.hero__subtitle{font-size:1.62rem}.intro-grid,.rooms-grid,.beach-grid,.vieste-grid,.reviews-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.intro-visual__stack img,.beach-media img,.vieste-media img{min-height:430px}.villa-stats{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-auto-rows:190px;grid-template-columns:repeat(2,1fr)}.rooms-media__main{min-height:470px}.rooms-media__small{min-height:228px}.lightbox{grid-template-columns:56px minmax(0,1fr) 56px;padding:18px}.footer-grid{grid-template-columns:1fr 1fr}.policy-grid{grid-template-columns:1fr}.booking-hero,.booking-hero__content{min-height:64svh}.booking-hero__content{padding:132px 0 70px}.booking-hero__content h1{font-size:4rem}.booking-hero__content p:not(.eyebrow){max-width:620px;font-size:1.5rem}.booking-estimator{grid-template-columns:1fr}.booking-summary{position:static}}@media(max-width:640px){.container{width:min(100% - 28px,520px)}.section,.beach-section{padding:78px 0}h1{font-size:3.25rem;line-height:.96}h2{font-size:2.15rem;line-height:1.08}p{font-size:.98rem}.button{width:100%;min-height:50px;padding-inline:18px}.text-link{min-height:44px}.site-header{top:10px;width:calc(100% - 20px);border-radius:999px}.site-logo img{width:146px}.hero{min-height:100svh}.hero__video{object-position:center center}.hero__overlay{background:linear-gradient(180deg,#0314261f,#031426a3),linear-gradient(90deg,#0314262e,#0314260a)}.hero__mobile-play{position:absolute;z-index:4;top:45%;left:50%;display:inline-flex;align-items:center;gap:12px;min-width:210px;min-height:64px;justify-content:center;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:var(--navy-950);background:#ffffffe6;box-shadow:0 18px 60px #03142657;font-size:.98rem;font-weight:900;transform:translate(-50%,-50%);transition:transform .18s ease,opacity .18s ease,background .18s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero__mobile-play:active{transform:translate(-50%,-50%) scale(.98)}.hero__mobile-play.is-hidden{pointer-events:none;opacity:0}.hero__mobile-play-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;color:var(--white);background:var(--navy-900)}.hero__mobile-play span:last-child{display:inline-flex;align-items:center;gap:8px}.hero__content{width:min(100% - 28px,520px);justify-content:flex-end;padding:128px 0 132px}.hero__eyebrow{font-size:.74rem}.hero__subtitle{max-width:340px;font-size:1.34rem}.scroll-cue{display:none}.intro-visual__stack{grid-template-columns:1fr}.intro-visual__stack img,.intro-visual__stack img:nth-child(2){min-height:320px;transform:none}.villa-stats{margin-top:14px}.villa-stat{min-height:104px;padding:16px}.villa-stat strong{font-size:2rem}.gallery-grid{display:flex;gap:12px;margin-inline:-14px;overflow-x:auto;padding:0 14px 8px;scroll-snap-type:x mandatory}.gallery-section--page{padding-top:124px}.gallery-item{flex:0 0 82%;height:420px;scroll-snap-align:center}.gallery-item--wide,.gallery-item--portrait{grid-column:auto;grid-row:auto}.gallery-item__icon{opacity:1}.booking-page{padding-bottom:88px}.booking-hero{min-height:64svh;margin-bottom:30px}.booking-hero__overlay{background:linear-gradient(180deg,#0314261f,#031426c7),linear-gradient(90deg,#03142652,#03142614)}.booking-hero__content{min-height:64svh;justify-content:flex-end;padding:124px 0 48px}.booking-hero__content h1{max-width:330px;font-size:2.72rem}.booking-hero__content p:not(.eyebrow){max-width:340px;font-size:1.12rem}.booking-calendar,.booking-summary{padding:14px}.booking-calendar__top{margin-bottom:16px}.booking-calendar__top h2{font-size:1.42rem}.booking-calendar__weekdays,.booking-calendar__grid{gap:5px}.booking-calendar__weekdays span{font-size:.62rem}.booking-day{min-height:68px;padding:7px 5px;border-radius:7px}.booking-day span{font-size:.88rem}.booking-day small{font-size:.6rem}.booking-summary__dates{grid-template-columns:1fr}.guest-stepper{align-items:start;flex-direction:column}.guest-stepper__controls{width:100%;grid-template-columns:42px 1fr 42px}.booking-price-lines div,.booking-total{align-items:start;flex-direction:column;gap:5px}.booking-total strong{font-size:2.05rem}.rooms-media{grid-template-columns:1fr}.rooms-media__main,.rooms-media__small{min-height:300px}.pool-section,.pool-section__content{min-height:76svh}.pool-section>img{object-position:center center}.services-grid,.experiences-grid,.reviews-slider,.place-list{grid-template-columns:1fr}.beach-media img,.vieste-media img{min-height:360px}.distance-mark{width:118px;height:118px;bottom:18px;left:18px}.distance-mark span{font-size:1rem}.vertical-word{left:14px;font-size:3.2rem}.booking-cta{padding:74px 0 96px}.booking-cta__panel,.contact-panel{padding:22px}.contact-row{grid-template-columns:34px 1fr;padding:16px;overflow-wrap:anywhere}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column}.policy-card{padding:22px}.policy-card--page{padding:26px}.policy-card h2{font-size:1.85rem}.policy-card h1{font-size:2.15rem}.policy-details div{grid-template-columns:1fr;gap:4px}.whatsapp-button{right:16px;bottom:14px;width:54px;height:54px}.mobile-booking-bar{position:fixed;z-index:58;right:84px;bottom:14px;left:14px;display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:8px;border-radius:999px;color:var(--white);background:var(--orange-500);box-shadow:0 18px 42px #03142638;font-size:.86rem;font-weight:900;text-transform:uppercase}.lightbox{grid-template-columns:1fr;padding:70px 14px 20px}.lightbox figure{max-height:calc(100svh - 120px)}.lightbox img{max-height:calc(100svh - 170px)}.lightbox__nav{position:fixed;bottom:20px}.lightbox__nav--prev{left:18px}.lightbox__nav--next{right:18px}}@media(max-width:390px){h1{font-size:2.9rem}h2{font-size:1.95rem}.site-logo img{width:130px}.gallery-item{flex-basis:88%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
