/* Generated by assets/tooling/build-living-blueprint.py. Vector motion above a static foreground. */
.hero-living .living-blueprint { display: block; width: 100%; height: auto; overflow: visible; }
.living-blueprint { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.bp-upright { stroke: #6689a2; stroke-width: 1.75; }
.bp-upright-fine { stroke-width: .65; stroke-opacity: .65; }
.bp-upright-rear { stroke: #819fb4; stroke-width: 1.1; stroke-opacity: .32; }
.bp-beam { stroke: #67869c; stroke-width: 2.25; }
.bp-beam-fine { stroke-width: .85; stroke-opacity: .65; }
.bp-interior { stroke: #93adbf; stroke-width: 1; stroke-opacity: .6; }
.bp-column-back { stroke: #8ba7bb; stroke-width: 1.6; stroke-opacity: .48; }
.bp-glass { stroke: none; fill: url(#bp-glass-wash); }
.bp-glass-left { fill-opacity: .75; }
.bp-reflection { fill: #fff; fill-opacity: .3; stroke: none; }
.bp-slab-soffit { fill: #e3edf5; stroke: none; }
.bp-slab-atrium-edge { fill: #d3e2ed; stroke: none; }
.bp-slab-fascia { fill: #cadde9; stroke: none; }
.bp-slab-outline { stroke: #8da8bd; stroke-width: .9; }
.bp-slab-edge { fill: #d1e0e9; fill-opacity: .75; stroke: none; }
.bp-door { stroke: #708fa6; stroke-width: 1.2; }
.bp-partition { stroke: #8ca7ba; stroke-width: 1.15; stroke-opacity: .8; }
.bp-interior-corner { stroke: #6e8da4; stroke-width: 1.8; stroke-opacity: 1; }
.bp-office-door { stroke: #718fa6; stroke-width: 1.15; stroke-opacity: .85; }
.bp-partition-wash { fill: #e3edf5; stroke: none; }
.bp-wall-front { fill: #d3e2ee; fill-opacity: 1; }
.bp-door-leaf { fill: #d6e4ef; }
.bp-ground-reference { opacity: .68; }
.bp-dimensions { stroke: #8faec3; stroke-width: .85; stroke-opacity: .55; }
.bp-tree { stroke: #90abba; stroke-opacity: .42; }
.bp-roof { stroke: #7898ae; stroke-width: 1; stroke-opacity: .55; }
.bp-motion { animation-duration: 30s; animation-timing-function: linear; animation-iteration-count: infinite; animation-delay: var(--blueprint-seek, 0s); }
.bp-upright.bp-motion, .bp-beam.bp-motion, .bp-interior.bp-motion, .bp-column-back.bp-motion, .bp-slab-outline.bp-motion, .bp-partition.bp-motion, .bp-office-door.bp-motion { stroke-dasharray: 1; }
.blueprint-pause:checked ~ .hero-living .bp-motion { animation-play-state: paused; }
.blueprint-playback { position: absolute; z-index: 3; bottom: 1rem; right: clamp(1.5rem,5.3vw,6rem); display: flex; align-items: center; gap: .45rem; color: #526577; font: 500 .7rem/1.4 Archivo, sans-serif; cursor: pointer; padding: .35rem .55rem; border: 1px solid #ccdde9; border-radius: 3px; background: #edf6ffdf; }
.blueprint-playback svg { width: 11px; height: 11px; fill: currentColor; }
.blueprint-playback .bp-resume { display: none; }
.blueprint-pause:checked ~ .blueprint-playback .bp-pause { display: none; }
.blueprint-pause:checked ~ .blueprint-playback .bp-resume { display: inline; }
.blueprint-pause:focus-visible ~ .blueprint-playback { outline: 2px solid #b4213a; outline-offset: 3px; }
.bp-upright.bp-story-2 { animation-name: bp-upright-2; }
@keyframes bp-upright-2 {
  0%, 6.6667% { stroke-dashoffset: 1; opacity: 0; }
  6.9333% { opacity: 1; }
  12.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-beam.bp-story-2 { animation-name: bp-beam-2; }
@keyframes bp-beam-2 {
  0%, 12.0000% { stroke-dashoffset: 1; opacity: 0; }
  12.2667% { opacity: 1; }
  15.3333%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-slab-outline.bp-story-2 { animation-name: bp-slab-outline-2; }
@keyframes bp-slab-outline-2 {
  0%, 15.3333% { stroke-dashoffset: 1; opacity: 0; }
  15.6000% { opacity: 1; }
  18.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-interior.bp-story-2, .bp-column-back.bp-story-2 { animation-name: bp-interior-2; }
@keyframes bp-interior-2 {
  0%, 19.3333% { stroke-dashoffset: 1; opacity: 0; }
  19.6000% { opacity: 1; }
  22.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-partition.bp-story-2 { animation-name: bp-partition-2; }
@keyframes bp-partition-2 {
  0%, 19.3333% { stroke-dashoffset: 1; opacity: 0; }
  19.6000% { opacity: 1; }
  21.6667%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-office-door.bp-story-2 { animation-name: bp-office-door-2; }
@keyframes bp-office-door-2 {
  0%, 21.6667% { stroke-dashoffset: 1; opacity: 0; }
  21.9333% { opacity: 1; }
  24.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-glass.bp-story-2, .bp-reflection.bp-story-2, .bp-slab-edge.bp-story-2 { animation-name: bp-fill-2; }
@keyframes bp-fill-2 { 0%, 19.3333% { opacity: 0; } 22.0000%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-slab-solid.bp-story-2 { animation-name: bp-slab-solid-2; }
@keyframes bp-slab-solid-2 { 0%, 17.3333% { opacity: 0; } 19.3333%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-dimension-2 { animation-name: bp-fill-2; }
.bp-partition-wash.bp-story-2 { animation-name: bp-wall-wash-2; }
@keyframes bp-wall-wash-2 { 0%, 20.6667% { opacity: 0; } 22.3333%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-upright.bp-story-3 { animation-name: bp-upright-3; }
@keyframes bp-upright-3 {
  0%, 28.6667% { stroke-dashoffset: 1; opacity: 0; }
  28.9333% { opacity: 1; }
  34.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-beam.bp-story-3 { animation-name: bp-beam-3; }
@keyframes bp-beam-3 {
  0%, 34.0000% { stroke-dashoffset: 1; opacity: 0; }
  34.2667% { opacity: 1; }
  37.3333%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-slab-outline.bp-story-3 { animation-name: bp-slab-outline-3; }
@keyframes bp-slab-outline-3 {
  0%, 37.3333% { stroke-dashoffset: 1; opacity: 0; }
  37.6000% { opacity: 1; }
  40.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-interior.bp-story-3, .bp-column-back.bp-story-3 { animation-name: bp-interior-3; }
@keyframes bp-interior-3 {
  0%, 41.3333% { stroke-dashoffset: 1; opacity: 0; }
  41.6000% { opacity: 1; }
  44.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-partition.bp-story-3 { animation-name: bp-partition-3; }
@keyframes bp-partition-3 {
  0%, 41.3333% { stroke-dashoffset: 1; opacity: 0; }
  41.6000% { opacity: 1; }
  43.6667%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-office-door.bp-story-3 { animation-name: bp-office-door-3; }
@keyframes bp-office-door-3 {
  0%, 43.6667% { stroke-dashoffset: 1; opacity: 0; }
  43.9333% { opacity: 1; }
  46.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-glass.bp-story-3, .bp-reflection.bp-story-3, .bp-slab-edge.bp-story-3 { animation-name: bp-fill-3; }
@keyframes bp-fill-3 { 0%, 41.3333% { opacity: 0; } 44.0000%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-slab-solid.bp-story-3 { animation-name: bp-slab-solid-3; }
@keyframes bp-slab-solid-3 { 0%, 39.3333% { opacity: 0; } 41.3333%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-dimension-3 { animation-name: bp-fill-3; }
.bp-partition-wash.bp-story-3 { animation-name: bp-wall-wash-3; }
@keyframes bp-wall-wash-3 { 0%, 42.6667% { opacity: 0; } 44.3333%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-upright.bp-story-4 { animation-name: bp-upright-4; }
@keyframes bp-upright-4 {
  0%, 50.6667% { stroke-dashoffset: 1; opacity: 0; }
  50.9333% { opacity: 1; }
  56.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-beam.bp-story-4 { animation-name: bp-beam-4; }
@keyframes bp-beam-4 {
  0%, 56.0000% { stroke-dashoffset: 1; opacity: 0; }
  56.2667% { opacity: 1; }
  59.3333%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-slab-outline.bp-story-4 { animation-name: bp-slab-outline-4; }
@keyframes bp-slab-outline-4 {
  0%, 59.3333% { stroke-dashoffset: 1; opacity: 0; }
  59.6000% { opacity: 1; }
  62.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-interior.bp-story-4, .bp-column-back.bp-story-4 { animation-name: bp-interior-4; }
@keyframes bp-interior-4 {
  0%, 63.3333% { stroke-dashoffset: 1; opacity: 0; }
  63.6000% { opacity: 1; }
  66.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-partition.bp-story-4 { animation-name: bp-partition-4; }
@keyframes bp-partition-4 {
  0%, 63.3333% { stroke-dashoffset: 1; opacity: 0; }
  63.6000% { opacity: 1; }
  65.6667%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-office-door.bp-story-4 { animation-name: bp-office-door-4; }
@keyframes bp-office-door-4 {
  0%, 65.6667% { stroke-dashoffset: 1; opacity: 0; }
  65.9333% { opacity: 1; }
  68.0000%, 93.3333% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
.bp-glass.bp-story-4, .bp-reflection.bp-story-4, .bp-slab-edge.bp-story-4 { animation-name: bp-fill-4; }
@keyframes bp-fill-4 { 0%, 63.3333% { opacity: 0; } 66.0000%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-slab-solid.bp-story-4 { animation-name: bp-slab-solid-4; }
@keyframes bp-slab-solid-4 { 0%, 61.3333% { opacity: 0; } 63.3333%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
.bp-dimension-4 { animation-name: bp-fill-4; }
.bp-partition-wash.bp-story-4 { animation-name: bp-wall-wash-4; }
@keyframes bp-wall-wash-4 { 0%, 64.6667% { opacity: 0; } 66.3333%, 93.3333% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .living-blueprint .bp-motion { animation: none; stroke-dashoffset: 0; opacity: 1; }
  .blueprint-playback, .blueprint-pause { display: none; }
}
