:root {
    --ink: #15251d;
    --ink-2: #20362b;
    --paper: #f1efe6;
    --paper-2: #e8e3d5;
    --paper-3: #faf9f4;
    --moss: #526f5e;
    --sage: #aebba7;
    --acid: #dfca58;
    --plum: #54384d;
    --clay: #b86f50;
    --line: rgba(21,37,29,.16);
    --line-light: rgba(255,255,255,.16);
    --shadow: 0 24px 70px rgba(17,31,24,.12);
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --serif: Iowan Old Style, Palatino Linotype, Book Antiqua, Palatino, Georgia, serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.65 var(--sans); text-rendering: optimizeLegibility; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
button, input { font: inherit; }
::selection { background: var(--acid); color: var(--ink); }
.shell { width: min(100% - 48px, 1240px); margin-inline: auto; }
.section { padding-block: 104px; }
.center { display: flex; justify-content: center; margin-top: 42px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; padding: 12px 16px; background: white; color: black; }
.skip-link:focus { top: 16px; }
.signal-bar { background: #0e1712; color: rgba(255,255,255,.66); border-bottom: 1px solid rgba(255,255,255,.07); }
.signal-bar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.signal-bar__inner span:first-child { display: flex; align-items: center; gap: 9px; color: white; }
.signal-bar__inner i { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(223,202,88,.08); }
.site-header { position: relative; z-index: 30; background: rgba(241,239,230,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.nav-shell { min-height: 84px; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 13px; color: var(--ink); text-decoration: none; }
.brand__glyph { position: relative; width: 44px; height: 44px; display: block; border: 1px solid var(--ink); border-radius: 50%; }
.brand__glyph:before { content: ""; position: absolute; left: 20px; top: 7px; width: 1px; height: 28px; background: var(--ink); transform: rotate(24deg); transform-origin: bottom; }
.brand__glyph i, .brand__glyph b { position: absolute; width: 12px; height: 7px; border: 1px solid var(--ink); border-radius: 100% 0 100% 0; transform: rotate(-22deg); }
.brand__glyph i { left: 8px; top: 16px; }
.brand__glyph b { right: 7px; top: 11px; transform: rotate(52deg); }
.brand__text { display: grid; line-height: .94; }
.brand__text strong { font: 700 18px/1 var(--sans); letter-spacing: .03em; text-transform: uppercase; }
.brand__text em { font: italic 20px/1 var(--serif); color: var(--plum); }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.primary-nav a { position: relative; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.primary-nav a:after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--ink); transition: right .22s ease; }
.primary-nav a:hover:after { right: 0; }
.search-trigger { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 14px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
.search-trigger svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.search-trigger span { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.nav-toggle { display: none; }
.search-panel { position: absolute; left: 0; right: 0; top: 100%; padding: 28px 0; background: var(--paper-3); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
.search-panel__form label { display: block; margin-bottom: 9px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.search-panel__form > div { display: flex; }
.search-panel__form input { flex: 1; min-width: 0; padding: 17px 18px; border: 1px solid var(--line); background: white; }
.search-panel__form button { padding: 0 24px; border: 0; background: var(--ink); color: white; font-weight: 800; }
.hero { position: relative; overflow: hidden; background: var(--ink); color: white; }
.hero:before { content: ""; position: absolute; width: 600px; height: 600px; right: -220px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(223,202,88,.14), transparent 67%); }
.hero__grain { position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(rgba(255,255,255,.5) .6px, transparent .6px); background-size: 5px 5px; mix-blend-mode: soft-light; }
.hero__layout { position: relative; min-height: 690px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(420px,.85fr); gap: 80px; align-items: center; padding-block: 76px 70px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: rgba(255,255,255,.72); }
.eyebrow i { width: 26px; height: 1px; background: var(--acid); }
.eyebrow--dark { color: var(--moss); }
.eyebrow--dark i { background: var(--clay); }
.hero h1 { max-width: 820px; margin: 22px 0 25px; font: 400 clamp(58px,7.4vw,102px)/.91 var(--serif); letter-spacing: -.055em; }
.hero h1 em, .page-hero h1 em { color: var(--acid); font-weight: 400; }
.hero__copy > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.67); font-size: 18px; line-height: 1.75; }
.hero-search { max-width: 720px; margin-top: 34px; }
.hero-search label { display: block; margin-bottom: 9px; color: rgba(255,255,255,.64); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.hero-search > div { display: flex; align-items: stretch; min-height: 60px; background: white; }
.hero-search svg { width: 20px; margin: 0 0 0 18px; align-self: center; fill: none; stroke: var(--ink); stroke-width: 1.5; }
.hero-search input { flex: 1; min-width: 0; padding: 0 15px; border: 0; outline: 0; color: var(--ink); }
.hero-search button { padding: 0 22px; border: 0; background: var(--acid); color: var(--ink); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.hero-links { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 19px; font-size: 11px; }
.hero-links span { color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: .1em; }
.hero-links a { color: rgba(255,255,255,.74); text-decoration-color: rgba(223,202,88,.55); text-underline-offset: 4px; }
.hero__canvas { position: relative; height: 520px; }
.orbit { position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.orbit--one { inset: 34px 0 0 48px; width: 440px; height: 440px; }
.orbit--two { inset: 108px 74px; width: 280px; height: 280px; border-color: rgba(223,202,88,.3); }
.specimen { position: absolute; width: 170px; height: 300px; }
.specimen span { position: absolute; left: 83px; top: 5px; width: 2px; height: 280px; background: linear-gradient(var(--acid), rgba(223,202,88,.12)); transform: rotate(8deg); }
.specimen i { position: absolute; width: 64px; height: 29px; border: 1px solid rgba(223,202,88,.75); border-radius: 100% 0 100% 0; }
.specimen i:nth-child(2) { left: 30px; top: 67px; transform: rotate(12deg); }
.specimen i:nth-child(3) { left: 83px; top: 126px; transform: rotate(198deg); }
.specimen i:nth-child(4) { left: 24px; top: 193px; transform: rotate(18deg); }
.specimen--a { left: 128px; top: 80px; transform: rotate(-10deg); }
.specimen--b { right: 23px; top: 148px; transform: rotate(27deg) scale(.78); opacity: .65; }
.hero-card { position: absolute; width: 170px; padding: 18px; background: rgba(241,239,230,.96); color: var(--ink); box-shadow: 0 22px 70px rgba(0,0,0,.22); transform: rotate(-3deg); }
.hero-card small { display: block; margin-bottom: 23px; color: var(--clay); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero-card strong { display: block; font: 400 27px/1 var(--serif); }
.hero-card span { display: block; margin-top: 10px; color: #647067; font-size: 11px; line-height: 1.45; }
.hero-card--top { right: 8px; top: 38px; }
.hero-card--bottom { left: 10px; bottom: 9px; transform: rotate(4deg); background: var(--plum); color: white; }
.hero-card--bottom span { color: rgba(255,255,255,.65); }
.hero-card--bottom small { color: var(--acid); }
.hero-seal { position: absolute; left: 222px; top: 196px; width: 122px; height: 122px; display: grid; place-items: center; align-content: center; border: 1px solid var(--acid); border-radius: 50%; background: var(--ink); transform: rotate(9deg); }
.hero-seal:before, .hero-seal:after { content: ""; position: absolute; inset: 8px; border: 1px dashed rgba(223,202,88,.45); border-radius: 50%; }
.hero-seal span { color: var(--acid); font: 700 27px/1 var(--serif); letter-spacing: .08em; }
.hero-seal small { margin-top: 6px; text-align: center; color: rgba(255,255,255,.6); font-size: 8px; text-transform: uppercase; letter-spacing: .11em; }
.hero-proof { position: relative; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line-light); }
.hero-proof div { min-height: 72px; display: flex; align-items: center; gap: 16px; border-right: 1px solid var(--line-light); }
.hero-proof div:last-child { border-right: 0; padding-left: 30px; }
.hero-proof b { color: var(--acid); font: 400 15px/1 var(--serif); }
.hero-proof span { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.64); }
.manifesto-section { background: var(--paper-3); }
.manifesto-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: end; }
.manifesto-grid h2, .section-head h2 { margin: 15px 0 0; font: 400 clamp(44px,5.2vw,68px)/1 var(--serif); letter-spacing: -.04em; }
.manifesto-copy p { margin: 0 0 24px; color: #5b675f; font: 400 21px/1.7 var(--serif); }
.arrow-link { display: inline-flex; gap: 10px; align-items: center; font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.section-head { display: flex; justify-content: space-between; gap: 70px; align-items: end; margin-bottom: 46px; }
.section-head > p { max-width: 450px; margin: 0; color: #667069; }
.pathways-section { background: var(--paper-2); }
.pathways { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pathway { position: relative; min-height: 260px; display: grid; grid-template-columns: 50px 1fr 30px; gap: 22px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; overflow: hidden; transition: background .25s ease, color .25s ease; }
.pathway:before { content: ""; position: absolute; width: 180px; height: 180px; right: -110px; bottom: -110px; border: 1px solid currentColor; border-radius: 50%; opacity: .12; transition: transform .35s ease; }
.pathway:hover:before { transform: scale(1.45); }
.pathway:hover { background: var(--paper-3); }
.pathway--large { grid-column: 1 / -1; min-height: 300px; grid-template-columns: 70px minmax(0,760px) 1fr; align-items: center; }
.pathway--ink { background: var(--ink); color: white; }
.pathway--ink:hover { background: var(--plum); }
.pathway__index { color: var(--clay); font: 400 15px/1 var(--serif); }
.pathway small { color: var(--moss); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pathway--ink small { color: var(--acid); }
.pathway h3 { margin: 22px 0 12px; font: 400 37px/1.05 var(--serif); letter-spacing: -.03em; }
.pathway p { max-width: 620px; margin: 0; color: #657168; }
.pathway--ink p { color: rgba(255,255,255,.62); }
.pathway > b { justify-self: end; color: var(--clay); font-size: 22px; }
.stories-section { background: var(--paper-3); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 48px; padding: 0 19px; text-decoration: none; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.button--outline { border: 1px solid var(--line); }
.button--dark { background: var(--ink); color: white; }
.button--light { background: var(--acid); color: var(--ink); }
.story-grid { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.story-card { min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper-3); }
.story-card__visual { position: relative; min-height: 270px; display: block; overflow: hidden; background: var(--paper-2); border-bottom: 1px solid var(--line); }
.story-card__visual small { position: absolute; left: 22px; top: 19px; z-index: 3; padding: 6px 9px; background: rgba(241,239,230,.88); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.visual__halo { position: absolute; left: 50%; top: 50%; width: 170px; height: 170px; border: 1px solid rgba(21,37,29,.18); border-radius: 50%; transform: translate(-50%,-50%); }
.visual__line { position: absolute; left: 50%; top: 32px; width: 2px; height: 235px; background: var(--ink); transform: rotate(12deg); }
.visual__leaf { position: absolute; left: 50%; width: 94px; height: 43px; border: 1px solid var(--ink); border-radius: 100% 0 100% 0; transform-origin: left center; }
.visual__leaf--a { top: 91px; transform: rotate(22deg); background: rgba(82,111,94,.2); }
.visual__leaf--b { top: 155px; margin-left: -72px; transform: rotate(197deg); background: rgba(223,202,88,.27); }
.visual__seed { position: absolute; left: calc(50% - 19px); bottom: 27px; width: 38px; height: 38px; border: 1px solid var(--ink); border-radius: 50%; background: var(--acid); }
.visual--calendula { background: #e8cbb8; }
.visual--calendula .visual__seed { width: 72px; height: 72px; left: calc(50% - 36px); background: transparent; box-shadow: inset 0 0 0 16px rgba(184,111,80,.34); }
.visual--ginger { background: #d7cab4; }
.visual--ginger .visual__line { height: 190px; top: 45px; transform: rotate(-27deg); }
.visual--oat { background: #dfe2c9; }
.visual--elder { background: #b9b3c0; }
.visual--elder .visual__seed { box-shadow: 50px -25px 0 -7px var(--plum), -47px -12px 0 -7px var(--plum), 24px -60px 0 -7px var(--plum); background: var(--plum); }
.visual--chamomile { background: #e9e2bd; }
.story-card__body { padding: 25px 25px 27px; }
.story-meta { display: flex; justify-content: space-between; gap: 15px; color: #7a827c; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.story-card h3 { margin: 20px 0 12px; font: 400 30px/1.08 var(--serif); letter-spacing: -.025em; }
.story-card h3 a { text-decoration: none; }
.story-card p { min-height: 78px; margin: 0; color: #647067; font-size: 13px; }
.story-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 25px; padding-top: 17px; border-top: 1px solid var(--line); }
.story-card__foot > a { font-size: 10px; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.story-card__foot b { color: var(--clay); }
.evidence-tag { display: inline-flex; align-items: center; gap: 7px; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.evidence-tag:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sage); }
.evidence-tag--supported:before { background: #2d7651; }
.evidence-tag--limited:before { background: #c3912f; }
.evidence-tag--traditional:before { background: #7a6684; }
.evidence-tag--unsupported:before, .evidence-tag--avoid:before { background: #a84f45; }
.method-band { background: var(--plum); color: white; }
.method-band__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 95px; align-items: start; }
.method-band__intro h2 { margin: 18px 0; font: 400 61px/.98 var(--serif); letter-spacing: -.04em; }
.method-band__intro p { margin: 0 0 30px; color: rgba(255,255,255,.62); }
.method-index { border-top: 1px solid rgba(255,255,255,.15); }
.method-index a { display: grid; grid-template-columns: 46px 1fr 22px; gap: 18px; align-items: center; min-height: 92px; border-bottom: 1px solid rgba(255,255,255,.15); text-decoration: none; }
.method-index > a > span { color: var(--acid); font: 400 13px/1 var(--serif); }
.method-index strong { display: block; font: 400 24px/1.1 var(--serif); }
.method-index small { display: block; margin-top: 6px; color: rgba(255,255,255,.48); font-size: 11px; }
.method-index b { color: var(--acid); }
.herbarium-section { background: var(--paper); }
.herbarium-list { border-top: 1px solid var(--line); }
.herbarium-list a { display: grid; grid-template-columns: 58px 1.1fr 1.4fr 22px; gap: 25px; align-items: center; min-height: 88px; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding .2s ease, background .2s ease; }
.herbarium-list a:hover { padding-inline: 13px; background: rgba(255,255,255,.46); }
.herbarium-list__letter { color: var(--clay); font: 400 17px/1 var(--serif); }
.herbarium-list strong, .herbarium-list em { display: block; }
.herbarium-list strong { font: 400 24px/1.1 var(--serif); }
.herbarium-list em { margin-top: 4px; color: #7a817c; font: italic 12px/1.2 var(--serif); }
.herbarium-list small { color: #6c746e; }
.herbarium-list b { color: var(--clay); }
.herbarium-list--large a { min-height: 112px; }
.source-section { background: var(--ink); color: white; }
.source-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.source-panel__copy h2 { margin: 18px 0; font: 400 61px/.98 var(--serif); letter-spacing: -.04em; }
.source-panel__copy p { margin: 0 0 30px; color: rgba(255,255,255,.61); }
.source-constellation { display: grid; grid-template-columns: repeat(2,1fr); border-left: 1px solid var(--line-light); border-top: 1px solid var(--line-light); }
.source-constellation span { min-height: 110px; display: grid; place-items: center; padding: 20px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); text-align: center; color: rgba(255,255,255,.75); font: 400 18px/1.2 var(--serif); }
.source-constellation span:nth-child(2), .source-constellation span:nth-child(5) { background: rgba(223,202,88,.08); color: var(--acid); }
.safety-section { background: var(--paper-2); }
.safety-panel { display: grid; grid-template-columns: 90px 1fr auto; gap: 35px; align-items: center; padding: 38px; border: 1px solid var(--line); background: var(--paper-3); box-shadow: var(--shadow); }
.safety-panel__mark { width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid var(--clay); border-radius: 50%; color: var(--clay); font: 400 36px/1 var(--serif); }
.safety-panel h2 { margin: 10px 0 8px; font: 400 38px/1.05 var(--serif); }
.safety-panel p { max-width: 700px; margin: 0; color: #626d65; }
.site-footer { background: #0e1712; color: rgba(255,255,255,.63); }
.footer-main { display: grid; grid-template-columns: 1.65fr repeat(3,1fr); gap: 70px; padding-block: 78px 58px; }
.brand--footer { color: white; }
.brand--footer .brand__glyph { border-color: var(--acid); }
.brand--footer .brand__glyph:before, .brand--footer .brand__glyph i, .brand--footer .brand__glyph b { border-color: var(--acid); background-color: var(--acid); }
.brand--footer .brand__glyph i, .brand--footer .brand__glyph b { background: transparent; }
.brand--footer .brand__text em { color: var(--acid); }
.footer-brand > p { max-width: 390px; margin: 24px 0; }
.footer-manifesto { max-width: 420px; padding: 14px 16px; border-left: 2px solid var(--acid); background: rgba(255,255,255,.04); color: rgba(255,255,255,.83); font: italic 15px/1.5 var(--serif); }
.footer-main h3 { margin: 5px 0 21px; color: white; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.footer-main > div:not(:first-child) a { display: block; margin-bottom: 12px; text-decoration: none; font-size: 12px; }
.footer-main a:hover { color: white; }
.network { padding: 28px 0 40px; border-top: 1px solid rgba(255,255,255,.09); }
.network__head { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.network__head span { color: white; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.network__head small { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.network__grid { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid rgba(255,255,255,.09); border-top: 1px solid rgba(255,255,255,.09); }
.network__grid a { display: grid; grid-template-columns: 39px 1fr 18px; gap: 12px; align-items: center; min-height: 72px; padding: 12px 15px; border-right: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); text-decoration: none; }
.network__mark { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(223,202,88,.45); color: var(--acid); font-size: 9px; font-weight: 900; }
.network__grid strong, .network__grid small { display: block; }
.network__grid strong { color: white; font-size: 12px; }
.network__grid small { color: rgba(255,255,255,.42); font-size: 9px; }
.network__grid svg { width: 16px; fill: none; stroke: rgba(255,255,255,.5); stroke-width: 1.2; }
.footer-bottom { min-height: 68px; display: flex; justify-content: space-between; align-items: center; gap: 25px; border-top: 1px solid rgba(255,255,255,.09); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.page-hero { padding-block: 100px 90px; background: var(--ink); color: white; overflow: hidden; }
.page-hero .shell { position: relative; }
.page-hero .shell:after { content: ""; position: absolute; width: 270px; height: 270px; right: 30px; top: -50px; border: 1px solid rgba(223,202,88,.22); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }
.page-hero h1 { max-width: 900px; margin: 18px 0; font: 400 clamp(55px,7vw,90px)/.93 var(--serif); letter-spacing: -.05em; }
.page-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.65); font-size: 18px; }
.page-hero--herb { background: var(--moss); }
.page-hero--method { background: var(--plum); }
.page-hero--source { background: #172a24; }
.filter-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 35px; }
.filter-row a { padding: 10px 14px; border: 1px solid var(--line); text-decoration: none; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.filter-row a.is-active { background: var(--ink); color: white; }
.alphabet { margin-bottom: 30px; padding: 16px 20px; border: 1px solid var(--line); word-spacing: 14px; color: var(--clay); font-size: 11px; font-weight: 850; }
.article-hero { padding-block: 78px; background: var(--ink); color: white; }
.article-hero--herb { background: var(--moss); }
.article-hero__grid { display: grid; grid-template-columns: 1fr 340px; gap: 90px; align-items: end; }
.breadcrumbs { display: flex; gap: 9px; margin-bottom: 26px; color: rgba(255,255,255,.42); font-size: 10px; }
.breadcrumbs a { text-decoration: none; }
.article-hero h1 { margin: 18px 0; font: 400 clamp(50px,6vw,80px)/.96 var(--serif); letter-spacing: -.045em; }
.article-hero h1 + p { max-width: 800px; color: rgba(255,255,255,.66); font-size: 18px; }
.article-hero--herb h1 + p { font: italic 23px/1.4 var(--serif); }
.byline { display: flex; align-items: center; gap: 12px; margin-top: 26px; }
.byline > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--acid); border-radius: 50%; color: var(--acid); font: 700 10px/1 var(--sans); }
.byline strong, .byline small { display: block; }
.byline strong { font-size: 11px; }
.byline small { color: rgba(255,255,255,.43); font-size: 9px; }
.article-facts { border-top: 1px solid var(--line-light); }
.article-facts div { padding: 17px 0; border-bottom: 1px solid var(--line-light); }
.article-facts span { display: block; margin-bottom: 5px; color: rgba(255,255,255,.4); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.article-facts strong { font-size: 11px; }
.prose-layout { display: grid; grid-template-columns: 225px minmax(0,760px); gap: 95px; align-items: start; }
.prose-layout aside { position: sticky; top: 30px; }
.toc { display: grid; gap: 11px; padding: 18px 0; border-block: 1px solid var(--line); }
.toc strong { margin-bottom: 5px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.toc a { color: #657068; text-decoration: none; font-size: 12px; }
.note-card { margin-top: 22px; padding: 17px; border-left: 2px solid var(--clay); background: var(--paper-2); }
.note-card span { color: var(--clay); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.note-card p { margin: 8px 0 0; font-size: 12px; }
.prose, .prose-page { font: 400 18px/1.86 var(--serif); }
.prose-page { max-width: 920px; }
.prose > p:first-child { font-size: 22px; line-height: 1.65; }
.prose h2, .prose-page h2 { margin: 52px 0 15px; font: 400 40px/1.08 var(--serif); letter-spacing: -.025em; }
.prose ul { padding-left: 22px; }
.warning-box { display: grid; grid-template-columns: 54px 1fr; gap: 20px; margin-top: 52px; padding: 28px; background: #ead8cd; border: 1px solid rgba(184,111,80,.25); font-family: var(--sans); }
.warning-box > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--clay); border-radius: 50%; color: var(--clay); font: 400 28px/1 var(--serif); }
.warning-box h3, .warning-box h2 { margin: 0 0 8px; font: 400 28px/1.1 var(--serif); }
.warning-box p { margin: 0; color: #655a54; font-size: 13px; line-height: 1.65; }
.warning-box--large { margin: 0 0 55px; }
.sources-box { margin-top: 60px; padding-top: 33px; border-top: 2px solid var(--ink); }
.sources-box h2 { margin-top: 12px; }
.sources-box p { color: #697169; font: 400 13px/1.7 var(--sans); }
.method-atlas { display: grid; grid-template-columns: repeat(2,1fr); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.method-atlas article { min-height: 340px; display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-atlas article > span { color: var(--clay); font: 400 15px/1 var(--serif); }
.method-atlas small { color: var(--moss); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.method-atlas h2 { margin: 22px 0 12px; font: 400 37px/1.05 var(--serif); }
.method-atlas p, .method-atlas li { color: #657068; font-size: 13px; }
.evidence-cards { display: grid; grid-template-columns: repeat(2,1fr); margin: 28px 0 65px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); font-family: var(--sans); }
.evidence-cards article { position: relative; min-height: 245px; padding: 29px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evidence-cards small { position: absolute; right: 25px; top: 25px; color: var(--clay); }
.evidence-cards h3 { margin: 40px 0 10px; font: 400 30px/1.1 var(--serif); }
.evidence-cards p { color: #657068; font-size: 13px; line-height: 1.65; }
.dot { width: 11px; height: 11px; display: block; border-radius: 50%; }
.dot--supported { background: #2d7651; }.dot--limited { background: #c3912f; }.dot--traditional { background: #7a6684; }.dot--unsupported { background: #a84f45; }
.source-standard-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.source-standard-grid article { min-height: 250px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.source-standard-grid article > span { color: var(--clay); font: 400 14px/1 var(--serif); }
.source-standard-grid h2 { margin: 38px 0 10px; font: 400 31px/1.1 var(--serif); }
.source-standard-grid p { color: #657068; font-size: 13px; }
.configured-sources { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; margin-top: 90px; }
.configured-sources h2 { margin: 14px 0 0; font: 400 52px/1 var(--serif); }
.configured-sources ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.configured-sources li { display: grid; grid-template-columns: 1fr 1.4fr; gap: 25px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.configured-sources strong { font: 400 19px/1.2 var(--serif); }
.configured-sources span { color: #697169; font-size: 12px; }
.contact-panel { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-panel > div { min-height: 220px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-panel small { display: block; margin-bottom: 35px; color: var(--clay); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.contact-panel a { font: 400 30px/1.1 var(--serif); }
.contact-panel p { color: #657068; }
.empty-state { padding: 75px 24px; text-align: center; border: 1px solid var(--line); }
.empty-state > span { color: var(--clay); font: 400 55px/1 var(--serif); }
.empty-state h1, .empty-state h2 { margin: 18px 0 10px; font: 400 38px/1.1 var(--serif); }
.empty-state p { color: #697169; }
.hero-search--page { max-width: 760px; }
.hero-search--page label { display: none; }
@media (max-width: 1020px) {
    .signal-bar__inner span:last-child { display: none; }
    .primary-nav { position: absolute; left: 24px; right: 24px; top: calc(100% + 1px); display: none; padding: 18px; background: var(--paper-3); border: 1px solid var(--line); box-shadow: var(--shadow); }
    .primary-nav.is-open { display: grid; }
    .nav-toggle { margin-left: auto; display: grid; grid-template-columns: 22px auto; align-items: center; gap: 5px 8px; border: 0; background: none; }
    .nav-toggle span { width: 22px; height: 1px; background: var(--ink); }
    .nav-toggle b { grid-column: 2; grid-row: 1 / span 2; font-size: 10px; text-transform: uppercase; }
    .hero__layout { grid-template-columns: 1fr; }
    .hero__canvas { display: none; }
    .manifesto-grid, .method-band__grid, .source-panel, .configured-sources { grid-template-columns: 1fr; gap: 50px; }
    .story-grid { grid-template-columns: repeat(2,1fr); }
    .footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-main > div:last-child { grid-column: 2; }
    .article-hero__grid { grid-template-columns: 1fr; gap: 40px; }
    .prose-layout { grid-template-columns: 1fr; }
    .prose-layout aside { position: static; }
}
@media (max-width: 720px) {
    .shell { width: min(100% - 30px, 1240px); }
    .section { padding-block: 74px; }
    .signal-bar__inner { justify-content: center; }
    .nav-shell { min-height: 74px; gap: 12px; }
    .brand__text strong { font-size: 14px; }
    .brand__text em { font-size: 17px; }
    .brand__glyph { width: 38px; height: 38px; }
    .search-trigger span { display: none; }
    .hero__layout { min-height: auto; padding-block: 64px 55px; }
    .hero h1 { font-size: 54px; }
    .hero__copy > p, .page-hero p { font-size: 16px; }
    .hero-search > div { min-height: 54px; }
    .hero-search button { padding-inline: 14px; font-size: 9px; }
    .hero-proof { grid-template-columns: 1fr; padding-block: 10px; }
    .hero-proof div, .hero-proof div:last-child { min-height: 48px; padding-left: 0; border-right: 0; }
    .manifesto-grid { gap: 32px; }
    .manifesto-grid h2, .section-head h2 { font-size: 44px; }
    .manifesto-copy p { font-size: 18px; }
    .section-head { display: block; }
    .section-head > p, .section-head .button { margin-top: 20px; }
    .pathways, .story-grid, .method-atlas, .evidence-cards, .source-standard-grid, .contact-panel { grid-template-columns: 1fr; }
    .pathway--large { grid-column: auto; grid-template-columns: 50px 1fr 25px; }
    .story-card p { min-height: 0; }
    .method-band__intro h2, .source-panel__copy h2 { font-size: 47px; }
    .herbarium-list a { grid-template-columns: 42px 1fr 20px; gap: 14px; padding-block: 13px; }
    .herbarium-list small { grid-column: 2; }
    .herbarium-list b { grid-column: 3; grid-row: 1 / span 2; }
    .safety-panel { grid-template-columns: 65px 1fr; padding: 25px; }
    .safety-panel .button { grid-column: 2; justify-self: start; }
    .footer-main { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-main > div:last-child { grid-column: auto; }
    .network__grid { grid-template-columns: 1fr; }
    .network__head, .footer-bottom { display: block; }
    .footer-bottom { padding-block: 18px; }
    .page-hero { padding-block: 74px 66px; }
    .page-hero h1 { font-size: 52px; }
    .page-hero .shell:after { display: none; }
    .prose { font-size: 17px; }
    .prose h2, .prose-page h2 { font-size: 34px; }
    .configured-sources li { grid-template-columns: 1fr; gap: 5px; }
}
.library-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:14px; align-items:end; margin-bottom:34px; padding:20px; border:1px solid var(--line); background:var(--paper-2); }
.library-filters label { display:grid; gap:7px; color:#677067; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.library-filters select { width:100%; min-height:46px; padding:0 12px; border:1px solid var(--line); background:var(--paper-3); color:var(--ink); font:600 12px var(--sans); }
.library-filters button { min-height:46px; padding:0 20px; border:0; background:var(--ink); color:#fff; font:850 10px var(--sans); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.concern-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.concern-grid > a { min-height:300px; display:flex; flex-direction:column; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; transition:background .2s ease,transform .2s ease; }
.concern-grid > a:hover { background:var(--paper-2); transform:translateY(-3px); }
.concern-grid small { color:var(--clay); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.concern-grid h2 { margin:50px 0 15px; font:400 34px/1.08 var(--serif); }
.concern-grid p { color:#657068; font-size:13px; line-height:1.7; }
.concern-grid span { margin-top:auto; font-size:11px; font-weight:800; }
.recipe-block { margin:0 0 48px; padding:30px; border:1px solid var(--line); background:var(--paper-2); }
.recipe-block h2 { margin:20px 0 12px; font-size:32px; }
.recipe-block li { margin-bottom:7px; }
.related-strip { margin-top:55px; padding-top:30px; border-top:1px solid var(--line); font-family:var(--sans); }
.related-strip > div { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:18px; }
.related-strip a { display:grid; gap:4px; padding:16px; border:1px solid var(--line); color:var(--ink); text-decoration:none; }
.related-strip small { color:#697169; }
.byline em { display:block; color:rgba(255,255,255,.55); font-size:10px; font-style:normal; }
.sources-box li small { display:block; color:#697169; }
@media(max-width:900px){.library-filters{grid-template-columns:1fr 1fr}.concern-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.library-filters,.concern-grid,.related-strip>div{grid-template-columns:1fr}.concern-grid>a{min-height:240px}}
