.flow-columns h3{font-family:var(--font-title-family)}
@media(min-width:769px){body[data-page="bansong"] .hero,body[data-page="bansong"] .hero-grid{min-height:calc(var(--size-hero) - var(--space-6))}}
.map-canvas{position:relative}.map-canvas>.map-labels{inset:0}
@media(min-width:769px){.floor-split,.graphic-hero .hero-grid{align-items:start}}
.soft figcaption,.soft .small,.contact .small,.flow-block figcaption{color:var(--color-text)}
.photo-item p{text-wrap:pretty}
.flow-block>svg{inset:0;width:100%;height:100%;pointer-events:none}
.district-neighborhoods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}
.district-neighborhoods a{display:flex;align-items:center;justify-content:center;min-height:var(--size-touch);font-size:var(--font-small);color:var(--color-brand);border-bottom:var(--size-line) solid var(--color-bg-soft)}
.map-wrap.is-visible .district-neighborhoods a{animation:district-focus calc(var(--time-fast)*8) ease-in-out both}
.district-neighborhoods a:nth-child(2){animation-delay:var(--time-fast)}.district-neighborhoods a:nth-child(3){animation-delay:calc(var(--time-fast)*2)}.district-neighborhoods a:nth-child(4){animation-delay:calc(var(--time-fast)*3)}.district-neighborhoods a:nth-child(5){animation-delay:calc(var(--time-fast)*4)}.district-neighborhoods a:nth-child(6){animation-delay:calc(var(--time-fast)*5)}
@keyframes district-focus{0%,100%{border-bottom-color:var(--color-bg-soft)}40%,70%{border-bottom-color:var(--color-brand)}}
@media(prefers-reduced-motion:reduce){.map-wrap.is-visible .district-neighborhoods a{animation:none}}
.toast:not(.show){visibility:hidden;pointer-events:none}
.static-three .stage-nav{display:none}
@media(max-width:768px){.hero:not(.graphic-hero)::after{height:66%}.map-labels>.map-label:nth-child(6){margin-left:calc(var(--space-2)*-1)}}
.skip:focus{position:relative;display:flex;align-items:center;justify-content:center;inset:auto;min-height:var(--size-touch);border-radius:0;transform:none}
dialog [data-copy]{min-width:calc(var(--space-32) + var(--space-20))}
.process-list img[src$=".svg"]{object-fit:contain;background:var(--color-bg)}
@media(min-width:769px){body[data-page="cost"] .hero-copy{background:color-mix(in srgb,var(--color-bg) 94%,transparent);padding:var(--space-6);border-radius:var(--radius-media)}}
@media(max-width:768px){.table-scroll{overflow:visible}.table-scroll table{min-width:0;background:none}.table-scroll thead{display:none}.table-scroll tr{display:block;background:var(--color-bg);padding:var(--space-4);border-radius:var(--radius-button)}.table-scroll tr+tr{margin-top:var(--space-4)}.table-scroll td{display:grid;grid-template-columns:var(--space-20) minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0}.table-scroll td::before{content:attr(data-label);font-weight:var(--font-weight-medium);color:var(--color-brand)}.table-scroll td:last-child{border:0}}
/* 11/09 Claude: 명함 로고를 닮은 SVG 로고(누끼 대신 다시 그림) */
.brand img.brand-logo{width:auto;height:var(--space-10);object-fit:contain;border-radius:0}
@media(max-width:768px){.brand img.brand-logo{height:var(--space-8)}.brand>span{font-size:var(--font-body)}.masthead .header-call{display:none}}
