/* Residential motion stays local to this page. All content is visible without JS. */
.parallax-frame { overflow: hidden; }
.home-motion .parallax-photo {
  transform: translate3d(0, var(--photo-offset, 0px), 0) scale(1.09);
}
.home-motion [data-home-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1600ms ease, transform 1800ms cubic-bezier(.2,.65,.3,1);
  transition-delay: var(--entrance-delay, 0ms);
}
.home-motion [data-home-reveal].home-visible,
.home-motion [data-home-reveal]:focus-within {
  opacity: 1;
  transform: none;
}
.planning-backdrop::before { content: none; }
.planning-drawing {
  position: absolute;
  width: 760px;
  max-width: none;
  height: auto;
  right: -90px;
  top: 61%;
  transform: translateY(-50%);
  opacity: .29;
  pointer-events: none;
  z-index: -1;
}
.plan-ink { fill: none; stroke: white; stroke-linecap: round; stroke-linejoin: round; }
.plan-finish { opacity: 1; }
.home-motion .plan-finish { opacity: 0; }
.home-motion .plan-ink { stroke-dasharray: 1; stroke-dashoffset: 1; }
.home-motion .plan-drawn .plan-ink {
  animation: draw-plan var(--draw-duration, 650ms) ease-in-out var(--draw-delay, 0ms) both;
}
.home-motion .plan-drawn .plan-finish { animation: finish-plan 400ms ease 2500ms both; }
@keyframes draw-plan { to { stroke-dashoffset: 0; } }
@keyframes finish-plan { to { opacity: 1; } }
.home-motion .performance .performance-value {
  opacity: .25;
  transform: translateY(18px) scale(.88);
}
.home-motion .performance.metric-visible .performance-value {
  animation: metric-emphasis 1500ms cubic-bezier(.16,.72,.24,1) both;
}
.home-motion .performance.metric-visible > div:nth-child(2) .performance-value { animation-delay: 320ms; }
.home-motion .performance.metric-visible > div:nth-child(3) .performance-value { animation-delay: 640ms; }
.home-motion .performance.metric-visible > div:nth-child(4) .performance-value { animation-delay: 960ms; }
@keyframes metric-emphasis {
  0% { opacity: .25; transform: translateY(18px) scale(.88); color: var(--ink); }
  65% { opacity: 1; transform: translateY(0) scale(1.1); color: var(--accent); }
  100% { opacity: 1; transform: none; color: var(--ink); }
}
.topics .topics-heading h2.english {
  font-size: clamp(40px, 5.6vw, 70px);
  margin: 0;
  line-height: 1.2;
  letter-spacing: .025em;
}
.topics .instagram-account { margin-top: 16px; font: 13px/1.7 var(--sans); letter-spacing: .05em; }
.topics.section { padding-bottom: 75px; }
.property-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  padding: 38px 44px;
  border-block: 1px solid var(--line);
  background: var(--soft);
}
.property-intro .eyebrow { margin-bottom: 10px; font-size: 11px; }
.property-intro h2 { font-size: clamp(21px, 2.4vw, 28px); line-height: 1.6; margin-bottom: 10px; }
.property-intro h2 span { display: inline-block; }
.property-intro p:not(.eyebrow) { font: 14px/1.9 var(--sans); color: var(--muted); }
.property-intro .round-link { flex-shrink: 0; margin: 0; }
.properties.property-entry { padding-block: 20px 65px; background: white; }
.visit-notice { padding-block: 14px; border-bottom: 1px solid var(--line); }
.visit-notice[hidden] { display: none; }
.visit-notice a { display: flex; align-items: center; gap: 20px; font: 14px/1.7 var(--sans); }
.visit-notice-label { flex-shrink: 0; color: var(--accent); font-size: 11px; letter-spacing: .08em; }
.visit-notice-arrow { margin-left: auto; }
@media (max-width: 700px) {
  .home-motion .parallax-photo { transform: translate3d(0, var(--photo-offset, 0px), 0) scale(1.055); }
  .home-motion [data-home-reveal] { transform: translateY(12px); }
  .home-motion [data-home-reveal].home-visible { transform: none; }
  .planning-drawing { width: 440px; right: -120px; top: 67%; opacity: .23; }
  .property-intro { flex-direction: column; align-items: flex-start; padding: 28px 22px; gap: 22px; }
  .property-intro h2 { font-size: 21px; }
  .properties.property-entry { padding-block: 0 35px; }
  .topics.section { padding-bottom: 55px; }
  .visit-notice a { gap: 12px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-motion [data-home-reveal] { opacity: 1; transform: none; transition: none; }
  .home-motion .parallax-photo { transform: none; }
  .home-motion .plan-ink { stroke-dashoffset: 0; animation: none; }
  .home-motion .plan-finish { animation: none; opacity: 1; }
  .home-motion .performance .performance-value { opacity: 1; transform: none; animation: none; }
}
@media print {
  .home-motion [data-home-reveal] { opacity: 1; transform: none; }
  .home-motion .parallax-photo { transform: none; }
  .home-motion .plan-ink { stroke-dashoffset: 0; }
  .plan-finish { opacity: 1; }
}
