/* Shared mobile layer: visibility, footer, dialogs and reusable native swipe. */
.mzs-native-swipe-control{display:none}
.mzs-native-swipe-shell{min-width:0;max-width:100%}
.mzs-experience .mzs-continuity-layer{position:absolute;inset:0 auto auto 0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;opacity:.92}
.mzs-continuity-layer path{fill:none;stroke:color-mix(in srgb,var(--mzs-aqua) 24%,transparent);stroke-width:1.1;stroke-dasharray:2 9;vector-effect:non-scaling-stroke}
.mzs-continuity-layer circle{fill:var(--mzs-gold);opacity:.88}
.mzs-desktop-experience{position:relative;z-index:2}

@media (max-width:900px){
  .mzs-footer-signature{grid-template-columns:1fr;align-items:start}
  .mzs-footer-meta{grid-template-columns:1fr 1fr}
  .mzs-footer-tools{justify-content:flex-start}
}

@media (max-width:760px), (max-width:900px) and (max-height:520px){
  :where(.mzs-page){--mzs-body:17px;--mzs-lead:18px;--mzs-small:14px;--mzs-micro:14px;--mzs-micro-compact:14px;--mzs-eyebrow:14px;--mzs-mobile-swipe-card:min(78vw,374px)}
  .mzs-desktop-experience{display:none}
  .mzs-page :is(a,button).mzs-action{min-height:52px;font-size:15px;padding:7px 8px 7px 18px}

  /* Full footer remains part of the mobile story. */
  .mzs-footer{padding:88px 0 calc(178px + env(safe-area-inset-bottom));text-align:center;overflow:clip}
  .mzs-footer::before{top:-42vw;width:100%;max-width:520px}
  .mzs-footer-shell::before{right:-20%;top:12px;width:90vw;max-width:460px;opacity:.34}
  .mzs-footer-signature{grid-template-columns:1fr;justify-items:center;gap:28px;padding-bottom:42px;text-align:center}
  .mzs-footer-signature-copy{display:grid;justify-items:center}
  .mzs-footer-signature h2{max-width:13ch;margin-inline:auto;font-size:clamp(36px,9.8vw,46px);line-height:1;letter-spacing:-.045em}
  .mzs-footer-signature-copy>p:last-child{max-width:35ch;margin-inline:auto;font-size:17px;line-height:1.66}
  .mzs-footer-actions{justify-content:center;max-width:100%}
  .mzs-footer-actions .mzs-action{min-height:52px}
  .mzs-footer-index{padding:26px 0}.mzs-footer-index>small{font-size:14px}.mzs-footer-index>div{justify-content:center}.mzs-footer-index a{font-size:15px;padding-block:7px}
  .mzs-footer-office{width:min(100%,520px);grid-template-columns:1fr;gap:0;padding:8px 0 26px;text-align:center}.mzs-footer-office-block{justify-items:center;padding:20px 0;border-bottom:1px solid color-mix(in srgb,var(--mzs-line) 30%,transparent)}.mzs-footer-office-block:last-child{border-bottom:0}.mzs-footer-office-block small{font-size:14px}.mzs-footer-office-block strong{font-size:17px}.mzs-footer-office-block span{font-size:15px}.mzs-footer-office-address a{width:auto;min-height:44px;align-items:center;justify-content:center;margin-top:8px;font-size:14px}
  .mzs-footer-meta{grid-template-columns:1fr;justify-items:center;gap:28px;padding:30px 0;text-align:center}
  .mzs-footer-wordmark{justify-content:center}.mzs-footer-wordmark small{font-size:14px}
  .mzs-footer-direct{width:100%;grid-template-columns:1fr;justify-items:center;gap:12px}.mzs-footer-direct strong{font-size:15px}
  .mzs-footer-tools{justify-content:center}.mzs-footer-tools button{font-size:14px}
  .mzs-footer-bottom{display:grid;justify-content:center;gap:7px;text-align:center;font-size:14px;line-height:1.5}.mzs-footer-bottom span+span{justify-content:center}.mzs-footer-bottom span+span::before{display:none}

  /* Reusable native swipe on public pages/history/offer/events. */
  .mzs-native-swipe-shell{width:100%;max-width:100%;margin-inline:0;overflow:hidden}
  .mzs-native-swipe-shell [data-mzs-native-swipe-track]{
    display:flex;
    grid-template-columns:none;
    align-items:stretch;
    gap:14px;
    width:100%;
    max-width:none;
    margin:0;
    padding:4px 6% 12px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:6%;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
  }
  .mzs-native-swipe-shell [data-mzs-native-swipe-track]::-webkit-scrollbar{display:none}
  .mzs-native-swipe-shell [data-mzs-native-swipe-track]>*{scroll-snap-align:center;scroll-snap-stop:normal}
  .mzs-native-swipe-shell .mzs-bundle-grid>.mzs-bundle-card,
  .mzs-native-swipe-shell .mzs-event-grid>.mzs-event-card{flex:0 0 var(--mzs-mobile-swipe-card);width:var(--mzs-mobile-swipe-card);max-width:var(--mzs-mobile-swipe-card)}
  .mzs-native-swipe-shell .mzs-process-route>li,
  .mzs-native-swipe-shell .mzs-history-system-path>li,
  .mzs-native-swipe-shell .mzs-history-events-path>li,
  .mzs-native-swipe-shell .mzs-history-visibility-track>li,
  .mzs-native-swipe-shell .mzs-history-expertise-list>article{flex:0 0 var(--mzs-mobile-swipe-card);width:var(--mzs-mobile-swipe-card);max-width:var(--mzs-mobile-swipe-card);min-height:220px}
  .mzs-native-swipe-shell .mzs-history-index>a{flex:0 0 min(68vw,290px);width:min(68vw,290px);max-width:min(68vw,290px);min-height:76px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--mzs-aqua) 18%,transparent);border-radius:var(--mzs-radius-soft,18px);background:color-mix(in srgb,var(--mzs-surface) 12%,transparent);text-align:left;font-size:15px}.mzs-native-swipe-shell .mzs-history-index>a span{font-size:14px}
  .mzs-native-swipe-shell .mzs-portfolio-index>a{flex:0 0 min(76vw,350px);width:min(76vw,350px);max-width:min(76vw,350px);min-height:100px;padding:18px;border:1px solid color-mix(in srgb,var(--mzs-aqua) 18%,transparent);border-radius:20px;background:color-mix(in srgb,var(--mzs-surface) 14%,transparent)}
  .mzs-portfolio-index-shell{margin-bottom:78px}.mzs-native-swipe-shell .mzs-portfolio-index{margin-bottom:0;border:0}
  .mzs-native-swipe-control{width:min(100% - 40px,390px);min-height:48px;display:flex;align-items:center;justify-content:center;gap:14px;margin:8px auto 0;color:var(--mzs-text-soft);font-size:14px;font-weight:780}
  .mzs-native-swipe-control>button{min-height:48px;display:inline-flex;align-items:center;gap:9px;padding:0;border:0;background:transparent;background-image:none;color:var(--mzs-aqua);font:inherit;font-size:16px;font-weight:850;cursor:pointer;box-shadow:none}
  .mzs-native-swipe-control>button i{font-style:normal;font-size:22px;line-height:1;transition:transform .2s var(--mzs-ease)}
  .mzs-native-swipe-control>button:not(:disabled):active i{transform:translateX(4px)}
  .mzs-native-swipe-control>button:disabled{opacity:.42;cursor:default}
  .mzs-native-swipe-control small{font-size:14px}.mzs-native-swipe-control b{color:var(--mzs-gold);font-size:14px}

  /* Mobile sheets and dedicated Electric panel. */
  dialog.mzs-mobile-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--mzs-text);overflow:hidden}
  dialog.mzs-mobile-dialog:not([open]){display:none}
  dialog.mzs-mobile-dialog::backdrop{background:rgba(1,17,19,.76);backdrop-filter:blur(8px)}
  dialog.mzs-mobile-sheet[open]{display:grid;align-items:end}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell{width:100%;max-height:min(84dvh,760px);overflow:auto;padding:14px 22px calc(30px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb,var(--mzs-aqua) 30%,transparent);border-bottom:0;border-radius:var(--mzs-radius-panel,28px) 28px 0 0;background:radial-gradient(circle at 82% 0,color-mix(in srgb,var(--mzs-aqua) 9%,transparent),transparent 28%),linear-gradient(145deg,var(--mzs-modal),var(--mzs-bg-bottom));box-shadow:0 -24px 70px rgba(0,8,10,.34);outline:0;animation:mzsSheetIn .3s var(--mzs-ease)}
  .mzs-mobile-sheet-handle{width:46px;height:4px;margin:0 auto 17px;border-radius:var(--mzs-radius-pill,999px);background:color-mix(in srgb,var(--mzs-text-soft) 40%,transparent)}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>header{display:flex;align-items:center;justify-content:space-between}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>header small{color:var(--mzs-gold);font-size:14px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>header button{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--mzs-aqua) 34%,transparent);border-radius:50%;background:transparent;background-image:none;color:var(--mzs-aqua);font-size:23px}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>h2{max-width:13ch;margin:18px 0 0;font-size:clamp(34px,9vw,44px);line-height:1;letter-spacing:-.05em}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>p{margin:18px 0 0;color:var(--mzs-text-soft);font-size:17px;line-height:1.66}
  .mzs-mobile-sheet [data-mobile-sheet-related]{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.mzs-mobile-sheet [data-mobile-sheet-related] span{padding:7px 10px;border:1px solid color-mix(in srgb,var(--mzs-aqua) 30%,transparent);border-radius:var(--mzs-radius-pill,999px);color:var(--mzs-aqua);font-size:14px}.mzs-mobile-sheet [data-mobile-sheet-add]{margin-top:24px}
  dialog.mzs-electric-panel[open]{display:block;overflow:auto;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--mzs-aqua) 12%,transparent),transparent 28%),linear-gradient(180deg,var(--mzs-bg-top),var(--mzs-bg-bottom))}
  .mzs-electric-close{position:fixed;right:18px;top:calc(16px + env(safe-area-inset-top));z-index:2;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--mzs-aqua) 38%,transparent);border-radius:50%;background:color-mix(in srgb,var(--mzs-bg-bottom) 84%,transparent);color:var(--mzs-aqua);font-size:25px}
  .mzs-electric-panel-inner{min-height:100dvh;display:grid;align-content:center;justify-items:center;padding:82px 24px calc(54px + env(safe-area-inset-bottom));text-align:center}
  .mzs-electric-panel-inner>.mzs-logo-stage{width:min(220px,62vw);margin-inline:auto;--mzs-logo-stage-accent:var(--mzs-aqua)}
  .mzs-electric-panel-inner>.mzs-logo-stage .mzs-logo-stage-field{border-radius:var(--mzs-radius-card,24px)}
