/* Built by deploy/science_pages.py from wiki/site/src/styles; do not edit. */
/* Library home (/wiki/): the landing's look, header and final block, on the wiki build.
   Tokens, nav, buttons and the final block are copies from landing/index.html; keep them in step. */
/* landing tokens */
:root{--paper:#F6F5F2;--ink:#17140F;--ink-hero:#29251E;--warm:#8B6754;--muted:#8A8577;--faint:#B0AC9D;--hair:#E5E2D9;--sand:#F5EBDF;--tab:#553831;--inv:#17140F;--on-inv:#F6F5F2;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} ul{list-style:none;padding:0}
.wrap{max-width:1268px;margin:0 auto;padding:0 24px}
@media(max-width:600px){.wrap{padding:0 16px}}
/* header: as on the landing */
.nav{position:sticky;top:0;z-index:50;padding:13px 0}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border-radius:999px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 0 0 1px rgba(23,20,15,.04),0 14px 34px -14px rgba(23,20,15,.28)}
@supports (-webkit-backdrop-filter:none){.nav-in{-webkit-backdrop-filter:blur(30px)}}
/* hides on scroll down, back on scroll up (scripts/nav-autohide.js) */
.nav{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.nav.away{transform:translateY(-110%)}
@media(prefers-reduced-motion:reduce){.nav{transition:none}}
.brand{display:flex;align-items:center;gap:12px}
.brand i{width:44px;height:44px;border-radius:50%;background:var(--inv);display:grid;place-items:center;flex:none}
.brand i svg{width:28px;height:28px}
.brand-word{font-family:"Cal Sans",var(--font);font-size:20px;letter-spacing:.02em;line-height:1}
.nav-links{display:flex;gap:32px;font-size:14px;color:var(--tab)}
.nav-links a{font-weight:500} .nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.nav-links a[aria-current]{font-weight:600}
/* buttons: as on the landing */
.btn{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 24px;border-radius:56px;font:inherit;font-weight:600;font-size:16px;text-decoration:none;border:0;cursor:pointer}
.btn-ink{background:var(--inv);color:var(--on-inv)} .btn-ink:hover{background:#2A251C}
@media(max-width:900px){.btn{height:44px;border-radius:44px;font-size:15px;padding:0 20px}}
@media(min-width:901px){.btn{height:56px;padding:0 26px;font-size:18px;gap:12px}}
.nav .btn{height:44px;font-size:14px;padding:0 20px}
@media(max-width:900px){.nav-links{display:none}.nav-in{padding:8px}}
/* ---- Mobile menu: a burger right of the button opens the section links under the header ---- */
.burger{display:none;flex:none;width:44px;height:44px;border:1px solid #E5E2D9;border-radius:50%;padding:0;cursor:pointer;place-items:center;
  background:rgba(255,255,255,.6);color:#17140F} /* the landing's secondary (ghost) button */
.burger:hover{background:#fff}
.burger svg{width:22px;height:22px}
.burger .b-close,.nav.open .burger .b-open{display:none}
.nav.open .burger .b-close{display:inline}
/* the menu drops over the page instead of pushing it down */
.nav>.wrap{position:relative}
.nav-drop{position:absolute;left:0;right:0;top:100%;padding-inline:inherit;pointer-events:none}
.nav-menu{pointer-events:auto;margin-top:8px;padding:8px;border-radius:28px;background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 20px 50px -24px rgba(23,20,15,.35)}
.nav-menu[hidden]{display:none}
.nav-menu a{display:flex;align-items:center;min-height:52px;padding:0 20px;border-radius:20px;font-size:17px;font-weight:500;color:#17140F;text-decoration:none}
.nav-menu a:hover,.nav-menu a:active,.nav-menu a[aria-current]{background:#fff}
@media(max-width:900px){.burger{display:grid}.nav-in{justify-content:flex-start;gap:8px}.nav-in>.btn{margin-left:auto}}
@media(max-width:420px){.brand-word{display:none}}
@media(min-width:901px){.nav-menu{display:none!important}}
/* page head */
.page-head{display:grid;grid-template-columns:1fr 1fr;gap:24px 56px;align-items:end;padding:72px 0 56px}
.page-head h1{font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.025em;font-weight:600}
.page-head p{font-size:18px;line-height:1.5;color:var(--tab);max-width:32em}
@media(max-width:900px){.page-head{grid-template-columns:1fr;padding:40px 0 32px}}
/* tiles: same language as the landing bento/pricing */
.tag{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:28px;padding:5px 12px;line-height:1.3;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;
  background:rgba(139,103,84,.1);box-shadow:inset 0 0 0 1px rgba(139,103,84,.12);color:var(--warm)}
.tile{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:24px;background:#fff;border:1px solid var(--hair);transition:transform .25s,box-shadow .25s}
.tile:hover{transform:translateY(-3px);box-shadow:0 30px 60px -32px rgba(23,20,15,.35)}
.tile h3,.tile .h3{font-size:22px;line-height:1.2;letter-spacing:-.015em;font-weight:600}
.tile p{font-size:15px;line-height:1.5;color:var(--tab)}
.foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.go{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sand);transition:transform .25s}
.go svg{width:20px;height:20px} .tile:hover .go{transform:translateX(4px)}
.dark{background:var(--inv);border-color:var(--inv);color:var(--on-inv)}
.dark p,.dark .foot{color:#B0AC9D} .dark .go{background:#fff;color:var(--ink)}
.tag-new{background:rgba(255,182,103,.14);box-shadow:inset 0 0 0 1px rgba(255,182,103,.22);color:#FFB667}
/* Library home */
.e-new{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:16px}.e-lead{grid-row:1/3;min-height:480px;padding:36px}.e-new .tile:not(.e-lead) .h3{font-size:20px}.e-new .tile:not(.e-lead) p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.e-lead{background:#306155;border-color:#306155}
.e-lead p,.e-lead .foot{color:rgba(255,255,255,.75)}
.e-lead .h3{font-size:34px;line-height:1.1;max-width:15em}.e-lead p{font-size:17px;max-width:34em}
.sub{font-size:28px;letter-spacing:-.02em;font-weight:600;margin:56px 0 20px}
.e-index{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.idx{padding:22px 24px;gap:6px} .idx-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.idx h3{font-size:19px} .n{font-size:15px;font-weight:600;color:var(--faint)} .idx p{font-size:14px}
.idx{flex-direction:row;align-items:center;gap:20px}.idx-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.idx .ic{flex:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#EBE7E2;box-shadow:0 0 0 8px rgba(235,231,226,.5);margin-left:8px}.idx .ic svg{width:28px;height:28px}.idx .ic svg circle{fill:#000;stroke:none}@media(max-width:900px){.idx .ic{width:44px;height:44px}.idx .ic svg{width:22px;height:22px}}
.e-start{display:grid;grid-template-columns:repeat(4,1fr);gap:16px} .e-start .tile{min-height:240px}
@media(max-width:1100px){.e-index,.e-start{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.e-new{grid-template-columns:1fr;grid-auto-rows:auto}.e-lead{grid-row:auto;min-height:0;padding:28px}}
@media(max-width:600px){.e-index,.e-start{grid-template-columns:1fr}.e-lead .h3{font-size:26px}}
/* ---- final block, mesh and waitlist: copied from landing/index.html ---- */
    .mesh {
      position: absolute;
      inset: 0;
      z-index: 0;
      isolation: isolate;
      pointer-events: none
    }
    .mesh i {
      position: absolute;
      display: block
    }
    /* final */
    .final {
      background: var(--ground);
      text-align: center;
      padding-block: 120px 64px
    }

    .final h2 {
      font-size: clamp(36px, 5.5vw, 64px);
      line-height: 1.02;
      letter-spacing: -.035em;
      max-width: 14em;
      margin: 0 auto 20px;
      color: var(--ink-hero)
    }

    .final p {
      color: var(--tab);
      font-size: 18px;
      margin-bottom: 28px
    }

    .final .cta-row {
      justify-content: center
    }

    footer {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 16px;
      margin-top: 96px;
      padding-top: 24px;
      border-top: 1px solid rgba(85, 56, 49, .15);
      font-size: 13px;
      color: var(--warm);
      text-align: left
    }

    footer nav {
      display: flex;
      gap: 20px;
      flex-wrap: wrap
    }

    footer a {
      text-decoration: none
    }
@media(max-width:600px){.final p{font-size:16px}.final h2{font-size:24px;line-height:1.2}}
@media(min-width:901px){.final h2{font-size:52px;margin-bottom:22px}.final p{font-size:18px;margin-bottom:32px}footer{padding-top:26px;font-size:14px;gap:18px}}
:is(.hero,.final) .mesh.dm{overflow:hidden}
:is(.hero,.final) .mesh.dm i{position:absolute;display:block;border-radius:50%;will-change:translate,scale;
  animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-direction:alternate}
:is(.hero,.final) .mesh.dm .d1{width:110%;aspect-ratio:2;left:-22%;top:-18%;
  background:radial-gradient(ellipse at center,rgba(214,108,44,.98) 0%,rgba(200,96,40,.7) 28%,rgba(160,82,44,.28) 52%,transparent 70%);
  animation-name:m-go1,m-sz1;animation-duration:48s,33s}
:is(.hero,.final) .mesh.dm .d2{width:78%;aspect-ratio:1.7;left:-30%;bottom:-48%;
  background:radial-gradient(ellipse at center,rgba(98,214,210,.95) 0%,rgba(92,196,196,.6) 30%,rgba(120,170,160,.2) 54%,transparent 70%);
  animation-name:m-go2,m-sz2;animation-duration:54s,38s}
:is(.hero,.final) .mesh.dm .d3{width:92%;aspect-ratio:1.8;right:-26%;bottom:-52%;
  background:radial-gradient(ellipse at center,rgba(222,212,176,.95) 0%,rgba(212,196,150,.6) 30%,rgba(190,160,110,.22) 54%,transparent 70%);
  animation-name:m-go3,m-sz1;animation-duration:51s,35s}
@keyframes m-go1{from{translate:0 0}to{translate:7% 5%}}
@keyframes m-go2{from{translate:0 0}to{translate:9% -5%}}
@keyframes m-go3{from{translate:0 0}to{translate:-8% -4%}}
@keyframes m-sz1{from{scale:1}to{scale:1.07}}
@keyframes m-sz2{from{scale:1.05}to{scale:.96}}
:is(.hero,.final) .mesh.dm .grain{position:absolute;inset:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/240px 240px;opacity:.26;mix-blend-mode:overlay}
:is(.hero,.final) .mesh.dm canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
:is(.hero,.final) .mesh.dm.gl i{display:none}
:is(.hero,.final) .mesh.dm.gl .grain{z-index:1;opacity:.2}
.final{position:relative;isolation:isolate;overflow:hidden;padding:0!important;
  background:radial-gradient(120% 90% at 50% 45%,#6E4F3E 0%,#483D36 55%,#343F3C 100%)}
.final .mesh.dm{z-index:0}
.final .mesh.dm:not(.gl){transform:scaleY(-1)}
.final{display:flex;flex-direction:column}
/* same height as before; the copy sits in its vertical middle, equal room above and down to the footer */
.final-top{position:relative;z-index:1;display:flex;align-items:center;padding:158px 0}
.final-top>.wrap{width:100%}
/* the fade lies under the copy: page-light behind the heading, easing into the mesh from the form down */
.final-fade{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(#F6F5F2 0,#F6F5F2 12%,rgba(246,245,242,1) 12.0%,rgba(246,245,242,0.738) 26.4%,rgba(246,245,242,0.541) 37.8%,rgba(246,245,242,0.382) 47.7%,rgba(246,245,242,0.278) 54.9%,rgba(246,245,242,0.194) 61.4%,rgba(246,245,242,0.126) 67.5%,rgba(246,245,242,0.075) 73.0%,rgba(246,245,242,0.042) 77.4%,rgba(246,245,242,0.021) 81.2%,rgba(246,245,242,0.008) 84.4%,rgba(246,245,242,0.002) 86.6%,rgba(246,245,242,0) 88.0%)}
.final-foot{position:relative;z-index:1;width:100%;padding-top:0;padding-bottom:56px}
.final-foot .guides{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0 0 20px;font-size:14px;color:rgba(255,255,255,.72)}
.final-foot .guides b{color:#fff;font-weight:600;width:100%;text-align:left}
.final-foot .guides a{color:inherit;text-decoration:none}
.final-foot .guides a:hover{color:#fff;text-decoration:underline}
@media(max-width:700px){.final-top{padding:148px 0}.final-fade{background:linear-gradient(#F6F5F2 0,#F6F5F2 16%,rgba(246,245,242,1) 16.0%,rgba(246,245,242,0.738) 30.1%,rgba(246,245,242,0.541) 41.2%,rgba(246,245,242,0.382) 50.8%,rgba(246,245,242,0.278) 57.8%,rgba(246,245,242,0.194) 64.1%,rgba(246,245,242,0.126) 70.0%,rgba(246,245,242,0.075) 75.3%,rgba(246,245,242,0.042) 79.7%,rgba(246,245,242,0.021) 83.3%,rgba(246,245,242,0.008) 86.4%,rgba(246,245,242,0.002) 88.7%,rgba(246,245,242,0) 90.0%)}}
.final .final-foot footer{margin-top:0;border-top-color:rgba(255,255,255,.16);color:rgba(255,255,255,.72)}
.final .final-foot footer a:hover{color:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[data-phase="waitlist"] .when-launch{display:none!important}
html:not([data-phase="waitlist"]) .when-waitlist{display:none!important}
.wl{display:flex;flex-direction:column;gap:10px;width:100%;max-width:520px}
.wl-row{display:flex;gap:8px;flex-wrap:wrap}
.wl input[type=email]{flex:1 1 220px;min-width:0;height:56px;border-radius:56px;padding:0 22px;font:inherit;font-size:16px;
  border:0;outline:0;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair)}
.wl input[type=email]::placeholder{color:#8A8577}
.wl input[type=email]:focus,.wl input[type=email]:focus-visible{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
/* Autofill must not repaint the field: its colour change is pushed out by a transition that never ends. */
.wl input[type=email]:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);
  transition:background-color 100000s 0s,color 100000s 0s}
.wl .btn{flex:0 0 auto}
.wl .btn[disabled]{opacity:.6;cursor:progress}
.wl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
/* Under the field: errors only. The line keeps its height so nothing jumps when one appears. */
.wl-msg{font-size:14px;min-height:1.4em;margin:0}
/* the message line takes room only when there is something to say */
.wl-msg:not([data-kind="error"]){display:none}
.wl-msg[data-kind="error"]{color:#B8431C}
/* Once the address is in, a banner takes the place of the field and button, at their width. */
.wl-banner{display:none}
.wl.done .wl-row,.wl.done .wl-msg{display:none}
.wl.done .wl-banner{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-radius:28px;
  background:#fff;border:1px solid var(--hair);color:var(--ink);text-align:left}
.wl-check{flex:none;width:24px;height:24px;margin-top:1px;border-radius:50%;background:#64968A;display:grid;place-items:center}
.wl-check svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.wl-banner-title{display:block;font-size:18px;font-weight:600;line-height:1.3}
.wl-banner-text{display:block;margin-top:4px;font-size:15px;line-height:1.45;color:#553831}
/* on the dark hero: glass field, white text */
.hero .wl input[type=email]{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.hero .wl input[type=email]::placeholder{color:rgba(255,255,255,.7)}
.hero .wl input[type=email]:focus,.hero .wl input[type=email]:focus-visible{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.hero .wl input[type=email]:-webkit-autofill{-webkit-text-fill-color:#fff;caret-color:#fff}
.hero .wl.done .wl-banner{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.hero .wl-banner-text{color:rgba(255,255,255,.85)}
.hero .wl-msg[data-kind="error"]{color:#FFB667}
.final .wl{margin-inline:auto}
@media(max-width:900px){.wl input[type=email],.wl .btn{height:48px;border-radius:48px}}
@media(max-width:600px){.wl input[type=email],.wl .btn{height:48px;flex-basis:100%}.wl .btn{justify-content:center}}
.final-foot footer{margin-top:0}

.idx p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.e-start .tile p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wl .btn{position:relative}
.wl .btn.is-loading{color:transparent!important;cursor:progress;opacity:1}
.wl .btn.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;border-radius:50%;
  border:2.5px solid #F6F5F2;border-right-color:transparent;animation:wlospin .8s linear infinite}
@keyframes wlospin{to{transform:rotate(360deg)}}
/* tile hover shadows reach past the last row: keep the page above the final block so they are not cut */
body>main{position:relative;z-index:1}
.more-link{margin-top:16px;text-align:right}.more-link a{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink)}.more-link svg{width:18px;height:18px;transition:transform .25s}.more-link a:hover svg{transform:translateX(3px)}

/* Library section and article pages: the POC approved on 2026-10-06 (tiles, reading column, source cards). */
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:40px;font-size:14px;color:var(--muted)}
.crumbs a{color:var(--tab);font-weight:500}.crumbs a:hover{color:var(--ink)}
.sec-hero{padding-top:24px}
.sec-title{display:flex;align-items:center;gap:28px}
.ic.big{flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#EBE7E2;box-shadow:0 0 0 10px rgba(235,231,226,.5);margin-left:10px}
.ic.big svg{width:36px;height:36px}.ic.big svg circle{fill:#000;stroke:none}
.facts-line{margin-top:14px;font-size:14px!important;color:var(--muted)!important}
.feat{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:16px}
.feat-lead{grid-row:1/3;min-height:440px;padding:36px;background:#306155;border-color:#306155;color:#F6F5F2}
.feat-lead .h3{font-size:40px;line-height:1.08;letter-spacing:-.025em;max-width:12em}
.feat-lead p,.feat-lead .foot{color:rgba(255,255,255,.75)}.feat-lead p{font-size:17px;max-width:30em}
.feat-lead .go{background:#fff;color:var(--ink)}
.tag-light{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:#fff}
.sub-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin:56px 0 20px}
.sub-head .sub{margin:0}.sub-head p{font-size:15px;color:var(--tab)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid4 .tile{min-height:250px}
.about{display:grid;grid-template-columns:1fr 2fr;gap:24px 56px;margin-top:72px;padding:48px;border-radius:28px;background:#F5EBDF}
.about .sub{margin:0}
.about-body p{font-size:17px;line-height:1.6;color:var(--tab);max-width:40em}
.about-body .big-q{font-size:26px;line-height:1.3;letter-spacing:-.015em;font-weight:600;color:var(--ink);margin-bottom:20px}
.ev{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font-size:14px;color:var(--tab)}
.ev b{display:inline-block;margin-right:6px;padding:3px 10px;border-radius:999px;background:#fff;font-weight:600;color:var(--warm)}
.soon{display:flex;flex-wrap:wrap;gap:8px}
.soon span{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:40px;border:1px dashed #D6D1C4;font-size:14px;color:var(--muted)}
.rel{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.about{grid-template-columns:1fr;padding:28px}.sub-head{flex-direction:column;gap:6px}}
@media(max-width:700px){.feat{grid-template-columns:1fr;grid-auto-rows:auto}.feat-lead{grid-row:auto;min-height:0;padding:28px}.feat-lead .h3{font-size:30px}.sec-title{gap:20px}.ic.big{width:56px;height:56px}.ic.big svg{width:28px;height:28px}}
@media(max-width:600px){.grid4,.rel{grid-template-columns:1fr}.grid4 .tile{min-height:0}}

/* ---- article ---- */
.a-head{max-width:860px;padding:40px 0 48px}
.a-head h1{font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.03em;font-weight:600;margin:18px 0 18px}
.a-lede{font-size:21px;line-height:1.5;color:var(--tab);max-width:36em}
.a-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:24px;font-size:14px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600}
.ev-m{background:#E3EDE9;color:#306155}
.a-grid{display:grid;grid-template-columns:240px minmax(0,720px);gap:64px;padding-top:40px;border-top:1px solid var(--hair)}
.a-side .toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.toc b{font-size:14px;font-weight:600;color:var(--muted);margin-bottom:10px}
.toc a{padding:7px 0 7px 14px;border-left:2px solid var(--hair);color:var(--tab);line-height:1.35}
.toc a:hover{color:var(--ink);border-color:var(--ink)}
.takeaways{padding:28px 32px;border-radius:24px;background:#F5EBDF;margin-bottom:40px}
.takeaways b{display:block;font-size:16px;font-weight:600;color:var(--warm);margin-bottom:12px}
.takeaways ul{display:flex;flex-direction:column;gap:10px}
.takeaways li{position:relative;padding-left:22px;font-size:17px;line-height:1.5;color:var(--ink)}
.takeaways li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:#306155}
.prose{font-size:18px;line-height:1.7;color:#2F2A23}
.prose>*+*{margin-top:20px}
.prose h2{font-size:30px;line-height:1.15;letter-spacing:-.02em;font-weight:600;color:var(--ink);margin-top:56px;scroll-margin-top:110px}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(48,97,85,.45);text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose a:hover{text-decoration-color:#306155}
.prose strong{font-weight:600;color:var(--ink)}
.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:8px}.prose li::marker{color:var(--warm)}
.prose sup a{text-decoration:none;font-size:12px;font-weight:600;color:#306155;padding:0 2px}
.prose .n{font-weight:600;color:var(--ink)}
.prose table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.5;background:#fff;border:1px solid var(--hair);border-radius:20px;overflow:hidden}
.prose th{text-align:left;font-size:13px;font-weight:600;color:var(--muted);background:#FBFAF7;padding:14px 18px}
.prose td{padding:14px 18px;border-top:1px solid var(--hair);vertical-align:top}
.prose td:first-child{font-weight:600;color:var(--ink);width:44%}
.note{padding:24px 28px;border-radius:24px}
.note b{display:block;font-size:16px;font-weight:600;margin-bottom:8px}
.note p{font-size:17px;line-height:1.6}
.note.evidence{background:#E3EDE9}.note.evidence b{color:#306155}
.note.app{background:var(--inv);color:#F6F5F2}.note.app b{color:#FFB667}.note.app p{color:rgba(255,255,255,.8)}
.sources{margin-top:64px}
#next{margin-top:80px}
.sources h2{font-size:22px;font-weight:600;margin-bottom:16px;scroll-margin-top:110px}
.sources ol{display:flex;flex-direction:column;gap:8px;padding:0;list-style:none}
.src{display:grid;grid-template-columns:32px 1fr auto 20px;align-items:center;gap:14px;padding:16px 20px;border-radius:18px;background:#fff;border:1px solid var(--hair);font-size:15px;line-height:1.4}
.src:hover{border-color:#D6D1C4}
.sn{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E3EDE9;color:#306155;font-size:13px;font-weight:600}
.sy{color:var(--muted);font-size:14px}.se svg{width:16px;height:16px;color:var(--muted)}
.sources li:target .src{border-color:#306155;box-shadow:0 0 0 3px rgba(48,97,85,.15)}
.fine{margin-top:20px;font-size:14px;line-height:1.5;color:var(--muted)}.fine a{color:var(--tab);text-decoration:underline}
.a-promo{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:80px;padding:40px;border-radius:28px;background:#306155;color:#F6F5F2}
.a-promo .h3{font-size:30px;line-height:1.15;letter-spacing:-.02em;font-weight:600;margin:14px 0 10px}
.a-promo p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.78);max-width:36em}
.btn-light{background:#fff;color:var(--ink);flex:none}.btn-light:hover{background:#F6F5F2}
@media(max-width:1100px){.a-grid{grid-template-columns:1fr;gap:0}.a-side{display:none}.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.a-promo{flex-direction:column;align-items:flex-start;padding:28px}.prose{font-size:17px}.prose h2{font-size:25px}.a-lede{font-size:18px}.takeaways{padding:22px}.src{grid-template-columns:28px 1fr 16px}.sy{display:none}}
@media(max-width:600px){.grid4{grid-template-columns:1fr}.grid4 .tile{min-height:0}.prose table{font-size:14px}.prose th,.prose td{padding:12px}}

/* ---- article body: everything the markdown can produce ---- */
.note{display:block}.note>svg{display:none}
.note.caution{background:#FBEDE7}.note.caution b{color:#B8431C}
.note.note{background:#fff;border:1px solid var(--hair)}.note.note b{color:var(--muted)}
.note p+p{margin-top:10px}.note ul{margin-top:8px;padding-left:20px}
.prose h3{font-size:22px;line-height:1.25;letter-spacing:-.015em;font-weight:600;color:var(--ink);margin-top:36px;scroll-margin-top:110px}
.prose blockquote{padding:4px 0 4px 20px;border-left:3px solid #306155;color:var(--tab)}
.prose hr{border:0;border-top:1px solid var(--hair);margin:40px 0}
.prose code{font-size:.9em;padding:2px 6px;border-radius:6px;background:#EFEBE4}
.prose img{max-width:100%;height:auto;border-radius:20px}
.prose em{font-style:italic}
.table-wrap,.prose table{max-width:100%}
@media(max-width:700px){.prose table{display:block;overflow-x:auto}}
/* footnotes from the markdown become the source cards */
.prose section.footnotes{margin-top:64px}
.prose .footnotes ol{list-style:none;padding:0;counter-reset:fn;display:flex;flex-direction:column;gap:8px}
.prose .footnotes li{counter-increment:fn;position:relative;margin:0;padding:16px 20px 16px 62px;border-radius:18px;background:#fff;border:1px solid var(--hair);font-size:15px;line-height:1.45;color:var(--muted)}
.prose .footnotes li::before{content:counter(fn);position:absolute;left:18px;top:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E3EDE9;color:#306155;font-size:13px;font-weight:600}
.prose .footnotes li:target{border-color:#306155;box-shadow:0 0 0 3px rgba(48,97,85,.15)}
.prose .footnotes p{margin:0}
.prose .footnotes a:not(.data-footnote-backref){color:var(--ink);text-decoration:none;font-weight:500}
.prose .footnotes a:not(.data-footnote-backref):hover{text-decoration:underline}
.prose .footnotes .data-footnote-backref{margin-left:6px;text-decoration:none;color:var(--faint)}
.prose li:target{scroll-margin-top:110px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.srcs-title{font-size:22px;font-weight:600;margin:64px 0 16px}
.prose .footnotes{scroll-margin-top:110px}
.aka{font-size:14px;color:var(--muted)}.aka b{font-weight:600;color:var(--tab)}
.chip.ev-s{background:#E3EDE9;color:#1F4A3F}.chip.ev-l,.chip.ev-e{background:#F5EBDF;color:var(--warm)}
.chip.outline{background:#EFEBE4;color:var(--muted)}
/* the footnotes heading stays "Footnotes" for assistive tech and reads "Sources" on screen */
.prose .footnotes>h2.sr-only{position:static;width:auto;height:auto;margin:0 0 16px;overflow:visible;clip:auto;white-space:normal;font-size:0;line-height:1}
.prose .footnotes>h2.sr-only::after{content:"Sources";font-size:22px;letter-spacing:-.01em;font-weight:600;color:var(--ink)}

/* ---- news page (deploy/science_pages.py) ---- */
.tag-date{background:rgba(255,182,103,.16);box-shadow:inset 0 0 0 1px rgba(214,140,60,.25);color:#A15E1C}
@media(min-width:1101px){.n-grid{grid-template-columns:320px minmax(0,720px)}}
.study-card{position:sticky;top:110px;display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:24px;background:#fff;border:1px solid var(--hair)}
.sc-h{font-size:14px;font-weight:600;color:var(--muted)}
.sc-title{font-size:17px;line-height:1.35;font-weight:600;color:var(--ink)}
.sc-title:hover{text-decoration:underline;text-underline-offset:3px}
.sc-title svg{width:15px;height:15px;vertical-align:-2px;color:var(--muted)}
.study-card dl{display:flex;flex-direction:column;gap:12px;margin:0;padding-top:14px;border-top:1px solid var(--hair)}
.study-card dt{font-size:13px;color:var(--muted)}
.study-card dd{margin:2px 0 0;font-size:15px;line-height:1.45;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose ul.found{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.prose ul.found li{display:flex;gap:14px;align-items:flex-start;margin:0;padding:16px 20px;border-radius:18px;background:#fff;border:1px solid var(--hair);font-size:17px;line-height:1.5}
.ck{flex:none;width:26px;height:26px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:#E3EDE9;color:#306155}
.ck svg{width:15px;height:15px}
.note.caution ul{font-size:16px;line-height:1.55;color:var(--tab)}
.note.try{background:#306155;color:#F6F5F2}.note.try b{color:#fff;font-size:20px}
.note.try ol{margin-top:12px;padding-left:22px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.85)}
.note.try li+li{margin-top:8px}.note.try li::marker{color:#FFB667;font-weight:600}
.note.try strong{color:#fff}.note.try a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.a-body .takeaways{margin-bottom:40px}
.hub{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hub .tile{min-height:340px}
.feed{display:flex;flex-direction:column;gap:12px}
.feed-row{display:grid;grid-template-columns:120px 1fr 44px;gap:24px;align-items:center;padding:24px 28px;border-radius:24px;background:#fff;border:1px solid var(--hair);transition:transform .25s,box-shadow .25s}
.feed-row:hover{transform:translateY(-2px);box-shadow:0 24px 50px -30px rgba(23,20,15,.35)}
.fr-date{font-size:14px;font-weight:600;color:var(--warm)}
.fr-body h3{font-size:20px;line-height:1.25;letter-spacing:-.015em;font-weight:600}
.fr-body p{margin-top:6px;font-size:15px;line-height:1.5;color:var(--tab)}
.fr-meta{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.feed-row .go{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sand)}
.feed-row .go svg{width:20px;height:20px}
@media(max-width:1100px){.hub{grid-template-columns:1fr 1fr}.hub .tile:first-child{grid-column:1/-1}}
@media(max-width:700px){.hub{grid-template-columns:1fr}.hub .tile{min-height:0}.feed-row{grid-template-columns:1fr;gap:10px;padding:22px}.feed-row .go{display:none}}
.hub .tile:first-child{background:#306155;border-color:#306155;color:#F6F5F2}
.hub .tile:first-child p,.hub .tile:first-child .foot{color:rgba(255,255,255,.75)}
@media(max-width:1100px){.n-grid .a-side{display:block;margin-bottom:32px}.study-card{position:static}}
