:root {
  --vp-ground: #d9e5fd;
  --vp-ink: #2d271f;
  --vp-rust: #914025;
  --vp-cotton: #e8ded8;
  --vp-white: #ffffff;
  --vp-blue: #2158a6;
  --vp-display: 'Poiret One', 'Trebuchet MS', sans-serif;
  --vp-text: 'Denk One', 'Trebuchet MS', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--vp-white); color: var(--vp-ink); font: 18px/1.65 var(--vp-text); }
::selection { background: var(--vp-rust); color: var(--vp-white); }
a { color: var(--vp-rust); text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 3px; }
a:focus-visible { outline: 3px solid var(--vp-rust); outline-offset: 6px; border-radius: 2px; }
img, svg { max-width: 100%; }
p { margin: 0 0 1.1em; }
h1, h2, h3 { margin: 0; font-weight: 400; }
h1, h2 { font-family: var(--vp-display); }
h1 { font-size: clamp(42px, 4.5vw, 66px); line-height: 1.08; text-wrap: balance; }
h2 { font-size: clamp(38px, 4vw, 58px); line-height: 1.12; text-wrap: balance; }
h3 { font: 400 21px/1.4 var(--vp-text); }
figure { margin: 0; }
figcaption { font-size: 16px; line-height: 1.45; }
[data-lucide], .lucide { display: inline-block; width: 22px; height: 22px; flex-shrink: 0; vertical-align: -.15em; }
.vp-skip { position: absolute; left: 20px; top: -120px; z-index: 10; padding: 12px 18px; color: var(--vp-ink); background: var(--vp-white); }
.vp-skip:focus { top: 12px; }

/* An open floor curve, with the reading links standing at its opening. */
.vp-mast { width: min(1344px, calc(100% - 96px)); height: 120px; margin: 0 auto; position: relative; display: flex; align-items: flex-start; justify-content: space-between; }
.vp-floor { position: absolute; inset: -3px auto auto 0; width: calc(100% - 350px); height: 110px; pointer-events: none; }
.vp-floor-phone { display: none; }
.vp-name { position: relative; z-index: 1; margin: 23px 0 0 12px; padding: 0 .15em; background: var(--vp-white); font: 400 36px/1.2 var(--vp-display); color: var(--vp-ink); text-decoration: none; white-space: nowrap; }
.vp-name:hover { color: var(--vp-rust); }
.vp-wayfinding { display: flex; gap: 28px; padding-top: 42px; align-items: baseline; }
.vp-wayfinding a { display: flex; align-items: center; gap: 8px; font-size: 17px; line-height: 1.1; padding: 0 0 8px; border-bottom: 2px solid currentColor; color: var(--vp-ink); text-decoration: none; transition: transform .18s ease, color .18s ease; }
.vp-wayfinding a:hover { color: var(--vp-rust); transform: translateY(-3px); }
.vp-wayfinding a[aria-current=page] { color: var(--vp-rust); border-bottom-width: 4px; padding-bottom: 6px; }
.vp-wayfinding [data-lucide], .vp-wayfinding .lucide { width: 18px; height: 18px; }

/* A courtyard fills the frame. Its blue stepped band is part of the edge,
   rather than a floating card. The Promise tally has no enclosure of its own. */
