/* Articles (Annex FV.4): a readable column, warm cards and purpose-built visuals. */
.story-head{max-width:820px;padding:20px 0 28px}
.story-head h1{font-size:clamp(34px,4.6vw,54px);line-height:1.08;letter-spacing:-.045em;margin:12px 0 14px}
.story-dek{font-size:20px;line-height:1.5;color:var(--muted);margin:0 0 14px;max-width:700px}
.story-byline{font-size:14px;color:var(--muted);margin:0}
.story-cat{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700;background:var(--pale);color:var(--ink)}
.cat-pricing{background:#fff0bf}.cat-measurement{background:#dbe7ff}.cat-platforms{background:#d9f2e2}.cat-for-agencies{background:#f6dcf0}.cat-websites{background:#e7e0ff}.cat-choosing{background:#ffe1cc}
html[data-theme=dark] .cat-pricing{background:#54482a}html[data-theme=dark] .cat-measurement{background:#2f3d5c}html[data-theme=dark] .cat-platforms{background:#2b4a38}html[data-theme=dark] .cat-for-agencies{background:#4d3149}html[data-theme=dark] .cat-websites{background:#3d3560}html[data-theme=dark] .cat-choosing{background:#5a3a2c}
.story-layout{display:grid;grid-template-columns:minmax(0,720px) 220px;gap:56px;align-items:start}
.story-body{font-size:18px;line-height:1.75;min-width:0}
.story-body>p,.story-body>ul,.story-body>ol{margin:0 0 20px}
.story-body h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:44px 0 14px;scroll-margin-top:24px}
.story-body h3{font-size:20px;margin:28px 0 8px;letter-spacing:-.02em}
.story-body a:not(.button){color:var(--teal);font-weight:600}
.story-body li{margin-bottom:8px}
.story-toc{position:sticky;top:24px;display:grid;gap:8px;font-size:14px;padding:18px;border:1.5px solid var(--line);border-radius:18px;background:var(--surface)}
.story-toc a{color:var(--ink);text-decoration:none;line-height:1.35}.story-toc a:hover{color:var(--teal)}
.story-sources{margin-top:48px;padding-top:24px;border-top:2px solid var(--line);font-size:15px}
.story-sources ol{padding-left:22px}.story-sources li{margin-bottom:8px}.story-sources span{color:var(--muted);font-size:13px}
.story-sources p{color:var(--muted);font-size:14px}
.story-tools ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.story-tools a,.viz-chips a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 14px 4px 6px;border:2px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink)!important;text-decoration:none;font-size:15px;font-weight:650}
.story-tools .tool-icon,.viz-chips .tool-icon{width:28px;height:28px;font-size:13px;border-radius:9px}
.story-next{display:flex;flex-wrap:wrap;gap:14px;margin:36px 0 0}
.story-related{margin:64px 0 24px}.story-related h2{font-size:28px;letter-spacing:-.03em}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.story-card{display:flex;flex-direction:column;gap:10px;padding:22px;border:1.5px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--card-shadow);color:var(--ink);text-decoration:none;min-width:0}
.story-card:hover{transform:translateY(-3px);box-shadow:var(--lift-shadow)}
.story-card .story-cat{align-self:flex-start}
.story-card h3{font-size:21px;line-height:1.25;letter-spacing:-.03em;margin:0}
.story-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.story-meta{margin-top:auto;font-size:13px;color:var(--muted);font-weight:600}
.story-lead{margin-bottom:18px}.story-card-lead{padding:34px;background:linear-gradient(135deg,var(--surface),var(--soft))}.story-card-lead h3{font-size:clamp(26px,3vw,36px)}.story-card-lead p{font-size:18px;max-width:640px}
.story-guides{margin:56px 0 24px}.story-guides h2{font-size:26px;letter-spacing:-.03em}
.story-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.story-guide-list a{display:grid;gap:2px;padding:14px 18px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:650}
.story-guide-list a span{font-size:13px;font-weight:600;color:var(--muted)}

