/* Vedika Research and the Bench coming-soon pages.
   Same system as the Vedika Bench and the Harness Ledger: neutral white
   ground, pencil graph paper, crayon art, serif for reading, sans for UI.
   Built pages: research.html, research/*.html, bench.html
   (scripts/web/build-research.py). */
:root{
  color-scheme:light dark;
  --paper:#FFFFFF; --card:#FAFAFA; --art-bg:#FFFFFF; --edge:#D4D4D4; --rule:#E5E5E5; --rule-2:#EBEBEB;
  --ink:#0A0A0A; --ink-2:#262626; --ink-3:#525252; --ink-4:#5C5C5C; --pencil:#8F8F8F;
  --accent:#2563EB; --row-hover:#F5F5F5; --chip:#F2F2F2; --pill-ink:#333333; --mark:#FBE2A6;
  --clay:#D97757; --shadow:0 1px 1px rgb(0 0 0/.04),0 8px 28px rgb(0 0 0/.06);
  --serif:"Source Serif 4","Tiempos Text",Georgia,serif;
  --sans:"Instrument Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --bar:60px; --subbar:56px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#121212; --card:#171717; --art-bg:#141414; --edge:#404040; --rule:#262626; --rule-2:#333333;
  --ink:#FAFAFA; --ink-2:#D4D4D4; --ink-3:#A3A3A3; --ink-4:#9A9A9A; --pencil:#8A8A8A;
  --accent:#8AB4FF; --row-hover:#1B1B1B; --chip:#1F1F1F; --pill-ink:#D4D4D4; --mark:#5C4713;
  --shadow:0 1px 1px rgb(0 0 0/.4),0 8px 28px rgb(0 0 0/.35); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#121212; --card:#171717; --art-bg:#141414; --edge:#404040; --rule:#262626; --rule-2:#333333;
  --ink:#FAFAFA; --ink-2:#D4D4D4; --ink-3:#A3A3A3; --ink-4:#9A9A9A; --pencil:#8A8A8A;
  --accent:#8AB4FF; --row-hover:#1B1B1B; --chip:#1F1F1F; --pill-ink:#D4D4D4; --mark:#5C4713;
  --shadow:0 1px 1px rgb(0 0 0/.4),0 8px 28px rgb(0 0 0/.35); color-scheme:dark;
}
:root[data-theme="light"]{color-scheme:light}

*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--paper)}
body.rs{margin:0;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
.rs a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
.rs :focus-visible{outline:2px solid #2C84DB;outline-offset:2px;border-radius:4px}
.rs img{max-width:100%;height:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--ink);color:var(--paper)!important;font-family:var(--sans);font-size:14px;padding:10px 14px;border-radius:8px;text-decoration:none}
.skip:focus{top:8px}
.wrap{max-width:1216px;margin:0 auto;padding-inline:32px}
@media (max-width:560px){.wrap{padding-inline:16px}}

/* reading progress + section bar (same pattern as the Bench) */
.prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:950;pointer-events:none}
.prog i{display:block;height:100%;background:var(--ink-4);transform-origin:left;transform:scaleX(0)}
.sub{position:sticky;top:var(--bar);z-index:800;background:var(--paper);border-bottom:1px solid var(--rule)}
.sub-in{max-width:1216px;margin:0 auto;height:var(--subbar);display:flex;align-items:center;gap:24px;padding-inline:32px}
.mark{display:flex;align-items:center;gap:10px;font-size:17px;line-height:1;text-decoration:none;white-space:nowrap;color:var(--ink)}
.mark img{width:22px;height:22px;display:block}
.sub-nav{display:flex;gap:24px;margin-left:auto;font-family:var(--sans);font-size:14.5px}
.sub-nav:empty{display:none}
.sub-nav a{text-decoration:none;color:var(--ink-2);white-space:nowrap}
.sub-nav a:hover{color:var(--ink)}
.sub-nav:empty + .theme-btn{margin-left:auto}
.theme-btn{font-family:var(--sans);font-size:13px;line-height:1;display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--ink-2);border:1px solid var(--edge);border-radius:8px;padding:0 10px;min-height:32px;cursor:pointer;white-space:nowrap}
.theme-btn:hover{background:var(--row-hover)}
.theme-btn svg{width:14px;height:14px}
.btn-dark{font-family:var(--sans);font-size:14px;font-weight:500;background:var(--ink);color:var(--paper)!important;border-radius:8px;padding:0 14px;min-height:36px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap;transition:opacity .2s ease}
.btn-dark:hover{opacity:.86}
@media (max-width:900px){.sub-nav{display:none}.theme-btn{margin-left:auto}}
@media (max-width:560px){.sub-in{padding-inline:16px;gap:12px}.btn-dark{display:none}}

