/* Mobile layout owner for narrow screens: contained layout, centered typography,
 * controlled swipe decks, progressive disclosure and simplified decorative layers.
 */

/* Radio component geometry is owned by radio-player.css. */

@media (max-width:760px), (max-width:900px) and (max-height:520px){
  :where(.mzs-page){
    --mzs-mobile-reading:34ch;
    --mzs-mobile-swipe-card:min(88%,390px);
    --mzs-body:16px;
    --mzs-lead:17px;
    --mzs-section-mobile:38px;
    --mzs-hero-mobile:45px;
  }
  .mzs-ambient,.mzs-continuity-layer{display:none;}

  /* Mobile page sections are contained, centered and visually calm. */
  .mzs-mobile-experience{padding-top:var(--mzs-nav-visual-start,var(--mzs-nav-height-mobile));overflow:hidden;}
  .mzs-mobile-experience::before{opacity:.34;}
  .mzs-mobile-scene{
    width:var(--mzs-mobile-container);
    max-width:var(--mzs-mobile-container);
    margin-inline:auto;
    padding:62px 14px 72px;
    overflow:hidden;
    text-align:center;
  }
  .mzs-mobile-scene:first-child{padding-top:38px;}
  .mzs-mobile-scene::before{width:min(64vw,240px);top:30px;opacity:.24;}
  .mzs-mobile-scene>*{width:auto;max-width:100%;margin-inline:auto;}
  .mzs-mobile-scene-header{width:100%;max-width:100%;margin-bottom:30px;text-align:center;}
  .mzs-mobile-scene :is(h1,h2,h3),
  .mzs-mobile-scene-header :is(h1,h2,h3){width:100%;margin-left:auto;margin-right:auto;text-align:center;text-wrap:balance;}
  .mzs-mobile-scene h2{max-width:100%;font-size:clamp(32px,9.2vw,39px);line-height:1.02;letter-spacing:-.045em;}
  .mzs-mobile-hero h2{font-size:clamp(38px,10.8vw,45px);line-height:.98;letter-spacing:-.052em;}
  .mzs-mobile-scene>p,.mzs-mobile-scene-header>p:last-child{width:min(100%,34ch);font-size:17px;line-height:1.62;text-align:center;}
  .mzs-mobile-experience .mzs-eyebrow{justify-content:center;width:100%;font-size:13.5px;line-height:1.35;letter-spacing:.11em;text-align:center;}
  .mzs-mobile-hero{min-height:auto;padding-bottom:62px;}
  .mzs-mobile-scene-orbit,.mzs-mobile-contact-orbit{width:min(42vw,150px);margin-bottom:18px;opacity:.72;}
  .mzs-mobile-hero-actions{width:100%;gap:10px;margin-top:24px;}
  .mzs-mobile-hero-actions .mzs-action{min-width:min(100%,290px);}

  /* Never break out of the mobile container. Horizontal navigation remains native. */
  .mzs-mobile-swipe-shell,.mzs-native-swipe-shell{width:100%;max-width:100%;margin-inline:0;overflow:hidden;}
  .mzs-mobile-swipe-track,.mzs-native-swipe-shell [data-mzs-native-swipe-track]{
    width:100%;
    max-width:100%;
    gap:12px;
    padding:4px 6% 10px;
    scroll-padding-inline:6%;
  }
  .mzs-mobile-swipe-track>[data-mobile-swipe-card]{flex:0 0 88%;width:88%;max-width:390px;}
  .mzs-mobile-swipe-meta,.mzs-native-swipe-control{width:100%;min-height:44px;gap:12px;margin-top:8px;padding:0 6px;font-size:13px;}
  .mzs-mobile-swipe-next,.mzs-native-swipe-control>button{min-height:44px;font-size:15px;}
  .mzs-mobile-swipe-next i,.mzs-native-swipe-control>button i{font-size:20px;}

  /* Mobile interactive cards are compact containers, not oversized desktop panels. */
  .mzs-mobile-chapter-core{width:min(62vw,230px);padding:28px;}
  .mzs-mobile-chapter-core>strong{font-size:clamp(25px,7vw,31px);}
  .mzs-page.mzs-page :is(.mzs-mobile-chapter-list button,.mzs-mobile-motion-tabs button,.mzs-mobile-diagnosis-list button,.mzs-mobile-capability-strip button){
    min-height:132px;padding:20px 16px;border-radius:20px
  ;}
  .mzs-mobile-chapter-list button strong,.mzs-mobile-motion-tabs button strong,.mzs-mobile-diagnosis-list button strong,.mzs-mobile-capability-strip button strong{font-size:clamp(19px,5.2vw,22px);}
  .mzs-mobile-motion-stage,.mzs-mobile-needs-layout,.mzs-mobile-capability-deck{gap:20px;}
  .mzs-mobile-motion-core,.mzs-mobile-inline-result,.mzs-mobile-selection{width:100%;max-width:420px;padding-left:16px;padding-right:16px;}
  .mzs-mobile-motion-core>strong,.mzs-mobile-inline-result h3{font-size:clamp(28px,7.7vw,34px);}
  .mzs-mobile-motion-core>p,.mzs-mobile-inline-result>p,.mzs-mobile-process-card p,.mzs-mobile-capability-text{font-size:16px;line-height:1.58;}
  .mzs-mobile-process-card{min-height:0;padding:24px 18px;border-radius:20px;}
  .mzs-mobile-process-card h3{font-size:clamp(26px,7.2vw,32px);}
  .mzs-mobile-future{grid-template-columns:1fr;gap:8px;width:100%;max-width:390px;}
  .mzs-mobile-future>i{rotate:90deg;}

  /* Proof rails stay inside the reading container. */
  .mzs-proof-rail,.mzs-momentum-proof.is-mobile{padding:58px 0;overflow:hidden;}
  .mzs-proof-rail-inner,.mzs-momentum-proof-inner{width:var(--mzs-mobile-container);max-width:var(--mzs-mobile-container);margin-inline:auto;}
  .mzs-proof-rail-copy,.mzs-momentum-proof-heading{text-align:center;}
  .mzs-proof-rail-copy small,.mzs-momentum-proof-heading>.mzs-eyebrow{justify-content:center;}
  .mzs-proof-rail-copy p,.mzs-momentum-proof-heading>p:last-child{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.62;}
  .mzs-proof-rail-track{width:100%;margin-inline:0;padding:0 5% 8px;gap:12px;scroll-padding-inline:5%;}
  .mzs-momentum-proof-heading h2{font-size:clamp(31px,8.8vw,39px);max-width:13ch;}
  .mzs-momentum-proof-grid>a{padding:22px 0;}.mzs-momentum-proof-grid>a>strong{font-size:22px;}.mzs-momentum-proof-grid>a>p{font-size:16px;line-height:1.6;}

  /* Project story / galaxy: contained and readable. */
  .mzs-mobile-project{min-height:350px;padding:20px 10px;}
  .mzs-mobile-project-logo-wrap{height:100px;margin-bottom:14px;}
  .mzs-mobile-project-logo-wrap img,.mzs-mobile-project-logo-wrap .mzs-project-logo-plain{max-height:86px;max-width:min(190px,82%);}
  .mzs-mobile-ecosystem-stage[data-stage-key="zsm"] .mzs-mobile-project-logo-wrap{height:118px;}
  .mzs-mobile-projects-scene::after{display:none;}
  .mzs-mobile-projects-scene .mzs-mobile-ecosystem-galaxy,
  .mzs-ecosystem-galaxy{width:100%;max-width:440px;margin-left:auto;margin-right:auto;translate:none;}
  .mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-project{width:58px;}
  .mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-satellite{width:26px;}
  .mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-core{width:144px;}
  .mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item strong{font-size:13px;line-height:1.2;}
  .mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-core strong{font-size:13.5px;}
  .mzs-mobile-ecosystem-climax{min-height:360px;width:100%;overflow:hidden;}
  .mzs-mobile-ecosystem-climax-ring.is-a{width:68vw;}.mzs-mobile-ecosystem-climax-ring.is-b{width:94vw;}
  .mzs-mobile-ecosystem-climax-logo{width:min(48vw,180px);}

  /* Public views: one centered column, smaller headings, no decorative overflow. */
  .mzs-experience .mzs-public-hero{min-height:auto;padding:calc(var(--mzs-nav-visual-start,var(--mzs-nav-height-mobile)) + 40px) 0 62px;text-align:center;overflow:hidden;}
  .mzs-experience .mzs-public-hero::before{display:none;}
  .mzs-experience .mzs-public-hero .mzs-shell{width:var(--mzs-mobile-container);}
  .mzs-experience .mzs-public-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;}
  .mzs-experience .mzs-public-hero-copy{min-width:0;text-align:center;}
  .mzs-experience .mzs-public-hero h1{max-width:13ch;margin:14px auto 20px;font-size:clamp(34px,9.6vw,42px);line-height:1.02;letter-spacing:-.05em;text-align:center;}
  .mzs-experience .mzs-public-lead{max-width:34ch;margin-inline:auto;font-size:17px;line-height:1.62;text-align:center;}
  .mzs-experience .mzs-public-hero-mark{width:min(72vw,248px);max-width:248px;justify-self:center;margin:2px auto 0;}
  .mzs-experience .mzs-public-hero-mark-ring.is-outer{width:94%;}.mzs-experience .mzs-public-hero-mark-ring.is-inner{width:54%;}
  .mzs-experience .mzs-public-hero-mark-media{width:58%;height:58%;}
  .mzs-experience .mzs-public-hero-logo{border-radius:22px;filter:drop-shadow(0 12px 22px rgba(0,12,14,.24));}
  .mzs-experience .mzs-offer-hero-grid{grid-template-columns:1fr;gap:28px;}
  .mzs-offer-hero-copy{text-align:center;}
  .mzs-offer-orbit{width:min(100%,390px);justify-self:center;margin:8px auto 0;}
  .mzs-offer-planet-project{width:clamp(58px,17vw,72px);}.mzs-offer-planet-client{width:clamp(24px,7vw,31px);}
  .mzs-offer-orbit-core{width:35%;}.mzs-offer-planet-copy strong{font-size:13px;}.mzs-offer-core-copy strong{font-size:13.5px;}
  .mzs-experience .mzs-public-section{padding:64px 0;overflow:hidden;}
  .mzs-experience .mzs-public-heading,.mzs-case-section-heading{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:30px;text-align:center;}
  .mzs-experience .mzs-public-heading h2,.mzs-case-section-heading h2,.mzs-event-group-heading h2{max-width:14ch;margin-inline:auto;font-size:clamp(30px,8.8vw,38px);line-height:1.04;text-align:center;}
  .mzs-public-heading>a{justify-self:center;}
  .mzs-public-note{max-width:34ch;margin-inline:auto;text-align:center;}
  .mzs-event-groups{gap:70px;}
  .mzs-event-group-heading{margin-bottom:26px;}
  .mzs-event-group .mzs-event-card>a{padding:22px 0 30px;}
  
  
  .mzs-event-group .mzs-event-copy{padding-top:18px;}
  .mzs-event-group .mzs-event-copy h2{font-size:clamp(27px,7.7vw,33px);}
  .mzs-event-copy>.mzs-event-summary{max-width:34ch;font-size:16px;line-height:1.62;}

  /* Detail pages: do not repeat the same event logo immediately below a branded hero. */
  .mzs-case-study.has-hero-logo .mzs-event-detail-visual{display:none;}
  .mzs-case-study.has-hero-logo .mzs-event-detail-grid{display:block;margin-top:0;}

  /* Small taxonomies/history chips are separate readable controls, never escaped \n text. */
  .mzs-history-projects{width:100%;max-width:var(--mzs-mobile-panel);margin:18px auto 0;justify-content:center;gap:8px;}
  .mzs-history-projects li{max-width:100%;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;font-size:13px;line-height:1.35;letter-spacing:.015em;text-align:center;white-space:normal;overflow-wrap:anywhere;}

  /* Utility/detail controls stay inside the same app canvas. */
  .mzs-system-actions .mzs-shell{width:var(--mzs-mobile-container);grid-template-columns:1fr;gap:8px;}
  .mzs-system-actions a{width:100%;min-height:48px;justify-content:center;}
  .mzs-public-meta,.mzs-case-meta{max-width:var(--mzs-mobile-panel);margin-inline:auto;justify-content:center;}

  /* History becomes editorial, centered and contained. */
  .mzs-history-experience{overflow:hidden;}
  .mzs-history-hero,.mzs-history-system,.mzs-history-journey,.mzs-history-expertise,.mzs-history-events,.mzs-history-visibility,.mzs-history-local,.mzs-history-guide,.mzs-history-principle{padding:64px 0;}
  .mzs-history-hero-grid,.mzs-history-system-grid,.mzs-history-journey-grid,.mzs-history-events-grid,.mzs-history-guide-grid,.mzs-history-local-grid{width:var(--mzs-mobile-container);max-width:var(--mzs-mobile-container);margin-inline:auto;}
  .mzs-history-hero-copy h1,.mzs-history-experience .mzs-section-heading h2,.mzs-history-stage>h2,.mzs-history-local-grid>div h2{font-size:clamp(31px,8.8vw,39px);max-width:14ch;}
  .mzs-history-lead,.mzs-history-experience .mzs-section-heading>p:last-child,.mzs-history-stage>p:not(.mzs-eyebrow),.mzs-history-local-grid>div>p:last-child{max-width:34ch;font-size:16px;line-height:1.64;}
  .mzs-experience .mzs-history-hero-stage{min-height:230px;margin-top:28px;border-radius:28px;}
  .mzs-history-stage-visual{min-height:220px;padding:24px 18px;border-radius:22px;}
  .mzs-history-chapter{padding:44px 0;}
  .mzs-history-guide-panel{padding:22px 16px;border-radius:22px;}

  /* Progressive disclosure buttons inserted by mobile-pro.js. */

  .mzs-mobile-disclosure-button,.mzs-mobile-list-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:10px auto 0;font:inherit;font-weight:800;box-shadow:none;cursor:pointer
  ;}
  .mzs-mobile-disclosure-button i,.mzs-mobile-list-toggle i{font-style:normal;line-height:1;}
  .mzs-mobile-list-collapsed>li:nth-child(n/**/+4),.mzs-mobile-list-collapsed>article:nth-child(n/**/+4){display:none;}
  .mzs-mobile-list-collapsed.is-expanded>li,.mzs-mobile-list-collapsed.is-expanded>article{display:revert;}

  /* Footer is shorter and accordion-friendly. */
  .mzs-experience .mzs-footer{padding:68px 0 calc(148px + env(safe-area-inset-bottom));}
  .mzs-footer-signature{gap:22px;padding-bottom:28px;}
  .mzs-footer-signature h2{max-width:100%;font-size:clamp(32px,8.8vw,40px);}
  .mzs-footer-signature-copy>p:last-child{font-size:16px;line-height:1.62;}
  .mzs-footer-office{padding-bottom:14px;}
  .mzs-footer-meta{padding:22px 0;}

  /* Dock + compact player: no stacked 160px wall at the bottom. */
  .mzs-experience{padding-bottom:calc(104px + env(safe-area-inset-bottom));}
  .mzs-mobile-dock{bottom:calc(10px + env(safe-area-inset-bottom));gap:5px;padding:6px;border-radius:22px;}
  .mzs-mobile-dock>a,.mzs-mobile-dock>button{min-height:62px;grid-template-columns:28px minmax(0,1fr);gap:6px;padding:7px;}
  .mzs-mobile-dock>a i,.mzs-mobile-dock>button i{width:28px;height:28px;}
  .mzs-mobile-dock>a strong,.mzs-mobile-dock>button strong{font-size:13px;}
  .mzs-mobile-dock>a small,.mzs-mobile-dock>button small{display:none;}


  /* Dialogs/sheets are strictly viewport-contained. */
  .mzs-mobile-sheet .mzs-mobile-dialog-shell,.mzs-mobile-ecosystem-modal-shell,.mzs-mobile-contact-sheet-inner{width:100%;max-width:520px;margin-inline:auto;padding-left:18px;padding-right:18px;}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>h2,.mzs-mobile-ecosystem-modal-shell h2,.mzs-mobile-contact-sheet-inner>header h2{font-size:clamp(30px,8.4vw,38px);max-width:14ch;margin-inline:auto;text-align:center;}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell>p,.mzs-mobile-ecosystem-modal-shell>p{font-size:16px;line-height:1.6;text-align:center;}
}