.vp-opening { isolation: isolate; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 250px 278px; grid-template-rows: auto 1fr; gap: 0 48px; min-height: 670px; padding: 42px 48px 118px; margin-bottom: 100px; }
.vp-opening::before { content: ''; position: absolute; z-index: -1; top: 0; right: 0; bottom: 86px; width: 672px; background: var(--vp-ground); border-top: 8px solid var(--vp-rust); clip-path: polygon(0 0, 100% 0, 100% 100%, 32px 100%, 32px 61%, 0 61%); }
.vp-home-heading { grid-column: 2 / 4; grid-row: 1; margin: 0 0 32px; text-align: center; }
.vp-home-title { font-size: 52px; line-height: 1.08; }
.vp-home-title span { display: block; }
.vp-home-title span:nth-child(2) { color: var(--vp-rust); }
.vp-standing { display: contents; }
.vp-main-photo { position: absolute; z-index: -2; inset: 0; border-radius: 5px; background: var(--vp-cotton) var(--vp-hero) 43% 59% / cover no-repeat; }
.vp-detached-foot { position: absolute; left: max(48px, calc(50% - 285px)); bottom: -30px; width: 380px; height: 74px; border-radius: 5px; background: var(--vp-cotton) var(--vp-hero) 50% 86% / 100% auto no-repeat; box-shadow: 12px 12px 0 var(--vp-ground); }
.vp-standing figcaption { position: absolute; left: 48px; bottom: 30px; max-width: 355px; background: var(--vp-cotton); padding: 12px 25px 12px 18px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%); }
.vp-opening-words { grid-column: 2; grid-row: 2; padding-top: 5px; }
.vp-opening-lead { font: 400 25px/1.4 var(--vp-text); margin-bottom: 24px; }
.vp-owner-position { font-size: 17px; line-height: 1.55; margin: 0; }
.vp-prescription-note { grid-column: 3; grid-row: 2; padding-top: 4px; color: var(--vp-ink); font-size: 17px; line-height: 1.5; }
.vp-tally { display: flex; gap: 6px; height: 22px; margin-bottom: 14px; align-items: flex-end; }
.vp-tally i { display: block; width: 3px; height: 22px; background: var(--vp-rust); }
.vp-prescription-note p { margin: 0; }
.vp-prescription-note strong { font: 400 25px/1 var(--vp-display); }

/* Broad owner essay; narrow measured account BELOW; broad everyday reading.
   A change of scale, not a collection of cards. */
.vp-capacities { counter-reset: vp-capacity; }
.vp-capacity { counter-increment: vp-capacity; position: relative; padding: 80px max(64px, calc((100% - 1120px) / 2)) 72px; }
.vp-capacity:nth-child(even) { background: var(--vp-ground); }
.vp-capacity > h2 { position: relative; max-width: 970px; padding-left: 112px; margin-bottom: 40px; }
.vp-capacity > h2::before { content: counter(vp-capacity, decimal-leading-zero); position: absolute; left: -12px; top: -26px; color: var(--vp-rust); font: 400 110px/1 var(--vp-display); letter-spacing: -.07em; }
.vp-capacity:nth-child(even) > h2::before { color: var(--vp-blue); }
.vp-owner-words { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 72px; margin-left: 112px; }
.vp-owner-words p { margin: 0; }
.vp-owner-words p:last-child:nth-child(odd) { grid-column: 1 / -1; max-width: 850px; }
.vp-measurement { width: min(100%, 610px); margin: 72px auto 54px; }
.vp-measure-heading { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 17px; }
.vp-measure-heading [data-lucide], .vp-measure-heading .lucide { width: 29px; height: 29px; flex: 0 0 29px; color: var(--vp-rust); margin-top: 1px; }
.vp-measurement p { margin: 0; }
.vp-everyday { position: relative; max-width: 1030px; margin: 0 0 0 -28px; padding: 4px 0 4px 30px; border-left: 7px solid var(--vp-rust); font: 400 38px/1.3 var(--vp-display); }
.vp-patch { display: block; margin: 48px 0 0 auto; width: 48px; height: 48px; }
.vp-sequence { overflow-wrap: anywhere; color: var(--vp-rust); }

