/* Shared premium type and spacing scale for PERBRA's three house profiles. */
:is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) {
  position:relative;
  overflow:visible
}

:is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs)::before {
  content:attr(data-switch-title);
  position:absolute;
  left:0;
  top:-25px;
  color:#75695d;
  font-size:7px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase
}

:is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) button>span:not(.house-variant-choice) {
  align-self:flex-start;
  line-height:1;
  transform:translateY(-1.5px)
}

:is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) .house-variant-choice {
  display:flex;
  flex-direction:column;
  align-self:center;
  min-width:0;
  color:inherit;
  font-family:inherit;
  font-size:inherit;
  transform:translateY(-4px)
}

:is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) .house-variant-choice b {
  color:inherit;
  font-family:inherit;
  font-size:18px;
  font-weight:inherit;
  line-height:1.1
}

:is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) .house-variant-choice em {
  margin-top:7px;
  color:#75695d;
  font-size:8px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.15em;
  line-height:1;
  text-transform:uppercase
}

:is(.nbg-page .nbg-variants>.nbg-eyebrow--dark,.shp-page .shp-variants>.shp-eyebrow--dark,.svl-page .svl-turnkey>.svl-eyebrow--dark),
:is(.nbg-page .nbg-strengths>.nbg-eyebrow--dark,.shp-page .shp-strengths>.shp-eyebrow--dark,.svl-page .svl-strengths>.svl-eyebrow--dark) {
  color:#17130f!important;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#17130f!important
}

