:root {
  --guide-bg:#090b0a;
  --guide-surface:#0d100e;
  --guide-text:#efeee8;
  --guide-muted:#989a92;
  --guide-dim:#656860;
  --guide-line:rgba(255,255,255,.14);
  --guide-green:#a8ff3e;
  --guide-green-rgb:168,255,62;
  --guide-pad:clamp(22px,5vw,76px);
  --guide-max:1420px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--guide-bg); }
body {
  margin:0;
  background:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),
    var(--guide-bg);
  background-size:64px 64px;
  color:var(--guide-text);
  font-family:"Manrope",Arial,sans-serif;
  text-rendering:optimizeLegibility;
}
a { color:inherit; text-decoration:none; }
img,svg { display:block; max-width:100%; }
button,input,textarea,select { font:inherit; }
::selection { background:var(--guide-green); color:#071006; }

.guide-pointer-glow {
  position:fixed;
  top:0;
  left:0;
  z-index:12;
  width:clamp(300px,34vw,520px);
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  contain:strict;
  background:radial-gradient(circle,rgba(var(--guide-green-rgb),.17),rgba(var(--guide-green-rgb),.045) 42%,transparent 70%);
  filter:blur(6px);
  mix-blend-mode:screen;
  transform:translate3d(calc(var(--pointer-x,-600px) - 50%),calc(var(--pointer-y,-600px) - 50%),0);
  transition:opacity .25s ease;
  will-change:transform;
}
.guide-pointer-glow.is-visible { opacity:.7; }

.guide-shell { width:min(100%,var(--guide-max)); margin-inline:auto; padding-inline:var(--guide-pad); }
.guide-header {
  position:sticky;
  top:0;
  z-index:20;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:40px;
  min-height:92px;
  border-bottom:1px solid var(--guide-line);
  background:rgba(9,11,10,.9);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.guide-brand { font-size:31px; font-weight:800; letter-spacing:-.07em; }
.guide-brand span { color:var(--guide-green); }
.guide-nav { display:flex; justify-content:center; align-items:center; gap:28px; }
.guide-nav a,.guide-back {
  position:relative;
  color:#c8c9c3;
  font:500 10px "DM Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.guide-nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-11px;
  height:1px;
  background:var(--guide-green);
  transition:right .25s ease;
}
.guide-nav a:hover::after,.guide-nav a[aria-current="page"]::after { right:0; }
.guide-back {
  display:flex;
  min-height:40px;
  align-items:center;
  gap:13px;
  padding:0 14px;
  border:1px solid rgba(var(--guide-green-rgb),.34);
  color:var(--guide-green);
  transition:background-color .25s ease,border-color .25s ease,color .25s ease;
}
.guide-back:hover { border-color:var(--guide-green); background:var(--guide-green); color:#071006; }
.guide-back svg { width:17px; fill:none; stroke:currentColor; stroke-width:1.6; }

.guide-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:8vw;
  align-items:end;
  min-height:640px;
  padding-block:110px 82px;
  border-bottom:1px solid var(--guide-line);
  overflow:hidden;
}
.guide-hero::after {
  content:"";
  position:absolute;
  right:5%;
  top:12%;
  width:min(36vw,520px);
  aspect-ratio:1;
  background:
    linear-gradient(rgba(var(--guide-green-rgb),.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(var(--guide-green-rgb),.18) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle,#000 18%,transparent 70%);
  opacity:.58;
  pointer-events:none;
}
.guide-hero-copy { position:relative; z-index:1; }
.guide-label,.article-category,.guide-topic {
  color:var(--guide-green);
  font:500 10px "DM Mono",monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.guide-badge {
  display:inline-block;
  margin-left:8px;
  padding:1px 6px;
  background:rgba(var(--guide-green-rgb),.18);
  color:var(--guide-green);
  font-size:9px;
  border-radius:3px;
  letter-spacing:.06em;
  vertical-align:middle;
}
.guide-hero h1 {
  max-width:980px;
  margin:28px 0 26px;
  font-size:clamp(52px,7vw,104px);
  line-height:.92;
  letter-spacing:-.07em;
}
.guide-hero p { max-width:700px; margin:0; color:var(--guide-muted); font-size:17px; line-height:1.75; }
.guide-hero-note {
  position:relative;
  z-index:1;
  max-width:390px;
  padding:28px 0;
  border-block:1px solid rgba(var(--guide-green-rgb),.42);
}
.guide-hero-note strong { display:block; margin-bottom:12px; font-size:24px; line-height:1.2; letter-spacing:-.04em; }
.guide-hero-note span { color:var(--guide-muted); font-size:13px; line-height:1.7; }

.guide-pathways { padding-block:72px 54px; border-bottom:1px solid var(--guide-line); }
.guide-pathways>header { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); gap:40px; align-items:end; margin-bottom:38px; }
.guide-pathways h2 { max-width:720px; margin:0; font-size:clamp(34px,4.5vw,66px); line-height:1; letter-spacing:-.06em; }
.guide-pathway-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--guide-line); }
.guide-pathway-list a { display:grid; grid-template-columns:34px 1fr 20px; gap:16px; min-height:184px; padding:28px 26px 28px 0; border-bottom:1px solid var(--guide-line); transition:background-color .25s ease,padding-left .25s ease; }
.guide-pathway-list a+a { padding-left:26px; border-left:1px solid var(--guide-line); }
.guide-pathway-list a:hover { padding-left:12px; background:rgba(var(--guide-green-rgb),.025); }
.guide-pathway-list a+a:hover { padding-left:38px; }
.guide-pathway-list a>span { color:var(--guide-green); font:500 11px "DM Mono"; }
.guide-pathway-list strong { display:block; margin-bottom:12px; font-size:19px; line-height:1.25; letter-spacing:-.035em; }
.guide-pathway-list small { color:var(--guide-muted); font-size:12px; line-height:1.65; }
.guide-pathway-list b { color:var(--guide-green); font:400 18px "DM Mono"; }

.guide-filters { display:flex; align-items:center; flex-wrap:wrap; gap:12px 30px; padding-block:26px; border-bottom:1px solid var(--guide-line); }
.guide-filters>span { margin-right:auto; color:var(--guide-dim); font:500 9px "DM Mono"; text-transform:uppercase; letter-spacing:.1em; }
.guide-filters a { color:#b4b6ae; font-size:13px; }
.guide-filters a:hover { color:var(--guide-green); }

.guide-search { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(300px,1fr) auto; gap:40px; align-items:end; padding-block:46px 18px; }
.guide-search label span { display:block; margin-bottom:8px; color:var(--guide-green); font:500 9px "DM Mono"; letter-spacing:.09em; text-transform:uppercase; }
.guide-search label strong { font-size:21px; letter-spacing:-.035em; }
.guide-search>div { position:relative; }
.guide-search input { width:100%; height:58px; padding:0 52px 0 0; border:0; border-bottom:1px solid rgba(var(--guide-green-rgb),.48); outline:0; background:transparent; color:var(--guide-text); font-size:20px; letter-spacing:-.025em; }
.guide-search input::placeholder { color:#555951; }
.guide-search input::-webkit-search-cancel-button { appearance:none; }
.guide-search input:focus { border-color:var(--guide-green); }
.guide-search button { position:absolute; right:0; top:50%; width:36px; height:36px; border:1px solid rgba(var(--guide-green-rgb),.35); border-radius:50%; background:transparent; color:var(--guide-green); cursor:pointer; transform:translateY(-50%); }
.guide-search>p { margin:0 0 18px; color:var(--guide-dim); font:500 9px "DM Mono"; text-transform:uppercase; white-space:nowrap; }
.guide-empty { margin:0; padding:52px 0; border-block:1px solid var(--guide-line); color:var(--guide-muted); font-size:16px; }
.guide-row[hidden],.guide-empty[hidden] { display:none!important; }

.guide-index { padding-block:48px 110px; }
.guide-row {
  display:grid;
  grid-template-columns:70px minmax(250px,.95fr) minmax(260px,.85fr) 85px 34px;
  gap:32px;
  align-items:center;
  min-height:154px;
  border-bottom:1px solid var(--guide-line);
  transition:padding-left .3s ease,border-color .3s ease,background-color .3s ease;
}
.guide-row:first-child { border-top:1px solid var(--guide-line); }
.guide-row:hover { padding-left:12px; border-color:rgba(var(--guide-green-rgb),.48); background:rgba(var(--guide-green-rgb),.018); }
.guide-number { color:var(--guide-green); font:500 20px "DM Mono"; }
.guide-row h2 { margin:8px 0 0; font-size:clamp(23px,2.35vw,36px); line-height:1.1; letter-spacing:-.05em; }
.guide-row p { margin:0; color:var(--guide-muted); font-size:13px; line-height:1.65; }
.guide-time { color:var(--guide-dim); font:400 9px "DM Mono"; text-align:right; text-transform:uppercase; }
.guide-arrow { color:var(--guide-green); font-size:25px; transition:transform .3s ease; }
.guide-row:hover .guide-arrow { transform:translateX(6px); }

.guide-cta {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:center;
  margin-bottom:100px;
  padding-block:42px;
  border-block:1px solid rgba(var(--guide-green-rgb),.5);
}
.guide-cta h2 { margin:0 0 9px; font-size:clamp(29px,4vw,58px); line-height:1; letter-spacing:-.06em; }
.guide-cta p { margin:0; color:var(--guide-muted); line-height:1.6; }
.guide-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 25px;
  border:1px solid var(--guide-green);
  background:var(--guide-green);
  color:#071006;
  font:500 10px "DM Mono";
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease;
}
.guide-button:hover { background:transparent; color:var(--guide-green); }
.article-body .guide-button {
  color:#071006;
  text-decoration:none;
  text-decoration-color:transparent;
}
.article-body .guide-button:hover { color:var(--guide-green); }
.guide-button:focus-visible,
.guide-nav a:focus-visible,
.guide-back:focus-visible,
.guide-row:focus-visible,
.related-card:focus-visible {
  outline:2px solid var(--guide-green);
  outline-offset:4px;
}

.guide-footer { display:flex; justify-content:space-between; gap:30px; padding-block:30px 44px; border-top:1px solid var(--guide-line); color:var(--guide-dim); font:400 9px "DM Mono"; text-transform:uppercase; letter-spacing:.07em; }
.guide-footer nav { display:flex; gap:24px; }
.guide-footer a:hover { color:var(--guide-green); }

/* Article pages */
.article-hero { padding-block:74px 56px; border-bottom:1px solid var(--guide-line); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:54px; color:var(--guide-dim); font:400 9px "DM Mono"; text-transform:uppercase; letter-spacing:.06em; }
.breadcrumbs a:hover { color:var(--guide-green); }
.breadcrumbs span:not(:last-child)::after { content:"/"; margin-left:9px; color:#40433e; }
.article-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.32fr); gap:7vw; align-items:end; }
.article-hero h1 { max-width:1050px; margin:22px 0 26px; font-size:clamp(47px,6.6vw,92px); line-height:.93; letter-spacing:-.07em; }
.article-deck { max-width:800px; margin:0; color:var(--guide-muted); font-size:18px; line-height:1.7; }
.article-meta { display:grid; gap:12px; padding:22px 0; border-block:1px solid rgba(var(--guide-green-rgb),.35); color:var(--guide-muted); font:400 9px "DM Mono"; text-transform:uppercase; letter-spacing:.07em; }
.article-meta>span { display:grid; grid-template-columns:94px minmax(0,1fr); align-items:baseline; gap:10px; }
.article-meta strong { color:var(--guide-text); font:600 15px "Manrope"; text-transform:none; letter-spacing:-.02em; }

.article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(220px,280px); justify-content:center; gap:clamp(60px,9vw,150px); padding-block:74px 120px; }
.article-body { min-width:0; }
.article-body>p:first-of-type { color:#d1d2cc; font-size:20px; line-height:1.7; }
.article-body h2 { scroll-margin-top:30px; margin:76px 0 22px; font-size:clamp(31px,4vw,51px); line-height:1.06; letter-spacing:-.055em; }
.article-body h3 { margin:42px 0 16px; font-size:24px; line-height:1.2; letter-spacing:-.04em; }
.article-body p,.article-body li { color:#b6b8b0; font-size:16px; line-height:1.85; }
.article-body a { color:var(--guide-green); text-decoration:underline; text-decoration-color:rgba(var(--guide-green-rgb),.45); text-underline-offset:4px; }
.article-body strong { color:var(--guide-text); }
.article-body ul,.article-body ol { margin:22px 0; padding-left:23px; }
.article-body li+li { margin-top:9px; }
.article-body blockquote { margin:42px 0; padding:8px 0 8px 27px; border-left:2px solid var(--guide-green); color:#d9dad4; font-size:20px; line-height:1.6; }
.article-body hr { margin:62px 0; border:0; border-top:1px solid var(--guide-line); }

.article-visual { margin:48px 0 58px; border:1px solid rgba(var(--guide-green-rgb),.3); background:linear-gradient(145deg,rgba(var(--guide-green-rgb),.035),rgba(255,255,255,.008)); }
.visual-toolbar { display:flex; justify-content:space-between; gap:20px; padding:14px 17px; border-bottom:1px solid var(--guide-line); color:var(--guide-green); font:500 9px "DM Mono"; letter-spacing:.08em; text-transform:uppercase; }
.visual-toolbar small { color:var(--guide-dim); font:inherit; }
.visual-stage { position:relative; padding:28px; overflow:hidden; }
.visual-stage::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(#000,transparent 92%); }
.visual-grid { position:relative; display:grid; grid-template-columns:repeat(var(--visual-columns,3),minmax(0,1fr)); border-top:1px solid var(--guide-line); border-left:1px solid var(--guide-line); }
.visual-cell { min-height:122px; padding:20px; border-right:1px solid var(--guide-line); border-bottom:1px solid var(--guide-line); }
.visual-cell>span,.visual-node>span { display:block; margin-bottom:14px; color:var(--guide-green); font:500 9px "DM Mono"; letter-spacing:.08em; text-transform:uppercase; }
.visual-cell strong,.visual-node strong { display:block; margin-bottom:7px; color:var(--guide-text); font-size:17px; line-height:1.2; }
.visual-cell small,.visual-node small { color:var(--guide-muted); font-size:11px; line-height:1.55; }
.visual-flow { position:relative; display:grid; grid-template-columns:repeat(var(--visual-columns,4),minmax(0,1fr)); align-items:stretch; gap:28px; }
.visual-node { position:relative; min-height:118px; padding:18px; border:1px solid var(--guide-line); background:rgba(9,11,10,.84); }
.visual-node:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-22px; color:var(--guide-green); font:400 15px "DM Mono"; transform:translateY(-50%); }
.visual-metrics { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.visual-metric { min-height:150px; padding:20px; border:1px solid var(--guide-line); background:rgba(9,11,10,.78); }
.visual-metric span { color:var(--guide-green); font:500 26px "DM Mono"; }
.visual-metric strong { display:block; margin:13px 0 6px; font-size:18px; }
.visual-metric small { color:var(--guide-muted); font-size:11px; }
.visual-meter { height:3px; margin-top:22px; background:rgba(255,255,255,.08); }
.visual-meter i { display:block; width:var(--meter,70%); height:100%; background:var(--guide-green); box-shadow:0 0 18px rgba(var(--guide-green-rgb),.45); }
.visual-caption { display:flex; justify-content:space-between; gap:26px; padding:15px 17px; border-top:1px solid var(--guide-line); color:var(--guide-muted); font-size:11px; line-height:1.55; }
.visual-caption span { color:var(--guide-green); font:500 8px "DM Mono"; text-transform:uppercase; white-space:nowrap; }

.article-toc { position:sticky; top:30px; align-self:start; padding-top:16px; border-top:1px solid var(--guide-line); }
.article-toc>span { color:var(--guide-green); font:500 9px "DM Mono"; letter-spacing:.1em; text-transform:uppercase; }
.article-toc ol { margin:24px 0 0; padding:0; list-style:none; counter-reset:toc; }
.article-toc li { counter-increment:toc; border-bottom:1px solid rgba(255,255,255,.08); }
.article-toc a { display:grid; grid-template-columns:22px 1fr; gap:10px; padding:14px 0; color:#8d9088; font-size:12px; line-height:1.45; }
.article-toc a::before { content:counter(toc,decimal-leading-zero); color:var(--guide-green); font:400 9px "DM Mono"; }
.article-toc a:hover { color:var(--guide-text); }

.article-table-wrap { overflow-x:auto; margin:32px 0; border-block:1px solid var(--guide-line); }
.article-table { width:100%; min-width:600px; border-collapse:collapse; }
.article-table th,.article-table td { padding:17px 14px; border-bottom:1px solid rgba(255,255,255,.09); text-align:left; vertical-align:top; }
.article-table th { color:var(--guide-green); font:500 9px "DM Mono"; text-transform:uppercase; letter-spacing:.07em; }
.article-table td { color:#b8bab2; font-size:13px; line-height:1.55; }
.article-table tr:last-child td { border-bottom:0; }

.decision-flow { margin:36px 0; border-top:1px solid var(--guide-line); }
.decision-step { display:grid; grid-template-columns:48px 1fr; gap:22px; padding:23px 0; border-bottom:1px solid var(--guide-line); }
.decision-step>span { color:var(--guide-green); font:500 12px "DM Mono"; }
.decision-step strong { display:block; margin-bottom:6px; font-size:18px; }
.decision-step p { margin:0; font-size:14px; }

.checklist { margin:34px 0; padding:0; list-style:none; border-top:1px solid var(--guide-line); }
.checklist li { position:relative; margin:0!important; min-height:62px; padding:18px 0 18px 48px; border-bottom:1px solid var(--guide-line); }
.checklist li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:17px;
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border:1px solid rgba(var(--guide-green-rgb),.65);
  border-radius:50%;
  background:rgba(var(--guide-green-rgb),.08);
  color:var(--guide-green);
  font:500 16px/1 "DM Mono";
}

.article-faq { margin:72px 0 12px; }
.article-faq h2 { margin:0 0 28px; }
.faq-list { border-top:1px solid var(--guide-line); }
.faq-list details { border-bottom:1px solid var(--guide-line); }
.faq-list summary {
  position:relative;
  padding:22px 52px 22px 0;
  color:var(--guide-text);
  font-size:17px;
  font-weight:700;
  line-height:1.45;
  list-style:none;
  cursor:pointer;
}
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after {
  content:"+";
  position:absolute;
  top:50%;
  right:3px;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid rgba(var(--guide-green-rgb),.45);
  border-radius:50%;
  color:var(--guide-green);
  font:400 18px/1 "DM Mono";
  transform:translateY(-50%);
  transition:transform .25s ease,background-color .25s ease,color .25s ease;
}
.faq-list details[open] summary { padding-bottom:12px; }
.faq-list details[open] summary::after { background:var(--guide-green); color:#071006; transform:translateY(-50%) rotate(45deg); }
.faq-list p { max-width:690px; margin:0; padding:0 52px 24px 0; color:#b6b8b0; font-size:14px; line-height:1.75; }
.faq-list summary:hover { color:var(--guide-green); }
.faq-list summary:focus-visible { outline:2px solid var(--guide-green); outline-offset:5px; }
.article-callout { margin:58px 0; padding:30px; border:1px solid rgba(var(--guide-green-rgb),.45); background:rgba(var(--guide-green-rgb),.035); }
.article-callout span { color:var(--guide-green); font:500 9px "DM Mono"; text-transform:uppercase; letter-spacing:.09em; }
.article-callout h3 { margin:13px 0 11px; }
.article-callout p { margin:0 0 22px; font-size:14px; }
.article-sources { margin-top:72px; padding-top:26px; border-top:1px solid var(--guide-line); }
.article-sources h2 { margin-top:0; font-size:24px; }
.article-sources li { font-size:13px; }

.related { padding-block:70px 90px; border-top:1px solid var(--guide-line); }
.related-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.related-head h2 { margin:0; font-size:clamp(31px,4vw,52px); letter-spacing:-.055em; }
.related-head a { color:var(--guide-green); font:500 9px "DM Mono"; text-transform:uppercase; letter-spacing:.08em; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--guide-line); }
.related-card { min-height:190px; padding:25px 25px 25px 0; border-bottom:1px solid var(--guide-line); }
.related-card+.related-card { padding-left:25px; border-left:1px solid var(--guide-line); }
.related-card h3 { margin:14px 0 12px; font-size:22px; line-height:1.15; letter-spacing:-.045em; }
.related-card p { margin:0; color:var(--guide-muted); font-size:12px; line-height:1.6; }

@media (max-width:1050px) {
  /* nav is hidden here, so the 3-column grid was leaving the burger stranded
     at the end of the middle column. Flex keeps brand left, actions right. */
  .guide-header { display:flex; align-items:center; gap:10px; }
  .guide-nav { display:none; }
  .guide-brand { margin-right:auto; }
  .guide-back { order:2; justify-self:auto; }
  .guide-menu-toggle { order:3; flex:0 0 auto; }
  .guide-hero { grid-template-columns:1fr; min-height:auto; padding-block:90px 64px; }
  .guide-hero-note { max-width:560px; }
  .guide-pathway-list { grid-template-columns:1fr; }
  .guide-pathway-list a,.guide-pathway-list a+a { min-height:0; padding:24px 0; border-left:0; }
  .guide-pathway-list a+a:hover,.guide-pathway-list a:hover { padding-left:10px; }
  .guide-search { grid-template-columns:minmax(160px,.45fr) 1fr; }
  .guide-search>p { grid-column:2; }
  .guide-row { grid-template-columns:50px 1fr 70px 26px; gap:20px; }
  .guide-row p { grid-column:2/3; }
  .article-hero-grid { grid-template-columns:1fr; }
  .article-meta { grid-template-columns:repeat(3,1fr); }
  .article-meta>span { grid-template-columns:1fr; }
  .article-layout { grid-template-columns:minmax(0,760px); padding-top:56px; }
  .article-toc { position:relative; top:auto; grid-row:1; padding:16px 0 14px; overflow-x:auto; border-bottom:1px solid var(--guide-line); scrollbar-width:none; }
  .article-toc::-webkit-scrollbar { display:none; }
  .article-toc ol { display:flex; width:max-content; margin-top:13px; gap:8px; }
  .article-toc li { border:0; }
  .article-toc a { display:flex; grid-template-columns:none; gap:7px; min-height:36px; align-items:center; padding:8px 11px; border:1px solid rgba(255,255,255,.1); white-space:nowrap; }
  .article-toc a::before { min-width:auto; }
}

@media (max-width:720px) {
  :root { --guide-pad:clamp(18px,5.6vw,28px); }
  body { background-size:44px 44px; }
  .guide-header { grid-template-columns:auto 1fr; min-height:76px; }
  .guide-back { min-height:38px; padding-inline:11px; font-size:8px; }
  .guide-hero { gap:40px; padding-block:64px 48px; }
  .guide-hero h1 { margin-block:22px 20px; font-size:clamp(42px,12vw,58px); line-height:.95; }
  .guide-hero p { font-size:15px; }
  .guide-hero-note { padding-block:22px; }
  .guide-hero-note strong { font-size:21px; }
  .guide-pathways { padding-block:54px 42px; }
  .guide-pathways>header { grid-template-columns:1fr; gap:18px; margin-bottom:28px; }
  .guide-pathways h2 { font-size:clamp(34px,10vw,48px); }
  .guide-filters { flex-wrap:nowrap; gap:8px; margin-inline:0; padding:14px var(--guide-pad); overflow-x:auto; scrollbar-width:none; }
  .guide-filters::-webkit-scrollbar { display:none; }
  .guide-filters>span { position:sticky; left:0; flex:0 0 auto; margin-right:4px; padding-right:12px; background:var(--guide-bg); }
  .guide-filters a { flex:0 0 auto; min-height:36px; padding:9px 12px; border:1px solid rgba(255,255,255,.1); white-space:nowrap; }
  .guide-search { grid-template-columns:1fr; gap:20px; padding-top:34px; }
  .guide-search>p { grid-column:auto; margin:0; }
  .guide-search input { font-size:17px; }
  .guide-row { grid-template-columns:40px 1fr 24px; gap:15px; padding-block:24px; }
  .guide-row p { grid-column:2/4; }
  .guide-time { grid-column:2/3; text-align:left; }
  .guide-arrow { grid-column:3; grid-row:1/3; }
  .guide-cta { grid-template-columns:1fr; gap:28px; }
  .guide-button { width:100%; }
  .guide-footer { display:grid; }
  .guide-footer nav { flex-wrap:wrap; }
  .article-hero { padding-block:38px 34px; }
  .breadcrumbs { margin-bottom:32px; }
  .breadcrumbs span { min-width:0; overflow-wrap:anywhere; }
  .breadcrumbs span:last-child { display:none; }
  .article-hero h1 { margin-block:18px 22px; font-size:clamp(36px,10.5vw,48px); line-height:.98; letter-spacing:-.055em; }
  .article-deck { font-size:16px; }
  .article-meta { grid-template-columns:1fr; }
  .article-layout { gap:36px; padding-block:34px 76px; }
  .article-toc { margin-inline:calc(var(--guide-pad) * -1); padding-inline:var(--guide-pad); }
  .article-body>p:first-of-type { font-size:18px; }
  .article-body h2 { margin-top:58px; }
  .article-body p,.article-body li { font-size:15px; }
  .article-visual { margin-block:38px 48px; }
  .visual-toolbar small::after { content:" · posunout →"; color:var(--guide-green); }
  .visual-stage { padding:18px; overflow-x:auto; }
  .visual-grid,.visual-flow { min-width:620px; }
  .visual-metrics { grid-template-columns:1fr; }
  .visual-metric { min-height:124px; }
  .visual-caption { display:block; }
  .visual-caption span { display:block; margin-bottom:7px; }
  .article-table-wrap { position:relative; margin-block:28px; padding-bottom:8px; scrollbar-width:thin; scrollbar-color:var(--guide-green) rgba(255,255,255,.06); }
  .article-table-wrap::before { content:"Tabulku posunete do strany →︎"; position:sticky; left:0; display:block; width:max-content; padding:10px 14px 6px 0; color:var(--guide-green); font:500 8px "DM Mono"; letter-spacing:.08em; text-transform:uppercase; }
  .article-table { min-width:560px; }
  .article-table th,.article-table td { padding:15px 12px; }
  .decision-step { grid-template-columns:36px 1fr; gap:14px; }
  .article-faq { margin-top:58px; }
  .article-faq h2 { margin-top:0; }
  .faq-list summary { padding-block:19px; padding-right:48px; font-size:16px; }
  .faq-list summary::after { width:28px; height:28px; }
  .faq-list details[open] summary { padding-bottom:10px; }
  .faq-list p { padding:0 46px 20px 0; font-size:14px; }
  .article-callout { padding:24px 20px; }
  .checklist li { padding-left:44px; }
  .related-head { display:block; }
  .related-head a { display:inline-block; margin-top:14px; }
  .related-grid { grid-template-columns:1fr; }
  .related-card+.related-card { padding-left:0; border-left:0; }
}

@media (max-width:370px) {
  .guide-header { min-height:70px; }
  .guide-brand { font-size:28px; }
  .guide-back { padding-inline:9px; letter-spacing:.05em; }
  .guide-hero h1 { font-size:40px; }
  .guide-row { grid-template-columns:34px 1fr 20px; gap:12px; }
  .guide-number { font-size:17px; }
  .guide-row h2 { font-size:22px; }
  .article-hero h1 { font-size:35px; }
  .article-body blockquote { padding-left:20px; font-size:18px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
  .guide-pointer-glow { display:none; }
}

@media (hover:none),(pointer:coarse) {
  .guide-pointer-glow { display:none; }
}


.guide-menu-toggle,.guide-mobile-only { display:none; }
@media (max-width:1050px) {
  body.guide-menu-open { overflow:hidden; }
  .guide-menu-toggle {
    display:grid;
    width:40px;
    height:40px;
    place-content:center;
    gap:6px;
    justify-self:end;
    border:1px solid rgba(255,255,255,.2);
    background:#0b0d0c;
    color:var(--guide-text);
    cursor:pointer;
  }
  .guide-menu-toggle span { display:block; width:17px; height:1px; background:currentColor; transition:transform .25s ease; }
  .guide-header.menu-open .guide-menu-toggle span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .guide-header.menu-open .guide-menu-toggle span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .guide-header.menu-open .guide-nav {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:2;
    display:flex;
    max-height:calc(100svh - 76px);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    padding:18px var(--guide-pad) 26px;
    overflow-y:auto;
    border-top:1px solid var(--guide-line);
    border-bottom:1px solid var(--guide-line);
    background:#0a0c0b;
    box-shadow:0 24px 70px rgba(0,0,0,.42);
  }
  .guide-header.menu-open .guide-nav a { display:flex; min-height:52px; align-items:center; border-bottom:1px solid var(--guide-line); color:var(--guide-text); }
  .guide-header.menu-open .guide-nav a:last-child { border-bottom:0; }
  .guide-mobile-only { display:flex!important; }
  .guide-menu-toggle:focus-visible { outline:2px solid var(--guide-green); outline-offset:3px; }

  /* Dim the article behind the open menu. This hangs off body rather than the
     header: the header's own backdrop-filter creates a stacking context, so a
     pseudo-element there gets trapped behind its background. */
  body.guide-menu-open::after {
    content:"";
    position:fixed;
    inset:0;
    z-index:19;
    background:rgba(6,7,7,.72);
    backdrop-filter:blur(2px);
    pointer-events:none;
  }
}
@media (max-width:720px) {
  .guide-header { grid-template-columns:auto 1fr auto; }
  .guide-menu-toggle { width:38px; height:38px; }
}
