/* VCN adapts the existing layout; all overrides stay scoped to these pages. */
.vcn {
  --vcn-scale: 1;
  --vcn-blue: #003a64;
  --vcn-green: #e7f7e7;
  --vcn-lavender: #8f8dcb;
  --vcn-gutter: clamp(calc(24px * var(--vcn-scale)), 6.25vw, calc(120px * var(--vcn-scale)));
  color: var(--vcn-blue);
  background: #fff;
  font-family: Inter, Arial, sans-serif;
  width: 100%;
  max-width: none;
  line-height: 1.4;
  isolation: isolate;
}

.vcn *, .vcn *::before, .vcn *::after { box-sizing: border-box; }
.vcn p { color: var(--vcn-blue); }
.vcn a { color: inherit; }
.vcn button, .vcn input, .vcn textarea, .vcn select { font: inherit; }
.vcn :focus-visible { outline: calc(3px * var(--vcn-scale)) solid var(--vcn-lavender); outline-offset: calc(5px * var(--vcn-scale)); }
.vcn .skip-link { position: fixed; top: calc(-100px * var(--vcn-scale)); left: calc(16px * var(--vcn-scale)); z-index: 500; padding: calc(12px * var(--vcn-scale)) calc(18px * var(--vcn-scale)); background: #fff; font-size: calc(16px * var(--vcn-scale)); }
.vcn .skip-link:focus { top: calc(12px * var(--vcn-scale)); }
.vcn #main-content { position: relative; }
.vcn #main-content:focus { outline: none; }
.vcn #main-content::before {
  content: ""; position: absolute; z-index: -1; top: 0; left: 0;
  width: 100%; height: clamp(calc(350px * var(--vcn-scale)), 34.59vw, calc(664px * var(--vcn-scale))); background: var(--vcn-blue);
}
.vcn .container-content-wrapper { display: block; max-width: calc(1920px * var(--vcn-scale)); margin: 0 auto; background: #fff; }
.vcn .container-content { width: calc(100% - 2 * var(--vcn-gutter)); padding: 0; margin: 0 auto; }
.vcn .project-full-width-padding { padding-bottom: 0; }
.vcn .main-block-txt { color: var(--vcn-blue); font-family: Inter, Arial, sans-serif; font-size: clamp(calc(18px * var(--vcn-scale)), 1.88vw, calc(36px * var(--vcn-scale))); line-height: 1.34; }
.vcn .main-block-txt p, .vcn .phrases p, .vcn .external-btn { color: var(--vcn-blue); font-family: Inter, Arial, sans-serif; }
.vcn .line { background-color: var(--vcn-blue); }
.vcn .main-block-txt h2 { font-size: clamp(calc(18px * var(--vcn-scale)), 1.256vw, calc(24px * var(--vcn-scale))); line-height: 1.4; font-weight: 600; text-transform: uppercase; margin: 0 0 calc(20px * var(--vcn-scale)); }
.vcn p span.oval { border: 0; border-radius: 0; padding: 0; }
.vcn .main-block-img-left p, .vcn .main-block-img-right p, .vcn .overlay-phrase p { font-family: Urbanist, Arial, sans-serif; color: var(--vcn-blue); }
.vcn .main-block-img-right p { white-space: normal; }

/* Existing fixed header and mobile-menu structure. */
.vcn header { top: 0; left: 0; right: 0; margin: 0; width: 100%; background: var(--vcn-blue); }
.vcn header .header-content { max-width: calc(1680px * var(--vcn-scale)); width: calc(100% - 2 * var(--vcn-gutter)); padding: calc((clamp(calc(22px * var(--vcn-scale)), 2.7vw, calc(52px * var(--vcn-scale))) + calc(24px * var(--vcn-scale))) / 2) 0; align-items: center; gap: calc(24px * var(--vcn-scale)); transition: padding 200ms ease; }
.vcn header.is-compact .header-content { padding-top: calc(12px * var(--vcn-scale)); padding-bottom: calc(12px * var(--vcn-scale)); }
.vcn .logo { width: auto; margin: 0; flex-shrink: 0; }
.vcn .vcn-wordmark { display: block; font-family: Urbanist, Arial, sans-serif; color: #fff; font-size: clamp(calc(26px * var(--vcn-scale)), 2.088vw, calc(40px * var(--vcn-scale))); line-height: 1.38; white-space: nowrap; text-decoration: none; font-weight: 400; }
.vcn .vcn-wordmark strong { font-weight: 600; }
.vcn nav ul { align-items: center; gap: clamp(calc(20px * var(--vcn-scale)), 3.125vw, calc(60px * var(--vcn-scale))); font-size: clamp(calc(14px * var(--vcn-scale)), 1.0424vw, calc(20px * var(--vcn-scale))); line-height: 1.2; }
.vcn nav ul li { margin: 0; }
.vcn nav ul li a { color: #fff; font: 400 clamp(calc(14px * var(--vcn-scale)), 1.0424vw, calc(20px * var(--vcn-scale)))/1.2 Inter, Arial, sans-serif; }
.vcn header nav a[data-label] { display: inline-block; }
.vcn header nav a[data-label]::before {
  /* Reserve the width of the bold label on every page. */
  content: attr(data-label);
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  font-weight: 700;
}
.vcn nav ul li a.active { color: var(--vcn-green); font-weight: 700; text-decoration: none; }
.vcn nav ul li a:hover { text-decoration: underline; text-underline-offset: calc(5px * var(--vcn-scale)); }
.vcn .hamburger-menu { display: none; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; line-height: 0; }
.vcn .mobile-menu { display: block; inset: 0; width: 100%; height: 100dvh; max-height: none; padding: calc(88px * var(--vcn-scale)) calc(24px * var(--vcn-scale)) calc(40px * var(--vcn-scale)); margin: 0; background: var(--vcn-blue); z-index: 400; overflow-y: auto; }
.vcn .mobile-menu[hidden] { display: none !important; }
.vcn .mobile-menu .vcn-wordmark { font-size: clamp(calc(25px * var(--vcn-scale)), 3.2vw, calc(32px * var(--vcn-scale))); margin-bottom: calc(44px * var(--vcn-scale)); }
.vcn .mobile-menu .popup-content { width: 100%; padding: 0; }
.vcn .mobile-menu .popup-menu { width: 100%; }
.vcn .mobile-menu .phrases { display: flex; flex-direction: row; width: 100%; justify-content: space-between; align-items: center; padding: calc(16px * var(--vcn-scale)) 0; border-top: calc(1px * var(--vcn-scale)) solid #ffffff70; text-decoration: none; }
.vcn .mobile-menu .phrases p, .vcn .mobile-menu .phrases span { color: #fff; font: 400 calc(28px * var(--vcn-scale))/1.35 Inter, Arial, sans-serif; margin: 0; padding: 0; }
.vcn .mobile-menu .phrases.active p { color: var(--vcn-green); font-weight: 700; }
.vcn .mobile-menu .close-icon { position: absolute; top: calc(24px * var(--vcn-scale)); right: calc(24px * var(--vcn-scale)); width: calc(36px * var(--vcn-scale)); height: calc(36px * var(--vcn-scale)); padding: calc(6px * var(--vcn-scale)); border: 0; background: transparent; cursor: pointer; }
.vcn .mobile-menu .close-icon img { width: calc(24px * var(--vcn-scale)); height: calc(24px * var(--vcn-scale)); filter: brightness(0) invert(1); }
.vcn.menu-open { overflow: hidden; }

/* Home: the existing hero media pattern forms the inset Figma composition. */
.vcn .vcn-hero { --vcn-hero-top: clamp(calc(126px * var(--vcn-scale)), 8.91vw, calc(171px * var(--vcn-scale))); display: block; max-width: calc(1920px * var(--vcn-scale)); margin: 0 auto; height: auto; min-height: 0; padding: var(--vcn-hero-top) 0 0; background: none; isolation: isolate; }
.vcn .vcn-hero .hero-banner { --vcn-hero-frame: clamp(calc(18px * var(--vcn-scale)), 2.083vw, calc(40px * var(--vcn-scale))); width: calc(100% - 2 * var(--vcn-gutter)); margin: 0 auto; padding: var(--vcn-hero-frame); background: var(--vcn-green); }
.vcn .vcn-hero-primary { display: flex; flex-direction: column; height: calc(100svh - var(--vcn-hero-top) - 2 * var(--vcn-hero-frame)); }
.vcn .vcn-hero-primary > h1 { flex-shrink: 0; }
.vcn .vcn-hero-media { position: relative; flex: 1; min-height: 0; width: 100%; margin: 0; overflow: hidden; background: var(--vcn-green); }
.vcn .vcn-hero-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.vcn .vcn-hero .hero-content { display: block; }
.vcn .vcn-hero h1 { margin: clamp(calc(20px * var(--vcn-scale)), 1.56vw, calc(30px * var(--vcn-scale))) 0 0; font: 400 clamp(calc(42px * var(--vcn-scale)), 5vw, calc(96px * var(--vcn-scale)))/1.05 Urbanist, Arial, sans-serif; letter-spacing: -.025em; }
.vcn .vcn-hero h1 strong { font-weight: 600; }
.vcn .vcn-hero .hero-content p { display: block; margin: clamp(calc(28px * var(--vcn-scale)), 4.16vw, calc(80px * var(--vcn-scale))) 0 0; color: var(--vcn-blue); font: 400 clamp(calc(22px * var(--vcn-scale)), 2.5vw, calc(48px * var(--vcn-scale)))/1.15 Inter, Arial, sans-serif; text-transform: none; text-shadow: none; }
.vcn-home .container-content-wrapper { padding-top: clamp(calc(48px * var(--vcn-scale)), 5vw, calc(96px * var(--vcn-scale))); }

/* Inner-page shell reuses the two-column hero from Projekt. */
.vcn .vcn-page-hero { position: relative; gap: clamp(calc(18px * var(--vcn-scale)), 1.56vw, calc(30px * var(--vcn-scale))); padding: clamp(calc(18px * var(--vcn-scale)), 1.56vw, calc(30px * var(--vcn-scale))); background: var(--vcn-green); margin: 0 0 clamp(calc(50px * var(--vcn-scale)), 8.33vw, calc(160px * var(--vcn-scale))); align-items: stretch; }
.vcn-page .container-content-wrapper, .vcn-contact .container-content-wrapper { padding-top: clamp(calc(126px * var(--vcn-scale)), 9.43vw, calc(181px * var(--vcn-scale))); background: transparent; }
.vcn .vcn-page-hero .left-column { flex: 1.02; padding: 0; background: transparent; }
.vcn .vcn-page-hero .top-text { margin: 0; padding: 0; color: var(--vcn-blue); font: 500 clamp(calc(42px * var(--vcn-scale)), 5vw, calc(96px * var(--vcn-scale)))/1 Urbanist, Arial, sans-serif; text-transform: none; letter-spacing: -.02em; }
.vcn .vcn-page-hero .bottom-text { margin: calc(20px * var(--vcn-scale)) 0 0; text-align: left; font: 400 clamp(calc(20px * var(--vcn-scale)), 1.88vw, calc(36px * var(--vcn-scale)))/1.25 Inter, Arial, sans-serif; color: var(--vcn-blue); }
.vcn .vcn-page-hero .right-column { flex: 1; min-width: 0; }
.vcn .vcn-page-hero .right-column img { display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: 786 / 683; object-fit: cover; }
.vcn .vcn-shell-intro { max-width: calc(1500px * var(--vcn-scale)); margin: 0 0 clamp(calc(80px * var(--vcn-scale)), 10vw, calc(180px * var(--vcn-scale))); }
.vcn .vcn-shell-intro .external-btn { display: inline-flex; align-items: center; gap: calc(24px * var(--vcn-scale)); border-bottom: calc(1px * var(--vcn-scale)) solid currentColor; font-size: clamp(calc(18px * var(--vcn-scale)), 1.256vw, calc(24px * var(--vcn-scale))); margin-top: calc(35px * var(--vcn-scale)); padding: calc(10px * var(--vcn-scale)) 0; text-transform: uppercase; text-decoration: none; }

/* Keep the single fixed CTA aligned with the centered 1920px content. */
.vcn .cta-wolke-link { position: fixed; top: clamp(calc(108px * var(--vcn-scale)), 7.09vw, calc(136px * var(--vcn-scale))); right: calc(max(0px, 50% - calc(960px * var(--vcn-scale))) + clamp(calc(12px * var(--vcn-scale)), 1.04vw, calc(20px * var(--vcn-scale)))); transform: none; width: clamp(calc(120px * var(--vcn-scale)), 11.72vw, calc(225px * var(--vcn-scale))); height: auto; aspect-ratio: 1; background: var(--vcn-lavender); z-index: 210; }
.vcn .cta-wolke-link span { color: #fff; font: 400 clamp(calc(16px * var(--vcn-scale)), 1.248vw, calc(24px * var(--vcn-scale)))/1.2 Inter, Arial, sans-serif; }
.vcn.menu-open .cta-wolke-link, .vcn .cta-wolke-link.at-contact-form { visibility: hidden; }

/* Existing footer container, with a typographic wordmark and legal routes. */
.vcn footer { width: 100%; left: auto; right: auto; margin: 0; background: var(--vcn-blue); }
.vcn footer .footer-content-wrapper { width: calc(100% - 2 * var(--vcn-gutter)); max-width: calc(1680px * var(--vcn-scale)); padding: clamp(calc(40px * var(--vcn-scale)), 6.25vw, calc(120px * var(--vcn-scale))) 0 clamp(calc(28px * var(--vcn-scale)), 4.16vw, calc(80px * var(--vcn-scale))); margin: 0 auto; }
.vcn .footer-wordmark { font-size: clamp(calc(38px * var(--vcn-scale)), 6.48vw, calc(124px * var(--vcn-scale))); line-height: 1.2; margin: 0 0 clamp(calc(30px * var(--vcn-scale)), 3vw, calc(58px * var(--vcn-scale))); text-align: left; }
.vcn .footer-content { display: block; }
.vcn .footer-links {
  flex-direction: row;
  align-items: center;
  gap: calc(28px * var(--vcn-scale));
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, .35);
  padding-top: calc(24px * var(--vcn-scale));
}
.vcn .footer-link, .vcn .footer-copyright { font: 400 clamp(calc(12px * var(--vcn-scale)), 1.04vw, calc(20px * var(--vcn-scale)))/1.4 Inter, Arial, sans-serif; color: #fff; margin: 0; }
.vcn .footer-link { text-transform: uppercase; }
.vcn .footer-link:last-child { position: static; transform: none; margin-left: auto; }

/* Shared form rendering; the contact endpoint and delivery states are isolated below. */
.vcn #form { scroll-margin-top: calc(var(--vcn-header-height, calc(120px * var(--vcn-scale))) + calc(20px * var(--vcn-scale))); background: var(--vcn-green); }
.vcn .form-wrap .left-column, .vcn .form-wrap .right-column { background: transparent; }
.vcn .form-wrap .form-title, .vcn .form-wrap .left-text, .vcn .form-wrap .right-text, .vcn .form-wrap .form-row label, .vcn .form-wrap .form-row input, .vcn .form-wrap .form-row textarea, .vcn .form-wrap .form-row select { color: var(--vcn-blue); font-family: Inter, Arial, sans-serif; }
.vcn .form-wrap .form-row { border-color: var(--vcn-blue); }
.vcn .contact-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.vcn .contact-form .send-button { color: var(--vcn-blue); opacity: .6; cursor: not-allowed; }
.vcn .contact-preview-note { font: 400 calc(16px * var(--vcn-scale))/1.5 Inter, Arial, sans-serif; margin: calc(24px * var(--vcn-scale)) 0; }

@media (max-width: 1070px) and (min-width: 960px) {
  .vcn header .header-content { gap: calc(18px * var(--vcn-scale)); }
  .vcn .logo .vcn-wordmark { font-size: calc(24px * var(--vcn-scale)); }
  .vcn nav ul { gap: calc(18px * var(--vcn-scale)); }
  .vcn nav ul li a { font-size: calc(13px * var(--vcn-scale)); }
}

@media (max-width: 959px) {
  .vcn { --vcn-gutter: calc(16px * var(--vcn-scale)); }
  .vcn header .header-content { padding: calc(20px * var(--vcn-scale)) 0; gap: calc(12px * var(--vcn-scale)); }
  .vcn header.is-compact .header-content { padding-top: calc(10px * var(--vcn-scale)); padding-bottom: calc(10px * var(--vcn-scale)); }
  .vcn header nav { display: none; }
  .vcn .logo { width: auto; min-width: 0; }
  .vcn .logo .vcn-wordmark { font-size: clamp(calc(22px * var(--vcn-scale)), 2.8vw, calc(25.6px * var(--vcn-scale))); }
  .vcn .hamburger-menu { display: block; flex-shrink: 0; }
  .vcn .hamburger-menu svg { width: calc(28px * var(--vcn-scale)); height: calc(28px * var(--vcn-scale)); }
  .vcn .mobile-menu nav { display: block; }
  .vcn .vcn-hero { --vcn-hero-top: calc(104px * var(--vcn-scale)); }
  .vcn .vcn-hero .hero-banner { --vcn-hero-frame: calc(16px * var(--vcn-scale)); }
  .vcn .vcn-hero h1 { font-size: clamp(calc(38px * var(--vcn-scale)), 5.6vw, calc(51.2px * var(--vcn-scale))); }
  .vcn .vcn-hero .hero-content p { font-size: clamp(calc(20px * var(--vcn-scale)), 2.56vw, calc(24px * var(--vcn-scale))); margin-top: calc(28px * var(--vcn-scale)); }
  .vcn-page .container-content-wrapper, .vcn-contact .container-content-wrapper { padding-top: calc(104px * var(--vcn-scale)); }
  .vcn .vcn-page-hero { display: flex; gap: calc(26px * var(--vcn-scale)); padding: calc(20px * var(--vcn-scale)); }
  .vcn .vcn-page-hero .top-text { font-size: clamp(calc(34px * var(--vcn-scale)), 5vw, calc(48px * var(--vcn-scale))); }
  .vcn .vcn-page-hero .bottom-text { font-size: calc(20px * var(--vcn-scale)); margin-top: calc(24px * var(--vcn-scale)); }
  .vcn .cta-wolke-link { top: calc(90px * var(--vcn-scale)); width: calc(120px * var(--vcn-scale)); right: calc(8px * var(--vcn-scale)); transform: none; }
  .vcn .cta-wolke-link span { font-size: calc(16px * var(--vcn-scale)); }
  .vcn .footer-wordmark { white-space: normal; font-size: clamp(calc(38px * var(--vcn-scale)), 6.4vw, calc(56px * var(--vcn-scale))); }
  .vcn #form { scroll-margin-top: calc(var(--vcn-header-height, calc(70px * var(--vcn-scale))) + calc(20px * var(--vcn-scale))); }
}

@media (max-width: 479px) {
  .vcn .vcn-page-hero { flex-direction: column; }
  .vcn .vcn-page-hero .right-column img { aspect-ratio: 4 / 3; }
  .vcn .cta-wolke-link { width: calc(96px * var(--vcn-scale)); }
  .vcn .cta-wolke-link span { font-size: calc(13px * var(--vcn-scale)); }
  .vcn .footer-links { gap: calc(16px * var(--vcn-scale)); flex-wrap: wrap; }
  .vcn .footer-link, .vcn .footer-copyright { font-size: calc(11px * var(--vcn-scale)); }
  .vcn .main-block-txt { margin-top: calc(32px * var(--vcn-scale)); margin-bottom: calc(32px * var(--vcn-scale)); }
}

@media (prefers-reduced-motion: reduce) {
  .vcn *, .vcn *::before, .vcn *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}

/* Phase 2: adapt the existing editorial, list, card and form patterns in normal flow. */
.vcn-content-page {
  --vcn-section-gap: clamp(calc(64px * var(--vcn-scale)), 8.333vw, calc(160px * var(--vcn-scale)));
  --vcn-copy-size: clamp(max(16px, calc(18px * var(--vcn-scale))), 1.25vw, calc(24px * var(--vcn-scale)));
  --vcn-heading-size: clamp(calc(30px * var(--vcn-scale)), 2.5vw, calc(48px * var(--vcn-scale)));
}
.vcn-content-page .vcn-intro { margin: 0 0 var(--vcn-section-gap); }
.vcn-content-page .vcn-intro h2 { font-size: clamp(calc(14px * var(--vcn-scale)), 1.0424vw, calc(20px * var(--vcn-scale))); line-height: 1.8; margin: 0 0 calc(20px * var(--vcn-scale)); }
.vcn-content-page .vcn-intro p { margin: 0; font-size: clamp(max(18px, calc(22px * var(--vcn-scale))), 1.875vw, calc(36px * var(--vcn-scale))); line-height: 1.3334; }
.vcn-home.vcn-content-page .container-content-wrapper { padding-top: var(--vcn-section-gap); }
.vcn-home.vcn-content-page .vcn-intro h2 { font-size: clamp(calc(15px * var(--vcn-scale)), 1.25vw, calc(24px * var(--vcn-scale))); line-height: 1.5; }
.vcn-content-page .vcn-section-title { margin: 0; font: 500 var(--vcn-heading-size)/1.1667 Urbanist, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-body-copy, .vcn-content-page .vcn-copy-list { font: 400 var(--vcn-copy-size)/1.5 Inter, Arial, sans-serif; }
.vcn-content-page .vcn-eyebrow { margin: 0 0 calc(20px * var(--vcn-scale)); font: 600 clamp(calc(15px * var(--vcn-scale)), 1.25vw, calc(24px * var(--vcn-scale)))/1.5 Inter, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-editorial { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: calc(40px * var(--vcn-scale)) calc(20px * var(--vcn-scale)); margin: 0 0 calc(40px * var(--vcn-scale)); }
.vcn-content-page .vcn-editorial > h2 { grid-column: 1; grid-row: 1; align-self: end; text-align: right; }
.vcn-content-page .vcn-editorial-content { display: contents; }
.vcn-content-page .vcn-editorial-content > img { grid-column: 2; grid-row: 1; display: block; width: 100%; height: auto; aspect-ratio: 1104 / 708; object-fit: cover; }
.vcn-content-page .vcn-editorial-content > p { grid-column: 2; grid-row: 2; margin: 0; }
.vcn-content-page .vcn-campus-life { margin-bottom: var(--vcn-section-gap); }
.vcn-content-page .vcn-paired-images { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: calc(20px * var(--vcn-scale)); align-items: end; margin: 0 0 calc(40px * var(--vcn-scale)); }
.vcn-content-page .vcn-paired-images > h2 { max-width: calc(483px * var(--vcn-scale)); }
.vcn-content-page .vcn-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(20px * var(--vcn-scale)); }
.vcn-content-page .vcn-photo-pair img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.vcn-content-page .vcn-campus-life > p { margin: 0; width: 68.4%; }
.vcn-content-page .vcn-detail-row { display: grid; grid-template-columns: minmax(0, .97fr) minmax(0, 1fr); align-items: start; gap: 0; margin-bottom: var(--vcn-section-gap); }
.vcn-content-page .vcn-detail-row > h2 { max-width: calc(633px * var(--vcn-scale)); }
.vcn-content-page .vcn-copy-list { padding: 0 0 0 1.5em; margin: 0; }
.vcn-content-page .vcn-facts { padding: clamp(calc(48px * var(--vcn-scale)), 4.817vw, calc(92.5px * var(--vcn-scale))) 0; background: var(--vcn-green); margin-bottom: var(--vcn-section-gap); }
.vcn-content-page .vcn-facts .vcn-detail-row { margin-bottom: 0; }
.vcn-content-page .vcn-facts h2 { max-width: calc(574px * var(--vcn-scale)); }
.vcn-content-page .vcn-facts-list { list-style: none; padding: 0; margin: 0; font: 400 var(--vcn-copy-size)/1.4 Inter, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-facts-list li { border-top: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); padding: clamp(calc(24px * var(--vcn-scale)), 2.083vw, calc(40px * var(--vcn-scale))) 0; }
.vcn-content-page .vcn-facts-list li:last-child { border-bottom: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); }
.vcn-content-page .vcn-facts-list li:has(br) { line-height: 1.7834; }
.vcn-content-page .vcn-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(20px * var(--vcn-scale)); margin: 0 0 var(--vcn-section-gap); }
.vcn-content-page .vcn-cards .main-block-img-column { display: block; min-width: 0; margin: 0; }
.vcn-content-page .vcn-card { display: flex; flex-direction: column; gap: clamp(calc(20px * var(--vcn-scale)), 2.083vw, calc(40px * var(--vcn-scale))); text-decoration: none; }
.vcn-content-page .vcn-card .img-container { position: relative; }
.vcn-content-page .vcn-card .img-container > img { display: block; width: 100%; height: auto; aspect-ratio: 547 / 779; object-fit: cover; }
.vcn-content-page .vcn-card-caption { display: flex; align-items: center; justify-content: flex-start; gap: calc(16px * var(--vcn-scale)); font: 500 clamp(calc(19px * var(--vcn-scale)), 1.6664vw, calc(32px * var(--vcn-scale)))/1 Urbanist, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-card-caption > img { flex-shrink: 0; width: calc(22px * var(--vcn-scale)); height: calc(36px * var(--vcn-scale)); }
.vcn-content-page .vcn-card:hover .vcn-card-caption > span { text-decoration: underline; text-underline-offset: calc(5px * var(--vcn-scale)); }
.vcn-content-page .vcn-crop-office { object-position: 12% center; }
.vcn-content-page .vcn-crop-left { object-position: left center; }
.vcn-content-page .vcn-crop-premium { object-position: 44% center; }
.vcn-content-page .vcn-campus-functions { display: grid; grid-template-columns: minmax(0, .79fr) minmax(0, 1fr); gap: clamp(calc(32px * var(--vcn-scale)), 8.333vw, calc(160px * var(--vcn-scale))); align-items: start; margin: 0 0 var(--vcn-section-gap); }
.vcn-content-page .vcn-campus-functions .main-block-img-left { display: grid; gap: calc(20px * var(--vcn-scale)); margin: 0; min-width: 0; }
.vcn-content-page .vcn-campus-functions .main-block-img-left img { display: block; width: 100%; aspect-ratio: 668 / 670; object-fit: cover; }
.vcn-content-page .vcn-crop-campus { object-position: 35% center; }
.vcn-content-page .vcn-crop-kindergarten { object-position: 28% center; }
.vcn-content-page .vcn-campus-functions .main-block-img-right { display: block; margin: 0; min-width: 0; }
.vcn-content-page .vcn-campus-functions h2 { margin-bottom: calc(40px * var(--vcn-scale)); }
.vcn-content-page .vcn-campus-functions li + li { margin-top: calc(30px * var(--vcn-scale)); }
.vcn-content-page .vcn-features { padding: clamp(calc(48px * var(--vcn-scale)), 6.25vw, calc(120px * var(--vcn-scale))) 0; margin-bottom: var(--vcn-section-gap); background: var(--vcn-green); }
.vcn-content-page .vcn-features h2 { margin: 0 0 clamp(calc(32px * var(--vcn-scale)), 4.167vw, calc(80px * var(--vcn-scale))); }
.vcn-content-page .vcn-feature-list { margin: 0; padding: 0; list-style: none; }
.vcn-content-page .vcn-feature-list li { display: flex; gap: calc(40px * var(--vcn-scale)); align-items: start; padding: calc(20px * var(--vcn-scale)) clamp(0px, 2.813vw, calc(54px * var(--vcn-scale))); border-top: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); }
.vcn-content-page .vcn-feature-list li:last-child { border-bottom: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); }
.vcn-content-page .vcn-feature-list li > img { flex-shrink: 0; width: calc(60px * var(--vcn-scale)); height: calc(60px * var(--vcn-scale)); }
.vcn-content-page .vcn-feature-list li > div { min-width: 0; overflow-wrap: anywhere; }
.vcn-content-page .vcn-feature-list h3 { margin: 0 0 calc(10px * var(--vcn-scale)); font: 500 var(--vcn-copy-size)/1.4334 Inter, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-feature-list p { margin: 0; font: 500 var(--vcn-copy-size)/1.4334 Urbanist, Arial, sans-serif; }
.vcn-content-page .vcn-rule { border-top: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); padding-top: var(--vcn-section-gap); }
.vcn-content-page .vcn-tier-cards { margin-bottom: clamp(calc(64px * var(--vcn-scale)), 5.833vw, calc(112px * var(--vcn-scale))); }
.vcn-content-page .vcn-downloads h2 { font-size: clamp(calc(14px * var(--vcn-scale)), 1.0424vw, calc(20px * var(--vcn-scale))); }
.vcn-content-page .vcn-downloads > div { width: max-content; max-width: 100%; }
.vcn-content-page .vcn-download-item { display: flex; gap: calc(12px * var(--vcn-scale)); align-items: center; margin: 0 0 calc(12px * var(--vcn-scale)); font: 400 clamp(calc(16px * var(--vcn-scale)), 0.8336vw, calc(16px * var(--vcn-scale)))/1.5 Urbanist, Arial, sans-serif; text-transform: uppercase; text-decoration: none; }
.vcn-content-page .vcn-download-item:hover > span { text-decoration: underline; }
.vcn-content-page .vcn-download-item > img { flex-shrink: 0; width: calc(24px * var(--vcn-scale)); height: calc(24px * var(--vcn-scale)); }
.vcn-content-page .vcn-download-item > .vcn-download-arrow { width: calc(14px * var(--vcn-scale)); height: calc(23px * var(--vcn-scale)); }
.vcn-content-page .vcn-location-image { margin: 0 0 var(--vcn-section-gap); }
.vcn-content-page .vcn-location-image img { display: block; width: 100%; height: auto; }
.vcn-content-page .vcn-location-rows h2 { max-width: calc(700px * var(--vcn-scale)); }
.vcn-content-page .vcn-location-rows .vcn-detail-row { padding-bottom: clamp(calc(32px * var(--vcn-scale)), 2.083vw, calc(40px * var(--vcn-scale))); }
.vcn-content-page .vcn-contact-panel { padding: clamp(calc(48px * var(--vcn-scale)), 6.25vw, calc(120px * var(--vcn-scale))) 0 var(--vcn-section-gap); margin-bottom: var(--vcn-section-gap); background: var(--vcn-green); }
.vcn-content-page .vcn-contact-panel .form-wrap { padding: 0; margin-bottom: 0; max-width: calc(1680px * var(--vcn-scale)); }
.vcn-content-page .vcn-contact-panel .left-column, .vcn-content-page .vcn-contact-panel .right-column { width: auto; margin: 0; padding: 0; min-width: 0; }
.vcn-content-page .vcn-contact-intro h2 { max-width: calc(650px * var(--vcn-scale)); margin: 0 0 calc(40px * var(--vcn-scale)); font: 500 clamp(calc(36px * var(--vcn-scale)), 4.1664vw, calc(80px * var(--vcn-scale)))/1.2 Inter, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-contact-intro p, .vcn-content-page .vcn-agent-details p { margin: 0; font: 500 clamp(calc(14px * var(--vcn-scale)), 1.0424vw, calc(20px * var(--vcn-scale)))/1.4 Inter, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-contact-panel .vcn-contact-fields { padding-top: calc(30px * var(--vcn-scale)); }
.vcn-content-page .contact-form { width: 100%; }
.vcn-content-page .contact-form .form-row { display: grid; grid-template-columns: minmax(0, .67fr) minmax(0, 1fr); align-items: start; gap: calc(24px * var(--vcn-scale)); margin: 0; padding: clamp(calc(16px * var(--vcn-scale)), 1.042vw, calc(20px * var(--vcn-scale))) 0; border: 0; border-top: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); }
.vcn-content-page .contact-form .form-row label, .vcn-content-page .contact-form .form-row input, .vcn-content-page .contact-form .form-row textarea { width: 100%; min-width: 0; padding: 0; margin: 0; font: 400 var(--vcn-copy-size)/1.4334 Inter, Arial, sans-serif; color: var(--vcn-blue); }
.vcn-content-page .contact-form .form-row label { text-transform: uppercase; }
.vcn-content-page .contact-form .form-row input, .vcn-content-page .contact-form .form-row textarea { border: 0; background: transparent; opacity: 1; -webkit-text-fill-color: var(--vcn-blue); }
.vcn-content-page .contact-form .form-row input::placeholder, .vcn-content-page .contact-form .form-row textarea::placeholder { color: #567081; -webkit-text-fill-color: #567081; opacity: 1; }
.vcn-content-page .contact-form .text-area-row { border-bottom: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); }
.vcn-content-page .contact-form textarea { resize: vertical; }
.vcn-content-page .vcn-form-actions { display: flex; gap: calc(20px * var(--vcn-scale)); align-items: start; justify-content: space-between; margin-top: clamp(calc(24px * var(--vcn-scale)), 2.292vw, calc(44px * var(--vcn-scale))); }
.vcn-content-page .vcn-form-actions p, .vcn-content-page .vcn-form-actions .send-button { margin: 0; padding: 0; font: 400 clamp(calc(13px * var(--vcn-scale)), 1.2504vw, calc(24px * var(--vcn-scale)))/1.4 Inter, Arial, sans-serif; text-transform: uppercase; }
.vcn-content-page .vcn-form-actions .send-button { display: inline-flex; align-items: center; gap: calc(16px * var(--vcn-scale)); flex-shrink: 0; border: 0; background: transparent; }
.vcn-content-page .vcn-agent-details { margin-top: clamp(calc(48px * var(--vcn-scale)), 4.167vw, calc(80px * var(--vcn-scale))); }
.vcn-content-page .vcn-agent-details p { font-weight: 400; text-transform: none; }
.vcn-content-page .vcn-agent-details p + p { margin-top: 1.5em; }
/* Offset the supplied PNG's 58px transparent left inset without resizing the mark. */
.vcn-content-page .vcn-agent-logo { display: block; width: min(100%, calc(636px * var(--vcn-scale))); height: auto; object-fit: contain; margin-bottom: calc(40px * var(--vcn-scale)); transform: translateX(-7.42638%); }
.vcn-content-page .vcn-agent-details a { text-decoration: none; }
.vcn-content-page .vcn-agent-details a:hover { text-decoration: underline; }

@media (max-width: 959px) {
  .vcn-content-page { --vcn-section-gap: calc(64px * var(--vcn-scale)); --vcn-heading-size: clamp(calc(28px * var(--vcn-scale)), 3.2vw, calc(30.4px * var(--vcn-scale))); }
  .vcn-content-page .vcn-campus-functions { gap: calc(32px * var(--vcn-scale)); grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
  .vcn-content-page .vcn-campus-functions li + li { margin-top: calc(20px * var(--vcn-scale)); }
  .vcn-content-page .vcn-card-caption { gap: calc(16px * var(--vcn-scale)); font-size: clamp(calc(18px * var(--vcn-scale)), 1.92vw, calc(19.2px * var(--vcn-scale))); }
  .vcn-content-page .vcn-feature-list li { gap: calc(24px * var(--vcn-scale)); padding-left: 0; padding-right: 0; }
  .vcn-content-page .vcn-contact-panel .form-wrap { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: calc(32px * var(--vcn-scale)); }
  .vcn-content-page .contact-form .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(16px * var(--vcn-scale)); }
  .vcn-content-page .vcn-form-actions { flex-wrap: wrap; }
}

@media (max-width: 479px) {
  .vcn-content-page .contact-form .form-row { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: calc(16px * var(--vcn-scale)); }
  .vcn-content-page .contact-form .form-row label { font-size: calc(16px * var(--vcn-scale)); }
}

/* Fläche: existing editorial and Slick/LightGallery patterns, independently scoped. */
.vcn-space-page .vcn-equipment-heading { margin: 0 0 clamp(calc(32px * var(--vcn-scale)), 3.333vw, calc(64px * var(--vcn-scale))); }
.vcn-space-page .vcn-space-section { scroll-margin-top: calc(var(--vcn-header-height, calc(130px * var(--vcn-scale))) + calc(20px * var(--vcn-scale))); }
.vcn-space-page .vcn-space-images { display: grid; grid-template-columns: minmax(0, 2.036fr) minmax(0, 1fr); gap: calc(20px * var(--vcn-scale)); align-items: start; margin: clamp(calc(48px * var(--vcn-scale)), 6.25vw, calc(120px * var(--vcn-scale))) 0 clamp(calc(32px * var(--vcn-scale)), 4.167vw, calc(80px * var(--vcn-scale))); }
.vcn-space-page .vcn-space-image-main { grid-column: 1; grid-row: 1; margin-top: clamp(calc(72px * var(--vcn-scale)), 13.823vw, calc(265.4px * var(--vcn-scale))); overflow: hidden; }
.vcn-space-page .vcn-space-image-main img { display: block; width: 100%; height: auto; aspect-ratio: 1113.264 / 676.79; object-fit: cover; object-position: center 45%; }
.vcn-space-page .vcn-space-image-detail { grid-column: 2; grid-row: 1; aspect-ratio: 546.781 / 603.656; overflow: hidden; }
.vcn-space-page .vcn-space-image-detail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vcn-space-page .vcn-space-plug .vcn-space-image-detail img { object-position: center; }
.vcn-space-page .vcn-space-premium .vcn-space-image-detail img { object-position: 55% center; }
.vcn-space-page .vcn-space-premium .vcn-space-images { margin-top: clamp(calc(32px * var(--vcn-scale)), 2.604vw, calc(50px * var(--vcn-scale))); }
.vcn-space-page .vcn-space-comfort .vcn-space-images { grid-template-columns: minmax(0, 1fr) minmax(0, 2.036fr); }
.vcn-space-page .vcn-space-comfort .vcn-space-image-main { grid-column: 2; }
.vcn-space-page .vcn-space-comfort .vcn-space-image-detail { grid-column: 1; }
.vcn-space-page .vcn-space-comfort .vcn-space-image-detail img { object-position: center; }
.vcn-space-page .vcn-space-copy { width: 66.6%; }
.vcn-space-page .vcn-space-comfort .vcn-space-copy { margin-left: auto; }
.vcn-space-page .vcn-space-copy p { margin: 0 0 calc(40px * var(--vcn-scale)); }
.vcn-space-page .vcn-photo-gallery { position: static; width: 100%; margin: clamp(calc(48px * var(--vcn-scale)), 6.25vw, calc(120px * var(--vcn-scale))) 0 var(--vcn-section-gap); background: var(--vcn-green); text-align: left; }
.vcn-space-page .vcn-photo-gallery + .container-content { border-top: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); padding-top: var(--vcn-section-gap); }
.vcn-space-page .vcn-photo-gallery .slideshow-container { width: 100%; max-width: calc(1920px * var(--vcn-scale)); margin: 0 auto; padding: calc(36px * var(--vcn-scale)) calc(var(--vcn-gutter) + calc(20px * var(--vcn-scale))); }
.vcn-space-page .vcn-gallery-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(20px * var(--vcn-scale)); padding: 0; }
.vcn-space-page .vcn-gallery-track.slick-initialized { display: block; }
.vcn-space-page .vcn-gallery-track .slick-list { margin: 0 calc(-10px * var(--vcn-scale)); }
.vcn-space-page .vcn-gallery-track .slick-track { display: block; gap: 0; }
.vcn-space-page .vcn-gallery-item { display: block; position: relative; min-width: 0; }
.vcn-space-page .slick-initialized .vcn-gallery-item { margin: 0 calc(10px * var(--vcn-scale)); }
.vcn-space-page .vcn-gallery-item > img:first-child { display: block; width: 100%; height: auto; aspect-ratio: 534 / 498; object-fit: cover; }
.vcn-space-page .vcn-gallery-zoom { position: absolute; top: calc(22px * var(--vcn-scale)); right: calc(30px * var(--vcn-scale)); }
.vcn-space-page .vcn-photo-gallery button { border: 0; background: transparent; padding: 0; width: calc(44px * var(--vcn-scale)); min-height: calc(48px * var(--vcn-scale)); display: flex; align-items: center; justify-content: center; }
.vcn-space-page .vcn-photo-gallery button[hidden] { display: none; }
.vcn-space-page .vcn-gallery-prev { left: max(calc(8px * var(--vcn-scale)), calc(var(--vcn-gutter) / 2 - calc(22px * var(--vcn-scale)))); }
.vcn-space-page .vcn-gallery-next { right: max(calc(8px * var(--vcn-scale)), calc(var(--vcn-gutter) / 2 - calc(22px * var(--vcn-scale)))); }
.vcn-space-page .vcn-photo-gallery .slick-disabled { opacity: .45; cursor: default; }
.vcn-space-page .vcn-gallery-status { position: absolute; width: calc(1px * var(--vcn-scale)); height: calc(1px * var(--vcn-scale)); padding: 0; margin: calc(-1px * var(--vcn-scale)); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vcn-space-page .vcn-space-terms { border: 0; padding-top: 0; }
.vcn-space-page .vcn-space-contact { display: grid; grid-template-columns: minmax(0, 1.875fr) minmax(0, 1fr); gap: calc(20px * var(--vcn-scale)); align-items: end; margin-bottom: var(--vcn-section-gap); }
.vcn-space-page .vcn-space-contact > img { display: block; width: 100%; height: auto; aspect-ratio: 1084 / 659; object-fit: cover; }
.vcn-space-page .vcn-space-contact a { text-decoration: none; }
.vcn-space-page .vcn-space-contact a:hover { text-decoration: underline; text-underline-offset: calc(6px * var(--vcn-scale)); }
@media (max-width: 959px) {
  .vcn-space-page .vcn-space-section { scroll-margin-top: calc(var(--vcn-header-height, calc(70px * var(--vcn-scale))) + calc(20px * var(--vcn-scale))); }
  .vcn-space-page .vcn-photo-gallery .slideshow-container { padding: calc(24px * var(--vcn-scale)) calc(56px * var(--vcn-scale)); }
  .vcn-space-page .vcn-gallery-zoom { top: calc(12px * var(--vcn-scale)); right: calc(12px * var(--vcn-scale)); }
}
@media (max-width: 767px) {
  .vcn-space-page .vcn-space-images, .vcn-space-page .vcn-space-comfort .vcn-space-images { gap: calc(12px * var(--vcn-scale)); grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
  .vcn-space-page .vcn-space-comfort .vcn-space-image-main { grid-column: 1; }
  .vcn-space-page .vcn-space-comfort .vcn-space-image-detail { grid-column: 2; }
  .vcn-space-page .vcn-space-copy { width: 100%; }
  .vcn-space-page .vcn-space-copy p { margin-bottom: calc(24px * var(--vcn-scale)); }
  .vcn-space-page .vcn-gallery-track { grid-template-columns: minmax(0, 1fr); }
  .vcn-space-page .vcn-space-contact { grid-template-columns: minmax(0, 1fr); gap: calc(24px * var(--vcn-scale)); }
}

@media (max-width: 767px) {
  .vcn-content-page .vcn-editorial, .vcn-content-page .vcn-paired-images, .vcn-content-page .vcn-detail-row, .vcn-content-page .vcn-campus-functions, .vcn-content-page .vcn-contact-panel .form-wrap { grid-template-columns: minmax(0, 1fr); gap: calc(28px * var(--vcn-scale)); }
  .vcn-content-page .vcn-editorial > h2 { margin: 0; text-align: left; }
  .vcn-content-page .vcn-editorial-content > img { grid-column: 1; grid-row: 2; }
  .vcn-content-page .vcn-editorial-content > p { grid-column: 1; grid-row: 3; }
  .vcn-content-page .vcn-campus-life > p { width: 100%; }
  .vcn-content-page .vcn-campus-functions .main-block-img-left { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vcn-content-page .vcn-detail-row > h2 { padding-right: 0; }
  .vcn-content-page .vcn-cards { grid-template-columns: minmax(0, 1fr); gap: calc(40px * var(--vcn-scale)); }
  .vcn-content-page .vcn-card { gap: calc(20px * var(--vcn-scale)); }
  .vcn-content-page .vcn-card .img-container > img { aspect-ratio: 4 / 3; }
  .vcn-content-page .vcn-card-caption { justify-content: flex-start; font-size: calc(24px * var(--vcn-scale)); }
  .vcn-content-page .vcn-feature-list li { gap: calc(16px * var(--vcn-scale)); }
  .vcn-content-page .vcn-feature-list h3 { font-size: calc(17px * var(--vcn-scale)); }
  .vcn-content-page .vcn-contact-panel .vcn-contact-fields { padding-top: 0; }
  .vcn-content-page .vcn-contact-intro h2 { margin-bottom: calc(24px * var(--vcn-scale)); }
  .vcn-content-page .vcn-contact-intro p, .vcn-content-page .vcn-agent-details p { font-size: calc(14px * var(--vcn-scale)); }
}

/* Phase 3: isolated floor-plan viewer and its semantic availability table. */
.vcn-floorplans { margin-bottom: clamp(calc(64px * var(--vcn-scale)), 7.292vw, calc(140px * var(--vcn-scale))); }
.vcn-floorplans [hidden] { display: none !important; }
.vcn-floorplans .vcn-plan-viewer { background: var(--vcn-green); padding: clamp(calc(40px * var(--vcn-scale)), 4.219vw, calc(81px * var(--vcn-scale))) 0 clamp(calc(40px * var(--vcn-scale)), 3.646vw, calc(70px * var(--vcn-scale))); scroll-margin-top: calc(var(--vcn-header-height, calc(130px * var(--vcn-scale))) + calc(20px * var(--vcn-scale))); }
.vcn-floorplans .vcn-plan-heading { margin: 0; font: 500 var(--vcn-heading-size)/1.2 Urbanist, Arial, sans-serif; text-transform: uppercase; }
.vcn-floorplans .vcn-plan-heading > span { display: block; }
.vcn-floorplans .vcn-plan-stage { position: relative; margin-top: clamp(calc(32px * var(--vcn-scale)), 4.167vw, calc(80px * var(--vcn-scale))); }
.vcn-floorplans .vcn-plan-track, .vcn-floorplans .vcn-plan-overview { width: calc(100% - 2 * var(--vcn-gutter)); max-width: calc(1680px * var(--vcn-scale)); padding: 0; margin: 0 auto; }
.vcn-floorplans .vcn-plan-track .slick-track { display: block; gap: 0; }
.vcn-floorplans .vcn-plan-canvas { position: relative; width: 100%; aspect-ratio: 1680 / 913; }
.vcn-floorplans .vcn-plan-image { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.vcn-floorplans .vcn-plan-overview { position: absolute; inset: 0; pointer-events: none; }
.vcn-floorplans .vcn-plan-overview img { display: block; position: absolute; bottom: 0; right: 1.130952%; width: 20.654762%; height: auto; aspect-ratio: 347 / 247; object-fit: contain; border: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); background: #fff; }
.vcn-floorplans .vcn-plan-image-fallback { display: flex; align-items: center; justify-content: center; position: absolute; inset: 0; margin: 0; padding: calc(24px * var(--vcn-scale)); border: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); text-align: center; font: 400 clamp(calc(16px * var(--vcn-scale)), 1.04vw, calc(20px * var(--vcn-scale)))/1.5 Inter, Arial, sans-serif; }
.vcn-floorplans .vcn-plan-arrow { display: flex; align-items: center; justify-content: center; position: absolute; top: 45%; transform: translateY(-50%); width: calc(44px * var(--vcn-scale)); min-height: calc(48px * var(--vcn-scale)); padding: 0; border: 0; background: transparent; cursor: pointer; }
.vcn-floorplans .vcn-plan-prev { left: max(calc(4px * var(--vcn-scale)), calc(var(--vcn-gutter) / 2 - calc(4px * var(--vcn-scale)))); }
.vcn-floorplans .vcn-plan-next { right: max(calc(4px * var(--vcn-scale)), calc(var(--vcn-gutter) / 2 - calc(4px * var(--vcn-scale)))); }
.vcn-floorplans .vcn-plan-arrow.slick-disabled { opacity: .4; cursor: default; }
.vcn-floorplans .vcn-plan-pagination { margin: clamp(calc(24px * var(--vcn-scale)), 3.75vw, calc(72px * var(--vcn-scale))) var(--vcn-gutter) 0; }
.vcn-floorplans .vcn-plan-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; padding: 0; margin: 0; list-style: none; }
.vcn-floorplans .vcn-plan-dots li { margin: 0; padding: 0; }
.vcn-floorplans .vcn-plan-dots button { display: flex; align-items: center; justify-content: center; width: calc(28px * var(--vcn-scale)); height: calc(32px * var(--vcn-scale)); border: 0; padding: 0; background: transparent; cursor: pointer; }
.vcn-floorplans .vcn-plan-dots button > span { display: block; width: calc(15px * var(--vcn-scale)); height: calc(15px * var(--vcn-scale)); border-radius: 50%; background: #003a6433; }
.vcn-floorplans .vcn-plan-dots .slick-active button > span { background: var(--vcn-blue); }
.vcn-floorplans .vcn-plan-placeholder-note, .vcn-floorplans .vcn-plan-library-note { margin: calc(12px * var(--vcn-scale)) var(--vcn-gutter) 0; text-align: center; font: 400 calc(14px * var(--vcn-scale))/1.4 Inter, Arial, sans-serif; }
.vcn-floorplans .vcn-plan-library-note { font-weight: 600; }
.vcn-floorplans .vcn-availability { margin-top: var(--vcn-section-gap); }
.vcn-floorplans .vcn-availability-table { border-collapse: collapse; table-layout: fixed; width: 100%; margin: 0; color: var(--vcn-blue); font: 400 clamp(calc(16px * var(--vcn-scale)), 1.044vw, calc(20.0464px * var(--vcn-scale)))/1.4 Inter, Arial, sans-serif; }
.vcn-floorplans .vcn-availability-table col:nth-child(1) { width: 31.9%; }
.vcn-floorplans .vcn-availability-table col:nth-child(2) { width: 31.9%; }
.vcn-floorplans .vcn-availability-table col:nth-child(3) { width: 36.2%; }
.vcn-floorplans .vcn-availability-table th, .vcn-floorplans .vcn-availability-table td { padding: 0; border: 0; text-align: left; vertical-align: middle; font-weight: 400; overflow-wrap: anywhere; }
.vcn-floorplans .vcn-availability-table tr { border-bottom: calc(2px * var(--vcn-scale)) solid var(--vcn-green); }
.vcn-floorplans .vcn-availability-table thead { background: var(--vcn-green); }
.vcn-floorplans .vcn-availability-table thead th { padding-top: calc(4px * var(--vcn-scale)); padding-bottom: calc(4px * var(--vcn-scale)); font-size: clamp(calc(18px * var(--vcn-scale)), 1.2528vw, calc(24.056px * var(--vcn-scale))); font-weight: 500; }
.vcn-floorplans .vcn-availability-table th:first-child { padding-left: clamp(calc(12px * var(--vcn-scale)), 4.063vw, calc(78px * var(--vcn-scale))); }
.vcn-floorplans .vcn-availability-table th:last-child, .vcn-floorplans .vcn-availability-table td:last-child { padding-right: clamp(calc(12px * var(--vcn-scale)), 4.063vw, calc(78px * var(--vcn-scale))); text-align: right; }
.vcn-floorplans .vcn-availability-table tbody tr { cursor: pointer; }
.vcn-floorplans .vcn-availability-table tbody tr:hover, .vcn-floorplans .vcn-availability-table tbody tr:focus-within { background: #f8fcf7; }
.vcn-floorplans .vcn-availability-table .is-selected { background: #f8fcf7; }
.vcn-floorplans .vcn-plan-row-control { display: block; min-height: calc(42px * var(--vcn-scale)); width: 100%; border: 0; padding: calc(4px * var(--vcn-scale)) calc(12px * var(--vcn-scale)) calc(4px * var(--vcn-scale)) 0; text-align: left; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.vcn-floorplans .vcn-plan-visually-hidden { position: absolute; width: calc(1px * var(--vcn-scale)); height: calc(1px * var(--vcn-scale)); padding: 0; margin: calc(-1px * var(--vcn-scale)); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vcn-floorplans + .container-content { border-top: calc(1px * var(--vcn-scale)) solid var(--vcn-blue); padding-top: var(--vcn-section-gap); }
@media (max-width: 959px) {
  .vcn-floorplans .vcn-plan-viewer { scroll-margin-top: calc(var(--vcn-header-height, calc(70px * var(--vcn-scale))) + calc(20px * var(--vcn-scale))); }
}
@media (max-width: 767px) {
  .vcn-floorplans .vcn-plan-arrow { top: 50%; }
  .vcn-floorplans .vcn-availability-table { font-size: calc(14px * var(--vcn-scale)); }
  .vcn-floorplans .vcn-availability-table thead th { font-size: calc(16px * var(--vcn-scale)); }
  .vcn-floorplans .vcn-availability-table col:nth-child(1) { width: 32%; }
  .vcn-floorplans .vcn-availability-table col:nth-child(2) { width: 29%; }
  .vcn-floorplans .vcn-availability-table col:nth-child(3) { width: 39%; }
  .vcn-floorplans .vcn-availability-table th, .vcn-floorplans .vcn-availability-table td { padding: calc(4px * var(--vcn-scale)) calc(8px * var(--vcn-scale)); }
  .vcn-floorplans .vcn-availability-table th:first-child { padding-left: calc(8px * var(--vcn-scale)); }
  .vcn-floorplans .vcn-availability-table th:last-child, .vcn-floorplans .vcn-availability-table td:last-child { padding-right: calc(8px * var(--vcn-scale)); }
  .vcn-floorplans .vcn-plan-row-control { min-height: calc(44px * var(--vcn-scale)); padding-right: 0; }
}

/* Native SVG controls avoid missing icon-font glyphs in the enlarged photo view. */
.vcn .lg-outer .lg-prev, .vcn .lg-outer .lg-next { width: calc(52px * var(--vcn-scale)); height: calc(64px * var(--vcn-scale)); padding: 0; border: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: calc(26.2426px * var(--vcn-scale)) calc(46.8284px * var(--vcn-scale)); filter: brightness(0) invert(1); opacity: 1; }
.vcn .lg-outer .lg-prev { background-image: url('../images/vcn/gallery-prev.svg'); }
.vcn .lg-outer .lg-next { background-image: url('../images/vcn/gallery-next.svg'); }
.vcn .lg-outer .lg-prev::before, .vcn .lg-outer .lg-prev::after, .vcn .lg-outer .lg-next::before, .vcn .lg-outer .lg-next::after { content: none; }
.vcn .lg-outer .lg-prev:hover, .vcn .lg-outer .lg-next:hover { opacity: .75; }

/* Contact delivery states preserve the approved field and panel layout. */
.vcn-contact .vcn-contact-honeypot { position: absolute; width: calc(1px * var(--vcn-scale)); height: calc(1px * var(--vcn-scale)); padding: 0; margin: calc(-1px * var(--vcn-scale)); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vcn-contact #contact-status[hidden] { display: none; }
.vcn-contact .contact-form .send-button { color: var(--vcn-blue) !important; opacity: 1; cursor: pointer; }
.vcn-contact .contact-form [aria-invalid="true"] { outline: calc(2px * var(--vcn-scale)) solid var(--vcn-lavender); outline-offset: calc(4px * var(--vcn-scale)); }
.vcn-contact .contact-form .send-button:disabled { opacity: .55; cursor: wait; }

/* Legal copy reuses the existing VCN page components. */
.vcn-legal-page .vcn-legal-copy { max-width: none; margin: 0 0 var(--vcn-section-gap); text-align: left; font: 400 clamp(calc(16px * var(--vcn-scale)), 0.9168vw, calc(17.6px * var(--vcn-scale)))/1.65 Inter, Arial, sans-serif; overflow-wrap: anywhere; }
.vcn-legal-page .vcn-legal-copy section + section { margin-top: clamp(calc(40px * var(--vcn-scale)), 4.167vw, calc(64px * var(--vcn-scale))); }
.vcn-legal-page .vcn-legal-copy h2 { margin: 0 0 calc(24px * var(--vcn-scale)); font: 500 clamp(calc(24px * var(--vcn-scale)), 1.5vw, calc(28.8px * var(--vcn-scale)))/1.25 Urbanist, Arial, sans-serif; }
.vcn-legal-page .vcn-legal-copy h3 { margin: calc(32px * var(--vcn-scale)) 0 calc(16px * var(--vcn-scale)); font: 600 1em/1.5 Inter, Arial, sans-serif; }
.vcn-legal-page .vcn-legal-copy p { margin: 0 0 calc(20px * var(--vcn-scale)); }
.vcn-legal-page .vcn-legal-copy a { text-decoration: underline; text-underline-offset: calc(3px * var(--vcn-scale)); }

.vcn-plan-arrow > img, .vcn-gallery-prev > img, .vcn-gallery-next > img { width: calc(26.2426px * var(--vcn-scale)); height: calc(46.8284px * var(--vcn-scale)); }
.vcn-space-page .vcn-gallery-zoom { width: calc(44.5px * var(--vcn-scale)); height: calc(48px * var(--vcn-scale)); }

/* Desktop density follows the client's 70% zoom reference; viewport and mobile behavior stay native. */
@media (min-width: 960px) {
  html:has(> body.vcn) { font-size: 11.2px; }
  .vcn { --vcn-scale: .7; }
  .vcn nav ul li a { font-size: max(13px, clamp(9.8px, 1.0424vw, 14px)); }
  .vcn-content-page .vcn-agent-details p, .vcn-content-page .vcn-contact-intro p { font-size: 14px; }
  .vcn-content-page .vcn-download-item { font-size: 14px; }
  .vcn-floorplans .vcn-availability-table { font-size: 14px; }
  .vcn-floorplans .vcn-availability-table thead th { font-size: max(14px, clamp(12.6px, 1.2528vw, 16.84px)); }
  .vcn-legal-page .vcn-legal-copy { font-size: 16px; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  .vcn .logo .vcn-wordmark { font-size: 22px; }
  .vcn nav ul { gap: 18px; }
}