/* shared type */
.eyebrow{font-family:var(--sans);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin:0 0 12px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-family:var(--sans);font-size:13px;line-height:20px;color:var(--ink-4);margin:0 0 10px}
.meta .topic{color:var(--ink-2);font-weight:600}
.soon-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:12px;line-height:18px;font-weight:600;color:var(--ink-3);border:1px dashed var(--edge);border-radius:999px;padding:0 9px}
.soon-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--clay);opacity:.85}
.go{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);margin-top:14px}
.go svg{width:12px;height:12px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}
.pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:14px;line-height:20px;color:var(--pill-ink);background:var(--paper);border:1px solid var(--edge);border-radius:8px;padding:6px 13px;text-decoration:none;white-space:nowrap;transition:background .2s ease,border-color .2s ease}
.pill:hover{background:var(--row-hover);border-color:var(--ink-4)}
.pill svg{width:12px;height:12px}

/* art panels: neutral white sheet, crayon on top */
.art{margin:0;background:var(--art-bg);border:1px solid var(--rule);border-radius:12px;overflow:hidden;aspect-ratio:8/5;transition:border-color .3s ease,box-shadow .3s ease}
.art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}

/* hero: graph paper bleeds from the left, text column on the right */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule)}
.hero-art{position:absolute;left:0;top:0;bottom:0;width:calc(50% + 160px);
  -webkit-mask-image:linear-gradient(90deg,#000 78%,transparent);mask-image:linear-gradient(90deg,#000 78%,transparent)}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-in{position:relative;max-width:1216px;margin:0 auto;padding-inline:32px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;min-height:clamp(540px,50vw,700px)}
.hero-tx{grid-column:2;align-self:center;padding-block:64px}
.hero h1{font-weight:400;font-size:clamp(52px,5.6vw,80px);line-height:1;letter-spacing:-.022em;margin:0 0 22px;text-wrap:balance}
.soon-hero h1{font-size:clamp(40px,4.4vw,60px);line-height:1.05}
.lede{font-size:19px;line-height:1.58;color:var(--ink-2);margin:0;text-wrap:pretty}
.soon-badge.lg{font-size:13px;line-height:20px;padding:2px 12px;margin:0 0 20px}
.pts{list-style:none;margin:28px 0 0;padding:0;border-bottom:1px solid var(--rule)}
.pts li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid var(--rule);font-family:var(--sans);font-size:14.5px;line-height:21px}
.pts b{font-weight:600;color:var(--ink)}
.pts span{color:var(--ink-3)}
@media (max-width:980px){
  .hero-art{position:relative;width:auto;height:clamp(240px,52vw,420px);-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}
  .hero-in{grid-template-columns:minmax(0,1fr);min-height:0;gap:0}
  .hero-tx{grid-column:1;padding-block:8px 56px;max-width:640px}
}
@media (max-width:560px){.hero-in{padding-inline:16px}.hero h1{font-size:48px}.soon-hero h1{font-size:38px}.lede{font-size:18px}.pts li{grid-template-columns:1fr;gap:2px}}

/* topic filter */
.filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-block:40px 0}
.filter-l{font-family:var(--sans);font-size:13px;color:var(--ink-4)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--sans);font-size:13.5px;line-height:20px;color:var(--pill-ink);background:var(--card);border:1px solid var(--rule);border-radius:999px;padding:5px 14px;min-height:32px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.chip:hover{border-color:var(--edge)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
html:not(.js) .filter{display:none}

/* sections */
.sect{padding-top:72px}
.sect-h{margin-bottom:28px;max-width:680px}
.sect-h h2{font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.15;letter-spacing:-.01em;margin:0}
.sect-p{font-size:17px;line-height:1.6;color:var(--ink-3);margin:14px 0 0}
.empty{font-family:var(--sans);font-size:15px;color:var(--ink-3);padding-top:48px}

/* featured */
.feat-in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center;text-decoration:none;color:inherit}
.ft{font-weight:400;font-size:clamp(28px,3.2vw,42px);line-height:1.12;letter-spacing:-.012em;margin:0 0 16px;text-wrap:balance}
.feat .ab{font-size:19px;line-height:1.55;color:var(--ink-3);margin:0}
.soon-feat{margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid var(--rule)}
.soon-feat .feat-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.soon-feat .art{border-style:dashed;border-color:var(--edge)}
.soon-feat .feat-tx{order:-1}
@media (max-width:860px){.feat-in,.soon-feat .feat-in{grid-template-columns:minmax(0,1fr);gap:24px}.soon-feat .feat-tx{order:0}}

