/* Villa presentation parameters. Dimensions are the approved design contract. */
:root {
--ink-100:#17233b;
--ink-60:#17233b99;
--ink-30:#17233b4d;
--ink-10:#17233b1a;
--ink-5:#17233b0d;
--ink-0:#17233b00;
--paper-100:#f3f3ec;
--paper-60:#f3f3ec99;
--paper-30:#f3f3ec4d;
--paper-10:#f3f3ec1a;
--paper-5:#f3f3ec0d;
--paper-0:#f3f3ec00;
--white-100:#ffffff;
--white-80:#ffffffcc;
--white-40:#ffffff66;
--white-20:#ffffff33;
--white-10:#ffffff1a;
--white-0:#ffffff00;
--palette-velvet-plum:#340c24;
--palette-powder-sky:#b5cedb;
--palette-blush-bloom:#f8bbcb;
--step-0:calc(0rem / var(--unit-divisor));
--step-1:calc(1rem / var(--unit-divisor));
--step-2:calc(2rem / var(--unit-divisor));
--step-4:calc(4rem / var(--unit-divisor));
--step-6:calc(6rem / var(--unit-divisor));
--step-8:calc(8rem / var(--unit-divisor));
--step-10:calc(10rem / var(--unit-divisor));
--step-12:calc(12rem / var(--unit-divisor));
--step-16:calc(16rem / var(--unit-divisor));
--step-20:calc(20rem / var(--unit-divisor));
--step-24:calc(24rem / var(--unit-divisor));
--step-28:calc(28rem / var(--unit-divisor));
--step-32:calc(32rem / var(--unit-divisor));
--step-36:calc(36rem / var(--unit-divisor));
--step-40:calc(40rem / var(--unit-divisor));
--step-44:calc(44rem / var(--unit-divisor));
--step-48:calc(48rem / var(--unit-divisor));
--step-52:calc(52rem / var(--unit-divisor));
--step-56:calc(56rem / var(--unit-divisor));
--step-60:calc(60rem / var(--unit-divisor));
--step-64:calc(64rem / var(--unit-divisor));
--step-68:calc(68rem / var(--unit-divisor));
--step-72:calc(72rem / var(--unit-divisor));
--step-80:calc(80rem / var(--unit-divisor));
--step-88:calc(88rem / var(--unit-divisor));
--step-96:calc(96rem / var(--unit-divisor));
--step-104:calc(104rem / var(--unit-divisor));
--step-112:calc(112rem / var(--unit-divisor));
--step-120:calc(120rem / var(--unit-divisor));
--step-136:calc(136rem / var(--unit-divisor));
--step-144:calc(144rem / var(--unit-divisor));
--step-160:calc(160rem / var(--unit-divisor));
--step-168:calc(168rem / var(--unit-divisor));
--step-192:calc(192rem / var(--unit-divisor));
--step-240:calc(240rem / var(--unit-divisor));
--step-272:calc(272rem / var(--unit-divisor));
--space-0:var(--step-0);
--space-4:var(--step-4);
--space-8:var(--step-8);
--space-12:var(--step-12);
--space-16:var(--step-16);
--space-24:var(--step-24);
--space-32:var(--step-32);
--space-48:var(--step-48);
--space-64:var(--step-64);
--space-96:var(--step-96);
--space-160:var(--step-160);
--space-272:var(--step-272);
--gutter-start:var(--step-48);
--gutter-end:var(--step-48);
--grid-gap:var(--step-16);
--unit-divisor:16;
--cell-block:var(--step-96);
--cell-inline:var(--step-136);
--viewport-block:100vh;
--type-h1-size:calc(192rem / var(--unit-divisor));
--type-h1-leading:87.5%;
--type-h1-tracking:-0.024em;
--type-h2-size:calc(136rem / var(--unit-divisor));
--type-h2-leading:88.235%;
--type-h2-tracking:-0.024em;
--type-h3-size:calc(96rem / var(--unit-divisor));
--type-h3-leading:91.667%;
--type-h3-tracking:-0.024em;
--type-h4-size:calc(63rem / var(--unit-divisor));
--type-h4-leading:88.889%;
--type-h4-tracking:-0.016em;
--type-h5-size:calc(40rem / var(--unit-divisor));
--type-h5-leading:100%;
--type-h5-tracking:-0.008em;
--type-h6-size:calc(28rem / var(--unit-divisor));
--type-h6-leading:100%;
--type-h6-tracking:0em;
--type-p1-size:calc(13rem / var(--unit-divisor));
--type-p1-leading:138.462%;
--type-p1-tracking:-0.024em;
--type-p2-size:calc(11rem / var(--unit-divisor));
--type-p2-leading:145.455%;
--type-p2-tracking:-0.024em;
--type-l1-size:calc(11rem / var(--unit-divisor));
--type-l1-leading:145.455%;
--type-l1-tracking:0.048em;
--type-l2-size:calc(9rem / var(--unit-divisor));
--type-l2-leading:133.333%;
--type-l2-tracking:0.32em;
--type-c1-size:calc(25rem / var(--unit-divisor));
--type-c1-leading:112%;
--type-c1-tracking:0.8em;
--type-a1-size:calc(192rem / var(--unit-divisor));
--type-a1-leading:100%;
--type-a1-tracking:0em;
--type-a2-size:calc(120rem / var(--unit-divisor));
--type-a2-leading:100%;
--type-a2-tracking:0em;
--type-body:VillaInstrument,Georgia,serif;
--type-display:VillaInstrument,Georgia,serif;
--type-accent:VillaInstrument,Georgia,serif;
--status-success:#1ba64b;
--status-alert:#ffa800;
--status-error:#e23d3d;
}
:root,.vb-theme-on-light{
--surface-bg:var(--paper-100);
--surface-transparent:transparent;
--foreground-primary:var(--ink-100);
--foreground-gray-text:var(--ink-60);
--foreground-disabled:var(--ink-30);
--foreground-line:var(--ink-10);
--foreground-bg:var(--ink-5);
--inverse-primary:var(--paper-100);
--inverse-gray-text:var(--paper-60);
--inverse-disabled:var(--paper-30);
--inverse-line:var(--paper-10);
--inverse-bg:var(--paper-5);
--light-primary:var(--white-100);
--light-gray-text:var(--white-80);
--light-disabled:var(--white-40);
--light-line:var(--white-20);
--light-bg:var(--white-10);
}
.vb-theme-on-brand{
--surface-bg:var(--palette-powder-sky);
--surface-transparent:transparent;
--foreground-primary:var(--ink-100);
--foreground-gray-text:var(--ink-60);
--foreground-disabled:var(--ink-30);
--foreground-line:var(--ink-10);
--foreground-bg:var(--ink-5);
--inverse-primary:var(--paper-100);
--inverse-gray-text:var(--paper-60);
--inverse-disabled:var(--paper-30);
--inverse-line:var(--paper-10);
--inverse-bg:var(--paper-5);
--light-primary:var(--white-100);
--light-gray-text:var(--white-80);
--light-disabled:var(--white-40);
--light-line:var(--white-20);
--light-bg:var(--white-10);
}
.vb-theme-on-color{
--surface-bg:var(--palette-velvet-plum);
--surface-transparent:transparent;
--foreground-primary:var(--white-100);
--foreground-gray-text:var(--white-80);
--foreground-disabled:var(--white-40);
--foreground-line:var(--white-20);
--foreground-bg:var(--white-10);
--inverse-primary:var(--ink-100);
--inverse-gray-text:var(--ink-60);
--inverse-disabled:var(--ink-30);
--inverse-line:var(--ink-10);
--inverse-bg:var(--ink-5);
--light-primary:var(--white-100);
--light-gray-text:var(--white-80);
--light-disabled:var(--white-40);
--light-line:var(--white-20);
--light-bg:var(--white-10);
}
.vb-theme-on-dark{
--surface-bg:var(--palette-velvet-plum);
--surface-transparent:transparent;
--foreground-primary:var(--paper-100);
--foreground-gray-text:var(--paper-60);
--foreground-disabled:var(--paper-30);
--foreground-line:var(--paper-10);
--foreground-bg:var(--paper-5);
--inverse-primary:var(--ink-100);
--inverse-gray-text:var(--ink-60);
--inverse-disabled:var(--ink-30);
--inverse-line:var(--ink-10);
--inverse-bg:var(--ink-5);
--light-primary:var(--white-100);
--light-gray-text:var(--white-80);
--light-disabled:var(--white-40);
--light-line:var(--white-20);
--light-bg:var(--white-10);
}
@media(max-width:991px){body{
--step-0:calc(0rem / var(--unit-divisor));
--step-1:calc(1rem / var(--unit-divisor));
--step-2:calc(2rem / var(--unit-divisor));
--step-4:calc(4rem / var(--unit-divisor));
--step-6:calc(6rem / var(--unit-divisor));
--step-8:calc(8rem / var(--unit-divisor));
--step-10:calc(10rem / var(--unit-divisor));
--step-12:calc(12rem / var(--unit-divisor));
--step-16:calc(16rem / var(--unit-divisor));
--step-20:calc(20rem / var(--unit-divisor));
--step-24:calc(24rem / var(--unit-divisor));
--step-28:calc(28rem / var(--unit-divisor));
--step-32:calc(32rem / var(--unit-divisor));
--step-36:calc(36rem / var(--unit-divisor));
--step-40:calc(40rem / var(--unit-divisor));
--step-44:calc(44rem / var(--unit-divisor));
--step-48:calc(48rem / var(--unit-divisor));
--step-52:calc(52rem / var(--unit-divisor));
--step-56:calc(56rem / var(--unit-divisor));
--step-60:calc(60rem / var(--unit-divisor));
--step-64:calc(64rem / var(--unit-divisor));
--step-68:calc(68rem / var(--unit-divisor));
--step-72:calc(72rem / var(--unit-divisor));
--step-80:calc(80rem / var(--unit-divisor));
--step-88:calc(88rem / var(--unit-divisor));
--step-96:calc(96rem / var(--unit-divisor));
--step-104:calc(104rem / var(--unit-divisor));
--step-112:calc(112rem / var(--unit-divisor));
--step-120:calc(120rem / var(--unit-divisor));
--step-136:calc(136rem / var(--unit-divisor));
--step-144:calc(144rem / var(--unit-divisor));
--step-160:calc(160rem / var(--unit-divisor));
--step-168:calc(168rem / var(--unit-divisor));
--step-192:calc(192rem / var(--unit-divisor));
--step-240:calc(240rem / var(--unit-divisor));
--step-272:calc(272rem / var(--unit-divisor));
--space-0:var(--step-0);
--space-4:var(--step-4);
--space-8:var(--step-8);
--space-12:var(--step-12);
--space-16:var(--step-16);
--space-24:var(--step-16);
--space-32:var(--step-24);
--space-48:var(--step-32);
--space-64:var(--step-48);
--space-96:var(--step-64);
--space-160:var(--step-96);
--space-272:var(--step-120);
--gutter-start:var(--step-24);
--gutter-end:var(--step-24);
--grid-gap:var(--step-16);
--unit-divisor:4.16;
--cell-block:var(--step-80);
--cell-inline:var(--step-80);
--viewport-block:var(--viewport-measured);
--type-h1-size:calc(96rem / var(--unit-divisor));
--type-h1-leading:91.667%;
--type-h1-tracking:-0.024em;
--type-h2-size:calc(73rem / var(--unit-divisor));
--type-h2-leading:87.671%;
--type-h2-tracking:-0.024em;
--type-h3-size:calc(56rem / var(--unit-divisor));
--type-h3-leading:92.857%;
--type-h3-tracking:-0.024em;
--type-h4-size:calc(40rem / var(--unit-divisor));
--type-h4-leading:100%;
--type-h4-tracking:-0.016em;
--type-h5-size:calc(28rem / var(--unit-divisor));
--type-h5-leading:100%;
--type-h5-tracking:-0.008em;
--type-h6-size:calc(28rem / var(--unit-divisor));
--type-h6-leading:100%;
--type-h6-tracking:0em;
--type-p1-size:calc(13rem / var(--unit-divisor));
--type-p1-leading:138.462%;
--type-p1-tracking:-0.024em;
--type-p2-size:calc(11rem / var(--unit-divisor));
--type-p2-leading:145.455%;
--type-p2-tracking:-0.024em;
--type-l1-size:calc(11rem / var(--unit-divisor));
--type-l1-leading:145.455%;
--type-l1-tracking:0.048em;
--type-l2-size:calc(9rem / var(--unit-divisor));
--type-l2-leading:133.333%;
--type-l2-tracking:0.32em;
--type-c1-size:calc(19rem / var(--unit-divisor));
--type-c1-leading:126.316%;
--type-c1-tracking:0.8em;
--type-a1-size:calc(96rem / var(--unit-divisor));
--type-a1-leading:100%;
--type-a1-tracking:0em;
--type-a2-size:calc(72rem / var(--unit-divisor));
--type-a2-leading:100%;
--type-a2-tracking:0em;
}}

