/* MOUSE · Precision, made visible. Static, scoped and ready to port. */
:root {
 --mh-void:#0D0F12;--mh-deep:#090B0E;--mh-panel:#15181D;--mh-panel-2:#111419;--mh-s02:#15181D;--mh-light:#15181D;
 --mh-text:#F4F5F7;--mh-text-2:#CDD2D9;--mh-muted:#A7AFBB;--mh-dim:#969FAC;--mh-dim-deco:#697584;
 --mh-line-1:#242930;--mh-line-2:#2B3038;--mh-line-3:#3B424D;--mh-line-btn:#515A67;
 --mh-ink:#0D0F12;--mh-ink-2:#A7AFBB;--mh-red:#F03C4F;--mh-orange:#F03C4F;--mh-crimson:#F03C4F;--mh-signal:var(--mh-red);
 --mh-action-bg:var(--mh-text);--mh-action-text:var(--mh-void);
 --mh-display:'Poppins',sans-serif;--mh-text-f:'Assistant',sans-serif;--mh-mono:'IBM Plex Mono',monospace;
 --mh-motion-ease:cubic-bezier(.42,0,.58,1);--mh-motion-fast:160ms;--mh-motion-ui:240ms;--mh-motion-panel:320ms;--mh-ease:var(--mh-motion-ease);--mh-t-hover:var(--mh-motion-fast);--mh-t-state:var(--mh-motion-ui);--mh-t-copy:var(--mh-motion-panel);
 --mh-gutter:clamp(20px,4.445vw,64px);--mh-content:1312px;--mh-nav-h:88px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--mh-nav-h) + 24px);accent-color:var(--mh-signal)}