/* Inner-page photographs have their own offset footing and cotton caption. */
.vp-inner-heading { width: min(1060px, calc(100% - 160px)); margin: 52px auto 0; border-left: 8px solid var(--vp-rust); padding: 0 0 4px 32px; }
.vp-inner-heading h1 { max-width: 1000px; }
.vp-inner-lead { max-width: 740px; margin: 26px 0 0; font-size: 21px; line-height: 1.55; }
.vp-crumb { font-size: 16px; margin: 25px 0 0; display: flex; align-items: center; gap: 10px; }
.vp-crumb [data-lucide], .vp-crumb .lucide { width: 17px; height: 17px; color: var(--vp-rust); }
.vp-inner-photo { position: relative; width: min(1248px, calc(100% - 128px)); margin: 46px auto 26px; padding-bottom: 26px; }
.vp-photo-band { height: 300px; border-radius: 5px; background: var(--vp-cotton) var(--vp-photo) center / cover no-repeat; box-shadow: 16px 16px 0 var(--vp-ground); }
.vp-inner-photo figcaption { position: relative; width: fit-content; max-width: 670px; margin: -19px 28px 0 auto; padding: 13px 24px; background: var(--vp-cotton); border-left: 5px solid var(--vp-rust); }
.vp-unpictured { margin-top: 24px; }
.vp-next-read { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin: 50px auto 90px; padding-top: 22px; border-top: 4px solid var(--vp-rust); width: min(1120px, calc(100% - 128px)); }
.vp-next-read > span { max-width: 240px; }
.vp-next-read a { display: inline-flex; align-items: center; gap: 20px; font: 400 33px/1.25 var(--vp-display); }
.vp-next-read a .lucide, .vp-next-read a [data-lucide] { width: 28px; height: 28px; transition: transform .18s ease; }
.vp-next-read a:hover .lucide { transform: translateX(5px); }
.vp-colophon { padding: 52px max(48px, calc((100% - 1280px) / 2)) 34px; background: var(--vp-cotton); border-top: 9px solid var(--vp-rust); }
.vp-colophon-line { max-width: 850px; font: 400 32px/1.35 var(--vp-display); margin: 0 0 32px; }
.vp-colophon-links { display: flex; flex-wrap: wrap; gap: 14px 30px; margin-bottom: 28px; }
.vp-colophon-links a { color: var(--vp-ink); font-size: 17px; }
.vp-copyright { margin: 0; font-size: 16px; }
.vp-lost { min-height: 53vh; width: min(800px, calc(100% - 64px)); margin: 70px auto; }
.vp-lost p { margin-top: 28px; }

