.mg-hero{padding-top:40px}
.mg-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.mg-checklist{display:grid;gap:12px;margin-top:24px}
.mg-check{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:20px;cursor:pointer;transition:transform .3s cubic-bezier(.22,1,.36,1);user-select:none}
.mg-check:hover{transform:translateY(-2px)}
.mg-check:active{transform:scale(.99)}
.mg-check input{position:absolute;opacity:0;pointer-events:none}
.mg-check input:focus-visible+.mg-box{box-shadow:0 0 0 3px #086d6445,0 6px 18px #075a7026}
.mg-box{flex:0 0 28px;height:28px;border-radius:9px;border:2px solid var(--teal);display:grid;place-items:center;font-size:1rem;color:#fff;background:#fff;transition:background .25s,transform .25s cubic-bezier(.22,1,.36,1)}
.mg-check.done .mg-box{background:var(--teal);transform:scale(1.05)}
.mg-check.done .mg-box::after{content:"✓"}
.mg-check.done{border-color:var(--teal)}
.mg-check strong{display:block}
.mg-check small{color:var(--muted)}
.mg-progress{margin-top:20px;padding:18px 20px}
.mg-progress-top{display:flex;justify-content:space-between;align-items:baseline;font-weight:650}
.mg-progress-top output{font-variant-numeric:tabular-nums;color:var(--teal)}
.mg-bar{height:10px;border-radius:99px;background:var(--mist);margin-top:10px;overflow:hidden}
.mg-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--blue));transition:width .5s cubic-bezier(.22,1,.36,1)}
.mg-progress.all-done{border-color:var(--accent)}
.mg-done{margin-top:10px;font-weight:700;color:#8a6a1c}
.mg-copy-btn{margin-top:12px;background:none;border:1px solid var(--line);border-radius:10px;min-height:40px;padding:6px 12px;font-size:.82rem;color:var(--ink);transition:background .3s,transform .15s}
.mg-copy-btn:hover{background:var(--mist)}
.mg-copy-btn:active{transform:scale(.95)}
.mg-seg{display:inline-flex;background:var(--mist);border-radius:14px;padding:4px;gap:4px;margin-top:24px}
.mg-seg button{border:0;background:transparent;border-radius:10px;min-height:48px;padding:10px 20px;font-weight:650;color:var(--muted)}
.mg-seg button[aria-pressed="true"]{background:var(--teal);color:#fff;box-shadow:0 4px 14px rgb(8 109 100 / .3)}
.mg-panel{margin-top:20px;padding:26px;animation:mg-panel-in .5s cubic-bezier(.22,1,.36,1)}
@keyframes mg-panel-in{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}
.mg-panel h3{font-size:1.3rem;margin-bottom:8px}
.mg-panel ul{margin:14px 0 0;padding-left:22px;color:var(--muted)}
.mg-panel li+li{margin-top:8px}
.mg-compare{margin-top:20px;display:grid;gap:10px}
.mg-compare div{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:.95rem}
.mg-who{font-size:.75rem;letter-spacing:.12em;color:var(--teal);font-weight:700}
.mg-contact h3,.contact h3{margin:8px 0 6px;font-size:1.2rem}
.mg-sources{font-size:.9rem;color:var(--muted)}
.mg-sources li+li{margin-top:6px}
.mg-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,80px);opacity:0;background:var(--dark);color:#fff;padding:14px 22px;border-radius:14px;font-size:.95rem;font-weight:600;box-shadow:0 12px 32px rgb(9 42 59 / .35);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .4s;z-index:80;max-width:calc(100% - 40px);text-align:center}
.mg-toast.show{transform:translate(-50%,0);opacity:1}
.mg-top{position:fixed;right:20px;bottom:24px;width:52px;height:52px;border-radius:50%;border:1px solid rgb(255 255 255/.9);background:linear-gradient(125deg,rgb(255 255 255/.9),rgb(234 240 238/.8));font-size:1.3rem;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1);z-index:70}
.mg-top.show{opacity:1;pointer-events:auto}
.mg-top:hover{transform:translateY(-3px)}
.mg-reveal{opacity:.15;transform:translateY(12px);transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1)}
.mg-reveal.is-visible{opacity:1;transform:none}
.mg-faqwrap details{padding:18px 0;border-bottom:1px solid var(--line)}
.mg-faqwrap summary{cursor:pointer;min-height:44px;font-weight:650;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.mg-faqwrap summary::-webkit-details-marker{display:none}
.mg-faqwrap summary::after{content:"+";flex:0 0 32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--teal);font-size:1.2rem;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.mg-faqwrap details[open] summary::after{transform:rotate(45deg)}
.mg-faqwrap p{margin:14px 0 4px;color:var(--muted)}
@media(max-width:767px){.mg-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.mg-reveal{opacity:1;transform:none}}

/* Keep the fixed control outside transformed reveal containers and inside safe areas. */
#mg-totop.mg-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(100px + env(safe-area-inset-bottom));max-width:calc(100vw - 40px)}
.mg-top:focus-visible{background:#eafaff;color:#123f49;outline:3px solid #087d93;outline-offset:3px}
