/* V6 motion opening roll, light theme. Self-contained; the page content below it is unchanged. */
.mh{--mh-bg:#f4f9fc;--mh-ink:#0a111c;--mh-body:#2f4256;--mh-soft:#5a6f84;--mh-line:#0a6f9c;--mh-dim:rgba(0,117,163,.5);--mh-faint:rgba(0,117,163,.08);--mh-mark:#d46a00;--mh-edge:#c3d6e3;--mh-dur:8s;
  position:relative;isolation:isolate;overflow:hidden;color:var(--mh-ink);
  background:radial-gradient(1100px 520px at 78% 30%,rgba(103,212,255,.28),transparent 70%),var(--mh-bg);
  border-bottom:1px solid var(--mh-edge)}
.mh::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--mh-faint) 1px,transparent 1px),linear-gradient(90deg,var(--mh-faint) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 0,#000 70%,transparent);
  animation:mh-grid 60s linear infinite}
@keyframes mh-grid{to{background-position:48px 48px}}
.mh p{color:inherit}
.mh-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center;padding-block:56px 28px;min-height:min(720px,calc(100svh - 112px))}
.mh-eyebrow{font:600 13px/1.4 var(--head);letter-spacing:.18em;color:var(--mh-line);margin-bottom:18px}
.mh h1{font-size:clamp(30px,3.5vw,50px);color:var(--mh-ink);letter-spacing:-.03em;margin-bottom:18px}
.mh-sub{font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:var(--mh-body);margin-bottom:26px;max-width:34em}
.mh-sub em{font-style:normal;color:var(--mh-ink);border-bottom:2px solid var(--mh-mark)}
.mh-caps{display:grid;border-left:2px solid var(--mh-line);padding-left:20px;margin-bottom:26px;min-height:196px}
.mh-cap{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .5s,transform .5s,visibility 0s .5s}
.mh-cap.is-active{opacity:1;visibility:visible;transform:none;transition-delay:.25s,.25s,0s}
.mh-tag{display:inline-block;font:700 13px/1 var(--head);letter-spacing:.16em;color:#fff;background:#0a6f9c;padding:6px 10px;margin-bottom:12px}
.mh-cap h2{font-size:clamp(24px,2.5vw,34px);color:var(--mh-ink);margin-bottom:10px}
.mh-cap p{color:var(--mh-body);font-size:16px;margin-bottom:12px;max-width:32em}
.mh-cap a{color:#075f86;font-weight:600;text-decoration:none;border-bottom:1px solid var(--mh-dim)}
.mh-cap a:hover,.mh-cap a:focus-visible{color:var(--mh-ink);border-color:var(--mh-ink)}
.mh-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.mh .text-link{color:var(--mh-ink)}
.mh a:focus-visible,.mh button:focus-visible{outline:3px solid var(--mh-mark);outline-offset:4px}

.mh-stage{min-width:0}
.mh-arts{display:grid;position:relative;aspect-ratio:1000/640;touch-action:pan-y}
.mh-art{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}
.mh-art.is-active{opacity:1;visibility:visible;transition-delay:0s}
.mh-svg{width:100%;height:100%;display:block;overflow:visible;transform:translate(calc(var(--px,0)*10px),calc(var(--py,0)*8px));transition:transform .25s ease-out}
.mh-svg .w{fill:none;stroke:var(--mh-line);stroke-width:.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.mh-svg .sil{stroke-width:1.5;stroke:#07557a;fill:rgba(0,117,163,.06)}
.mh-svg .br{stroke:var(--mh-dim);stroke-width:1.4}
.mh-svg .tl{fill:var(--mh-body);font:600 11.5px/1 var(--head);letter-spacing:.06em;opacity:0}
.mh-svg .tb{fill:var(--mh-ink);font-size:13px;letter-spacing:.1em}
.mh-svg .tm{fill:var(--mh-soft);font-size:10.5px;letter-spacing:.14em}
.mh-svg .scan{fill:url(#mh-scan);opacity:0}

.mh-art.is-active .w{animation:mh-draw 1.9s cubic-bezier(.55,0,.2,1) forwards;animation-delay:calc(var(--d,0)*1ms)}
.mh-art.is-active .tl{animation:mh-fade .7s ease forwards;animation-delay:1.5s}
.mh-art.is-active .scan{animation:mh-scan 7s linear 1.2s infinite}
@keyframes mh-draw{to{stroke-dashoffset:0}}
@keyframes mh-fade{to{opacity:1}}
@keyframes mh-scan{0%{transform:translateX(0);opacity:0}8%{opacity:.9}92%{opacity:.9}100%{transform:translateX(1040px);opacity:0}}

.mh-rail{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;margin-top:18px;align-items:stretch}
.mh-tab{position:relative;text-align:left;padding:12px 14px 14px;background:#fff;border:1px solid var(--mh-edge);color:var(--mh-body);cursor:pointer;overflow:hidden;line-height:1.25;font-size:14px}
.mh-tab b{display:block;font:700 15px/1.2 var(--head);letter-spacing:.1em;color:var(--mh-ink)}
.mh-tab:hover{background:#e8f3f9}
.mh-tab[aria-current="true"]{border-color:var(--mh-line);background:#e8f3f9}
.mh-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--mh-line);transform:scaleX(0);transform-origin:left}
.mh-tab[aria-current="true"] .mh-bar{animation:mh-prog var(--mh-dur) linear forwards}
.mh[data-play="false"] .mh-tab[aria-current="true"] .mh-bar{animation-play-state:paused}
.mh[data-play="false"] .mh-bar{transform:scaleX(1);opacity:.35}
@keyframes mh-prog{to{transform:scaleX(1)}}
.mh-pause{width:48px;background:#fff;border:1px solid var(--mh-edge);color:var(--mh-ink);cursor:pointer;font-size:16px}
.mh-pause:hover{background:#e8f3f9}
.mh-note{font-size:12px;line-height:1.5;color:var(--mh-soft);padding:10px 0 34px;max-width:70em}
.mh .mh-note{color:var(--mh-soft)}
.mh-note a{color:#075f86}

@media (max-width:980px){
  .mh-inner{grid-template-columns:1fr;gap:28px;min-height:0;padding-block:36px 8px}
  .mh-caps{min-height:210px}
}
@media (max-width:640px){
  .mh-svg .tl{display:none}
  .mh-rail{grid-template-columns:repeat(3,1fr)}
  .mh-pause{grid-column:1/-1;width:auto;padding:10px}
  .mh-tab{padding:10px 8px 12px;font-size:12px}
  .mh-tab b{font-size:13px;letter-spacing:.06em}
  .mh-tab span{display:none}
  .mh-caps{min-height:250px}
}
@media (prefers-reduced-motion:reduce){
  .mh::before{animation:none}
  .mh-svg .w{stroke-dashoffset:0!important;animation:none!important}
  .mh-svg .tl{opacity:1!important;animation:none!important}
  .mh-svg .scan{display:none}
  .mh-cap,.mh-art,.mh-svg{transition:none!important}
  .mh-bar{animation:none!important;transform:scaleX(0)!important}
}

/* No JavaScript: show the first scene statically and hide the controls that need scripting. */
.mh:not(.is-js) .mh-cap:first-child { opacity: 1; visibility: visible; transform: none; }
.mh:not(.is-js) .mh-art:first-child { opacity: 1; visibility: visible; }
.mh:not(.is-js) .mh-svg .w { stroke-dashoffset: 0; }
.mh:not(.is-js) .mh-svg .tl { opacity: 1; }
.mh:not(.is-js) .mh-rail, .mh:not(.is-js) .mh-svg .scan { display: none; }
/* Continuous motion obeys the pause control and the off-screen state. */
.mh[data-play="false"] .mh-art.is-active .scan, .mh[data-play="false"]::before { animation-play-state: paused; }