/* WH2L Hub theme. Everything is driven by the custom properties below; change colors here.
   Topic sections override --section-accent (and optionally --section-accent-light) via body[data-section="..."]. */
@font-face{font-family:"Manrope";src:url(/fonts/manrope-var.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  /* base */
  --bg:#F5F8FA;            /* page background */
  --surface:#FFFFFF;       /* cards, article sheet */
  --panel:#EEF3F7;         /* table heads, code, quiet boxes */
  --tint:#E6F0F7;          /* tinted section bands */
  --text:#1F2933;
  --muted:#52606D;
  --border:#D9E0E6;
  /* brand */
  --primary:#1F6FB2;       /* water blue: links, primary buttons (white text 5:1) */
  --primary-hover:#17578C;
  --accent:#B5832F;        /* brass: use with dark --on-accent text only (5.2:1) */
  --accent-hover:#C9973F;
  --on-accent:#121A21;     /* 5.2:1 on brass */
  /* dark bands */
  --navy:#0F2A3D;
  --navy-2:#133A52;
  --teal:#0E5E6F;
  --on-dark:#F3F7FA;
  --on-dark-muted:#B9C8D4;
  --on-dark-link:#9FD0F5;
  /* callouts */
  --note-bg:#EAF3FB; --warn-bg:#FBF3E4; --disagree-bg:#E8F5F2; --disagree:#0E7C6B;
  /* section */
  --section-accent:var(--primary);
  --section-accent-light:#8FC3EA; /* readable on navy */
  /* shape */
  --radius:16px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(15,42,61,.06),0 8px 24px rgba(15,42,61,.08);
  --shadow-lg:0 2px 4px rgba(15,42,61,.06),0 18px 40px rgba(15,42,61,.16);
  --maxw:46rem; --maxw-wide:76rem;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-display:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
/* Per-section overrides */
body[data-section="cartridges"]{--section-accent:var(--primary);--section-accent-light:#8FC3EA}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--text);font:1.0625rem/1.65 var(--font)}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-underline-offset:2px}
a:hover{color:var(--primary-hover)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3,.card-title,.brand{font-family:var(--font-display);letter-spacing:-.015em}
h2{font-size:clamp(1.35rem,2.6vw,1.75rem);line-height:1.25;margin:2.2rem 0 .7rem;font-weight:800}
h3{font-size:1.15rem;line-height:1.3;margin:1.4rem 0 .4rem;font-weight:750}
p,ul,ol{margin:0 0 1rem}
li{margin:.25rem 0}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.15rem}
.wrap.wide{max-width:var(--maxw-wide)}
.wrap.narrow{max-width:50rem}
.skip{position:absolute;left:-999px;top:0;background:var(--text);color:#fff;padding:.5rem 1rem;z-index:100}
.skip:focus{left:.5rem}
code{background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:0 .3rem;font-size:.9em}
.icon{width:1.35em;height:1.35em;flex:none;vertical-align:-.3em}
.icon-sm{width:1.05em;height:1.05em;vertical-align:-.15em}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-weight:750;text-decoration:none;border-radius:999px;padding:.75rem 1.35rem;border:2px solid transparent;line-height:1.2;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn-sm{padding:.5rem 1rem;font-size:.92rem}
.btn-accent{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px rgba(181,131,47,.35)}
.btn-accent:hover{background:var(--accent-hover);color:var(--on-accent)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-hover);color:#fff}
.btn-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn-light:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-ghost{border-color:var(--primary);color:var(--primary);background:var(--surface)}
.btn-ghost:hover{background:var(--note-bg)}
.center-cta{text-align:center;margin:1.6rem 0 0}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(15,42,61,.94);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{display:flex;align-items:center;gap:1rem;min-height:4rem}
.brand{display:flex;align-items:center;gap:.55rem;word-spacing:.12em;font-weight:800;font-size:1.2rem;color:#fff;text-decoration:none}
.brand:hover{color:#fff}
.brand-mark{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--teal));color:#fff}
.main-nav{display:flex;gap:.2rem;margin-left:auto}
.main-nav a{color:var(--on-dark);text-decoration:none;font-weight:600;font-size:.97rem;padding:.45rem .7rem;border-radius:8px}
.main-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.header-cta{margin-left:.4rem}
@media (max-width:40rem){.header-cta{display:none}.main-nav a{padding:.4rem .45rem;font-size:.93rem}.brand{font-size:1.05rem}.brand-mark{width:1.8rem;height:1.8rem}}

/* hero band */
.page-hero{position:relative;overflow:hidden;color:var(--on-dark);background:linear-gradient(125deg,var(--navy) 0%,var(--navy-2) 55%,var(--teal) 100%);border-bottom:4px solid var(--section-accent);padding:2.2rem 0 3.2rem}
.page-hero .hero-bg{position:absolute;inset:0}
.page-hero .hero-bg img{width:100%;height:100%;object-fit:cover}
.page-hero.has-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,42,61,.96) 0%,rgba(15,42,61,.86) 42%,rgba(15,42,61,.45) 75%,rgba(15,42,61,.25) 100%)}
.hero-pattern{position:absolute;inset:0;z-index:1;background:url(/pattern-pipes.svg) 0 0/240px 240px repeat;opacity:.06;pointer-events:none}
.hero-inner{position:relative;z-index:2}
.page-hero h1{font-size:clamp(1.85rem,4.6vw,3rem);line-height:1.12;font-weight:800;margin:.35rem 0 .8rem;max-width:22ch;color:#fff;text-wrap:balance}
.hero-xl{padding:4.5rem 0 7.5rem;border-bottom:0}
.hero-xl h1{font-size:clamp(2.3rem,6vw,4.1rem);max-width:15ch;line-height:1.05}
.hero-tagline{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:38rem;color:var(--on-dark);opacity:.92;margin:0 0 1.6rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-chips{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.hero-chips li{margin:0;font-size:.85rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
.eyebrow{font-family:var(--font-display);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--section-accent);margin:0 0 .3rem}
.eyebrow-light{color:var(--section-accent-light)}
.crumbs ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.88rem;color:var(--on-dark-muted)}
.crumbs li{margin:0}
.crumbs li+li::before{content:"›";margin-right:.3rem;opacity:.7}
.crumbs a{color:var(--on-dark-link)}
.crumbs a:hover{color:#fff}
@media (max-width:48rem){.page-hero.has-img::before{background:linear-gradient(180deg,rgba(15,42,61,.88),rgba(15,42,61,.93))}.hero-xl{padding:3rem 0 6rem}}

/* bands */
.band{padding:3.5rem 0}
.band h2{margin-top:0}
.band-tint{background:var(--tint)}
.band-dark{position:relative;background:linear-gradient(125deg,var(--navy),var(--navy-2));color:var(--on-dark)}
.band-dark h2{color:#fff}
.band-dark .eyebrow{color:var(--section-accent-light)}
.band-dark a{color:var(--on-dark-link)}
.band-lead{max-width:44rem;color:var(--on-dark-muted)}
.band-overlap{padding:0;margin-top:-4.5rem;position:relative;z-index:3}

/* icon row (how it works) */
.icon-row{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.icon-row li{margin:0;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.5rem 1.4rem}
.icon-row h3{margin:.8rem 0 .3rem}
.icon-row p{margin:0;color:var(--muted)}
.icon-badge{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--note-bg);color:var(--primary)}
.icon-badge .icon{width:1.6rem;height:1.6rem}

/* feature card */
.feature{display:grid;gap:0;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.feature-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.feature-body{padding:1.6rem 1.6rem 1.4rem}
.feature-body h3{font-size:1.5rem;margin:0 0 .5rem}
.feature-body h3 a{color:var(--text);text-decoration:none}
.feature-body h3 a:hover{color:var(--primary)}
.pills{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.2rem}
.pill{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:.92rem;text-decoration:none}
.pill:hover{border-color:var(--primary);color:var(--primary)}
@media (min-width:52rem){.feature{grid-template-columns:1.1fr 1fr}.feature-body{padding:2.2rem;align-self:center}}

/* cards */
.card-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));margin:0 0 1.5rem}
.card{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:var(--text);transition:transform .18s,box-shadow .18s;border:1px solid rgba(15,42,61,.05)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:var(--text)}
.card-media{aspect-ratio:16/10;overflow:hidden;background:var(--panel)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-media img{transform:scale(1.04)}
.card-body{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.15rem 1.15rem;flex:1}
.card-title{font-weight:800;font-size:1.1rem;line-height:1.3}
.card-text{color:var(--muted);font-size:.95rem;line-height:1.5}
.card-more{margin-top:auto;padding-top:.5rem;color:var(--primary);font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:.3rem}
.chip{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--section-accent);background:var(--note-bg);border-radius:999px;padding:.15rem .55rem}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.15rem;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 60%,var(--teal) 100%);color:#fff}
.tile::before{content:"";position:absolute;inset:0;background:url(/pattern-pipes.svg) 0 0/180px 180px repeat;opacity:.08}
.tile-icon{position:absolute;top:1rem;right:1rem;width:3.2rem;height:3.2rem;color:var(--accent-hover);opacity:.95}
.tile-brand{position:relative;font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--section-accent-light)}
.tile-no{position:relative;font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,3.2vw,2.3rem);line-height:1.05;letter-spacing:-.02em}

/* trust band */
.trust-row{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.trust-row li{margin:0;display:flex;flex-direction:column;gap:.3rem;padding:1.2rem;border-radius:var(--radius);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.trust-row .icon{width:2rem;height:2rem;color:var(--accent-hover);margin-bottom:.3rem}
.trust-row strong{font-family:var(--font-display);font-size:1.08rem;color:#fff}
.trust-row span{color:var(--on-dark-muted);font-size:.95rem}

/* article layout */
.layout-article{display:grid;gap:2rem;margin-top:-2rem;position:relative;z-index:3;padding-bottom:3rem}
.surface{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem 1.2rem 1.6rem}
.wrap.narrow .surface{margin:-2rem 0 3rem;position:relative;z-index:3}
.content{min-width:0}
.content>:first-child{margin-top:0}
.sidebar{display:none}
@media (min-width:48rem){.surface{padding:2.2rem 2.5rem 2.4rem}}
@media (min-width:66rem){
  .layout-article{grid-template-columns:minmax(0,1fr) 18rem;align-items:start}
  .sidebar{display:block;position:sticky;top:5.5rem}
}
.toc,.side-box{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem;margin-bottom:1rem;font-size:.93rem}
.toc-h,.side-h{font-family:var(--font-display);font-weight:800;margin:0 0 .5rem;font-size:.95rem}
.toc ol{list-style:none;padding:0;margin:0}
.toc li{margin:0}
.toc a{display:block;padding:.3rem .5rem;border-left:3px solid var(--border);color:var(--text);text-decoration:none;line-height:1.35}
.toc a:hover{border-left-color:var(--section-accent);color:var(--primary);background:var(--note-bg)}
.side-box{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--on-dark)}
.side-box p{margin:0 0 .8rem}
.side-box .side-h{color:#fff}

/* hub layout */
.content-hub{padding:2.5rem 0 3rem}
.content-hub>p,.content-hub>ul:not(.brand-grid),.content-hub>ol,.content-hub>.note,.content-hub>.warn,.content-hub>.quick,.content-hub>.table-wrap,.content-hub>h3,.content-hub>.diagram,.content-hub>.buybox,.content-hub>.callout{max-width:52rem}
.content-hub .quick{margin-top:-4.5rem;position:relative;z-index:3;box-shadow:var(--shadow-lg)}

/* quick answer + callouts */
.quick{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--section-accent);border-radius:var(--radius-sm);padding:1rem 1.2rem;margin:0 0 1.4rem}
.layout-article .quick{background:var(--note-bg);border-color:#CFE2F1;border-left-color:var(--section-accent)}
.quick-label{display:flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--section-accent);margin:0 0 .3rem}
.quick .lead{margin:0}
.lead{font-size:1.14rem;line-height:1.6}
.note,.warn,.callout,.panel{position:relative;border-radius:var(--radius-sm);padding:.95rem 1.1rem .95rem 3.1rem;margin:0 0 1.3rem;border:1px solid var(--border)}
.panel{padding-left:1.1rem;background:var(--panel)}
.note{background:var(--note-bg);border-color:#CFE2F1;border-left:5px solid var(--primary)}
.warn{background:var(--warn-bg);border-color:#EED9B3;border-left:5px solid var(--accent)}
.callout.disagree{background:var(--disagree-bg);border-color:#BFE3DA;border-left:5px solid var(--disagree)}
.callout-icon{position:absolute;left:.95rem;top:1rem;width:1.4rem;height:1.4rem}
.note .callout-icon{color:var(--primary)}
.warn .callout-icon{color:#8A6220}
.disagree .callout-icon{color:var(--disagree)}
.callout-label{font-family:var(--font-display);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--disagree);margin:0 0 .2rem}
.note>:last-child,.warn>:last-child,.callout>:last-child,.panel>:last-child{margin-bottom:0}
h2.h-disagree::before{content:"Sources disagree";display:block;width:max-content;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--disagree);background:var(--disagree-bg);border-radius:999px;padding:.15rem .6rem;margin-bottom:.4rem}
.disclosure{font-size:.88rem;color:var(--muted);background:var(--panel);border-radius:var(--radius-sm);padding:.55rem .85rem;margin:0 0 1.2rem}
.updated{font-size:.9rem}

/* step strip (fix guides) */
.step-strip ol{list-style:none;padding:0;margin:0 0 1.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));counter-reset:none}
.step-strip li{margin:0}
.step-strip a,.step-strip li>span{display:flex;align-items:center;gap:.6rem;height:100%;padding:.7rem .8rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);font-weight:650;font-size:.92rem;line-height:1.25;box-shadow:var(--shadow)}
.step-strip a:hover{border-color:var(--section-accent);color:var(--primary)}
.step-n{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--section-accent);color:#fff;font-family:var(--font-display);font-weight:800}

/* numbered steps in body */
.steps{counter-reset:s;list-style:none;padding:0}
.steps>li{counter-increment:s;position:relative;padding-left:2.7rem;margin:.8rem 0}
.steps>li::before{content:counter(s);position:absolute;left:0;top:-.05rem;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--section-accent);color:#fff;font-family:var(--font-display);font-weight:800;font-size:.95rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--note-bg)}

/* tables */
.table-wrap{overflow-x:auto;margin:0 0 1.4rem;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;vertical-align:top;padding:.65rem .8rem;border-bottom:1px solid var(--border)}
thead th{background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:700;border-bottom:0}
tbody th{background:var(--panel);font-weight:650}
tbody tr:nth-child(even) td{background:#F8FAFC}
tr:last-child td,tr:last-child th{border-bottom:0}

/* buy */
.buy{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-weight:750;text-decoration:none;border-radius:999px;padding:.55rem 1.05rem;margin:.2rem .35rem .2rem 0;box-shadow:0 4px 12px rgba(181,131,47,.3);transition:background .15s,transform .15s}
.buy:hover{background:var(--accent-hover);color:var(--on-accent);transform:translateY(-1px)}
.buy::after{content:"\2197";font-weight:400}
.buybox{background:linear-gradient(135deg,#FFF9EE,#FBF3E4);border:1px solid #EED9B3;border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin:1.2rem 0}
.buybox p{margin:.1rem 0 .55rem}

/* legacy lists */
.cards{list-style:none;padding:0;display:grid;gap:.6rem}
.cards li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem 1rem;margin:0}
.cards a{font-weight:700}
.cards .muted{display:block;font-size:.92rem}
.brand-grid{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.brand-grid li{margin:0}
.brand-grid a{display:block;padding:.55rem 1.05rem;border-radius:999px;background:var(--surface);border:1.5px solid var(--border);font-weight:700;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}
.brand-grid a:hover{border-color:var(--primary);color:var(--primary)}
.brand-grid a.alt{background:var(--note-bg)}

/* diagrams */
figure.diagram{margin:0 0 1.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;box-shadow:var(--shadow)}
figure.diagram svg{width:100%;height:auto;display:block}
.diagram-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:40rem){figure.diagram .diagram-scroll svg{min-width:36rem}figure.diagram{padding:.6rem}}
figure.diagram figcaption{font-size:.88rem;color:var(--muted);margin:.5rem .3rem 0}
.dg-panel{fill:#F4F8FB;stroke:var(--border)}
.dg-axis{stroke:var(--border);stroke-width:2;stroke-dasharray:6 6}
.dg-plastic{fill:#fff;stroke:var(--text);stroke-width:2}
.dg-spline line{stroke:var(--muted);stroke-width:2}
.dg-metal{fill:var(--accent);stroke:#7A5A20;stroke-width:2}
.dg-body{stroke:var(--text);stroke-width:2}
.dg-g1{stop-color:#FFFFFF}.dg-g2{stop-color:#D5E1EB}
.dg-clip{fill:var(--primary);stroke:var(--navy);stroke-width:1.5}
.dg-rubber{fill:#26323D}
.dg-lead path{stroke:var(--primary);stroke-width:1.6;fill:none}
.dg-dot circle{fill:var(--primary)}
.dg text{font-family:var(--font-display)}
.dg-label{font-size:17px;font-weight:700;fill:var(--text)}
.dg-title{font-size:21px;font-weight:800;fill:var(--text)}
.dg-sub{font-size:14px;font-weight:500;fill:var(--muted)}
.dg-id .dg-sub{font-size:15.5px}
.dg-note{font-size:13px;font-style:italic;fill:var(--muted)}
.dg-plate{fill:#fff;stroke:var(--text);stroke-width:2.5}
.dg-hub{fill:#D5E1EB;stroke:var(--text);stroke-width:2}
.dg-ring{fill:var(--panel);stroke:var(--text);stroke-width:2}
.dg-lever{fill:var(--text)}
.dg-wall{stroke:var(--muted);stroke-width:3;stroke-dasharray:8 6}
.dg-arrow{stroke:var(--primary);stroke-width:4;fill:none}
.dg-arrowhead{fill:var(--primary)}
.dg-arrow2{stroke:var(--accent);stroke-width:4;fill:none}
.dg-arrowhead2{fill:var(--accent)}

/* sources + related */
.sources{border-top:1px solid var(--border);margin-top:2.4rem;padding-top:.4rem;font-size:.92rem}
.sources h2{display:flex;align-items:center;gap:.5rem;font-size:1.2rem}
.sources ol{padding-left:1.3rem;word-break:break-word}
.related{padding:3rem 0}

/* footer */
.site-footer{background:var(--navy);color:var(--on-dark-muted);padding:3rem 0 1.5rem;font-size:.95rem}
.foot-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.foot-brand{grid-column:1/-1}
@media (min-width:60rem){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}.foot-brand{grid-column:auto}}
.foot-brand p{max-width:24rem;margin:.8rem 0}
.foot-h{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 .7rem}
.foot-col ul{list-style:none;padding:0;margin:0}
.foot-col li{margin:.35rem 0}
.site-footer a:not(.btn):not(.brand){color:var(--on-dark-muted);text-decoration:none}
.site-footer a:not(.btn):not(.brand):hover{color:#fff;text-decoration:underline}
.foot-legal{border-top:1px solid rgba(255,255,255,.12);margin:2.2rem 0 0;padding-top:1.2rem;font-size:.84rem}

@media (max-width:30rem){body{font-size:1rem}.band{padding:2.6rem 0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.site-header,.site-footer,.related,.buy,.sidebar,.hero-bg{display:none}.page-hero{background:none;color:#000}.page-hero h1{color:#000}}
