.ms-hero{padding:56px 0 64px}
.ms-heroin{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.ms-herosheet img{border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.45);transform:rotate(1.5deg);background:#fff}
.ms-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.ms-sheet{margin:0;padding:16px;display:flex;flex-direction:column;gap:12px}
.ms-sheet img{border-radius:6px;border:1px solid var(--line)}
.ms-detail{display:block;overflow:hidden;border-radius:6px}
.ms-detail img{transition:transform .35s}.ms-detail:hover img{transform:scale(1.6)}
.ms-steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ms-steps li{counter-increment:s;background:var(--alt);border-radius:var(--r);padding:20px 16px 16px;position:relative}
.ms-steps li::before{content:counter(s);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800;margin-bottom:8px}
.ms-steps li b{display:block;color:var(--navy)}
.ms-live{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:20px}
.ms-live.off{opacity:.45;pointer-events:none}
.ms-map{height:460px;border-radius:var(--r);border:2px solid var(--gold)}
.ms-panel{padding:20px;color:var(--ink);display:flex;flex-direction:column;gap:12px}
.ms-row{display:flex;gap:8px;margin-top:4px}
.ms-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.ms-pick{margin:0;color:var(--mu)}
.ms-status{min-height:1.4em;font-weight:600;color:var(--navy2)}.ms-status.err{color:#b42318}
.ms-log{margin:0;max-height:120px;overflow:auto;background:#0b1f3a;color:#cdd7e6;font:12px/1.4 ui-monospace,Menlo,monospace;padding:10px;border-radius:8px;white-space:pre-wrap}
.ms-result img{border:1px solid var(--line);border-radius:6px;max-height:420px;width:auto;margin:0 auto}
.ms-result p{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.band.navy .ms-result .btn-ghost{color:var(--navy)!important}
.ms-offline{background:rgba(201,162,39,.15);border:1px solid var(--gold);color:#fff;padding:14px 16px;border-radius:10px;margin-top:12px}
.ms-offline a,.ms-tilecredit a{color:var(--gold2)}
.ms-tilecredit{color:#aab8cc;margin-top:10px}
.ms-two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ms-credits{padding-left:1.1em}.ms-disclaimer{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}
@media (max-width:900px){.ms-heroin,.ms-live,.ms-two{grid-template-columns:1fr}.ms-gallery{grid-template-columns:1fr}.ms-steps{grid-template-columns:1fr}.ms-herosheet{max-width:360px}.ms-map{height:340px}}
.ms-live>*,.ms-two>*,.ms-heroin>*,.ms-gallery>*{min-width:0}
#live,#gallery,#what,#how{scroll-margin-top:72px}
.vslot{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0b1f3a;border:1px solid rgba(201,162,39,.45)}
.vslot img,.vslot video,.vslot iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vslot.soon img{filter:saturate(.7) brightness(.7)}
.vslot-soon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;background:rgba(11,31,58,.85);color:#fff;font-weight:700;font-size:.85rem;padding:6px 14px;border-radius:999px;border:1px solid var(--gold);white-space:nowrap}
.vslot-play{position:absolute;inset:0;border:0;padding:0;background:none;cursor:pointer}
.vslot-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-size:1.5rem}
.vslot-play:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.vslot-hero{margin-top:28px;max-width:560px}
.ms-watch{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.ms-watch>*{min-width:0}
.ms-watch figure{margin:0}.ms-watch figcaption{display:flex;flex-direction:column;margin-top:10px}.ms-watch figcaption b{color:var(--navy)}
.vslot-step{margin-bottom:10px;border-radius:8px}.vslot-step .vslot-soon{font-size:.7rem;padding:4px 10px}
@media (max-width:900px){.ms-watch{grid-template-columns:1fr}}
/* access lock */
.ms-lock{display:grid;gap:.5rem;padding:.75rem;border:1px solid #e3c766;border-radius:8px;background:#fff8e1}
.ms-lock [hidden],.ms-row[hidden]{display:none!important}
.ms-lockstate{margin:0;color:#5c4a00}
.ms-lockstate.ok{color:#1d5e2c}
.ms-lockstate.err .ms-lockmsg{color:#a3261b;font-weight:600}
.ms-lock:has(.ms-lockstate.ok){border-color:#9cc9a6;background:#eef8f0}
.ms-lockicon{font-size:1.05em}
.ms-lock input[type=password]{flex:1;min-width:0}
#ms-relock{justify-self:start}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
