html[data-town-motion] .hero-diagram,
html[data-town-motion] .source-card,
html[data-town-motion] .flow.playing article {animation:none}
html[data-town-motion] {--town-ease:cubic-bezier(.16,1,.3,1)}
.town-decoration {pointer-events:none!important;user-select:none}
.town-packet {fill:#fff5cd;stroke:#c19b55;stroke-width:1;opacity:0}
.town-frame {position:absolute;inset:2px;border:1px solid #f4d895;opacity:0;box-shadow:inset 0 0 12px #f1dba61c;z-index:2}
.town-street {position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0}
.town-street path {fill:none;stroke:#e5ca8e;stroke-width:1;opacity:.34}
.district .district-stage {position:relative}
.district .district-intros {position:relative;z-index:1}
.district .district-light {transform-origin:top center}
.town-marker {position:absolute;width:54px;height:20px;left:calc(50% - 27px);bottom:16%;border:1px solid #ffe9b1;border-radius:50%;box-shadow:0 0 0 5px #d7b97520;opacity:.7}
.town-marker::before {content:"";position:absolute;inset:6px 20px;border-radius:50%;background:#fff2bd}
.record,.channels article,.plan,.task-row,.flow>article,.faq summary,.closing .cta-stack {position:relative}
.town-check-line {position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#896f3c,#e4c888);transform-origin:left;opacity:.85}
.record p:has(>.town-check-line) {position:relative}
.town-channel-mark {position:absolute;right:14px;top:14px;width:12px;height:12px;border:1px solid #f1d798;border-radius:50%;background:#d6ba7933}
.town-plan-rule {position:absolute;top:0;left:0;right:0;height:2px;background:#b69755;transform-origin:left;pointer-events:none}
.town-plan-corner {position:absolute;top:0;left:0;height:54px;width:2px;background:#b69755;transform-origin:top;pointer-events:none}
.plan.featured .town-plan-rule,.plan.featured .town-plan-corner {background:#e9cf96}
.town-route-line {position:absolute;top:16px;bottom:16px;left:-14px;width:1px;background:#a78b52;transform-origin:top;opacity:.65}
.town-route-stop {position:absolute;left:-17px;top:30px;width:7px;height:7px;border:1px solid #a78b52;background:#faf4e6;border-radius:50%}
.town-faq-rule {position:absolute;left:0;right:0;bottom:0;height:1px;background:#d8c38f;transform-origin:center;opacity:.5}
.faq details[open] .town-faq-rule {opacity:1}
.town-destination {position:absolute;right:12px;top:calc(50% - 15px);width:30px;height:30px;border:1px solid currentColor;border-radius:50%;opacity:.28}
.closing .cta-stack .button {position:relative}
@media(min-width:761px) and (max-width:1000px){
 html[data-town-motion] .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0}
 html[data-town-motion] .hero-copy{max-width:660px}
 html[data-town-motion] .hero-diagram{max-width:680px;margin:24px auto 0}
 html[data-town-motion] .hero .source-card{width:202px}
 html[data-town-motion] .hero .answer-card{width:310px}
 html[data-town-motion] .hero .storefront{width:58%;right:0}
}
@media(hover:hover) and (pointer:fine){
 html[data-town-motion] .button>span:last-child:not(.town-decoration){transition:transform 180ms cubic-bezier(.2,0,0,1)}
 html[data-town-motion] .button:hover>span:last-child:not(.town-decoration){transform:translateX(4px)}
}
@media(max-width:760px){
 .town-route-line{left:-9px}.town-route-stop{left:-12px}
 .town-channel-mark{right:10px;top:10px}
 .town-marker{width:44px;left:calc(50% - 22px)}
 .town-marker::before{inset:6px 16px}
}
@media(prefers-reduced-motion:reduce){
 .town-packet {display:none}
 .town-decoration {animation:none!important;transition:none!important}
 html[data-town-motion] .button:hover>span:last-child {transform:none}
}
