/* Shared Mammut display preferences. Keep brand values in these tokens. */
:root { --a11y-navy:#001e3d; --a11y-green:#a5c66a; --a11y-paper:#f3f6f8; }
.home-page .footer-title,.product-page .footer-title,.contact-page .footer-title { color:#8bac47; }
.legal-content, .legal-hero-title { overflow-wrap:anywhere; hyphens:auto; }
.a11y-launch { position:fixed; right:24px; bottom:24px; z-index:900; display:grid; place-items:center; width:60px; height:60px; padding:7px; border:2px solid white; border-radius:50%; color:white; background:var(--a11y-navy); box-shadow:0 0 0 4px var(--a11y-green),0 6px 24px #001e3d40; cursor:pointer; }
.a11y-launch svg { width:100%; height:100%; }
.a11y-panel { position:fixed; inset:0 0 0 auto; width:min(500px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; color:var(--a11y-navy); background:var(--a11y-paper); font:calc(16px * var(--a11y-menu-scale,1))/1.5 Arial,sans-serif; overflow:auto; box-shadow:-16px 0 60px #001e3d33; }
.a11y-panel::backdrop { background:#001e3d55; }
.a11y-panel *, .a11y-launch { box-sizing:border-box; }
.a11y-panel button,.a11y-panel a,.a11y-panel summary { font:inherit; cursor:pointer; }
.a11y-panel button { color:inherit; }
.a11y-panel :focus-visible,.a11y-launch:focus-visible { outline:3px solid #507825; outline-offset:4px; }
.a11y-top { position:sticky; top:0; z-index:2; padding:26px 24px 22px; color:white; background:var(--a11y-navy); border-bottom:4px solid var(--a11y-green); }
html:has(.a11y-panel[open]) { overflow:hidden; }
.a11y-brand { display:block; font-size:calc(12px * var(--a11y-menu-scale,1)); font-weight:700; letter-spacing:.16em; color:var(--a11y-green); margin-bottom:12px; }
.a11y-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.a11y-heading h2 { margin:0; color:white; font-size:calc(25px * var(--a11y-menu-scale,1)); line-height:1.2; }
.a11y-close { flex:none; width:44px; height:44px; border:1px solid #aebccc; border-radius:50%; background:transparent; color:white!important; font-size:calc(28px * var(--a11y-menu-scale,1))!important; }
.a11y-top p { margin:12px 0 0; font-size:calc(14px * var(--a11y-menu-scale,1)); color:#d9e2ea; }
.a11y-body { padding:20px 24px; }
.a11y-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid #bac6d1; }
.a11y-toolbar button { border:1px solid #9cacbb; background:white; padding:8px 12px; border-radius:6px; min-height:44px; }
.a11y-panel h3 { margin:24px 0 12px; font-size:calc(13px * var(--a11y-menu-scale,1)); letter-spacing:.1em; text-transform:uppercase; color:#40576c; }
.a11y-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.a11y-tile { min-width:0; min-height:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:15px 8px 10px; background:white; border:1px solid #bdcad5; border-radius:10px; text-align:center; }
.a11y-tile:hover { border-color:#527928; background:#f1f6e9; }
.a11y-tile[aria-pressed="true"] { border:2px solid #527928; padding:14px 7px 9px; background:#e9f1db; }
.a11y-icon { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.a11y-tile strong { font-size:calc(14px * var(--a11y-menu-scale,1)); line-height:1.25; font-weight:600; overflow-wrap:anywhere; }
.a11y-state { font-size:calc(12px * var(--a11y-menu-scale,1)); color:#41576c; }
.a11y-bottom { padding:18px 24px 24px; border-top:1px solid #bac6d1; }
.a11y-reset { width:100%; min-height:46px; border:1px solid var(--a11y-navy); border-radius:6px; background:var(--a11y-navy); color:white!important; font-weight:600!important; }
.a11y-bottom p { color:#41576c; font-size:calc(12px * var(--a11y-menu-scale,1)); margin:12px 0 0; }
.a11y-panel[data-large="true"] { width:min(650px,100%); --a11y-menu-scale:1.25; }
.a11y-structure { margin-top:18px; }
.a11y-structure summary { padding:12px 0; font-weight:700; }
.a11y-structure a { display:block; padding:9px 0; color:var(--a11y-navy); text-decoration:underline; overflow-wrap:anywhere; }
html[data-a11y-links="1"] body > :not(.a11y-panel) a { text-decoration:underline!important; text-decoration-thickness:2px!important; text-underline-offset:.2em; }
html[data-a11y-spacing="1"] :is(main,header,footer) :is(p,a,button,li,h1,h2,h3,span) { letter-spacing:.12em!important; word-spacing:.16em!important; }
html[data-a11y-line="1"] :is(main,header,footer) :is(p,a,button,li,h1,h2,h3,span) { line-height:1.8!important; }
html[data-a11y-line="1"] main p { margin-bottom:2em!important; }
html[data-a11y-font="1"] :is(main,header,footer) * { font-family:Arial,sans-serif!important; }
html[data-a11y-align="1"] main :is(p,h1,h2,h3,li) { text-align:left!important; }
html[data-a11y-motion="1"] { scroll-behavior:auto!important; }
html[data-a11y-motion="1"] *,html[data-a11y-motion="1"] *::before,html[data-a11y-motion="1"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
html[data-a11y-motion="1"] :is(.reveal-section,.hero-copy,.hero-title,.legal-hero-title) { opacity:1!important; transform:none!important; }
html[data-a11y-decor="1"] main img[alt=""] { visibility:hidden!important; }
html[data-a11y-saturation="1"] :is(main,header,footer) { filter:grayscale(1); }
html[data-a11y-cursor="1"] body { cursor:crosshair; }
html[data-a11y-cursor="1"] a,html[data-a11y-cursor="1"] button { cursor:pointer; outline-offset:4px; }
html[data-a11y-cursor="1"] :is(a,button):hover { outline:3px solid #a5c66a; }
html[data-a11y-contrast="1"] :is(main,header,footer),html[data-a11y-contrast="1"] :is(main,header,footer) * { background-color:#00152b!important; color:#fff!important; border-color:#c4d5e6!important; text-shadow:none!important; }
html[data-a11y-contrast="1"] :is(main,header,footer) a { color:#d3f291!important; }
html[data-a11y-reading="1"] :is(main,header,footer) { overflow-wrap:anywhere; }
html[data-a11y-reading="1"] .site-header { height:auto; min-height:var(--header-h); }
html[data-a11y-reading="1"] .nav-toggle { display:block; }
html[data-a11y-reading="1"] .site-nav { position:fixed; top:var(--header-h); left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px 20px 22px; background:#001e3d; max-height:calc(100dvh - var(--header-h)); overflow:auto; }
html[data-a11y-reading="1"] .site-nav.is-open { display:flex; }
html[data-a11y-reading="1"] main * { min-width:0; overflow-wrap:anywhere; }
html[data-a11y-reading="1"] footer * { min-width:0; overflow-wrap:anywhere; }
html[data-a11y-reading="1"] .footer-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
html[data-a11y-reading="1"] :is(.hero-inner,.feature-flip-grid) { grid-template-columns:minmax(0,1fr)!important; }
html[data-a11y-reading="1"] :is(.hero-copy,.hero-title,.hero-kicker,.hero-concept-statement) { width:auto!important; max-width:100%!important; white-space:normal!important; }
html[data-a11y-reading="1"] :is(.hero-copy,.hero-title,.hero-kicker,.hero-concept-statement) span { white-space:normal!important; }
html[data-a11y-motion="1"] :is(.hero-sub,.hero-kicker,.product-hero-title,.feature-item) { opacity:1!important; transform:none!important; }
html[data-a11y-reading="1"] [class$="flip-card__inner"] { display:grid!important; height:auto!important; }
html[data-a11y-reading="1"] [class$="flip-card__face"] { position:relative!important; grid-area:1/1; height:auto!important; min-width:0; }
html[data-a11y-reading="1"] [class$="flip-card__face"][aria-hidden="true"] { visibility:hidden!important; }
@media(max-width:420px) { .a11y-launch { right:18px; bottom:18px; width:52px; height:52px; } .a11y-body,.a11y-top,.a11y-bottom { padding-left:16px; padding-right:16px; } .a11y-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .a11y-heading h2 { font-size:calc(23px * var(--a11y-menu-scale,1)); } }
@media(forced-colors:active) { .a11y-tile[aria-pressed="true"] { outline:3px solid Highlight; } .a11y-launch { border:3px solid ButtonText; } }
/* Give monochrome images a light outline around black ink, so their
   silhouettes remain visible on both light and dark system surfaces. */
@media(forced-colors:active) {
  .brand img,
  .footer-mark img,
  .product-page-core .city-filter-icon,
  .benefit-tile img {
    forced-color-adjust:none;
    filter:brightness(0) drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)!important;
    background:transparent!important;
    opacity:1!important;
  }
  .footer-mark { opacity:1!important; }
}

.a11y-section-target { scroll-margin-top:var(--a11y-header-offset,110px); }
@media(max-width:960px) {
  .site-nav { max-height:calc(100dvh - var(--header-h)); overflow-y:auto; overscroll-behavior:contain; }
}
@media(max-width:620px) {
  .home-page .hero-title { overflow-wrap:anywhere; }
}
.a11y-toolbar { flex-wrap:wrap; }
@media(max-height:480px) { .a11y-top { position:static; } }
@media(max-width:280px) { .a11y-grid { grid-template-columns:minmax(0,1fr); } }