.mzs-electric-panel-inner h2{margin:12px 0 0;color:var(--mzs-text);font-size:clamp(42px,11vw,58px);letter-spacing:-.055em}.mzs-electric-panel-inner>p:not(.mzs-eyebrow){max-width:34ch;margin:20px 0 0;color:var(--mzs-text-soft);font-size:17px;line-height:1.66}.mzs-electric-panel-inner ol{width:100%;max-width:560px;display:grid;margin:32px 0 0;padding:0;list-style:none;text-align:left}.mzs-electric-panel-inner li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--mzs-line) 42%,transparent)}.mzs-electric-panel-inner li span{color:var(--mzs-gold);font-size:14px;font-weight:900}.mzs-electric-panel-inner li strong{color:var(--mzs-text);font-size:17px}.mzs-electric-panel-inner>.mzs-action{margin-top:26px}
  body.mzs-mobile-dialog-open{overflow:hidden}
}

@media (max-width:370px){
  .mzs-native-swipe-shell .mzs-bundle-grid>.mzs-bundle-card,.mzs-native-swipe-shell .mzs-event-grid>.mzs-event-card,.mzs-native-swipe-shell .mzs-process-route>li,.mzs-native-swipe-shell .mzs-history-system-path>li,.mzs-native-swipe-shell .mzs-history-events-path>li,.mzs-native-swipe-shell .mzs-history-visibility-track>li,.mzs-native-swipe-shell .mzs-history-expertise-list>article{flex-basis:84vw;width:84vw;max-width:84vw}
}

@media (prefers-reduced-motion:reduce){dialog.mzs-mobile-dialog *{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}
@keyframes mzsSheetIn{from{transform:translateY(18px);opacity:.4}to{transform:none;opacity:1}}
