:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.3, .64, 1);--ease-snap:cubic-bezier(.4, 0, .2, 1);--duration-fast:.14s;--duration:.28s;--duration-slow:.48s;--nav-inset:env(safe-area-inset-top,0px);--fab-inset:env(safe-area-inset-bottom,0px);--brand:#11357a;--brand-deep:#10294a;--accent:#e8a13d;--danger:#b81d22;--ink:#24303e;--surface:#fff}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;touch-action:manipulation;margin:0;font-family:Inter,sans-serif}body.menu-open{touch-action:none;overflow:hidden}a{color:#1c3d6e;-webkit-tap-highlight-color:transparent}a:hover{color:var(--accent)}button,[role=button],input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pressable{transition:transform var(--duration-fast) var(--ease-snap), background-color var(--duration-fast) var(--ease-snap), box-shadow var(--duration) var(--ease-out), opacity var(--duration-fast) var(--ease-snap);will-change:transform}.pressable:active{transform:scale(.96)}.pressable-soft:active{transform:scale(.985)}.page-enter{animation:pageEnter var(--duration-slow) var(--ease-out) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .7s var(--ease-out) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.mobile-menu{animation:menuIn .32s var(--ease-out) both}.mobile-menu-link{transition:background-color var(--duration-fast) var(--ease-snap), color var(--duration-fast) var(--ease-snap), transform var(--duration-fast) var(--ease-snap);border-radius:12px;margin:0 -8px;padding-left:12px!important;padding-right:12px!important}.mobile-menu-link:active{background:#11357a0f;transform:scale(.99)}@keyframes menuIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fab-stack{transition:transform var(--duration) var(--ease-out), opacity var(--duration) var(--ease-out)}.fab-stack.is-hidden{opacity:0;pointer-events:none;transform:translateY(20px)scale(.92)}.fab{transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration) var(--ease-out)}.fab:hover{transform:translateY(-2px)scale(1.04)}.fab:active{transform:scale(.92)}.field{transition:border-color var(--duration-fast) var(--ease-snap), box-shadow var(--duration-fast) var(--ease-snap), background-color var(--duration-fast) var(--ease-snap)}.field:focus{outline:none;box-shadow:0 0 0 3px #11357a1f;border-color:var(--brand)!important}.lift{transition:transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out)}.lift:hover{transform:translateY(-3px);box-shadow:0 12px 28px #10294a1f}.lift:active{transform:translateY(-1px)scale(.995)}.detail-panel{padding:28px 24px}@media (min-width:640px){.detail-panel{padding:32px 36px}}.map-point{transition:r .2s}.map-point:hover{r:8;fill:#e8a13d!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.fab-stack.is-hidden{opacity:1;pointer-events:auto;transform:none}}
