/* Tactile controls. Effects never intercept input or delay navigation. */
.fx-control{position:relative;isolation:isolate;overflow:hidden;--fx-x:50%;--fx-y:50%;--fx-accent:173,82,75;transition:background-color .28s,color .28s,border-color .28s,box-shadow .28s,translate .28s cubic-bezier(.2,.8,.2,1)!important;-webkit-tap-highlight-color:transparent}
.fx-control::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(circle at var(--fx-x) var(--fx-y),rgba(var(--fx-accent),.22),transparent 65%);opacity:0;transition:opacity .3s}
.fx-control:hover::after,.fx-control:focus-visible::after,.fx-control.fx-pressed::after{opacity:1}
.fx-control.fx-pressed{translate:0 1px;box-shadow:inset 0 0 0 1px rgba(var(--fx-accent),.45),0 0 22px rgba(var(--fx-accent),.12)}
.fx-ripple{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(var(--fx-accent),.36) 0%,rgba(var(--fx-accent),.14) 50%,transparent 72%);z-index:-1;will-change:transform,opacity}
.dark .fx-control,.place-list .fx-control{--fx-accent:255,81,99}
.place-list .place.fx-control:hover,.place-list .place.fx-control:focus-visible{border-color:#ff737c;background:#ff526516;box-shadow:0 0 0 1px #ff68761c,0 7px 30px #e52e4a20;translate:0 -2px}
.round-btn.fx-control:hover,.nav-btn.fx-control:hover{box-shadow:0 8px 25px #5a34221c;translate:0 -2px}
.menu-list a.fx-control{overflow:hidden;padding-left:8px;padding-right:8px}
.menu-list .menu-number,.menu-list .menu-arrow,.doc-circle,.action i,.action span{transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,border-color .3s,box-shadow .3s!important}
.menu-list a:hover .menu-arrow,.menu-list a:focus-visible .menu-arrow{transform:rotate(45deg);background:var(--ink);border-color:var(--ink);color:var(--paper)}
.menu-list a:hover .menu-number,.menu-list a:focus-visible .menu-number{background:var(--red);color:var(--paper);border-color:var(--red);transform:scale(1.08)}
.menu-list a:hover strong{transform:translateX(9px)}
.doc-row a:hover .doc-circle{transform:rotate(45deg);box-shadow:0 5px 20px #ad524b25}
.action.fx-control{overflow:visible;isolation:auto}
.action.fx-control::after{display:none}
.action.fx-control .fx-ripple{display:none}
.action.fx-control:hover i,.action.fx-control:hover>span{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 22px #ad524b25}
.map-marker .outer{transition:fill .25s,stroke .25s,filter .25s;transform-origin:center;transform-box:fill-box}
.map-marker:hover .outer,.map-marker:focus .outer{filter:drop-shadow(0 0 6px #ff405c);stroke:#fff;fill:#ff506778}
@media(prefers-reduced-motion:reduce){.fx-control,.fx-control::after,.menu-number,.menu-arrow,.doc-circle,.action i,.action span,.map-marker .outer{transition:none!important;translate:none!important}.fx-ripple{display:none}.menu-list a:hover strong{transform:none!important}}

/* Clean document controls: keep the arrow motion, remove the surrounding shadow. */
.doc-row a.fx-control,.doc-row a.fx-control:hover,.doc-row a.fx-control:focus-visible,.doc-row a.fx-control.fx-pressed,.doc-row .doc-circle,.doc-row a:hover .doc-circle{box-shadow:none!important;filter:none!important}
.doc-row a.fx-control::after,.doc-row .fx-ripple{display:none}
.hero-actions .round-btn.fx-control,.hero-actions .round-btn.fx-control:hover,.hero-actions .round-btn.fx-control.fx-pressed,.nav-btn.fx-control,.nav-btn.fx-control:hover,.nav-btn.fx-control.fx-pressed{box-shadow:none!important}
.hero-actions .round-btn.fx-control::after,.hero-actions .fx-ripple,.nav-btn.fx-control::after,.nav-btn .fx-ripple{display:none}

.action.fx-control.fx-pressed{box-shadow:none!important;translate:none!important}
.action.fx-control:focus-visible{outline:none}
.action.fx-control:focus-visible>:is(i,span){outline:2px solid var(--red);outline-offset:4px;border-radius:50%}
.action.fx-control.fx-pressed>:is(i,span){background:#ad524b18}
