/* Local NEIGHBORHOOD only: original photos remain untouched. */
.hamuya-home .neighborhood-real .neighborhood-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 8%; align-items: start; }
.hamuya-home .neighborhood-real img { display: block; width: 100%; height: auto; }
.hamuya-home .neighborhood-real .neighborhood-main img { aspect-ratio: 3 / 4; object-fit: cover; object-position: 24% center; }
.hamuya-home .neighborhood-real .neighborhood-copy { padding-top: 38px; }
.hamuya-home .neighborhood-real .neighborhood-body { margin-top: 28px; font-size: 16px; line-height: 2.05; }
.hamuya-home .neighborhood-real .neighborhood-concept { margin-top: 24px; color: #C8392A; font-family: "Zen Maru Gothic", "Yu Gothic", Meiryo, sans-serif; font-weight: 700; font-size: 1.15em; line-height: 1.8; }
.hamuya-home .neighborhood-real .neighborhood-mural { width: 76%; margin: 44px 0 0 auto; }
.hamuya-home .neighborhood-real .neighborhood-mural img { aspect-ratio: 3 / 4; object-fit: cover; object-position: 54% center; }
.hamuya-home .neighborhood-real figcaption { line-height: 1.8; }
.hamuya-home .neighborhood-real .neighborhood-stroll { margin-top: 56px; padding: 12px 0 8px; }
.hamuya-home .neighborhood-real .stroll-track { position: relative; width: 100%; height: 116px; overflow: hidden; }
.hamuya-home .neighborhood-real .stroll-bump { position: absolute; left: 42%; bottom: 4px; width: 20px; height: 7px; pointer-events: none; }
.hamuya-home .neighborhood-real .stroll-traveler { position: absolute; left: 0; bottom: 0; width: 100%; pointer-events: none; will-change: transform; animation: hamuya-trial-stroll-walk 12.8s linear infinite; }
.hamuya-home .neighborhood-real .traveler-svg { display: block; width: 92px; height: 113px; overflow: visible; }
.hamuya-home .neighborhood-real .traveler-body-group,
.hamuya-home .neighborhood-real .traveler-torso,
.hamuya-home .neighborhood-real .traveler-shadow,
.hamuya-home .neighborhood-real .stumble-leg-front,
.hamuya-home .neighborhood-real .stumble-leg-back,
.hamuya-home .neighborhood-real .stumble-arm-front,
.hamuya-home .neighborhood-real .stumble-arm-back,
.hamuya-home .neighborhood-real .limb-leg-front,
.hamuya-home .neighborhood-real .limb-leg-back,
.hamuya-home .neighborhood-real .limb-arm-front,
.hamuya-home .neighborhood-real .limb-arm-back { transform-box: view-box; }
.hamuya-home .neighborhood-real .traveler-body-group { transform-origin: 40px 55px; animation: hamuya-trial-stroll-bob 0.8s ease-in-out infinite; }
.hamuya-home .neighborhood-real .traveler-torso { transform-origin: 40px 55px; animation: hamuya-trial-stroll-stumble-torso 12.8s linear infinite; }
.hamuya-home .neighborhood-real .traveler-shadow { transform-origin: 40px 95px; animation: hamuya-trial-stroll-shadow 12.8s linear infinite; }
.hamuya-home .neighborhood-real .stumble-leg-front { transform-origin: 41px 55px; animation: hamuya-trial-stroll-stumble-leg-f 12.8s linear infinite; }
.hamuya-home .neighborhood-real .stumble-leg-back { transform-origin: 39px 55px; animation: hamuya-trial-stroll-stumble-leg-b 12.8s linear infinite; }
.hamuya-home .neighborhood-real .stumble-arm-front { transform-origin: 39.5px 29px; animation: hamuya-trial-stroll-stumble-arm-f 12.8s linear infinite; }
.hamuya-home .neighborhood-real .stumble-arm-back { transform-origin: 41px 29px; animation: hamuya-trial-stroll-stumble-arm-b 12.8s linear infinite; }
.hamuya-home .neighborhood-real .limb-leg-front { transform-origin: 41px 55px; animation: hamuya-trial-limb-front 1.6s ease-in-out infinite; }
.hamuya-home .neighborhood-real .limb-leg-back { transform-origin: 39px 55px; animation: hamuya-trial-limb-back 1.6s ease-in-out infinite; }
.hamuya-home .neighborhood-real .limb-arm-front { transform-origin: 39.5px 29px; animation: hamuya-trial-arm-front 1.6s ease-in-out infinite; }
.hamuya-home .neighborhood-real .limb-arm-back { transform-origin: 41px 29px; animation: hamuya-trial-arm-back 1.6s ease-in-out infinite; }
/* 12.8s (= 8 × 1.6s) horizontal walk:
   0% -> 40%      : normal relaxed stroll up to the bump at 42%
   40% -> 40.8%   : toe snags on the bump, abrupt stop ("あっ！")
   40.8% -> 47.2% : 3 short, rapid patter-steps forward ("おっとっと〜！")
   47.2% -> 50.5% : rocks back onto heels as torso arches backward to recover
   50.5% -> 54.5% : settles upright and composes posture
   54.5% -> 100%  : resumes the exact same casual walk as if nothing happened */
@keyframes hamuya-trial-stroll-walk {
  0% { transform: translateX(-96px); }
  40% { transform: translateX(calc(42% - 44px)); }
  40.8% { transform: translateX(calc(42.1% - 44px)); }
  41.8% { transform: translateX(calc(43.6% - 44px)); }
  42.3% { transform: translateX(calc(43.8% - 44px)); }
  43.3% { transform: translateX(calc(45.5% - 44px)); }
  43.8% { transform: translateX(calc(45.7% - 44px)); }
  44.9% { transform: translateX(calc(47.4% - 43px)); }
  45.4% { transform: translateX(calc(47.6% - 43px)); }
  46.6% { transform: translateX(calc(49.5% - 43px)); }
  47.2% { transform: translateX(calc(49.8% - 43px)); }
  48.6% { transform: translateX(calc(48.3% - 43px)); }
  50.2% { transform: translateX(calc(48.1% - 43px)); }
  52.2% { transform: translateX(calc(49.6% - 43px)); }
  54.5% { transform: translateX(calc(50.8% - 43px)); }
  100% { transform: translateX(calc(100% + 16px)); }
}
/* 1. Snaps sharply forward (45deg) on snag (40% -> 40.8%)
   2. Jolts up & down while deeply pitched forward during the 3 rapid patter-steps (40.8% -> 46.6%)
   3. Whips backward (-22deg) onto heels to recover balance (48.4% -> 50.2%)
   4. Settles upright and walks on calmly (54.5% -> 100%) */
@keyframes hamuya-trial-stroll-stumble-torso {
  0%, 40% { transform: translate(0, 0) rotate(0deg); }
  40.8% { transform: translate(3px, 8px) rotate(45deg); }
  41.8% { transform: translate(3px, 5.5px) rotate(38deg); }
  42.9% { transform: translate(3.5px, 8.5px) rotate(46deg); }
  44% { transform: translate(3px, 5px) rotate(35deg); }
  45.2% { transform: translate(3px, 7.5px) rotate(42deg); }
  46.6% { transform: translate(2px, 3px) rotate(20deg); }
  48.4% { transform: translate(-3px, -1px) rotate(-22deg); }
  50.2% { transform: translate(-2.5px, -0.5px) rotate(-18deg); }
  52.2% { transform: translate(1px, 1px) rotate(7deg); }
  54.5%, 100% { transform: translate(0, 0) rotate(0deg); }
}
/* Front & back legs compensate for the 1.6s base walk cycle so they never split wide into giant strides;
   instead they stay forward under the chest and patter rapidly up & down 3 times, then lift toe on the backward arch */
@keyframes hamuya-trial-stroll-stumble-leg-f {
  0%, 40% { transform: translate(0, 0) rotate(0deg); }
  40.8% { transform: translate(3px, 6px) rotate(22deg); }
  41.8% { transform: translate(3px, 0.5px) rotate(-31deg); }
  42.9% { transform: translate(3.5px, 7.5px) rotate(-27deg); }
  44% { transform: translate(3px, 0px) rotate(-44deg); }
  45.2% { transform: translate(3px, 6.5px) rotate(-23deg); }
  46.6% { transform: translate(2px, 3px) rotate(-28deg); }
  48.4% { transform: translate(-3px, -4px) rotate(-22deg); }
  50.2% { transform: translate(-2.5px, -3px) rotate(-11deg); }
  52.2% { transform: translate(1px, 1px) rotate(-6deg); }
  54.5%, 100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes hamuya-trial-stroll-stumble-leg-b {
  0%, 40% { transform: translate(0, 0) rotate(0deg); }
  40.8% { transform: translate(3px, 2px) rotate(-18deg); }
  41.8% { transform: translate(3px, 5.5px) rotate(-5deg); }
  42.9% { transform: translate(3.5px, 1.5px) rotate(-13deg); }
  44% { transform: translate(3px, 5px) rotate(6deg); }
  45.2% { transform: translate(3px, 1px) rotate(-15deg); }
  46.6% { transform: translate(2px, 3px) rotate(8deg); }
  48.4% { transform: translate(-3px, 0px) rotate(-6deg); }
  50.2% { transform: translate(-2.5px, 0px) rotate(-15deg); }
  52.2% { transform: translate(1px, 1px) rotate(4deg); }
  54.5%, 100% { transform: translate(0, 0) rotate(0deg); }
}
/* Both arms follow the pitched shoulder position (translate) and swing wildly left & right to keep balance */
@keyframes hamuya-trial-stroll-stumble-arm-f {
  0%, 40% { transform: translate(0, 0) rotate(0deg); }
  40.8% { transform: translate(21px, 15px) rotate(-92deg); }
  41.8% { transform: translate(19px, 12px) rotate(64deg); }
  42.9% { transform: translate(22px, 16px) rotate(-102deg); }
  44% { transform: translate(18px, 10px) rotate(58deg); }
  45.2% { transform: translate(20px, 13px) rotate(-94deg); }
  46.6% { transform: translate(11px, 5px) rotate(44deg); }
  48.4% { transform: translate(-12px, 1px) rotate(-82deg); }
  50.2% { transform: translate(-10px, 1px) rotate(-68deg); }
  52.2% { transform: translate(3px, 1px) rotate(14deg); }
  54.5%, 100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes hamuya-trial-stroll-stumble-arm-b {
  0%, 40% { transform: translate(0, 0) rotate(0deg); }
  40.8% { transform: translate(21px, 15px) rotate(68deg); }
  41.8% { transform: translate(19px, 12px) rotate(-96deg); }
  42.9% { transform: translate(22px, 16px) rotate(72deg); }
  44% { transform: translate(18px, 10px) rotate(-90deg); }
  45.2% { transform: translate(20px, 13px) rotate(62deg); }
  46.6% { transform: translate(11px, 5px) rotate(-68deg); }
  48.4% { transform: translate(-12px, 1px) rotate(52deg); }
  50.2% { transform: translate(-10px, 1px) rotate(40deg); }
  52.2% { transform: translate(3px, 1px) rotate(-18deg); }
  54.5%, 100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes hamuya-trial-stroll-bob {
  0%, 100% { transform: translateY(0) rotate(0.4deg); }
  50% { transform: translateY(-2.2px) rotate(-0.3deg); }
}
@keyframes hamuya-trial-stroll-shadow {
  0%, 40% { transform: translateX(0) scaleX(1); opacity: 0.9; }
  40.8% { transform: translateX(10px) scaleX(1.38); opacity: 0.65; }
  42.9% { transform: translateX(11px) scaleX(1.42); opacity: 0.65; }
  45.2% { transform: translateX(9px) scaleX(1.32); opacity: 0.72; }
  46.6% { transform: translateX(4px) scaleX(1.18); opacity: 0.85; }
  48.4% { transform: translateX(-6px) scaleX(1.15); opacity: 0.75; }
  50.2% { transform: translateX(-5px) scaleX(1.12); opacity: 0.78; }
  52.2% { transform: translateX(2px) scaleX(1.05); opacity: 0.88; }
  54.5%, 100% { transform: translateX(0) scaleX(1); opacity: 0.9; }
}
@keyframes hamuya-trial-limb-front {
  0%, 100% { transform: rotate(-17deg); }
  50% { transform: rotate(19deg); }
}
@keyframes hamuya-trial-limb-back {
  0%, 100% { transform: rotate(19deg); }
  50% { transform: rotate(-17deg); }
}
@keyframes hamuya-trial-arm-front {
  0%, 100% { transform: rotate(15deg); }
  50% { transform: rotate(-14deg); }
}
@keyframes hamuya-trial-arm-back {
  0%, 100% { transform: rotate(-14deg); }
  50% { transform: rotate(15deg); }
}
@media (max-width: 900px) {
  .hamuya-home .neighborhood-real .neighborhood-grid { gap: 5%; }
  .hamuya-home .neighborhood-real .neighborhood-body { font-size: 15px; }
  .hamuya-home .neighborhood-real .neighborhood-stroll { margin-top: 40px; }
}
@media (max-width: 760px) {
  .hamuya-home .neighborhood-real .neighborhood-grid { display: flex; flex-direction: column; gap: 32px; }
  .hamuya-home .neighborhood-real .neighborhood-left, .hamuya-home .neighborhood-real .neighborhood-right { display: contents; }
  .hamuya-home .neighborhood-real .neighborhood-copy { order: 0; padding: 0; }
  .hamuya-home .neighborhood-real .neighborhood-main { order: 1; width: 92%; }
  .hamuya-home .neighborhood-real .neighborhood-stroll { order: 1; width: 92%; margin-top: -6px; padding: 2px 0; }
  .hamuya-home .neighborhood-real .stroll-track { height: 104px; }
  .hamuya-home .neighborhood-real .traveler-svg { width: 82px; height: 101px; }
  .hamuya-home .neighborhood-real .neighborhood-mural { order: 2; width: 76%; margin: 8px 0 0 auto; }
  .hamuya-home .neighborhood-real figcaption { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hamuya-home .neighborhood-real .stroll-traveler { animation: none !important; transform: translateX(calc(50% - 46px)); }
  .hamuya-home .neighborhood-real .traveler-body-group,
  .hamuya-home .neighborhood-real .traveler-torso,
  .hamuya-home .neighborhood-real .traveler-shadow,
  .hamuya-home .neighborhood-real .stumble-leg-front,
  .hamuya-home .neighborhood-real .stumble-leg-back,
  .hamuya-home .neighborhood-real .stumble-arm-front,
  .hamuya-home .neighborhood-real .stumble-arm-back,
  .hamuya-home .neighborhood-real .limb-leg-front,
  .hamuya-home .neighborhood-real .limb-leg-back,
  .hamuya-home .neighborhood-real .limb-arm-front,
  .hamuya-home .neighborhood-real .limb-arm-back { animation: none !important; }
}

/* Final mural overrides from header-compare.html; images are already cropped. */
.hamuya-home .neighborhood-real { background: #F4EFE6; }
.hamuya-home .neighborhood-real .neighborhood-left, .hamuya-home .neighborhood-real .neighborhood-right { min-width: 0; }
@media (min-width: 761px) {
  .hamuya-home .neighborhood-real .neighborhood-mural { width: min(100%, 440px); margin-left: auto; }
}
@media (max-width: 760px) {
  .hamuya-home .neighborhood-real .neighborhood-mural { width: 84%; margin-left: auto; }
}