html.mh-locked{overflow:hidden}
body.mh{margin:0;background:var(--mh-void);color:var(--mh-text);font:400 18px/1.5 var(--mh-text-f);font-synthesis:none;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:where(.mh) :where(p,h1,h2,h3,h4,figure,dl,dd){margin:0}
:where(.mh) :where(img,svg){display:block;max-width:100%}
:where(.mh) :where(a){color:inherit;text-decoration:none}
:where(.mh) :where(button){font:inherit;color:inherit}
:where(.mh) :where(button,a){-webkit-tap-highlight-color:transparent}
::selection{background:var(--mh-signal);color:var(--mh-void)}
:focus-visible{outline:2px solid var(--mh-signal);outline-offset:5px}
#main:focus{outline:none}
.mh-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mh-wrap{width:100%;max-width:calc(var(--mh-content) + 2*var(--mh-gutter));margin-inline:auto;padding-inline:var(--mh-gutter)}
.mh-skip{position:fixed;z-index:100;top:-90px;inset-inline-start:16px;min-height:44px;padding:12px 18px;border-radius:30px;background:var(--mh-action-bg);color:var(--mh-action-text);font-weight:700}
.mh-skip:focus{top:12px}
.mh-signal{color:var(--mh-signal)}
.mh-logo{display:inline-flex;align-items:center;gap:10px;flex:none;min-height:44px;color:var(--mh-text)}
.mh-logo__mark{width:29px;height:24px;object-fit:contain}
.mh-logo__word{display:block;width:95px;height:21px;background:currentColor;-webkit-mask:url('../img/mouse-wordmark-mask.png') center/contain no-repeat;mask:url('../img/mouse-wordmark-mask.png') center/contain no-repeat}
.mh-arrow{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mh-pill{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:14px 23px;border:0;border-radius:999px;font:600 16px/1.1 var(--mh-text-f);white-space:nowrap;cursor:pointer}
.mh-pill--white{background:var(--mh-action-bg);color:var(--mh-action-text)}
.mh-pill--outline{border:1px solid var(--mh-line-btn);color:var(--mh-text);background:transparent}
.mh-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font:600 17px/1.2 var(--mh-text-f);color:var(--mh-text)}
.mh-link:hover{text-decoration:underline;text-underline-offset:5px}
.mh-h2{font:500 clamp(32px,3.1vw,46px)/1.2 var(--mh-display);letter-spacing:-.045em;text-wrap:pretty}
/* Navigation and disclosure controls. */
.mh-nav{position:sticky;top:0;z-index:50;background:var(--mh-void)}
.mh-nav__in{height:var(--mh-nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(var(--mh-content) + 2*var(--mh-gutter));margin-inline:auto;padding-inline:var(--mh-gutter);position:relative}
.mh-nav__in::after{content:'';position:absolute;bottom:0;inset-inline:var(--mh-gutter);height:1px;background:var(--mh-line-2)}
.mh-nav__actions{display:flex;align-items:center;gap:14px;flex:none}
.mh-nav__cta{min-height:44px;padding-block:12px;font-size:15px;gap:18px}
.mh-nav__menu,.mh-sheet__close{display:none;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid var(--mh-line-3);border-radius:50%;background:transparent;cursor:pointer}
.mh-nav__menu svg,.mh-sheet__close svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.mh-menu__list{list-style:none;display:flex;gap:18px;padding:0;margin:0}
.mh-menu__item{position:relative}
.mh-menu__btn{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 4px;border:0;background:transparent;font:500 14px/1.2 var(--mh-display);cursor:pointer}
.mh-chev{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.3;opacity:.65}
.mh-menu__item.is-open .mh-chev{transform:rotate(180deg)}
.mh-menu__btn:hover,.mh-menu__item.is-open .mh-menu__btn{color:var(--mh-signal)}
.mh-dd{position:absolute;z-index:2;top:calc(100% + 12px);inset-inline-start:-16px;min-width:252px;padding:10px;background:var(--mh-panel);border:1px solid var(--mh-line-2);border-radius:12px;visibility:hidden;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity var(--mh-motion-ui) var(--mh-motion-ease),transform var(--mh-motion-ui) var(--mh-motion-ease),visibility 0s var(--mh-motion-ease) var(--mh-motion-ui)}
.mh-dd::before{content:'';position:absolute;inset-inline:0;top:-14px;height:14px}
.mh-menu__item.is-open>.mh-dd{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}
.mh-dd ul{list-style:none;padding:0;margin:0}
.mh-dd a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:6px;font-size:16px;color:var(--mh-text-2)}
.mh-dd a:hover{background:var(--mh-panel-2);color:var(--mh-text)}
html:not(.mh-js) .mh-menu__item:focus-within>.mh-dd,html:not(.mh-js) .mh-menu__item:hover>.mh-dd{visibility:visible;opacity:1;transform:none}
.mh-sheet{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--mh-void);color:var(--mh-text);overflow:auto;overscroll-behavior:contain}
.mh-sheet::backdrop{background:var(--mh-void)}
.mh-sheet__in{min-height:100%;display:flex;flex-direction:column;padding:0 var(--mh-gutter) 32px}
.mh-sheet__head{display:flex;align-items:center;justify-content:space-between;min-height:76px;border-bottom:1px solid var(--mh-line-2)}
.mh-sheet__close{display:flex}
.mh-sheet__nav>ul{list-style:none;margin:0;padding:8px 0 24px}
.mh-acc{border-bottom:1px solid var(--mh-line-2)}
.mh-acc__btn{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;border:0;background:none;padding:0;font:500 21px var(--mh-display);cursor:pointer}
.mh-acc__btn[aria-expanded=true] .mh-chev{transform:rotate(180deg)}
.mh-acc__panel{list-style:none;padding:0;margin:0;min-height:0}.mh-acc__panel::after{content:"";display:block;height:16px}
.mh-acc__panel a{display:flex;align-items:center;min-height:44px;color:var(--mh-muted)}
.mh-sheet__cta{align-self:flex-start;margin-top:auto}
/* The model shares the hero canvas with the copy. */
.mh-hero{background:var(--mh-void)}
.mh-hero__main{position:relative;min-height:652px;isolation:isolate}
.mh-hero__copy{position:relative;z-index:2;width:500px;max-width:43%;padding-top:64px;pointer-events:none}
.mh-hero__copy a{pointer-events:auto}
.mh-h1{font:600 80px/1.08 var(--mh-display);letter-spacing:-.05em;max-width:100%;margin:0 0 33px}
.mh-h1>span{display:block}
.mh-hero__lead{font-size:23px;line-height:1.38;color:var(--mh-text-2);max-width:410px;margin-bottom:28px}
.mh-hero__intro{font-size:18px;line-height:1.5;color:var(--mh-muted);max-width:382px;margin-bottom:38px}
.mh-hero__stage{position:absolute;z-index:1;inset-block-start:14px;inset-inline-end:0;width:min(66vw,880px);height:620px}
.mh-hero__stage vehicle-morph-hero{display:block;width:100%;height:100%;background:transparent}
/* Exploded-view chips start right of the H1 (component reads --vmh-chips-start). */
.mh-hero__stage vehicle-morph-hero{--vmh-chips-start:140px}
@media(max-width:1099px){.mh-hero__stage vehicle-morph-hero{--vmh-chips-start:170px}}
.mh-hero__stage [slot=poster] img{display:block;width:100%;height:100%;object-fit:contain}
/* Exact Figma travelling-wave layers; the same local light reveals the fill and stroke. */
.mh-process{position:relative;margin-bottom:0;isolation:isolate;padding-bottom:28px;--process-light-opacity:0;--process-light-left:-140px}
.mh-process__visual{position:absolute;inset:0 0 auto;width:100%;height:84px;pointer-events:none}
.mh-process__rule{position:absolute;z-index:0;left:0;right:0;height:2px;background:var(--mh-line-2)}
.mh-process__pulse{position:absolute;z-index:0;left:0;max-width:none!important;opacity:var(--process-light-opacity)}
.mh-process__band{position:absolute;inset:0;height:84px;opacity:var(--process-light-opacity);mask-image:var(--process-mask);mask-size:140px 84px;mask-position:var(--process-light-left) 0;mask-repeat:no-repeat;mask-mode:alpha}
.mh-process__band--fill{z-index:1}.mh-process__band--blend{z-index:3}.mh-process__band--light{z-index:4}
.mh-process__wave{position:absolute;display:block;transform-origin:center}
.mh-process__wave--fill,.mh-process__wave--blend{background:var(--mh-panel-2);mask-image:var(--process-asset);mask-size:100% 100%;mask-repeat:no-repeat;mask-mode:alpha}
.mh-process__wave img{max-width:none!important}
.mh-process__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0}
.mh-process__step{display:flex;flex-direction:column;align-items:center;gap:23px;position:relative;padding-top:18px;padding-bottom:16px;min-height:146px}
.mh-process__number{display:grid;place-items:center;flex:none;position:relative;isolation:isolate;width:36px;height:36px;border:0;border-radius:50%;background:var(--mh-panel-2);color:var(--mh-muted);font:400 13.2px/1 var(--mh-mono);transition:color var(--mh-motion-fast) var(--mh-motion-ease);z-index:2}
.mh-process__number>span{position:relative;z-index:5}
.mh-process__copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.mh-process__title{font:500 16px/1.3 var(--mh-display);transition:color var(--mh-motion-fast) var(--mh-motion-ease)}
.mh-process__description{font-size:14px;line-height:1.35;color:var(--mh-muted);padding-inline:8px}
.mh-process__step.is-active .mh-process__number{color:var(--mh-text)}
.mh-process__step:hover .mh-process__title,.mh-process__step:focus-visible .mh-process__title{color:var(--mh-signal)}
.mh-process__step:focus-visible{outline:none}
.mh-process__step:focus-visible .mh-process__title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
/* Editorial proof of the one-source story. */
.mh-s02{background:var(--mh-s02);padding-block:90px 100px}
.mh-source-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(70px,12vw,180px);align-items:start}
.mh-source-grid>.mh-h2{max-width:740px}
.mh-traits{display:flex;flex-direction:column;gap:32px;padding-top:4px}
.mh-trait h3{font:500 20px/1.3 var(--mh-display);letter-spacing:-.025em;margin-bottom:12px}
.mh-trait p{font-size:17px;line-height:1.5;color:var(--mh-muted)}
.mh-field{display:grid;grid-template-columns:1.36fr 1fr;gap:80px;align-items:center;margin-top:98px}
.mh-field__image{overflow:hidden;border-radius:3px}
.mh-field__image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.mh-field__copy{padding-inline-end:30px}
.mh-field__statement{font:500 clamp(27px,2.4vw,36px)/1.25 var(--mh-display);letter-spacing:-.04em;margin-bottom:24px}
.mh-field__copy>p:not(.mh-field__statement){color:var(--mh-muted);font-size:18px;line-height:1.5;margin-bottom:28px}
/* Products and services use different compositions, not repeated cards. */
.mh-deliver{padding-block:108px 110px}
.mh-deliver__intro{max-width:1060px;margin-bottom:100px}
.mh-deliver__intro .mh-h2{max-width:1000px}
.mh-deliver__statement{font:500 clamp(26px,2.5vw,36px)/1.3 var(--mh-display);letter-spacing:-.035em;color:var(--mh-signal);max-width:1020px;margin-top:20px}
.mh-deliver__lead{font-size:19px;color:var(--mh-muted);margin-top:32px}
.mh-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-block:24px;border-top:1px solid var(--mh-line-2);margin-bottom:26px}
.mh-section-title h3{font:500 42px/1.2 var(--mh-display);letter-spacing:-.05em}
.mh-section-title>span{font-size:17px;color:var(--mh-muted)}
.mh-product-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:80px;align-items:start}
.mh-product-image{position:relative;background:var(--mh-panel);border-radius:3px;min-width:0;padding:24px}
.mh-product-image img{width:100%;height:auto;aspect-ratio:1.1;object-fit:contain}
.mh-product-image figcaption{font-size:15px;color:var(--mh-muted);margin-top:12px}
.mh-capabilities{border-top:1px solid var(--mh-line-2)}
.mh-capability{border-bottom:1px solid var(--mh-line-2);scroll-margin-top:115px}
.mh-capability a{position:relative;display:block;min-height:119px;padding:25px 40px 25px 0}
.mh-capability h4{font:500 20px/1.3 var(--mh-display);letter-spacing:-.02em;margin-bottom:10px}
.mh-capability p{font-size:17px;color:var(--mh-muted);line-height:1.45;max-width:470px}
.mh-capability .mh-arrow{position:absolute;top:29px;inset-inline-end:1px}
.mh-capability a:hover h4{color:var(--mh-signal)}
.mh-capability a:focus-visible{outline-offset:8px}
.mh-services{margin-top:110px}
.mh-classroom{position:relative;margin-bottom:40px}
.mh-classroom img{width:100%;height:auto;aspect-ratio:2.7;object-fit:cover;border-radius:3px}
.mh-classroom figcaption{color:var(--mh-muted);font-size:14px;margin-top:13px}
.mh-service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.mh-service-grid .mh-capability:nth-child(-n+2){border-top:1px solid var(--mh-line-2)}
/* Exact supplied proof, shown in a steady state. */
.mh-proof{padding-block:62px;border-block:1px solid var(--mh-line-2);background:var(--mh-panel)}
.mh-proof>.mh-wrap{display:grid;grid-template-columns:1.15fr 3.6fr;gap:60px;align-items:center}
.mh-proof__supplier{display:flex;gap:22px;align-items:center}
.mh-proof__mark{font:500 29px/1.1 var(--mh-display);letter-spacing:-.05em;color:var(--mh-signal)}
.mh-proof__supplier p{font-size:15px;line-height:1.4;color:var(--mh-text-2)}
.mh-figs__row{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin:0}
.mh-fig{display:flex;flex-direction:column-reverse;gap:10px;padding-inline-start:25px;border-inline-start:1px solid var(--mh-line-2)}
.mh-fig dd{font:500 43px/1 var(--mh-display);letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.mh-fig dt{font-size:15px;color:var(--mh-muted);line-height:1.35}
.mh-cta{padding-block:105px 100px}
.mh-cta h2{font:500 clamp(46px,6vw,86px)/1.08 var(--mh-display);letter-spacing:-.055em}
.mh-cta__bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:48px}
.mh-cta__bottom>p{color:var(--mh-muted);font-size:21px}
/* Shared footer. */
.mh-foot{background:var(--mh-deep);border-top:1px solid var(--mh-line-1);padding-block:64px 30px}
.mh-foot__main{display:grid;grid-template-columns:1fr 3fr;gap:80px}
.mh-foot__name{font-size:16px;color:var(--mh-muted);margin-top:14px}
.mh-foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.mh-foot__h{font:500 13px/1.4 var(--mh-display);margin-bottom:20px;color:var(--mh-text);letter-spacing:.01em}
.mh-foot__col ul{list-style:none;padding:0;margin:0}
.mh-foot__col a{display:inline-block;padding-block:6px;color:var(--mh-muted);font-size:15px;line-height:1.4}
.mh-foot__col a:hover{color:var(--mh-text);text-decoration:underline;text-underline-offset:4px}
.mh-foot__legal{border-top:1px solid var(--mh-line-1);margin-top:65px;padding-top:25px;display:flex;flex-direction:column;gap:17px;font-size:13px;color:var(--mh-muted);line-height:1.6}
.mh-foot__legal>p{display:flex;justify-content:space-between;gap:24px}
.mh-foot__legal strong{font-weight:600;color:var(--mh-text-2)}
.mh-foot__policies{display:flex;flex-wrap:wrap;gap:8px 26px}
.mh-foot__policies a,.mh-foot__policies button{border:0;background:none;padding:0;color:var(--mh-muted);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}

