/* r3 layout refinements are last in the cascade on every page */
@media(max-width:767px){
  body{ text-align:center }
  body :is(h1,h2,h3,h4,p,figcaption,.eyebrow,.breadcrumb,.card-link,.catalog-detail-link,.hotspot-options button){text-align:center}
  body :is(p,h1,h2,h3,h4){margin-inline:auto}
  body :is(.eyebrow,.inline-links,.hero-links,.hero-description,.hero-bottom,.section-heading,.service-jumps,.catalog-filters,.catalog-toolbar,.catalog-results,.lineup-summary,.support-education,.contact-cta,.footer-bottom,.license-basis,.resource-list li,.gallery-lightbox-caption,.card-link,.catalog-detail-link,.hotspot-options button){justify-content:center;justify-items:center}
  body :is(.role-card,.contact-cta){align-items:center}
  body .support-grid article{align-items:center}
  body .button{justify-content:center}
  body .hotspot-hint{left:50%;translate:-50% 0;max-width:calc(100% - 24px);white-space:nowrap}
  body .eyebrow:has(.red-rule){flex-direction:column;gap:12px}
  body :is(.page-lead,.page-note,.section-lead,.support-education a,.cobrand-panel){margin-inline:auto}
  body .breadcrumb{justify-content:center}
  body .hero-links{align-items:center}
  body .hero-description{justify-items:center}
  body .hero-bottom{padding-right:0}
  body .site-header .brand-link{margin-inline:auto}
  body .v5-nav{margin-inline:0}
  body .catalog-card-body .eyebrow{justify-content:center;flex-wrap:wrap}
  body .service-checklist ul{list-style-position:inside;padding:0}
  body :is(.service-checklist li,.service-process li){text-align:center}
  body .catalog-search{margin-inline:auto;width:100%}
  body .catalog-search label{text-align:left}
  body .catalog-card-specs>div{justify-content:space-between}
  /* Data, input and part-description exceptions preserve scanning and editing */
  body :is(table th,table td,.info-list dt,.info-list dd,.timeline-item *,.timeline-year,.delivery-list li *,.catalog-card-specs dt,.catalog-card-specs dd,.hotspot-copy p,.field,.field label,.field input,.field select,.field textarea,.catalog-search input){text-align:left}
  body .hotspot-copy p{margin-inline:0}
  body .comparison caption{text-align:center}
  body .field p{text-align:left;margin-inline:0}
}

/* One brand group at the left edge; corporate details at the right edge */
.site-footer .footer-grid{grid-template-columns:1fr 1fr;align-items:start}
.site-footer .footer-grid>*{grid-column:auto;min-width:0}
.site-footer .footer-brand{margin-left:-9px}
.site-footer .footer-brand img{width:230px}
.site-footer .footer-magirus{display:block;width:124px;height:auto;margin-top:16px;filter:grayscale(1) brightness(0) invert(1);opacity:.85}
.site-footer .company-details{text-align:right;justify-self:end}
.site-footer .footer-bottom p:nth-child(2){margin-left:auto;text-align:right}
@media(max-width:767px){
.site-footer .footer-grid{grid-template-columns:1fr;justify-items:center;gap:36px}
.site-footer .footer-grid>*{width:100%;text-align:center;justify-self:center}
.site-footer .footer-brand{margin:0}
.site-footer .footer-brand img,.site-footer .footer-magirus{margin-inline:auto}
.site-footer .footer-bottom{flex-direction:column;align-items:center;gap:16px}
.site-footer .footer-bottom p:nth-child(2){text-align:center;margin-inline:auto}
}

/* Company information: independent title column and a fully used information column */
.wrap{max-width:var(--mt-layout-max);min-width:0}
.wrap>*{min-width:0}
#company .info-list>div{grid-template-columns:minmax(96px,.36fr) minmax(0,1fr);gap:24px}
#company .info-list dt,#company .info-list dd{grid-column:auto;min-width:0;overflow-wrap:anywhere}
@media(min-width:1024px){
#company{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--mt-grid-gap);align-items:start}
#company .company-heading{padding-top:20px}
.contact-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--mt-grid-gap)}
.contact-layout>:first-child,.contact-layout>:last-child{grid-column:auto}
}
@media(max-width:767px){.site-footer .footer-bottom a{margin-inline:auto}}

