/* Mobile navigation — canonical owner for dock, back control and quick contact sheet. */
.mzs-mobile-dock,.mzs-mobile-back{display:none}

.mzs-mobile-contact-sheet{width:100%;max-width:none;height:auto;max-height:88dvh;margin:auto 0 0;padding:0;border:0;background:transparent;color:var(--mzs-text);overflow:visible}
.mzs-mobile-contact-sheet::backdrop{background:rgba(1,17,19,.7);backdrop-filter:blur(8px)}
.mzs-mobile-contact-sheet-inner{width:min(100%,560px);margin-inline:auto;padding:12px 20px calc(24px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb,var(--mzs-aqua) 26%,transparent);border-bottom:0;border-radius:30px 30px 0 0;background:linear-gradient(155deg,color-mix(in srgb,var(--mzs-nav) 97%,transparent),color-mix(in srgb,var(--mzs-bg-bottom) 98%,transparent));box-shadow:0 -28px 80px rgba(0,8,10,.46)}
.mzs-mobile-contact-sheet-inner>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:10px 0 20px}
.mzs-mobile-contact-sheet-inner>header small{color:var(--mzs-gold);font-size:14px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mzs-mobile-contact-sheet-inner>header h2{max-width:12ch;margin:7px 0 0;font-size:clamp(32px,8.8vw,42px);line-height:1;letter-spacing:-.045em}
.mzs-mobile-contact-sheet-inner>header button{width:48px;height:48px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--mzs-aqua) 30%,transparent);border-radius:16px;background:color-mix(in srgb,var(--mzs-surface) 36%,transparent);background-image:none;color:var(--mzs-aqua);font:inherit;font-size:25px;cursor:pointer}
.mzs-mobile-contact-sheet-inner>header button:hover,.mzs-mobile-contact-sheet-inner>header button:focus-visible{border-color:color-mix(in srgb,var(--mzs-aqua) 56%,transparent);background:color-mix(in srgb,var(--mzs-hover-surface) 70%,transparent);color:var(--mzs-text)}
.mzs-mobile-contact-actions{display:grid;gap:10px;margin-bottom:16px}
.mzs-mobile-contact-actions a{min-height:76px;display:grid;grid-template-columns:44px minmax(0,1fr) 30px;align-items:center;gap:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--mzs-line) 42%,transparent);border-radius:20px;background:color-mix(in srgb,var(--mzs-surface) 26%,transparent);color:var(--mzs-text);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.mzs-mobile-contact-actions a:hover,.mzs-mobile-contact-actions a:focus-visible{border-color:color-mix(in srgb,var(--mzs-aqua) 48%,transparent);background:color-mix(in srgb,var(--mzs-hover-surface) 58%,transparent);transform:translateY(-1px)}
.mzs-mobile-contact-actions a i{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--mzs-radius-control,14px);background:color-mix(in srgb,var(--mzs-aqua) 9%,transparent);color:var(--mzs-aqua);font-style:normal;font-weight:900}
.mzs-mobile-contact-actions a small{display:block;color:var(--mzs-text-soft);font-size:14px}
.mzs-mobile-contact-actions a strong{display:block;margin-top:3px;font-size:17px;overflow-wrap:anywhere}
.mzs-mobile-contact-actions a b{color:var(--mzs-aqua);font-size:19px}
.mzs-mobile-contact-sheet-inner>.mzs-action{width:100%;min-height:54px;justify-content:center}

@media (max-width:760px),(max-width:900px) and (max-height:520px){
  .mzs-mobile-back{grid-column:1;display:grid;place-items:center;justify-self:start;width:46px;height:46px;padding:0;border:1px solid color-mix(in srgb,var(--mzs-aqua) 28%,transparent);border-radius:15px;background:color-mix(in srgb,var(--mzs-nav) 76%,transparent);background-image:none;color:var(--mzs-aqua);font:inherit;font-size:21px;box-shadow:none;cursor:pointer}
  .mzs-mobile-back[hidden]{display:none}
  .mzs-mobile-back:hover,.mzs-mobile-back:focus-visible{border-color:color-mix(in srgb,var(--mzs-aqua) 56%,transparent);background:color-mix(in srgb,var(--mzs-hover-surface) 66%,transparent);color:var(--mzs-text)}

  .mzs-mobile-dock{position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:52;width:min(calc(100% - 24px),430px);display:grid;grid-template-columns:repeat(var(--mzs-dock-count,3),minmax(0,1fr));gap:7px;padding:7px;border:1px solid color-mix(in srgb,var(--mzs-aqua) 24%,transparent);border-radius:var(--mzs-radius-card,24px);background:color-mix(in srgb,var(--mzs-nav) 92%,transparent);backdrop-filter:blur(20px) saturate(120%);box-shadow:0 18px 48px rgba(0,12,14,.3);transform:translateX(-50%);transition:opacity .25s,transform .3s var(--mzs-ease)}
  .mzs-mobile-dock>a,.mzs-mobile-dock>button{min-width:0;min-height:72px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;padding:8px 9px;border:0;border-radius:var(--mzs-radius-soft,18px);background:transparent;background-image:none;box-shadow:none;color:var(--mzs-text-soft);font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none}
  .mzs-mobile-dock>a i,.mzs-mobile-dock>button i{width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--mzs-aqua) 26%,transparent);border-radius:11px;color:var(--mzs-aqua);font-style:normal;font-size:16px}
  .mzs-mobile-dock>a>span,.mzs-mobile-dock>button>span{min-width:0;display:block}
  .mzs-mobile-dock>a strong,.mzs-mobile-dock>button strong{display:block;color:var(--mzs-text);font-size:15px;font-weight:850;line-height:1.08;white-space:normal}
  .mzs-mobile-dock>a small,.mzs-mobile-dock>button small{display:block;margin-top:4px;color:var(--mzs-text-soft);font-size:14px;font-weight:650;line-height:1.16;white-space:normal}
  .mzs-mobile-dock>a:hover,.mzs-mobile-dock>a:focus-visible,.mzs-mobile-dock>button:hover,.mzs-mobile-dock>button:focus-visible,.mzs-mobile-dock>a.is-active{background:linear-gradient(145deg,color-mix(in srgb,var(--mzs-hover-surface) 70%,transparent),color-mix(in srgb,var(--mzs-surface) 18%,transparent));color:var(--mzs-text)}
  .mzs-mobile-dock>a.is-active i{border-color:color-mix(in srgb,var(--mzs-aqua) 58%,transparent);background:color-mix(in srgb,var(--mzs-hover-surface) 74%,transparent)}
  .mzs-mobile-dock.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%,140%)}
  .mzs-page{scroll-padding-bottom:calc(164px + env(safe-area-inset-bottom))}
}

@media (max-width:370px){
  .mzs-mobile-dock{width:calc(100% - 18px);gap:5px;padding:6px}
  .mzs-mobile-dock>a,.mzs-mobile-dock>button{min-height:66px;grid-template-columns:1fr;justify-items:center;padding-inline:4px;text-align:center}
  .mzs-mobile-dock>a small,.mzs-mobile-dock>button small{display:none}
  .mzs-mobile-dock>a strong,.mzs-mobile-dock>button strong{font-size:14px}
}

@media (max-width:900px) and (max-height:520px){.mzs-mobile-dock{display:none}.mzs-page{scroll-padding-bottom:76px}}
@media (prefers-reduced-motion:reduce){.mzs-mobile-dock,.mzs-mobile-contact-actions a{transition:none}}