@media(min-width:1600px){.mh-hero__stage{inset-inline-end:0}}
@media(max-width:1240px){.mh-menu__list{gap:10px}.mh-nav__actions{gap:10px}.mh-nav__in{gap:18px}.mh-h1{font-size:72px}.mh-hero__copy{max-width:45%}.mh-source-grid{gap:65px}.mh-product-grid{gap:55px}.mh-proof>.mh-wrap{gap:35px}.mh-proof__supplier{display:block}.mh-proof__supplier p{margin-top:12px}.mh-figs__row{gap:16px}}
@media(max-width:1099px){:root{--mh-nav-h:76px}.mh-menu{display:none}.mh-nav__menu{display:flex}.mh-hero__copy{max-width:47%;padding-top:54px}.mh-h1{font-size:64px}.mh-hero__lead{font-size:21px}.mh-hero__stage{width:64vw;inset-inline-end:0}.mh-product-grid{gap:42px}.mh-foot__main{gap:45px;grid-template-columns:.8fr 3fr}.mh-foot__cols{gap:20px}.mh-foot__col a{font-size:14px}}
@media(max-width:900px){.mh-hero__main{min-height:0;display:flex;flex-direction:column}.mh-hero__copy{max-width:none;width:100%;padding-top:48px}.mh-h1{font-size:72px;max-width:620px;margin-bottom:26px}.mh-hero__lead{font-size:23px}.mh-hero__intro{max-width:500px;margin-bottom:28px}.mh-hero__stage{position:relative;inset:auto;width:100%;height:500px;margin-top:25px}.mh-process{margin-top:4px}.mh-process__title{font-size:14px}.mh-process__description{font-size:13px}.mh-source-grid{grid-template-columns:1fr 1fr;gap:44px}.mh-field{gap:42px;grid-template-columns:1.1fr 1fr}.mh-field__copy{padding:0}.mh-product-grid{grid-template-columns:1fr 1fr;gap:35px}.mh-capability h4{font-size:18px}.mh-service-grid{column-gap:45px}.mh-proof>.mh-wrap{grid-template-columns:1fr;gap:32px}.mh-proof__supplier{display:flex}.mh-proof__supplier p{margin:0}.mh-fig{padding-inline-start:18px}.mh-foot__main{grid-template-columns:1fr;gap:44px}.mh-foot__cols{gap:26px}}
@media(max-width:639px){:root{--mh-nav-h:72px;--mh-gutter:22px}.mh-nav__cta{display:none}.mh-nav__actions{gap:8px}.mh-nav__in{gap:16px}.mh-logo__word{width:78px;height:18px}.mh-logo__mark{width:25px;height:22px}.mh-logo{gap:8px}.mh-nav__menu{border-color:transparent}.mh-hero__copy{padding-top:38px}.mh-h1{font-size:clamp(40px,11.2vw,64px);line-height:1.09;letter-spacing:-.05em;margin-bottom:26px}.mh-hero__lead{font-size:21px;line-height:1.4;max-width:340px;margin-bottom:22px}.mh-hero__intro{font-size:17px;line-height:1.5;max-width:355px;margin-bottom:28px}.mh-hero__stage{height:430px;margin-top:28px}.mh-desktop-break{display:none}.mh-process{padding-block:20px 34px;margin-top:0}.mh-process__visual{display:none}.mh-process__steps{display:block;position:relative}.mh-process__steps::before{content:'';position:absolute;top:24px;bottom:40px;inset-inline-start:19px;width:1px;background:var(--mh-line-2)}.mh-process__step{flex-direction:row;align-items:center;gap:20px;min-height:83px;padding:12px 0}.mh-process__number{width:39px;height:39px;font-size:13px}.mh-process__copy{align-items:flex-start;text-align:start;gap:5px}.mh-process__title{font-size:16px}.mh-process__description{font-size:14px;padding:0}.mh-s02{padding-block:58px 60px}.mh-source-grid{grid-template-columns:1fr;gap:40px}.mh-h2{font-size:32px;line-height:1.23;letter-spacing:-.045em}.mh-traits{gap:27px}.mh-trait h3{font-size:20px;margin-bottom:9px}.mh-trait p{font-size:17px}.mh-field{grid-template-columns:1fr;gap:31px;margin-top:55px}.mh-field__image img{aspect-ratio:1.14;object-position:56% center}.mh-field__statement{font-size:29px;line-height:1.25}.mh-field__copy>p:not(.mh-field__statement){font-size:17px}.mh-deliver{padding-block:62px}.mh-deliver__intro{margin-bottom:55px}.mh-deliver__statement{font-size:26px;line-height:1.3;margin-top:22px}.mh-deliver__lead{font-size:18px;margin-top:25px}.mh-section-title{display:block;padding-block:22px;margin-bottom:20px}.mh-section-title h3{font-size:35px;margin-bottom:10px}.mh-section-title>span{font-size:16px}.mh-product-grid{grid-template-columns:1fr;gap:30px}.mh-product-image{padding:18px}.mh-product-image img{aspect-ratio:1.15}.mh-capability a{min-height:110px;padding-block:24px}.mh-capability h4{font-size:19px;max-width:90%}.mh-capability p{font-size:17px}.mh-services{margin-top:58px}.mh-classroom{margin-bottom:24px}.mh-classroom img{aspect-ratio:1.25;object-position:44% center}.mh-classroom figcaption{font-size:13px;line-height:1.4}.mh-service-grid{grid-template-columns:1fr}.mh-service-grid .mh-capability:nth-child(2){border-top:0}.mh-proof{padding-block:36px}.mh-proof>.mh-wrap{gap:32px}.mh-proof__supplier{gap:24px}.mh-proof__mark{font-size:30px}.mh-proof__supplier p{font-size:15px}.mh-figs__row{grid-template-columns:1fr 1fr;gap:30px 24px}.mh-fig{padding-inline-start:0;border-inline-start:0;gap:10px}.mh-fig dd{font-size:38px}.mh-fig dt{font-size:15px}.mh-cta{padding-block:62px}.mh-cta h2{font-size:clamp(39px,10vw,60px);line-height:1.12;letter-spacing:-.05em}.mh-cta__bottom{display:block;margin-top:30px}.mh-cta__bottom>p{font-size:19px;margin-bottom:26px}.mh-foot{padding-block:44px 26px}.mh-foot__main{gap:35px}.mh-foot__cols{grid-template-columns:1fr 1fr;gap:32px 25px}.mh-foot__h{font-size:14px;margin-bottom:13px}.mh-foot__col a{font-size:15px;padding-block:6px}.mh-foot__legal{margin-top:40px;padding-top:22px;gap:18px}.mh-foot__legal>p{display:block}.mh-foot__legal>p>span{display:block;margin-top:10px}.mh-foot__policies{gap:10px 20px;font-size:14px}}
@media(max-width:359px){:root{--mh-gutter:18px}.mh-hero__stage{height:410px}.mh-h1{font-size:40px}.mh-hero__lead{font-size:20px}.mh-theme-toggle,.mh-nav__menu{width:40px;min-width:40px;height:40px}.mh-logo__word{width:70px}.mh-logo__mark{width:23px}.mh-nav__actions{gap:4px}.mh-nav__in{gap:10px}.mh-process__step{gap:15px}.mh-foot__cols{gap:30px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mh-process__number,.mh-process__number::before,.mh-process__number::after,.mh-dd,.mh-chev{transition:none!important}.mh-process__visual{display:none}}
/* Held selection: static alternatives retain the current number. */
@media(max-width:639px){.mh-process__step.is-active .mh-process__number{background:var(--mh-signal);color:var(--mh-void)}.mh-process__step.is-active .mh-process__title{color:var(--mh-signal)}}
@media(prefers-reduced-motion:reduce) and (min-width:640px){.mh-process__visual{display:block}}
@media(forced-colors:active){.mh-logo__word{background:CanvasText}.mh-process__rule{background:CanvasText}.mh-process__visual{display:none}.mh-process__number{forced-color-adjust:none;background:Canvas;color:LinkText}.mh-process__step.is-active .mh-process__number{background:Highlight;color:HighlightText}.mh-pill{border:1px solid ButtonText}.mh-signal{color:CanvasText}}

/* One site voice for controls, panels and state changes. No continuous ambient motion. */
.mh-pill,.mh-link,.mh-menu__btn,.mh-dd a,.mh-nav__menu,.mh-theme-toggle,.mh-sheet__close,.mh-acc__btn,.mh-foot a,.mh-capability h4{transition:color var(--mh-motion-fast) var(--mh-motion-ease),background-color var(--mh-motion-fast) var(--mh-motion-ease),border-color var(--mh-motion-fast) var(--mh-motion-ease)}
.mh-arrow{transition:transform var(--mh-motion-ui) var(--mh-motion-ease)}
.mh-pill:hover>.mh-arrow,.mh-link:hover>.mh-arrow,.mh-capability a:hover>.mh-arrow{transform:translateX(2px)}
.mh-chev{transition:transform var(--mh-motion-ui) var(--mh-motion-ease),opacity var(--mh-motion-fast) var(--mh-motion-ease)}
.mh-sheet[open]{animation:mh-panel-enter var(--mh-motion-panel) var(--mh-motion-ease) both}
.mh-sheet[open].is-closing{animation:mh-panel-exit var(--mh-motion-ui) var(--mh-motion-ease) both}
.mh-sheet[open]::backdrop{animation:mh-backdrop-enter var(--mh-motion-panel) var(--mh-motion-ease) both}
.mh-sheet[open].is-closing::backdrop{animation:mh-backdrop-exit var(--mh-motion-ui) var(--mh-motion-ease) both}
@keyframes mh-panel-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes mh-panel-exit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}
@keyframes mh-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes mh-backdrop-exit{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.mh-pill,.mh-link,.mh-menu__btn,.mh-dd,.mh-dd a,.mh-nav__menu,.mh-theme-toggle,.mh-sheet__close,.mh-acc__btn,.mh-foot a,.mh-capability h4,.mh-arrow,.mh-chev,.mh-process__title,.mh-process__number{transition:none!important}.mh-sheet[open],.mh-sheet[open]::backdrop{animation:none!important}}