@media (max-width:370px){
  :where(.mzs-page){--mzs-mobile-swipe-card:91%;}
  .mzs-mobile-scene{padding-left:10px;padding-right:10px;}
  .mzs-mobile-scene h2{font-size:31px;}.mzs-mobile-hero h2{font-size:37px;}
  .mzs-mobile-dock>a,.mzs-mobile-dock>button{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .mzs-mobile-dock>a strong,.mzs-mobile-dock>button strong{font-size:13.5px;}
  .mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-project{width:52px;}.mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-satellite{width:22px;}.mzs-mobile-projects-scene .mzs-ecosystem-galaxy-item.is-core{width:132px;}
}

@media (max-width:900px) and (max-height:520px){
  .mzs-mobile-dock{display:none;}
  .mzs-experience{padding-bottom:72px;}
}

@media (prefers-reduced-motion:reduce){
  .mzs-mobile-disclosure-button i,.mzs-mobile-list-toggle i{transition:none;}
}

/* Element-level mobile refinements. */
@media (max-width:760px), (max-width:900px) and (max-height:520px){
  /* Keep the top bar intentionally sparse on narrow screens. */
  .mzs-nav-inner{grid-template-columns:auto 1fr auto;gap:10px;}

  /* Decorative desktop rings are not useful on a phone. */
  .mzs-contact::before,.mzs-contact::after,.mzs-footer::before,.mzs-footer-shell::before,
  .mzs-experience .mzs-public-cta::before,.mzs-experience .mzs-public-cta::after{display:none;}

  /* Contact is a centered mobile card-flow rather than a two-column desktop composition. */
  .mzs-contact{padding:64px 0;text-align:center;overflow:hidden;}
  .mzs-contact-inner{grid-template-columns:1fr;gap:30px;text-align:center;}
  .mzs-contact-copy{display:grid;justify-items:center;}
  .mzs-contact-copy h2{max-width:13ch;margin-inline:auto;font-size:clamp(32px,9vw,40px);line-height:1.02;}
  .mzs-contact-copy .mzs-lead{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.62;}
  .mzs-contact-links{width:min(100%,560px);margin-inline:auto;text-align:left;}
  .mzs-contact-links a{min-height:64px;grid-template-columns:minmax(0,1fr) 26px;padding:12px 4px;}
  .mzs-contact-links a small{grid-column:1;}.mzs-contact-links a strong{grid-column:1;overflow-wrap:anywhere;}.mzs-contact-links a i{grid-column:2;grid-row:1/span 2;}

  /* Offer / service panels: centered headings and metadata, contained readable lists. */
  .mzs-service-panel,.mzs-service-detail,.mzs-offer-stage{text-align:center;}
  .mzs-experience .mzs-service-panel{width:100%;padding:34px 0;}
  .mzs-service-panel .mzs-public-meta,.mzs-service-detail .mzs-public-meta{justify-content:center;}
  .mzs-experience .mzs-service-panel h3{max-width:14ch;margin:18px auto 16px;font-size:clamp(29px,8.2vw,36px);line-height:1.04;text-align:center;}
  .mzs-service-panel>p{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.62;text-align:center;}
  .mzs-service-panel ul,.mzs-public-scope{width:100%;max-width:100%;margin:24px auto;text-align:left;}
  .mzs-service-panel li,.mzs-public-scope li{min-height:0;padding:11px 4px 11px 22px;font-size:15px;line-height:1.48;}
  .mzs-service-next{grid-template-columns:1fr;justify-items:center;gap:14px;margin-top:26px;padding-top:20px;}
  .mzs-service-expand-cta{width:min(100%,560px);grid-template-columns:minmax(0,1fr) 38px;gap:4px 10px;padding:15px 8px;text-align:center;}
  .mzs-service-expand-cta>span,.mzs-service-expand-cta>strong{text-align:center;}.mzs-service-expand-cta>strong{font-size:20px;line-height:1.2;}.mzs-service-expand-cta>i{width:38px;height:38px;}
  .mzs-service-contact-link,.mzs-offer-return{justify-self:center;margin-inline:auto;text-align:center;}
  .mzs-offer-direct-list{width:100%;grid-template-columns:1fr;gap:0;}
  .mzs-offer-direct-list a{min-height:56px;padding:10px 6px;text-align:left;}

  /* Service detail pages: the desktop sticky aside becomes a short centered intro. */
  .mzs-service-detail{grid-template-columns:1fr;gap:36px;}
  .mzs-service-detail aside{position:static;justify-items:center;gap:18px;text-align:center;}
  .mzs-service-detail>div{gap:44px;}
  .mzs-service-detail section{text-align:center;}
  .mzs-service-detail section h2{max-width:14ch;margin:8px auto 0;font-size:clamp(29px,8.2vw,36px);line-height:1.04;}
  .mzs-service-detail section>p:last-child{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.62;}
  .mzs-service-process{width:100%;max-width:100%;margin:24px auto 0;text-align:left;}
  .mzs-service-process li{min-height:50px;gap:12px;}.mzs-service-process strong{font-size:15px;}

  /* Price list is already a native details/accordion. Make it compact and clean. */
  .mzs-price-catalog{width:100%;margin-top:26px;padding-left:0;}
  .mzs-price-catalog::before,.mzs-price-item::before{display:none;}
  .mzs-price-item summary{grid-template-columns:34px minmax(0,1fr) 38px;gap:9px;min-height:92px;padding:17px 2px;text-align:left;}
  .mzs-price-heading small{font-size:13.5px;}.mzs-price-heading strong{font-size:20px;line-height:1.18;}
  .mzs-price-value{grid-column:2;justify-self:start;padding:6px 9px;font-size:13px;}
  .mzs-price-item summary>i{grid-column:3;grid-row:1/span 2;width:36px;height:36px;}
  .mzs-price-item-body{grid-template-columns:1fr;gap:14px;padding:0 4px 24px 43px;text-align:left;}
  .mzs-price-item-body p{font-size:15px;line-height:1.62;}

  /* Bundles: centered swipe cards on mobile; details remain readable inside the card. */
  .mzs-bundle-card{grid-template-columns:1fr;justify-items:center;gap:10px;min-height:0;padding:24px 16px;text-align:center;}
  .mzs-bundle-sequence,.mzs-bundle-card h3,.mzs-bundle-card p,.mzs-bundle-card>strong,.mzs-bundle-card>button{grid-column:1;grid-row:auto;justify-self:center;}
  .mzs-bundle-card h3{max-width:15ch;font-size:24px;}.mzs-bundle-card p{max-width:32ch;font-size:15px;line-height:1.58;}

  /* Event/card portfolio: identical optical logo viewport for every brand, irrespective of aspect ratio. */
  
  
  
  .mzs-event-group .mzs-event-copy{justify-items:center;text-align:center;}.mzs-event-copy>.mzs-event-meta{justify-content:center;}

  /* Event/case detail: one centered visual block, then editorial text. */
  .mzs-case-study{padding-top:58px;}.mzs-case-study .mzs-event-detail{gap:58px;}
  .mzs-case-study .mzs-public-back{margin:0 auto -12px;}
  .mzs-event-detail-grid{grid-template-columns:1fr;gap:28px;margin-top:12px;text-align:center;}
  .mzs-experience .mzs-event-detail-visual{min-height:230px;padding:14px 0;overflow:hidden;}
  .mzs-event-detail-visual>.mzs-logo-stage{width:min(100%,360px);margin-inline:auto;}
  .mzs-case-intro{text-align:center;}.mzs-case-intro .mzs-eyebrow{justify-content:center;text-align:center;}
  .mzs-event-detail-grid h2{max-width:14ch;margin:10px auto 18px;font-size:clamp(29px,8.2vw,36px);}
  .mzs-case-intro .mzs-case-about{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.64;}
  .mzs-case-meta{justify-content:center;}.mzs-case-intro>.mzs-action{margin-inline:auto;}
  .mzs-case-section-heading{grid-template-columns:1fr;gap:12px;text-align:center;}
  .mzs-case-section-heading .mzs-eyebrow{justify-content:center;}.mzs-case-section-heading h2{max-width:14ch;margin-inline:auto;}
  .mzs-case-section-heading>p:last-child{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.62;}
  .mzs-case-scope-list,.mzs-case-source-list{width:100%;max-width:100%;margin-left:auto;margin-right:auto;text-align:left;}
  .mzs-case-source-list{grid-template-columns:1fr;}.mzs-case-source-missing{max-width:34ch;margin-inline:auto;text-align:center;}

  /* Event-system game is reduced to tap-friendly vertical choices. */

  /* Footer: centered, short and scannable. Desktop-level index density is unnecessary here. */
  .mzs-footer::before,.mzs-footer-shell::before{display:none;}
  .mzs-footer-index>div{justify-content:center;}.mzs-footer-index a{padding:7px 9px;}.mzs-footer-index a+a{padding-left:9px;}.mzs-footer-index a+a::before{display:none;}
  .mzs-footer-office{grid-template-columns:1fr;text-align:center;}
  .mzs-footer-office-block{justify-items:center;}.mzs-footer-office-address a{width:auto;}
  .mzs-footer-actions{justify-content:center;max-width:100%;}
}

@media (max-width:390px){
  .mzs-nav-inner{gap:6px;}
  
}


/* Mobile app shell.
 * One mobile canvas, one scroll surface in drawers, footer accordions,
 * keyboard-safe sticky UI and >=44 px touch targets.
 */
@media (max-width:760px), (max-width:900px) and (max-height:520px){
  :where(.mzs-page){
    --mzs-mobile-panel:min(100%,640px);
    --mzs-mobile-touch:44px;
  }

  .mzs-page,.mzs-page *,.mzs-page *::before,.mzs-page *::after{box-sizing:border-box;}
  .mzs-page{--mzs-nav-visual-start:calc(var(--mzs-nav-height-mobile) + env(safe-area-inset-top) + 6px);--mzs-nav-visual-scrolled:calc(var(--mzs-nav-height-mobile) + env(safe-area-inset-top));}
  .mzs-experience .mzs-nav{padding-top:env(safe-area-inset-top);}
  .mzs-footer-shell,.mzs-contact-inner{width:var(--mzs-mobile-container);max-width:var(--mzs-mobile-container);margin-inline:auto;}

  /* Drawer: exactly one vertical scroll surface. The accordion itself never creates a nested scroller. */

  /* Mobile content contract: no child may become wider than the app canvas. */
  .mzs-view-offer .mzs-view-shell,.mzs-view-service .mzs-view-shell,.mzs-view-events .mzs-view-shell,.mzs-view-event .mzs-view-shell,.mzs-view-error .mzs-view-shell,.mzs-view-maintenance .mzs-view-shell{padding-top:0;}
  .mzs-mobile-scene,.mzs-public-section,.mzs-public-hero,.mzs-history-experience section,.mzs-contact,.mzs-footer{max-width:100%;}
  .mzs-mobile-scene :is(p,ul,ol,blockquote),.mzs-public-section :is(p,ul,ol,blockquote),.mzs-history-experience :is(p,ul,ol,blockquote){overflow-wrap:anywhere;}
  .mzs-mobile-scene :is(img,video,iframe,svg),.mzs-public-section :is(img,video,iframe,svg),.mzs-history-experience :is(img,video,iframe,svg){max-width:100%;height:auto;}

  /* Forms: one-column, iOS zoom-safe and fully contained. */
  .mzs-page :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){max-width:100%;font-size:16px;}
  .mzs-contact-fields{grid-template-columns:1fr;}
  .mzs-field,.mzs-field-wide{grid-column:1;min-width:0;}

  /* Sheets and dialogs behave as bottom sheets instead of desktop windows. */
  .mzs-mobile-sheet,.mzs-mobile-contact-sheet{padding:10px 10px max(10px,env(safe-area-inset-bottom));}
  .mzs-mobile-sheet .mzs-mobile-dialog-shell,.mzs-mobile-contact-sheet-inner,.mzs-mobile-ecosystem-modal-shell{width:var(--mzs-mobile-container);max-width:var(--mzs-mobile-container);max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;border-radius:26px 26px 18px 18px;}

  /* Footer becomes a compact app footer. Important CTA/contact stays visible; secondary data is accordion-based. */
  .mzs-experience .mzs-footer{padding-bottom:calc(122px + env(safe-area-inset-bottom));}
  .mzs-footer-signature,.mzs-footer-meta,.mzs-footer-bottom{width:100%;max-width:var(--mzs-mobile-panel);margin-inline:auto;text-align:center;}
  .mzs-footer-actions{width:100%;display:grid;justify-items:center;gap:9px;}
  .mzs-footer-actions .mzs-action{width:var(--mzs-mobile-ui);justify-content:center;}
  .mzs-footer-index{width:100%;max-width:var(--mzs-mobile-panel);margin-inline:auto;padding:8px 0;}
  .mzs-footer-index[data-mzs-mobile-accordion="1"]>div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 0 2px;}
  .mzs-footer-index[data-mzs-mobile-accordion="1"]>div[hidden]{display:none;}
  .mzs-footer-office{width:100%;max-width:var(--mzs-mobile-panel);margin-inline:auto;gap:8px;}
  .mzs-footer-office-block[data-mzs-mobile-accordion="1"]{display:block;width:100%;padding:0;border-bottom:1px solid color-mix(in srgb,var(--mzs-line) 28%,transparent);text-align:left;}
  .mzs-mobile-footer-toggle{width:100%;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:12px;padding:0 4px;border:0;background:transparent;color:var(--mzs-text);font:inherit;font-size:16px;font-weight:820;text-align:left;cursor:pointer;}
  .mzs-mobile-footer-toggle i{width:36px;height:36px;display:grid;place-items:center;justify-self:end;border:1px solid color-mix(in srgb,var(--mzs-aqua) 28%,transparent);border-radius:12px;color:var(--mzs-aqua);font-style:normal;font-size:20px;font-weight:500;transition:rotate .2s var(--mzs-ease),background .2s,border-color .2s;}
  .mzs-mobile-footer-toggle[aria-expanded="true"] i{rotate:45deg;background:color-mix(in srgb,var(--mzs-aqua) 8%,transparent);border-color:color-mix(in srgb,var(--mzs-aqua) 48%,transparent);}
  .mzs-mobile-footer-panel{display:grid;justify-items:start;gap:5px;padding:2px 4px 18px;color:var(--mzs-text-soft);text-align:left;}
  .mzs-mobile-footer-panel[hidden]{display:none;}
  .mzs-mobile-footer-panel>small:first-child{display:none;}
  .mzs-mobile-footer-panel strong{font-size:17px;color:var(--mzs-text);}
  .mzs-mobile-footer-panel a{min-height:44px;display:inline-flex;align-items:center;}
  .mzs-footer-meta{grid-template-columns:1fr;justify-items:center;gap:18px;}
  .mzs-footer-direct{display:grid;justify-items:center;gap:8px;text-align:center;}
  .mzs-footer-tools{justify-content:center;flex-wrap:wrap;}
  .mzs-footer-tools :is(a,button),.mzs-footer-direct a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  .mzs-footer-bottom{display:grid;justify-items:center;gap:6px;}

  /* Player and dock share one bottom-stack contract and leave the screen when the keyboard/modal/drawer is active. */

  /* Swipe UI: visible next-card affordance, restrained controls. */
  .mzs-mobile-swipe-track,.mzs-native-swipe-shell [data-mzs-native-swipe-track],.mzs-proof-rail-track{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
  .mzs-mobile-swipe-track::-webkit-scrollbar,.mzs-native-swipe-shell [data-mzs-native-swipe-track]::-webkit-scrollbar,.mzs-proof-rail-track::-webkit-scrollbar{display:none;}
  .mzs-mobile-swipe-next,.mzs-native-swipe-control>button{min-width:92px;border-radius:999px;}
}