@media (min-width: 1101px) {
  .vp-detached-foot { animation: vp-foot-arrives .7s ease-out; }
  @keyframes vp-foot-arrives { from { transform: translateY(10px); } to { transform: translateY(0); } }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .vp-mast { width: calc(100% - 48px); }
  .vp-name { font-size: 31px; margin-left: 0; }
  .vp-floor { width: calc(100% - 280px); }
  .vp-wayfinding { gap: 19px; }
  .vp-wayfinding [data-lucide], .vp-wayfinding .lucide { display: none; }
  .vp-opening { grid-template-columns: minmax(0, 1fr) 230px 230px; gap: 0 28px; padding: 32px 28px 112px; }
  .vp-opening::before { width: 558px; }
  .vp-home-title { font-size: 44px; }
  .vp-opening-lead { font-size: 23px; }
  .vp-prescription-note { font-size: 16px; }
  .vp-standing figcaption { left: 28px; max-width: 280px; }
  .vp-detached-foot { left: 44px; width: 300px; }
  .vp-capacity { padding-left: 40px; padding-right: 40px; }
  .vp-owner-words { margin-left: 80px; gap: 24px 40px; }
  .vp-capacity > h2 { padding-left: 80px; }
  .vp-capacity > h2::before { font-size: 88px; top: -16px; }
  .vp-inner-heading { width: calc(100% - 96px); }
  .vp-inner-photo { width: calc(100% - 80px); }
  .vp-next-read { width: calc(100% - 80px); }
}
@media (max-width: 700px) {
  body { font-size: 17px; line-height: 1.65; }
  .vp-mast { width: 100%; height: 80px; margin: 0; }
  .vp-name { margin: 9px 0 0 20px; font-size: 28px; }
  .vp-floor { display: none; }
  .vp-floor-phone { display: block; position: absolute; bottom: 2px; left: 18px; width: 151px; height: 30px; pointer-events: none; }
  .vp-wayfinding { position: absolute; right: 20px; top: 51px; padding: 0; gap: 17px; }
  .vp-wayfinding a { font-size: 16px; padding-bottom: 4px; }
  .vp-wayfinding a[aria-current=page] { padding-bottom: 2px; }
  .vp-wayfinding [data-lucide], .vp-wayfinding .lucide { display: none; }
  .vp-wayfinding a:hover { transform: none; }
  .vp-opening { display: flex; flex-direction: column; min-height: 0; padding: 0; gap: 0; margin: 0 0 16px; }
  .vp-opening::before { display: none; }
  .vp-home-heading { order: 0; margin: 0; padding: 14px 20px 12px; background: var(--vp-ground); border-top: 5px solid var(--vp-rust); }
  .vp-home-title { font-size: 32px; line-height: 1.08; letter-spacing: -.015em; }
  .vp-prescription-note { order: 1; padding: 0 20px 16px; font-size: 16px; line-height: 1.32; background: var(--vp-ground); }
  .vp-tally { display: inline-flex; height: 16px; gap: 4px; margin: 0 7px 0 0; vertical-align: -2px; float: left; }
  .vp-tally i { width: 2px; height: 14px; }
  .vp-prescription-note strong { font-size: 21px; }
  .vp-standing { display: block; order: 2; margin: 0 0 12px; }
  .vp-main-photo { position: static; width: 100%; height: 170px; background-position: 45% 58%; }
  .vp-detached-foot { position: static; width: calc(100% - 56px); height: 8px; margin: 8px auto 0; box-shadow: none; background-position: 50% 84%; }
  .vp-standing figcaption { position: static; width: calc(100% - 40px); max-width: none; margin: 8px 20px 0; padding: 0; background: transparent; clip-path: none; font-size: 16px; line-height: 1.25; }
  .vp-opening-words { order: 3; padding: 0 20px; }
  .vp-opening-lead { font-size: 18px; line-height: 1.35; margin: 0 0 10px; }
  .vp-owner-position { font-size: 16px; line-height: 1.35; margin: 0; }
  .vp-capacity { padding: 42px 20px 44px; }
  .vp-capacity > h2 { padding-left: 53px; margin-bottom: 26px; font-size: 35px; }
  .vp-capacity > h2::before { left: -3px; top: -8px; font-size: 60px; }
  h3 { font-size: 20px; }
  .vp-owner-words { display: block; margin: 0; }
  .vp-owner-words p { margin-bottom: 22px; }
  .vp-measurement { width: calc(100% - 28px); margin: 42px auto 32px; }
  .vp-measure-heading { display: block; }
  .vp-measure-heading [data-lucide], .vp-measure-heading .lucide { display: block; margin: 0 0 10px; width: 26px; height: 26px; }
  .vp-everyday { margin: 0; padding: 0 0 0 16px; border-left-width: 4px; width: 100%; font-size: 28px; line-height: 1.35; }
  .vp-patch { width: 36px; height: 36px; margin: 28px 0 0 auto; }
  .vp-inner-heading { width: calc(100% - 40px); padding-left: 17px; border-left-width: 5px; margin-top: 30px; }
  .vp-inner-heading h1 { font-size: 39px; line-height: 1.1; }
  .vp-inner-lead { margin-top: 21px; font-size: 18px; }
  .vp-crumb { font-size: 16px; margin-top: 21px; gap: 8px; }
  .vp-inner-photo { width: calc(100% - 48px); margin: 32px 28px 2px 20px; padding-bottom: 20px; }
  .vp-photo-band { height: 170px; box-shadow: 8px 8px 0 var(--vp-ground); }
  .vp-inner-photo figcaption { margin: -12px 8px 0 18px; max-width: calc(100% - 26px); padding: 9px 12px; font-size: 16px; border-left-width: 3px; }
  .vp-unpictured { margin-top: 12px; }
  .vp-next-read { display: block; width: calc(100% - 40px); margin: 30px auto 52px; }
  .vp-next-read > span { display: block; max-width: none; margin-bottom: 12px; }
  .vp-next-read a { font-size: 28px; gap: 12px; }
  .vp-next-read a:hover .lucide { transform: none; }
  .vp-colophon { padding: 35px 20px 28px; border-top-width: 6px; }
  .vp-colophon-line { font-size: 27px; }
  .vp-colophon-links { gap: 14px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

:root { --vp-hero: url("/vitapro-courtyard-3cd565d02701/courtyard-repair.webp"); }
.vp-photo-mots-c { --vp-photo: url("/vitapro-courtyard-3cd565d02701/wheel-spokes.webp"); }
.vp-photo-nad { --vp-photo: url("/vitapro-courtyard-3cd565d02701/cotton-cloth.webp"); }
.vp-photo-compare { --vp-photo: url("/vitapro-courtyard-3cd565d02701/two-repair-tools.webp"); }
.vp-photo-faq { --vp-photo: url("/vitapro-courtyard-3cd565d02701/hands-at-wheel.webp"); }
.vp-photo-about { --vp-photo: url("/vitapro-courtyard-3cd565d02701/courtyard-pause.webp"); }