@media (min-width:1025px) and (orientation:portrait), (min-width:821px) and (orientation:landscape) and (hover:hover) and (pointer:fine), (min-width:821px) and (max-width:1366px) and (min-height:821px) and (max-height:1024px) and (orientation:landscape) and (hover:none) and (pointer:coarse), (min-width:1367px) {
  :is(.nbg-page .nbg-chapter-nav,.shp-page .shp-chapter-nav,.svl-page .svl-chapter-nav) a.active {
    color:#f1ece2;
    background:rgba(230,218,201,.075);
    box-shadow:inset 0 -2px 0 #a19167
  }

  :is(.nbg-page .nbg-hero,.shp-page .shp-hero,.svl-page .svl-hero) {
    height:max(100svh,871px);
    min-height:max(100svh,871px)
  }

  :is(.nbg-page .nbg-hero__glass,.shp-page .shp-hero__glass,.svl-page .svl-hero__glass) {
    width:min(680px,64vw);
    padding:clamp(38px,4vw,52px)
  }

  :is(.nbg-page .nbg-hero h1,.shp-page .shp-hero h1,.svl-page .svl-hero h1) {
    font-size:clamp(54px,5.8vw,88px)
  }

  :is(.nbg-page .nbg-kicker,.shp-page .shp-kicker,.svl-page .svl-kicker) {
    margin-bottom:20px
  }

  :is(.nbg-page .nbg-hero__lead,.shp-page .shp-hero__lead,.svl-page .svl-hero__lead) {
    margin-top:22px;
    font-size:clamp(13px,1.05vw,16px);
    line-height:1.62
  }

  :is(.nbg-page .nbg-hero__actions,.shp-page .shp-hero__actions,.svl-page .svl-hero__actions) {
    margin-top:28px
  }

  :is(.nbg-page .nbg-hero__actions .nbg-button,.shp-page .shp-hero__actions .shp-button,.svl-page .svl-hero__actions .svl-button) {
    min-height:56px
  }

  :is(.nbg-page .nbg-hero__facts,.shp-page .shp-hero__facts,.svl-page .svl-hero__facts) {
    margin-top:18px
  }

  :is(.nbg-page .nbg-section,.shp-page .shp-section,.svl-page .svl-section),
  :is(.nbg-page .nbg-overview,.shp-page .shp-overview,.svl-page .svl-overview) {
    padding-top:clamp(74px,6.8vw,104px);
    padding-bottom:clamp(74px,6.8vw,104px)
  }

  .nbg-page .nbg-floorplan {
    padding-bottom:calc(clamp(74px,6.8vw,104px) - 40px)
  }

  .shp-page .shp-floorplan {
    padding-bottom:calc(clamp(74px,6.8vw,104px) - 20px)
  }

  :is(.nbg-page .nbg-section h2,.shp-page .shp-section h2,.svl-page .svl-section h2),
  :is(.nbg-page .nbg-overview__intro h2,.shp-page .shp-overview__intro h2,.svl-page .svl-overview__intro h2) {
    font-size:clamp(42px,4.2vw,60px);
    line-height:1.02
  }

  :is(.nbg-page .nbg-overview__intro,.shp-page .shp-overview__intro,.svl-page .svl-overview__intro) {
    gap:clamp(48px,6.5vw,104px)
  }

  :is(.nbg-page .nbg-overview__intro-copy>p:first-child,.shp-page .shp-overview__intro-copy>p:first-child,.svl-page .svl-overview__intro-copy>p:first-child) {
    font-size:clamp(17px,1.4vw,20px);
    line-height:1.58
  }

  :is(.nbg-page .nbg-thesis,.shp-page .shp-thesis,.svl-page .svl-thesis) {
    margin-top:22px;
    padding:21px 24px;
    line-height:1.62
  }

  :is(.nbg-page .nbg-overview__grid,.shp-page .shp-overview__grid,.svl-page .svl-overview__grid) {
    margin-top:50px
  }

  :is(.nbg-page .nbg-overview-card,.shp-page .shp-overview-card,.svl-page .svl-overview-card) {
    min-height:255px;
    padding:30px
  }

  :is(.nbg-page .nbg-overview-card>span,.shp-page .shp-overview-card>span,.svl-page .svl-overview-card>span) {
    font-size:27px
  }

  :is(.nbg-page .nbg-overview-card h3,.shp-page .shp-overview-card h3,.svl-page .svl-overview-card h3) {
    margin:22px 0 12px;
    font-size:26px;
    line-height:1.08
  }

  :is(.nbg-page .nbg-overview-card p,.shp-page .shp-overview-card p,.svl-page .svl-overview-card p) {
    font-size:13px;
    line-height:1.65
  }

  :is(.nbg-page .nbg-price-band,.shp-page .shp-price-band,.svl-page .svl-price-band) {
    gap:34px;
    padding:28px 32px
  }

  :is(.nbg-page .nbg-description__layout,.shp-page .shp-description__layout,.svl-page .svl-description__layout),
  :is(.nbg-page .nbg-services__intro,.shp-page .shp-services__intro,.svl-page .svl-services__intro),
  :is(.nbg-page .nbg-contact__grid,.shp-page .shp-contact__grid,.svl-page .svl-contact__grid) {
    gap:clamp(48px,6.5vw,104px)
  }

  /* Align the compact service introduction with the right-hand card below. */
  :is(.nbg-page .nbg-services__intro,.shp-page .shp-services__intro,.svl-page .svl-services__intro) {
    grid-template-columns:1fr 1fr;
    gap:18px
  }

  :is(.nbg-page .nbg-services__intro>p,.shp-page .shp-services__intro>p,.svl-page .svl-services__intro>p) {
    transform:translateY(20px)
  }

  :is(.nbg-page .nbg-description__copy,.shp-page .shp-description__copy,.svl-page .svl-description__copy) {
    position:relative;
    top:-40px;
    left:-40px
  }

  :is(.nbg-page .nbg-description__copy p,.shp-page .shp-description__copy p,.svl-page .svl-description__copy p),
  :is(.nbg-page .nbg-section__head>p:last-child,.shp-page .shp-section__head>p:last-child,.svl-page .svl-section__head>p:last-child),
  :is(.nbg-page .nbg-floorplan__copy p,.shp-page .shp-floorplan__copy p) {
    line-height:1.66
  }

  :is(.nbg-page .nbg-option-pills,.shp-page .shp-option-pills,.svl-page .svl-option-pills) {
    margin:27px 0
  }

  :is(.nbg-page .nbg-variants .nbg-section__head,.shp-page .shp-variants .shp-section__head,.svl-page .svl-turnkey .svl-section__head) {
    gap:clamp(48px,6.5vw,104px)
  }

  :is(.nbg-page .nbg-variants .nbg-section__head>p:last-child,.shp-page .shp-variants .shp-section__head>p:last-child,.svl-page .svl-turnkey .svl-section__head>p:last-child) {
    transform:translateY(15px)
  }

  .svl-page .svl-turnkey .svl-section__head>p:last-child {
    transform:translateY(30px)
  }

  :is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) {
    margin-top:44px
  }

  :is(.nbg-page .nbg-variant-tabs button,.shp-page .shp-variant-tabs button) {
    min-height:76px;
    padding:16px 22px
  }

  :is(.nbg-page .nbg-variant-tabs button span,.shp-page .shp-variant-tabs button span) {
    font-size:22px
  }

  :is(.nbg-page .nbg-variant-tabs button strong,.shp-page .shp-variant-tabs button strong) {
    font-size:23px
  }

  :is(.nbg-page .nbg-spec-card,.shp-page .shp-spec-card,.svl-page .svl-spec-card) {
    padding:clamp(34px,3.2vw,42px)
  }

  :is(.nbg-page .nbg-spec-card__head,.shp-page .shp-spec-card__head,.svl-page .svl-spec-card__head) {
    padding-bottom:20px
  }

  :is(.nbg-page .nbg-spec-card__head span,.shp-page .shp-spec-card__head span,.svl-page .svl-spec-card__head span) {
    font-size:27px
  }

  :is(.nbg-page .nbg-spec-card h3,.shp-page .shp-spec-card h3,.svl-page .svl-spec-card h3) {
    font-size:32px
  }

  :is(.nbg-page .nbg-check-list,.shp-page .shp-check-list,.svl-page .svl-check-list) {
    margin-top:22px
  }

  :is(.nbg-page .nbg-check-list li,.shp-page .shp-check-list li,.svl-page .svl-check-list li) {
    padding-top:8px;
    padding-bottom:8px;
    font-size:13.5px;
    line-height:1.58
  }

  :is(.nbg-page .nbg-check-list li::before,.shp-page .shp-check-list li::before,.svl-page .svl-check-list li::before) {
    top:17px
  }

  :is(.nbg-page .nbg-variant-summary,.shp-page .shp-variant-summary) {
    display:flex;
    justify-content:space-between;
    gap:35px;
    align-items:center;
    margin-top:25px;
    padding:26px 30px
  }

  :is(.nbg-page .nbg-variant-summary strong,.shp-page .shp-variant-summary strong) {
    font-size:30px
  }

  :is(.nbg-page .nbg-variant-summary p,.shp-page .shp-variant-summary p) {
    margin:16px 0;
    color:rgba(241,236,226,.65)
  }

  :is(.nbg-page .nbg-floorplan__copy h2,.shp-page .shp-floorplan__copy h2) {
    margin-bottom:22px
  }

  :is(.nbg-page .nbg-floorplan__facts,.shp-page .shp-floorplan__facts) {
    margin:24px 0
  }

  :is(.nbg-page .nbg-floorplan__facts span,.shp-page .shp-floorplan__facts span) {
    padding:12px 15px
  }

  :is(.nbg-page .nbg-upgrade-grid,.shp-page .shp-upgrade-grid,.svl-page .svl-upgrade-grid) {
    margin-top:42px
  }

  :is(.nbg-page .nbg-upgrades .nbg-section__head>p:last-child,.shp-page .shp-upgrades .shp-section__head>p:last-child,.svl-page .svl-upgrades .svl-section__head>p:last-child) {
    transform:translateY(15px)
  }

  :is(.nbg-page .nbg-upgrade-card,.shp-page .shp-upgrade-card,.svl-page .svl-upgrade-card) {
    padding:29px
  }

  :is(.nbg-page .nbg-upgrade-card h3,.shp-page .shp-upgrade-card h3,.svl-page .svl-upgrade-card h3) {
    margin-bottom:19px;
    font-size:28px
  }

  :is(.nbg-page .nbg-upgrade-list li,.shp-page .shp-upgrade-list li,.svl-page .svl-upgrade-list li) {
    padding:12px 0;
    font-size:12.5px;
    line-height:1.52
  }

  :is(.nbg-page .nbg-upgrade-note,.shp-page .shp-upgrade-note,.svl-page .svl-upgrade-note) {
    margin-top:20px
  }

  :is(.nbg-page .nbg-cta-strip,.shp-page .shp-cta-strip,.svl-page .svl-cta-strip) {
    padding:38px 0
  }

  :is(.nbg-page .nbg-cta-strip h2,.shp-page .shp-cta-strip h2,.svl-page .svl-cta-strip h2) {
    font-size:clamp(32px,3.4vw,48px)
  }

  :is(.nbg-page .nbg-cta-strip__actions,.shp-page .shp-cta-strip__actions,.svl-page .svl-cta-strip__actions) {
    transform:translateY(75px)
  }

  :is(.nbg-page .nbg-services__cards,.shp-page .shp-services__cards,.svl-page .svl-services__cards) {
    margin-top:42px
  }

  :is(.nbg-page .nbg-service-card,.shp-page .shp-service-card,.svl-page .svl-service-card) {
    padding:clamp(34px,3.25vw,43px)
  }

  :is(.nbg-page .nbg-service-card>span,.shp-page .shp-service-card>span,.svl-page .svl-service-card>span) {
    font-size:27px
  }

  :is(.nbg-page .nbg-service-card h3,.shp-page .shp-service-card h3,.svl-page .svl-service-card h3) {
    margin:22px 0 15px;
    font-size:32px
  }

  :is(.nbg-page .nbg-service-card>p,.shp-page .shp-service-card>p,.svl-page .svl-service-card>p) {
    font-size:13px;
    line-height:1.65
  }

  :is(.nbg-page .nbg-service-card ul,.shp-page .shp-service-card ul,.svl-page .svl-service-card ul) {
    margin-top:23px
  }

  :is(.nbg-page .nbg-service-card li,.shp-page .shp-service-card li,.svl-page .svl-service-card li) {
    padding:10px 0;
    line-height:1.55
  }

  :is(.nbg-page .nbg-rental-link,.shp-page .shp-rental-link,.svl-page .svl-rental-link) {
    padding:26px 30px
  }

  :is(.nbg-page .nbg-rental-link .nbg-eyebrow,.shp-page .shp-rental-link .shp-eyebrow,.svl-page .svl-rental-link .svl-eyebrow) {
    transform:translateY(-15px)
  }

  :is(.nbg-page .nbg-rental-link h3,.shp-page .shp-rental-link h3,.svl-page .svl-rental-link h3) {
    font-size:24px
  }

  :is(.nbg-page .nbg-strength-grid,.shp-page .shp-strength-grid,.svl-page .svl-strength-grid) {
    margin-top:40px
  }

  :is(.nbg-page .nbg-strength-card,.shp-page .shp-strength-card,.svl-page .svl-strength-card) {
    padding:29px
  }

  :is(.nbg-page .nbg-strength-card span,.shp-page .shp-strength-card span,.svl-page .svl-strength-card span) {
    font-size:26px
  }

  :is(.nbg-page .nbg-strength-card h3,.shp-page .shp-strength-card h3,.svl-page .svl-strength-card h3) {
    margin:20px 0 10px;
    font-size:25px
  }

  :is(.nbg-page .nbg-strength-card p,.shp-page .shp-strength-card p,.svl-page .svl-strength-card p) {
    line-height:1.62
  }

  :is(.nbg-page .nbg-contact__copy>p,.shp-page .shp-contact__copy>p,.svl-page .svl-contact__copy>p) {
    margin-top:21px;
    line-height:1.65
  }

  :is(.nbg-page .nbg-contact__actions,.shp-page .shp-contact__actions,.svl-page .svl-contact__actions) {
    margin-top:28px
  }

  :is(.nbg-page .nbg-contact__reservation,.shp-page .shp-contact__reservation,.svl-page .svl-contact__reservation) {
    padding:clamp(31px,3vw,38px)
  }

  :is(.nbg-page .nbg-contact__reservation h3,.shp-page .shp-contact__reservation h3,.svl-page .svl-contact__reservation h3) {
    font-size:31px;
    line-height:1.08
  }

  :is(.nbg-page .nbg-contact__reservation p,.shp-page .shp-contact__reservation p,.svl-page .svl-contact__reservation p) {
    line-height:1.62
  }

  :is(.nbg-page .nbg-reservation-facts,.shp-page .shp-reservation-facts,.svl-page .svl-reservation-facts) {
    margin:20px 0
  }

  :is(.nbg-page .nbg-reservation-facts span,.shp-page .shp-reservation-facts span,.svl-page .svl-reservation-facts span) {
    padding:15px
  }

  :is(.nbg-page .nbg-reservation-facts strong,.shp-page .shp-reservation-facts strong,.svl-page .svl-reservation-facts strong) {
    font-size:20px
  }

  :is(.nbg-page .nbg-disclaimer,.shp-page .shp-disclaimer,.svl-page .svl-disclaimer) {
    margin-top:27px;
    padding-top:18px
  }
}