/* other published notes: a quiet row list */
.rows{list-style:none;margin:40px 0 0;padding:0}
.row a{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:center;padding-block:28px;border-top:1px solid var(--rule);text-decoration:none;color:inherit}
.row:last-child a{border-bottom:1px solid var(--rule)}
.row .ct{font-weight:400;font-size:24px;line-height:1.25;margin:0 0 8px;text-wrap:balance}
.row .ab{font-size:16.5px;line-height:1.55;color:var(--ink-3);margin:0;max-width:620px}
@media (max-width:620px){.row a{grid-template-columns:minmax(0,1fr);gap:16px}}

/* card grid */
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-in{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.card .art{margin-bottom:18px}
.card .ct{font-weight:400;font-size:22px;line-height:1.28;margin:0 0 8px;text-wrap:balance}
.card .ab{font-size:16px;line-height:1.55;color:var(--ink-3);margin:0}
.card.soon .art{border-style:dashed;border-color:var(--edge)}
.card.soon .art img{opacity:.9}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid,.grid.two{grid-template-columns:minmax(0,1fr);gap:40px}}

/* hover: the sheet lifts a little, the arrow nudges */
@media (hover:hover){
  a.feat-in:hover .art,a.card-in:hover .art,.row a:hover .art{border-color:var(--edge);box-shadow:var(--shadow)}
  a.feat-in:hover .art img,a.card-in:hover .art img,.row a:hover .art img{transform:scale(1.03)}
  a.feat-in:hover .go svg,a.card-in:hover .go svg,.row a:hover .go svg{transform:translateX(4px)}
  a.feat-in:hover .ft,a.card-in:hover .ct,.row a:hover .ct{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
}

/* principles */
.how{padding-bottom:104px}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;background:var(--card);border:1px solid var(--rule-2);border-radius:12px;padding:32px}
.how-i h3{font-family:var(--sans);font-size:15px;line-height:22px;font-weight:600;margin:0 0 8px;color:var(--ink)}
.how-i p{margin:0;font-size:16px;line-height:1.6;color:var(--ink-2)}
@media (max-width:860px){.how-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}}