/* Base elements and reusable composition primitives. */
* { box-sizing:border-box; }
html { height:100%; -webkit-text-size-adjust:100%; }
body { min-height:100%; font:400 1vw/1 var(--type-body); color:var(--foreground-primary); background:white; }
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,fieldset { margin:0; padding:0; border:0; }
article,aside,details,figcaption,figure,footer,header,main,nav,section { display:block; }
[hidden],template { display:none; }
a { color:var(--foreground-primary); text-decoration:none; background:transparent; }
a:hover,a:active { outline:none; }
b,strong { font-weight:700; }
small { font-size:80%; }
sub,sup { position:relative; font-size:75%; line-height:0; vertical-align:baseline; }
sub { bottom:-.25em; } sup { top:-.5em; }
img { display:inline-block; border:0; max-width:none; object-fit:cover; vertical-align:middle; }
svg:not(:root) { overflow:hidden; }
button,input,select,textarea,optgroup { margin:0; font:inherit; color:inherit; }
button,select { text-transform:none; }
button,[type=button],[type=reset] { border:0; cursor:pointer; -webkit-appearance:button; }
button { overflow:visible; }
input { line-height:normal; }
input[type=checkbox],input[type=radio] { padding:0; }
input[type=search] { -webkit-appearance:none; }
textarea { overflow:auto; }
label { display:block; font-weight:700; margin:0; }
button:disabled,input:disabled { cursor:default; }
table { border-collapse:collapse; border-spacing:0; }
td,th { padding:0; }
ul,ol { list-style:none; }
blockquote { font-size:1em; line-height:1; }
figcaption { text-align:center; margin-top:5px; }
.vb-inline-block { display:inline-block; max-width:100%; }
.vb-embed::before,.vb-embed::after,.vb-clearfix::before,.vb-clearfix::after { content:" "; display:table; grid-area:1/1/2/2; }
.vb-embed::after,.vb-clearfix::after { clear:both; }
.vb-hidden-result { display:none!important; }
.vb-empty-result { background:#ddd; padding:10px; }
.vb-a-center { text-align:center; }
.vb-a-right { text-align:right; flex:1; }
.vb-reg { font-weight:400; }
.vb-style-css,.vb-main-css,.vb-collection-empty-none { display:none; }
.vb-section { background:var(--surface-bg); }
.vb-section.vb-living { position:relative; z-index:1; border-radius:50rem 50rem 0 0; }
.vb-section.vb-z-2 { position:relative; z-index:2; }
.vb-body { background:transparent; }
.vb-container { padding:0 var(--gutter-end) 0 var(--gutter-start); }
.vb-container.vb-location { padding-right:0; }
.vb-grid { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; grid-template-rows:auto; grid-auto-columns:1fr; gap:0 var(--grid-gap); }
.vb-grid.vb-fill { flex:1; }
.vb-grid.vb-h-100 { height:100%; }
.vb-b-desk { display:block; } .vb-f-desk { display:flex; }
.vb-b-mob,.vb-f-mob { display:none; }
.vb-clip { overflow:clip; }
.vb-e-auto { pointer-events:auto; }
.vb-h-auto { height:auto; }
.vb-width-auto { width:auto; }
.vb--100vh { height:var(--viewport-block); }
.vb-img,.vb-video { width:100%; height:100%; flex:none; }
.vb-video { object-fit:cover; }
.vb-img.vb-contain { object-fit:contain; }
.vb-img.vb-h-auto { display:block; }
.vb-img.vb-h-auto.vb-hero-img { min-height:var(--viewport-block); }
.vb-img.vb-location-path { position:absolute; inset:0; }
.vb-img.vb-modal-lightbox-img { width:auto; height:auto; max-width:100%; max-height:100%; }
.vb-img-frame { display:flex; flex-flow:column; justify-content:center; align-items:stretch; width:100%; height:100%; overflow:clip; }
.vb-img-p { flex:none; width:100%; height:140%; }
.vb-text-disabled,.vb-l2.vb-text-disabled { color:var(--foreground-disabled); }
.vb-ico { position:relative; width:100%; height:100%; color:var(--foreground-primary); }
.vb-ico.vb-ia-2 { position:absolute; inset:0; }
.vb-ico-12 { width:var(--space-12); height:var(--space-16); }
.vb-ico-24 { width:var(--step-24); height:var(--step-24); }
.vb-line-v { width:.75px; height:100%; background:var(--foreground-primary); }
.vb-line-h { width:100%; height:.75px; background:var(--foreground-primary); }
.vb-info-divider { width:var(--space-64); }
.vb-divider { display:flex; justify-content:center; height:calc(2 * var(--cell-block) + var(--grid-gap)); }
.vb-red-line { float:left; height:var(--space-16); width:calc(var(--cell-inline) + var(--grid-gap)); }
.vb-grid.vb--4-columns{grid-template-columns:1fr 1fr 1fr 1fr}
.vb-grid.vb--5-columns{grid-template-columns:1fr 1fr 1fr 1fr 1fr}
.vb-grid.vb--6-columns{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}
.vb-grid.vb--8-columns{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr}
.vb-grid.vb--9-columns{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr}
.vb-grid.vb--13-columns{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr}
.vb-u-4{height:var(--space-4);}
.vb-u-8{height:var(--space-8);flex:none;}
.vb-u-12{height:var(--space-12);}
.vb-u-16{height:var(--space-16);flex:none;}
.vb-u-24{height:var(--space-24);}
.vb-u-32{height:var(--space-32);}
.vb-u-48{height:var(--space-48);flex:none;}
.vb-u-64{height:var(--space-64);}
.vb-u-96{height:var(--space-96);}
.vb-u-160{height:var(--space-160);flex:none;}
.vb-u-272{height:var(--space-272);}
.vb-ico-16{width:var(--space-16);height:var(--space-16)}
.vb-ico-48{width:var(--space-48);height:var(--space-48)}
.vb-ico-64{width:var(--space-64);height:var(--space-64)}
:is(h1,h2,h3,h4,h5,h6,.vb-h1,.vb-h2,.vb-h3,.vb-h4,.vb-h5,.vb-h6,.vb-c1){font-family:var(--type-display);font-weight:400;text-transform:uppercase;}
:is(.vb-h1,.vb-h2,.vb-h3,.vb-h4,.vb-h5,.vb-h6,.vb-c1){color:var(--foreground-primary);font-variant-numeric:lining-nums proportional-nums;font-feature-settings:"case" on;}
.vb-h1,h1{font-size:var(--type-h1-size);line-height:var(--type-h1-leading);letter-spacing:var(--type-h1-tracking);}
.vb-h2,h2{font-size:var(--type-h2-size);line-height:var(--type-h2-leading);letter-spacing:var(--type-h2-tracking);}
.vb-h3,h3{font-size:var(--type-h3-size);line-height:var(--type-h3-leading);letter-spacing:var(--type-h3-tracking);}
.vb-h4,h4{font-size:var(--type-h4-size);line-height:var(--type-h4-leading);letter-spacing:var(--type-h4-tracking);}
.vb-h5,h5{font-size:var(--type-h5-size);line-height:var(--type-h5-leading);letter-spacing:var(--type-h5-tracking);}
.vb-h6,h6{font-size:var(--type-h6-size);line-height:var(--type-h6-leading);letter-spacing:var(--type-h6-tracking);}
.vb-c1{font-size:var(--type-c1-size);line-height:var(--type-c1-leading);letter-spacing:var(--type-c1-tracking);}
.vb-p1,p{font-size:var(--type-p1-size);line-height:var(--type-p1-leading);letter-spacing:var(--type-p1-tracking);}
.vb-p2{font-size:var(--type-p2-size);line-height:var(--type-p2-leading);letter-spacing:var(--type-p2-tracking);}
.vb-l1{font-size:var(--type-l1-size);line-height:var(--type-l1-leading);letter-spacing:var(--type-l1-tracking);}
.vb-l2{font-size:var(--type-l2-size);line-height:var(--type-l2-leading);letter-spacing:var(--type-l2-tracking);}
.vb-a1{font-size:var(--type-a1-size);line-height:var(--type-a1-leading);letter-spacing:var(--type-a1-tracking);}
.vb-a2{font-size:var(--type-a2-size);line-height:var(--type-a2-leading);letter-spacing:var(--type-a2-tracking);}
p,.vb-p1,.vb-p2 { font-family:var(--type-body); font-weight:400; }
.vb-p1,.vb-p2 { color:var(--foreground-primary); text-transform:none; }
.vb-l1,.vb-l2 { font-family:var(--type-body); font-weight:700; text-transform:uppercase; color:var(--foreground-primary); }
.vb-a1,.vb-a2 { font-family:var(--type-accent); color:var(--foreground-primary); font-weight:400; text-transform:none; margin:.175em 0 -.175em; }
.vb-a2.vb-preloader-a { font-size:calc(64rem / var(--unit-divisor)); }

/* Explicit modifiers follow all primitive defaults. */
.vb-reg { font-weight:400; }
.vb-h-auto { height:auto; }
.vb-width-auto { width:auto; }
.vb-collection-empty-none { background:transparent; }

/* Page compositions: each section owns its geometry; shared behavior is grouped. */
:is(.vb-space-info-frame,.vb-interior-frame,.vb-other-frame,.vb-cta-frame,.vb-footer-frame,.vb-living-scroll-area,.vb-hero-frame-bg-master,.vb-hero-frame-bg-master-img,.vb-contact-frame,.vb-quote-frame,.vb-location-frame-bg-img,.vb-location-path-section-path-c,.vb-space-frame) { position:relative; }
:is(.vb-section-title,.vb-section-logo,.vb-interior-section,.vb-other-section,.vb-footer-section,.vb-living-section,.vb-hero-section,.vb-space-section,.vb-other-title-section-title) { position:relative; z-index:1; }
.vb-section-title { grid-area:1/5/2/7; padding:0 var(--space-48); }
.vb-section-logo { display:flex; gap:var(--space-32); align-items:center; justify-content:center; }
.vb-info-section-lead { grid-area:1/3/2/9; }
.vb-info-section-desc { grid-area:1/5/2/7; }
.vb-info-section-logo-l { display:flex; flex:1; align-items:center; justify-content:flex-end; }
.vb-info-section-logo-r { display:flex; flex:1; align-items:center; justify-content:flex-start; gap:16px; }
.vb-frame-bg { position:absolute; z-index:0; inset:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); }
/* Entrance and introduction */
.vb-hero-frame { position:sticky; top:0; display:flex; flex-flow:column; height:var(--viewport-block); }
.vb-hero-section { display:flex; flex-flow:column; flex:none; height:100%; pointer-events:none; }
.vb-hero-frame-bg { position:absolute; z-index:0; inset:0 0 auto; display:flex; flex-flow:column; flex:none; height:auto; margin:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); }
.vb-hero-frame-bg-master-img-day { display:block; position:relative; inset:0 0 auto; }
.vb-hero-frame-bg-master-img-night { display:none; position:absolute; inset:0 0 auto; }
.vb-hero-section-logo { display:flex; flex-flow:column; align-items:center; justify-content:flex-start; grid-area:1/3/2/9; pointer-events:auto; }
.vb-hero-section-logo-a { margin:-2.5rem 0 0 -2.5rem; margin-top:calc(-1 * var(--step-40)); margin-left:calc(-1 * var(--step-40)); transform:rotate(-12deg); }
.vb-hero-section-title { display:flex; align-items:center; justify-content:space-between; grid-area:1/3/2/9; pointer-events:auto; }
.vb-hero-section-b { position:absolute; z-index:5; inset:auto var(--gutter-end) 0 var(--gutter-start); pointer-events:none; }
.vb-hero-section-desc { grid-area:1/4/2/8; pointer-events:auto; }
.vb-hero-section-btn { display:flex; justify-content:center; }
.vb-hero-scroll-area { position:relative; height:calc(5 * var(--viewport-block) + 50rem); }
.vb-slow-scroll-trigger { position:absolute; z-index:0; inset:auto 0 0; height:var(--viewport-block); pointer-events:none; }
/* Location: desktop is a horizontal sequence; compact mode is vertical. */
.vb-location-scroll-area { position:relative; z-index:3; }
.vb-location-scroll-area-screen { position:sticky; top:0; display:flex; }
.vb-location-scroll-area-track { display:flex; flex:none; }
.vb-location-info-frame,.vb-location-path-frame { position:relative; flex:none; width:calc(10 * var(--cell-inline) + 9 * var(--grid-gap)); }
.vb-location-intro-frame { position:relative; flex:none; width:calc(13 * var(--cell-inline) + 12 * var(--grid-gap)); }
:is(.vb-location-info-section,.vb-location-path-section,.vb-location-intro-section) { display:flex; flex-flow:column; height:var(--viewport-block); }
.vb-location-info-section,.vb-location-path-section { justify-content:space-between; }
.vb-location-info-section-t { flex:1; }
.vb-location-info-section-b { display:flex; flex-flow:column; flex:1; justify-content:flex-end; }
.vb-location-intro-section-img { grid-area:1/6/2/10; }
.vb-location-intro-section-desc { grid-area:1/10/2/13; align-self:end; }
.vb-location-intro-section-title { position:relative; z-index:1; display:flex; flex-flow:column; justify-content:center; align-self:center; align-items:stretch; grid-area:1/3/2/8; }
.vb-location-intro-section-cap { grid-area:1/2/2/4; align-self:center; }
.vb-location-intro-section-title-line,.vb-location-path-section-title-line { display:block; }
.vb-location-intro-section-title-line.vb-is-1 { margin-left:calc(var(--cell-inline) / 2); }
.vb-location-intro-section-title-line.vb-is-2 { margin-left:calc(var(--cell-inline) + var(--grid-gap)); }
.vb-location-path-section-title { grid-area:1/3/2/9; }
.vb-location-path-section-title-a { display:block; margin-top:calc(-1 * var(--step-32)); transform:rotate(-12deg); }
.vb-location-path-section-path { grid-area:1/2/2/10; }
.vb-location-frame { position:relative; z-index:2; }
.vb-location-section { position:absolute; z-index:1; inset:auto 0 0; pointer-events:none; }
.vb-location-frame-bg,.vb-quote-frame-bg { position:relative; margin:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); }
.vb-location-section-desc { position:relative; grid-area:1/8/2/9; pointer-events:auto; }
.vb-location-section-desc-line { position:absolute; inset:0 auto 0 calc(-1 * var(--grid-gap)); }
.vb-location-frame-over-grad { position:absolute; z-index:5; inset:-1px calc(-1 * var(--gutter-end)) auto calc(-1 * var(--gutter-start)); height:calc(3 * var(--cell-block) + 2 * var(--grid-gap)); background:linear-gradient(var(--paper-100),var(--paper-0)); pointer-events:none; }
.vb-location-frame-decor { height:var(--gutter-end); background:var(--surface-bg); margin:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); }
/* Carousel sections */
.vb-benefits-section,.vb-space-type-section { display:flex; flex-flow:column; height:var(--viewport-block); }
.vb-benefits-section-collection,.vb-space-type-section-collection { display:flex; flex-flow:column; grid-area:1/2/2/10; }
.vb-benefits-section-collection { position:relative; justify-content:center; }
.vb-space-type-collection { flex:1; }
.vb-benefits-collection,.vb-services-collection { height:100%; }
:is(.vb-benefits-collection-list,.vb-space-type-collection-list,.vb-services-collection-list,.vb-gallery-collection-list) { position:relative; height:100%; }
.vb-benefits-collection-list { z-index:0; }
:is(.vb-benefits-collection-list-item,.vb-space-type-collection-list-item,.vb-services-collection-list-item,.vb-gallery-collection-list-item) { display:none; position:absolute; inset:0; height:100%; }
:is(.vb-benefits-collection-list-item,.vb-space-type-collection-list-item,.vb-services-collection-list-item,.vb-gallery-collection-list-item):first-child { display:block; position:relative; }
.vb-benefit-slide { display:flex; flex-flow:column; justify-content:space-between; height:100%; }
.vb-benefit-slide-t,.vb-space-type-slide-t { flex:1; }
.vb-benefit-slide-c { display:flex; flex-flow:column; align-items:center; justify-content:center; }
.vb-benefit-slide-b { display:flex; flex-flow:column; flex:1; justify-content:flex-end; }
.vb-benefit-slide-cap { grid-area:1/4/2/6; padding:0 var(--space-48); }
.vb-benefit-slide-desc { grid-area:1/3/2/7; }
.vb-benefit-slide-img { aspect-ratio:2; height:calc(2 * var(--cell-block) + var(--grid-gap)); grid-area:1/3/1/6; }
.vb-benefits-section-collection-pagination { display:flex; flex-flow:column; position:absolute; inset:auto 0; z-index:1; pointer-events:none; }
.vb-benefits-intro-frame,.vb-interior-frame,.vb-other-title-frame { margin-top:calc(-50rem - var(--viewport-block)); }
.vb-benefits-intro-section { display:flex; flex-flow:column; justify-content:flex-end; position:relative; height:50rem; z-index:0; }
.vb-benefits-intro-section-title { position:absolute; inset:0 calc(-1 * var(--gutter-end)) auto calc(-1 * var(--gutter-start)); }
.vb-benefits-intro-section-title-svg { position:relative; z-index:0; }
.vb-space-type-slide { display:flex; flex-flow:column; justify-content:center; height:100%; }
.vb-space-type-slide-c,.vb-space-type-slide-b { position:relative; z-index:1; }
.vb-space-type-slide-b { display:flex; flex-flow:column; flex:1; justify-content:flex-end; }
.vb-space-type-slide-desc { grid-area:1/7/2/9; }
.vb-space-type-slide-data { grid-area:1/2/2/4; }
.vb-data-list { display:flex; flex-flow:column; gap:var(--space-32); }
.vb-space-type-slide-img-frame { position:absolute; z-index:0; display:flex; flex-flow:column; align-items:center; justify-content:center; width:100%; height:0; }
.vb-space-type-slide-img { aspect-ratio:3/4; width:calc(3 * var(--cell-inline) + 2 * var(--grid-gap)); }
.vb-services-section,.vb-slider { height:var(--viewport-block); }
.vb-services-section-collection { height:100%; position:relative; }
.vb-services-slide { position:relative; z-index:0; display:flex; flex-flow:column; justify-content:flex-end; height:100%; }
.vb-services-slide-b { position:relative; z-index:1; }
.vb-services-slide-desc { grid-area:2/2/3/6; }
.vb-services-slide-title { grid-area:1/3/2/6; }
.vb-services-slide-img { position:absolute; z-index:0; inset:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); }
.vb-amm-section-collection-tabs-frame { position:absolute; z-index:1; inset:var(--space-160) 0 auto; }
.vb-amm-section-collection-tabs { position:relative; grid-area:1/8/2/10; }
.vb-amm-section-collection-tabs-line { position:absolute; inset:0 auto 0 calc(-1 * var(--space-16)); width:1.25px; background:var(--foreground-line); }
.vb-amm-section-collection-tabs-line-highlight { width:100%; height:var(--step-40); border-radius:2px; background:var(--foreground-primary); }
.vb-services-tab { cursor:pointer; }
.vb-amm-section-collection-btn-frame { position:absolute; z-index:2; inset:auto 0 var(--space-48); pointer-events:none; }
.vb-amm-section-collection-btn { grid-area:1/8/2/10; pointer-events:auto; }
.vb-services-scroll-area { height:calc(2.5 * var(--viewport-block) + 50rem); position:relative; }
.vb-scroll-area-screen { position:sticky; top:0; z-index:1; }
.vb-img-over-grad { position:absolute; inset:0; z-index:1; background:linear-gradient(transparent,#0000004d); pointer-events:none; }
.vb-img-over-grad.vb-from-top { background:linear-gradient(#0000004d,transparent); }
.vb-img-over-grad.vb-bot { inset:auto 0 0; }
.vb-img-over-grad.vb--100vh { height:var(--viewport-block); }
.vb-img-over-grad.vb--4x { height:calc(4 * var(--cell-block) + 3 * var(--grid-gap)); }
.vb-img-over-grad.vb--6x { height:calc(6 * var(--cell-block) + 5 * var(--grid-gap)); }
/* Living arch and interior editorial sequence */
.vb-living-frame { position:sticky; top:0; }
.vb-living-section { display:flex; flex-flow:column; justify-content:space-between; aspect-ratio:144/168; pointer-events:none; }
.vb-living-intro-section { position:sticky; top:0; z-index:1; height:var(--viewport-block); margin-bottom:calc(-1 * var(--viewport-block)); pointer-events:none; }
.vb-living-intro-section-bg-l,.vb-living-intro-section-bg-r { position:absolute; background:var(--inverse-primary); }
.vb-living-intro-section-bg-l { inset:-1% calc(50% - 1px) 0 0; }
.vb-living-intro-section-bg-r { inset:-1% 0 0 50%; }
.vb-living-section-t,.vb-living-section-b { pointer-events:auto; }
.vb-living-section-desc { grid-area:1/4/2/8; }
.vb-living-section-quote { grid-area:1/2/2/6; }
.vb-living-section-author,.vb-quote-section-ico { grid-area:1/2/2/5; }
.vb-living-section-btn { display:flex; flex-flow:column; justify-content:center; align-items:center; align-self:end; grid-area:1/7/2/9; }
.vb-interior-section-title { display:flex; flex-flow:column; justify-content:flex-start; align-items:center; grid-area:1/4/2/8; }
.vb-interior-section-title-a { margin-top:calc(-1 * var(--step-72)); margin-left:calc(-1 * var(--step-40)); transform:rotate(-12deg); }
.vb-interior-section-imgs { display:flex; justify-content:space-between; gap:var(--grid-gap); width:100%; }
.vb-interior-section-l,.vb-interior-section-r { flex:1; min-width:0; }
.vb-interior-section-l-img-frame { position:relative; display:flex; flex-flow:column; align-items:center; justify-content:center; grid-area:1/1/2/5; aspect-ratio:3/4; background:var(--palette-velvet-plum); padding:0 var(--step-136); margin-left:calc(-1 * var(--gutter-start)); overflow:clip; }
.vb-interior-section-l-img { aspect-ratio:3/4; width:100%; }
.vb-interior-section-r-img { aspect-ratio:4/3; grid-area:1/2/2/6; margin-right:calc(-1 * var(--gutter-end)); }
.vb-interior-section-r-lead { grid-area:2/1/3/5; }
.vb-interior-section-r-desc { grid-area:3/3/4/5; }
.vb-interior-section-l-desc { grid-area:2/3/3/5; }
.vb-interior-section-r-btn { display:flex; flex-flow:column; align-items:center; justify-content:center; grid-area:4/2/5/4; }
.vb-interior-section-gallery-collection { grid-area:1/3/2/11; margin-right:calc(-1 * var(--gutter-end)); }
.vb-gallery-collection { width:100%; aspect-ratio:16/10; }
.vb-gallery-slide { height:100%; position:relative; }
.vb-interior-section-gallery-collection-pagination { display:flex; margin-left:calc(-1 * var(--space-8)); }
.vb-other-section,.vb-other-section-collection { grid-area:1/3/2/9; }
.vb-other-title-frame { position:relative; }
.vb-other-title-section { position:relative; z-index:1; display:flex; flex-flow:column; justify-content:space-between; height:50rem; }
.vb-other-title-section-title { grid-area:1/4/2/8; }
.vb-other-card { cursor:pointer; }
.vb-other-card-name { display:flex; justify-content:center; align-items:flex-start; }
.vb-other-card-name-label { position:relative; }
.vb-other-card-ico { position:absolute; inset:var(--space-4) auto auto calc(100% + var(--space-4)); }
.vb-other-card-info-desc { display:flex; flex-flow:column; align-items:center; justify-content:flex-start; grid-area:1/2/2/6; }
.vb-cta-section { position:relative; z-index:1; aspect-ratio:144/168; pointer-events:none; }
.vb-cta-section-desc { grid-area:1/4/2/8; pointer-events:auto; }
.vb-cta-section-title { grid-area:1/3/2/9; pointer-events:auto; }
.vb-cta-section-title-btn { display:flex; flex-flow:column; justify-content:center; align-items:center; }
/* Catalogue and detail layouts */
.vb-space-section-title { display:flex; justify-content:space-between; align-items:flex-start; grid-area:1/2/2/9; }
.vb-space-section-collection { grid-area:1/2/2/11; }
.vb-space-section-collection-filter { position:relative; z-index:1; display:flex; flex-flow:column; justify-content:center; align-items:stretch; padding:var(--space-32) 0; }
.vb-space-section-collection-filter-item { display:flex; align-items:center; justify-content:space-between; grid-column:span 3; padding:0 var(--space-32); }
.vb-space-section-collection-filter-c { position:relative; z-index:1; }
.vb-space-collection { position:relative; z-index:0; }
.vb-space-collection-list,.vb-space-benefits-collection-list { display:grid; grid-template: auto / repeat(3,1fr); grid-auto-columns:1fr; gap:var(--grid-gap); }
.vb-space-collection-list.vb-c-2,.vb-space-benefits-collection-list.vb-c-2 { grid-template-columns:repeat(2,1fr); }
.vb-space-card { position:relative; display:block; width:100%; height:100%; aspect-ratio:392/544; padding:var(--space-48) var(--space-32) var(--space-24); }
.vb-space-card-img { position:relative; aspect-ratio:1; }
.vb-space-card-img-primary { position:relative; z-index:0; width:100%; height:100%; }
.vb-space-card-data-list,.vb-space-card-info { display:flex; align-items:center; justify-content:center; }
.vb-space-card-data-list { gap:var(--space-12); }
.vb-space-card-info { gap:var(--space-8); }
.vb-data-divider { width:var(--step-2); height:var(--step-2); border-radius:50%; background:var(--foreground-primary); }
.vb-space-card-decor { position:absolute; inset:0; z-index:1; pointer-events:none; }
.vb-space-card-c { position:relative; z-index:3; }
.vb-space-card-shadow { position:absolute; inset:0; z-index:0; flex:none; border-radius:var(--space-32); pointer-events:none; }
.vb-benefit-card { position:relative; display:flex; flex-flow:column; justify-content:flex-end; width:100%; height:100%; aspect-ratio:392/544; padding:var(--space-32); overflow:clip; }
.vb-benefit-card-bg { position:absolute; inset:0; z-index:0; }
.vb-benefit-card-info { position:relative; z-index:1; }
.vb-space-section-collection-decor { position:absolute; inset:0; z-index:0; pointer-events:none; }
.vb-space-section-collection-empty { position:relative; z-index:0; display:flex; flex-flow:column; justify-content:center; align-items:stretch; padding:var(--space-64) 0; }
.vb-space-section-collection-empty-info { grid-area:1/4/2/7; padding:0 var(--grid-gap); }
.vb-space-section-collection-empty-title { padding-left:var(--space-24); }
.vb-detail-section-info { position:sticky; top:0; z-index:1; display:flex; flex-flow:column; height:var(--viewport-block); pointer-events:none; }
.vb-detail-section-info-c { position:relative; display:flex; flex-flow:column; justify-content:space-between; grid-area:1/8/2/10; height:100%; min-height:0; pointer-events:auto; }
.vb-detail-section-info-t { flex:1; height:100%; overflow:auto; }
.vb-detail-section-info-b { position:relative; flex:none; }
.vb-detail-section-info-header.vb-is-top { margin-left:calc(-5 * (var(--cell-inline) + var(--grid-gap))); }
.vb-detail-section-info-data { display:flex; flex-flow:column; gap:var(--space-32); }
.vb-detail-section-info-more-contents { position:relative; }
.vb-detail-section-info-more-content { position:absolute; inset:0 0 auto; display:none; }
.vb-detail-section-info-more-content.vb-is-1 { position:relative; display:block; }
.vb-detail-section-media { position:relative; z-index:0; margin-top:calc(-1 * var(--viewport-block)); }
.vb-detail-section-media-c { grid-area:1/2/2/8; }
.vb-detail-media-collection-list { display:flex; flex-flow:column; gap:var(--space-16); padding:0 var(--space-16) 0 var(--space-24); }
.vb-detail-section-media-layout { display:flex; flex-flow:column; justify-content:flex-end; }
.vb-detail-section-info-line { position:absolute; inset:var(--space-48) auto var(--space-48) calc(-1 * var(--grid-gap)); opacity:.1; }
.vb-detail-section-info-line.vb-is-top { top:calc(var(--space-48) + var(--space-96) + var(--space-24) + 2 * var(--space-8) + var(--space-4) + var(--space-16) + var(--space-64)); }
.vb-detail-section-media-layout-img-primary { position:relative; display:flex; flex-flow:column; justify-content:center; grid-area:1/1/2/6; padding:0 var(--space-64); margin:calc(var(--space-48) + var(--space-160) + var(--space-32)) 0 var(--space-48); height:calc(var(--viewport-block) - 2 * var(--space-48) - var(--space-160) - var(--space-32)); cursor:pointer; }
.vb-detail-section-media-layout-diagrams { position:sticky; bottom:var(--space-48); display:flex; flex-flow:column; gap:var(--space-16); justify-content:flex-end; align-items:flex-end; align-self:end; grid-area:1/5/2/6; padding-right:var(--space-16); }
.vb-block-diagram { position:relative; width:var(--space-64); aspect-ratio:8/11; }
.vb-block-diagram-highlight { position:absolute; inset:0; flex:none; width:100%; height:100%; }
.vb-detail-media-item { position:relative; cursor:pointer; }
.vb-detail-media-item-btn { position:absolute; inset:auto 0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
/* Footer, contact and quote */
.vb-footer-frame { margin-top:calc(-1 * (var(--gutter-start) + 2 * var(--cell-block) + var(--grid-gap))); }
.vb-footer-section { display:flex; flex-flow:column; justify-content:space-between; height:var(--viewport-block); }
.vb-footer-section-t { flex:1; min-width:0; }
.vb-footer-section-b { display:flex; flex-flow:column; flex:1; min-width:0; justify-content:flex-end; }
.vb-footer-section-contact,.vb-contact-section-title { grid-area:1/3/2/9; }
.vb-footer-section-address { grid-area:2/5/3/7; padding:0 var(--space-48); }
.vb-footer-section-info { display:flex; flex-flow:column; align-items:flex-start; justify-content:flex-end; grid-area:1/3/2/6; }
.vb-footer-section-credits { display:flex; flex-flow:column; align-items:flex-end; justify-content:flex-end; grid-area:1/6/2/9; }
.vb-credits { position:relative; display:flex; flex-flow:column; align-items:flex-end; justify-content:flex-end; }
.vb-contact-collection-list,.vb-location-collection-list { display:flex; flex-flow:column; }
.vb-contact-collection-list { gap:var(--space-4); }
.vb-location-collection-list { gap:var(--space-24); }
.vb-contact-collection-list-item,.vb-location-collection-list-item { display:flex; flex-flow:column; justify-content:flex-start; align-items:center; text-align:center; }
.vb-legal-collection-list { display:flex; flex-flow:wrap; align-items:flex-start; justify-content:flex-start; gap:var(--space-4); }
.vb-legal-collection-list-item { display:flex; align-items:center; justify-content:center; }
.vb-contact-section-email,.vb-contact-section-location,.vb-contact-section-phone { position:relative; z-index:1; }
.vb-contact-section-email { grid-area:1/2/2/4; }
.vb-contact-section-location { grid-area:1/5/2/7; padding:0 var(--space-48); }
.vb-contact-section-phone { grid-area:1/8/2/10; }
.vb-footer-frame-bg { position:absolute; z-index:-1; inset:auto calc(-1 * var(--gutter-end)) 100% calc(-1 * var(--gutter-start)); height:calc(2 * var(--viewport-block)); background:var(--surface-bg); }
.vb-quote-section { position:absolute; z-index:1; inset:auto 0 0; }
.vb-quote-frame-bg { z-index:0; }
.vb-quote-section-c { grid-area:1/6/2/10; }
/* Noninteractive regions sampled by the theme/scroll controller. */
:is(.vb-hero-themes,.vb-living-themes,.vb-space-themes,.vb-interior-themes,.vb-frame-themes) { position:absolute; inset:0; display:flex; flex-flow:column; pointer-events:none; }
.vb-hero-themes { bottom:var(--viewport-block); }
.vb-interior-themes { top:50rem; }
:is(.vb-hero-themes-color,.vb-living-themes-color,.vb-space-themes-light-2,.vb-interior-themes-light-3) { flex:1; }
.vb-hero-themes-light { height:35rem; }
.vb-living-themes-light { height:calc(1.5 * var(--viewport-block)); }
.vb-themes-row,.vb-frame-themes-row { display:flex; justify-content:space-between; }
.vb-frame-themes-row.vb-fill { flex:1; }
.vb-space-themes-light-1,.vb-space-themes-color-1 { flex:1; height:15rem; }
.vb-interior-themes-light-1 { height:25rem; }
.vb-interior-themes-light-2,.vb-interior-themes-dark-2 { flex:1; height:52.5rem; }
.vb-quote-frame-themes-color-1,.vb-quote-frame-themes-light-1 { flex:1; height:100%; }
.vb-quote-frame-themes-color-2 { flex:1; height:30rem; }
/* Flower anchors are geometry only; animation belongs to the villa flower module. */
.vb-flower { position:absolute; inset:auto; z-index:1; width:calc(10 * var(--step-80)); height:calc(10 * var(--step-80)); pointer-events:none; }
.vb-flower.vb-location-info { inset:calc(-1 * var(--step-96)) auto auto calc(-1 * (var(--step-64) + var(--gutter-end))); }
.vb-flower.vb-location-intro { inset:auto auto calc(-1 * var(--step-144)) calc(-224rem / var(--unit-divisor)); transform:rotate(90deg); }
.vb-flower.vb-location-path { position:static; inset:0 0 auto auto; margin-top:calc(-1 * var(--step-144)); margin-right:calc(-1 * var(--step-64)); transform:scaleX(-1); }
.vb-flower.vb-living-intro-l { inset:auto auto calc(-1 * var(--step-96)) calc(-1 * (var(--step-96) + var(--gutter-end))); transform:rotate(-150deg); }
.vb-flower.vb-living-intro-r { inset:auto calc(-1 * (var(--step-48) + var(--gutter-end))) calc(-1 * var(--step-96)) auto; transform:rotate(65deg); }
.vb-flower.vb-space-info { inset:auto auto calc(-1 * var(--step-32)) calc(-1 * (var(--step-64) + var(--gutter-start))); transform:scaleY(-1); }
.vb-flower.vb-interior { inset:calc(-1 * var(--step-64)) 0 auto auto; width:100%; height:auto; aspect-ratio:1; }
.vb-flower.vb-space { inset:calc(-1 * var(--step-120)) calc(-1 * (var(--step-120) + var(--gutter-end))) auto auto; transform:rotate(30deg); }
.vb-flower.vb-other { inset:0 calc(-1 * (var(--step-160) + var(--gutter-end))) auto auto; transform:rotate(45deg); }
.vb-location-path-frame-flower { display:block; position:absolute; inset:0 calc(-1 * var(--gutter-end)) auto auto; overflow:hidden; }

.vb-hero-section { justify-content:flex-start; }

/* Interactive surfaces: navigation, dialogs, controls and transition framing. */
.vb-logo { color:var(--foreground-primary); object-fit:contain; width:100%; height:100%; }
.vb-logo-symbol { position:relative; z-index:1; aspect-ratio:1; }
.vb-logo-symbol.vb-header { width:var(--space-48); height:var(--space-48); }
.vb-header-logo { position:fixed; z-index:1200; top:var(--gutter-start); left:var(--gutter-start); width:var(--cell-inline); aspect-ratio:1; display:flex; flex-flow:column; align-items:center; justify-content:center; }
.vb-header-logo-bg { position:absolute; inset:0; z-index:0; color:var(--foreground-primary); }
.vb-header-nav { position:fixed; z-index:1200; top:var(--gutter-end); right:var(--gutter-end); width:var(--cell-inline); text-align:right; }
.vb-header-nav-list { display:flex; flex-flow:column; align-items:flex-end; justify-content:flex-start; }
.vb-header-nav-list.vb-f-mob { display:none; }
.vb-btn-menu { display:flex; align-items:center; justify-content:center; gap:var(--space-4); cursor:pointer; }
.vb-btn-menu-label { display:none; }
.vb-btn-menu-label.vb-is-active { display:block; }
.vb-btn-list,.vb-space-type-slide-btn { display:flex; flex-flow:wrap; align-items:flex-start; justify-content:flex-start; gap:var(--space-8); }
.vb-btn-list.vb-center { justify-content:center; }
.vb-btn,.vb-btn-ico { display:flex; position:relative; align-items:center; justify-content:center; height:var(--step-40); border-radius:var(--step-40); }
.vb-btn { height:auto; min-height:44px; padding:10px 20px; max-width:100%; }
.vb-btn-label { min-width:0; }
.vb-btn .vb-l1 { line-height:1.25; }
.vb-btn-ico { width:var(--step-40); padding:var(--space-12); }
.vb-btn:where(.vb-button-square) { width:var(--step-40); padding-inline:var(--step-12); white-space:nowrap; }
.vb-button-icon { position:relative; z-index:1; }
.vb-btn-ico-link { position:absolute; inset:0; z-index:5; }
.vb-btn-label,.vb-nav-item-label { position:relative; overflow:clip; }
.vb-btn-label-text { position:relative; z-index:0; }
.vb-btn-label-text.vb-is-2 { position:absolute; inset:0 auto auto 0; z-index:2; }
.vb-nav-item-label-text.vb-is-2 { position:absolute; inset:0 auto auto 0; }
.vb-btn-bg { position:absolute; inset:0; z-index:0; border:1px solid var(--foreground-primary); border-radius:var(--step-40); overflow:clip; }
.vb-btn-bg-fill { position:absolute; inset:0; width:100%; height:100%; background:var(--foreground-primary); }
.vb-btn-circle { position:relative; display:flex; flex-flow:column; align-items:center; justify-content:center; aspect-ratio:1; height:calc(2 * var(--cell-block) + var(--grid-gap)); padding:var(--space-48); }
.vb-btn-circle-bg { position:absolute; inset:0; z-index:0; border-radius:50%; color:var(--foreground-primary); }
.vb-btn-circle-label { position:relative; z-index:1; width:100%; }
.vb-btn-circle-link { position:absolute; inset:0; z-index:3; }
.vb-link,.vb-link-label { position:relative; }
.vb-link-label-text.vb-is-2 { position:absolute; inset:0 0 auto auto; }
.vb-link-line { display:block; width:100%; height:.6px; border-radius:2px; background:var(--foreground-primary); }
.vb-pagination { display:flex; align-items:center; justify-content:center; gap:var(--space-32); height:var(--space-48); pointer-events:auto; }
.vb-pagination-prev,.vb-pagination-next { display:flex; align-items:center; justify-content:center; gap:var(--space-16); height:var(--space-48); cursor:pointer; }
.vb-pagination-prev { padding-left:var(--space-8); }
.vb-pagination-next { padding-right:var(--space-8); }
.vb-pagination-prev-label { display:flex; align-items:center; justify-content:center; width:var(--space-24); margin-top:var(--step-2); }
.vb-pagination-progress { width:var(--space-160); height:1px; background:var(--foreground-line); }
.vb-pagination-progress.vb-lightbox { flex:1; }
.vb-pagination-progress-fill { width:0%; height:100%; background:var(--foreground-primary); }
.vb-tabs { display:flex; position:relative; gap:var(--space-24); }
.vb-tab { padding-block:var(--space-8); cursor:pointer; }
.vb-tabs-line { position:absolute; inset:auto 0 0; z-index:0; opacity:.1; }
.vb-tabs-highlight { position:absolute; inset:auto auto 0 0; z-index:1; height:1px; background:var(--foreground-primary); }
.vb-tag-list { display:flex; flex-flow:wrap; justify-content:flex-start; align-items:flex-start; gap:var(--space-4); }
.vb-tag { display:flex; align-items:center; justify-content:center; padding:var(--space-4) var(--space-12); border-radius:var(--space-48); outline:1px solid var(--foreground-line); outline-offset:-1px; }
.vb-filter-select { position:relative; display:flex; flex-flow:column; align-items:flex-start; justify-content:flex-start; }
.vb-filter-select-btn,.vb-filter-select-btn-label { display:flex; align-items:center; justify-content:flex-start; }
.vb-filter-select-btn { gap:var(--space-8); cursor:pointer; }
.vb-filter-select-btn-label { gap:var(--space-4); }
.vb-filter-select-drop-down { position:absolute; z-index:50; top:calc(100% + var(--space-16)); left:calc(-1 * var(--space-24)); min-width:calc(10 * var(--step-24)); padding:var(--space-8); background:var(--surface-bg); outline:1px solid var(--foreground-line); outline-offset:-1px; white-space:nowrap; }
.vb-filter-select-drop-down-list { display:flex; flex-flow:column; gap:var(--step-2); }
.vb-filter-select-drop-down-list-item { padding:var(--space-12) var(--space-16); border-radius:var(--space-4); cursor:pointer; }
/* Fixed overlays */
.vb-modal { display:none; position:fixed; inset:0; z-index:5000; pointer-events:none; }
.vb-modal.vb-show { display:block; }
.vb-modal.vb-menu { z-index:1100; }
.vb-modal-over,.vb-modal-bg { position:absolute; inset:0; z-index:0; pointer-events:auto; }
.vb-modal-over { background:#0009; }
.vb-modal-bg { background:var(--surface-bg); }
.vb-modal-c { position:relative; z-index:1; display:flex; flex-flow:column; width:100%; height:100%; padding:0 var(--gutter-end) 0 var(--gutter-start); }
.vb-modal-menu { display:flex; flex-flow:column; justify-content:space-between; width:100%; height:100%; pointer-events:auto; }
.vb-modal-menu-title { display:flex; flex-flow:column; align-items:center; justify-content:flex-start; grid-area:1/4/2/8; }
.vb-modal-menu-a { margin-bottom:calc(-1 * var(--step-32)); margin-left:calc(-1 * var(--step-96)); transform:rotate(-12deg); }
.vb-modal-menu-list { display:flex; flex-flow:column; align-items:center; justify-content:center; gap:var(--space-32); grid-area:1/5/2/7; text-align:center; }
.vb-modal-lightbox { position:relative; display:flex; flex-flow:column; align-items:center; justify-content:center; width:100%; height:100%; pointer-events:auto; }
.vb-modal-close { position:absolute; inset:var(--gutter-end) 0 auto auto; z-index:1; }
.vb-modal-lightbox-content { position:relative; z-index:0; display:flex; flex-flow:column; align-items:center; justify-content:center; width:calc(100% - 2 * (var(--cell-inline) + var(--grid-gap))); height:calc(100% - 2 * var(--space-48)); }
.vb-modal-lightbox-pagination { position:absolute; inset:auto 0 0; z-index:1; padding-bottom:var(--gutter-end); pointer-events:none; }
.vb-modal-lightbox-pagination-list { display:flex; align-items:center; justify-content:flex-end; gap:var(--space-32); pointer-events:auto; }
.vb-modal-decor { position:absolute; inset:var(--space-24); }
.vb-landscape-cover { display:none; position:fixed; inset:0; z-index:999999; }
.vb-landscape-cover-img { position:relative; z-index:1; width:100%; height:100%; }
.vb-landscape-cover-bg { position:absolute; inset:0; z-index:0; background:var(--foreground-primary); }
/* Preloader and decorative frames */
.vb-master-preloader { display:none; position:fixed; inset:0 0 -100%; z-index:999999; background:var(--surface-bg); }
.vb-preloader { display:none; position:fixed; inset:0 0 calc(-1 * var(--viewport-block)); z-index:11000; padding-bottom:var(--viewport-block); pointer-events:auto; }
.vb-preloader-content { position:relative; z-index:1; display:flex; flex-flow:column; justify-content:space-between; width:100%; height:100%; padding:0 var(--gutter-end) 0 var(--gutter-start); }
.vb-preloader-t { flex:1; }
.vb-preloader-b { display:flex; flex-flow:column; flex:1; justify-content:flex-end; }
.vb-preloader-title-l { grid-area:1/2/2/4; align-self:center; }
.vb-preloader-title-r { grid-area:1/8/2/10; align-self:center; }
.vb-preloader-logo { display:flex; flex-flow:column; justify-content:center; align-items:center; align-self:center; grid-area:1/4/2/8; }
.vb-preloader-logo-a { margin-top:calc(-1 * var(--step-24)); margin-left:calc(-1 * var(--step-32)); transform:rotate(-12deg); }
.vb-preloader-bg { position:absolute; inset:0; z-index:0; background:var(--surface-bg); }
.vb-preloader-progress { display:flex; flex-flow:column; align-items:center; justify-content:center; }
.vb-preloader-progress-fill { width:1px; height:var(--space-96); background:var(--foreground-line); overflow:clip; }
.vb-preloader-progress-track { width:100%; height:100%; background:var(--foreground-primary); }
.vb-preloader-bg-decor,.vb-preloader-bg-a { position:absolute; inset:var(--space-24) var(--space-24) calc(var(--viewport-block) + var(--space-24)); }
.vb-preloader-bg-a { opacity:.05; }
.vb-preloader-bg-living { position:absolute; inset:0; z-index:2; display:flex; flex-flow:column; justify-content:flex-start; align-items:center; pointer-events:none; }
.vb-preloader-bg-living-is-1,.vb-preloader-bg-living-is-2 { position:absolute; background:var(--surface-bg); border-radius:var(--entrance-width) var(--entrance-width) 0 0; outline:1px solid var(--foreground-line); outline-offset:-1px; }
/* Preserve the entrance geometry while translating on the compositor instead
   of moving layout boxes every frame (which produced large layout shifts). */
.vb-preloader-bg-living-is-1 { z-index:1; width:calc(var(--entrance-width) * 1.02); height:calc(var(--entrance-height) * 1.01); top:0; left:50%; transform:translate(-50%,calc(var(--entrance-top) - var(--entrance-height) * .005)); }
.vb-preloader-bg-living-is-2 { z-index:0; width:calc(var(--entrance-width) * 1.1); height:calc(var(--entrance-height) * 1.03); top:0; left:50%; transform:translate(-50%,calc(var(--entrance-top) - var(--entrance-height) * .015)); }
.vb-decor { position:absolute; inset:0; color:var(--foreground-line); }
.vb-card-decor { position:absolute; inset:var(--space-8); z-index:0; }
:is(.vb-frame-lt,.vb-frame-rt,.vb-frame-rb,.vb-frame-lb,.vb-frame-t-lr,.vb-frame-b-lr,.vb-frame-r-tb,.vb-frame-l-tb,.vb-frame-fill-tb,.vb-frame-fill-lr,.vb-frame-fill-c) { --corner:var(--step-24); position:absolute; }
:is(.vb-frame-lt,.vb-frame-rt,.vb-frame-rb,.vb-frame-lb,.vb-frame-t-lr,.vb-frame-b-lr,.vb-frame-r-tb,.vb-frame-l-tb,.vb-frame-fill-tb,.vb-frame-fill-lr,.vb-frame-fill-c):where(.vb-frame-small) { --corner:var(--step-16); }
.vb-frame-lt,.vb-frame-rt,.vb-frame-rb,.vb-frame-lb { z-index:1; width:var(--corner); height:var(--corner); }
.vb-frame-lt { inset:0 auto auto 0; } .vb-frame-rt { inset:0 0 auto auto; }
.vb-frame-rb { inset:auto 0 0 auto; } .vb-frame-lb { inset:auto auto 0 0; }
.vb-frame-t-lr,.vb-frame-b-lr { z-index:1; height:var(--corner); left:var(--corner); right:var(--corner); }
.vb-frame-t-lr { top:calc(var(--corner) / -2); } .vb-frame-b-lr { bottom:calc(var(--corner) / -2); }
.vb-frame-r-tb,.vb-frame-l-tb { z-index:1; width:var(--corner); top:var(--corner); bottom:var(--corner); }
.vb-frame-r-tb { right:calc(var(--corner) / -2); } .vb-frame-l-tb { left:calc(var(--corner) / -2); }
.vb-frame-fill-tb { z-index:0; inset:0 var(--corner); }
.vb-frame-fill-lr { z-index:0; inset:var(--corner) 0; }
.vb-frame-fill-c { z-index:0; width:calc(2 * var(--corner)); height:calc(2 * var(--corner)); }
.vb-frame-fill-c.vb-lt { inset:0 auto auto 0; } .vb-frame-fill-c.vb-rt { inset:0 0 auto auto; }
.vb-frame-fill-c.vb-rb { inset:auto 0 0 auto; } .vb-frame-fill-c.vb-lb { inset:auto auto 0 0; }
/* Scroll hints and tooltips */
.vb-header-cramps,.vb-section-down,.vb-footer-section-section-top { display:flex; align-items:center; position:fixed; z-index:1200; height:var(--cell-inline); top:calc(100% - var(--gutter-start)); left:var(--gutter-start); transform:rotate(-90deg); transform-origin:0 0; }
.vb-header-cramps { gap:var(--space-16); justify-content:flex-start; width:calc(var(--viewport-block) - 2 * var(--gutter-start) - var(--cell-inline) - var(--grid-gap)); }
.vb-section-down,.vb-footer-section-section-top { gap:var(--space-24); justify-content:center; }
.vb-footer-section-section-top { position:absolute; left:0; }
.vb-section-down-arrow { aspect-ratio:4; height:var(--space-12); color:var(--foreground-primary); }
.vb-section-bar-frame { position:fixed; z-index:1200; left:var(--gutter-start); top:calc(2 * var(--gutter-start) + var(--cell-inline)); bottom:calc(2 * var(--gutter-start) + var(--cell-inline)); display:flex; flex-flow:column; align-items:center; justify-content:center; width:var(--cell-inline); pointer-events:none; }
.vb-section-bar { position:relative; display:flex; flex-flow:column; align-items:center; justify-content:flex-start; height:calc(2 * var(--cell-inline) + var(--grid-gap)); pointer-events:auto; }
.vb-section-bar-track,.vb-section-bar-fill { position:absolute; inset:0 auto; width:1px; height:100%; }
.vb-section-bar-track { z-index:0; background:var(--foreground-line); }
.vb-section-bar-fill { z-index:1; background:var(--foreground-primary); }
.vb-section-bar-thumb { position:absolute; inset:auto; z-index:3; display:flex; flex-flow:column; align-items:stretch; justify-content:center; width:var(--space-48); height:var(--space-48); user-select:none; transform:translateY(-50%); }
.vb-pin { position:relative; display:flex; justify-content:center; align-items:center; width:var(--step-32); height:var(--step-32); padding:var(--space-8); border-radius:50%; outline:.75px solid var(--foreground-primary); outline-offset:-.75px; }
.vb-pin-bg { position:absolute; inset:0; z-index:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.vb-pin-bg-pulse { position:absolute; border-radius:50%; outline:.75px solid var(--foreground-primary); outline-offset:-.75px; }
.vb-pin-dot { display:flex; flex-flow:column; flex:none; align-items:center; justify-content:center; width:var(--step-6); height:var(--step-6); border-radius:50%; background:var(--foreground-primary); }
.vb-floating-tips { display:block; position:fixed; inset:0; z-index:11000; pointer-events:none; }
.vb-floating-tips-list { display:flex; flex-flow:column; align-items:flex-start; justify-content:flex-start; position:absolute; inset:0; }
.vb-floating-tip { position:absolute; inset:0 auto auto 0; gap:16px; }
.vb-floating-tip-card { position:relative; z-index:0; display:flex; flex-flow:column; justify-content:space-between; aspect-ratio:17/21; padding:var(--space-24); border-radius:var(--space-4); background:var(--inverse-primary); width:calc(2 * (var(--cell-inline) + var(--grid-gap))); }
.vb-floating-tip-card-t,.vb-floating-tip-card-b { position:relative; z-index:1; }
.vb-cookies { position:fixed; inset:auto 0 0; z-index:99; pointer-events:none; }
.vb-cookies-c { padding:0 var(--gutter-end) var(--gutter-end) var(--gutter-start); }
.vb-cookies-card { position:relative; display:flex; flex-flow:column; justify-content:space-between; grid-area:1/9/2/11; padding:var(--space-24); margin:calc(-1 * var(--space-8)); aspect-ratio:17/21; border-radius:var(--space-4); background:var(--inverse-primary); overflow:clip; pointer-events:auto; }
.vb-cookies-card-title { margin-left:calc(-1 * var(--space-48)); transform:rotate(-12deg); }
.vb-cookies-card-t { position:relative; z-index:1; display:flex; flex-flow:column; align-items:center; justify-content:flex-start; }
.vb-cookies-card-b { position:relative; z-index:1; }
.vb-cookies-card-btn-list { display:flex; justify-content:center; align-items:center; gap:var(--space-8); }
.vb-hero-section-tabs-divider { width:var(--space-64); height:1px; }

.vb-floating-tip { align-items:center; justify-content:flex-start; }

/* One four-column composition replaces the desktop spread below 992px. */
@media(max-width:991px) {
 .vb-container.vb-location { padding-right:var(--gutter-end); }
 .vb-grid,.vb-grid:is(.vb--4-columns,.vb--5-columns,.vb--6-columns,.vb--8-columns,.vb--9-columns,.vb--13-columns) { grid-template-columns:1fr 1fr 1fr 1fr; }
 .vb-grid.vb-h-100 { height:auto; }
 .vb-b-desk,.vb-f-desk,.vb-floating-tips,.vb-header-cramps,.vb-section-bar-frame,.vb-section-down,.vb-section-bar,.vb-preloader-title-l,.vb-preloader-title-r,.vb-footer-section-section-top,.vb-detail-section-info-line,.vb-location-path-frame-flower { display:none; }
 .vb-b-mob { display:block; } .vb-f-mob,.vb-header-nav-list.vb-f-mob { display:flex; }
 .vb-mob-a-left { text-align:left; } .vb-mob-a-center { text-align:center; }
 .vb-img { height:100%; }
 .vb-img.vb-h-auto.vb-hero-img { min-height:100vh; }
 .vb-img.vb-h-auto.vb-quote-frame-bg-img { height:100%; object-position:0 50%; }
 .vb-img-frame.vb-h-auto.vb-quote-frame-bg-img { height:100%; }
 .vb-h-auto { height:auto; }
 .vb-a2.vb-preloader-a { font-size:calc(48rem / var(--unit-divisor)); }
 .vb-section-title,.vb-benefit-slide-cap { grid-area:1/2/2/4; padding-inline:0; margin-inline:calc(-1 * var(--grid-gap)); }
 :is(.vb-info-section-lead,.vb-info-section-desc,.vb-benefits-section-collection,.vb-benefit-slide-desc,.vb-hero-section-title,.vb-space-type-section-collection,.vb-interior-section-title,.vb-interior-section-gallery-collection,.vb-other-section,.vb-other-section-collection,.vb-other-card-info-desc,.vb-cta-section-desc,.vb-cta-section-title,.vb-footer-section-contact,.vb-living-section-desc,.vb-living-section-quote,.vb-hero-section-logo,.vb-contact-section-title,.vb-contact-section-email,.vb-location-section-desc,.vb-quote-section-c,.vb-location-path-section-title,.vb-modal-menu-list,.vb-space-section-collection,.vb-detail-section-info-c,.vb-other-title-section-title,.vb-space-section-collection-empty-info) { grid-area:1/1/2/5; }
 .vb-ico-48 { width:var(--space-64); height:var(--space-64); }
 .vb-location-info-frame,.vb-location-intro-frame,.vb-location-path-frame { width:auto; }
 .vb-location-info-section,.vb-location-path-section { height:auto; justify-content:flex-start; }
 .vb-location-info-section-t,.vb-location-info-section-b { flex:0 auto; }
 .vb-benefit-slide-img { width:100%; height:auto; min-height:0; }
 .vb-pagination-progress { width:var(--space-272); }
 .vb-benefits-intro-frame,.vb-other-title-frame { margin-bottom:-1px; }
 .vb-benefits-intro-section,.vb-other-title-section { height:auto; }
 .vb-benefits-intro-section-title-svg { aspect-ratio:1; }
 .vb-space-type-section,.vb-space-type-collection-list { height:auto; }
 .vb-space-type-collection { flex:0 auto; }
 .vb-space-type-collection-list-item { height:auto; inset:0 0 auto; }
 .vb-space-type-slide { height:auto; justify-content:flex-start; }
 .vb-space-type-slide-c { order:3; }
 .vb-space-type-slide-b { order:2; flex:0 auto; margin-top:calc(-1 * var(--space-32)); justify-content:flex-start; }
 .vb-space-type-slide-desc,.vb-services-slide-desc { grid-area:2/1/3/5; }
 .vb-space-type-slide-data { grid-area:1/1/2/5; text-align:center; }
 .vb-data-list { flex-flow:wrap; justify-content:center; }
 .vb-space-type-slide-img-frame { position:relative; order:1; height:auto; }
 .vb-services-slide-title,.vb-amm-section-collection-tabs,.vb-amm-section-collection-btn { grid-area:1/2/2/5; }
 .vb-amm-section-collection-tabs-frame { top:var(--space-272); }
 .vb-interior-section-title-a { margin-top:calc(-1 * var(--step-40)); margin-left:calc(-1 * var(--step-16)); }
 .vb-interior-section-imgs { flex-flow:column; gap:0; justify-content:flex-start; }
 .vb-interior-section-l,.vb-interior-section-r { flex:0 auto; }
 .vb-interior-section-l-img-frame { padding-inline:var(--step-80); }
 .vb-interior-section-r-img { grid-area:1/2/2/5; }
 .vb-interior-section-r-desc { grid-area:3/2/4/5; }
 .vb-interior-section-l-desc { grid-area:2/2/3/5; }
 .vb-gallery-collection { aspect-ratio:16/12; }
 .vb-cta-section,.vb-living-section { aspect-ratio:2/6; }
 .vb-location-scroll-area-track { flex-flow:column; }
 .vb-location-intro-section { height:auto; }
 .vb-location-intro-section-img { aspect-ratio:3/4; grid-area:2/2/3/5; }
 .vb-location-intro-section-desc { grid-area:3/2/4/5; }
 .vb-location-intro-section-title { grid-area:1/2/2/5; }
 .vb-location-intro-section-cap { grid-area:1/1/2/3; }
 .vb-location-scroll-area-screen { position:static; flex-flow:column; }
 .vb-location-intro-section-title-line.vb-is-2 { margin-left:0; }
 .vb-interior-section-r-btn { grid-area:4/2/5/5; justify-content:flex-start; align-items:flex-start; }
 .vb-footer-section-address { grid-area:2/2/3/4; margin-inline:calc(-1 * var(--grid-gap)); padding-inline:0; }
 .vb-footer-section-info { grid-area:1/1/2/3; }
 .vb-footer-section-credits { grid-area:1/3/2/5; }
 .vb-header-nav { width:calc(2 * var(--cell-inline) + var(--grid-gap)); }
 .vb-living-frame { position:relative; }
 .vb-living-section-btn { grid-area:2/1/3/5; }
 .vb-hero-section-logo-a { margin-top:calc(-1 * var(--step-24)); margin-left:calc(-1 * var(--step-16)); }
 .vb-hero-frame-bg-master { max-height:var(--viewport-block); }
 .vb-hero-section-desc { grid-area:1/1/2/8; }
 .vb-floating-tip-card { z-index:2; padding:var(--space-32); width:calc(3 * var(--cell-inline) + 2 * var(--grid-gap)); }
 .vb-cookies-card { padding:var(--space-32); gap:var(--space-16); aspect-ratio:auto; flex-flow:row; justify-content:flex-start; align-items:flex-start; }
 .vb-cookies-card-title { padding-right:4.44444rem; }
 .vb-cookies { z-index:899; }
 .vb-cookies-card-t { flex:none; width:var(--space-160); align-items:flex-start; }
 .vb-cookies-card-btn-list { justify-content:flex-start; }
 .vb-contact-section-location { grid-area:3/2/4/4; margin-inline:calc(-1 * var(--grid-gap)); padding-inline:0; }
 .vb-contact-section-phone { grid-area:2/1/3/5; }
 .vb-location-frame-bg { overflow:auto; }
 .vb-location-section-desc { display:flex; flex-flow:column; justify-content:flex-end; align-items:center; }
 .vb-quote-frame-bg { aspect-ratio:1; }
 .vb-location-frame-over-grad { height:calc(2 * var(--cell-block) + var(--grid-gap)); }
 .vb-location-path-section-title-a.vb-a2 { margin-top:calc(-1 * var(--step-24)); }
 .vb-location-path-section-path { grid-area:1/1/2/5; margin:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); overflow:auto; }
 .vb-space-type-slide-btn { justify-content:center; }
 .vb-location-frame-bg-img { width:200%; }
 .vb-location-path-section-path-c { width:250%; }
 .vb-modal-menu-title,.vb-preloader-logo { grid-area:1/2/2/4; }
 .vb-modal-menu-a { margin-bottom:calc(-1 * var(--step-20)); margin-left:calc(-1 * var(--step-48)); }
 .vb-space-section-title { flex-flow:column; justify-content:flex-start; align-items:center; }
 .vb-space-benefits-collection-list,.vb-space-benefits-collection-list.vb-c-2,.vb-space-collection-list { grid-template-columns:1fr; row-gap:var(--space-8); }
 .vb-space-section-collection-filter-item { grid-column:span 4; margin-bottom:var(--space-16); }
 .vb-space-section-collection-filter-item.vb-is-last { margin-bottom:0; }
 .vb-detail-section-info { position:static; height:auto; }
 .vb-preloader-logo-a { margin-top:calc(-1 * var(--step-16)); margin-left:calc(-1 * var(--step-16)); }
 .vb-preloader-progress-fill { height:var(--space-160); }
 .vb-space-card-shadow { display:none; height:100%; }
 .vb-detail-section-info-c { justify-content:flex-start; }
 .vb-detail-section-info-t { flex:0 auto; height:auto; overflow:visible; }
 .vb-detail-section-info-header.vb-is-top { margin-left:0; }
 .vb-detail-section-info-data { display:grid; grid-template:auto / repeat(2,1fr); grid-auto-columns:1fr; gap:var(--space-32) var(--grid-gap); }
 .vb-detail-section-info-more-content { padding-right:var(--space-160); }
 .vb-detail-section-media { margin-top:0; }
 .vb-detail-section-media-c { display:flex; position:relative; grid-area:1/1/2/5; gap:var(--space-16); aspect-ratio:1/.8; padding:0 var(--gutter-end) 0 var(--gutter-start); margin:0 calc(-1 * var(--gutter-end)) 0 calc(-1 * var(--gutter-start)); overflow:auto; overscroll-behavior:none; }
 .vb-detail-media-collection,.vb-detail-media-collection-list-item { flex:none; height:100%; }
 .vb-detail-media-collection-list { flex-flow:row; height:100%; padding-inline:0; }
 .vb-detail-section-media-layout { flex-flow:row; flex:none; height:100%; gap:var(--space-16); justify-content:flex-start; }
 .vb-detail-section-media-layout-img-primary { aspect-ratio:1; flex:none; width:auto; height:100%; margin:0; padding:0; }
 .vb-detail-section-media-layout-diagrams { position:relative; bottom:0; height:var(--space-64); padding-right:0; flex-flow:row; align-items:center; justify-content:center; }
 .vb-detail-section-info-header-num { display:flex; justify-content:space-between; align-items:center; }
 .vb-scroll-area-screen { flex-flow:column; }
 .vb-space-section-collection-empty-title { padding-left:var(--space-32); }
 .vb-flower { width:calc(10 * var(--step-40)); height:calc(10 * var(--step-40)); }
 .vb-flower.vb-location-info { left:calc(-1 * (var(--step-32) + var(--gutter-end))); top:calc(-1 * var(--step-48)); }
 .vb-flower.vb-location-intro { left:calc(-1 * var(--step-96)); bottom:0; transform:rotate(180deg); }
 .vb-flower.vb-space-info { left:calc(-1 * (var(--step-32) + var(--gutter-end))); }
 .vb-flower.vb-space { top:calc(-1 * var(--step-64)); right:calc(-1 * (var(--step-64) + var(--gutter-end))); }
 .vb-flower.vb-other { right:calc(-1 * (var(--step-96) + var(--gutter-end))); }
 .vb-modal-lightbox-content { z-index:2; width:100%; height:calc(100% - 6 * var(--space-48)); }
 .vb-modal-decor { inset:var(--space-8); }
 .vb-space-themes-light-1,.vb-space-themes-color-1 { height:25rem; }
 .vb-interior-themes-light-1 { height:80rem; }
 .vb-interior-themes-light-2 { display:none; flex:none; }
 .vb-interior-themes-dark-2 { height:125rem; }
 .vb-l1-list { display:flex; gap:var(--space-8); align-items:center; justify-content:center; }
 #vb-layout-018 { grid-column:1/5; }
}
@media(max-width:767px) { .vb-hero-scroll-area { height:calc(3 * var(--viewport-block) + 50rem); } }

/* Editorial information uses the approved palette and serif, with explicit
   readable sizes: this site's root rem is viewport-based. */
.vb-local-guide {background:#f5f5ed;color:#172338;padding:clamp(48px,7vw,112px) max(24px,5vw);}
.vb-local-guide.vb-guide-page {padding-top:clamp(130px,12vw,190px);}
.vb-guide-inner {width:min(100%,1100px);margin-inline:auto;}
.vb-local-guide h1,.vb-local-guide h2,.vb-local-guide h3,.vb-local-guide p,.vb-local-guide li,.vb-local-guide summary,.vb-local-guide a {font-family:VillaInstrument,Georgia,serif;letter-spacing:normal;font-weight:400;}
.vb-local-guide h1 {font-size:clamp(40px,5.5vw,80px);line-height:1.06;margin:28px 0;max-width:1000px;}
.vb-local-guide h2 {font-size:clamp(32px,3.5vw,50px);line-height:1.12;margin:42px 0 20px;}
.vb-local-guide h3 {font-size:clamp(26px,2.5vw,36px);line-height:1.2;margin:0 0 12px;}
.vb-local-guide p,.vb-local-guide li {font-size:clamp(21px,2vw,28px);line-height:1.45;max-width:850px;margin:0 0 20px;}
.vb-local-guide ul {padding-left:24px;list-style:disc;}
.vb-local-guide a {text-decoration:underline;text-underline-offset:5px;}
.vb-local-guide a:hover {text-decoration-thickness:2px;}
.vb-local-guide a:focus-visible,.vb-local-guide summary:focus-visible {outline:2px solid #006b6b;outline-offset:5px;}
.vb-guide-links {display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:16px;}
.vb-guide-links a,.vb-guide-breadcrumb {font-size:20px;line-height:1.4;}
.vb-guide-links a {display:inline-flex;align-items:center;min-height:44px;}
.vb-guide-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:30px 0;}
.vb-guide-grid p {font-size:24px;}
.vb-guide-photo {width:100%;height:auto;aspect-ratio:2.25;object-fit:cover;margin:30px 0 40px;}
.vb-local-guide details {border-top:1px solid #17233840;padding:16px 0;}
.vb-local-guide details:last-of-type {border-bottom:1px solid #17233840;}
.vb-local-guide summary {display:list-item;list-style:disclosure-closed inside;cursor:pointer;font-size:clamp(23px,2.3vw,32px);line-height:1.3;min-height:44px;}
.vb-local-guide details[open]>summary {list-style:disclosure-open inside;margin-bottom:12px;}
.vb-guide-note {font-size:18px!important;}
.vb-seo-footer-links {display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:28px;font-family:VillaInstrument,Georgia,serif;}
.vb-seo-footer-links a {font-size:20px;line-height:1.3;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:767px){.vb-guide-grid{grid-template-columns:1fr;gap:24px}.vb-local-guide{padding-inline:24px}.vb-guide-photo{aspect-ratio:1.5}.vb-guide-grid p{font-size:22px}.vb-seo-footer-links{gap:8px 20px}}


/* Normalize the document without importing a page-builder reset. */
:where(html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strong,sub,sup,var,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,section,summary,time,mark,audio,video) { margin:0; padding:0; border:0; vertical-align:baseline; }
/* These elements have a layout baseline established by the composition sheet. */
img { vertical-align:baseline; }
figure { margin:0; }
figcaption { margin-top:0; }
body { line-height:1; }
blockquote,q { quotes:none; }
blockquote::before,blockquote::after,q::before,q::after { content:none; }

[data-vb-prevent-flicker] { visibility:hidden; }
[data-vb-master-preloader],[data-vb-preloader] { display:block; }
.unset-all { all:unset; }
.vb-scrollbar-none::-webkit-scrollbar { display:none; }
@media(orientation:landscape) and (max-width:991px) and (pointer:coarse) and (hover:none) {
 .vb-landscape-cover { display:block; }
 body { overflow:hidden; }
}

::selection { color:var(--surface-bg); background-color:var(--foreground-primary); }

.vb-symbol {
  width: 100%;

  height: 100%;

  object-fit: contain;

  filter: grayscale(1) brightness(0) invert(1);
}
.vb-theme-on-brand .vb-symbol,
.vb-theme-on-color .vb-symbol {
  filter: grayscale(1) brightness(.2);
}
.vb-header-logo .vb-logo-symbol {
  width: 70%;

  height: 70%;

  inset: 15%;

  position: absolute;
}
.vb-hero-section-logo .vb-h1 {
  font-size: clamp(5rem,10.5vw,12rem);

  line-height: .85;
}
.vb-hero-section-logo-a .vb-a2 {
  font-size: clamp(4rem,7vw,9rem);
}
.vb-preloader-logo .vb-h3 {
  font-size: clamp(3rem,7vw,7rem);
}
.vb-hero-img {
  aspect-ratio: 16/9;

  object-fit: cover;
}
.vb-location-path-section-path-c {
  overflow: hidden;
}
.vb-location-path-section-path-c .vb-coast {
  object-fit: cover;

  border-radius: 0;

  aspect-ratio: 1.7;
}
.vb-location-path-section-path-c .vb-coast+img {
  visibility: hidden;
}
.vb-space-card-img-primary img {
  object-fit: cover;

  aspect-ratio: 4/3;
}
.vb-space-card-info .vb-h5 {
  font-size: clamp(1.2rem,2.4vw,2.4rem);
}
.vb-detail-section-info-header-num .vb-h3 {
  font-size: clamp(2rem,4vw,4rem);
}
.vb-detail-section-media-layout-img-primary img {
  object-fit: cover;

  aspect-ratio: 4/3;
}
.vb-block-diagram-highlight {
  visibility: hidden;
}
.vb-block-diagram img {
  object-fit: contain;
}
.vb-legal {
  max-width: 900px;

  margin: 0 auto;

  padding: 160px 24px 80px;
}
.vb-legal h1 {
  font-size: 48px;

  margin-bottom: 2rem;
}
.vb-legal p {
  font-size: 16px;

  line-height: 1.65;

  margin: 1rem 0;
}
@media (max-width:767px) {
.vb-hero-section-logo .vb-h1 {
    font-size: 19vw;
  }
.vb-hero-section-logo-a .vb-a2 {
    font-size: 14vw;
  }
.vb-hero-img {
    aspect-ratio: 3/4;

    object-fit: cover;
  }
.vb-detail-section-info-header-num .vb-h3 {
    font-size: 2rem;
  }
}
.vb-location-intro-section-title-line.vb-is-1 {
  font-size: .7em;
}
@media (prefers-reduced-motion:reduce) {
html {
    scroll-behavior: auto;
  }
}
.vb-location-intro-section-title-line.vb-is-1 {
  font-size: .7em;
}
@media (prefers-reduced-motion:reduce) {
html {
    scroll-behavior: auto;
  }
}
.vb-header-logo {
  mix-blend-mode: difference;
}
.vb-header-logo .vb-logo-symbol.vb-header {
  width: 140%;

  height: 140%;

  inset: -20%;
}
.vb-header-logo .vb-logo-symbol .vb-logo {
  width: 100%;

  height: 100%;
}
.vb-header-logo .vb-symbol {
  filter: brightness(0) invert(1) !important;
}
.vb-header-logo:focus-visible {
  outline: 2px solid white;

  outline-offset: 8px;
}
.vb-benefits-section .vb-benefit-slide-img {
  width: min(52vw,88vh);

  height: auto;

  aspect-ratio: 2/1;

  max-width: none;

  flex-shrink: 0;
}
.vb-benefits-section .vb-benefits-section-collection {
  grid-column: 1/-1;
}
.vb-benefits-section .vb-benefits-section-collection-pagination {
  align-items: center;
}
.vb-benefits-section .vb-benefits-section-collection-pagination .vb-pagination {
  width: min(44vw,74vh);
}
@media (max-width:767px) {
.vb-benefits-section .vb-benefit-slide-img {
    width: 92vw;

    aspect-ratio: 4/3;
  }
.vb-benefits-section .vb-benefits-section-collection-pagination .vb-pagination {
    width: 84vw;
  }
}
@font-face  {
  font-family: VillaCormorant;
  src: url("/assets/fonts/cormorant-garamond-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.vb-hero-section-logo .vb-h1 {
  font-family: VillaCormorant,Georgia,serif;

  font-weight: 400;

  font-size: clamp(3.5rem,8.2vw,10rem);

  line-height: .88;

  letter-spacing: -.045em;
}
@media (max-width:767px) {
.vb-hero-section-logo .vb-h1 {
    font-size: 15.5vw;

    line-height: .95;
  }
}
@font-face  {
  font-family: VillaInstrument;
  src: url("/assets/fonts/instrument-serif.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face  {
  font-family: VillaInstrument;
  src: url("/assets/fonts/instrument-serif-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}html body,
body * {
  font-family: VillaInstrument,Georgia,serif !important;
}body .vb-a2,
body em,
body i {
  font-style: italic;
}
.vb-hero-section-logo .vb-h1 {
  font-size: clamp(4rem,10.5vw,12rem);

  line-height: .9;

  letter-spacing: -.025em;
}body p,
body .vb-p1,
body .vb-p2 {
  line-height: 1.45;
}body .vb-l1,
body .vb-l2 {
  letter-spacing: .08em;
}
@media (max-width:767px) {
.vb-hero-section-logo .vb-h1 {
    font-size: 19vw;

    line-height: .95;
  }
}
@font-face  {
  font-family: VillaAllura;
  src: url("/assets/fonts/allura.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}body .vb-hero-section-logo-a .vb-a2,
body .vb-hero-section-logo-a .vb-a2 * {
  font-family: VillaAllura,cursive !important;

  font-style: normal;

  font-weight: 400;

  letter-spacing: 0;
}
.vb-section-bar[data-vb-s-bar] {
  display: none !important;
}
.vb-hero-scroll-area {
  height: calc(var(--viewport-block)*3 + 50rem);
}
@media (max-width:767px) {
.vb-hero-scroll-area {
    height: calc(var(--viewport-block)*2 + 50rem);
  }
}body .vb-l1 {
  font-size: clamp(18px,1.35vw,26px);

  line-height: 1.35;
}body .vb-l2 {
  font-size: clamp(16px,1.15vw,22px);

  line-height: 1.35;
}body .vb-section-logo .vb-l1,
body .vb-section-title .vb-l1 {
  font-size: clamp(22px,1.8vw,34px);

  line-height: 1.35;

  letter-spacing: .045em;
}body .vb-nav-item .vb-l2 {
  font-size: clamp(20px,1.55vw,28px);

  line-height: 1.3;

  letter-spacing: .035em;
}
@media (max-width:767px) {
body .vb-l1 {
    font-size: 17px;
  }body .vb-l2 {
    font-size: 16px;
  }body .vb-section-logo .vb-l1,
body .vb-section-title .vb-l1 {
    font-size: 22px;
  }body .vb-nav-item .vb-l2 {
    font-size: 19px;
  }
}:root {
  --vb-villa-description-size: 24px;
}body .vb-description,
body .vb-p1,
body .vb-p2,
body .vb-services-slide-desc .vb-h5,
body .vb-detail-section-info-more-content p {
  font-size: var(--vb-villa-description-size) !important;

  line-height: 1.5 !important;

  letter-spacing: 0 !important;

  font-weight: 400;

  text-transform: none;
}body .vb-header-nav {
  width: max-content;

  max-width: calc(100vw - 120px);
}body .vb-header-nav .vb-nav-item .vb-l2 {
  font-size: 22px;

  line-height: 1.3;

  letter-spacing: .02em;

  white-space: nowrap;
}body .vb-header-nav-list {
  gap: 8px;
}
@media (max-width:767px) {
:root {
    --vb-villa-description-size: 20px;
  }body .vb-header-nav .vb-nav-item .vb-l2 {
    font-size: 18px;
  }body .vb-header-nav-list {
    gap: 6px;
  }
}
.vb-living-section-b {
  position: absolute;

  top: min(32vw,38vh);

  left: 0;

  right: 0;

  z-index: 3;
}
.vb-living-section-quote {
  align-self: start;

  padding: 24px 28px;

  background: linear-gradient(135deg,rgba(10,25,35,.78),rgba(10,25,35,.48));

  color: #fff;

  border-radius: 0;
}
.vb-living-section-quote .vb-red-line,
.vb-living-section-quote>.vb-u-160 {
  display: none;
}
.vb-living-section-quote>.vb-u-64 {
  height: 20px;
}
.vb-living-section-quote .vb-description {
  color: #fff !important;

  margin: 0;

  text-shadow: 0 1px 3px rgba(0,0,0,.3);
}
.vb-living-section-quote .vb-living-section-author {
  grid-column: 1/-1;
}
@media (max-width:767px) {
.vb-living-section-b {
    top: 30vh;
  }
.vb-living-section-quote {
    padding: 20px;
  }
.vb-living-section-quote .vb-grid {
    display: block;
  }
}
.vb-other-card-name-label {
  min-width: 0;

  max-width: 100%;
}
.vb-other-card-name-label .vb-h3 {
  font-size: clamp(18px,4.3vw,76px) !important;

  line-height: 1.12;

  letter-spacing: -.02em;

  white-space: nowrap;
}
@media (max-width:767px) {
.vb-other-card-name-label .vb-h3 {
    font-size: 4.2vw !important;
  }
}
.vb-hero-section-title {
  display: flex !important;

  justify-content: center !important;

  align-items: center;

  text-align: center;

  gap: 0;

  white-space: nowrap;
}
.vb-hero-section-title>span {
  width: auto;

  flex: none;

  text-align: center;
}
@font-face  {
  font-family: VillaItalianno;
  src: url("/assets/fonts/italianno.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}body .vb-hero-section-logo-a .vb-a2,
body .vb-hero-section-logo-a .vb-a2 * {
  font-family: VillaItalianno,cursive !important;

  font-style: normal;

  font-weight: 400;

  letter-spacing: 0;
}body .vb-location-intro-section-title {
  grid-column: 1/-1;

  width: 100%;

  min-width: 0;
}body .vb-location-intro-section-title .vb-h1 {
  font-size: clamp(24px,6.2vw,120px) !important;

  white-space: nowrap;

  line-height: 1.1;

  letter-spacing: -.025em;

  text-align: center;

  word-break: normal;

  overflow-wrap: normal;
}body .vb-section-down {
  transform: none !important;

  top: auto;

  bottom: 24px;

  height: auto;

  flex-direction: column-reverse;

  gap: 16px;
}body .vb-section-down-arrow {
  transform: rotate(-90deg);

  width: 48px;

  height: 12px;

  margin: 18px 0;
}body .vb-interior-section-title-a {
  transform: none !important;

  margin: 12px 0 0;
}body .vb-interior-section-title-a .vb-a1 {
  font-size: clamp(68px,10.8vw,198px) !important;

  line-height: .85;

  white-space: nowrap;

  letter-spacing: 0;
}body .vb-interior-section-r-lead .vb-red-line {
  display: none;
}body .vb-interior-section-r-lead .vb-description,
body .vb-interior-section-r-lead .vb-description * {
  text-indent: 0 !important;

  text-align: left !important;
}body .vb-interior-section-r-lead .vb-description {
  margin: 0;

  float: none;

  clear: both;
}body .vb-services-tab {
  padding: 10px 0;
}body .vb-services-tab .vb-h5 {
  font-size: clamp(18px,1.8vw,30px) !important;

  line-height: 1.25;

  white-space: nowrap;
}
@media (max-width:767px) {
body .vb-services-tab .vb-h5 {
    font-size: clamp(15px,3.5vw,24px) !important;
  }body .vb-services-tab {
    padding: 8px 0;
  }
}body .vb-space-card {
  height: auto;

  min-height: 100%;

  aspect-ratio: auto;

  padding-bottom: 32px;

  box-sizing: border-box;
}body .vb-space-card-b {
  padding: 8px 0 0;
}body .vb-space-card-data-list {
  gap: 10px;

  flex-wrap: wrap;
}body .vb-space-card-data-list .vb-l2 {
  font-size: clamp(14px,1.05vw,19px) !important;

  line-height: 1.35;
}body .vb-space-card-info .vb-h5 {
  font-size: clamp(22px,2vw,34px) !important;

  line-height: 1.2;

  white-space: nowrap;
}body .vb-space-card-add {
  padding: 8px 0 12px;
}body .vb-space-card-add .vb-l1 {
  font-size: clamp(17px,1.3vw,23px) !important;

  line-height: 1.3;
}body .vb-btn-circle {
  height: auto !important;

  width: max-content;

  max-width: 100%;

  min-height: 56px;

  aspect-ratio: auto !important;

  padding: 18px 32px;

  border: 1px solid currentColor;

  border-radius: 3px;

  background: rgba(20,30,40,.12);

  transform: none !important;

  transition: background .2s ease;
}body .vb-btn-circle:hover {
  background: rgba(130,140,150,.25);
}body .vb-btn-circle-bg {
  display: none !important;
}body .vb-btn-circle-label {
  width: auto;

  transform: none !important;

  text-align: center;
}body .vb-btn-circle .vb-l1 {
  font-size: clamp(18px,1.6vw,26px) !important;

  line-height: 1.2;

  white-space: nowrap;
}body .vb-space-card {
  min-height: 0;

  height: auto !important;
}body .vb-space-collection-list-item {
  min-width: 0;

  align-self: stretch;

  display: flex;

  flex-direction: column;
}body .vb-space-collection-list-item .vb-space-card {
  flex: 1;
}body .vb-space-frame {
  padding-bottom: 80px;
}body .vb-benefit-slide-desc {
  padding-bottom: 0;
}body .vb-btn-circle {
  background: transparent;

  border-radius: 0;

  padding: 12px 24px;

  min-height: 48px;
}body .vb-btn-circle:hover {
  background: rgba(130,140,150,.08);
}body .vb-btn-circle .vb-l1 {
  font-size: clamp(17px,1.2vw,21px) !important;

  letter-spacing: .04em;
}body .vb-master-preloader,
body .vb-preloader {
  --surface-bg: #b4cedb;

  --foreground-primary: #172338;

  --foreground-line: #172338;

  color: #172338;
}body .vb-master-preloader,
body .vb-preloader-bg,
body .vb-preloader-bg-living-is-1,
body .vb-preloader-bg-living-is-2 {
  background-color: #b4cedb !important;
}body .vb-footer-section-info .vb-copyright,
body .vb-credits .vb-credit-line,
body .vb-credits .vb-credit-line a {
  font-size: 16px !important;

  line-height: 1.5 !important;

  letter-spacing: 0 !important;

  text-transform: none !important;
}body .vb-footer-section-info .vb-copyright {
  margin-bottom: 32px;
}body .vb-credits {
  padding-top: 24px;
}body .vb-credits .vb-credit-line a {
  text-decoration: underline;

  text-underline-offset: 3px;
}
.vb-language-switch {
  position: fixed;

  left: 50%;

  bottom: 20px;

  transform: translateX(-50%);

  z-index: 9999;

  display: flex;

  gap: 4px;

  padding: 4px;

  background: #fff;

  color: #172338;

  border: 1px solid rgba(23,35,56,.3);
}
.vb-language-switch a {
  display: flex;

  align-items: center;

  justify-content: center;

  min-width: 42px;

  min-height: 36px;

  font-size: 17px !important;

  line-height: 1;

  text-decoration: none;
}
.vb-language-switch a[aria-current=page] {
  background: #172338;

  color: #fff;
}
.vb-language-switch a:focus-visible {
  outline: 2px solid #172338;

  outline-offset: 3px;
}html[lang=en] .vb-other-card-name-label .vb-h3 {
  font-size: clamp(16px,3.6vw,64px) !important;
}html[lang=en] .vb-hero-section-title {
  font-size: clamp(22px,3.2vw,54px) !important;
}
@font-face  {
  font-family: VillaRelation;
  src: url("/assets/fonts/relation-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}html body .vb-a1,
html body .vb-a1 *,
html body .vb-a2,
html body .vb-a2 *,
html body .vb-hero-section-logo-a .vb-a2,
html body .vb-hero-section-logo-a .vb-a2 * {
  font-family: VillaRelation,cursive !important;

  font-style: normal !important;

  font-weight: 400 !important;

  letter-spacing: 0 !important;
}body .vb-decor,
body .vb-card-decor,
body .vb-space-card-decor,
body .vb-space-section-collection-decor,
body .vb-location-frame-decor,
body .vb-preloader-bg-decor {
  display: none !important;
}body .vb-preloader-bg-living-is-1,
body .vb-preloader-bg-living-is-2 {
  outline: none !important;

  border: none !important;
}body .vb-footer-frame {
  position: relative;

  isolation: isolate;

  overflow: hidden;
}body .vb-footer-frame>.vb-watermark {
  position: absolute;

  right: -7vw;

  top: 50%;

  transform: translateY(-50%);

  width: clamp(380px,52vw,900px);

  height: auto;

  opacity: .07;

  filter: brightness(0) invert(1);

  pointer-events: none;

  z-index: 0;
}body .vb-footer-frame>.vb-footer-section {
  position: relative;

  z-index: 1;
}
@media (max-width:767px) {
body .vb-footer-frame>.vb-watermark {
    width: 115vw;

    right: -30vw;

    top: 42%;

    opacity: .055;
  }
}body .vb-flower-layer {
  isolation: isolate;
}body .vb-flower.vb-agapanthus {
  z-index: -1 !important;

  pointer-events: none !important;
}body .vb-location-path-frame-flower {
  z-index: -1 !important;

  pointer-events: none !important;
}body .vb-hero-section-logo-a {
  margin: 12px 0 0;

  transform: none;
}body .vb-hero-section-logo-a .vb-a2 {
  font-size: clamp(52px,5.5vw,106px) !important;

  line-height: 1.35 !important;

  padding: 0 12px 20px;
}body .vb-hero-section-title {
  margin-top: 24px;
}body .vb-language-switch {
  top: 20px;

  bottom: auto;
}
@media (max-width:767px) {
body .vb-hero-section-logo-a .vb-a2 {
    font-size: 52px !important;

    padding-bottom: 16px;
  }body .vb-hero-section-title {
    margin-top: 16px;
  }body .vb-language-switch {
    top: 14px;
  }
}body .vb-benefits-section {
  height: calc(var(--viewport-block) + 240px);

  min-height: 1000px;
}body .vb-benefits-frame {
  padding-bottom: 100px;
}body .vb-benefit-slide-b {
  padding-bottom: 32px;

  box-sizing: border-box;
}
@media (max-width:767px) {
body .vb-benefits-section {
    height: calc(var(--viewport-block) + 160px);

    min-height: 820px;
  }body .vb-benefits-frame {
    padding-bottom: 64px;
  }
}body .vb-location-path-section-title-a,
body .vb-location-path-section-title-a.vb-a2 {
  margin: 0 !important;

  transform: none;

  line-height: .85 !important;

  font-size: clamp(83.2px,11.2vw,198.4px) !important;

  position: relative;
}body .vb-location-path-section-title-line {
  line-height: 1.1;
}body .vb-interior-section-title-a {
  margin-top: clamp(-48px,-2.5vw,-16px) !important;
}body .vb-header-logo,
body .vb-header-nav {
  display: none !important;
}
.vb-topbar {
  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  height: 100px;

  z-index: 10000;

  pointer-events: none;
}
.vb-topbar::before {
  content: "";

  position: absolute;

  inset: 0;

  background: rgba(246,246,240,.96);

  border-bottom: 1px solid rgba(23,35,56,.12);

  transition: transform .35s ease,opacity .35s ease;
}
.vb-brand {
  position: absolute;

  left: 32px;

  top: 18px;

  width: 64px;

  height: 64px;

  pointer-events: auto;

  display: block;

  background: transparent;

  border-radius: 0;
}
.vb-brand img {
  width: 100%;

  height: 100%;

  object-fit: contain;

  display: block;
}
.vb-header-links {
  position: absolute;

  right: 32px;

  top: 0;

  height: 100%;

  display: flex;

  align-items: center;

  gap: 32px;

  color: #172338;

  pointer-events: auto;

  transition: transform .35s ease,opacity .35s ease,visibility .35s;
}
.vb-header-links>a {
  font-size: 22px;

  line-height: 1.2;

  text-decoration: none;

  white-space: nowrap;
}
.vb-header-links>a:hover {
  text-decoration: underline;

  text-underline-offset: 5px;
}body .vb-topbar .vb-language-switch {
  position: static;

  transform: none;

  background: transparent;

  border: 0;

  padding: 0;

  gap: 2px;
}body .vb-topbar .vb-language-switch a {
  min-width: 36px;

  min-height: 36px;

  font-size: 17px !important;
}
.vb-header-scrolled .vb-topbar::before,
.vb-header-scrolled .vb-header-links {
  transform: translateY(-110%);

  opacity: 0;
}
.vb-header-scrolled .vb-header-links {
  visibility: hidden;

  pointer-events: none;
}body .vb-hero-section {
  padding-top: 90px;
}
@media (max-width:767px) {
.vb-topbar {
    height: 100px;
  }
.vb-brand {
    left: 16px;

    top: 16px;

    width: 48px;

    height: 48px;
  }
.vb-header-links {
    right: 16px;

    left: 84px;

    gap: 10px 14px;

    display: flex;

    justify-content: flex-end;

    align-content: center;

    flex-wrap: wrap;
  }
.vb-header-links>a {
    font-size: 17px;
  }
.vb-topbar .vb-language-switch {
    margin-left: auto;
  }
.vb-header-links .vb-language-switch a {
    min-height: 30px !important;

    min-width: 30px !important;
  }body .vb-hero-section {
    padding-top: 60px;
  }
}
@media (prefers-reduced-motion:reduce) {
.vb-topbar::before,
.vb-header-links {
    transition: none;
  }
}
.vb-brand {
  overflow: hidden;
}
.vb-brand img {
  position: absolute;

  width: 250%;

  height: 250%;

  max-width: none;

  left: 50%;

  top: 50%;

  transform: translate(-50%,-50%);

  filter: brightness(0) saturate(100%);
}html body :is(.vb-a1,.vb-a2,.vb-a3) {
  rotate: -4deg;

  scale: 1.08;

  transform-origin: center center;

  overflow: visible;
}body .vb-hero-scroll-area {
  background-color: #b4cedb !important;
}body .vb-hero-themes-color {
  background-color: transparent !important;
}body .vb-hero-section-btn {
  color: #172338;
}
.vb-page-watermark {
  position: relative;

  isolation: isolate;

  overflow: hidden;
}
.vb-page-watermark::before {
  content: "";

  position: absolute;

  width: clamp(420px,65vw,1050px);

  aspect-ratio: 1;

  right: -12%;

  top: 140px;

  background: url("/assets/villa/logo-watermark.svg") center/contain no-repeat;

  opacity: .045;

  pointer-events: none;

  z-index: -1;
}
.vb-booking.vb-page-watermark::before {
  top: 220px;

  right: 32px;

  width: min(780px,calc(100% - 64px));

  opacity: .035;
}
@media (max-width:767px) {
.vb-page-watermark::before {
    width: 110vw;

    right: -35%;

    top: 180px;

    opacity: .035;
  }
.vb-booking.vb-page-watermark::before {
    width: calc(100% - 44px);

    right: 22px;
  }
}body .vb-section-logo .vb-logo-symbol {
  width: clamp(40px,3.5vw,60px);

  height: clamp(40px,3.5vw,60px);

  flex-shrink: 0;
}body .vb-section-logo .vb-logo-symbol .vb-logo {
  width: 100%;

  height: 100%;
}body .vb-section-logo .vb-logo-symbol img {
  width: 100%;

  height: 100%;

  object-fit: contain;

  transform: none;

  max-width: 100%;
}body .vb-preloader-bg-a {
  opacity: 1 !important;
}body .vb-preloader-bg-a img {
  filter: brightness(0) invert(1);

  opacity: 1;

  position: absolute;

  left: 50%;

  top: 50%;

  width: 38%;

  height: 38%;

  object-fit: contain;

  transform: translate(-50%,-50%);
}body [data-vb-filter-count] {
  display: none !important;
}body .vb-contact-frame {
  padding-top: 120px;
}
@media (max-width:767px) {
body .vb-contact-frame {
    padding-top: 100px;
  }body .vb-conatc-section-t>.vb-u-272 {
    display: none;
  }
}body .vb-location-info-section .vb-symbol {
  filter: none;
}
.vb-outdoor-story {
  position: relative;

  background: #f5f5ed;

  color: #172338;

  padding: clamp(56px,7vw,112px) 6vw;
}
.vb-outdoor-story h2 {
  font-size: clamp(36px,4.5vw,76px);

  font-weight: 400;

  text-align: center;

  margin: 0 0 48px;

  line-height: 1.1;
}
.vb-outdoor-grid {
  display: grid;

  grid-template-columns: repeat(2,minmax(0,1fr));

  gap: 48px 28px;

  max-width: 1500px;

  margin: auto;
}
.vb-outdoor-grid figure {
  margin: 0;

  min-width: 0;
}
.vb-outdoor-grid img {
  display: block;

  width: 100%;

  height: clamp(240px,31vw,480px);

  object-fit: cover;
}
.vb-outdoor-grid figcaption {
  font-size: clamp(18px,1.5vw,25px);

  line-height: 1.4;

  margin-top: 14px;
}
@media (max-width:767px) {
.vb-outdoor-grid {
    grid-template-columns: 1fr;

    gap: 32px;
  }
.vb-outdoor-grid img {
    height: auto;

    max-height: 560px;

    object-fit: contain;
  }
}body .vb-benefits-section-collection-pagination {
  position: relative;
  inset: auto;
  order: 2;
  flex: none;
}body .vb-benefits-section-collection-pagination>.vb-u-48,
body .vb-benefits-section-collection-pagination>.vb-u-16,
body .vb-benefits-section-collection-pagination>.vb-benefit-slide-img {
  display: none;
}body .vb-benefits-section-collection-pagination .vb-pagination {
  margin-top: 24px;
}body .vb-location-path-section-title>.vb-h3 {
  font-size: calc(var(--type-h3-size)*.8);
}
.vb-citrus-interlude {
  display: grid;

  grid-template-columns: 1.5fr 1fr;

  gap: 36px;

  padding: 100px 7vw;

  background: #f5f5ed;

  color: #172338;
}
.vb-citrus-copy {
  grid-column: 1/-1;

  max-width: 850px;

  margin: 0 auto 24px;

  text-align: center;
}
.vb-citrus-copy h2,
.vb-citrus-page h1 {
  font-size: clamp(42px,5vw,84px);

  font-weight: 400;

  line-height: 1.05;

  margin: 20px 0 30px;
}
.vb-citrus-copy p,
.vb-citrus-page p {
  font-size: 24px;

  line-height: 1.5;
}
.vb-citrus-eyebrow {
  font-size: 16px !important;

  letter-spacing: .08em;
}
.vb-citrus-interlude>img {
  width: 100%;

  height: auto;

  align-self: center;
}
.vb-citrus-link {
  display: inline-block;

  margin: 24px 0;

  padding: 14px 24px;

  border: 1px solid currentColor;

  color: inherit;

  text-decoration: none;

  font-size: 22px;
}
.vb-citrus-page {
  max-width: 1400px;

  margin: auto;

  padding: 150px 6vw 80px;

  color: #172338;
}
.vb-citrus-page h2 {
  font-size: 48px;

  font-weight: 400;

  margin: 64px 0 32px;
}
.vb-citrus-page a {
  color: inherit;
}
.vb-citrus-intro {
  max-width: 850px;
}
.vb-citrus-banner {
  width: 100%;

  height: auto;

  margin-top: 36px;
}
.vb-citrus-catalogue {
  display: grid;

  grid-template-columns: repeat(3,minmax(0,1fr));

  gap: 48px 28px;
}
.vb-citrus-catalogue img {
  width: 100%;

  height: auto;

  aspect-ratio: 3/2;

  object-fit: contain;

  background: #eeeee4;
}
.vb-citrus-catalogue h3 {
  font-size: 30px;

  font-weight: 400;

  margin: 20px 0 10px;
}
.vb-citrus-catalogue p {
  font-size: 21px;

  margin: 0;
}
@media (max-width:767px) {
.vb-citrus-interlude {
    padding: 64px 6vw;

    gap: 24px;

    grid-template-columns: 1fr;
  }
.vb-citrus-catalogue {
    grid-template-columns: 1fr;
  }
.vb-citrus-page {
    padding-top: 130px;
  }
.vb-citrus-copy p {
    font-size: 21px;
  }
}
.vb-panorama .vb-cta-section {
  aspect-ratio: auto;

  height: 55.833vw;

  display: flex;

  flex-direction: column;

  justify-content: center;

  gap: 20px;

  padding: 28px 0;

  box-sizing: border-box;
}
.vb-panorama .vb-cta-section>[class^="vb-u-"] {
  display: none;
}
.vb-panorama .vb-cta-section-title .vb-h1 {
  font-size: clamp(38px,7vw,112px);

  line-height: .95;
}
.vb-panorama .vb-cta-section-desc .vb-l1 {
  font-size: clamp(16px,1.6vw,24px);
}
.vb-panorama .vb-frame-bg .vb-img-frame {
  height: 100%;

  transform: none !important;
}
.vb-panorama .vb-frame-bg img {
  width: 100%;

  height: 100%;

  object-fit: contain;

  transform: none !important;
}
.vb-panorama .vb-cta-section-title .vb-u-32 {
  height: 12px;
}
@media (max-width:767px) {
.vb-panorama .vb-cta-section {
    gap: 8px;

    padding: 12px 0;
  }
.vb-panorama .vb-cta-section-desc {
    display: none;
  }
.vb-panorama .vb-cta-section-title .vb-h1 {
    font-size: 8vw;
  }
.vb-panorama .vb-cta-section-title .vb-c1 {
    font-size: 10px;

    letter-spacing: 2px;
  }
.vb-panorama .vb-btn-circle {
    scale: .7;
  }
.vb-panorama .vb-cta-section .vb-u-32 {
    height: 4px;
  }
}
/* Pagination follows the complete slide, including descriptions and captions. */
body .vb-benefits-section { height: auto; }
body .vb-benefits-collection,
body .vb-benefits-collection-list,
body .vb-benefits-collection-list-item { height: auto; }
body .vb-benefit-slide { height: auto; }
body .vb-benefit-slide-t,
body .vb-benefit-slide-b { flex: none; }
body .vb-benefits-section-collection-pagination .vb-pagination { margin-top: 0; }

/* Editorial copy needs a reading measure, rather than a narrow caption column. */
@media (min-width: 992px) {
  .vb-location-info-section .vb-info-section-desc { grid-column: 4 / 8; }
  .vb-location-info-section .vb-section-title,
  .vb-space-info-section .vb-section-title { grid-column: 3 / 9; padding-inline: 0; }
  .vb-benefit-slide-cap { grid-column: 3 / 7; padding-inline: 0; }
}
body .vb-benefit-slide-b > .vb-u-48 { height: 24px; }
body .vb-benefits-frame { padding-bottom: 48px; }

/* SVG user units: scale once with the 1600-unit viewBox. Reference: 1800px laptop. */
.vb-benefits-intro-section-title [data-vb-circle-text] {
  font-size: 107.163px;
}

/* Intro photograph: panoramic framing above the villa heading. */
.vb-location-info-section-t {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding-block: 48px 32px;
  container-type: size;
}
.vb-location-pool-photo {
  width: min(70%, 225cqh);
  aspect-ratio: 9 / 4;
  margin: 0;
  overflow: hidden;
}
.vb-location-pool-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 65%;
}
@media (max-width: 991px) {
  .vb-location-info-section-t { padding-block: 80px 40px; container-type: normal; }
  .vb-location-pool-photo { width: 100%; max-height: none; }
}

/* Equal gallery cards, including long room labels. */
.vb-space-collection-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vb-space-collection-list.vb-c-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vb-space-card-c { min-width: 0; }
.vb-space-card-t { min-height: 6em; display: flex; flex-direction: column; justify-content: center; }
.vb-space-card-img { aspect-ratio: 3 / 2; }
body .vb-space-card-img-primary img { width: 100%; height: 100%; object-fit: cover; }
.vb-space-card-data-list { min-height: 2.7em; }
@media (max-width: 991px) {
  .vb-space-collection-list, .vb-space-collection-list.vb-c-2 { grid-template-columns: minmax(0, 1fr); }
}

/* Footer ottanio, shared by Italian and English pages. */
.vb-section.vb-theme-on-dark:has(.vb-footer-frame) {
  --surface-bg: #006b6b;
}

/* Match the photo-to-copy gap of the adjacent living-spaces introduction. */
.vb-interior-section-l-desc { padding-top: var(--space-16); }

/* Mobile audit: controls above the header and readable location composition. */
[data-vb-lightbox-modal] { z-index: 11000; }
@media (max-width: 991px) {
  .vb-benefits-intro-section-title .vb-b-mob [data-vb-circle-text] { font-size: 28px; }
  .vb-location-intro-section-cap { grid-area: 1 / 1 / 2 / 5; text-align: center; }
  body .vb-location-intro-section-title { grid-area: 2 / 1 / 3 / 5; margin-top: var(--space-16); }
  body .vb-location-intro-section-title .vb-h1 { white-space: normal; }
  .vb-location-intro-section-img { grid-area: 3 / 2 / 4 / 5; }
  .vb-location-intro-section-desc { grid-area: 4 / 2 / 5 / 5; }
  .vb-flower.vb-agapanthus.vb-location-intro { width: 28vw; left: -8vw; bottom: var(--space-48); }
  .vb-interior-section-imgs { gap: var(--space-48); }
}
@media (max-width: 991px) {
  .vb-services-scroll-area { height: auto; }
  .vb-services-scroll-area > .vb-scroll-area-screen { position: relative; }
  .vb-services-section, .vb-services-section-collection,
  .vb-services-collection, .vb-services-collection-list,
  .vb-services-collection-list-item { height: auto; }
  .vb-services-slide { height: auto; min-height: 100svh; }
  .vb-services-slide-b { padding-top: var(--services-menu-block, 440px); }
  .vb-amm-section-collection-tabs-frame { top: 80px; }
  body .vb-services-tab { min-height: 44px; display: flex; align-items: center; }
  body .vb-services-tab .vb-h5 { white-space: normal; }
  .vb-services-slide-img::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .38); pointer-events: none; }
}
@media (max-width: 991px) {
  body:has(.vb-services-scroll-area) .vb-other-title-frame { margin-top: 0; }
}

/* Compact, manually controlled introduction carousel. Grid keeps its height stable. */
body .vb-benefits-section { height: auto; min-height: 0; padding: 36px 0; }
body .vb-benefits-frame { padding-bottom: 24px; }
body .vb-benefits-section-collection { position: relative; width: min(100%, 1280px); margin: 0 auto; padding: 0 72px; box-sizing: border-box; }
body .vb-benefits-section-collection-pagination { display: none; }
body .vb-benefits-collection-list { display: grid; height: auto; }
body .vb-benefits-collection-list-item { grid-area: 1 / 1; position: relative; display: block; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .28s ease, visibility .28s; }
body .vb-benefits-collection-list-item.vb-current-benefit { opacity: 1; visibility: visible; pointer-events: auto; }
body .vb-benefit-slide { display: flex; flex-direction: column; height: 100%; gap: 20px; }
body .vb-benefit-slide-t, body .vb-benefit-slide-b, body .vb-benefit-slide-c { flex: none; padding: 0; margin: 0; }
body .vb-benefit-slide [class*="vb-u-"] { display: none; }
body .vb-benefit-slide-t .vb-h1, body .vb-benefit-slide-t .vb-h2 { font-size: clamp(30px, 3.5vw, 56px); line-height: 1.1; min-height: 1.1em; margin: 0; }
body .vb-benefits-section .vb-benefit-slide-img { width: 100%; height: clamp(220px, 42vh, 440px); min-height: 0; aspect-ratio: auto; margin: 0 auto; }
body .vb-benefit-slide-img .vb-img-frame { position: relative; width: 100%; height: 100%; overflow: hidden; }
body .vb-benefit-slide-img img { width: 100%; height: 100%; object-fit: cover; }
body .vb-benefit-slide-b { display: flex; flex-direction: column; gap: 14px; }
body .vb-benefit-slide-b .vb-grid { display: block; }
body .vb-benefit-slide-desc, body .vb-benefit-slide-cap { width: 100%; max-width: 880px; margin: 0 auto; padding: 0; }
body .vb-benefit-slide-desc .vb-p1 { font-size: clamp(20px, 1.65vw, 28px); line-height: 1.4; margin: 0; }
body .vb-benefit-slide-cap .vb-l1 { font-size: 16px; line-height: 1.4; margin: 0; }
body .vb-benefit-arrow { position: absolute; top: calc(62px + clamp(220px, 42vh, 440px) / 2); transform: translateY(-50%); z-index: 3; width: 48px; height: 48px; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; font: 28px/1 Arial, sans-serif; cursor: pointer; display: grid; place-items: center; }
body .vb-benefit-arrow.vb-prev { left: 8px; }
body .vb-benefit-arrow.vb-next { right: 8px; }
body .vb-benefit-arrow:hover { background: rgb(255 255 255 / .25); }
body .vb-benefit-arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 767px) {
 body .vb-benefits-section { padding: 28px 0; }
 body .vb-benefits-section-collection { padding: 0 46px; }
 body .vb-benefit-slide { gap: 16px; }
 body .vb-benefit-slide-t .vb-h2 { font-size: 28px; min-height: 2.2em; }
 body .vb-benefits-section .vb-benefit-slide-img { height: 240px; }
 body .vb-benefit-slide-desc .vb-p1 { font-size: 20px; }
 body .vb-benefit-arrow { top: 198px; width: 36px; height: 36px; font-size: 24px; }
 body .vb-benefit-arrow.vb-prev { left: 2px; }
 body .vb-benefit-arrow.vb-next { right: 2px; }
}
@media (prefers-reduced-motion: reduce) { body .vb-benefits-collection-list-item { transition: none; } }

/* Editorial FAQ sections need normal document flow before the animated footer. */
.vb-local-guide + .vb-section .vb-footer-frame { margin-top: 0; }
.vb-local-guide + .vb-section .vb-footer-frame-bg { display: none; }

.vb-detail-section-media-layout-img-primary img {
  object-fit: contain;

  aspect-ratio: auto;

  width: 100%;

  height: 100%;
}
.vb-detail-media-item .vb-img-frame img {
  aspect-ratio: auto;

  object-fit: contain;

  height: auto;
}
.vb-space-card-img-primary img {
  object-fit: cover;

  object-position: center;

  aspect-ratio: 4/3;

  width: 100%;

  height: 100%;
}
.vb-space-card-info .vb-h5 {
  font-size: clamp(19.2px,2.1vw,35.2px);
}
.vb-detail-section-info-header-num .vb-h3 {
  font-size: clamp(28.8px,3.2vw,59.2px);
}
@media (max-width:767px) {
.vb-detail-section-info-header-num .vb-h3 {
    font-size: 32px;
  }
}
.vb-services-slide-desc .vb-h5 {
  font-size: clamp(16px,1.8vw,28.8px);

  line-height: 1.4;
}
.vb-services-tab .vb-h5 {
  font-size: clamp(16px,1.8vw,28.8px);
}
.vb-detail-section-info-more-content h2 {
  margin: 20px 0;
}
.vb-detail-section-info-more-content p {
  margin-bottom: 19.2px;
}
@media (max-width:767px) {
.vb-services-slide-desc .vb-h5 {
    font-size: 16px;

    line-height: 1.35;
  }
}
.vb-flower.vb-agapanthus {
  transform: none;

  width: clamp(364px,50.4vw,868px);

  height: auto;

  aspect-ratio: 3/2;

  overflow: visible;
}
.vb-agapanthus .vb-video {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: contain;
}
.vb-agapanthus .vb-video {
  visibility: hidden;
}
@keyframes villa-flower-breeze {
  0%,100% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(.5deg);
  }

  75% {
    transform: rotate(-.5deg);
  }
}
.vb-flower.vb-agapanthus.vb-location-info {
  top: auto;

  bottom: -1rem;

  left: -5vw;
}
.vb-flower.vb-agapanthus.vb-location-intro {
  bottom: 0;

  left: -8vw;
}
.vb-flower.vb-agapanthus.vb-living-intro-l,
.vb-flower.vb-agapanthus.vb-living-intro-r {
  bottom: -1rem;
}
.vb-flower.vb-agapanthus.vb-interior {
  width: 165.2%;

  top: auto;

  bottom: 0;
}
.vb-flower.vb-agapanthus.vb-space {
  top: 9rem;

  right: -10vw;

  width: clamp(336px,40.6vw,672px);
}
.vb-agapanthus .vb-video {
  -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.85) 70%,rgba(0,0,0,.35) 82%,transparent 93%,transparent 100%);

  mask-image: linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.85) 70%,rgba(0,0,0,.35) 82%,transparent 93%,transparent 100%);
}
.vb-agapanthus .vb-video {
  transform-origin: 50% 100%;

  animation: villa-flower-breeze 6s ease-in-out infinite;
}
.vb-agapanthus.vb-location-intro .vb-video,
.vb-agapanthus.vb-other .vb-video {
  animation-delay: -2s;

  animation-duration: 7s;
}
@keyframes villa-flower-breeze {
  0%,100% {
    transform: rotate(-4deg) translateX(-8px);
  }

  50% {
    transform: rotate(4deg) translateX(8px);
  }
}
@media (prefers-reduced-motion:reduce) {
.vb-agapanthus .vb-video {
    animation: none !important;
  }
}
.vb-flower-depth {
  position: absolute;

  inset: 0;

  pointer-events: none;
}
.vb-flower-depth.vb-back {
  transform: translateY(calc(var(--vb-flower-depth,0px)*.45));

  z-index: 0;
}
.vb-flower-depth.vb-front {
  transform: translateY(var(--vb-flower-depth,0px));

  z-index: 1;
}
.vb-flower-piece {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: contain;

  transform-origin: 50% 95%;

  -webkit-mask-image: linear-gradient(#000 60%,transparent 97%);

  mask-image: linear-gradient(#000 60%,transparent 97%);
}
.vb-back .vb-flower-piece {
  clip-path: polygon(0 0,35% 0,35% 70%,40% 100%,0 100%);

  animation: villa-breeze-back 8.6s ease-in-out infinite;

  transform-origin: 33% 95%;
}
.vb-front .vb-flower-piece {
  clip-path: polygon(35% 0,100% 0,100% 100%,40% 100%,35% 70%);

  animation: villa-breeze-front 6.4s -2.2s ease-in-out infinite;

  transform-origin: 70% 95%;
}
@keyframes villa-breeze-back {
  0%,100% {
    transform: rotate(-2.5deg);
  }

  50% {
    transform: rotate(3deg);
  }
}
@keyframes villa-breeze-front {
  0%,100% {
    transform: rotate(3.5deg);
  }

  50% {
    transform: rotate(-4deg);
  }
}
@media (prefers-reduced-motion:reduce) {
.vb-flower-piece {
    animation: none !important;
  }
.vb-flower-depth {
    transform: none !important;
  }
}
/* Keep the animated floral accents outside the central reading column. */
.vb-flower.vb-agapanthus:is(.vb-location-info,.vb-space-info) {
  width: clamp(220px, 30vw, 520px);
  left: calc(-1 * var(--gutter-start));
}
@media (max-width: 991px) {
  .vb-flower.vb-agapanthus:is(.vb-location-info,.vb-space-info) {
    width: 36vw;
    left: -12vw;
  }
}

.vb-cookies .vb-cookies-c {
  padding: 16px !important;
}
.vb-cookies .vb-cookies-c>.vb-grid {
  display: flex !important;

  justify-content: flex-end;
}
.vb-cookies .vb-cookies-card {
  width: 340px !important;

  max-width: 100% !important;

  min-height: 0 !important;

  aspect-ratio: auto !important;

  padding: 22px !important;

  margin: 0 !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 12px !important;

  border: 1px solid #b4cedb;

  border-radius: 2px !important;

  background: #f5f5ed !important;

  color: #172338 !important;

  box-shadow: 0 5px 24px #17233812;
}
.vb-cookies .vb-cookies-card-t {
  width: auto !important;

  align-items: flex-start !important;
}
.vb-cookies .vb-cookies-card-t>.vb-b-mob {
  display: block !important;

  font-family: inherit !important;

  font-size: 24px !important;

  line-height: 1.1 !important;

  text-transform: none !important;

  letter-spacing: 0 !important;
}
.vb-cookies .vb-cookies-card-title,
.vb-cookies .vb-card-decor {
  display: none !important;
}
.vb-cookies .vb-cookies-card-b>.vb-l1 {
  font-size: 17px !important;

  line-height: 1.4 !important;

  letter-spacing: 0 !important;

  text-transform: none !important;

  text-align: left !important;

  font-weight: 400 !important;
}
.vb-cookies .vb-u-24 {
  height: 16px !important;
}
.vb-cookies .vb-cookies-card-btn-list {
  gap: 12px !important;

  justify-content: flex-start !important;
}
.vb-cookies .vb-cookies-card-btn-list>.vb-h6 {
  display: none !important;
}
.vb-cookies .vb-cookies-card-btn-list a {
  padding: 8px 16px !important;

  border: 1px solid #172338 !important;

  text-decoration: none !important;

  min-height: 44px;

  display: inline-flex;

  align-items: center;
}
.vb-cookies .vb-cookies-card-btn-list .vb-h6 {
  font-size: 17px !important;

  line-height: 1.2 !important;

  letter-spacing: 0 !important;

  text-transform: none !important;
}
.vb-cookies .vb-cookies-card-btn-list .vb-link-label-text.vb-is-2 {
  display: none !important;
}
.vb-cookies .vb-cookies-card-btn-list a:hover {
  background: #b4cedb !important;
}
.vb-cookies .vb-cookies-card-btn-list a:focus-visible {
  outline: 2px solid #172338;

  outline-offset: 3px;
}
@media (max-width:480px) {
.vb-cookies .vb-cookies-c {
    padding: 12px !important;
  }
.vb-cookies .vb-cookies-card {
    width: 100% !important;

    padding: 18px !important;
  }
}
:root {
 --motion-short:.4s; --motion-medium:.8s; --motion-long:1.2s;
 --ease-symmetric:cubic-bezier(.76,0,.24,1);
 --ease-decelerate:cubic-bezier(.25,1,.5,1);
 --ease-accelerate:cubic-bezier(.5,0,.75,0);
 --ease-standard:cubic-bezier(.25,.1,.25,1);
 --ease-writing:cubic-bezier(.333,0,.667,1);
 --viewport-measured:100vh;
}
html { font-size:1vw; background-color:var(--inverse-primary); }

/* State transitions expressed at the element they affect, without a copied state-variable layer. */
[data-vb-hover-btn] { transition:all var(--motion-medium) var(--ease-symmetric); }
[data-vb-hover-btn] [data-vb-hover=text],[data-vb-hover-btn] .vb-ico { color:var(--foreground-primary); transition:all var(--motion-medium) var(--ease-symmetric); }
[data-vb-hover-btn] [data-vb-hover=bg] { inset:100% 0 auto; border-radius:100%; transition:all var(--motion-medium) var(--ease-symmetric); }
[data-vb-hover-nav-item-l2] { transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-hover-nav-item-l2] [data-vb-hover=text] { transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-hover-nav-item-l2] [data-vb-hover=text]:nth-child(1) { transform:translateY(0); opacity:1; }
[data-vb-hover-nav-item-l2] [data-vb-hover=text]:nth-child(2) { transform:translateY(100%); opacity:0; }
[data-vb-hover-img-card] [data-vb-hover=img] { transform:scale(1); transition:all var(--motion-long) var(--ease-decelerate); }
[data-vb-hover-space-card] { z-index:0; }
[data-vb-hover-space-card] [data-vb-hover=shadow] { opacity:0; transition:opacity 1.6s var(--ease-decelerate); }
[data-vb-hover-social],[data-vb-hover-social] [data-vb-hover=ico] { transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-hover-social] [data-vb-hover=ico] { scale:1; }
[data-vb-hover-item] { transition:opacity var(--motion-medium) var(--ease-decelerate); }
[data-vb-hover-group]:has([data-vb-hover-item]:hover) [data-vb-hover-item]:not(:hover):not(.vb-is-active) { opacity:.2; }
[data-vb-slider=pag] .vb-pagination-prev .vb-ico-16 { transform:translateX(var(--space-4)); transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-slider=pag] .vb-pagination-next .vb-ico-16 { transform:translateX(calc(-1 * var(--space-4))); transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-slider=pag] :is(.vb-pagination-prev,.vb-pagination-next):hover .vb-ico-16 { transform:translateX(0); }
[data-vb-hover-media-item] [data-vb-hover=btn] { opacity:0; transition:all var(--motion-short) var(--ease-decelerate); }
[data-vb-hover-media-item]:hover [data-vb-hover=btn] { opacity:1; }
[data-vb-select=""] [data-vb-select=drop-down] { opacity:0; scale:1.1; transform:translateY(var(--space-32)); pointer-events:none; transition:none; }
[data-vb-select=""].vb-is-open [data-vb-select=drop-down] { opacity:1; scale:1; transform:translateY(0); pointer-events:auto; transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-select=""] [data-vb-select=btn] [data-vb-hover=ico] { rotate:0deg; transform:translateY(0); transition:all var(--motion-short) var(--ease-decelerate); }
[data-vb-select=""] [data-vb-select=btn]:hover [data-vb-hover=ico] { transform:translateY(var(--space-4)); }
[data-vb-select=""].vb-is-open [data-vb-select=btn] [data-vb-hover=ico] { rotate:180deg; }
[data-vb-hover-select-item] { background-color:transparent; transition:all var(--motion-short) var(--ease-decelerate); }
[data-vb-hover-select-item]:hover { background-color:var(--foreground-bg); }
[data-vb-hover-select-item] [data-vb-hover=text] { color:var(--foreground-primary); transition:all var(--motion-short) var(--ease-decelerate); }
[data-vb-hover-select-item].vb-is-active { background-color:var(--foreground-primary); pointer-events:none; }
[data-vb-hover-select-item].vb-is-active [data-vb-hover=text] { color:var(--inverse-primary); }
.vb-services-tab { opacity:.4; transition:all var(--motion-short) var(--ease-decelerate); }
.vb-services-tab.vb-is-active { opacity:1; }
[data-vb-hover-pin] { overflow:visible; }
[data-vb-hover-pin] [data-vb-hover=bg] { width:var(--step-6); height:var(--step-6); transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-hover-pin] [data-vb-hover=ico] { scale:0; rotate:45deg; transition:all var(--motion-medium) var(--ease-decelerate); }
:is([data-vb-hover-pin]:hover,[data-vb-hover-pin-trigger]:hover [data-vb-hover-pin]) { overflow:clip; }
:is([data-vb-hover-pin]:hover,[data-vb-hover-pin-trigger]:hover [data-vb-hover-pin]) [data-vb-hover=bg] { width:var(--step-32); height:var(--step-32); }
:is([data-vb-hover-pin]:hover,[data-vb-hover-pin-trigger]:hover [data-vb-hover-pin]) [data-vb-hover=ico] { scale:1; rotate:225deg; }
[data-vb-marquee-css] [data-vb-marquee-css=track] { will-change:transform; animation:villa-ribbon 32s linear infinite reverse; }
@keyframes villa-ribbon { from { transform:translateX(-50%); } to { transform:translateX(0); } }
.vb-floating-tip { visibility:hidden; }
.vb-floating-tip .vb-floating-tip-card { --tip-offset:var(--step-32); opacity:0; scale:.75; transform:translate(var(--tip-offset),-50%); transition:all var(--motion-short) var(--ease-accelerate); }
.vb-floating-tip.vb-is-left .vb-floating-tip-card { --tip-offset:calc(-100% - var(--step-16)); }
.vb-floating-tip.vb-is-active { visibility:visible; }
.vb-floating-tip.vb-is-active .vb-floating-tip-card { opacity:1; scale:1; transition:all var(--motion-medium) var(--ease-decelerate); }
[data-vb-hover-tab] { opacity:.3; transition:all var(--motion-short) var(--ease-decelerate); }
[data-vb-hover-tab].vb-is-active { opacity:1; pointer-events:none; }
.vb-hero-section-tabs-divider { background:linear-gradient(90deg,transparent,white,transparent); background-size:200% 100%; background-position:100% 0; transition:all var(--motion-medium) var(--ease-symmetric); }
.vb-hero-section-tabs-divider.is-night { background-position:0 0; }
[data-vb-s-bar] { --vb-progress:0%; }
[data-vb-s-bar] [data-vb-s-bar-thumb] { top:var(--vb-progress); }
[data-vb-s-bar] [data-vb-s-bar-fill] { clip-path:rect(0% 100% calc(var(--vb-progress) - var(--step-24)) 0%); }
[data-vb-s-bar] [data-vb-s-bar-track] { clip-path:rect(calc(var(--vb-progress) + var(--step-24)) 100% 100% 0%); }
[data-vb-reset] { transition:all var(--motion-short) var(--ease-decelerate); }
[data-vb-reset].vb-is-disabled { pointer-events:none; opacity:.3; }
[data-vb-theme] :is(.vb-l1,.vb-l2,.vb-h6,.vb-logo,.vb-header-logo-bg,.vb-section-down-arrow,.vb-section-bar-track,.vb-section-bar-fill) { transition:color var(--motion-short) var(--ease-decelerate),background-color var(--motion-short) var(--ease-decelerate); }
@media(min-width:992px) {
 :is([data-vb-hover-btn]:hover,[data-vb-hover-btn-trigger]:hover [data-vb-hover-btn]) :is([data-vb-hover=text],.vb-ico) { color:var(--inverse-primary); }
 :is([data-vb-hover-btn]:hover,[data-vb-hover-btn-trigger]:hover [data-vb-hover-btn]) [data-vb-hover=bg] { inset:0 0 auto; border-radius:0; }
 :is([data-vb-hover-nav-item-l2]:hover,[data-vb-hover-nav-item-l2-trigger]:hover [data-vb-hover-nav-item-l2]) [data-vb-hover=text]:nth-child(1) { transform:translateY(-100%); opacity:0; }
 :is([data-vb-hover-nav-item-l2]:hover,[data-vb-hover-nav-item-l2-trigger]:hover [data-vb-hover-nav-item-l2]) [data-vb-hover=text]:nth-child(2) { transform:translateY(0); opacity:1; }
 [data-vb-hover-img-card]:hover [data-vb-hover=img] { transform:scale(1.15); }
 [data-vb-hover-space-card]:hover { z-index:10; }
 [data-vb-hover-space-card]:hover [data-vb-hover=shadow] { opacity:1; }
 :is([data-vb-hover-social]:hover,[data-vb-hover-social-trigger]:hover [data-vb-hover-social]) [data-vb-hover=ico] { scale:1.25; }
 .vb-services-tab:hover,[data-vb-hover-tab]:hover { opacity:1; }
 .vb-detail-section-info-header { transition:all var(--motion-medium) var(--ease-decelerate); }
 .vb-detail-section-info-header.vb-is-top,.vb-detail-section-info-line { transition:all var(--motion-long) var(--ease-symmetric); }
 .vb-detail-section-info-line.vb-is-top { transition:all var(--motion-short) var(--ease-decelerate); }
}

/* Compound masks match the measured entrance aperture. */
.vb-living-intro-section-bg-l,.vb-living-intro-section-bg-r { clip-path:inset(50% 50% 50% 500%); }
.vb-cookies-card,.vb-floating-tip-card,.vb-filter-select-drop-down,.vb-space-card-shadow {
 box-shadow:0 224px 63px #0000,0 143px 57px rgb(0 0 0 / 1%),0 81px 48px rgb(0 0 0 / 4%),0 36px 36px rgb(0 0 0 / 7%),0 9px 20px rgb(0 0 0 / 8%);
}
@media(min-width:992px) {
 .vb-detail-section-info-t { mask-image:linear-gradient(transparent,white 5.29%,white 84.62%,transparent); }
}
.vb-contact-section-map-pin-c {
 clip-path:polygon(0 0,100% 0,100% calc(100% - var(--step-8)),calc(100% - var(--step-16) - var(--step-2)) calc(100% - var(--step-8)),calc(100% - var(--step-16) - var(--step-2) - var(--step-16) / 2) 100%,calc(100% - 2 * var(--step-16) - var(--step-2)) calc(100% - var(--step-8)),0 calc(100% - var(--step-8)));
}
[data-vb-preloader] {
 --entrance-width:36vw;
 --entrance-height:calc(var(--entrance-width) * 2592 / 560);
 --entrance-top:100vh;
 mask-image:linear-gradient(white,white),linear-gradient(white,white),linear-gradient(white,white),url('/assets/villa/arch-mask.svg');
 mask-size:calc(50% - var(--entrance-width) / 2 + 2px) 100%,calc(var(--entrance-width) + 4px) calc(var(--entrance-top) + 2px),calc(50% - var(--entrance-width) / 2 + 2px) 100%,var(--entrance-width) var(--entrance-height);
 mask-position:left top,center top,right top,center var(--entrance-top);
 mask-repeat:no-repeat;
 mask-composite:add;
}

:is([data-vb-parallax="img"],[data-vb-parallax="img-out"],[data-vb-scroll-reveal="a"],[data-vb-scroll-reveal="h"],[data-vb-scroll-reveal="p"],[data-vb-scroll-reveal="slide"],[data-vb-scroll-reveal="ctn"]) { will-change:transform; }
.vb-split-line,.vb-split-word,.vb-split-char { display:inline-block; will-change:transform; }
.vb-split-line-mask,.vb-split-word-mask,.vb-split-char-mask { display:inline-block; line-height:inherit; vertical-align:top; }
.vb-header,.vb-modal { padding-right:var(--vb-scrollbar-width,0px); }
input:-webkit-autofill { -webkit-box-shadow:0 0 0 0 white inset!important; -webkit-text-fill-color:var(--foreground-100)!important; background-clip:text!important; }
:is(.vb-a1,.vb-a2) .vb-split-char { padding:var(--space-32) var(--space-160); margin:calc(-1 * var(--space-32)) calc(-1 * var(--space-160)); }
.vb-location-frame-clouds .vb-marquee-list-item:nth-child(even) { transform:scaleY(-1); }
@media(max-width:991px) { .vb-input-field.vb-l1 { font-size:calc(16rem / var(--unit-divisor)); } }

.vb-location-frame-decor { clip-path:polygon(var(--gutter-start) 0,calc(100% - var(--gutter-end)) 0,100% 101%,0 101%); }

html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
