/* MIZAN v307: consistent reading hierarchy and native anchor navigation. */
:root { --mz-ease: cubic-bezier(.22,1,.36,1); --mz-mint: #54c98a; }
html { scroll-padding-top: 0; --mz-nav-height:64px; }
/* One offset, including the target section's own inset. Keep native history. */
html body [id] { scroll-margin-top:calc(var(--mz-nav-height) + 12px) !important; }
html body section[id] { --mz-anchor-inset:88px; scroll-margin-top:calc(var(--mz-nav-height) + 12px - var(--mz-anchor-inset)) !important; }
html body section#pricing { --mz-anchor-inset:24px; }
html body section#start-here { --mz-anchor-inset:44px; }
html body section#top { scroll-margin-top:0 !important; }
@media(max-width:760px) { html body section[id] { --mz-anchor-inset:64px; } html body section#pricing { --mz-anchor-inset:24px; } html body section#start-here { --mz-anchor-inset:44px; } }
body { overflow-wrap: break-word; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(button,input,select,textarea) { font: inherit; }
:where(a,button,input,summary):focus-visible { outline: 2px solid #54c98a; outline-offset: 4px; }
:where(.thL) :where(a,button,input,summary):focus-visible { outline-color: #1a7f53; }
.hero-copy,.hero-panel { min-width: 0; max-width: 100%; }
.wrap { padding-left: max(24px,env(safe-area-inset-left)); padding-right: max(24px,env(safe-area-inset-right)); }
.hero-panel { isolation: isolate; border-color: rgba(84,201,138,.26); background: linear-gradient(145deg,#19232a 0%,#0f1115 45%,#131b21 100%); box-shadow: 0 30px 80px -28px #0009,0 0 55px -30px #54c98a66,inset 0 1px 0 #ffffff12; }
.hero-panel::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg,transparent,#8de6b8,transparent); pointer-events: none; z-index: 2; }
.chart-viewport { overflow: hidden; }
.chart-viewport::after { content: ''; position: absolute; top: 0; bottom: 0; left: -22%; width: 22%; pointer-events: none; background: linear-gradient(90deg,transparent,rgba(84,201,138,.08),rgba(159,242,194,.2)); border-right: 1px solid #87e9b95c; opacity: 0; }
.hero-panel .sim-actions .mz-reseed { min-height: 44px; font-size: 12px; }
.mz-motion-paused .chart-viewport::after { animation-play-state:paused; visibility:hidden; }
.mz-play { position: absolute; right: 12px; bottom: 12px; z-index: 5; display: inline-flex; align-items:center; min-height:44px; padding:8px 13px; border:1px solid #87cda561; border-radius:9px; background:#10191feb; color:#d5f5e2; cursor:pointer; font:500 12px 'IBM Plex Mono',monospace; }
.btn.green { position: relative; isolation: isolate; overflow: hidden; transition: background-color .2s,box-shadow .25s,transform .2s var(--mz-ease); }
.btn.green::before { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,#ffffff32 45%,transparent 65%); transform:translateX(-120%); pointer-events:none; z-index:-1; }
.btn.green:focus-visible { box-shadow:0 0 0 5px #54c98a24; }
.btn.green:active { transform:translateY(1px); }
.mz-evidence { display:block; position:relative; isolation:isolate; overflow:hidden; border-radius:10px; cursor:zoom-in; }
.mz-evidence img { transition:transform .7s var(--mz-ease),filter .5s; }
.mz-evidence::before { content:''; position:absolute; inset:0; border:1px solid #54c98a00; border-radius:inherit; pointer-events:none; z-index:1; transition:border-color .25s,box-shadow .25s; }
.mz-evidence::after { content:'↗  Inspect chart'; position:absolute; right:12px; bottom:12px; padding:8px 12px; border:1px solid #74d49e80; border-radius:7px; color:#e8fff0; background:#10191feb; font:500 12px/1.4 'IBM Plex Mono',monospace; pointer-events:none; opacity:0; transform:translateY(5px); transition:opacity .2s,transform .25s var(--mz-ease); }
.mz-evidence:focus-visible::after,.mz-evidence:focus::before { opacity:1; transform:none; border-color:#54c98a; }
.mz-evidence.lb-lit { outline-color:#54c98a; }
@media (hover:hover) and (pointer:fine) {
 .btn.green:hover { box-shadow:0 8px 28px -12px #54c98a99,inset 0 1px 0 #ffffff25; }
 .mz-evidence:hover::after { opacity:1; transform:none; }
 .mz-evidence:hover::before { border-color:#54c98a99; box-shadow:inset 0 0 35px -20px #54c98a; }
 .price-box { transition:border-color .25s,box-shadow .3s; }
 .price-box:hover { border-color:#54c98a7a; box-shadow:0 20px 55px -40px #54c98a90; }
}
@media (prefers-reduced-motion:no-preference) {
 @supports (background-clip:text) or (-webkit-background-clip:text) {
  #top h1 .flip { background:linear-gradient(105deg,#54c98a 20%,#54c98a 36%,#dcffeb 48%,#54c98a 60%,#54c98a 80%); background-size:240% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mzHeadline 8s ease-in-out infinite; }
 }
 .chart-viewport::after { animation:mzScan 9s ease-in-out infinite; }
 .mz-offscreen *, .mz-offscreen::after, .mz-offscreen *::before, .mz-offscreen *::after { animation-play-state:paused !important; }
 @media (hover:hover) and (pointer:fine) {
  .btn.green:hover::before,.btn.green:focus-visible::before { animation:mzButtonSheen .75s var(--mz-ease); }
  .mz-evidence:hover img { transform:scale(1.025); filter:brightness(1.06); }
 }
}
@keyframes mzHeadline { 0%,25% { background-position:100% 0; } 65%,100% { background-position:0% 0; } }
@keyframes mzScan { 0%,18% { transform:translateX(0); opacity:0; } 22% { opacity:.7; } 68% { opacity:.7; } 72%,100% { transform:translateX(560%); opacity:0; } }
@keyframes mzButtonSheen { to { transform:translateX(120%); } }
/* The native dialog owns focus and makes the rest of the page inert. */
.mz-viewer { position:fixed; inset:0; width:100%; max-width:100%; height:100%; height:100dvh; max-height:100%; margin:0; padding:0; border:0; background:#090d12f5; color:#edf4f0; overflow:hidden; }
.mz-viewer::backdrop { background:#070a0fe8; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.mz-viewer[open] { display:flex; flex-direction:column; }
.mz-viewer-head { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding: max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left)); border-bottom:1px solid #ffffff1a; background:#11171e; flex-shrink:0; }
.mz-viewer-label { margin-right:auto; font:500 12px/1.5 'IBM Plex Mono',monospace; letter-spacing:.1em; color:#86dba9; }
.mz-viewer-tools { display:flex; gap:8px; align-items:center; }
.mz-viewer button,.mz-viewer a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; border:1px solid #ffffff33; border-radius:8px; background:#19232a; color:#f2fff7; padding:8px 12px; text-decoration:none; font:500 13px/1.4 'Archivo',sans-serif; cursor:pointer; }
.mz-viewer button:hover,.mz-viewer a:hover { border-color:#54c98a; background:#203a2d; }
.mz-viewer button:disabled { opacity:.35; cursor:default; }
.mz-viewer-stage { flex:1; min-height:0; width:100%; overflow:auto; overscroll-behavior:contain; padding:20px; display:flex; align-items:center; justify-content:center; touch-action:pan-x pan-y pinch-zoom; }
.mz-viewer-stage img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; flex-shrink:0; cursor:zoom-in; border:1px solid #ffffff22; border-radius:4px; }
.mz-viewer-stage.is-zoomed { display:block; }
.mz-viewer-stage.is-zoomed img { width: max(160%,1200px); max-width:none; max-height:none; cursor:zoom-out; margin:auto; }
.mz-viewer-foot { padding:12px max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); border-top:1px solid #ffffff1a; display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; background:#11171e; }
.mz-viewer-foot p { color:#ced9d1 !important; font-size:14px; line-height:1.5; margin:0; max-height:6em; overflow:auto; }
.mz-viewer-nav { display:flex; align-items:center; gap:10px; white-space:nowrap; font:12px 'IBM Plex Mono',monospace; }
.mz-viewer-status { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); padding:14px 20px; border-radius:8px; background:#111c24; color:#e5f4e9; font-size:14px; pointer-events:none; }
.mz-viewer-status[hidden] { display:none; }
/* Pricing stays accurate: this changes the displayed billing period only. */
.mz-billing { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin:26px auto 10px; }
.mz-billing button { min-height:44px; padding:10px 18px; border:1px solid #718076; border-radius:9px; background:transparent; color:#243c2e; font-size:14px; font-weight:650; cursor:pointer; }
.mz-billing button[aria-pressed=true] { background:#183b2a; color:#fff; border-color:#183b2a; }
.mz-billing-note { font-size:14px; color:#525e55; text-align:center; margin:8px auto 24px; }
.price-num small { white-space:nowrap; }
.mz-trial-path { margin:28px auto 0; padding:24px; border:1px solid #cfdad1; border-radius:14px; background:#f2f5ef; text-align:left; max-width:850px; }
.mz-trial-path h3 { font-size:20px; color:#18271e; margin-bottom:16px; text-align:center; }
.mz-trial-path ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; counter-reset:trial; }
.mz-trial-path li { font-size:15px; line-height:1.6; color:#445149; counter-increment:trial; }
.mz-trial-path li::before { content:'0' counter(trial); display:block; font:500 12px 'IBM Plex Mono',monospace; color:#1a7f53; margin-bottom:8px; }
.mz-trial-path strong { display:block; color:#18271e; margin-bottom:4px; }
.mz-trial-path a { color:#146b43; text-underline-offset:3px; }
/* Search remains optional: without JS, the complete library remains visible. */
.mz-tool-search { margin:0 0 32px; padding:20px; border:1px solid #54c98a40; background:#141b21; border-radius:12px; text-align:left; }
.mz-tool-search,.mz-no-results { grid-column:1 / -1; }
.mz-tool-guide { font-size:14px; margin-top:12px; }
.mz-tool-guide a { text-underline-offset:3px; }
.mz-platforms { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.mz-platforms button { min-height:44px; padding:8px 14px; border:1px solid #547363; border-radius:8px; background:transparent; color:#d9ede0; font-size:14px; cursor:pointer; }
.mz-platforms button[aria-pressed=true] { background:#225138; color:#fff; border-color:#64d494; }
.mz-tool-search label { display:block; color:#edf6ef; font-size:16px; font-weight:650; margin-bottom:10px; }
.mz-search-row { display:flex; gap:10px; flex-wrap:wrap; }
.mz-search-row input { flex:1 1 220px; min-width:0; width:100%; border:1px solid #82968a; background:#0c1218; color:#fff; border-radius:8px; padding:12px 14px; font-size:16px; min-height:48px; }
.mz-search-row button { border:1px solid #82968a; background:#1d2921; color:#e3f5e8; border-radius:8px; padding:10px 16px; min-height:48px; cursor:pointer; font-size:14px; }
.mz-search-meta { margin:10px 0 0; font-size:14px; color:#b8c9be; }
.mz-no-results { padding:24px; border:1px solid #48584e; border-radius:10px; color:#dce9e0; }
[hidden] { display:none !important; }
/* Touch, keyboard and narrow-screen safeguards. */
.sticky-cta { visibility:hidden; }
.sticky-cta.on { visibility:visible; }
body.mz-menu-open .sticky-cta,body.mz-viewer-open .sticky-cta { visibility:hidden; transform:translateY(110%); }
.sim-note .nb,.price-trial .nb { white-space:normal; }
.readout-head { flex-wrap:wrap; gap:8px; }
.sc-txt { min-width:0; }
.tbl-wrap { overscroll-behavior-x:contain; }
.mz-share-status { font-size:13px; line-height:1.6; color:inherit; max-width:32rem; margin:12px auto; }
.mz-share-status input { width:100%; padding:10px; font-size:16px; }
@media(min-width:1101px) { .mz-burger { display:none !important; } }
@media(max-width:1100px) {
 .nav-inner { flex-wrap:nowrap; }
 #mzNav:not(.open) { display:none !important; }
 .mz-burger { display:inline-flex !important; align-items:center; justify-content:center; min-height:44px; min-width:44px; }
 #mzNav.open { display:flex !important; flex-direction:column !important; align-items:stretch !important; position:absolute; left:0; right:0; top:100%; padding:8px 22px 18px; max-height:calc(100vh - 70px); max-height:calc(100dvh - 70px); overflow:auto; overscroll-behavior:contain; background:#10151bf7; border:1px solid #35433a; border-radius:0 0 12px 12px; gap:0; box-shadow:0 24px 50px #0006; }
 #mzNav.open>a { display:block !important; width:100% !important; padding:13px 0; min-height:48px; text-align:center !important; color:#d5dfd8; border-bottom:1px solid #ffffff12; }
 #mzNav.open>a::before,#mzNav.open>a::after { display:none !important; }
 #mzNav.open>a.btn { margin-top:10px; color:#fff; }
}
@media(max-width:600px) {
 .hero-grid { gap:30px; }
 .hero-copy,.hero-panel { flex-basis:100%; min-width:0; width:100%; }
 .hero-ctas { gap:6px; }
 .hero-ctas>.btn { width:100%; padding-inline:14px; font-size:15px; }
 .hero-checks { margin-top:22px; }
 .hero-not li { white-space:normal; }
 .trial-note,.price-trial { font-size:13px; line-height:1.75; }
 .price-grid { min-width:0; }
 .price-box { min-width:0; }
 .mz-trial-path { padding:22px; }
 .mz-trial-path ol { grid-template-columns:1fr; gap:16px; }
 .mz-viewer-head { gap:8px; padding-inline:12px; }
 .mz-viewer-label { font-size:11px; letter-spacing:.04em; }
 .mz-viewer-tools { gap:5px; }
 .mz-viewer button,.mz-viewer a { padding:8px 10px; }
 .mz-viewer-stage { padding:10px; }
 .mz-viewer-foot { grid-template-columns:1fr; gap:10px; padding-inline:14px; }
 .mz-viewer-nav { justify-content:center; }
 .mz-evidence::after { content:'↗'; padding:5px 9px; right:8px; bottom:8px; opacity:1; transform:none; }
}
@media(max-width:374px) {
 .wrap { padding-inline:max(16px,env(safe-area-inset-left)); }
 .sticky-cta { gap:8px; padding-inline:12px; }
 .sticky-cta .btn { padding-inline:12px; }
 .sc-txt { font-size:11px; }
 .readout-head { font-size:10px; letter-spacing:.08em; }
 .hero-kicker .hk-1 { font-size:12px; letter-spacing:.12em; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
 .chart-viewport::after { display:none; }
 .mz-evidence img { transform:none !important; }
}
@media(forced-colors:active) { #top h1 .flip { background:none; color:LinkText; } .mz-evidence::after { border:1px solid; } }
@media print { .mz-billing,.mz-billing-note,.mz-tool-search,.mz-play,.mz-viewer,.mz-evidence::after { display:none !important; } .mz-trial-path { break-inside:avoid; } }

/* Shared editorial hierarchy: centered orientation, readable explanations. */
.freetools .tools .tool > .tag,
.freetools .tools .tool > h2,
.freetools .tools .tool > p.asks,
.freetools .tools .tool > p.mz-tool-guide,
.freetools .tools .tool > p.mz-tool-action { text-align:center; }
.freetools .tools .tool > .tag { font-size:12px; line-height:1.8; letter-spacing:.09em; }
.freetools .tools .tool > h2 { margin:4px 0 14px; font-size:clamp(21px,2vw,25px); line-height:1.25; }
.freetools .tools .tool > p { width:100%; max-width:68ch; margin-inline:auto; font-size:16px; line-height:1.7; }
.freetools .tools .tool > p.mz-short-description { text-align:center; text-wrap:pretty; max-width:60ch; }
.freetools .tools .tool > p.asks { margin:0 auto 18px; font-size:16px; }
.freetools .tools .tool > p.asks b { display:block; margin:0 0 6px; font-size:12px; }
.freetools .tools .tool > .shots3 { margin-top:18px; }
.freetools .tools .tool > p.mz-tool-guide { margin-top:2px; margin-bottom:0; }
.mz-tool-guide a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:7px 12px; border:1px solid #54c98a38; border-radius:8px; text-decoration:none; transition:background-color .2s,border-color .2s; }
.mz-tool-guide a:hover,.mz-tool-guide a:focus-visible { background:#54c98a10; border-color:#54c98a; }
.mz-tool-page .mz-guide-hero { padding:32px 0 42px !important; }
.mz-tool-page .mz-guide-hero .wrap { max-width:960px; text-align:center; }
.mz-breadcrumbs { text-align:center; font-size:13px; line-height:1.8; color:#b9c8bf; }
.mz-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 10px; list-style:none; margin:0; padding:0; }
.mz-breadcrumbs li { display:inline-flex; align-items:center; gap:10px; color:#b9c8bf; }
.mz-breadcrumbs li+li::before { content:'›'; color:#72877b; }
.mz-breadcrumbs a { display:inline-flex; align-items:center; min-height:36px; text-decoration:none; text-underline-offset:3px; }
.mz-breadcrumbs a:hover { text-decoration:underline; }
.mz-tool-page .mz-guide-hero h1 { margin:26px auto 20px !important; max-width:20ch; font-size:clamp(30px,4.2vw,48px); line-height:1.12; }
.mz-tool-page .mz-tool-meta { display:block; text-align:center; max-width:66ch; margin:0 auto; font-size:12px; letter-spacing:.1em; line-height:1.9; color:#b9c8bf; }
.mz-tool-page .mz-guide-body { padding-top:28px !important; }
.mz-tool-page .mz-guide-body > .wrap { max-width:1020px; }
.mz-tool-page .mz-guide-body .tool { padding:clamp(22px,4vw,42px); }
.mz-tool-page .mz-guide-body .tool > p,
.mz-tool-page .mz-guide-body .tool > ol { max-width:70ch; margin-inline:auto; width:100%; text-align:left; font-size:16px; line-height:1.75; }
.mz-tool-page .mz-guide-body .tool > p.asks { text-align:center; margin-bottom:24px; font-size:18px; }
.mz-tool-page .mz-guide-body .tool > p.asks b { display:block; font-size:12px; margin:0 0 6px; }
.mz-tool-page .mz-guide-body .tool > .shots3 { margin-top:20px; }
.mz-tool-page .mz-guide-body .tool > h2 { margin:36px auto 18px; line-height:1.3; text-align:center; font-size:clamp(22px,2.4vw,27px); }
.mz-tool-page .mz-guide-body .tool > p.mz-tool-action { text-align:center; margin-top:20px; }
.mz-tool-page .mz-guide-body .tool > p.eg { padding:15px 18px; border:1px solid #ffffff16; border-radius:9px; background:#ffffff03; margin-bottom:12px; }
.mz-tool-page .mz-guide-body .tool > p.eg b { display:block; margin-bottom:6px; color:#b4ebc8; }
.mz-guide-steps { padding-left:24px; }
.mz-guide-steps li { padding:0 0 12px 7px; }
.mz-guide-steps li::marker { color:#7edfa4; font-family:'IBM Plex Mono',monospace; }
.mz-guide-jump { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin:28px auto 0; }
.mz-guide-jump a { font-size:13px; padding:9px 14px; min-height:40px; border:1px solid #ffffff29; border-radius:24px; text-decoration:none; transition:border-color .2s,background-color .2s; }
.mz-guide-jump a:hover { background:#54c98a0c; border-color:#54c98a; }
.mz-tool-page .mz-guide-body .bridge { margin-top:36px; padding:30px 24px; border:1px solid #54c98a38; border-radius:14px; background:linear-gradient(130deg,#182a21,#141b22); }
.mz-tool-page .bridge p { max-width:64ch; }
.mz-tool-page .bridge .mz-compare-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; font-size:14px; }
.mz-tool-page .mz-related { gap:10px; justify-content:center; }
.mz-tool-page .mz-related > .tag { flex-basis:100%; text-align:center; margin-bottom:4px; }
.mz-tool-page .mz-related a { font-size:14px; }
@media(max-width:600px) {
 .mz-tool-page .mz-guide-hero { padding:24px 0 32px !important; }
 .mz-tool-page .mz-guide-hero h1 { margin-top:22px !important; }
 .mz-tool-page .mz-guide-body .tool { padding:22px 18px; }
 .mz-breadcrumbs ol { gap:2px 7px; }
 .mz-breadcrumbs li { gap:7px; }
 .mz-tool-page .mz-guide-body .tool > p.eg { padding:14px; }
 .mz-tool-page .mz-guide-body .bridge { padding:26px 18px; }
 .mz-tool-page .bridge .btn { width:100%; padding-inline:14px; }
}

/* v307: a single centered reading system, including every explanatory card. */
html body section#top { scroll-margin-top:var(--mz-nav-height) !important; }
@media(min-width:1101px) { #top h1 { font-size:clamp(42px,3.6vw,50px); } }
body.mz-centered .readout-head { justify-content:center; flex-wrap:wrap; gap:8px 18px; font-size:12px; }
body.mz-centered .readout-foot .rf-top { justify-content:center; flex-wrap:wrap; gap:6px 14px; }
body.mz-centered .readout-foot .score { justify-content:center; }
body.mz-centered .readout-foot .rf-note { font-size:12px; line-height:1.7; }
body.mz-centered .hero-panel > p.sim-note { font-size:13px; line-height:1.75; letter-spacing:0; }
body.mz-centered .sim-actions .mz-reseed { font-size:12px; }
body.mz-centered :is(main, .freetools, .guide-body) { text-align:center; }
body.mz-centered :is(main, .freetools) :is(h1,h2,h3,h4,p,li,dt,dd,figcaption,blockquote,th,td),
body.mz-centered .wrap.guide-body :is(p,h3,li),
body.mz-centered .stack-acc .stk-body p { text-align:center !important; }
body.mz-centered .wrap.guide-body p,
body.mz-centered .stack-acc .stk-body p,
body.mz-centered .freetools .tool > p { margin-inline:auto; }
body.mz-centered .freetools .tools .tool > p,
body.mz-centered .mz-guide-body .tool > p,
body.mz-centered .wrap.guide-body > p,
body.mz-centered .stack-acc .stk-body p { max-width:60ch; line-height:1.75; }
.mz-text-block { display:block; }
.mz-text-block + .mz-text-block { margin-top:1em; }
body.mz-centered main p { text-wrap:pretty; }
body.mz-centered .mz-guide-body .tool > p.eg { padding:22px clamp(16px,3vw,28px); }
body.mz-centered .tool > p.eg b { display:block; margin:0 0 10px; font-size:12px; line-height:1.7; letter-spacing:.07em; }
body.mz-centered .tool > p.eg { line-height:1.75; }
body.mz-centered :is(.mz-guide-steps, .wrap.guide-body > ol) { list-style:none; counter-reset:guide-step; padding:0; max-width:60ch; margin:0 auto 28px; }
body.mz-centered :is(.mz-guide-steps, .wrap.guide-body > ol) > li { counter-increment:guide-step; padding:18px 12px; margin:0; border-bottom:1px solid #ffffff14; line-height:1.75; }
body.mz-centered :is(.mz-guide-steps, .wrap.guide-body > ol) > li::before { content:counter(guide-step,decimal-leading-zero); display:block; color:#7edfa4; font:500 13px/1.6 'IBM Plex Mono',monospace; letter-spacing:.08em; margin:0 auto 10px; }
body.mz-centered .wrap.guide-body :is(li > strong:first-child, .callout p > strong:first-child) { display:block; margin-bottom:7px; color:#b4ebc8; }
body.mz-centered .wrap.guide-body .callout { border:1px solid #d98a2b66; border-top:2px solid #d98a2b; border-radius:12px; padding:24px clamp(18px,3vw,30px); margin:24px 0; }
body.mz-centered .wrap.guide-body .callout p { margin:0 auto; max-width:56ch; }
body.mz-centered .wrap.guide-body .callout p + p { margin-top:24px; }
body.mz-centered .wrap.guide-body .callout-t { font-size:13px; }
body.mz-centered .wrap.guide-body ul { padding:0; list-style-position:inside; }
body.mz-centered .wrap.guide-body ul.kv { display:grid; gap:12px; padding:0; margin-block:24px 30px; }
body.mz-centered .wrap.guide-body ul.kv li { list-style:none; border:1px solid #ffffff1c; border-radius:12px; padding:22px; margin:0; background:#ffffff03; line-height:1.75; }
body.mz-centered .wrap.guide-body .toc { font-size:13px; }
body.mz-centered .toc a { font-size:13px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; }
body.mz-centered .wrap.guide-body figcaption { font-size:12px; line-height:1.7; letter-spacing:.04em; }
body.mz-centered .mz-trial-path, body.mz-centered .mz-tool-search { text-align:center; }
body.mz-centered .mz-trial-path li::before { margin-inline:auto; }
body.mz-centered .mz-platforms { justify-content:center; }
body.mz-centered .mz-tool-search label { text-align:center; }
body.mz-centered .who-k ~ p:not(.who-k) { text-align:center; }
body.mz-centered .scale-list { list-style-position:inside; padding-inline:0; }

/* Native disclosures stay keyboard accessible. Active questions are obvious. */
body.mz-centered .faq details { margin-bottom:12px; border:1px solid #cfdad1; border-radius:12px; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
body.mz-centered .faq summary { padding:20px 48px; min-height:64px; font-size:17px; line-height:1.5; transition:background-color .2s,color .2s; }
body.mz-centered .faq summary::after { right:20px; }
body.mz-centered .faq details[open] { border-color:#1a7f53; box-shadow:0 8px 28px #1a7f530b; }
body.mz-centered .faq details[open] > summary { color:#14653f; background:#eaf6ef; border-bottom:1px solid #1a7f5326; }
body.mz-centered .faq .mz-answer { padding:22px clamp(18px,3vw,32px) 26px; }
body.mz-centered .faq .mz-answer p { padding:0; margin:0 auto; max-width:58ch; font-size:16px; line-height:1.8; animation:none; }
body.mz-centered .faq .mz-answer p + p { margin-top:1em; }
body.mz-centered .stack-acc details[open] { border-color:#54c98a88; }
body.mz-centered .stack-acc details[open] > summary { background:#54c98a10; border-radius:11px 11px 0 0; }
body.mz-centered .stack-acc details[open] > summary h3 { color:#83e2ab; }
@media(prefers-reduced-motion:no-preference) {
 body.mz-centered .faq details[open] > .mz-answer,
 body.mz-centered .stack-acc details[open] > .stk-body { animation:mzAnswerReveal .26s ease-out both; }
 @keyframes mzAnswerReveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
}
body.mz-centered .mz-footer-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 18px; max-width:880px; margin:20px auto; font-size:14px; line-height:1.5; }
body.mz-centered .mz-footer-nav a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; text-align:center; text-decoration:none; text-underline-offset:4px; }
body.mz-centered .mz-footer-nav a:hover { text-decoration:underline; }
body.mz-centered .mz-footer-nav a[aria-current="page"] { color:#83e2ab !important; text-decoration:underline; }
body.mz-utility-page { flex-direction:column; }
.mz-compact-footer { box-sizing:border-box; width:100%; margin-top:52px; padding:24px 18px; border-radius:12px; }
.mz-compact-footer > p { font-size:13px; margin:12px auto 0; text-align:center; }
.mz-source-note { font-size:14px; }
@media(max-width:600px) {
 body.mz-centered .wrap.guide-body ul.kv li { padding:20px 16px; }
 body.mz-centered .faq summary { padding:18px 42px; font-size:16px; }
 body.mz-centered .faq summary::after { right:14px; }
 body.mz-centered .mz-footer-nav { gap:4px 16px; }
}