/* article */
.a-head{max-width:800px;margin:0 auto;padding:44px 24px 0}
.a-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:14px;color:var(--ink-3);text-decoration:none;margin-bottom:28px}
.a-back svg{width:12px;height:12px;transition:transform .25s ease}
.a-back:hover{color:var(--ink)}
.a-back:hover svg{transform:translateX(-3px)}
.a-head h1{font-weight:400;font-size:clamp(36px,4.8vw,58px);line-height:1.07;letter-spacing:-.018em;margin:0 0 20px;text-wrap:balance}
.a-abs{font-size:clamp(19px,2.1vw,22px);line-height:1.5;color:var(--ink-3);margin:0;text-wrap:pretty}
.a-hero{max-width:928px;margin:44px auto 0;padding-inline:24px}
.a-hero-art{background:var(--art-bg);border:1px solid var(--rule);border-radius:12px;overflow:hidden;aspect-ratio:8/5}
.a-hero-art img{display:block;width:100%;height:100%;object-fit:cover}
.rs figcaption{font-family:var(--sans);font-size:13.5px;line-height:20px;color:var(--ink-3);margin-top:12px;max-width:680px}
.a-grid{max-width:1088px;margin:0 auto;padding:64px 24px 0;display:grid;grid-template-columns:200px minmax(0,680px);gap:72px;justify-content:center}
.toc-wrap{position:relative}
.toc{position:sticky;top:calc(var(--bar) + var(--subbar) + 32px);font-family:var(--sans)}
.toc summary{list-style:none;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:12px;cursor:default}
.toc summary::-webkit-details-marker{display:none}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.toc a{display:block;font-size:14px;line-height:20px;color:var(--ink-3);text-decoration:none;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;transition:color .2s ease,border-color .2s ease}
.toc a:hover{color:var(--ink)}
.toc a[aria-current="true"]{color:var(--ink);border-left-color:var(--ink)}
@media (min-width:1001px){.toc summary{pointer-events:none}}
@media (max-width:1000px){
  .a-grid{grid-template-columns:minmax(0,680px);gap:0;padding-top:40px}
  .toc{position:static;border:1px solid var(--rule);border-radius:10px;padding:12px 16px;margin-bottom:8px}
  .toc summary{margin:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .toc summary::after{content:"+";font-size:16px;font-weight:400;letter-spacing:0}
  .toc[open] summary::after{content:"\2212"}
  .toc[open] summary{margin-bottom:10px}
}
.a-body{min-width:0}
.a-body>p:first-child{font-size:20px;line-height:1.6;color:var(--ink)}
.a-body p,.a-body li{color:var(--ink-2)}
.a-body p{font-size:18px;line-height:1.72;margin:0 0 22px}
.a-body h2{font-weight:400;font-size:28px;line-height:1.25;letter-spacing:-.008em;margin:56px 0 14px;text-wrap:balance;scroll-margin-top:calc(var(--bar) + var(--subbar) + 24px)}
.a-body ul{padding-left:22px;margin:0 0 8px}
.a-body li{font-size:17px;line-height:1.65;margin-bottom:10px}
.a-body li::marker{color:var(--clay)}
.a-body code{font-family:var(--mono);font-size:.82em;background:var(--chip);border:1px solid var(--rule);border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}
.a-code{margin:8px 0 28px}
.a-body pre{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:16px 18px;overflow-x:auto;font-size:13.5px;line-height:1.6;margin:0}
.a-body pre code{background:none;border:0;padding:0;overflow-wrap:normal;font-size:inherit}
.fn{font-size:.62em;line-height:0;vertical-align:super;margin-left:1px}
.fn a{font-family:var(--sans);font-weight:600;color:var(--accent);text-decoration:none;padding:0 2px;scroll-margin-top:200px}
.fn a:hover{text-decoration:underline}
.a-fig{margin:36px 0 40px}
.a-fig-art{background:var(--art-bg);border:1px solid var(--rule);border-radius:12px;overflow:hidden;aspect-ratio:8/5}
.a-fig-art img{display:block;width:100%;height:100%;object-fit:cover}
.a-limits{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:26px 28px 18px;margin:48px 0 0}
.a-limits h2{font-size:22px;margin:0 0 14px}
.a-notes{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule)}
.a-notes h2{font-family:var(--sans);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin:0 0 14px;scroll-margin-top:200px}
.a-notes ol{margin:0;padding-left:20px;font-family:var(--sans);font-size:14px;line-height:21px;color:var(--ink-3)}
.a-notes li{margin-bottom:10px;padding:2px 6px;border-radius:6px;scroll-margin-top:200px;color:var(--ink-3);font-size:14px;line-height:21px;transition:background .6s ease}
.a-notes li::marker{color:var(--ink-4)}
.a-notes li:target{background:var(--mark)}
.a-notes .back{text-decoration:none;color:var(--ink-4);margin-left:2px}
.a-foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule)}
.a-body .a-foot p{font-family:var(--sans);font-size:14px;line-height:21px;color:var(--ink-3);margin:0}
.a-more{max-width:1088px;margin:0 auto;padding:88px 24px 104px}
.a-more>h2{font-family:var(--sans);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin:0 0 24px;padding-top:24px;border-top:1px solid var(--rule)}
@media (max-width:560px){.a-head,.a-hero,.a-grid,.a-more{padding-inline:16px}.a-body p{font-size:17px}.a-body>p:first-child{font-size:18.5px}.a-limits{padding:20px 18px 12px}}

/* motion: a slow draw-in for the hero sheet, soft rise for content */
@keyframes draw-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-art img,.a-hero-art img{animation:draw-in 1.3s cubic-bezier(.65,0,.35,1) both}
.hero-tx,.a-head{animation:rise .7s cubic-bezier(.2,.7,.2,1) .1s both}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .hero-art img,.a-hero-art img,.hero-tx,.a-head{animation:none}
  .js .rv{opacity:1;transform:none;transition:none}
  .art,.art img,.go svg,.pill,.chip,.toc a,.a-notes li{transition:none}
  html{scroll-behavior:auto}
}


/* Dark mode footer. The shared chrome pins the footer to a light lavender
   band with !important (css/vk-chrome.css). Under this page's dark theme
   that band read as a glaring light slab with mid-grey links. Same violet
   sweep taken down to the dark end, ink lifted to clear AA. Scoped to the
   page's own dark state; higher specificity than the shared rule. */