/* Wordmarks are an indivisible line, sized to the available frame at every width */
.v5-hero .hero-copy h1{white-space:nowrap;overflow-wrap:normal;word-break:normal;text-wrap:nowrap;font-size:var(--mt-type-wordmark);max-width:100%;width:fit-content}
@media(min-width:1024px) and (min-aspect-ratio:4/3){:root{--mt-type-wordmark:clamp(64px,7.2vw,112px)}.v5-hero .hero-copy h1{max-width:none}}
@media(max-width:767px){.v5-hero .hero-copy h1{margin-inline:auto}}

/* A keyboard-only sound action appears only while its focus indicator is active */
.sound-keyboard{position:absolute;z-index:20;right:var(--mt-layout-gutter);bottom:24px;min-height:44px;padding:10px 18px;background:var(--mt-color-background);color:var(--mt-color-text);border:1px solid var(--mt-color-accent);font:500 var(--mt-type-caption) var(--mt-font-body)}
.sound-keyboard:not(:focus-visible){width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none;border:0}
.sound-keyboard:focus-visible{outline:2px solid var(--mt-color-focus);outline-offset:4px}
.sound-keyboard[hidden]{display:none}

/* A scene stays pinned for 200vh of travel; time alone advances the four clips */
.v5-scene,.v5-scene.stage-ready{height:300svh;min-height:0;overflow:visible}
.v5-scene:after{display:none}
.scene-viewport{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;isolation:isolate;background:var(--mt-color-background)}
.scene-viewport:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--mt-color-background) 88%,transparent),transparent 85%),linear-gradient(0deg,var(--mt-color-background),transparent 75%)}
.scene-viewport .stage-copy,.v5-scene.stage-ready .stage-copy{position:absolute;bottom:80px;padding-block:0}
.scene-viewport .stage-lead{max-width:var(--mt-measure);margin-inline:0}
.scene-viewport .stage-copy>*{opacity:1!important;transform:none!important}
.v5-bridge{height:100svh;min-height:0}
.v5-hero .hero-bottom{padding-right:0}
@media(max-width:767px){
.v5-scene,.v5-scene.stage-ready{height:auto;min-height:0;padding:32px 0 48px}
.scene-viewport{position:relative;top:auto;height:auto;min-height:0;display:grid;grid-template-areas:"top" "media" "copy";gap:24px;overflow:visible}
.scene-viewport:after{display:none}
.scene-viewport .scene-top{grid-area:top;position:relative;inset:auto;justify-content:center;flex-wrap:wrap}
.scene-viewport .stage-poster,.scene-viewport .stage-film{grid-area:media;position:relative;inset:auto;justify-self:center;width:calc(100% - 2 * var(--mt-layout-gutter));height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center}
.scene-viewport .stage-copy,.v5-scene.stage-ready .stage-copy{grid-area:copy;position:relative;inset:auto;padding:0}
.scene-viewport .stage-lead{margin-inline:auto}
.scene-viewport .stage-copy h2{font-size:var(--mt-type-h2)}
.v5-bridge{height:auto;min-height:0;aspect-ratio:16/9}
.v5-bridge .scene-top{top:14px;gap:8px}
.v5-hero .hero-poster,.v5-hero .hero-film,.v5-hero .hero-fade{margin-inline:auto;justify-self:center}
}
@media(prefers-reduced-motion:reduce){
.v5-scene,.v5-scene.stage-ready{height:auto!important;min-height:0!important}
.scene-viewport{position:relative;height:auto;min-height:650px}
.hero-film,.stage-film,.bridge-film{display:none!important}
}

.company-details .contact-repeat{visibility:hidden}