@media (max-width:370px){
  :where(.mzs-page){--mzs-mobile-ui:min(100%,404px);}
  .mzs-footer-signature h2{font-size:32px;}
}

@media (prefers-reduced-motion:reduce){
  .mzs-mobile-footer-toggle i{transition:none;}
}

/* Canonical mobile reset and interaction owner.
 * Content remains fluid through the 760px breakpoint; only true UI controls/sticky surfaces use narrower lanes.
 */
@media (max-width:760px), (max-width:900px) and (max-height:520px){
  /* One page canvas. */
  :where(.mzs-page){--mzs-mobile-container:min(calc(100% - 24px),700px);--mzs-mobile-ui:min(100%,520px);--mzs-mobile-sticky:min(calc(100% - 24px),420px);}
  html,body,body.mzspl-canvas-page,body.mzspl-canvas,.mzs-page{max-width:100%;overflow-x:clip;overscroll-behavior-x:none;}
  .mzs-shell{width:var(--mzs-mobile-container);max-width:var(--mzs-mobile-container);margin-inline:auto;padding-inline:0;}
  .mzs-page{font-size:17px;line-height:1.62;}
  .mzs-page :where(h1,h2,h3,h4,p,li,strong,small,span,a,button){min-width:0;max-width:100%;word-break:normal;overflow-wrap:break-word;}

  /* Public hero/readability. */
  .mzs-experience .mzs-public-hero,.mzs-experience .mzs-offer-hero,.mzs-experience .mzs-ecosystem-hero,.mzs-public-section,.mzs-history-hero,.mzs-event-system{overflow:hidden;}
  .mzs-experience .mzs-public-hero{padding-top:calc(var(--mzs-nav-visual-start,var(--mzs-nav-height-mobile)) + 42px);}
  .mzs-experience .mzs-public-hero .mzs-eyebrow,.mzs-public-heading .mzs-eyebrow{font-size:13px;line-height:1.4;letter-spacing:.1em;}
  .mzs-experience .mzs-history-hero-stage{padding-top:52px;overflow:visible;}

  /* Equal optical logo viewport in event/collaboration cards. */
  .mzs-event-group .mzs-event-visual{min-height:142px;padding:14px 0 18px;}
  
  
  

  /* Canonical native rail. Only the local track scrolls; the page never does. */
  .mzs-native-swipe-shell,.mzs-mobile-swipe-shell{position:relative;width:100%;max-width:100%;margin-inline:0;overflow:hidden;}
  .mzs-native-swipe-shell [data-mzs-native-swipe-track],.mzs-mobile-swipe-track,.mzs-proof-rail-track{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%;max-width:100%;gap:12px;margin-inline:0;padding:4px 6% 10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:6%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .mzs-native-swipe-shell [data-mzs-native-swipe-track]::-webkit-scrollbar,.mzs-mobile-swipe-track::-webkit-scrollbar,.mzs-proof-rail-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,
  .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 88%;width:88%;max-width:390px;}
  .mzs-native-swipe-shell .mzs-history-index>a{flex:0 0 min(78%,320px);width:min(78%,320px);max-width:320px;}
  .mzs-native-swipe-shell .mzs-portfolio-index>a{flex:0 0 min(86%,370px);width:min(86%,370px);max-width:370px;}
  .mzs-rail-static [data-mzs-native-swipe-track]{display:grid;grid-template-columns:1fr;overflow:visible;padding-inline:0;}

  /* Calm, truthful arrows. */
  .mzs-native-swipe-control,.mzs-mobile-swipe-meta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin:8px 0 0;padding:0;}
  .mzs-native-swipe-control[hidden]{display:none;}
  .mzs-proof-rail[data-proof-rotator] .mzs-proof-rail-track{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;overflow-y:hidden;}
  .mzs-proof-rail[data-proof-rotator] .mzs-proof-rail-item.is-proof-active{animation:none;}
  .mzs-interaction-controls>.mzs-interaction-arrow{min-width:44px;width:44px;height:44px;min-height:44px;display:grid;place-items:center;order:1;padding:0;border:1px solid color-mix(in srgb,var(--mzs-aqua) 24%,transparent);border-radius:13px;background:transparent;background-image:none;color:var(--mzs-aqua);box-shadow:none;font:inherit;font-size:28px;font-weight:400;line-height:1;transition:opacity .18s,scale .18s,border-color .18s,background .18s;}
  .mzs-interaction-controls>.mzs-interaction-arrow.is-next{order:3;}
  .mzs-interaction-controls>small{order:2;min-width:46px;margin:0;color:var(--mzs-text-soft);font-size:13px;text-align:center;}
  .mzs-interaction-arrow:active:not(:disabled){scale:.96;}
  .mzs-interaction-arrow:focus-visible{outline:2px solid color-mix(in srgb,var(--mzs-aqua) 62%,transparent);outline-offset:3px;}
  .mzs-interaction-arrow:disabled,.mzs-interaction-arrow.is-soft{opacity:.22;pointer-events:none;}
  .mzs-swipe-hint{position:absolute;right:12px;bottom:56px;z-index:4;display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--mzs-gold) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--mzs-nav) 90%,transparent);color:var(--mzs-text);box-shadow:none;opacity:0;translate:5px 0;pointer-events:none;transition:opacity .2s ease,translate .2s ease;font-size:13px;font-weight:760;backdrop-filter:blur(12px);}
  .mzs-swipe-hint i{font-style:normal;color:var(--mzs-gold);font-size:20px;}
  .mzs-swipe-hint.is-visible{opacity:1;translate:0 0;}
  .mzs-swipe-hint.is-visible i{animation:mzsInteractionNudge .58s ease-in-out 2;}

  /* Disclosure is separate from rails. */
  .mzs-page .mzs-mobile-disclosure-button,.mzs-page .mzs-mobile-list-toggle{min-height:46px;padding:0 14px;border-radius:13px;background:transparent;border:1px solid color-mix(in srgb,var(--mzs-aqua) 22%,transparent);color:var(--mzs-aqua);font-size:15px;}
  .mzs-mobile-disclosure-button i,.mzs-mobile-list-toggle i{font-size:20px;transition:rotate .2s ease;}
  .mzs-mobile-disclosure-button[aria-expanded="true"] i,.mzs-mobile-list-toggle[aria-expanded="true"] i{rotate:45deg;}

  /* Proof rail is one real rail on mobile. */
  .mzs-proof-rail{padding:58px 0;overflow:hidden;}
  .mzs-proof-rail-inner{width:var(--mzs-mobile-container);max-width:var(--mzs-mobile-container);margin-inline:auto;grid-template-columns:1fr;gap:26px;}
  .mzs-proof-rail-copy{text-align:center;}.mzs-proof-rail-copy p{max-width:34ch;margin-inline:auto;font-size:16px;line-height:1.62;}
  .mzs-proof-rail-swipe{width:100%;}

  /* Bottom stack/player: no overlapping expand arrow. */
  .mzs-mobile-dock{width:var(--mzs-mobile-sticky);max-width:var(--mzs-mobile-sticky);}

  /* Sticky surfaces leave when another modal surface owns the screen. */
  .mzs-page.mzs-mobile-keyboard-mode .mzs-mobile-dock,.mzs-page.mzs-mobile-keyboard-mode .mzs-radio-player,
  .mzs-page.mzs-mobile-modal-mode .mzs-mobile-dock,.mzs-page.mzs-mobile-modal-mode .mzs-radio-player,
  body.mzs-menu-open .mzs-radio-player,body.mzs-mobile-contact-open .mzs-radio-player{opacity:0;pointer-events:none;transform:translateY(120%);}
}

@media(max-width:370px){
  :where(.mzs-page){--mzs-mobile-container:min(calc(100% - 18px),700px);--mzs-mobile-sticky:min(calc(100% - 20px),404px);}
  .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:84%;width:84%;max-width:350px;}
}

@keyframes mzsInteractionNudge{0%,100%{translate:0 0}50%{translate:4px 0}}
@media(prefers-reduced-motion:reduce){.mzs-swipe-hint{transition:opacity .01ms;translate:none;}.mzs-swipe-hint.is-visible i{animation:none;}.mzs-interaction-arrow{transition:none;}}

/* Trust relationships remain fully swipeable on mobile. */
@media(max-width:760px),(max-width:900px) and (max-height:520px){
}