@media(min-width:1101px) {
  :is(.nbg-page .nbg-variants .nbg-section__head,.shp-page .shp-variants .shp-section__head,.svl-page .svl-turnkey .svl-section__head) {
    width:100%;
    max-width:none;
    grid-template-columns:1fr 1fr;
    gap:20px
  }

  html[lang="de"] :is(.nbg-page .nbg-variants .nbg-section__head h2,.shp-page .shp-variants .shp-section__head h2) {
    max-width:330px
  }
}

/* Strandvilla Lemanja overview spacing on wide desktop layouts. */
@media(min-width:1101px) {
  .svl-page .svl-overview {
    padding-bottom:calc(clamp(74px,6.8vw,104px) + 40px)
  }
}

@media (max-width:1024px) and (orientation:portrait), (max-width:820px) and (orientation:landscape), (max-width:1366px) and (max-height:820px) and (orientation:landscape) and (hover:none) and (pointer:coarse) {
  :is(.nbg-page .nbg-variant-summary,.shp-page .shp-variant-summary) {
    flex-direction:column;
    align-items:stretch
  }
}

@media (max-width:1024px) and (orientation:portrait), (max-width:820px) and (orientation:landscape), (max-width:1366px) and (max-height:820px) and (orientation:landscape) and (hover:none) and (pointer:coarse) {

  :is(.nbg-page .nbg-overview,.shp-page .shp-overview,.svl-page .svl-overview) {
    padding-top:70px;
    padding-bottom:70px
  }

  :is(.nbg-page .nbg-overview__intro h2,.shp-page .shp-overview__intro h2,.svl-page .svl-overview__intro h2) {
    font-family:var(--serif);
    font-size:clamp(36px,10.2vw,41px);
    font-weight:400;
    line-height:1;
    letter-spacing:-.045em
  }

  :is(.nbg-page .nbg-overview__intro-copy>p:first-child,.shp-page .shp-overview__intro-copy>p:first-child,.svl-page .svl-overview__intro-copy>p:first-child),
  :is(.nbg-page .nbg-description__copy p,.shp-page .shp-description__copy p,.svl-page .svl-description__copy p),
  :is(.nbg-page .nbg-section__head>p:last-child,.shp-page .shp-section__head>p:last-child,.svl-page .svl-section__head>p:last-child),
  :is(.nbg-page .nbg-floorplan__copy p,.shp-page .shp-floorplan__copy p),
  :is(.nbg-page .nbg-service-card>p,.shp-page .shp-service-card>p,.svl-page .svl-service-card>p),
  :is(.nbg-page .nbg-contact__reservation p,.shp-page .shp-contact__reservation p,.svl-page .svl-contact__reservation p) {
    line-height:1.65
  }
}