html[data-vkc-theme="dark"] body footer.vkc-foot{
  background-color:#121115!important;
  background-image:linear-gradient(104deg,#131217 0%,#17141F 52%,#1C1729 100%)!important;
  border-top:1px solid rgba(179,163,242,.16)!important;color:#C4C4CC!important}
html[data-vkc-theme="dark"] body footer.vkc-foot h4,
html[data-vkc-theme="dark"] body footer.vkc-foot .vkc-foot__brand b{color:#F4F4F6!important}
html[data-vkc-theme="dark"] body footer.vkc-foot a,
html[data-vkc-theme="dark"] body footer.vkc-foot .vkc-foot__note,
html[data-vkc-theme="dark"] body footer.vkc-foot .vkc-foot__hours{color:#C4C4CC!important}
html[data-vkc-theme="dark"] body footer.vkc-foot a:hover{color:#CDBEFF!important}
html[data-vkc-theme="dark"] body footer.vkc-foot .vkc-foot__social,
html[data-vkc-theme="dark"] body footer.vkc-foot .vkc-foot__base{border-top-color:rgba(255,255,255,.1)!important}
.soon-hero .hero-art img{object-position:50% 50%}

/* UX audit 2026-10-15 */
/* Primary action: filled. Every pill meets the 44px target. */
.pill{min-height:44px}
.rs .pill-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.rs .pill-solid:hover{background:var(--ink);border-color:var(--ink);opacity:.86}
.chip{min-height:44px;padding-inline:16px}
.soon-badge{color:var(--ink-3)}
@media (max-width:560px){.pills{gap:8px}.pill{padding-inline:12px}}

/* Coming soon: one compact list, no placeholder artwork */
.soon-list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--rule)}
.soon-row{padding:22px 0;border-top:1px solid var(--rule)}
.soon-row .meta{margin-bottom:6px}
.soon-row .ct{font-weight:400;font-size:22px;line-height:1.28;margin:0 0 6px;text-wrap:balance}
.soon-row .ab{font-size:16px;line-height:1.55;color:var(--ink-3);margin:0;max-width:720px}

/* Principles: white ground, hairline border, readable body */
.how-grid{background:var(--paper);border:1px solid var(--rule);padding:32px}
.how-i p{font-size:16px;color:var(--ink-2)}

/* Hero artwork is one scene: keep the left-hand art from crowding the text */
.hero .eyebrow{color:var(--ink-3)}

/* Footer: neutral white with a hairline rule (the shared chrome paints a lavender band) */
html:not([data-vkc-theme="dark"]) body.rs footer.vkc-foot{
  background-color:#FFFFFF!important;background-image:none!important;
  border-top:1px solid #E5E5E5!important;color:#525252!important}
html:not([data-vkc-theme="dark"]) body.rs footer.vkc-foot a{color:#525252!important}
html:not([data-vkc-theme="dark"]) body.rs footer.vkc-foot a:hover{color:#0A0A0A!important}
body.rs footer.vkc-foot li a{display:inline-block;padding-block:3px}
body.rs footer.vkc-foot li+li{margin-top:4px}
@media (max-width:780px){
  body.rs footer.vkc-foot .vkc-foot__grid>div:not(:first-child) ul{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  body.rs footer.vkc-foot li a{min-height:44px;display:inline-flex;align-items:center}
}

/* Privacy control: a compact card in the site's own tokens. Text and the two
   equal-weight actions come from the shared consent script, untouched. */
body.rs #vedika-consent-banner,body.rs #vedika-consent-open{font-family:var(--sans);color:var(--ink);background:var(--paper)}
@media (min-width:901px){
  body.rs #vedika-consent-banner{left:16px;right:auto;bottom:16px;width:380px;max-width:calc(100vw - 32px);max-height:70dvh;padding:20px;border:1px solid var(--edge);border-radius:16px;box-shadow:var(--shadow)}
}
@media (max-width:900px){
  body.rs #vedika-consent-banner{max-height:48dvh;border-top:1px solid var(--edge);border-radius:16px 16px 0 0}
}
body.rs #vedika-consent-banner h2{font-family:var(--sans);font-size:17px;line-height:24px;color:var(--ink)}
body.rs #vedika-consent-banner p{font-size:14px;line-height:21px;color:var(--ink-3);margin-bottom:12px}
body.rs #vedika-consent-banner a{color:var(--ink)}
body.rs .vedika-consent-actions{background:var(--paper);padding-block:8px calc(8px + env(safe-area-inset-bottom))}
body.rs #vedika-consent-banner button,body.rs #vedika-consent-open{border:1px solid var(--edge);border-radius:8px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--paper)}
body.rs #vedika-consent-open{font-size:13px;padding:0 12px}
