.mpg-section,.mpg-detail{--mpg-gap:24px;--mpg-ink:#111;--mpg-accent:#006b78;color:var(--mpg-ink);font-family:inherit}
.mpg-section{margin:32px 0 48px;width:100%}
.mpg-section__head{border-bottom:1px solid currentColor;margin-bottom:24px;padding-bottom:12px}
.mpg-section__head h2{font-size:clamp(24px,3vw,38px);line-height:1.15;margin:0 0 8px}
.mpg-section__head p{margin:0;max-width:72ch}
.mpg-section__stage{position:relative}
.mpg-section__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:3px}
.mpg-section__viewport::-webkit-scrollbar{display:none}
.mpg-section__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--mpg-visible) - 1)*var(--mpg-gap))/var(--mpg-visible));gap:var(--mpg-gap)}
.mpg-card{min-width:0;scroll-snap-align:start}
.mpg-card__link{color:inherit;display:block;text-decoration:none}
.mpg-card__image{display:block;height:clamp(200px,27vw,360px);overflow:hidden;background:#e8eeef}
.mpg-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.mpg-card__title{display:block;font-size:clamp(20px,2vw,25px);font-weight:700;line-height:1.2;margin:14px 0 6px}
.mpg-card__description{display:block;line-height:1.45;max-width:65ch}
.mpg-card__cta{display:inline-block;color:var(--mpg-accent);font-weight:700;margin-top:12px}
.mpg-card__link:hover .mpg-card__cta,.mpg-card__link:focus-visible .mpg-card__cta{text-decoration:underline}
.mpg-section__controls{align-items:center;display:flex;inset:0 -10px;justify-content:space-between;pointer-events:none;position:absolute}
.mpg-section__controls button{background:#111;border:1px solid #fff;border-radius:50%;box-shadow:0 2px 12px #0004;color:#fff;cursor:pointer;font-size:27px;height:50px;line-height:1;pointer-events:auto;width:50px}
.mpg-section__controls button:disabled{opacity:.2;cursor:default}
.mpg-section__controls[hidden]{display:none}
.mpg-section__controls button:focus-visible,.mpg-card__link:focus-visible,.mpg-photo a:focus-visible{outline:3px solid var(--mpg-accent);outline-offset:3px}
.mpg-section__empty,.mpg-detail__empty{border:2px dashed #9eadaf;padding:24px;text-align:center}
.mpg-section__empty:not(:only-child),.mpg-detail__empty:not(:only-child){display:none}
.mpg-section--online:not(:has(.mpg-card)){display:none}
.mpg-detail{margin:24px auto 64px;max-width:1320px}
.mpg-detail__back a{color:var(--mpg-accent);font-weight:700;text-decoration:none}
.mpg-detail__back a:hover{text-decoration:underline}
.mpg-detail__head{margin:28px 0 32px}
.mpg-detail__head h1{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:0 0 12px}
.mpg-detail__head p{font-size:18px;line-height:1.5;max-width:72ch}
.mpg-detail__grid{display:grid;gap:var(--mpg-gap);grid-template-columns:repeat(3,minmax(0,1fr))}
.mpg-detail__view-all{background:none;border:0;color:var(--mpg-accent);cursor:pointer;font:inherit;font-weight:700;margin:20px 0 0;padding:0;text-decoration:underline}
.mpg-detail__view-all[hidden]{display:none}
.mpg-detail__view-all:focus-visible{outline:3px solid var(--mpg-accent);outline-offset:3px}
.mpg-photo{margin:0;min-width:0}
.mpg-photo a{display:block;aspect-ratio:16/9;background:#e8eeef;overflow:hidden}
.mpg-photo img{display:block;width:100%;height:100%;object-fit:cover}
.mpg-photo figcaption{line-height:1.4;margin-top:8px}
.mpg-photo figcaption small{display:block;color:#555}
.mpg-lightbox{background:#111;color:#fff;border:0;box-sizing:border-box;max-height:95vh;max-width:1200px;padding:16px;width:95vw}
.mpg-lightbox::backdrop{background:#000c}
.mpg-lightbox__top{align-items:center;display:flex;justify-content:space-between}
.mpg-lightbox__top button,.mpg-lightbox__body>button{background:transparent;border:1px solid #fff;color:#fff;cursor:pointer;font-size:28px;height:44px;width:44px}
.mpg-lightbox__body{align-items:center;display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr) 44px}
.mpg-lightbox__body figure{margin:0;text-align:center}
.mpg-lightbox__body img{display:block;max-height:72vh;max-width:100%;object-fit:contain;margin:auto}
.mpg-lightbox figcaption{margin-top:10px}
.mpg-lightbox figcaption small{display:block;color:#ddd}
@media(max-width:1050px){.mpg-detail__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mpg-section,.mpg-detail{--mpg-gap:14px}.mpg-card__image{height:clamp(220px,62vw,330px)}.mpg-section__controls{inset:0 -5px}.mpg-section__controls button{height:42px;width:42px;font-size:23px}.mpg-detail__grid{grid-template-columns:1fr}.mpg-lightbox{padding:8px;width:100vw;max-height:100vh}.mpg-lightbox__body{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.mpg-lightbox__body>button{height:36px;width:36px;font-size:22px}}
@media(prefers-reduced-motion:reduce){.mpg-section__viewport{scroll-behavior:auto!important}}
