/* 천지누수탐지 실제 사이트에서 더한 줄(시안 CSS 위에 얹음) — 색·간격은 tokens.css 이름만 쓴다 */
.hero-photo-card{margin:0}
.hero-photo-card img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-media)}
.hero-photo-card figcaption{margin-top:var(--space-2)}
.answer .wrap>p{max-width:var(--size-prose)}
.region-symptom img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-media)}
#local figure img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-media)}
.floor-diagram svg{max-width:100%;height:auto}
.footer-brand{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-on-brand)}
.footer-brand img{height:var(--space-10);width:auto}
.footer-links{display:grid;gap:var(--space-3);margin-block:var(--space-6)}
.footer-links p{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;max-width:none}
.footer-links span{font-weight:var(--font-weight-medium);min-width:calc(var(--space-16) + var(--space-4))}
.footer-links a{display:inline-flex;align-items:center;min-height:var(--size-touch)}
#regions .neighborhoods{margin-top:var(--space-6)}
@media(max-width:768px){.hero-photo-card{order:2}.footer-links span{min-width:100%}}
footer p a[href^="tel:"]{display:inline-flex;align-items:center;min-height:var(--size-touch)}
.map-focus [data-district=haeundae]:not(.is-selected){fill:var(--color-bg-soft)}
.map-focus [data-district].is-selected{fill:var(--color-brand)}
.footer-brand img{filter:none}
.map-label.selected,.map-label.point-main{background:var(--color-brand);color:var(--color-on-brand);border-radius:var(--radius-button);padding-inline:var(--space-2)}
.header-call:hover{text-decoration:underline}
@media(max-width:768px){.masthead .header-call{display:flex;min-width:var(--size-touch);justify-content:center}.masthead .header-call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.masthead .header-call svg{display:block;width:var(--space-6);height:var(--space-6)}}
.dong-notes{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;gap:var(--space-4);max-width:var(--size-prose)}
.dong-notes a{display:inline-flex;min-height:var(--size-touch);align-items:center;color:var(--color-brand)}
.button.secondary:hover{background:var(--color-bg-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}
.button.primary:hover{box-shadow:0 0 0 2px var(--color-water)}
.breadcrumb a:hover,.brand:hover span,main a:not(.button):hover{text-decoration:underline}
.brand:hover img{opacity:.8}
.text-link:hover{text-decoration-thickness:2px;text-underline-offset:var(--space-2);color:var(--color-text)}
.button.primary:hover,.button.secondary:hover{transform:translateY(calc(var(--space-1) * -0.5));box-shadow:0 var(--space-2) var(--space-5) color-mix(in srgb,var(--color-brand) 28%,transparent)}
.button.secondary:hover{background:var(--color-brand);color:var(--color-on-brand)}
.soft .small,.soft figcaption,.soft .breadcrumb{color:var(--color-text)}
@media(max-width:768px){.map-labels .map-label:not(.selected):not(.point-main){display:none}}
/* 11/12 독립 채점 1차 고칠 것 */
@keyframes cj-nudge{0%,100%{transform:translateX(0)}40%{transform:translateX(var(--space-1))}}
.button:hover svg{animation:cj-nudge .45s ease}
@media(prefers-reduced-motion:reduce){.button:hover svg{animation:none}.button.primary:hover,.button.secondary:hover{transform:none}}
.copy:hover{background:var(--color-bg-soft);border-radius:var(--radius-button);text-decoration:none}
.map-canvas .map-labels{z-index:2}
@media(max-width:768px){
 .masthead .header-call::after{content:"전화";font-size:var(--font-small);font-weight:var(--font-weight-medium);margin-left:var(--space-1)}
 .mobile-contact .fixed-proof{padding-block:var(--space-2) var(--space-3)}
 .flow-columns{grid-template-columns:1fr;gap:var(--space-6)}
 .flow-columns>div{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:var(--space-2)}
 .flow-columns h3{width:100%}
 .flow-block>svg{display:none}
 main{padding-bottom:var(--space-6)}
}
/* 3차 채점 전: 색만 바뀌던 보조 단추·카드·구 칩에 움직임 한 겹(11/12) */
.copy:hover,.stage-nav button:hover{transform:translateY(calc(var(--space-1) * -0.5));box-shadow:0 var(--space-1) var(--space-3) color-mix(in srgb,var(--color-brand) 18%,transparent)}
.region-links a svg{transition:transform .2s ease}
.region-links a:hover svg{transform:translateX(var(--space-1))}
.photo-item{text-decoration:none}
.photo-item img{transition:transform .35s ease}
main a.photo-item:hover{text-decoration:none}
.photo-item:hover img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.copy:hover,.stage-nav button:hover{transform:none}.region-links a:hover svg,.photo-item:hover img{transform:none}}
.photo-item img,img[src*="/images/real/"]{background:color-mix(in srgb,var(--color-brand) 10%,var(--color-bg-soft))}
/* 3차 채점(7.58) 반영: 휴대폰 고정 띠 위 증명 줄은 첫 화면 표시·바닥글과 같은 말이라 숨겨 띠를 낮춤, 지도 이름표에 테두리 반응(11/12) */
@media(max-width:768px){.mobile-contact .fixed-proof{display:none}}
.map-label:hover{box-shadow:0 0 0 2px var(--color-water);background:var(--color-bg);border-radius:var(--radius-button)}
.map-label.selected:hover{background:var(--color-brand)}