/* Shallow scroll depth. The native timeline leaves unsupported browsers static. */
@supports (animation-timeline: view()) and (animation-range: entry 0% exit 100%) and (translate: 0 1px) {
  @media screen and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
    :where(main .mh-field__image, main .mh-product-image, main .mh-classroom,
      main .mh-detail-hero__image, main .mh-catalog-entry__image,
      main .mp-figure:has(> .mp-frame img)) {
      --mh-depth-distance: 12px;
      animation-name: mh-scroll-depth;
      animation-duration: auto;
      animation-timing-function: var(--mh-motion-ease, cubic-bezier(.42,0,.58,1));
      animation-fill-mode: both;
      animation-timeline: view(block);
      animation-range: entry 0% exit 100%;
    }

    :where(main .mh-hero__copy > h1, main .mh-catalog-hero > h1,
      main .mh-detail-hero__copy > h1, main .mp-intro > h1,
      main .mh-contact__intro > h1, main .mh-policy__title) {
      --mh-depth-distance: 4px;
      animation-name: mh-scroll-depth;
      animation-duration: auto;
      animation-timing-function: var(--mh-motion-ease, cubic-bezier(.42,0,.58,1));
      animation-fill-mode: both;
      animation-timeline: view(block);
      animation-range: entry 0% exit 100%;
    }

    /* The contact introduction sticks; its heading follows document progress. */
    :where(main .mh-contact__intro > h1) {
      animation-timeline: scroll(root block);
      animation-range: 0% 100%;
    }

    @media (max-width: 700px) {
      :where(main .mh-field__image, main .mh-product-image, main .mh-classroom,
        main .mh-detail-hero__image, main .mh-catalog-entry__image,
        main .mp-figure:has(> .mp-frame img)) {
        --mh-depth-distance: 5px;
      }
      :where(main .mh-hero__copy > h1, main .mh-catalog-hero > h1,
        main .mh-detail-hero__copy > h1, main .mp-intro > h1,
        main .mh-contact__intro > h1, main .mh-policy__title) {
        --mh-depth-distance: 2px;
      }
    }

    @keyframes mh-scroll-depth {
      from { translate: 0 calc(0px - var(--mh-depth-distance)); }
      to { translate: 0 var(--mh-depth-distance); }
    }
  }
}
