/* Canonical Animal Ethics; design isolated from shared site shell. */
@scope (#pw-animal-ethics){
/* Animal Ethics: A Living History — unified reading experience v1.5.
   Uses immutable Peaceful World DS v0.4 tokens; never touches global shell. */
:scope{color-scheme:light;scroll-behavior:smooth;--forest:#20392d;--sage:#66806b;--sage-pale:#eef2e9;--paper:#fafaf7;--warm:#f3f3ed;--rule:#e3e5dc}
:scope,:scope *{box-sizing:border-box}
[hidden]{display:none!important}
:scope{margin:0;background:var(--pw-bg,var(--paper));color:var(--pw-ink,#1e1f1c);font:16px/1.58 var(--pw-font-sans,Arial,sans-serif);-webkit-font-smoothing:antialiased}
:scope button,:scope input,:scope select{font:inherit}
:scope button{cursor:pointer}
a{color:inherit;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
:scope :focus-visible{outline:3px solid #7b987b;outline-offset:3px}
.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;top:-75px;left:15px;z-index:20;padding:12px 16px;background:#fff;color:#161c17}
.skip-link:focus{top:12px}
.masthead{background:var(--paper);border-bottom:1px solid var(--pw-line,#e7e3d9)}
.masthead-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;font-size:18px;letter-spacing:-.04em;font-weight:760;white-space:nowrap}
.brand span,.brand-dot{color:var(--sage)}
.header-meta{display:flex;align-items:center;gap:22px}
.preview-label,.kicker,.section-index,.filter-label,.dialog-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:760}
.preview-label{color:#6e7369}
.language-switch{display:flex;gap:3px;padding:4px;background:#e8eae3;border-radius:999px}
.language-switch button{min-height:38px;min-width:45px;border:0;border-radius:100px;background:transparent;color:#41463f;font-size:12px;font-weight:750}
.language-switch button[aria-pressed=true]{background:#1d2921;color:#fff}

.hero{background:linear-gradient(145deg,#fafaf7 0%,#fafaf7 63%,#f1f3ec 100%);border-bottom:1px solid var(--rule)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(275px,.7fr);gap:clamp(25px,4vw,60px);align-items:center;padding-top:42px;padding-bottom:48px}
.kicker{display:flex;align-items:center;gap:14px;margin:0 0 22px;color:#65796a}
.kicker-line{display:block;width:34px;height:1px;background:#90a594}
.hero h1{font-size:clamp(43px,4.65vw,64px);line-height:1.09;letter-spacing:-.018em;margin:0 0 20px;font-weight:730;max-width:690px}
.hero h1>span{display:block}
.hero h1 em{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.69em;letter-spacing:-.012em;font-weight:400;color:#6a7e6a;margin-top:12px;line-height:1.16}
.hero-lede{max-width:625px;margin:0 0 22px;font-size:clamp(16px,1.35vw,18px);line-height:1.6;color:#566356}
.hero-actions{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.action-primary{display:inline-flex;align-items:center;gap:23px;background:var(--forest);color:#fff;text-decoration:none;padding:12px 18px;border-radius:9px;font-weight:680;font-size:14px;min-height:48px}
.action-primary:hover{background:#345542}
.action-secondary,.underlined-link{font-weight:660;font-size:13px}
.hero-footnote{color:#6e776d;font-size:12px;margin:24px 0 0;max-width:550px}
.hero-panel{color:#f1f2e9;background:var(--forest);border-radius:16px;padding:24px;box-shadow:0 16px 40px rgba(24,43,29,.10);position:relative;overflow:hidden}
.hero-panel:before{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(216,229,215,.13);border-radius:100%;right:-142px;top:-134px;pointer-events:none}
.panel-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;color:#becabd;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;max-width:100%}
.panel-mark{font-size:21px;line-height:1;color:#d4d3a8}
.hero-counter{display:flex;align-items:baseline;gap:18px;margin:14px 0 24px}
.hero-counter strong{font-size:clamp(50px,6vw,74px);line-height:1;font-weight:650;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.hero-counter span{font-size:13px;line-height:1.3;max-width:100px;color:#c4cec1}
.panel-rule{height:1px;background:rgba(232,242,227,.18)}
.panel-message{font-size:14px;line-height:1.65;color:#e0e8dc;margin:17px 0 19px}
.panel-periods{display:flex;align-items:center;gap:10px;font:650 11px/1.4 var(--pw-font-sans,Arial,sans-serif);white-space:nowrap;color:#dce7d9}
.panel-line{height:1px;flex:1;background:#748d75;min-width:14px}
.panel-queue{border-top:1px solid rgba(232,242,227,.18);color:#bccbbb;font-size:12px;line-height:1.5;padding-top:17px;margin-top:24px}

.explorer{padding:46px 0 64px;scroll-margin-top:15px}
.explorer-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}
.explorer-copy{max-width:725px}
.section-index{color:#69806a;display:inline-block}
.explorer h2,.method h2{font-size:clamp(31px,3.7vw,47px);line-height:1.14;letter-spacing:var(--pw-track-heading,-.02em);font-weight:710;margin:10px 0 12px}
.explorer-copy p{max-width:645px;margin:0;color:#58635a;font-size:16px;line-height:1.67}
.view-switch{border:1px solid #dce0d5;border-radius:11px;display:flex;padding:4px;gap:3px;background:#f2f4ee;flex-shrink:0}
.view-switch button{min-height:42px;display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border:0;border-radius:8px;background:transparent;color:#576358;font-size:13px;font-weight:700}
.view-switch button[aria-pressed=true]{background:#fff;color:#20392d;box-shadow:0 1px 7px rgba(30,45,30,.1)}
.filter-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;padding:18px;background:#f0f2ed;border:1px solid #e1e5dd;border-radius:13px}
.filter-field{min-width:0;display:flex;flex-direction:column;gap:7px}
.search-field{grid-column:span 2}
.clear-filters{grid-column:span 2}
.filter-label{font-size:11px;color:#516155;letter-spacing:.04em}
.filter-field input,.filter-field select{height:46px;min-width:0;width:100%;border:1px solid #d9ded5;background:#fff;color:#26362a;border-radius:8px;font-size:14px;padding:0 12px}
.filter-field select{appearance:auto;padding-right:4px}
.filter-field input::placeholder{color:#7e887d}
.search-input-wrap{display:flex;align-items:center;position:relative}
.search-symbol{position:absolute;left:12px;font-size:24px;line-height:1;color:#7a8d7b;pointer-events:none}
.search-input-wrap input{padding-left:37px}
.clear-filters{height:46px;padding:0 11px;border:1px solid #cfd9cb;border-radius:8px;background:#fff;color:#48614c;font-size:12px;font-weight:730;white-space:nowrap}
.clear-filters:hover{background:#f9fdf7}
.result-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 0 15px}
.result-head p{margin:0}
#result-status{font-size:13px;font-weight:720;color:#324936}
.date-notice{font-size:12px;color:#757f73;text-align:right;max-width:435px}
.person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.person-card{background:#fff;border:1px solid #dde3d8;border-radius:13px;display:flex;flex-direction:column;min-width:0;min-height:275px;padding:23px;box-shadow:0 6px 15px rgba(30,44,29,.025)}
.person-card:hover{border-color:#b5c4b4;box-shadow:0 10px 23px rgba(35,55,39,.06)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-date{font-size:11px;font-weight:750;color:#67806c}
.card-region{font-size:10px;color:#6f7a70;text-align:right;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:53%}
.card-identity{display:flex;align-items:flex-start;gap:13px;margin:16px 0 11px}
.avatar{flex:0 0 66px;width:66px;height:78px;display:grid;place-items:center;border-radius:9px;background:#e9eee5;color:#54735a;font:italic 29px/1 Georgia,"Times New Roman",serif;overflow:hidden}
.avatar--photo img{width:100%;height:100%;display:block;object-fit:cover}
.card-title{font-size:20px;letter-spacing:normal;line-height:1.25;font-weight:730;margin:0;overflow-wrap:anywhere}
.card-role{font-size:13px;line-height:1.5;color:#657264;margin:5px 0 0}
.card-summary{font-size:15px;line-height:1.58;color:#4c594f;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #e9ede6;margin-top:auto;padding-top:14px}
.card-evidence{color:#667566;font-size:12px;line-height:1.4}
.card-open{border:0;background:transparent;color:#305c3a;font-size:13px;font-weight:760;text-align:right;padding:8px 1px;min-height:40px}
.card-open:hover{text-decoration:underline}
.card-identity .name-wrap{min-width:0}
.more-wrap{text-align:center;padding:35px 0 0}
.more-button{background:#fff;color:#284531;border:1px solid #b8c9b7;border-radius:9px;min-height:48px;padding:11px 22px;font-size:14px;font-weight:740}
.more-button span:last-child{margin-left:12px}
.more-button:hover{background:#f0f6ee}
#shown-count{color:#717c70;font-size:12px;margin:11px 0}
.noscript-note{font-size:14px;color:#596859;background:#f1f4ef;padding:14px;border-radius:9px}
.empty-state{padding:64px 20px;background:#f4f6f0;border:1px solid #e0e6dc;border-radius:12px;text-align:center}
.empty-state h3{font-size:23px;margin:0 0 8px}
.empty-state p{color:#656f65;margin:0}

/* Secondary mode: curated chapters, with progressive disclosure. */
.period-groups{display:grid;gap:12px}
.period-group{background:#fff;border:1px solid #dae1d8;border-radius:11px;overflow:hidden}
.period-group summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.period-group summary::-webkit-details-marker{display:none}
.period-group summary:hover{background:#f6f8f4}
.period-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.period-heading strong{font-size:21px;letter-spacing:-.02em;line-height:1.3}
.period-heading small{font-size:12px;color:#748273}
.period-toggle{border:1px solid #dce4d9;border-radius:99px;width:32px;height:32px;display:grid;place-items:center;font-size:22px;line-height:1;color:#526d56}
.period-group[open] .period-toggle{transform:rotate(45deg)}
.period-content{border-top:1px solid #e5ebe2;padding:16px 22px 23px}
.period-note{font-size:12px;color:#7d8779;margin:0 0 18px}
.event-list{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:10px 15px;padding-left:23px;border-left:2px solid #cddacf}
.event-item{display:flex;gap:14px;min-width:0;align-items:flex-start;padding:12px 13px;border:1px solid #e0e7dc;border-radius:8px;background:#fafbf8;position:relative}
.event-item:before{content:"";position:absolute;left:-30px;top:21px;width:10px;height:10px;border:2px solid #fafbf8;background:#809e84;border-radius:50%;box-shadow:0 0 0 1px #94ae96}
.event-date{flex:0 0 80px;color:#67816a;font-size:12px;line-height:1.5;font-weight:750}
.event-button{padding:0;border:0;background:none;text-align:left;min-width:0;color:#26392a}
.event-button strong{font-size:14px;line-height:1.35;display:block;font-weight:740}
.event-button small{font-size:12px;line-height:1.45;display:block;color:#6b756a;margin-top:4px}
.event-button:hover strong{text-decoration:underline}
.period-empty{font-size:13px;color:#768075;margin:0}

.method{background:#eef1eb;padding:62px 0 72px;border-top:1px solid #e1e7dd}
.method-layout{display:grid;grid-template-columns:145px minmax(0,1fr) 250px;gap:38px;align-items:start}
.method-legend{display:flex;flex-direction:column;gap:26px}
.method-orbit{font:normal 70px/1 Georgia,serif;color:#91a493}
.method-copy h2{margin-top:0;max-width:690px}
.method-copy p{font-size:16px;color:#556356;line-height:1.75;margin:0 0 21px}
.method-footnote{border-left:2px solid #cbd9cc;padding:8px 0 7px 18px}
.method-footnote>span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:760;color:#667d69}
.method-footnote p{margin:12px 0 0;color:#657268;font-size:13px;line-height:1.65}
.footer{background:#203328;color:#e4e9e1;padding:24px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.footer-inner>span{font-size:15px;font-weight:750}
.footer p{font-size:12px;color:#c4d0c4;margin:0}
.footer a{font-size:12px;color:#e5efe3}

/* One source-linked dossier; stable keyboard navigation via native dialog. */
.dossier-dialog{color:#243026;border:1px solid #d4e0d1;border-radius:15px;padding:0;width:min(760px,calc(100% - 30px));max-height:min(90dvh,920px);overflow:hidden;background:#fff;box-shadow:0 25px 85px rgba(12,25,15,.24)}
.dossier-dialog[open]{display:flex;flex-direction:column}
.dossier-dialog::backdrop{background:rgba(13,29,20,.62);backdrop-filter:blur(2px)}
.dialog-header{flex:0 0 auto;background:#f8faf5;border-bottom:1px solid #e0e9de;padding:10px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px}
.dialog-header-main{min-width:0;flex:1}
.dialog-context{display:none;font-size:14px;line-height:1.3;font-weight:740;color:#25412f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dossier-dialog[data-scrolled="true"] .dialog-context{display:block}
.dossier-dialog[data-scrolled="true"] .dialog-kicker{display:none}
.dialog-kicker{color:#6f8670}
.close-dialog{flex:0 0 40px;border:1px solid #d2ddd1;background:#fff;color:#1c3323;border-radius:9px;width:40px;height:40px;font-size:27px;line-height:1}
.close-dialog:hover{background:#eef4ea}
.dossier-content{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#acbcaa transparent;padding:26px 34px 38px}
.dossier-date{font-size:12px;font-weight:760;color:#6b806b;margin:0 0 14px}
.dossier-content h2{font-size:clamp(30px,5vw,42px);line-height:1.13;letter-spacing:-.025em;margin:0 0 11px}
.dossier-role{font-size:15px;color:#6a786a;margin:0 0 24px}
.dossier-summary{font-size:16px;color:#344738;line-height:1.76;margin:0 0 24px}
.dossier-block{border-top:1px solid #e3e9e0;padding-top:20px;margin-top:20px}
.dossier-block h3{font-size:15px;letter-spacing:.02em;margin:0 0 10px}
.dossier-block p{color:#59675b;font-size:14px;line-height:1.73;margin:0}
.dossier-block ul{padding-left:18px;margin:12px 0 0;display:grid;gap:12px}
.dossier-block li{font-size:14px;color:#4c6151;line-height:1.55;overflow-wrap:anywhere}
.dossier-block a{color:#214d30;font-weight:660}
.dossier-block small{color:#596f5d;display:block;margin-top:5px;font-size:13px;line-height:1.5}
.dossier-quote{background:#f2f5ee;border-left:3px solid #9cb49b;padding:14px 17px;margin:14px 0 0;font-size:15px;line-height:1.7}
.dossier-quote cite{display:block;margin-top:9px;font-style:normal;font-size:12px}
.dialog-hint{font-size:12px;color:#718171;margin:20px 0 0}

@media(max-width:1100px){
  .filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-field{grid-column:1/-1}
  .clear-filters{grid-column:1/-1;justify-self:stretch;padding-inline:19px}
  .method-layout{grid-template-columns:110px minmax(0,1fr) 230px;gap:22px}
}
@media(max-width:820px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(235px,.8fr);gap:26px;padding-top:37px;padding-bottom:40px}
  .hero h1{font-size:clamp(37px,5vw,50px)}
  .hero-panel{padding:20px}
   .person-grid{grid-template-columns:1fr}
  .filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-field{grid-column:1/-1}
  .clear-filters{grid-column:1/-1;justify-self:stretch}
  .method-layout{grid-template-columns:90px 1fr;gap:18px}
  .method-footnote{grid-column:2}
  .explorer-head{align-items:start;flex-direction:column}
}
@media(max-width:600px){
  .shell{width:calc(100% - 32px)}
  .masthead-inner{min-height:64px}
  .preview-label{display:none}
  .header-meta{gap:8px}
  .hero-inner{display:block;padding-top:32px;padding-bottom:38px}
  .hero h1{font-size:clamp(36px,8.8vw,48px);max-width:580px}
  .hero h1 em{font-size:.67em}
  .hero-lede{font-size:17px}
  .hero-panel{margin-top:25px;padding:17px 20px}
  .hero-counter{margin:10px 0 0}
  .hero-counter strong{font-size:47px}
  .panel-rule,.panel-message,.panel-periods,.panel-queue{display:none}
  .hero-counter strong{font-size:55px}
  .hero-actions{gap:16px}
  .explorer{padding:34px 0 52px}
  .explorer-copy p{font-size:15px}
  .view-switch{align-self:stretch}
  .view-switch button{flex:1;justify-content:center}
  .filter-panel{padding:13px;gap:11px}
  .filter-field{grid-column:1/-1}
  .clear-filters{grid-column:1/-1}
  .result-head{align-items:start;flex-direction:column;gap:5px}
  .date-notice{text-align:left}
  .person-grid{grid-template-columns:1fr}
  .person-card{min-height:248px}
  .period-group summary{padding:16px}
  .period-content{padding:15px}
  .event-list{grid-template-columns:1fr;padding-left:13px}
  .event-item:before{left:-20px}
  .event-date{flex-basis:88px}
  .method{padding:51px 0}
  .method-layout{display:block}
  .method-orbit{display:none}
  .method-copy{margin-top:17px}
  .method-footnote{margin-top:28px}
  .footer-inner{flex-wrap:wrap}
  .footer p{order:3;width:100%}
  .dossier-content{padding:22px 18px 30px}
}
@media(max-width:350px){
  .hero h1{font-size:36px}
  .event-date{flex:0 0 70px}
  .event-item{padding:11px}
  .card-identity{gap:9px}
  .panel-periods{gap:6px}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* v1.3 — one atlas, typed records: people, texts, traditions, inscriptions.
   The records share the same responsive grid and the same chronology. */
.panel-breakdown{margin:0 0 16px;color:#d1decf;font-size:12px;line-height:1.5}
.card-top-label{display:flex;gap:9px;align-items:center;flex-wrap:wrap;min-width:0}
.card-kind{display:inline-flex;align-items:center;gap:5px;color:#4d6a56;background:#edf2e9;
  border-radius:99px;font-size:10px;font-weight:770;letter-spacing:.015em;padding:4px 8px;line-height:1.2}
.card-kind--source{background:#eaf1eb;color:#27543c}
.person-card--source{background:#fafbf8;border-color:#cbdaca}
.person-card--source:hover{background:#f9fcf7}
.card-source-date{margin:13px 0 0;color:#56715b;font-size:12px;font-weight:690;line-height:1.4;
  max-height:3em;overflow:hidden}
.avatar--source{background:#e4eee2;color:#3d6349;font-size:25px;font-style:normal}
.event-kind{display:inline-block;margin-bottom:5px;color:#54795b;background:#eef4ea;border-radius:99px;
  font-size:10px;line-height:1.3;font-weight:740;padding:3px 8px}
.event-item--source{background:#f5f9f4;border-color:#ccddca}
.event-item--source:before{background:#42734e}
.event-item--source .event-date{flex:0 1 260px;min-width:0;overflow-wrap:anywhere;font-size:11px;line-height:1.5}
.dossier-origin-type{display:inline-block;margin:0 0 13px;padding:5px 9px;background:#edf3e9;color:#45674b;
  border-radius:99px;font-size:11px;font-weight:760}
.dossier-evidence{color:#3c5741;font-size:14px;line-height:1.72}
@media(max-width:600px){
  .person-card--source{min-height:250px}
  .event-item--source{display:flex;flex-direction:column;gap:8px}
  .event-item--source .event-date{flex:initial;width:100%}
  .panel-breakdown{font-size:11px;margin:5px 0 0}
  .hero-panel{padding-bottom:17px}
}

}
#pw-animal-ethics .pw-animal-static-entry details{margin-top:12px}#pw-animal-ethics .pw-animal-static-entry details a{color:#214d30}#pw-animal-ethics [id]{scroll-margin-top:100px}
