:root{--bg: #f4f7f9;--text: #1b2b33;--accent: #0b7e74;--accent-strong: #0a665f;--shadow: 0 12px 28px rgba(26, 44, 56, .16)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-app{position:relative;width:100%;min-height:100dvh;overflow:hidden;background:#eaf2f5}.map-canvas{position:absolute;inset:0;width:100%;height:100%;background:#d9e8ee}.top-menu{position:absolute;top:.82rem;left:.82rem;z-index:8}.top-menu-trigger{width:40px;height:40px;border:0;border-radius:2px;padding:0;display:inline-grid;place-items:center;background:#fff;box-shadow:0 1px 4px #00000052;cursor:pointer;list-style:none}.top-menu-trigger::-webkit-details-marker{display:none}.top-menu-trigger:hover{background:#f8f9fa}.top-menu-trigger:focus-visible{outline:2px solid #1a73e8;outline-offset:1px}.top-menu-icon{width:22px;height:22px;fill:#5f6368}.top-menu-panel{margin-top:.38rem;min-width:150px;padding:.35rem;border:1px solid rgba(20,79,102,.2);border-radius:12px;background:#fffffff5;backdrop-filter:blur(8px);box-shadow:var(--shadow)}.top-menu-link{display:block;color:#1a3a48;text-decoration:none;font-size:.86rem;font-weight:700;padding:.5rem .6rem;border-radius:8px}.top-menu-link:hover{background:#186a8a1a}.search-area-button{position:absolute;top:.82rem;left:50%;transform:translate(-50%);z-index:7;border:1px solid rgba(20,79,102,.25);border-radius:999px;padding:.42rem .82rem;background:#fffffff5;color:#1a3a48;box-shadow:var(--shadow);font:inherit;font-size:.83rem;font-weight:700;cursor:pointer}.search-area-button:hover{background:#fff}.search-area-button:disabled{cursor:wait;opacity:.75}.search-area-button.is-hidden{display:none}.my-location-button{width:40px;height:40px;border:0;border-radius:2px;padding:0;margin:0 10px 10px 0;display:inline-grid;place-items:center;background:#fff;box-shadow:0 1px 4px #00000052;cursor:pointer}.my-location-button:hover{background:#f8f9fa}.my-location-button:focus-visible{outline:2px solid #1a73e8;outline-offset:1px}.my-location-button:disabled{cursor:wait}.my-location-button.is-busy{background:#f8f9fa}.my-location-icon{width:22px;height:22px;fill:#5f6368}.my-location-button.is-busy .my-location-icon{animation:location-spin .9s linear infinite}@keyframes location-spin{to{transform:rotate(360deg)}}.info-window{font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;max-width:260px}.info-header-title{font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;font-size:1rem;line-height:1.25;font-weight:700;color:#123c4c;padding-right:.6rem}.info-title{margin:0;font-size:1rem;line-height:1.25;font-weight:700;color:#123c4c}.info-rating{margin:.34rem 0 0;display:flex;align-items:center;gap:.34rem}.info-stars{font-size:.9rem;line-height:1;color:#f4b400;letter-spacing:.04em}.info-rating-text{color:#3e5e6d;font-size:.82rem}.info-address{margin:.34rem 0 0;color:#455f5d;font-size:.83rem}.info-links{margin-top:.42rem;display:flex;flex-direction:column;align-items:flex-start;gap:.26rem}.info-link{color:var(--accent-strong);text-decoration:none;font-weight:700;font-size:.82rem}.info-link:hover{text-decoration:underline}.info-page{min-height:100dvh;display:grid;place-items:center;padding:1.1rem;background:radial-gradient(1000px 550px at 6% -6%,#fff0c7 0,transparent 58%),radial-gradient(850px 480px at 96% -12%,#d8ecf1 0,transparent 60%),linear-gradient(180deg,#f8fbfd,#eaf3f8)}.info-card{width:min(760px,100%);border:1px solid rgba(20,79,102,.2);border-radius:16px;background:#fffffff2;box-shadow:var(--shadow);padding:1.1rem 1.15rem}.info-card h1{margin:0;font-size:clamp(1.45rem,4vw,2rem);color:#163f50}.info-card p{color:#395867;line-height:1.5}.inline-mail-link{color:var(--accent-strong);font-weight:700;text-decoration:none}.inline-mail-link:hover{text-decoration:underline}.back-link{display:inline-block;margin-top:.55rem;color:var(--accent-strong);font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}@media(max-width:700px){.top-menu{top:.58rem;left:.5rem}.search-area-button{top:.58rem}.my-location-button{margin:0 8px 8px 0}}
