.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-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;
  }
}
@font-face  {
  font-family: CitrusSerif;
  src: url("/assets/fonts/instrument-serif.woff2") format("woff2");
  font-display: swap;
}
@font-face  {
  font-family: CitrusScript;
  src: url("/assets/fonts/relation-regular.woff2") format("woff2");
  font-display: swap;
}:root {
  --vb-ink: #172338;

  --vb-paper: #f5f5ed;

  --vb-blue: #b4cedb;

  --vb-line: #17233833;

  --vb-accent: #87642d;
}* {
  box-sizing: border-box;
}html {
  scroll-behavior: smooth;

  scroll-padding-top: 110px;
}body.vb-citrus-detail {
  margin: 0;

  background: var(--vb-paper);

  color: var(--vb-ink);

  font-family: CitrusSerif,Georgia,serif;
}
.vb-citrus-detail a {
  color: inherit;

  text-underline-offset: 5px;
}
.vb-citrus-detail a:focus-visible,
.vb-citrus-detail summary:focus-visible {
  outline: 2px solid var(--vb-ink);

  outline-offset: 5px;
}
.vb-cd-header {
  position: sticky;

  top: 0;

  z-index: 20;

  background: var(--vb-paper);

  border-bottom: 1px solid var(--vb-line);

  padding: 14px 5vw;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;
}
.vb-cd-header>a {
  display: flex;

  align-items: center;

  gap: 16px;

  text-decoration: none;

  font-size: 24px;
}
.vb-cd-header img {
  width: 42px;

  height: 42px;
}
.vb-cd-lang {
  display: flex;

  gap: 8px;

  font-family: Arial,sans-serif;

  font-size: 14px;
}
.vb-cd-lang a {
  display: grid;

  place-items: center;

  width: 44px;

  height: 44px;

  text-decoration: none;
}
.vb-cd-lang a[aria-current] {
  border: 1px solid var(--vb-ink);

  border-radius: 50%;
}
.vb-cd-wrap {
  width: min(1240px,90%);

  margin: auto;
}
.vb-cd-back {
  display: inline-flex;

  align-items: center;

  min-height: 56px;

  font-size: 21px;
}
.vb-cd-hero {
  margin: 0;
}
.vb-cd-hero img {
  display: block;

  width: 100%;

  height: auto;

  max-height: 75vh;

  object-fit: contain;

  background: #e8eadf;
}
.vb-cd-hero figcaption {
  display: flex;

  justify-content: space-between;

  gap: 16px;

  padding: 12px 0;

  font-family: Arial,sans-serif;

  font-size: 12px;

  line-height: 1.5;

  letter-spacing: .07em;

  text-transform: uppercase;
}
.vb-cd-title {
  padding: 45px 0 35px;

  border-bottom: 1px solid var(--vb-line);

  display: grid;

  grid-template-columns: 1fr auto;

  align-items: end;

  gap: 30px;
}
.vb-cd-title h1 {
  font-size: clamp(54px,7vw,108px);

  line-height: 1.02;

  font-weight: 400;

  margin: 10px 0 18px;

  max-width: 1000px;
}
.vb-cd-kicker {
  font: 14px/1.5 Arial,sans-serif;

  letter-spacing: .1em;

  text-transform: uppercase;
}
.vb-cd-latin {
  font-size: 21px;

  line-height: 1.4;

  margin: 0;

  font-style: italic;

  max-width: 650px;
}
.vb-cd-number {
  font-size: 85px;

  line-height: 1;

  color: #677586;
}
.vb-cd-tag {
  font: clamp(32px,4vw,54px)/1.4 CitrusScript,cursive;

  margin: 28px 0 30px;
}
.vb-cd-nav {
  display: flex;

  flex-wrap: wrap;

  gap: 10px 28px;

  padding: 4px 0 34px;

  font-size: 21px;
}
.vb-cd-nav a {
  min-height: 44px;

  display: flex;

  align-items: center;
}
.vb-cd-summary {
  display: grid;

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

  border-top: 1px solid var(--vb-line);

  border-bottom: 1px solid var(--vb-line);

  padding: 28px 0;

  gap: 24px;

  margin: 0 0 64px;
}
.vb-cd-summary dt {
  font: 14px/1.5 Arial,sans-serif;

  color: #4c5b64;

  margin-bottom: 8px;
}
.vb-cd-summary dd {
  font-size: clamp(25px,3vw,36px);

  margin: 0;
}
.vb-cd-reading {
  max-width: 740px;

  margin: 0 auto;

  padding: 0 0 65px;
}
.vb-cd-reading p {
  font-size: 25px;

  line-height: 1.6;

  margin: 0 0 24px;
}
.vb-cd-reading h2,
.vb-cd-panel h2,
.vb-cd-feature h2 {
  font-size: clamp(36px,4vw,55px);

  line-height: 1.08;

  font-weight: 400;

  margin: 12px 0 24px;
}
.vb-cd-reading>p:first-of-type {
  font-size: 30px;

  line-height: 1.45;
}
.vb-cd-reading details {
  border-top: 1px solid var(--vb-line);

  margin-top: 30px;

  padding-top: 12px;
}
.vb-cd-reading summary {
  font-size: 25px;

  cursor: pointer;

  min-height: 48px;

  padding: 12px 0;
}
.vb-cd-reading details p:first-of-type {
  margin-top: 20px;
}
.vb-cd-panels {
  display: grid;

  grid-template-columns: 1fr 1fr;

  background: #e9eee7;

  margin: 0 -2vw 70px;
}
.vb-cd-panel {
  padding: 40px;

  min-width: 0;
}
.vb-cd-panel+ .vb-cd-panel {
  border-left: 1px solid var(--vb-line);
}
.vb-cd-panel p {
  font-size: 23px;

  line-height: 1.45;
}
.vb-cd-panel .vb-cd-note {
  font: 14px/1.6 Arial,sans-serif;

  color: #45534a;
}
.vb-cd-map {
  position: relative;

  aspect-ratio: 2/1;

  margin: 20px 0;

  background-image: linear-gradient(#17233809 1px,transparent 1px),linear-gradient(90deg,#17233809 1px,transparent 1px);

  background-size: 25% 33.333%;
}
.vb-cd-map>img {
  display: block;

  width: 100%;

  height: 100%;
}
.vb-cd-pin {
  position: absolute;

  width: 12px;

  height: 12px;

  background: var(--vb-ink);

  border: 2px solid var(--vb-paper);

  border-radius: 50%;

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

  box-shadow: 0 0 0 7px #17233820;
}
.vb-cd-calendar {
  display: grid;

  grid-template-columns: repeat(6,1fr);

  gap: 9px;

  margin: 26px 0;
}
.vb-cd-month {
  font: 14px/1.4 Arial,sans-serif;

  text-align: center;

  border: 1px solid #738173;

  padding: 12px 0;

  position: relative;
}
.vb-cd-month.vb-active {
  background: var(--vb-ink);

  color: white;

  border-color: var(--vb-ink);
}
.vb-cd-month.vb-active:after {
  content: "•";

  display: block;

  height: 8px;

  font-size: 12px;

  line-height: 8px;
}
.vb-cd-month:not(.vb-active):after {
  content: "";

  display: block;

  height: 8px;
}
.vb-cd-legend {
  font: 14px/1.5 Arial,sans-serif !important;
}
.vb-cd-feature {
  padding: 50px;

  background: var(--vb-blue);

  display: grid;

  grid-template-columns: 1fr 1.2fr;

  gap: 50px;

  margin-bottom: 70px;
}
.vb-cd-feature p {
  font-size: 26px;

  line-height: 1.5;

  margin: 0;
}
.vb-cd-feature .vb-cd-kicker {
  font-size: 14px;

  margin-bottom: 20px;
}
.vb-cd-curiosity {
  max-width: 740px;

  margin: 0 auto 70px;

  border-left: 2px solid var(--vb-accent);

  padding: 0 0 0 30px;
}
.vb-cd-curiosity h2 {
  font-size: 38px;

  line-height: 1.15;

  font-weight: 400;

  margin: 15px 0;
}
.vb-cd-curiosity p {
  font-size: 24px;

  line-height: 1.5;
}
.vb-cd-sources {
  max-width: 740px;

  margin: 0 auto 65px;

  border-top: 1px solid var(--vb-line);

  padding-top: 18px;
}
.vb-cd-sources summary {
  font-size: 22px;

  cursor: pointer;

  padding: 10px 0;

  min-height: 44px;
}
.vb-cd-sources p,
.vb-cd-sources li {
  font: 14px/1.6 Arial,sans-serif;
}
.vb-cd-sources li {
  margin-bottom: 12px;
}
.vb-cd-next {
  border-top: 1px solid var(--vb-line);

  padding: 40px 0;

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 30px;
}
.vb-cd-next a {
  display: block;

  text-decoration: none;

  padding: 10px 0;

  font-size: 30px;

  line-height: 1.15;
}
.vb-cd-next a:last-child {
  text-align: right;
}
.vb-cd-next span {
  display: block;

  font: 14px/1.5 Arial,sans-serif;

  margin-bottom: 14px;
}
.vb-cd-footer {
  padding: 40px 5vw 60px;

  background: var(--vb-blue);

  text-align: center;
}
.vb-cd-footer a {
  font-size: 27px;

  display: inline-block;

  padding: 12px;
}
.vb-cd-footer p {
  font: 14px/1.6 Arial,sans-serif;

  margin: 14px 0;
}
.vb-cd-skip {
  position: absolute;

  top: -100px;

  left: 20px;

  padding: 15px;

  background: white;

  z-index: 30;
}
.vb-cd-skip:focus {
  top: 10px;
}
.vb-citrus-catalogue .vb-citrus-card-link {
  display: block;

  text-decoration: none;
}
.vb-citrus-card-link:focus-visible {
  outline: 2px solid #172338;

  outline-offset: 8px;
}
.vb-citrus-card-cta {
  display: inline-block;

  margin-top: 16px;

  text-decoration: underline;

  text-underline-offset: 5px;

  font-size: 21px;
}
@media (max-width:700px) {
html {
    scroll-padding-top: 90px;
  }
.vb-cd-header {
    padding: 8px 5vw;
  }
.vb-cd-header>a {
    font-size: 21px;

    gap: 10px;
  }
.vb-cd-header img {
    width: 34px;

    height: 34px;
  }
.vb-cd-wrap {
    width: 90%;
  }
.vb-cd-back {
    font-size: 19px;

    min-height: 52px;
  }
.vb-cd-hero {
    margin: 0 -5.55%;
  }
.vb-cd-hero figcaption {
    padding: 12px 5%;

    font-size: 12px;

    letter-spacing: .03em;
  }
.vb-cd-hero img {
    max-height: none;
  }
.vb-cd-title {
    padding: 25px 0;

    gap: 12px;
  }
.vb-cd-title h1 {
    font-size: clamp(46px,12vw,68px);

    overflow-wrap: break-word;
  }
.vb-cd-latin {
    font-size: 19px;
  }
.vb-cd-number {
    display: none;
  }
.vb-cd-tag {
    font-size: 33px;

    line-height: 1.3;

    margin: 24px 0;
  }
.vb-cd-nav {
    gap: 5px 22px;

    font-size: 20px;

    padding-bottom: 24px;
  }
.vb-cd-summary {
    gap: 12px;

    padding: 23px 0;

    margin-bottom: 38px;
  }
.vb-cd-summary dt {
    font-size: 13px;
  }
.vb-cd-summary dd {
    font-size: 24px;

    line-height: 1.2;

    overflow-wrap: break-word;
  }
.vb-cd-reading {
    padding-bottom: 38px;
  }
.vb-cd-reading p {
    font-size: 22px;

    line-height: 1.5;
  }
.vb-cd-reading>p:first-of-type {
    font-size: 25px;
  }
.vb-cd-panels {
    grid-template-columns: 1fr;

    margin: 0 -5.55% 40px;
  }
.vb-cd-panel {
    padding: 32px 5%;
  }
.vb-cd-panel+.vb-cd-panel {
    border-left: 0;

    border-top: 1px solid var(--vb-line);
  }
.vb-cd-panel h2 {
    font-size: 38px;
  }
.vb-cd-feature {
    margin: 0 -5.55% 44px;

    padding: 35px 5%;

    gap: 0;

    grid-template-columns: 1fr;
  }
.vb-cd-feature p {
    font-size: 24px;
  }
.vb-cd-curiosity {
    padding-left: 20px;

    margin-bottom: 40px;
  }
.vb-cd-curiosity h2 {
    font-size: 32px;
  }
.vb-cd-curiosity p {
    font-size: 22px;
  }
.vb-cd-next {
    gap: 20px;
  }
.vb-cd-next a {
    font-size: 24px;
  }
.vb-cd-sources {
    margin-bottom: 35px;
  }
}
@media (prefers-reduced-motion:reduce) {
html {
    scroll-behavior: auto;
  }
}
@media print {
.vb-cd-header,
.vb-cd-nav,
.vb-cd-next,
.vb-cd-footer {
    display: none;
  }
.vb-cd-reading details>* {
    display: block;
  }
.vb-cd-panels,
.vb-cd-feature {
    break-inside: avoid;
  }
.vb-cd-hero img {
    max-height: 350px;
  }
}