/* Page structure (three parts) and a restrained palette of low-saturation tints */
:root{--tone-sand:#f2eee7;--tone-sand-line:#ddd5c8;--tone-sage:#e9ece4;--tone-sage-line:#cfd6c7;--tone-mist:#e7ebef;--tone-mist-line:#cbd3db;--tone-clay:#f1e8e3;--tone-clay-line:#dfcdc4;--tone-lilac:#ece9ef;--tone-lilac-line:#d4cfdb}
.tone-sand{--tone:var(--tone-sand);--tone-line:var(--tone-sand-line)}
.tone-sage{--tone:var(--tone-sage);--tone-line:var(--tone-sage-line)}
.tone-mist{--tone:var(--tone-mist);--tone-line:var(--tone-mist-line)}
.tone-clay{--tone:var(--tone-clay);--tone-line:var(--tone-clay-line)}
.tone-lilac{--tone:var(--tone-lilac);--tone-line:var(--tone-lilac-line)}

/* navigation pills: each chapter keeps its own quiet tint */
.journal-head nav>a[class*=tone-]{background:var(--tone);border-color:var(--tone-line)}
.journal-head nav>a[class*=tone-]:hover,.journal-head nav>a[class*=tone-][aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}

/* part dividers: full-width tinted bands, strictly aligned to the page grid */
.part-divider{display:grid;grid-template-columns:160px minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start;margin:64px 0 0;padding:44px 0 42px;background:var(--tone);box-shadow:0 0 0 100vmax var(--tone);clip-path:inset(0 -100vmax);scroll-margin-top:90px}
.part-num{margin:0;font:12px var(--mono);letter-spacing:2px;color:var(--muted);padding-top:10px}
.part-main h2{margin:0;font:400 clamp(32px,3.6vw,52px)/1.1 var(--sans);letter-spacing:-.5px}
.part-main h2 span{display:block;margin-top:10px;font:12px var(--mono);letter-spacing:2px;color:var(--muted)}
.part-main p{margin:18px 0 0;max-width:560px;font:15px/1.9 var(--sans);color:#3b3b38}
.part-toc{list-style:none;margin:0;padding:0;border-top:1px solid var(--tone-line)}
.part-toc li{border-bottom:1px solid var(--tone-line)}
.part-toc a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;padding:12px 0;font:14px var(--sans);color:var(--ink)}
.part-toc a::after{content:"↓";font:13px var(--mono);color:var(--muted)}
.part-toc a:hover{color:var(--orange)}
.part-toc b{font:400 12px var(--mono);color:var(--muted)}

/* species file */
.species-file{padding:48px 0 20px;scroll-margin-top:90px}
.sf-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:start}
.sf-photo{margin:0}
.sf-photo button{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.sf-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.sf-photo button span{position:absolute;right:10px;bottom:10px;background:#fffffff0;padding:6px 10px;font:12px var(--sans)}
.sf-photo figcaption{margin-top:10px;font:11px var(--mono);color:var(--muted)}
.sf-kicker{margin:0;font:12px var(--mono);letter-spacing:2px;color:var(--orange)}
.sf-id h2{margin:14px 0 6px;font:400 clamp(44px,5vw,72px)/1 var(--mono);letter-spacing:-2px}
.sf-latin{margin:0;font:14px var(--mono);color:var(--muted)}
.sf-lede{margin:22px 0 0;font:16px/1.9 var(--sans);max-width:520px}
.sf-table{margin:24px 0 0;padding:6px 18px;background:var(--tone-sand);border:1px solid var(--tone-sand-line)}
.sf-table>div{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--tone-sand-line)}
.sf-table>div:last-child{border-bottom:0}
.sf-table dt{font:12px var(--mono);color:var(--muted)}
.sf-table dd{margin:0;font:14px/1.7 var(--sans)}
.sf-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.sf-facts article{padding:22px 22px 24px;background:var(--tone);border:1px solid var(--tone-line)}
.sf-facts b{font:400 12px var(--mono);color:var(--muted)}
.sf-facts h3{margin:12px 0 10px;font:500 19px/1.4 var(--sans)}
.sf-facts p{margin:0;font:13px/1.8 var(--sans);color:#4a4a47}
.sf-mini{position:relative;aspect-ratio:16/9;overflow:hidden;margin:4px 0 12px;border:1px solid var(--tone-line);background:#fff}
.sf-mini-inner{position:absolute;left:0;top:0;width:216%;aspect-ratio:1080/1020;transform:translate(-16.7%,-42.5%)}
.sf-mini-inner img{position:absolute;inset:0;width:100%;height:100%}
.sf-mini-range{position:absolute;inset:0;background:#527e9b;-webkit-mask:url(assets/dossier/range-tilcayo.png) center/100% 100% no-repeat;mask:url(assets/dossier/range-tilcayo.png) center/100% 100% no-repeat}
.sf-mini-pin{position:absolute;left:35.9%;top:59.3%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #ffffffcc}
.sf-mini-pin::after{content:"";position:absolute;inset:-6px;border:1px solid var(--orange);border-radius:50%;animation:sf-ping 2s ease-out infinite}
.sf-next{display:inline-block;margin-top:32px;border-bottom:1px solid var(--ink);padding-bottom:3px;font:14px var(--sans)}
@keyframes sf-ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}

/* canvas copy of the films (see video-mirror.js) */
.video-mirror{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;visibility:hidden}
.video-mirror.is-on{visibility:visible}

/* quiet tints on existing block areas */
.cabinet-footer{background:var(--tone-sand);box-shadow:0 0 0 100vmax var(--tone-sand);clip-path:inset(0 -100vmax);padding-top:34px;padding-bottom:34px}
.lineage-bridge{background:var(--tone-mist);box-shadow:0 0 0 100vmax var(--tone-mist);clip-path:inset(0 -100vmax);border-top:0!important}
.lineage-bridge button{background:transparent!important}
.evidence-strip details{padding:18px 20px!important;border:1px solid var(--tone-line)!important}
.evidence-strip details:nth-child(1){--tone:var(--tone-clay);--tone-line:var(--tone-clay-line);background:var(--tone)}
.evidence-strip details:nth-child(2){--tone:var(--tone-mist);--tone-line:var(--tone-mist-line);background:var(--tone)}
.evidence-strip details:nth-child(3){--tone:var(--tone-sage);--tone-line:var(--tone-sage-line);background:var(--tone)}
.evidence-section{scroll-margin-top:90px}

@media (max-width:1000px){
 .part-divider{grid-template-columns:1fr;gap:18px}
 .sf-grid{grid-template-columns:1fr;gap:28px}
 .sf-facts{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){.sf-facts{grid-template-columns:1fr}.part-divider{padding:32px 0}}
@media (prefers-reduced-motion:reduce){.sf-mini-pin::after{animation:none}}

.part-divider+.cat-planet{margin-top:0}