@media(max-width:560px) {
  :is(.nbg-page .nbg-variant-summary,.shp-page .shp-variant-summary) {
    padding:26px 22px
  }
}

@media (min-width:1025px) and (max-width:1100px) and (hover:hover) and (pointer:fine), (min-width:821px) and (max-width:1024px) and (orientation:landscape) and (hover:hover) and (pointer:fine), (min-width:821px) and (max-width:1366px) and (min-height:821px) and (max-height:1024px) and (orientation:landscape) and (hover:none) and (pointer:coarse) {
  :is(.nbg-page .nbg-description__copy,.shp-page .shp-description__copy,.svl-page .svl-description__copy) {
    top:0;
    left:0
  }
}

/* Shared mobile premium scale for the three house profiles. */
@media (max-width:1024px) and (orientation:portrait), (max-width:820px) and (orientation:landscape), (max-width:1366px) and (max-height:820px) and (orientation:landscape) and (hover:none) and (pointer:coarse) {
  /* Identical mobile hero composition across all three house profiles. */
  :is(.nbg-page .nbg-hero,.shp-page .shp-hero,.svl-page .svl-hero) {
    height:940px;
    min-height:940px
  }

  :is(.nbg-page .nbg-hero__shell,.shp-page .shp-hero__shell,.svl-page .svl-hero__shell) {
    padding:clamp(150px,calc(40svh - 150px),188px) 0 125.5px
  }

  :is(.nbg-page .nbg-hero__glass,.shp-page .shp-hero__glass,.svl-page .svl-hero__glass) {
    display:flex;
    flex-direction:column;
    width:100%;
    height:395px;
    padding:25px 21px 27px
  }

  :is(body.nbg-page .nbg-kicker,body.shp-page .shp-kicker,body.svl-page .svl-kicker) {
    flex:0 0 12px;
    height:12px;
    margin-bottom:25px;
    font-size:6.5px;
    letter-spacing:.12em;
    white-space:nowrap
  }

  :is(body.nbg-page .nbg-hero h1,body.shp-page .shp-hero h1,body.svl-page .svl-hero h1) {
    flex:0 0 136px;
    min-height:136px;
    font-size:46px;
    line-height:.92
  }

  :is(.nbg-page .nbg-hero__lead,.shp-page .shp-hero__lead,.svl-page .svl-hero__lead) {
    flex:0 0 150px;
    min-height:150px;
    margin-top:17px;
    font-size:12.5px;
    line-height:1.65
  }

  :is(.nbg-page .nbg-hero__actions,.shp-page .shp-hero__actions,.svl-page .svl-hero__actions) {
    display:none
  }

  :is(.nbg-page .nbg-hero__facts,.shp-page .shp-hero__facts,.svl-page .svl-hero__facts) {
    height:187px;
    margin-top:10px
  }

  :is(body.nbg-page .nbg-hero__facts span,body.shp-page .shp-hero__facts span,body.svl-page .svl-hero__facts span) {
    min-height:62px;
    padding:7px 12px
  }

  :is(body.nbg-page .nbg-hero__facts span:last-child,body.shp-page .shp-hero__facts span:last-child,body.svl-page .svl-hero__facts span:last-child) {
    grid-column:1/-1;
    border-right:0
  }

  :is(.nbg-page .nbg-section,.shp-page .shp-section,.svl-page .svl-section),
  :is(.nbg-page .nbg-overview,.shp-page .shp-overview,.svl-page .svl-overview) {
    padding-top:52px;
    padding-bottom:48px
  }

  :is(body.nbg-page .nbg-contact,body.shp-page .shp-contact,body.svl-page .svl-contact) {
    padding-bottom:70px
  }

  :is(.nbg-page .project-chapter-photo,.shp-page .project-chapter-photo,.svl-page .project-chapter-photo) {
    height:clamp(175px,52vw,205px);
    margin-bottom:22px
  }

  :is(body.nbg-page .nbg-section h2,body.shp-page .shp-section h2,body.svl-page .svl-section h2),
  :is(.nbg-page .nbg-overview__intro h2,.shp-page .shp-overview__intro h2,.svl-page .svl-overview__intro h2) {
    font-size:clamp(30px,8.6vw,34px);
    line-height:1.04;
    overflow-wrap:normal;
    word-break:normal
  }

  :is(.nbg-page .nbg-overview__intro,.shp-page .shp-overview__intro,.svl-page .svl-overview__intro),
  :is(.nbg-page .nbg-description__layout,.shp-page .shp-description__layout,.svl-page .svl-description__layout),
  :is(.nbg-page .nbg-services__intro,.shp-page .shp-services__intro,.svl-page .svl-services__intro),
  :is(.nbg-page .nbg-contact__grid,.shp-page .shp-contact__grid,.svl-page .svl-contact__grid),
  :is(.nbg-page .nbg-variants .nbg-section__head,.shp-page .shp-variants .shp-section__head,.svl-page .svl-turnkey .svl-section__head) {
    gap:24px
  }

  :is(.nbg-page .nbg-overview__intro-copy>p:first-child,.shp-page .shp-overview__intro-copy>p:first-child,.svl-page .svl-overview__intro-copy>p:first-child),
  :is(.nbg-page .nbg-description__copy p,.shp-page .shp-description__copy p,.svl-page .svl-description__copy p),
  :is(.nbg-page .nbg-section__head>p:last-child,.shp-page .shp-section__head>p:last-child,.svl-page .svl-section__head>p:last-child),
  :is(.nbg-page .nbg-floorplan__copy p,.shp-page .shp-floorplan__copy p),
  :is(.nbg-page .nbg-services__intro>p,.shp-page .shp-services__intro>p,.svl-page .svl-services__intro>p),
  :is(.nbg-page .nbg-contact__copy>p,.shp-page .shp-contact__copy>p,.svl-page .svl-contact__copy>p) {
    font-size:13px;
    line-height:1.62
  }

  :is(.nbg-page .nbg-thesis,.shp-page .shp-thesis,.svl-page .svl-thesis) {
    margin-top:18px;
    padding:18px 20px;
    font-size:13px;
    line-height:1.6
  }

  :is(.nbg-page .nbg-overview__grid,.shp-page .shp-overview__grid,.svl-page .svl-overview__grid) {
    margin-top:30px
  }

  :is(.nbg-page .nbg-overview-card,.shp-page .shp-overview-card,.svl-page .svl-overview-card) {
    min-height:0;
    padding:20px
  }

  :is(.nbg-page .nbg-overview-card>span,.shp-page .shp-overview-card>span,.svl-page .svl-overview-card>span) {
    font-size:24px
  }

  :is(.nbg-page .nbg-overview-card h3,.shp-page .shp-overview-card h3,.svl-page .svl-overview-card h3) {
    margin:16px 0 9px;
    font-size:22px;
    line-height:1.08;
    transform:translateY(-15px)
  }

  :is(.nbg-page .nbg-overview-card p,.shp-page .shp-overview-card p,.svl-page .svl-overview-card p) {
    font-size:12.5px;
    line-height:1.58;
    transform:translateY(-15px)
  }

  :is(.nbg-page .nbg-price-band,.shp-page .shp-price-band,.svl-page .svl-price-band) {
    gap:22px;
    padding:22px 20px
  }

  :is(.nbg-page .nbg-price-band p,.shp-page .shp-price-band p,.svl-page .svl-price-band p) {
    font-size:12.5px;
    line-height:1.58
  }

  :is(.nbg-page .nbg-price-band strong,.shp-page .shp-price-band strong,.svl-page .svl-price-band strong) {
    font-size:30px
  }

  :is(.nbg-page .nbg-description__image,.shp-page .shp-description__image,.svl-page .svl-description__image) {
    display:none
  }

  /* Pool house only: keep the floor-plan image and hide its redundant chapter photo on mobile. */
  body.shp-page .shp-floorplan>.project-chapter-photo {
    display:none
  }

  :is(.nbg-page .nbg-option-pills,.shp-page .shp-option-pills,.svl-page .svl-option-pills) {
    gap:7px;
    margin:20px 0
  }

  :is(.nbg-page .nbg-option-pills span,.shp-page .shp-option-pills span,.svl-page .svl-option-pills span) {
    padding:8px 10px;
    font-size:7.5px
  }

  :is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) {
    margin-top:30px
  }

  :is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs)::before {
    top:-20px
  }

  :is(.nbg-page .nbg-variant-tabs button,.shp-page .shp-variant-tabs button) {
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:11px;
    min-height:84px;
    padding:13px 15px
  }

  :is(.nbg-page .nbg-variant-tabs button>span:not(.house-variant-choice),.shp-page .shp-variant-tabs button>span:not(.house-variant-choice)) {
    font-size:21px
  }

  :is(.nbg-page .nbg-variant-tabs button strong,.shp-page .shp-variant-tabs button strong) {
    grid-column:auto;
    font-size:18px;
    white-space:nowrap
  }

  :is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) .house-variant-choice {
    transform:none
  }

  :is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) .house-variant-choice b {
    font-size:16px
  }

  :is(.nbg-page .nbg-variant-tabs,.shp-page .shp-variant-tabs) .house-variant-choice em {
    margin-top:4px;
    font-size:7px
  }

  :is(.nbg-page .nbg-spec-columns,.shp-page .shp-spec-columns,.svl-page .svl-spec-columns) {
    gap:12px;
    margin-top:30px
  }

  :is(.nbg-page .nbg-variant-panel .nbg-spec-columns,.shp-page .shp-variant-panel .shp-spec-columns) {
    margin-top:0
  }

  :is(.nbg-page .nbg-spec-card,.shp-page .shp-spec-card,.svl-page .svl-spec-card) {
    padding:20px
  }

  :is(.nbg-page .nbg-spec-card__head,.shp-page .shp-spec-card__head,.svl-page .svl-spec-card__head) {
    gap:14px;
    padding-bottom:15px;
    justify-content:flex-start
  }

  :is(.nbg-page .nbg-spec-card__head h3,.shp-page .shp-spec-card__head h3,.svl-page .svl-spec-card__head h3) {
    flex:1;
    text-align:left
  }

  :is(.nbg-page .nbg-spec-card__head span,.shp-page .shp-spec-card__head span,.svl-page .svl-spec-card__head span) {
    font-size:25px
  }

  :is(.nbg-page .nbg-spec-card h3,.shp-page .shp-spec-card h3,.svl-page .svl-spec-card h3) {
    font-size:25px;
    line-height:1.08
  }

  :is(.nbg-page .nbg-check-list,.shp-page .shp-check-list,.svl-page .svl-check-list) {
    margin-top:16px
  }

  :is(.nbg-page .nbg-check-list li,.shp-page .shp-check-list li,.svl-page .svl-check-list li) {
    padding-top:7px;
    padding-bottom:7px;
    font-size:11.5px;
    line-height:1.52
  }

  :is(.nbg-page .nbg-check-list li::before,.shp-page .shp-check-list li::before,.svl-page .svl-check-list li::before) {
    top:15px
  }

  :is(.nbg-page .nbg-variant-summary,.shp-page .shp-variant-summary) {
    gap:18px;
    margin-top:14px;
    padding:20px
  }

  :is(.nbg-page .nbg-variant-summary strong,.shp-page .shp-variant-summary strong) {
    font-size:26px
  }

  body.svl-page .svl-turnkey__foot p {
    color:rgba(23,19,15,.62)
  }

  :is(.nbg-page .nbg-floorplan__layout,.shp-page .shp-floorplan__layout) {
    gap:28px
  }

  :is(.nbg-page .nbg-floorplan__figure,.shp-page .shp-floorplan__figure) {
    padding:8px
  }

  :is(.nbg-page .nbg-floorplan__copy h2,.shp-page .shp-floorplan__copy h2) {
    margin-bottom:16px
  }

  :is(.nbg-page .nbg-floorplan__facts,.shp-page .shp-floorplan__facts) {
    margin:20px 0
  }

  :is(.nbg-page .nbg-floorplan__facts span,.shp-page .shp-floorplan__facts span) {
    gap:13px;
    padding:10px 12px;
    font-size:10.5px
  }

  /* Bungalow only: move the mobile floor-plan descriptions 120px right. */
  body.nbg-page .nbg-floorplan__facts span {
    grid-template-columns:176px 1fr
  }

  /* Pool house only: move the mobile floor-plan descriptions 60px right. */
  body.shp-page .shp-floorplan__facts span {
    grid-template-columns:116px 1fr
  }

  /* English bungalow only: keep the two-line technical-room label inside its plan cell. */
  html[lang="en"] body.nbg-page .nbg-plan__utility {
    padding:8px 10px
  }

  html[lang="en"] body.nbg-page .nbg-plan__utility strong {
    font-size:14px;
    line-height:1.05
  }

  html[lang="en"] body.nbg-page .nbg-plan__utility>div {
    transform:translateY(-5px)
  }

  :is(.nbg-page .nbg-floorplan__facts strong,.shp-page .shp-floorplan__facts strong) {
    font-size:18px
  }

  :is(.nbg-page .nbg-upgrade-grid,.shp-page .shp-upgrade-grid,.svl-page .svl-upgrade-grid) {
    gap:12px;
    margin-top:30px
  }

  :is(.nbg-page .nbg-upgrade-card,.shp-page .shp-upgrade-card,.svl-page .svl-upgrade-card) {
    padding:20px
  }

  :is(.nbg-page .nbg-upgrade-card h3,.shp-page .shp-upgrade-card h3,.svl-page .svl-upgrade-card h3) {
    margin-bottom:15px;
    font-size:24px
  }

  :is(.nbg-page .nbg-upgrade-list li,.shp-page .shp-upgrade-list li,.svl-page .svl-upgrade-list li) {
    gap:14px;
    padding:10px 0;
    font-size:11px;
    line-height:1.48
  }

  :is(.nbg-page .nbg-upgrade-note,.shp-page .shp-upgrade-note,.svl-page .svl-upgrade-note) {
    margin-top:18px;
    font-size:8.5px!important;
    line-height:1.58!important
  }

  :is(.nbg-page .nbg-cta-strip,.shp-page .shp-cta-strip,.svl-page .svl-cta-strip) {
    padding:32px 0
  }

  :is(.nbg-page .nbg-cta-strip__inner,.shp-page .shp-cta-strip__inner,.svl-page .svl-cta-strip__inner) {
    gap:24px
  }

  :is(.nbg-page .nbg-cta-strip h2,.shp-page .shp-cta-strip h2,.svl-page .svl-cta-strip h2) {
    font-size:30px;
    line-height:1.04
  }

  :is(.nbg-page .nbg-cta-strip p,.shp-page .shp-cta-strip p,.svl-page .svl-cta-strip p) {
    font-size:13px;
    line-height:1.6
  }

  :is(.nbg-page .nbg-services__cards,.shp-page .shp-services__cards,.svl-page .svl-services__cards) {
    gap:12px;
    margin-top:30px
  }

  :is(.nbg-page .nbg-service-card,.shp-page .shp-service-card,.svl-page .svl-service-card) {
    padding:20px
  }

  :is(.nbg-page .nbg-service-card>span,.shp-page .shp-service-card>span,.svl-page .svl-service-card>span) {
    font-size:23px
  }

  :is(.nbg-page .nbg-service-card h3,.shp-page .shp-service-card h3,.svl-page .svl-service-card h3) {
    margin:16px 0 10px;
    font-size:24px;
    line-height:1.08;
    transform:translateY(-10px)
  }

  :is(.nbg-page .nbg-service-card>p,.shp-page .shp-service-card>p,.svl-page .svl-service-card>p) {
    font-size:12.5px;
    line-height:1.58;
    transform:translateY(-10px)
  }

  :is(.nbg-page .nbg-service-card ul,.shp-page .shp-service-card ul,.svl-page .svl-service-card ul) {
    margin-top:16px;
    transform:translateY(-10px)
  }

  :is(.nbg-page .nbg-service-card li,.shp-page .shp-service-card li,.svl-page .svl-service-card li) {
    padding:8px 0;
    font-size:11.5px;
    line-height:1.5
  }

  :is(.nbg-page .nbg-rental-link,.shp-page .shp-rental-link,.svl-page .svl-rental-link) {
    gap:18px;
    margin-top:12px;
    padding:19px 20px
  }

  :is(.nbg-page .nbg-rental-link .nbg-eyebrow,.shp-page .shp-rental-link .shp-eyebrow,.svl-page .svl-rental-link .svl-eyebrow) {
    font-size:8px;
    transform:translateY(-13px)
  }

  :is(.nbg-page .nbg-rental-link h3,.shp-page .shp-rental-link h3,.svl-page .svl-rental-link h3) {
    font-size:21px;
    transform:translateY(-10px)
  }

  :is(.nbg-page .nbg-strength-grid,.shp-page .shp-strength-grid,.svl-page .svl-strength-grid) {
    margin-top:30px
  }

  :is(.nbg-page .nbg-strength-card,.shp-page .shp-strength-card,.svl-page .svl-strength-card) {
    padding:20px
  }

  :is(.nbg-page .nbg-strength-card span,.shp-page .shp-strength-card span,.svl-page .svl-strength-card span) {
    font-size:23px
  }

  :is(.nbg-page .nbg-strength-card h3,.shp-page .shp-strength-card h3,.svl-page .svl-strength-card h3) {
    margin:15px 0 8px;
    font-size:22px;
    transform:translateY(-15px)
  }

  :is(.nbg-page .nbg-strength-card p,.shp-page .shp-strength-card p,.svl-page .svl-strength-card p) {
    font-size:12.5px;
    line-height:1.58;
    transform:translateY(-15px)
  }

  :is(.nbg-page .nbg-contact__actions,.shp-page .shp-contact__actions,.svl-page .svl-contact__actions) {
    gap:10px;
    margin-top:24px
  }

  :is(.nbg-page .nbg-contact__reservation,.shp-page .shp-contact__reservation,.svl-page .svl-contact__reservation) {
    padding:20px
  }

  :is(.nbg-page .nbg-contact__reservation h3,.shp-page .shp-contact__reservation h3,.svl-page .svl-contact__reservation h3) {
    font-size:26px;
    line-height:1.08;
    transform:translateY(-10px)
  }

  :is(body.nbg-page .nbg-contact__reservation>.nbg-eyebrow,
      body.shp-page .shp-contact__reservation>.shp-eyebrow,
      body.svl-page .svl-contact__reservation>.svl-eyebrow) {
    font-size:10px
  }

  :is(.nbg-page .nbg-contact__reservation p,.shp-page .shp-contact__reservation p,.svl-page .svl-contact__reservation p) {
    font-size:12.5px;
    line-height:1.58
  }

  :is(.nbg-page .nbg-reservation-facts,.shp-page .shp-reservation-facts,.svl-page .svl-reservation-facts) {
    margin:18px 0
  }

  :is(.nbg-page .nbg-reservation-facts span,.shp-page .shp-reservation-facts span,.svl-page .svl-reservation-facts span) {
    padding:13px
  }

  :is(.nbg-page .nbg-reservation-facts strong,.shp-page .shp-reservation-facts strong,.svl-page .svl-reservation-facts strong) {
    font-size:19px
  }

  :is(.nbg-page .nbg-disclaimer,.shp-page .shp-disclaimer,.svl-page .svl-disclaimer) {
    margin-top:20px;
    padding-top:15px;
    font-size:8px!important;
    line-height:1.55!important
  }
}

@media(max-width:350px) {
  :is(.nbg-page .nbg-hero,.shp-page .shp-hero,.svl-page .svl-hero) {
    height:950px;
    min-height:950px
  }

  :is(.nbg-page .nbg-hero__glass,.shp-page .shp-hero__glass,.svl-page .svl-hero__glass) {
    height:537px
  }

  :is(.nbg-page .nbg-hero__lead,.shp-page .shp-hero__lead,.svl-page .svl-hero__lead) {
    flex-basis:160px;
    min-height:160px
  }
}