/* Visual components. */
.viz{margin:30px 0;padding:22px 24px;border:1.5px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--card-shadow)}
.viz figcaption,.viz .viz-caption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:12px}
.viz-title{font-size:17px;font-weight:750;letter-spacing:-.02em;margin:0 0 14px;line-height:1.3}
.viz-bars ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.viz-bars li{display:grid;grid-template-columns:minmax(120px,190px) 1fr auto;gap:14px;align-items:center;font-size:15px;margin:0}
.viz-bar-label{font-weight:600;line-height:1.3}
.viz-bar-track{height:14px;border-radius:8px;background:var(--soft);overflow:hidden;position:relative}
.viz-bar-track>span{display:block;height:100%;border-radius:8px;background:#e6855f}
.viz-dual .viz-inner{position:absolute;left:0;top:3px;height:8px;background:#7a4b1f}
html[data-theme=dark] .viz-dual .viz-inner{background:#ffd6c2}
.viz-bars strong{font-size:16px;white-space:nowrap}.viz-bars strong small{white-space:normal}.viz-bars strong small{font-weight:500;color:var(--muted);font-size:13px}
.viz-total{font-size:13px;color:var(--muted);margin:12px 0 0}
.viz-legend{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 0}
.viz-key{display:inline-block;width:22px;height:10px;border-radius:5px;background:#e6855f}.viz-key-inner{background:#7a4b1f}
html[data-theme=dark] .viz-key-inner{background:#ffd6c2}
.viz-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.viz-callout{margin:30px 0;padding:22px 24px;border-radius:22px;background:var(--pale);border:0;font-size:17px;line-height:1.6}
.viz-callout strong:first-child{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.viz-flow{display:flex;align-items:stretch;gap:10px;list-style:none;padding:0;margin:0;counter-reset:step}
.viz-flow li{flex:1;min-width:0;padding:16px;border-radius:16px;background:var(--soft);font-size:15px;line-height:1.45;position:relative;counter-increment:step;margin:0}
.viz-flow li b{display:block;font-size:16px;margin-bottom:4px}
.viz-flow li:before{content:counter(step);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:13px;font-weight:800;margin-bottom:8px}
.viz-flow li:not(:last-child):after{content:'→';position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--muted);z-index:1}
.viz-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.viz-compare>div{padding:18px;border-radius:16px;background:var(--soft)}
.viz-compare h4,.viz-compare h3{margin:0 0 8px;font-size:17px;letter-spacing:-.02em}.viz-compare ul{margin:0;padding-left:18px;font-size:15px;line-height:1.5}.viz-compare p{font-size:15px;margin:0 0 6px;line-height:1.5}
.viz-tree{display:grid;gap:10px}
.viz-q{padding:14px 18px;border-radius:14px;background:var(--ink);color:var(--bg);font-weight:700;font-size:16px}
.viz-branches{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-left:18px;border-left:3px solid var(--line)}
.viz-branches>div{padding:12px 16px;border-radius:14px;background:var(--soft);font-size:15px;line-height:1.45}
.viz-branches b{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:2px}
.viz-table{width:100%;border-collapse:collapse;font-size:15px;min-width:0}
.viz-table th,.viz-table td{padding:10px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top;min-width:0;line-height:1.45}
.viz-table thead th{border-top:0;font-size:13px;color:var(--muted);font-weight:700;background:none}
.viz-table td.num,.viz-table th.num{text-align:right;white-space:nowrap}
.viz-scroll{overflow-x:auto}
.viz-timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid var(--line);display:grid;gap:14px}
.viz-timeline li{position:relative;font-size:15px;line-height:1.5;margin:0}
.viz-timeline li:before{content:'';position:absolute;left:-26px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--teal);border:3px solid var(--surface)}
.viz-timeline b{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.viz-anatomy svg{width:100%;height:auto;display:block}
.viz-anatomy .an-box{fill:var(--soft);stroke:var(--line);stroke-width:2}
.viz-anatomy .an-text{fill:var(--ink);font:500 15px Jakarta,sans-serif}
.viz-anatomy .an-small{fill:var(--muted);font:500 13px Jakarta,sans-serif}
.viz-anatomy .an-mark{fill:#ffd166;opacity:.75}
.viz-anatomy .an-line{stroke:var(--teal);stroke-width:2;fill:none}
.viz-anatomy .an-label{fill:var(--teal);font:700 14px Jakarta,sans-serif}
.viz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.viz-grid>div{padding:16px;border-radius:16px;background:var(--soft);font-size:15px;line-height:1.45}
.viz-grid b{display:block;font-size:16px;margin-bottom:4px}
.viz-big{display:flex;flex-wrap:wrap;gap:12px}
.viz-big>div{flex:1 1 150px;padding:16px;border-radius:16px;background:var(--soft)}
.viz-big strong{display:block;font-size:34px;letter-spacing:-.04em;line-height:1.1}
.viz-big span{font-size:14px;color:var(--muted)}
.viz-ladder ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.viz-ladder li{display:grid;gap:4px;padding:14px 16px;border-radius:14px;background:var(--soft);font-size:15px;line-height:1.45;margin:0}
.viz-ladder strong a{color:var(--ink)!important}
.viz-step-tag{justify-self:start;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface)}
.viz-limit{color:var(--muted);font-size:14px}
.viz-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.viz-week>div{padding:10px 8px;border-radius:12px;background:var(--soft);font-size:13px;line-height:1.35;min-height:84px}
.viz-week b{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.viz-week .hot{background:var(--pale)}
/* Interactive widgets. */
.aw{margin:30px 0;padding:22px 24px;border:1.5px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--card-shadow)}
.aw-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 18px;margin-bottom:18px}
.aw-field{display:grid;gap:6px;font-size:14px;font-weight:650}
.aw-field input[type=range]{height:auto;min-height:0;padding:0;border:0;box-shadow:none!important;accent-color:var(--accent);width:100%}
.aw-result{display:grid;gap:4px}.aw-big{font-size:48px;letter-spacing:-.05em;line-height:1}
.aw-result p{margin:0 0 10px;color:var(--muted)}
.aw-parts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.aw-parts li{padding:8px 12px;border-radius:12px;background:var(--soft);font-size:14px;display:flex;gap:6px;margin:0}
.aw-parts li:not(:last-child):after{content:'×';margin-left:8px;color:var(--muted);font-weight:800}
.aw-note{font-size:14px;color:var(--muted);margin:12px 0 4px}
.aw-link{font-size:15px;font-weight:700}
.aw-rank{margin:0}
.aw-chart{width:100%;height:auto;display:block}
.aw-grid{stroke:var(--line);stroke-width:1}.aw-tick{fill:var(--muted);font:500 12px Jakarta,sans-serif}.aw-axis{fill:var(--muted);font:600 13px Jakarta,sans-serif}.aw-series{font:700 13px Jakarta,sans-serif}
.aw-table{margin-top:10px;font-size:14px}.aw-table summary{font-weight:700;cursor:pointer}.aw-table table{width:100%;border-collapse:collapse;margin-top:8px}.aw-table td,.aw-table th{padding:6px 8px;border-top:1px solid var(--line);text-align:right;min-width:0}.aw-table td:first-child,.aw-table th:first-child{text-align:left}
.aw-figure{margin:0}.aw-figure figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.aw-wallet-bars{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.aw-wallet-bars li{display:grid;grid-template-columns:120px 1fr 110px;gap:12px;align-items:center;font-size:15px;margin:0}
.aw-wallet-bars strong{text-align:right}
.aw-track{height:14px;border-radius:8px;background:var(--soft);overflow:hidden}.aw-track span{display:block;height:100%;border-radius:8px}
.aw-used .aw-track span{background:#3f6fb5}.aw-paid .aw-track span{background:#e6855f}.aw-bonus .aw-track span{background:#2f8a5b}.aw-left .aw-track span{background:#b9a99a}
.aw-subhead{font-weight:700;font-size:15px;margin:16px 0 6px}
.aw-payments{font-size:15px;margin:0;padding-left:22px}
.aw-fallback{font-size:15px;color:var(--muted)}
.aw.aw-ready .aw-fallback{display:none}
@media(max-width:1000px){.story-layout{grid-template-columns:1fr}.story-toc{display:none}.story-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.story-body{font-size:17px}.story-dek{font-size:18px}.story-grid,.story-guide-list,.viz-compare,.viz-grid,.viz-branches{grid-template-columns:1fr}
 .viz,.aw,.viz-callout{padding:16px;border-radius:18px;margin:24px 0}.viz-bars li{grid-template-columns:1fr auto;gap:4px 10px}.viz-bars .viz-bar-track{grid-column:1/-1;grid-row:2}
 .viz-flow{flex-direction:column}.viz-flow li:not(:last-child):after{content:'↓';right:auto;left:50%;top:auto;bottom:-14px;transform:translateX(-50%)}
 .viz-week{grid-template-columns:repeat(2,minmax(0,1fr))}.aw-wallet-bars li{grid-template-columns:1fr auto}.aw-wallet-bars .aw-track{grid-column:1/-1;grid-row:2}.aw-big{font-size:40px}.story-card-lead{padding:22px}}
.viz-code{margin:0;padding:16px;border-radius:14px;background:var(--ink);color:var(--bg);font:500 14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto;white-space:pre}
.story-body code{font:500 .9em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--soft);padding:1px 6px;border-radius:6px}
.viz-code code{background:none;padding:0}
.story-kinds{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.story-kinds span{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;border:1.5px solid var(--line);color:var(--muted)}
.story-kinds+.story-meta{margin-top:6px}
/* Number tables under charts scroll inside their box on narrow screens, never the page. */
.aw-table{max-width:100%;overflow-x:auto}.aw-figure{min-width:0;max-width:100%}.aw{min-width:0;max-width:100%;overflow:hidden}
