:root{--ink:#10231f;--muted:#60706b;--paper:#f2f0e8;--cream:#e8e4d7;--forest:#071b17;--forest-2:#0b2922;--green:#79de8b;--lime:#c8ef91;--line:rgba(16,35,31,.18);--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit}button,select{font:inherit}button{cursor:pointer}em{font-family:var(--serif)}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;transform:translateY(-200%);padding:.75rem 1rem;background:white;color:var(--forest)}.skip-link:focus{transform:none}.hero{position:relative;min-height:min(830px,92svh);overflow:hidden;background:var(--forest);color:#f5f3e9}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,23,.98) 0%,rgba(7,27,23,.85) 43%,rgba(7,27,23,.18) 78%),url("assets/cannabis-sativa-generated.webp") center 44%/cover no-repeat;opacity:.9}.hero-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 35%,transparent 0 22%,rgba(7,27,23,.25) 52%),linear-gradient(0deg,var(--forest),transparent 35%)}.topbar,.hero-content,.hero-actions,.hero>*,main>section,footer{position:relative}.topbar{z-index:2;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:1.4rem clamp(1.2rem,4vw,4rem);border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:2.6rem;aspect-ratio:1;border:1px solid var(--green);border-radius:50%;color:var(--green);font-family:var(--serif);font-size:1.45rem}.brand strong,.brand small{display:block}.brand small{color:#aabbb5;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.topbar-links{display:flex;gap:1.5rem;font-size:.82rem}.topbar-links a{text-decoration:none;border-bottom:1px solid transparent}.topbar-links a:hover,.topbar-links a:focus-visible{border-color:var(--green)}.hero-content{z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:650px;max-width:1440px;margin:auto;padding:7rem clamp(1.2rem,6vw,6rem) 5rem}.eyebrow,.section-index{margin:0 0 1rem;color:var(--green);font-size:.73rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:900px;margin:0;font:clamp(3.1rem,7.6vw,7.2rem)/.88 var(--serif);letter-spacing:-.055em}.hero h1 em{color:var(--lime);font-weight:400}.hero-lead{max-width:700px;margin:2rem 0;color:#d5ded9;font-size:clamp(1.05rem,1.5vw,1.35rem)}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.primary-action{display:inline-flex;gap:2rem;align-items:center;padding:1rem 1.2rem;background:var(--green);color:var(--forest);font-weight:750;text-decoration:none}.hero-actions>span{color:#9cadA7;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
main>section{padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,6vw,6rem)}.orientation{display:grid;grid-template-columns:.55fr 1.55fr .8fr;gap:clamp(2rem,5vw,5rem);max-width:1440px;margin:auto}.orientation .section-index{color:#476258}.orientation h2,.section-heading h2,.continue-section h2{margin:0;font:clamp(2.25rem,4.5vw,4.9rem)/.97 var(--serif);letter-spacing:-.045em}.orientation>div p{max-width:780px;font-size:1.08rem;color:#42534e}.orientation aside{align-self:end;padding:1.2rem 0;border-top:1px solid var(--ink)}.orientation aside strong,.orientation aside span{display:block}.orientation aside strong{margin-bottom:.5rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.orientation aside span{color:var(--muted);font-size:.88rem}
.explorer{background:var(--forest);color:#eef2ea}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:end;max-width:1440px;margin:0 auto 3rem}.section-heading h2{max-width:900px}.section-heading>p{margin:0;color:var(--muted)}.explorer-heading>p{color:#9eafa9}.stage-navigation{max-width:1440px;margin:0 auto 1rem}.stage-navigation label,.stage-navigation select{display:none}.stage-tabs{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid rgba(255,255,255,.16)}.stage-tabs button{min-height:68px;padding:.7rem;border:0;border-right:1px solid rgba(255,255,255,.16);background:transparent;color:#aebbb7;text-align:left;font-size:.77rem}.stage-tabs button:last-child{border-right:0}.stage-tabs button span{display:block;margin-bottom:.3rem;color:#68847b;font-size:.66rem}.stage-tabs button:hover,.stage-tabs button:focus-visible{background:#12352d;color:white;outline:2px solid var(--green);outline-offset:-2px}.stage-tabs button.is-active{background:var(--green);color:var(--forest)}.stage-tabs button.is-active span{color:#315642}.explorer-workbench{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(340px,.68fr);max-width:1440px;margin:auto;border:1px solid rgba(255,255,255,.16);background:#09231d}.tree-column{min-width:0;border-right:1px solid rgba(255,255,255,.16)}.tree-meta{display:flex;justify-content:space-between;padding:1rem 1.3rem;border-bottom:1px solid rgba(255,255,255,.12);color:#8fa39c;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.tree-frame{height:min(720px,72vw);min-height:520px;padding:1rem}.phylogeny{display:block;width:100%;height:100%;overflow:visible}.branch{stroke:#29433b;stroke-width:8;transition:stroke .3s,opacity .3s}.branch.side{stroke-width:5}.branch.is-active{stroke:var(--green)}.nodes circle{fill:#09231d;stroke:#547069;stroke-width:4;cursor:pointer;transition:.25s}.nodes circle:hover,.nodes circle:focus-visible{fill:var(--lime);stroke:white;outline:none}.nodes circle.is-active{fill:var(--green);stroke:#efffe8;filter:drop-shadow(0 0 10px rgba(121,222,139,.7))}.root-label text,.representative text{fill:#8fa39c;font:700 14px var(--sans);letter-spacing:.12em}.representative{cursor:pointer;opacity:.66;transition:opacity .25s,filter .25s}.representative circle{fill:#102f27;stroke:#42645a;stroke-width:4}.representative.is-active,.representative:hover{opacity:1}.representative.is-active circle{stroke:var(--green);stroke-width:7}.illustration-note{margin:0;padding:.65rem 1.3rem;border-top:1px solid rgba(255,255,255,.12);color:#718880;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.detail-panel{display:flex;flex-direction:column;min-width:0;padding:clamp(1.3rem,3vw,2.5rem)}.layer-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.18)}.layer-tabs button{padding:.75rem .2rem;border:0;border-bottom:3px solid transparent;background:transparent;color:#849a92;font-size:.72rem;text-transform:uppercase}.layer-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green)}.layer-tabs button:focus-visible{outline:2px solid var(--green)}.detail-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.detail-stage{margin:0 0 .8rem;color:var(--green);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.detail-panel h3{margin:0;font:clamp(2rem,3vw,3.7rem)/1 var(--serif);letter-spacing:-.035em}.active-summary{margin:1.2rem 0;color:#d9e2de;font-size:1.03rem}.breadcrumb{margin:0 0 1.5rem;color:#7fa093;font-size:.72rem}.layer-content{padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.layer-content span{color:var(--green);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.layer-content h4{margin:.3rem 0 .5rem;font:1.35rem var(--serif)}.layer-content p{margin:0;color:#acbbb6}.evidence-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0}.evidence-tags span{padding:.35rem .55rem;border:1px solid #3d5b51;color:#b8c7c2;font-size:.66rem}.limitation{display:flex;gap:.55rem;flex-direction:column;margin:0;padding:1rem;background:#102f27;color:#a9bbb5;font-size:.78rem}.limitation strong{color:var(--lime);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.stage-sources{margin:1rem 0;color:#8fa49d;font-size:.7rem}.stage-sources>strong{display:block;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.08em}.stage-sources div,.card-sources{display:flex;gap:.45rem;flex-wrap:wrap}.stage-sources a,.card-sources a{color:var(--green)}.previous-next{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:auto}.previous-next button{padding:.8rem;border:1px solid #355249;background:transparent;color:#dbe6e1;font-size:.72rem}.previous-next button:hover:not(:disabled),.previous-next button:focus-visible{border-color:var(--green);color:var(--green)}.previous-next button:disabled{opacity:.3;cursor:not-allowed}
.ecology-section,.comparison-section,.evidence-section{max-width:none}.ecology-section .section-heading,.comparison-section .section-heading,.evidence-section .section-heading{max-width:1440px}.ecology-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1440px;margin:auto;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.ecology-card{display:flex;flex-direction:column;min-height:410px;padding:clamp(1.4rem,3vw,2.5rem);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.ecology-card-top{display:flex;justify-content:space-between;color:#486159;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.card-label{margin:3rem 0 .4rem;color:#4f6c61;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.ecology-card h3{max-width:560px;margin:0 0 1rem;font:clamp(1.8rem,3vw,3rem)/1.03 var(--serif)}.ecology-card>p:not(.card-label){max-width:680px;color:#44544f}.card-boundary{display:flex;gap:.5rem;flex-direction:column;margin-top:auto!important;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem}.card-boundary strong{color:#3d6456;text-transform:uppercase;font-size:.65rem;letter-spacing:.09em}.card-sources{margin-top:.8rem;font-size:.7rem}.card-sources a{color:#245943}.comparison-section{background:var(--cream)}.table-shell{max-width:1440px;margin:auto;overflow-x:auto}.table-shell:focus-visible{outline:3px solid #2c7a59}.table-shell table{width:100%;min-width:920px;border-collapse:collapse}.table-shell caption{padding:0 0 1rem;text-align:left;color:var(--muted);font-size:.78rem}.table-shell th,.table-shell td{padding:1rem;border:1px solid rgba(16,35,31,.25);text-align:left;vertical-align:top;font-size:.85rem}.table-shell thead th{background:var(--forest);color:#eef3e9;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.table-shell tbody th{font-family:var(--serif);font-size:1rem}.evidence-section{background:#e3e8dd}.evidence-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,6vw,7rem);max-width:1440px;margin:auto}.evidence-layout h3{font:1.6rem var(--serif)}.glossary{border-top:1px solid var(--ink)}.glossary details{border-bottom:1px solid var(--line)}.glossary summary{display:flex;justify-content:space-between;padding:1rem 0;font-weight:700;cursor:pointer}.glossary details[open] summary span{transform:rotate(45deg)}.glossary p{margin:0;padding:0 0 1rem;color:var(--muted);font-size:.88rem}.source-list{margin:0;padding:0;list-style:none;counter-reset:sources}.source-list li{position:relative;padding:1rem 0 1rem 3rem;border-top:1px solid var(--line);counter-increment:sources}.source-list li:before{content:counter(sources,decimal-leading-zero);position:absolute;left:0;color:#497165;font-size:.7rem}.source-list a{font-family:var(--serif);font-size:1.05rem}.source-list span{display:block;color:#456257;font-size:.68rem}.source-list p{margin:.3rem 0;color:#3f514b;font-size:.8rem}.source-list small{display:block;color:#74817d}.continue-section{background:var(--green)}.continue-section h2{max-width:880px}.continue-section a{display:inline-block;margin-top:2rem;padding-bottom:.25rem;border-bottom:1px solid var(--ink);font-weight:750;text-decoration:none}footer{display:flex;justify-content:space-between;align-items:center;padding:2rem clamp(1.2rem,6vw,6rem);background:var(--forest);color:white}.footer-brand .brand-mark{width:2.2rem}footer p{color:#7f958e;font-size:.72rem}
@media(max-width:980px){.hero{min-height:760px}.orientation{grid-template-columns:1fr 2fr}.orientation aside{grid-column:2}.section-heading{grid-template-columns:1fr}.stage-tabs{overflow-x:auto;grid-template-columns:repeat(6,minmax(125px,1fr))}.explorer-workbench{grid-template-columns:1fr}.tree-column{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.tree-frame{height:min(700px,100vw)}.detail-panel{min-height:620px}.ecology-grid{grid-template-columns:1fr}.evidence-layout{grid-template-columns:1fr}}
@media(max-width:680px){.topbar{padding:1rem}.topbar-links a:first-child{display:none}.hero-content{min-height:620px;padding:5rem 1.2rem 3rem}.hero h1{font-size:clamp(2.85rem,14vw,4.2rem)}.hero-art{background-position:64% center}.hero-actions>span{width:100%}main>section{padding:4rem 1rem}.orientation{grid-template-columns:1fr;gap:1rem}.orientation aside{grid-column:1}.section-heading{gap:1.2rem;margin-bottom:2rem}.stage-navigation label{display:block;margin-bottom:.4rem;color:#9db0a9;font-size:.7rem;text-transform:uppercase}.stage-navigation select{display:block;width:100%;padding:.8rem;border:1px solid #49655c;background:#102f27;color:white}.stage-tabs{display:none}.explorer{padding-left:.75rem;padding-right:.75rem}.tree-frame{height:49svh;min-height:390px;padding:.25rem}.root-label text,.representative text{font-size:12px}.detail-panel{min-height:0;padding:1.2rem}.layer-tabs{margin-bottom:1.5rem}.detail-panel h3{font-size:2.3rem}.previous-next{margin-top:1rem}.ecology-card{min-height:390px}.ecology-card-top{gap:1rem}.evidence-layout{gap:3rem}footer{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Final accessibility calibration for the explorer controls and disclosures. */
.representative{cursor:default;opacity:.76}
.illustration-note{color:#aec0ba;font-size:.72rem}
.layer-tabs button{min-height:44px;color:#b0c0bb}
.breadcrumb{color:#abc1b8;font-size:.76rem}
.previous-next button{min-height:44px;border-color:#49685e;font-size:.75rem}
@media(max-width:980px){.detail-panel{min-height:0}}
@media(max-width:680px){.tree-frame{height:clamp(300px,49svh,430px);min-height:0}}
@media(max-width:680px) and (orientation:landscape){.tree-frame{height:300px}}

/* Progressive disclosure keeps the primary narrative uninterrupted. */
.stage-sources{margin:1rem 0;color:#a9bbb5;font-size:.72rem}
.stage-sources summary{width:max-content;max-width:100%;color:#b8cbc4;cursor:pointer;text-decoration:underline;text-underline-offset:.25rem}
.stage-sources[open] summary{margin-bottom:.65rem;color:var(--green)}
.stage-sources div{padding:.7rem 0;border-top:1px solid rgba(255,255,255,.14)}
.ecology-card{min-height:350px}
.card-sources{margin-top:auto;padding-top:1.2rem}

.mobile-tree-help{display:none}
@media(max-width:680px){
  .stage-navigation label{font-size:.78rem;color:#d2ded9}
  .stage-navigation select{min-height:48px;font-size:1rem}
  .mobile-tree-help{display:block;margin:.7rem 0;color:#b7c8c2;font-size:.82rem}
  .stage-tabs{display:flex;gap:.55rem;padding:.15rem 0 .7rem;overflow-x:auto;border:0;scroll-snap-type:x proximity;scrollbar-color:var(--green) #173b32}
  .stage-tabs button{flex:0 0 148px;min-height:58px;padding:.7rem .8rem;border:1px solid #4f6e64;border-radius:.25rem;scroll-snap-align:center;color:#d2dfda;font-size:.82rem}
  .stage-tabs button:last-child{border-right:1px solid #4f6e64}
  .stage-tabs button span{font-size:.72rem;color:#9db5ad}
  .stage-tabs button.is-active{border-color:var(--green);color:var(--forest)}
  .tree-frame{height:clamp(420px,58svh,560px);overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
  .nodes circle{r:19px;stroke-width:6}
  .root-label text,.representative text{font-size:20px;fill:#d1dfda;letter-spacing:.08em}
  .tree-meta{font-size:.76rem;color:#b9cbc4}
}
@media(max-width:680px) and (orientation:landscape){
  .tree-frame{height:360px}
}

.mobile-view-switch{display:none}
.open-sources{width:max-content;max-width:100%;margin:1rem 0;padding:.65rem 0;border:0;border-bottom:1px solid var(--green);background:transparent;color:var(--green);font-size:.75rem;text-align:left}
.sources-dialog{width:min(560px,calc(100% - 2rem));max-height:min(720px,calc(100svh - 2rem));padding:0;border:1px solid #527168;background:#0b2922;color:#edf4ef;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.sources-dialog::backdrop{background:rgba(2,12,10,.78);backdrop-filter:blur(3px)}
.dialog-heading{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem;background:#0b2922;border-bottom:1px solid #36554b}
.dialog-heading span{color:var(--green);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.dialog-heading h3{margin:.25rem 0 0;font:1.6rem var(--serif)}
.dialog-heading button{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid #557168;background:transparent;color:white;font-size:1.6rem}
.dialog-source-list{display:grid;gap:.7rem;padding:1.2rem;overflow:auto}
.dialog-source-list a{display:block;padding:1rem;border:1px solid #46645b;background:#10352c;color:#dff7e1;text-decoration:none;font-size:.85rem}
.dialog-source-list a:hover,.dialog-source-list a:focus-visible{border-color:var(--green);outline:2px solid var(--green)}
@media(max-width:680px){
  .mobile-view-switch{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:0 auto .65rem;border:1px solid #4d6b62}
  .mobile-view-switch button{min-height:48px;border:0;background:#102f27;color:#c1d0cb;font-weight:700}
  .mobile-view-switch button[aria-pressed=true]{background:var(--green);color:var(--forest)}
  .explorer-workbench{display:block;height:min(68svh,620px);min-height:440px;overflow:hidden}
  .explorer-workbench .tree-column{display:flex;height:100%;flex-direction:column;border:0}
  .explorer-workbench .tree-frame{flex:1;height:auto;min-height:0}
  .explorer-workbench .detail-panel{display:none;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .explorer-workbench.mobile-reading .tree-column{display:none}
  .explorer-workbench.mobile-reading .detail-panel{display:flex}
  .open-sources{min-height:44px}
}
@media(max-width:680px) and (orientation:landscape){
  .explorer-workbench{height:72svh;min-height:300px}
}

.dossier-dialog{width:min(720px,100%);max-height:88svh;margin:auto auto 0;padding:0;border:1px solid #55736a;border-bottom:0;border-radius:1.1rem 1.1rem 0 0;background:#f1f0e8;color:var(--ink);box-shadow:0 -24px 80px rgba(0,0,0,.5);overflow-y:auto}
.dossier-dialog::backdrop{background:rgba(2,12,10,.72);backdrop-filter:blur(3px)}
.dossier-handle{position:sticky;z-index:2;top:0;width:48px;height:5px;margin:.65rem auto 0;border-radius:10px;background:#8da098}
.dossier-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.2rem 0}
.dossier-heading p{margin:0;color:#3f6e5c;font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.dossier-heading button{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid #82958e;background:transparent;color:var(--ink);font-size:1.6rem}
.dossier-dialog>h3{margin:.6rem 1.2rem 0;font:clamp(2rem,8vw,3rem)/.98 var(--serif);letter-spacing:-.035em}
.dossier-summary{margin:1rem 1.2rem;color:#344740;font-size:1rem}
.dossier-lineage{margin:0 1.2rem 1.2rem;padding:.65rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#4d6d61;font-size:.73rem}
.dossier-grid{display:grid;gap:0;margin:0 1.2rem;border-top:1px solid var(--ink)}
.dossier-grid section{padding:1rem 0;border-bottom:1px solid var(--line)}
.dossier-grid span{color:#3f6e5c;font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.dossier-grid h4{margin:.25rem 0 .45rem;font:1.2rem var(--serif)}
.dossier-grid p{margin:0;color:#51615c;font-size:.86rem}
.dossier-sources{min-height:48px;margin:1.2rem;padding:.75rem 0;border:0;border-bottom:1px solid #256347;background:transparent;color:#255e45;font-weight:750}
@media(min-width:681px){.dossier-dialog{display:none}}

/* Mobile node dossier: a compatible full-screen subview, independent of <dialog>. */
[hidden]{display:none!important}
body.dossier-open{overflow:hidden;touch-action:none}
.dossier-screen{position:fixed;z-index:1000;inset:0;display:grid;grid-template-rows:minmax(280px,42svh) 1fr;background:var(--paper);color:var(--ink);overflow:hidden}
.dossier-visual{position:relative;min-height:0;overflow:hidden;background:var(--forest)}
.dossier-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.dossier-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,14,11,.08) 25%,rgba(2,14,11,.9) 100%)}
.dossier-visual>button{position:absolute;z-index:2;top:max(1rem,env(safe-area-inset-top));right:1rem;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(4,25,20,.72);color:white;font-size:1.7rem}
.dossier-identity{position:absolute;z-index:1;right:1.2rem;bottom:1.2rem;left:1.2rem;color:white}
.dossier-identity p{margin:0;color:var(--green);font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.dossier-identity h3{margin:.15rem 0;font:clamp(2.4rem,12vw,4.5rem)/.9 var(--serif);letter-spacing:-.04em}
.dossier-identity span{color:#cbd8d3;font-size:.72rem}
.dossier-content{min-height:0;padding:1.35rem 1.2rem calc(2rem + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--paper)}
.dossier-stage{margin:0;color:#39705a;font-size:.7rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.dossier-content>h2{margin:.45rem 0 .8rem;font:clamp(2rem,9vw,3.4rem)/.98 var(--serif);letter-spacing:-.04em}
.dossier-content .dossier-summary{margin:0 0 1rem;color:#344740;font-size:1rem}
.dossier-content .dossier-lineage{margin:0 0 1.2rem;padding:.7rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#4d6d61;font-size:.72rem}
.dossier-content .dossier-grid{margin:0}
.dossier-source-footer{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--ink)}
.dossier-source-footer>span{color:#3f6e5c;font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.dossier-source-footer>div{display:grid;gap:.55rem;margin-top:.65rem}
.dossier-source-footer a{display:block;padding:.8rem;border:1px solid #a1afa9;background:#e6e8df;color:#245942;font-size:.78rem;text-decoration:none}
.dossier-source-footer a:focus-visible{outline:3px solid #2b7455;outline-offset:2px}
@media(min-width:681px){.dossier-screen{display:none!important}}
@media(max-width:680px) and (orientation:landscape){.dossier-screen{grid-template-columns:42vw 1fr;grid-template-rows:1fr}.dossier-content{padding-top:1rem}}

/* One interaction convention: representative images open dossiers; nodes only mark branches. */
.nodes circle{pointer-events:none;cursor:default}
.representative{cursor:pointer}
.representative:focus-visible{outline:none}
.representative:focus-visible circle{stroke:var(--lime);stroke-width:8}
.dossier-identity h3 em{font-family:inherit;font-style:italic}
.dossier-identity h3{font-size:clamp(2.1rem,9.5vw,4.5rem);white-space:nowrap}
@media(max-width:680px){
  .representative circle{stroke-width:6}
  .representative.is-active circle{stroke-width:9}
}
