:root{--font-display: "Playfair Display", Georgia, serif;--font-body: "Manrope", Arial, sans-serif;--font-label: "DM Mono", monospace;--serif: var(--font-display);--sans: var(--font-body);--mono: var(--font-label);--type-display: clamp(64px, 8.8vw, 144px);--type-h1: clamp(56px, 7.2vw, 116px);--type-h2: clamp(46px, 5.6vw, 90px);--type-h3: clamp(30px, 3.7vw, 58px);--type-body-lg: clamp(17px, 1.35vw, 21px);--type-body: clamp(14px, 1vw, 16px);--type-small: 12px;--type-label: 10px;--type-micro: 8px;--space-xs: 8px;--space-sm: 12px;--space-md: 20px;--space-lg: 32px;--space-xl: 52px;--space-2xl: 84px;--space-3xl: 136px;--page-gutter: clamp(22px, 3.5vw, 56px);--editorial-inset: clamp(24px, 7vw, 112px);--content-max: 1440px;--copy-measure: 38rem;--control-height: 48px;--control-radius: 999px;--panel-radius: 28px;--ui-line-dark: rgba(7, 30, 7, .22);--ui-line-light: rgba(241, 244, 233, .22);--ui-focus: #c8a56a}body{font-family:var(--font-body);font-size:var(--type-body);line-height:1.65;font-optical-sizing:auto;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;text-wrap:balance}.guest-type,.guest-selector output{font-family:var(--font-body)}h1,h2{letter-spacing:-.045em}h3{letter-spacing:-.035em}h1 em,h2 em,h3 em{font-style:italic;font-weight:400}.hero-copy h1,.villas-intro h1,.project-hero h1{line-height:.88;letter-spacing:-.045em}.arrival h2,.spaces__intro h2,.experience h2,.estate__heading h2,.voices h2,.booking h2,.villas-section__header h2,.experiences-section__header h2,.villas-ethos h2,.residence__info h2,.project-dossier h2,.project-architecture__intro h2,.project-comparison h2,.project-gallery h2,.project-seclusion h2,.project-amenities h2{line-height:.9;letter-spacing:-.04em}.eyebrow,.project-kicker,.project-dossier__label,.villas-intro__title>p,.villas-ethos>p,.portal-mark,.booking-progress,.guest-age,.child-age-label,.food-label,.essentials-label,.editorial-field span,.booking-controls,.text-link,.villas-glass{font-family:var(--font-label);font-size:var(--type-label);font-weight:500;line-height:1.45;letter-spacing:.16em;text-transform:uppercase}.body-copy,.villas-intro__copy,.project-architecture__intro>p,.project-comparison__heading>p:last-child,.project-seclusion__copy>p{max-width:var(--copy-measure);font-family:var(--font-body);font-size:var(--type-body);line-height:1.7;letter-spacing:-.008em}.nav,.project-nav,.villas-nav{padding-inline:var(--page-gutter)}.section-pad{padding-inline:var(--editorial-inset)}.villas-intro,.residences,.villas-footer{padding-inline:var(--page-gutter)}button,input,select,textarea{font-family:var(--font-body)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--ui-focus);outline-offset:4px}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.38}.nav__book,.project-nav__actions a,.villas-glass,.booking__button,.booking-next,.confirmation-close,.food-pill,.essentials-auth-btn,.auth-popup__submit{min-height:var(--control-height);border-radius:var(--control-radius);font-family:var(--font-label);font-size:var(--type-label);font-weight:500;line-height:1;letter-spacing:.14em;text-transform:uppercase}.text-link,.booking-back,.essentials-guest-link,.essentials-edit-link,.auth-popup__alt,.auth-popup__guest{font-family:var(--font-label);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.stay-portal__chamber{width:min(920px,calc(100vw - 40px));min-height:min(700px,calc(100dvh - 40px));max-height:calc(100dvh - 24px);padding:clamp(24px,3.2vw,40px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:var(--panel-radius);background:#0c100dd6;box-shadow:0 24px 70px #0000006b,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(22px) saturate(120%);backdrop-filter:blur(22px) saturate(120%)}.stay-portal__chamber:before,.stay-portal__chamber:after{opacity:.38}.booking-film{padding-top:clamp(28px,4vh,48px)}.booking-film__steps{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(244,241,234,.18) transparent}.booking-step h2{max-width:11em;margin:var(--space-sm) 0 var(--space-lg);font-size:clamp(44px,5vw,68px);line-height:.92;letter-spacing:-.045em}.booking-step:has(.guest-groups) .guest-groups{width:min(100%,430px);max-width:430px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"adults" "children" "pets" "staff" "ages";column-gap:0;row-gap:0;padding:0;border-top:1px solid rgba(244,241,234,.22);border-bottom:0}.guest-group:has([data-guests-type=adults]){grid-area:adults}.guest-group:has([data-guests-type=children]){grid-area:children}.guest-group:has([data-guests-type=pets]){grid-area:pets}.guest-group:has([data-guests-type=staff]){grid-area:staff}.booking-step:has(.guest-groups) .children-ages{grid-area:ages}.booking-step:has(.guest-groups) .guest-group{min-height:clamp(72px,9vh,86px);display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:var(--space-lg);border-bottom:1px solid rgba(244,241,234,.07)}.guest-type{font-size:clamp(22px,2vw,28px);line-height:1;letter-spacing:-.025em}.guest-age{color:#f4f1ea85;font-size:9px}.guest-selector{display:grid;grid-template-columns:42px 52px 42px;gap:var(--space-xs);align-items:center}.guest-selector button{width:42px;height:42px;border-color:#ffffff2e;background:#ffffff0e;box-shadow:inset 0 1px #ffffff29,0 5px 16px #00000029;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.guest-selector output{min-width:52px;font-size:clamp(30px,2.5vw,36px);line-height:1;font-variant-numeric:lining-nums tabular-nums}.booking-step:has(.guest-groups) .children-ages{display:grid;grid-template-columns:repeat(4,90px);gap:var(--space-sm);justify-content:start;margin:0;padding:var(--space-md) 0}.booking-step:has(.guest-groups) .children-ages:empty{display:none;padding:0}.child-age-select{width:90px}.child-age-select select{width:90px;min-height:44px;color-scheme:dark;color:#f4f1ea;background-color:#151916}.child-age-select select option{color:#f4f1ea;background:#151916}.booking-hint{margin-top:var(--space-sm);flex-shrink:0}.booking-controls{margin-top:var(--space-md)}.portal-close{width:48px;height:48px}.booking-film__steps:has(.booking-step.is-active .children-ages:not(:empty)){overflow-y:auto;padding-bottom:var(--space-xs)}.booking-step.is-active:has(.children-ages:not(:empty)){height:auto;min-height:100%}.booking-step:has(.children-ages:not(:empty)) h2{margin-bottom:var(--space-md);font-size:clamp(40px,4.4vw,58px)}.booking-step:has(.children-ages:not(:empty)) .guest-group{min-height:62px}.booking-step:has(.children-ages:not(:empty)) .guest-selector{grid-template-columns:38px 48px 38px;gap:6px}.booking-step:has(.children-ages:not(:empty)) .guest-selector button{width:38px;height:38px}.booking-step:has(.children-ages:not(:empty)) .guest-selector output{min-width:48px;font-size:30px}.booking-step:has(.children-ages:not(:empty)) .children-ages{gap:8px;padding:10px 0 4px}.booking-step:has(.children-ages:not(:empty)) .child-age-select select{min-height:40px}.booking-step:has(.children-ages:not(:empty)) .booking-hint{margin-top:8px}.food-pill,.editorial-field input,.auth-popup__field input,.wish-field textarea,.child-age-select select,.id-type-select select{border-color:#ffffff24;background:#ffffff0b;box-shadow:none}@media (max-width: 740px){:root{--type-label: 9px;--page-gutter: 20px;--editorial-inset: 24px;--panel-radius: 24px}.stay-portal__chamber{width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;min-height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:22px 18px!important}.booking-film{padding-top:42px!important}.booking-step h2{margin:10px 0 18px!important;font-size:clamp(38px,11vw,50px)!important}.booking-step:has(.guest-groups) .guest-groups{width:100%;max-width:none}.booking-step:has(.guest-groups) .guest-group{min-height:64px;grid-template-columns:minmax(120px,1fr) auto;gap:var(--space-sm)}.guest-type{font-size:22px}.guest-selector{grid-template-columns:40px 46px 40px;gap:6px}.guest-selector button{width:40px!important;height:40px!important}.guest-selector output{min-width:46px!important;font-size:30px!important}.booking-step:has(.guest-groups) .children-ages{grid-template-columns:repeat(2,90px);padding:var(--space-sm) 0}.booking-step:has(.children-ages:not(:empty)) h2{font-size:36px!important;margin-bottom:12px!important}.booking-step:has(.children-ages:not(:empty)) .guest-group{min-height:56px}.booking-step:has(.children-ages:not(:empty)) .guest-type{font-size:20px}.booking-step:has(.children-ages:not(:empty)) .children-ages{grid-template-columns:repeat(2,90px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important}}
