@font-face{font-family:Tenor Sans;src:url(/bls/fonts/TenorSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Arimo;src:url(/bls/fonts/Arimo-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Arimo;src:url(/bls/fonts/Arimo-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Arimo;src:url(/bls/fonts/Arimo-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Arimo;src:url(/bls/fonts/Arimo-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Arimo;src:url(/bls/fonts/Arimo-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bls-aperol:#d95022;--bls-aperol-dark:#b33c16;--bls-aperol-soft:#e37147;--bls-sunset:#eab05d;--bls-sunset-soft:#f2c988;--bls-pool:#b6cfb9;--bls-pool-soft:#d2e0d3;--bls-offwhite:#f1efe4;--bls-offwhite-2:#e8e4d2;--bls-ink:#2a1b11;--bls-ink-soft:#5a4636;--bls-ink-mute:#8a7a6a;--bls-hairline:#d9d2be;--bg:var(--bls-offwhite);--surface:#faf8ee;--surface-warm:var(--bls-sunset-soft);--fg-1:var(--bls-ink);--fg-2:var(--bls-ink-soft);--fg-3:var(--bls-ink-mute);--accent:var(--bls-aperol);--accent-fg:var(--bls-offwhite);--font-display:"Tenor Sans", "Cormorant Garamond", Georgia, serif;--font-body:"Arimo", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display:clamp(56px, 8vw, 96px);--fs-h1:clamp(40px, 5vw, 64px);--fs-h2:clamp(28px, 3vw, 40px);--fs-h3:22px;--fs-body:17px;--fs-small:14px;--fs-eyebrow:12px;--tracking-display:.01em;--tracking-caps:.18em;--tracking-button:.16em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-0:0px;--radius-1:2px;--radius-2:4px;--radius-pill:999px;--shadow-1:0 1px 2px #2a1b110f;--shadow-2:0 8px 24px #2a1b1114;--shadow-3:0 24px 60px #2a1b1124;--ease-soft:cubic-bezier(.22, .61, .36, 1);--dur-fast:.16s;--dur-base:.28s;--dur-slow:.6s;--container:1240px;--gutter:clamp(20px, 4vw, 56px)}html,body{background:var(--bg);color:var(--fg-1);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}.bls-display,h1.bls-display{font-family:var(--font-display);font-weight:400;font-size:var(--fs-display);letter-spacing:var(--tracking-display);color:var(--accent);text-wrap:balance;line-height:1.04}.bls-h1,h1{font-family:var(--font-display);font-weight:400;font-size:var(--fs-h1);color:var(--accent);text-wrap:balance;line-height:1.08}.bls-h2,h2{font-family:var(--font-display);font-weight:400;font-size:var(--fs-h2);color:var(--accent);text-wrap:balance;line-height:1.15}.bls-h3,h3{font-family:var(--font-display);font-weight:400;font-size:var(--fs-h3);color:var(--fg-1);line-height:1.3}.bls-body,p{font-family:var(--font-body);font-weight:400;font-size:var(--fs-body);color:var(--fg-2);text-wrap:pretty;line-height:1.6}.bls-eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent)}.bls-label{font-family:var(--font-body);font-weight:500;font-size:var(--fs-small);letter-spacing:.04em;color:var(--fg-3)}.bls-button-text{font-family:var(--font-body);letter-spacing:var(--tracking-button);text-transform:uppercase;font-size:13px;font-weight:700}.bls-rule{background:var(--bls-hairline);border:0;height:1px}*{box-sizing:border-box}html,body{margin:0;padding:0}a{color:inherit;text-decoration:none}button{font:inherit}.kit-app{background:var(--bls-offwhite);min-height:100vh;color:var(--bls-ink);font-family:var(--font-body)}.container{max-width:1240px;padding:0 var(--gutter);margin:0 auto}.section{padding:clamp(64px,9vw,128px) 0}.section.tight{padding:clamp(40px,5vw,72px) 0}.nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1efe4d6;border-bottom:1px solid #0000;transition:border-color .22s;position:sticky;top:0}.nav.scrolled{border-bottom-color:var(--bls-hairline)}.nav-inner{align-items:center;gap:36px;height:168px;display:flex}.nav-logo{flex:none}.nav-logo img{height:88px;display:block}.nav-logo.secondary img{height:104px}.nav-links{flex:1;justify-content:center;gap:28px;display:flex}.nav-links a{letter-spacing:.04em;color:var(--bls-ink);cursor:pointer;padding:6px 0;font-size:14px;font-weight:500;transition:color .2s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--bls-aperol)}.nav-links a.active:after{content:"";background:var(--bls-aperol);height:1px;position:absolute;bottom:-2px;left:0;right:0}.btn{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .24s var(--ease-soft), color .24s, border-color .24s;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:12.5px;font-weight:700;display:inline-flex}.btn-primary{background:var(--bls-aperol);color:var(--bls-offwhite)}.btn-primary:hover{background:var(--bls-aperol-dark)}.btn-secondary{color:var(--bls-aperol);border-color:var(--bls-aperol);background:0 0}.btn-secondary:hover{background:var(--bls-aperol);color:var(--bls-offwhite)}.btn-on-dark{background:var(--bls-offwhite);color:var(--bls-aperol)}.btn-on-dark:hover{background:var(--bls-sunset);color:var(--bls-aperol)}.ghost-link{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bls-aperol);cursor:pointer;align-items:center;gap:8px;padding-bottom:4px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.ghost-link:after{content:"";background:var(--bls-aperol);transform-origin:0;height:1px;transition:transform .28s var(--ease-soft);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.ghost-link:hover:after{transform:scaleX(1)}.ghost-link .arrow{transition:transform .28s var(--ease-soft)}.ghost-link:hover .arrow{transform:translate(4px)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--bls-aperol);margin-bottom:18px;font-size:11.5px;font-weight:600;display:inline-block}.hero{background:var(--bls-aperol);height:clamp(520px,78vh,760px);position:relative;overflow:hidden}.hero-image{background-position:50%;background-size:cover;position:absolute;inset:0}.hero-image:after{content:"";background:linear-gradient(#2a1b1100 35%,#2a1b118c 100%);position:absolute;inset:0}.hero-content{z-index:2;height:100%;color:var(--bls-offwhite);flex-direction:column;justify-content:flex-end;padding-bottom:clamp(48px,8vh,96px);display:flex;position:relative}.hero h1{font-family:var(--font-display);letter-spacing:.005em;color:var(--bls-offwhite);text-wrap:balance;max-width:14ch;margin:0 0 24px;font-size:clamp(56px,9vw,112px);line-height:.98}.hero p.lede{color:#f1efe4eb;max-width:44ch;margin:0 0 36px;font-size:18px;line-height:1.55}.hero-eyebrow{color:var(--bls-sunset);letter-spacing:.22em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:2px solid var(--bls-sunset);background:#2a1b1173;align-self:flex-start;margin-bottom:22px;padding:7px 12px;font-size:11.5px;font-weight:700;display:inline-block}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,96px);display:grid}.split.flip>.split-image{order:2}.split-image{aspect-ratio:4/5;overflow:hidden}.split-image img{object-fit:cover;width:100%;height:100%;display:block}.split-copy h2{font-family:var(--font-display);color:var(--bls-aperol);text-wrap:balance;margin:0 0 24px;font-size:clamp(36px,4vw,56px);line-height:1.05}.split-copy p{color:var(--bls-ink-soft);text-wrap:pretty;margin:0 0 16px;font-size:17px;line-height:1.65}.services{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.service{border-top:1px solid var(--bls-hairline);flex-direction:column;gap:14px;padding:8px 0 0;display:flex}.service .num{font-family:var(--font-display);color:var(--bls-aperol);letter-spacing:.16em;font-size:14px}.service h3{font-family:var(--font-display);color:var(--bls-ink);margin:4px 0 0;font-size:24px;line-height:1.2}.service p{color:var(--bls-ink-soft);margin:0;font-size:15px;line-height:1.6}.villa-grid{grid-template-columns:repeat(2,1fr);gap:56px 40px;display:grid}.villa-card{cursor:pointer;flex-direction:column;gap:14px;display:flex}.villa-card .photo{aspect-ratio:4/5;overflow:hidden}.villa-card .photo img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-soft);display:block}.villa-card:hover .photo img{transform:scale(1.04)}.villa-card h3{font-family:var(--font-display);color:var(--bls-ink);margin:4px 0 0;font-size:26px;line-height:1.2;transition:color .2s}.villa-card:hover h3{color:var(--bls-aperol)}.villa-card .meta{letter-spacing:.16em;text-transform:uppercase;color:var(--bls-ink-mute);font-size:12.5px;font-weight:500}.villa-card .ghost-link{margin-top:6px}.pull-quote{text-align:center;max-width:64ch;margin:0 auto}.pull-quote .mark{background-image:url(/bls/illustrations/wave.jpg);background-position:50%;background-size:cover;border-radius:999px;width:56px;height:56px;margin:0 auto 20px;display:block}.pull-quote blockquote{font-family:var(--font-display);color:var(--bls-aperol);text-wrap:balance;margin:0 0 22px;font-size:clamp(28px,3.4vw,44px);font-style:normal;line-height:1.2}.pull-quote cite{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-ink-mute);font-size:12px;font-style:normal;font-weight:600}.cta-band{background:var(--bls-aperol);color:var(--bls-offwhite);padding:clamp(64px,10vw,128px) 0;position:relative;overflow:hidden}.cta-band .palm{opacity:.35;background:url(/bls/illustrations/palm.jpg) 50%/cover;border-radius:999px;width:320px;height:320px;display:none;position:absolute;bottom:-40px;right:-40px}.cta-band .inner{grid-template-columns:1.4fr 1fr;align-items:end;gap:56px;display:grid}.cta-band h2{font-family:var(--font-display);color:var(--bls-offwhite);text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(40px,5vw,72px);line-height:1.02}.cta-band p{color:#f1efe4e6;max-width:38ch;margin:0 0 24px;font-size:17px;line-height:1.6}.form-card{background:var(--bls-offwhite);color:var(--bls-ink);padding:36px 32px}.form-card h3{font-family:var(--font-display);color:var(--bls-aperol);margin:0 0 20px;font-size:24px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-aperol);font-size:11px;font-weight:600}.field input,.field select,.field textarea{font:inherit;color:var(--bls-ink);border:1px solid var(--bls-hairline);background:#faf8ee;border-radius:2px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bls-aperol)}.footer{background:var(--bls-aperol);color:var(--bls-offwhite);padding:80px 0 40px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:start;gap:48px;display:grid}.footer-brand img{height:22px;margin-bottom:22px;display:block}.footer-brand p{color:#f1efe4d9;max-width:32ch;margin:0;font-size:14px;line-height:1.6}.footer-col h4{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--bls-sunset);margin:0 0 16px;font-size:11px;font-weight:600}.footer-col a{color:#f1efe4eb;cursor:pointer;padding:4px 0;font-size:14px;transition:color .2s;display:block}.footer-col a:hover{color:var(--bls-sunset)}.footer-bottom{color:#f1efe4b3;letter-spacing:.04em;border-top:1px solid #f1efe433;justify-content:space-between;margin-top:64px;padding-top:24px;font-size:12px;display:flex}.footer-badge{background:url(/bls/logos/secondary-offwhite.svg) 50%/contain no-repeat;width:96px;height:96px}.villa-hero{grid-template-rows:220px 220px;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:8px;display:grid}.villa-hero>div{background-position:50%;background-size:cover;overflow:hidden}.villa-hero .main{grid-row:1/3;height:448px}.villa-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:56px;display:flex}.villa-detail-head h1{font-family:var(--font-display);color:var(--bls-aperol);margin:0;font-size:clamp(48px,6vw,84px);line-height:1}.villa-detail-head .meta{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-ink-mute);font-size:13px;font-weight:600}.amenities{grid-template-columns:repeat(4,1fr);gap:18px 32px;margin-top:24px;display:grid}.amenities .item{color:var(--bls-ink);border-top:1px solid var(--bls-hairline);letter-spacing:.02em;padding:10px 0;font-size:14px}.fade-in{animation:fadein .6s var(--ease-soft) both}@keyframes fadein{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.villa-breadcrumb{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-ink-mute);align-items:center;gap:10px;margin-top:24px;margin-bottom:16px;font-size:12px;font-weight:600;display:flex}.villa-breadcrumb a{color:var(--bls-aperol);cursor:pointer}.villa-body{grid-template-columns:minmax(0,1fr) 480px;align-items:start;gap:clamp(40px,6vw,80px);margin-top:56px;padding-bottom:96px;display:grid}.villa-body-main{min-width:0}.villa-body-side{position:sticky;top:96px}.booking-widget{background:var(--surface);border:1px solid var(--bls-hairline);flex-direction:column;gap:16px;padding:28px 26px 24px;display:flex}.booking-widget .bw-rate{align-items:baseline;gap:8px;display:flex}.booking-widget .bw-price{font-family:var(--font-display);color:var(--bls-aperol);font-size:38px;line-height:1}.booking-widget .bw-period{color:var(--bls-ink-soft);letter-spacing:.04em;font-size:14px}.booking-widget .bw-meta{color:var(--bls-ink-mute);margin-top:-8px;margin-bottom:8px;font-size:12px}.booking-widget .bw-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.booking-widget .bw-field{flex-direction:column;gap:6px;display:flex}.booking-widget .bw-field label{letter-spacing:.2em;text-transform:uppercase;color:var(--bls-aperol);font-size:10.5px;font-weight:600}.booking-widget .bw-field input{font:inherit;color:var(--bls-ink);background:var(--bls-offwhite);border:1px solid var(--bls-hairline);font-size:14px;font-family:var(--font-body);border-radius:2px;outline:none;padding:11px 12px;transition:border-color .2s}.booking-widget .bw-field input:focus{border-color:var(--bls-aperol)}.booking-widget .bw-stepper{border:1px solid var(--bls-hairline);background:var(--bls-offwhite);border-radius:2px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.booking-widget .bw-stepper span{color:var(--bls-ink);font-size:14px;font-weight:500}.booking-widget .bw-stepper button{width:32px;height:32px;color:var(--bls-aperol);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:18px;transition:background .16s}.booking-widget .bw-stepper button:hover{background:#d9502214}.booking-widget .bw-summary{border-top:1px solid var(--bls-hairline);flex-direction:column;gap:8px;margin-top:4px;padding:16px 0 4px;display:flex}.booking-widget .bw-summary .row{color:var(--bls-ink-soft);justify-content:space-between;font-size:14px;display:flex}.booking-widget .bw-summary .row.total{border-top:1px solid var(--bls-hairline);font-family:var(--font-display);color:var(--bls-aperol);margin-top:8px;padding-top:12px;font-size:18px}.booking-widget .bw-cta{justify-content:center;width:100%;margin-top:4px;padding:16px 26px}.booking-widget .bw-note{color:var(--bls-ink-mute);align-items:flex-start;gap:8px;margin-top:4px;font-size:11.5px;line-height:1.5;display:flex}.booking-widget .bw-note .dot{background:var(--bls-aperol);border-radius:999px;flex:none;width:6px;height:6px;margin-top:6px}.booking-confirmed{border-left:2px solid var(--bls-aperol)}.map-placeholder{aspect-ratio:16/7;background:radial-gradient(circle at 60% 50%, #b6cfb966 0%, #b6cfb900 60%), repeating-linear-gradient(45deg, var(--bls-offwhite-2) 0 12px, var(--bls-offwhite) 12px 24px);border:1px solid var(--bls-hairline);flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;display:flex;position:relative}.map-placeholder .map-pin{background:var(--bls-aperol);border-radius:999px;width:14px;height:14px;box-shadow:0 0 0 6px #d9502226}.map-placeholder .map-label{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-ink-soft);font-size:12px;font-weight:600}.bls-location-map{aspect-ratio:16/7;border:1px solid var(--bls-hairline);z-index:0;border-radius:8px;width:100%;position:relative;overflow:hidden}.bls-location-map .leaflet-container{font-family:var(--font-body);background:var(--bls-offwhite)}.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:clamp(40px,6vw,80px);display:grid}.contact-tabs{border-bottom:1px solid var(--bls-hairline);gap:2px;margin-bottom:32px;display:flex}.contact-tabs button{cursor:pointer;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bls-ink-mute);background:0 0;border:0;padding:14px 22px 16px;font-size:12px;font-weight:600;transition:color .2s;position:relative}.contact-tabs button:hover{color:var(--bls-ink)}.contact-tabs button.active{color:var(--bls-aperol)}.contact-tabs button.active:after{content:"";background:var(--bls-aperol);height:2px;position:absolute;bottom:-1px;left:0;right:0}.contact-form{flex-direction:column;gap:18px;max-width:560px;display:flex}.contact-form .field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-form .field{gap:8px;margin-bottom:0}.contact-form button[type=submit]{align-self:flex-start;margin-top:8px}.contact-thanks{padding:32px 0}.contact-side{flex-direction:column;gap:32px;display:flex}.contact-block .eyebrow{margin-bottom:8px}.contact-block p{color:var(--bls-ink);margin:4px 0;font-size:15px;line-height:1.6}.contact-block a{color:var(--bls-aperol);border-bottom:1px solid}.contact-illus{aspect-ratio:1;background:url(/bls/illustrations/heliconia.jpg) 50%/cover;width:100%;margin-top:8px}.team-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.team-card{flex-direction:column;gap:8px;display:flex}.team-card .team-photo{aspect-ratio:4/5;background:linear-gradient(160deg, var(--bls-sunset-soft) 0%, var(--bls-aperol-soft) 100%);width:100%;margin-bottom:12px}.team-card h3{font-family:var(--font-display);color:var(--bls-ink);margin:4px 0 0;font-size:22px}.team-card .meta{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-aperol);font-size:11px;font-weight:600}.team-card p{color:var(--bls-ink-soft);margin:4px 0 0;font-size:14px;line-height:1.6}.team-section{background:var(--surface)}.team-header{max-width:720px;margin-bottom:64px}.team-grid-v2{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px);display:grid}.team-card-v2{flex-direction:column;align-items:stretch;display:flex}.team-portrait{aspect-ratio:4/5;background:var(--bls-pool);justify-content:center;align-items:center;width:100%;margin-bottom:0;display:flex;position:relative;overflow:hidden}.team-portrait:after{content:"";background:linear-gradient(#2a1b1100 60%,#2a1b112e 100%);position:absolute;inset:0}.team-portrait .portrait-fallback{font-family:var(--font-display);color:var(--bls-offwhite);letter-spacing:.02em;z-index:1;opacity:.95;font-size:96px}.portrait-0{background:linear-gradient(#d9502259,#d950228c),url(/bls/illustrations/palm.jpg) 50%/cover}.portrait-1{background:linear-gradient(#eab05d4d,#d9502273),url(/bls/illustrations/heliconia.jpg) 50%/cover}.portrait-2{background:linear-gradient(#b6cfb94d,#d9502280),url(/bls/illustrations/wave.jpg) 50%/cover}.team-name-pill{z-index:2;background:var(--bls-aperol);color:var(--bls-offwhite);font-family:var(--font-display);letter-spacing:.32em;box-shadow:var(--shadow-2);border-radius:999px;align-self:center;margin-top:-22px;padding:12px 36px;font-size:18px}.team-card-v2 .team-role{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--bls-ink-mute);margin:18px 0 24px;font-size:11px;font-weight:600;display:block}.team-card-v2 p{color:var(--bls-ink);margin:0 0 14px;font-size:15px;line-height:1.65}.team-card-v2 p:last-child{margin-bottom:0}.booking-header{background:var(--bls-aperol);padding:clamp(72px,10vw,128px) 0 clamp(96px,12vw,160px);position:relative;overflow:hidden}.booking-header:after{content:"";opacity:.18;background:url(/bls/illustrations/wave.jpg) 50%/cover;border-radius:999px;width:280px;height:280px;position:absolute;bottom:-40px;right:-40px}.booking-searchbar-wrap{z-index:5;margin-top:-48px;margin-bottom:24px;position:relative}.booking-searchbar{background:var(--bls-offwhite);border:1px solid var(--bls-hairline);box-shadow:var(--shadow-2);grid-template-columns:2fr 1.1fr 1.1fr .8fr auto;align-items:stretch;gap:0;padding:8px;display:grid}.bsb-field{border-right:1px solid var(--bls-hairline);cursor:text;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.bsb-field:last-of-type{border-right:0}.bsb-field span{letter-spacing:.2em;text-transform:uppercase;color:var(--bls-aperol);font-size:10.5px;font-weight:600}.bsb-field input{font:inherit;font-family:var(--font-body);color:var(--bls-ink);background:0 0;border:0;outline:none;width:100%;padding:4px 0 0;font-size:15px}.bsb-field input::placeholder{color:var(--bls-ink-mute)}.bsb-submit{justify-content:center;align-self:stretch;margin:0 4px;padding:18px 32px}.booking-results-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;display:flex}.booking-results-meta{text-align:right;flex-direction:column;display:flex}.booking-results-meta>span:first-child{font-family:var(--font-display);color:var(--bls-aperol);font-size:18px}.booking-results{grid-template-columns:1fr;gap:24px;display:grid}.booking-result{background:var(--bls-offwhite);border:1px solid var(--bls-hairline);cursor:pointer;transition:border-color .24s var(--ease-soft), box-shadow .24s;grid-template-columns:minmax(280px,360px) 1fr;gap:32px;display:grid}.booking-result:hover{border-color:var(--bls-aperol);box-shadow:var(--shadow-2)}.br-photo{aspect-ratio:4/3;overflow:hidden}.br-photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-soft);display:block}.booking-result:hover .br-photo img{transform:scale(1.04)}.br-body{flex-direction:column;justify-content:space-between;gap:16px;padding:24px 28px 24px 0;display:flex}.br-body .meta{letter-spacing:.18em;text-transform:uppercase;color:var(--bls-ink-mute);font-size:11.5px;font-weight:600}.br-body h3{font-family:var(--font-display);color:var(--bls-ink);margin:6px 0 0;font-size:28px}.booking-result:hover h3{color:var(--bls-aperol)}.br-tagline{color:var(--bls-ink-soft);max-width:48ch;margin:8px 0 0;font-size:15px;line-height:1.55}.br-foot{border-top:1px solid var(--bls-hairline);justify-content:space-between;align-items:flex-end;gap:16px;padding-top:16px;display:flex}.br-price{flex-direction:column;gap:2px;display:flex}.br-price .amt{font-family:var(--font-display);color:var(--bls-aperol);font-size:26px;line-height:1}.br-price .per{color:var(--bls-ink-mute);margin-top:2px;font-size:12px;display:inline-block}.br-price .total{letter-spacing:.04em;color:var(--bls-ink-soft);margin-top:6px;font-size:12px}.booking-empty{text-align:center;flex-direction:column;align-items:center;padding:64px 0;display:flex}.booking-empty-illus{background:url(/bls/illustrations/umbrella.jpg) 50%/cover;border-radius:999px;width:96px;height:96px}.booking-confirm-note{color:var(--bls-ink-soft);background:var(--surface);border-left:2px solid var(--bls-aperol);align-items:center;gap:10px;margin-top:32px;padding:12px 18px;font-size:13px;display:inline-flex}.booking-confirm-note .dot{background:var(--bls-aperol);border-radius:999px;width:8px;height:8px}@media (max-width:960px){.team-grid-v2{grid-template-columns:1fr;gap:56px}.team-portrait{aspect-ratio:16/11}}@media (max-width:880px){.booking-searchbar{grid-template-columns:1fr 1fr}.bsb-field{border-right:0;border-bottom:1px solid var(--bls-hairline)}.bsb-loc{grid-column:1/-1}.bsb-submit{grid-column:1/-1;margin:8px 4px 4px}.booking-result{grid-template-columns:1fr}.br-body{padding:0 24px 24px}}.hero-meta{right:var(--gutter);z-index:3;text-align:right;color:var(--bls-offwhite);position:absolute;bottom:clamp(48px,8vh,96px)}.hero-meta .small{letter-spacing:.22em;text-transform:uppercase;opacity:.85;margin-bottom:6px;font-size:11px;font-weight:600}.hero-meta .big{font-family:var(--font-display);font-size:22px;line-height:1.2}.featured-bar{border-top:1px solid var(--bls-hairline);border-bottom:1px solid var(--bls-hairline);background:var(--bls-offwhite);padding:28px 0}.featured-bar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.featured-bar .label{letter-spacing:.22em;text-transform:uppercase;color:var(--bls-ink-mute);flex:none;font-size:11px;font-weight:600}.featured-bar .pubs{flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,56px);display:flex}.featured-bar .pub{font-family:var(--font-display);color:var(--bls-ink-soft);letter-spacing:.04em;opacity:.9;font-size:clamp(15px,1.6vw,18px)}.stats-strip{border-top:1px solid var(--bls-hairline);border-bottom:1px solid var(--bls-hairline);grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,48px);padding:clamp(56px,8vw,96px) 0;display:grid}.stats-strip .stat{flex-direction:column;gap:6px;display:flex}.stats-strip .stat .num{font-family:var(--font-display);color:var(--bls-aperol);font-size:clamp(40px,5vw,64px);line-height:1}.stats-strip .stat .lbl{color:var(--bls-ink-soft);max-width:22ch;font-size:13px;line-height:1.45}@media (max-width:960px){.villa-body{grid-template-columns:1fr}.villa-body-side{position:static}.contact-layout{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.stats-strip{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:640px){.nav-links{display:none}.villa-hero{grid-template-rows:200px 200px 200px;grid-template-columns:1fr 1fr}.villa-hero .main{grid-area:1/1/2/3;height:auto}.villa-grid,.services,.split,.cta-band .inner{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr}.stats-strip{grid-template-columns:1fr 1fr}.contact-form .field-row{grid-template-columns:1fr}.amenities{grid-template-columns:1fr 1fr}}.show-more-body{position:relative;overflow:hidden}.show-more-body[data-expanded=false]{-webkit-line-clamp:var(--clamp-lines,6);line-clamp:var(--clamp-lines,6);-webkit-box-orient:vertical;display:-webkit-box}.show-more-toggle{font:inherit;color:var(--bls-aperol);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin-top:12px;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.show-more-toggle:hover{color:var(--bls-aperol-dark)}.bls-disclosure{border-top:1px solid var(--bls-hairline);margin:0}.bls-disclosure:last-of-type{border-bottom:1px solid var(--bls-hairline)}.bls-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;list-style:none;display:flex}.bls-disclosure>summary::-webkit-details-marker{display:none}.bls-disclosure-heading{font-family:var(--font-display);color:var(--bls-ink);letter-spacing:-.01em;font-size:20px}.bls-disclosure-chevron{color:var(--bls-ink-mute);font-size:22px;line-height:1;transition:transform .2s}.bls-disclosure[open] .bls-disclosure-chevron{transform:rotate(180deg)}.bls-disclosure-body{color:var(--bls-ink-soft);white-space:pre-line;max-width:60ch;padding:0 0 24px;font-size:16px;line-height:1.7}.list-modal-trigger{letter-spacing:.06em;text-transform:none;width:fit-content;margin-top:24px;margin-bottom:8px;padding:12px 22px;font-size:13px;display:flex}.bls-list-modal{background:var(--bls-offwhite);border:0;border-radius:14px;width:calc(100% - 32px);max-width:720px;max-height:85vh;padding:0;box-shadow:0 0 0 1px #211e1c0a,0 12px 32px #211e1c2e}.bls-list-modal::backdrop{background:#211e1c80}.bls-list-modal-inner{flex-direction:column;max-height:85vh;display:flex}.bls-list-modal header{background:var(--bls-offwhite);border-bottom:1px solid var(--bls-hairline);justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.bls-list-modal h2{font-family:var(--font-display);color:var(--bls-ink);letter-spacing:-.01em;margin:0;font-size:22px}.bls-list-modal-close{color:var(--bls-ink);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:28px;line-height:1}.bls-list-modal-body{padding:16px 24px 24px;overflow-y:auto}.review-clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.booking-widget{scroll-margin-top:96px}.bw-calendar-mount{min-height:320px;margin-top:8px;position:relative}.bw-calendar-skeleton{flex-direction:column;gap:12px;display:flex}.bw-skeleton-row{background:var(--bls-hairline-soft,#ebebeb);border-radius:4px;width:33%;height:24px;animation:1.4s ease-in-out infinite bw-pulse}.bw-skeleton-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.bw-skeleton-cell{aspect-ratio:1;background:var(--bls-hairline-soft,#ebebeb);border-radius:4px;animation:1.4s ease-in-out infinite bw-pulse}@keyframes bw-pulse{0%,to{opacity:1}50%{opacity:.5}}.mobile-reservation-bar{z-index:60;background:var(--bls-offwhite);border-top:1px solid var(--bls-hairline);padding:12px 16px env(safe-area-inset-bottom,12px);justify-content:space-between;align-items:center;gap:16px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #211e1c14}.mrb-rate{flex-direction:column;line-height:1.2;display:flex}.mrb-price{font-family:var(--font-display);color:var(--bls-aperol);font-size:22px}.mrb-period{letter-spacing:.12em;text-transform:uppercase;color:var(--bls-ink-mute);font-size:11px}.mrb-cta{letter-spacing:.04em;flex-shrink:0;padding:12px 22px;font-size:14px;font-weight:600}@media (max-width:900px){.villa-body{grid-template-columns:1fr;padding-bottom:120px}.villa-body-side{position:static;top:auto}.villa-body-side .booking-widget{max-width:480px;margin:0 auto}.mobile-reservation-bar{display:flex}}
