/* Shared cat dossiers: rich information, revealed in small, readable layers. */
.cats-editorial .cat-preview-notice { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; width: min(1240px,calc(100% - 80px)); margin: 28px auto 0; padding: 17px 22px; border: 1px solid #dfbb86; border-radius: 18px; background: #fff0d9; color: #69451f; font: 400 14px/1.65 'DM Sans',ui-sans-serif,system-ui,sans-serif; }
.cats-editorial .cat-preview-notice strong { font-weight: 800; }
.cats-editorial .cat-preview-notice a { margin-left: auto; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cats-editorial .cat-preview-notice a:focus-visible { outline: 3px solid #ff8b17; outline-offset: 4px; }
.cats-editorial .cat-preview-notice + .cat-dossier .cat-dossier-hero { padding-top: 32px; }
.cats-editorial:has(.cat-preview-notice) .cat-dossier-save { display: none; }
.cats-editorial .cat-dossier {
  --dossier-cream: #faf7ef;
  --dossier-paper: #fffdf8;
  --dossier-ink: #14312e;
  --dossier-muted: #526c60;
  --dossier-teal: #08766c;
  --dossier-orange: #ff8b17;
  color: var(--dossier-ink);
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  width: 100%; min-width: 0; isolation: isolate;
}
.cat-dossier *, .cat-dossier *::before, .cat-dossier *::after { box-sizing: border-box; }
.cat-dossier :is(h1,h2,h3,p,dl,figure) { margin: 0; }
.cat-dossier :is(h1,h2,h3) { font-family: 'Nunito',ui-sans-serif,system-ui,sans-serif; }
.cat-dossier :is(a,button,summary):focus-visible { outline: 3px solid var(--dossier-orange); outline-offset: 5px; }
.cat-dossier :is(button,a,summary) { -webkit-tap-highlight-color: transparent; }
.cat-dossier svg { width: 20px; height: 20px; flex-shrink: 0; }
.cat-dossier .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cat-dossier [id] { scroll-margin-top: 115px; }
.cat-dossier-hero { padding: 42px 0 36px; position: relative; }
.cat-dossier-hero::before { content: ''; position: absolute; inset: 4% 0 6% 40%; z-index: -1; pointer-events: none; background: radial-gradient(ellipse,#dfeada88 0%,#faf7ef00 68%); }
.cat-dossier-hero-inner { width: min(1240px,calc(100% - 80px)); margin-inline: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.98fr); gap: clamp(36px,5vw,80px); align-items: center; }
.cat-dossier-hero-copy { min-width: 0; position: relative; z-index: 1; }
.cat-dossier .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; max-width: 100%; margin-bottom: 30px; color: var(--dossier-muted); font-size: 13px; line-height: 1.6; }
.cat-dossier .breadcrumbs strong { font-weight: 600; }
.cat-dossier .breadcrumbs a:hover { color: var(--dossier-teal); text-decoration: underline; text-underline-offset: 3px; }
.cat-dossier .cat-dossier-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--dossier-teal); text-transform: uppercase; font-weight: 800; letter-spacing: .12em; font-size: 12px; margin-bottom: 16px; }
.cat-dossier .cat-dossier-kicker::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--dossier-orange); }
/* PageHeadings adds .page-title with !important defaults to every public H1. */
.cats-editorial .cat-dossier h1#cat-profile-title { color: var(--dossier-ink); font-family: 'Nunito',ui-sans-serif,system-ui,sans-serif !important; font-size: clamp(54px,6.7vw,96px) !important; line-height: .99 !important; letter-spacing: -.06em !important; font-weight: 900 !important; max-width: 680px; overflow-wrap: anywhere; }
.cat-dossier .cat-dossier-scientific { color: var(--dossier-muted); font-size: 15px; font-style: italic; margin: 17px 0 24px; }
.cat-dossier .cat-dossier-scientific:empty { display: none; }
.cat-dossier .cat-dossier-hero-intro { color: var(--dossier-ink); font-size: 17px; line-height: 1.8; max-width: 550px; text-wrap: pretty; }
.cat-dossier-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.cat-dossier :is(.cat-dossier-explore,.cat-dossier-save) { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 15px 23px; min-height: 49px; border-radius: 99px; border: 1px solid transparent; font: 700 14px/1.35 'DM Sans',ui-sans-serif,system-ui,sans-serif; cursor: pointer; transition: background .18s,color .18s,transform .18s; }
.cat-dossier .cat-dossier-explore { background: var(--dossier-ink); color: #fffdf8; }
.cat-dossier .cat-dossier-explore:hover { background: var(--dossier-teal); }
.cat-dossier .cat-dossier-save { background: transparent; border-color: #14312e26; color: var(--dossier-ink); }
.cat-dossier .cat-dossier-save:hover, .cat-dossier .cat-dossier-save[aria-pressed=true] { background: #e7eee3; border-color: #08766c55; color: var(--dossier-teal); }
.cat-dossier-save[aria-pressed=true] svg { fill: #08766c19; }
.cat-dossier-hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; color: var(--dossier-muted); }
.cat-dossier-reviewed { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; }
.cat-dossier-reviewed svg { width: 17px; height: 17px; }
.cat-dossier-hero-media { position: relative; width: 100%; max-width: 560px; justify-self: end; margin: 16px 0 14px !important; }
.cat-dossier-hero-media::before { content: ''; position: absolute; inset: 2% -3% auto 2%; aspect-ratio: 1 / 1.06; border: 1px solid #08766c45; transform: rotate(6deg); border-radius: 46% 46% 24% 23%; pointer-events: none; }
.cat-dossier-hero-media::after { content: '✦'; position: absolute; right: -2%; top: 3%; font-size: 65px; line-height: 1; color: var(--dossier-orange); transform: rotate(13deg); pointer-events: none; }
.cat-dossier-photo { width: 100%; aspect-ratio: 1 / 1.06; border-radius: 46% 46% 24% 23%; overflow: hidden; background: #dce9d8; transform: rotate(-2deg); }
.cat-dossier-photo > :is(img,picture), .cat-dossier-photo picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cat-dossier-photo > :is(img,picture) { transform: scale(1.035) rotate(2deg); }
.cat-dossier-photo-caption { display: grid; gap: 10px; position: relative; margin-top: 1px; text-align: right; }
.cat-dossier-photo-note { display: block; transform: rotate(-4deg); font: 600 clamp(26px,2.5vw,36px)/1.15 'Caveat',cursive; color: var(--dossier-teal); }
.cat-dossier-photo-credit { display: block; max-width: 100%; font-size: 12px; line-height: 1.5; color: var(--dossier-muted); overflow-wrap: anywhere; }
.cat-dossier-photo-credit a { text-decoration: underline; text-underline-offset: 3px; }
.cat-dossier-photo-credit:empty { display: none; }
.cat-dossier-hero-media .ai-badge-overlay { top: auto; right: 14%; bottom: 10%; }
.cat-dossier-facts-wrap { width: min(1240px,calc(100% - 80px)); margin: 34px auto 0; }
.cat-dossier-facts-wrap:empty { display: none; }
.cat-dossier-quickfacts { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 13px; }
.cat-dossier-quickfact { position: relative; border-radius: 22px; background: #ece7d9; padding: 23px 22px 22px 63px; min-width: 0; }
.cat-dossier-quickfact:nth-child(2n) { background: #e8eee1; }
.cat-dossier-quickfact:nth-child(3n) { background: #ffead0; }
.cat-dossier-quickfact > :is(i,svg) { position: absolute; top: 27px; left: 24px; color: var(--dossier-teal); width: 23px; height: 23px; }
.cat-dossier-quickfact dt { font-size: 12px; letter-spacing: .03em; color: var(--dossier-muted); font-weight: 600; margin-bottom: 5px; }
.cat-dossier-quickfact dd { margin: 0; font: 900 clamp(19px,1.9vw,25px)/1.3 'Nunito',ui-sans-serif,system-ui,sans-serif; color: var(--dossier-ink); overflow-wrap: anywhere; }
.cat-dossier-layout { width: min(1240px,calc(100% - 80px)); display: grid; grid-template-columns: 185px minmax(0,1fr); gap: clamp(35px,5vw,72px); margin: 55px auto 90px; align-items: start; }
.cats-editorial .cat-dossier-tabbar { position: sticky; top: 115px; max-height: calc(100dvh - 140px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 0 6px 20px 0; border: 0; background: transparent; box-shadow: none; }
.cats-editorial .cat-dossier-tabbar .cat-dossier-nav { display: grid; gap: 4px; padding-top: 0; width: 100%; }
.cats-editorial .cat-dossier-nav a { display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%; min-height: 45px; padding: 11px 13px; border: 0; border-radius: 13px; color: var(--dossier-muted); background: transparent; font-size: 13px; line-height: 1.4; font-weight: 600; white-space: normal; box-shadow: none; }
.cats-editorial .cat-dossier-nav a :is(i,svg) { width: 16px; height: 16px; flex-shrink: 0; }
.cats-editorial .cat-dossier-nav a:hover { color: #08766c; background: #e8eee1; }
.cats-editorial .cat-dossier-nav a.active { color: #fffdf8; background: #08766c; }
.cat-dossier-content { min-width: 0; }
.cat-dossier-section { margin-bottom: 60px; padding-top: 10px; }
.cat-dossier-section-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 25px; }
.cat-dossier-section-heading > div { min-width: 0; }
.cat-dossier-section-icon { display: grid; place-items: center; flex: 0 0 50px; width: 50px; height: 50px; color: var(--dossier-teal); border-radius: 19px 15px 21px 14px; background: #e4ecdc; transform: rotate(-6deg); }
.cat-dossier-section-icon svg { transform: rotate(6deg); width: 24px; height: 24px; }
.cat-dossier .cat-dossier-overline { color: var(--dossier-muted); font-size: 13px; line-height: 1.4; margin-bottom: 5px; }
.cats-editorial .cat-dossier-section h2 { font-family: 'Nunito',ui-sans-serif,system-ui,sans-serif !important; font-size: clamp(28px,2.8vw,39px); font-weight: 900; line-height: 1.13; color: var(--dossier-ink); letter-spacing: -.04em; }
.cat-dossier :is(h2,h3) { overflow-wrap: anywhere; hyphens: auto; }
.cat-dossier-section-number { margin-left: auto; color: #b9c9ae; font: 700 42px/1 'Caveat',cursive; flex-shrink: 0; transform: rotate(-7deg); }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) { font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) :is(p,ul,ol,blockquote) { margin: 0 0 14px; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) :last-child { margin-bottom: 0; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) :is(ul,ol) { padding-left: 20px; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) li + li { margin-top: 7px; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) a { color: var(--dossier-teal); text-decoration: underline; text-decoration-color: #08766c55; text-underline-offset: 3px; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) :is(h2,h3,h4) { color: var(--dossier-ink); font-weight: 800; font-size: 18px; margin: 23px 0 9px; }
.cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) table { width: 100%; table-layout: fixed; font-size: 12px; }
.cat-dossier-read-more { margin-top: 15px; padding-top: 4px; }
.cat-dossier-read-more > summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: 48px; padding: 12px 0; list-style: none; border-top: 1px solid #14312e20; color: var(--dossier-teal); font-size: 14px; font-weight: 700; cursor: pointer; }
.cat-dossier-read-more > summary > span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: #e8eee1; font: 400 23px/1 'DM Sans',sans-serif; }
.cat-dossier-read-more > summary::-webkit-details-marker { display: none; }
.cat-dossier-read-more[open] > summary { margin-bottom: 9px; }
.cat-dossier-curiosity { display: flex; gap: 17px; background: #ffe9ca; border-radius: 28px 22px 31px 19px; padding: 28px 31px; margin-top: 30px; transform: rotate(-.6deg); }
.cat-dossier-curiosity > :is(i,svg) { color: #bd6410; flex: 0 0 21px; margin-top: 6px; }
.cat-dossier-curiosity > div { min-width: 0; }
.cat-dossier-curiosity p { font-size: 16px; line-height: 1.8; }
.cat-dossier-curiosity .cat-dossier-handwritten { font: 600 34px/1.1 'Caveat',cursive; color: #80531f; margin-bottom: 10px; }
.cat-dossier-fact-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; border: 1px solid #14312e1b; border-radius: 24px; padding: 8px 24px; background: #fffdf878; margin-bottom: 19px !important; }
.cat-dossier-fact-row { min-width: 0; padding: 16px 0; border-bottom: 1px solid #14312e1b; }
.cat-dossier-fact-row:last-child { border-bottom: 0; }
.cat-dossier-fact-row dt { font-size: 13px; font-weight: 600; color: var(--dossier-muted); margin-bottom: 6px; }
.cat-dossier-fact-row dd { font-size: 16px; line-height: 1.7; margin: 0; color: var(--dossier-ink); overflow-wrap: anywhere; }
.cat-dossier-fact-row dd ul { margin: 0; padding-left: 17px; }
.cat-dossier-details { display: grid; gap: 16px; }
.cat-dossier-detail { min-width: 0; border: 1px solid #14312e1b; border-radius: 23px; background: var(--dossier-paper); overflow: clip; }
.cat-dossier-detail > summary { display: flex; gap: 20px; align-items: flex-start; padding: 24px 27px; min-height: 71px; cursor: pointer; list-style: none; }
.cat-dossier-detail > summary::-webkit-details-marker { display: none; }
.cat-dossier-detail-copy { display: block; min-width: 0; flex: 1; }
.cat-dossier-detail-copy strong { display: block; font-family: 'Nunito',ui-sans-serif,system-ui,sans-serif; font-size: 21px; line-height: 1.3; font-weight: 800; color: var(--dossier-ink); letter-spacing: -.02em; }
.cat-dossier-detail-preview { display: block; color: var(--dossier-muted); margin-top: 9px; font-size: 15px; line-height: 1.75; }
.cat-dossier-detail[open] .cat-dossier-detail-preview { display: none; }
.cat-dossier-detail-toggle { display: grid; place-items: center; background: #eaf0e4; color: var(--dossier-teal); width: 28px; height: 28px; border-radius: 50%; font: 500 21px/1 'DM Sans',sans-serif; flex-shrink: 0; transition: transform .15s; }
.cat-dossier-detail[open] .cat-dossier-detail-toggle, .cat-dossier-read-more[open] > summary > span { transform: rotate(45deg); }
.cat-dossier-detail-body { padding: 0 27px 27px; }
.cat-dossier-section-gesundheit .cat-dossier-detail { background: #f0f3e7; border-color: #14312e18; }
.cat-dossier-health-alert { display: flex; align-items: flex-start; gap: 14px; padding: 23px 25px; border: 1px solid #d8a775; border-left: 5px solid #b45b1b; border-radius: 18px; background: #ffecd8; color: #663e1c; font-size: 16px; line-height: 1.8; }
.cat-dossier-health-alert > :is(i,svg) { flex: 0 0 20px; margin-top: 3px; color: #b35c15; }
.cat-dossier-health-alert > div { min-width: 0; overflow-wrap: anywhere; }
.cat-dossier-section-ernaehrung .cat-dossier-section-icon { background: #fff0d9; color: #bd6410; }
.cat-dossier-sources { counter-reset: dossier-source; list-style: none; padding: 0 !important; }
.cat-dossier-sources > li { position: relative; padding-left: 34px; margin: 0 0 17px !important; counter-increment: dossier-source; font-size: 14px; }
.cat-dossier-sources > li::before { content: counter(dossier-source); position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 8px; color: var(--dossier-teal); background: #e8eee1; font: 800 11px/1 'Nunito',sans-serif; }
.cat-dossier-source-meta { display: block; color: var(--dossier-muted); font-size: 13px; line-height: 1.7; margin-top: 6px; overflow-wrap: anywhere; }
.cat-dossier-object { display: grid; gap: 12px; }
.cat-dossier-object dt { color: var(--dossier-muted); font-size: 10px; }
.cat-dossier-object dd { margin: 0; font-size: 13px; }
.cat-dossier-related:empty { display: none; }
.cat-dossier .cat-dossier-gallery { --gallery-inset: 28px; padding: var(--gallery-inset) 0 18px; margin-top: 40px; box-shadow: none; }
.cat-dossier .cat-dossier-gallery h2 { font-size: 34px; font-weight: 900; letter-spacing: -.035em; margin-bottom: 23px; }
.cat-dossier .cat-dossier-gallery > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; }
.cat-dossier .profile-gallery-item { min-width: 0; }
.cat-dossier .profile-gallery-item:nth-child(3n+1) { grid-column: 1 / -1; }
.cat-dossier .profile-gallery-open { display: block; width: 100%; aspect-ratio: 1.12; border: 0; border-radius: 24px; padding: 0; background: #e3eadb; overflow: hidden; cursor: zoom-in; }
.cat-dossier .profile-gallery-item:nth-child(3n+1) .profile-gallery-open { aspect-ratio: 1.8; border-radius: 29px 29px 22px 22px; }
.cat-dossier .profile-gallery-open > picture { display: block; width: 100%; height: 100%; }
.cat-dossier .profile-gallery-open img { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; object-fit: cover; transition: transform .35s; }
.cat-dossier .profile-gallery-open:hover img { transform: scale(1.035); }
.cat-dossier .profile-gallery-item figcaption { padding-inline: 18px; color: var(--dossier-muted); font-size: 13px; line-height: 1.65; margin-top: 10px; }
.cat-dossier .cat-gallery-caption>span,.cat-dossier .cat-gallery-caption>small{display:block;overflow-wrap:anywhere}
.cat-dossier .cat-gallery-caption>small{font-size:12px;margin-top:3px}
/* A small index of the images already shown in their editorial sections. */
.cat-dossier .cat-scene-contactsheet > div { grid-template-columns: repeat(auto-fill,minmax(100px,140px)); justify-content: start; gap: 13px; }
.cat-dossier .cat-scene-contactsheet .profile-gallery-item:nth-child(3n+1) { grid-column: auto; }
.cat-dossier .cat-scene-contactsheet .profile-gallery-open,.cat-dossier .cat-scene-contactsheet .profile-gallery-item:nth-child(3n+1) .profile-gallery-open { width: 100%; max-width: 140px; aspect-ratio: 1; border-radius: 16px; }
.cat-dossier .cat-scene-contactsheet .profile-gallery-open img { object-fit: cover; }
.cat-dossier .cat-scene-contactsheet h2 { margin-bottom: 12px; }
.cat-dossier .cat-scene-contactsheet .cat-scene-series-note { display: flex; align-items: flex-start; gap: 7px; margin: 0 0 20px; color: var(--dossier-muted); font-size: 13px; line-height: 1.6; }
.cat-dossier .cat-dossier-gallery > :is(.cat-dossier-kicker,h2,.cat-scene-series-note) { margin-inline: var(--gallery-inset); }
.cat-scene-series-note > :is(i,svg) { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 2px; color: var(--dossier-teal); }
.cat-dossier .cat-scene-contactsheet .cat-gallery-caption { min-height: 3em; padding-inline: 6px; font-size: 12px; line-height: 1.5; font-weight: 600; }
.cat-dossier .cat-scene-contactsheet .cat-gallery-caption > :is(.cat-scene-full-caption,.cat-scene-image-disclosure,.cat-scene-image-credit) { display: none; }
.cat-scene-ai-marker { display: inline-block; padding: 1px 4px; border-radius: 4px; color: var(--dossier-teal); background: #e8eee1; font-size: 10px; line-height: 1.4; }
/* Full captions and individual AI disclosures remain visible when cloned into the lightbox. */
.cat-photo-caption > .cat-scene-short-caption { display: none; }
@media (max-width: 560px) {
  .cat-dossier .cat-scene-contactsheet > div { grid-template-columns: repeat(auto-fill,minmax(80px,100px)); gap: 12px; }
  .cat-dossier .cat-scene-contactsheet .profile-gallery-open,.cat-dossier .cat-scene-contactsheet .profile-gallery-item:nth-child(3n+1) .profile-gallery-open { max-width: 100px; }
}

/* Small photo-paper accents connect real photography with the illustrated worlds. */
.cat-dossier-photo-sticker { position: absolute; left: -3%; bottom: 8%; display: grid; place-items: center; max-width: 190px; padding: 18px 21px; border: 5px solid var(--dossier-paper); border-radius: 25px 21px 26px 16px; color: var(--dossier-ink); background: #ffdcaa; box-shadow: 0 8px 22px #14312e12; transform: rotate(-9deg); font: 800 18px/1.25 'Nunito',sans-serif; text-align: center; z-index: 2; }
.cat-dossier-photo-sticker svg { color: var(--dossier-teal); margin-bottom: 7px; }
.cat-dossier-hero-orbit { position: absolute; top: 12%; left: -5%; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #08766c55; color: var(--dossier-teal); background: var(--dossier-cream); transform: rotate(-15deg); }
.cat-dossier-hero-orbit svg { width: 28px; height: 28px; }

/* Character is a set of real field values, never a made-up precision score. */
.cat-dossier-personality { display: grid; gap: 18px; margin-bottom: 24px; }
.cat-personality-card { position: relative; display: grid; grid-template-columns: 43px minmax(0,1fr); gap: 6px 15px; align-items: center; padding: 27px; border-radius: 25px; color: var(--dossier-ink); background: #e2eddf; overflow: hidden; }
.cat-personality-card[data-trait=care] { background: #f6e7d1; }
.cat-personality-card > :is(i,svg) { grid-row: 1 / 3; width: 43px; height: 43px; padding: 10px; border: 1px solid #08766c2b; border-radius: 15px; background: #fffdf87d; color: var(--dossier-teal); transform: rotate(-7deg); }
.cat-personality-label { font-size: 13px; line-height: 1.4; color: var(--dossier-muted); font-weight: 600; }
.cat-personality-card > strong { min-width: 0; font: 900 clamp(25px,2.4vw,33px)/1.15 'Nunito',sans-serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.cat-trait-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.cat-trait-pills > span { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; padding: 11px 17px; border: 1px solid #14312e20; border-radius: 99px; color: var(--dossier-ink); background: #fffdf8; font: 700 15px/1.4 'Nunito',sans-serif; overflow-wrap: anywhere; }
.cat-trait-pills > span:nth-child(3n+2) { background: #ffedd6; border-color: transparent; transform: rotate(-2deg); }
.cat-trait-pills > span:nth-child(3n+3) { background: #e9efdf; border-color: transparent; transform: rotate(2deg); }
.cat-personality-note { max-width: 76ch; color: var(--dossier-muted); font-size: 14px; line-height: 1.75; }

/* A coat portrait shows the stored value, without controls that suggest an edit. */
.cat-coat-lab { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 24px; position: relative; padding: 30px; margin-bottom: 25px; background: #f6e7d3; border-radius: 30px 30px 25px 28px; }
.cat-coat-stage { position: relative; display: grid; place-items: center; min-width: 0; min-height: 280px; align-self: stretch; isolation: isolate; }
.cat-coat-stage::before { content: ''; position: absolute; z-index: -1; inset: 9% 0 8%; background: #fff9ee; border-radius: 47% 53% 49% 51% / 45% 45% 55% 55%; transform: rotate(-5deg); }
.cat-coat-stage::after { content: '✦'; position: absolute; top: 6%; left: 3%; font-size: 38px; line-height: 1; color: #cf873c; transform: rotate(-12deg); }
.cat-coat-stage > img { display: block; width: 100%; max-width: 340px; height: auto; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.cat-coat-art-label { position: absolute; bottom: -3px; left: 50%; width: max-content; max-width: 85%; transform: translateX(-50%) rotate(-3deg); padding: 6px 11px; border-radius: 12px; background: #fffdf8dc; color: #77532a; text-align: center; font: 500 11px/1.5 'DM Sans',sans-serif; }
.cat-coat-copy { position: relative; min-width: 0; }
.cat-dossier .cat-coat-copy h3 { font-size: clamp(28px,2.5vw,35px); line-height: 1.13; letter-spacing: -.035em; font-weight: 900; margin-bottom: 13px; }
.cat-coat-copy > p { color: #5c5649; font-size: 16px; line-height: 1.8; }
.cat-color-palette { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 23px; }
.cat-color-chip { display: inline-flex; align-items: center; gap: 10px; min-width: 0; padding: 8px 15px 8px 8px; border: 1px solid #14312e1b; border-radius: 99px; font-size: 14px; font-weight: 600; background: var(--dossier-paper); line-height: 1.45; }
.cat-color-chip > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.cat-color-swatch { display: block; width: 30px; height: 30px; flex: 0 0 30px; background: var(--cat-swatch,#e7dfce); border: 3px solid #fffdf8; outline: 1px solid #14312e1a; border-radius: 50%; box-shadow: inset 0 0 0 1px #14312e15; }
.cat-color-card { min-width: 0; margin-bottom: 24px; padding: 25px 27px; border-radius: 24px; border: 1px solid #14312e1b; background: var(--dossier-paper); }
.cat-dossier .cat-color-card h3 { color: var(--dossier-ink); font-size: 24px; line-height: 1.2; letter-spacing: -.025em; font-weight: 800; margin-bottom: 17px; }
.cat-color-card .cat-color-palette { margin-bottom: 15px; }
.cat-color-note { color: var(--dossier-muted); font-size: 14px; line-height: 1.75; }
.cat-color-notes { margin-top: 16px; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.cat-color-notes > p + p { margin-top: 13px; }

/* Distinct editorial blocks reveal the substance without an accordion wall. */
.cat-story-card { position: relative; min-width: 0; padding: 28px 30px; border-radius: 26px; background: var(--dossier-paper); border: 1px solid #14312e1b; }
.cat-story-card:nth-child(even) { background: #f0f1e5; border-color: transparent; }
.cat-story-card.cat-story-card--mint { background: #e7eee1; border-color: transparent; }
.cat-story-card.cat-story-card--peach { background: #fff0db; border-color: transparent; }
.cat-story-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.cat-story-heading > :is(i,svg) { width: 36px; height: 36px; padding: 8px; flex: 0 0 36px; border-radius: 12px; color: var(--dossier-teal); background: #e8efdf; transform: rotate(-5deg); }
.cat-dossier .cat-story-heading h3 { min-width: 0; color: var(--dossier-ink); font-size: 23px; font-weight: 800; line-height: 1.25; letter-spacing: -.025em; }
.cat-story-body { max-width: 78ch; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.cat-story-body :is(p,ul,ol,blockquote) { margin: 0 0 16px; }
.cat-story-body :last-child { margin-bottom: 0; }
.cat-story-body :is(ul,ol) { padding-left: 22px; }
.cat-story-body li + li { margin-top: 8px; }
.cat-story-body a { color: var(--dossier-teal); text-decoration: underline; text-decoration-color: #08766c66; text-underline-offset: 3px; }
.cat-story-card .cat-dossier-read-more > summary { margin-top: 18px; min-height: 48px; font-size: 14px; }
.cat-dossier-section-gesundheit .cat-story-card { background: #eaf0e2; border-color: transparent; }
.cat-dossier-section-ernaehrung .cat-story-card { background: #fff0db; border-color: transparent; }
.cat-dossier-section-herkunft .cat-dossier-section-icon { background: #e9e3d5; color: #785d39; }
@media (max-width: 1120px) {
  .cat-dossier-hero-inner { gap: 38px; }
  .cat-dossier-layout { grid-template-columns: 160px minmax(0,1fr); gap: 30px; }
  .cats-editorial .cat-dossier-nav a { font-size: 12px; padding-inline: 10px; gap: 8px; }
  .cat-dossier-quickfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cat-coat-lab { gap: 15px; padding: 25px; }
  .cat-coat-stage { min-height: 230px; }
}
@media (max-width: 950px) and (min-width: 861px) {
  .cat-coat-lab { grid-template-columns: minmax(0,1fr); }
  .cat-coat-stage { min-height: 0; width: min(270px,100%); justify-self: center; }
  .cat-coat-copy { text-align: center; }
}
@media (max-width: 860px) {
  .cats-editorial .cat-preview-notice { width: calc(100% - 40px); gap: 7px; padding: 16px 18px; font-size: 13px; }
  .cats-editorial .cat-preview-notice :is(strong,span,a) { flex-basis: 100%; }
  .cats-editorial .cat-preview-notice a { margin-left: 0; }
  .cat-dossier-hero { padding: 25px 0; }
  .cat-dossier-hero-inner { width: calc(100% - 40px); grid-template-columns: minmax(0,1fr); gap: 26px; }
  .cat-dossier .breadcrumbs { margin-bottom: 24px; font-size: 12px; gap: 7px; }
  .cat-dossier .cat-dossier-kicker { font-size: 11px; margin-bottom: 13px; }
  .cats-editorial .cat-dossier h1#cat-profile-title { font-size: clamp(51px,12vw,76px) !important; max-width: 700px; }
  .cat-dossier .cat-dossier-scientific { margin: 13px 0 20px; font-size: 14px; }
  .cat-dossier .cat-dossier-hero-intro { max-width: 640px; font-size: 16px; line-height: 1.8; }
  .cat-dossier-hero-actions { margin-top: 24px; gap: 10px; }
  .cat-dossier :is(.cat-dossier-explore,.cat-dossier-save) { padding: 14px 19px; font-size: 13px; }
  .cat-dossier-hero-meta { margin-top: 17px; }
  .cat-dossier-hero-media { width: min(89%,440px); justify-self: center; margin: 5px 0 14px !important; }
  .cat-dossier-hero-media::after { font-size: 53px; right: -3%; }
  .cat-dossier-photo-note { font-size: 30px; }
  .cat-dossier-photo-credit { font-size: 12px; }
  .cat-dossier-photo-sticker { font-size: 17px; padding: 14px 17px; max-width: 160px; }
  .cat-dossier-facts-wrap { width: calc(100% - 40px); margin-top: 20px; }
  .cat-dossier-quickfacts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .cat-dossier-quickfact { padding: 20px 16px 19px 48px; border-radius: 19px; }
  .cat-dossier-quickfact > :is(i,svg) { top: 23px; left: 17px; width: 20px; height: 20px; }
  .cat-dossier-quickfact dt { font-size: 11px; letter-spacing: 0; }
  .cat-dossier-quickfact dd { font-size: 21px; }
  .cat-dossier-layout { display: block; width: calc(100% - 40px); margin-top: 24px; margin-bottom: 55px; }
  /* Reset the inherited Fishlex bottom dock before attaching this local reading map. */
  body.cats-editorial .cat-dossier-tabbar { position: sticky; inset: var(--site-header-height,64px) auto auto; z-index: 20; width: 100%; max-width: 100%; max-height: none; margin: 0 0 22px; padding: 0; overflow: visible; transform: none; transition: none; border-bottom: 1px solid #14312e16; background: #faf7effa; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .cats-editorial .cat-dossier-tabbar .cat-dossier-nav { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; overscroll-behavior-inline: contain; padding: 8px 0 12px; gap: 6px; scrollbar-width: thin; }
  .cats-editorial .cat-dossier-tabbar .cat-dossier-nav a { width: auto; max-width: none; flex: 0 0 auto; white-space: nowrap; min-height: 44px; font-size: 13px; padding-inline: 13px; }
  .cats-editorial .cat-dossier-tabbar .cat-dossier-nav a > span { overflow: visible; text-overflow: clip; white-space: nowrap; }
  .cats-editorial:has(.cat-dossier) .site-mobile-nav-dock { background: #faf7eff5; border-color: #14312e1a; }
  .cats-editorial .site-mobile-nav-dock .cat-dossier-nav a { min-height: 44px; font-size: 13px; }
  .cat-dossier [id] { scroll-margin-top: calc(var(--site-header-height,64px) + 90px); }
  .cat-dossier #cat-profile-content { scroll-margin-top: calc(var(--site-header-height,64px) + 14px); }
  .cat-dossier-section { margin-bottom: 43px; padding-top: 9px; }
  .cat-dossier-section-heading { gap: 12px; margin-bottom: 21px; }
  .cat-dossier-section-icon { width: 43px; height: 43px; flex-basis: 43px; border-radius: 16px 13px 18px 12px; }
  .cat-dossier-section-icon svg { width: 21px; height: 21px; }
  .cat-dossier .cat-dossier-overline { font-size: 12px; }
  .cats-editorial .cat-dossier-section h2 { font-size: clamp(26px,6vw,35px); }
  .cat-dossier-section-number { font-size: 35px; }
  .cat-dossier :is(.cat-dossier-introduction,.cat-dossier-detail-body) { font-size: 16px; line-height: 1.85; }
  .cat-dossier-curiosity { padding: 23px; gap: 13px; margin-top: 25px; border-radius: 23px 20px 25px 17px; }
  .cat-dossier-curiosity p { font-size: 16px; }
  .cat-dossier-curiosity .cat-dossier-handwritten { font-size: 31px; }
  .cat-story-card { padding: 24px; border-radius: 22px; }
  .cat-dossier .cat-story-heading h3 { font-size: 22px; }
  .cat-dossier-detail { border-radius: 20px; }
  .cat-dossier-detail > summary { padding: 23px; gap: 13px; }
  .cat-dossier-detail-copy strong { font-size: 20px; }
  .cat-dossier-detail-preview { font-size: 15px; line-height: 1.75; }
  .cat-dossier-detail-body { padding: 0 23px 24px; }
  .cat-dossier-fact-list { padding-inline: 21px; gap: 0 18px; border-radius: 21px; }
  .cat-personality-card { padding: 24px; border-radius: 22px; }
  .cat-coat-lab { padding: 25px; gap: 23px; border-radius: 25px; }
  .cat-dossier .cat-coat-copy h3 { font-size: 31px; }
  .cat-dossier .cat-dossier-gallery { --gallery-inset: 25px; margin-top: 32px; }
  .cat-dossier .cat-dossier-gallery h2 { font-size: 30px; }
  .cat-dossier .cat-dossier-gallery > div { gap: 14px; }
  .cat-dossier .profile-gallery-open { border-radius: 19px; }
}
@media (max-width: 560px) {
  .cat-dossier-hero-inner{grid-template-areas:"crumbs" "kicker" "name" "scientific" "photo" "intro" "actions" "meta";gap:0}
  .cat-dossier-hero-copy{display:contents}
  .cat-dossier-hero-copy>.breadcrumbs{grid-area:crumbs}
  .cat-dossier-hero-copy>.cat-dossier-kicker{grid-area:kicker}
  .cat-dossier-hero-copy>h1{grid-area:name}
  .cat-dossier-hero-copy>.cat-dossier-scientific{grid-area:scientific}
  .cat-dossier-hero-copy>.cat-dossier-hero-intro{grid-area:intro}
  .cat-dossier-hero-copy>.cat-dossier-hero-actions{grid-area:actions}
  .cat-dossier-hero-copy>.cat-dossier-hero-meta{grid-area:meta}
  .cat-dossier-hero-inner>.cat-dossier-hero-media{grid-area:photo;margin-block:18px 22px!important}
  .cat-dossier-hero-media { width: 88%; max-width: 360px; }
  .cat-dossier-hero-orbit { width: 45px; height: 45px; left: -5%; }
  .cat-dossier-hero-orbit svg { width: 23px; height: 23px; }
  .cat-dossier-photo-sticker { display:none; }
  .cat-dossier-quickfact { padding: 17px 14px; }
  .cat-dossier-quickfact > :is(i,svg) { position: static; display: block; margin-bottom: 10px; }
  .cat-dossier-quickfact dd { font-size: 20px; }
  .cat-dossier-section-number { font-size: 31px; }
  .cat-dossier .cat-dossier-overline { max-width: 25ch; }
  .cat-coat-lab { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 22px; }
  .cat-coat-stage { min-height: 0; width: min(280px,100%); justify-self: center; }
  .cat-personality-card { grid-template-columns: 39px minmax(0,1fr); gap: 6px 12px; padding: 22px; }
  .cat-personality-card > :is(i,svg) { width: 39px; height: 39px; padding: 9px; }
  .cat-personality-card > strong { font-size: 28px; }
  .cat-trait-pills > span { padding: 10px 14px; font-size: 15px; }
  .cat-dossier-fact-list { grid-template-columns: minmax(0,1fr); }
  .cat-story-card { padding: 22px; }
  .cat-color-card { padding: 22px; border-radius: 21px; }
  .cat-story-heading { gap: 10px; }
  .cat-story-heading > :is(i,svg) { width: 32px; height: 32px; flex-basis: 32px; padding: 7px; }
  .cat-dossier .cat-story-heading h3 { font-size: 21px; }
  .cat-dossier-detail > summary { padding: 21px; }
  .cat-dossier-detail-body { padding: 0 21px 22px; }
  .cat-dossier-health-alert { padding: 20px 18px; gap: 11px; }
  .cat-dossier .cat-dossier-gallery > div { gap: 12px; }
  .cat-dossier .cat-dossier-gallery { --gallery-inset: 22px; }
  .cat-dossier .profile-gallery-item:nth-child(3n+1) .profile-gallery-open { aspect-ratio: 1.32; }
  .cat-dossier .profile-gallery-open { aspect-ratio: .84; border-radius: 16px; }
}
@media (max-width: 360px) {
  .cats-editorial .cat-preview-notice,.cat-dossier-hero-inner,.cat-dossier-facts-wrap,.cat-dossier-layout { width: calc(100% - 32px); }
  .cat-dossier-hero-actions { gap: 8px; }
  .cat-dossier :is(.cat-dossier-explore,.cat-dossier-save) { padding-inline: 14px; font-size: 12px; }
  .cat-dossier-quickfact { padding: 15px 12px; }
  .cat-dossier-quickfact dd { font-size: 18px; }
  .cat-dossier-section-number { display: none; }
  .cat-coat-lab { padding: 19px; }
  .cat-dossier-curiosity { padding: 21px; gap: 10px; }
  .cat-story-card,.cat-personality-card { padding: 20px; }
  .cat-dossier .cat-dossier-gallery { --gallery-inset: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .cat-dossier *, .cat-dossier *::before, .cat-dossier *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Native modal: photos stay on the page, together with their credits. */
html:has(.cat-photo-dialog[open]) { overflow: hidden; }
.cat-photo-dialog { box-sizing: border-box; width: min(1120px,calc(100vw - 32px)); max-width: none; height: min(940px,calc(100dvh - 32px)); max-height: calc(100dvh - 32px); padding: 20px; border: 0; border-radius: 24px; background: #faf6ed; color: #163c3b; box-shadow: 0 25px 100px #092f3655; overflow: auto; overscroll-behavior: contain; }
.cat-photo-dialog[open] { display: flex; flex-direction: column; gap: 12px; }
.cat-photo-dialog [hidden] { display: none !important; }
.cat-photo-dialog::backdrop { background: #102c32dc; backdrop-filter: blur(7px); }
.cat-photo-toolbar { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; }
.cat-photo-toolbar h2 { margin: 0; font: 800 24px/1.15 Nunito,sans-serif; }
.cat-photo-dialog button { min-width: 48px; min-height: 48px; border: 1px solid #163c3b30; border-radius: 99px; background: #fffdf7; color: #163c3b; cursor: pointer; font: 700 14px/1.2 'DM Sans',sans-serif; }
.cat-photo-dialog button:hover { background: #efe4ce; }
.cat-photo-dialog :focus-visible { outline: 3px solid #b75a23; outline-offset: 3px; }
.cat-photo-close { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 16px; }
.cat-photo-close span { font-size: 25px; font-weight: 400; }
.cat-photo-dialog > figure { display: flex; flex: 1 1 auto; flex-direction: column; gap: 12px; min-height: 120px; min-width: 0; margin: 0; }
.cat-photo-stage { position: relative; display: grid; place-items: center; flex: 1 1 auto; min-height: 80px; background: #193b3d; border-radius: 15px; }
.cat-photo-large { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 15px; }
.cat-photo-status { position: relative; max-width: 44ch; padding: 18px; margin: 0; color: #fffdf7; text-align: center; font: 400 14px/1.6 'DM Sans',sans-serif; }
.cat-photo-caption { flex: 0 0 auto; max-height: 6.5em; margin: 0; padding-inline: 3px; overflow: auto; overflow-wrap: anywhere; font: 400 14px/1.5 'DM Sans',sans-serif; }
.cat-photo-caption > span,.cat-photo-caption small { display: block; }
.cat-photo-caption small { margin-top: 4px; font-size: 12px; }
.cat-photo-caption a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cat-photo-controls { display: flex; flex: 0 0 auto; justify-content: center; align-items: center; gap: 24px; font: 700 13px/1.4 'DM Sans',sans-serif; }
.cat-photo-controls button { font-size: 24px; }
.cat-photo-controls [hidden] { display: none; }
.cat-photo-thumbnails { position: relative; display: flex; flex: 0 0 auto; align-items: center; gap: 8px; min-width: 0; padding: 5px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.cat-photo-dialog .cat-photo-thumbnail { flex: 0 0 80px; width: 80px; min-width: 80px; height: 64px; min-height: 64px; padding: 3px; border: 2px solid transparent; border-radius: 12px; background: transparent; }
.cat-photo-dialog .cat-photo-thumbnail[aria-current=true] { border-color: #08766c; background: #e8eee1; }
.cat-photo-thumbnail img { display: block; width: 100%; height: 100%; border-radius: 7px; object-fit: cover; }
@media (max-width: 560px) {
  .cat-photo-dialog { width: calc(100vw - 20px); height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); padding: 14px; border-radius: 20px; }
  .cat-photo-toolbar { gap: 10px; }
  .cat-photo-toolbar h2 { font-size: 20px; }
  .cat-photo-close { gap: 8px; padding-inline: 12px; font-size: 12px!important; }
  .cat-photo-caption { font-size: 13px; }
  .cat-photo-dialog .cat-photo-thumbnail { flex-basis: 64px; width: 64px; min-width: 64px; height: 52px; min-height: 52px; }
}
@media (max-width: 560px) and (min-height: 621px) {
  .cat-photo-dialog { height: fit-content; }
  .cat-photo-dialog > figure { flex: 0 0 auto; min-height: 0; }
  .cat-photo-stage { flex: 0 0 auto; width: 100%; aspect-ratio: var(--cat-photo-ratio,3 / 2); max-height: calc(100dvh - 340px); }
}
@media (max-height: 620px) {
  .cat-photo-dialog[open],.cat-photo-dialog > figure { gap: 8px; }
  .cat-photo-dialog > figure { min-height: 80px; }
  .cat-photo-stage { min-height: 56px; }
  .cat-photo-caption { max-height: 3.5em; }
  .cat-photo-toolbar h2 { font-size: 18px; }
  .cat-photo-dialog button { min-height: 44px; }
  .cat-photo-dialog .cat-photo-thumbnail { flex-basis: 56px; width: 56px; min-width: 56px; height: 44px; min-height: 44px; }
}

/* Editorial scenes belong to their topic, with the AI label beside the image. */
.cat-dossier .cat-profile-scene { position: relative; min-width: 0; margin: 0 0 28px; padding: 0; border: 0; border-radius: 28px; background: #fffdf8; overflow: hidden; }
.cat-profile-scene > a { display: block; overflow: hidden; cursor: zoom-in; }
.cat-profile-scene img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; object-position: center; border: 0; background: #faf7ef; }
.cat-profile-scene figcaption { display: grid; gap: 4px; padding: 12px 18px 16px; color: var(--dossier-muted); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.cat-profile-scene figcaption > span { font-weight: 600; color: #38584b; }
.cat-profile-scene figcaption > small { font-size: 12px; color: #627364; }
.cat-dossier-section-wesen .cat-profile-scene { border-radius: 34px 34px 34px 12px; background: #e8eee1; border-color: transparent; }
.cat-dossier-section-pflege .cat-profile-scene { background: #f5e6d1; border-color: transparent; }
.cat-dossier-section-herkunft .cat-profile-scene { background: #eee7da; }
.cat-dossier-section-ernaehrung .cat-profile-scene { border-radius: 12px 34px 34px 34px; background: #fff0db; border-color: transparent; }

/* Ten visual languages, all fed by actual profile fields. No invented scores. */
.cat-data-panel { --data-accent: #08766c; position: relative; min-width: 0; margin-bottom: 24px; padding: 28px; border: 1px solid #14312e1b; border-radius: 27px; color: var(--dossier-ink); background: var(--dossier-paper); }
.cat-data-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 23px; }
.cat-data-heading > div { min-width: 0; }
.cat-data-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 15px 13px 17px 12px; background: #e3ecdc; color: var(--data-accent); transform: rotate(-5deg); }
.cat-data-icon :is(i,svg) { width: 22px; height: 22px; transform: rotate(5deg); }
.cat-dossier .cat-data-heading h3 { margin: 0; color: var(--dossier-ink); font: 900 25px/1.2 'Nunito',sans-serif; letter-spacing: -.035em; }
.cat-dossier .cat-data-eyebrow { margin: 0 0 5px; color: var(--dossier-muted); font-size: 13px; line-height: 1.6; }
.cat-data-body { display: grid; grid-template-columns: minmax(120px,.6fr) minmax(0,1.4fr); align-items: start; gap: 25px; min-width: 0; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.cat-data-body > div { min-width: 0; }
.cat-data-visual { display: grid; place-items: center; align-self: start; min-width: 0; padding: 13px 4px; color: var(--data-accent); background: #e7eee164; border-radius: 47% 53% 46% 54% / 56% 44% 56% 44%; }
.cat-data-visual > svg { display: block; width: 100%; max-width: 280px; height: auto; aspect-ratio: 1.5; }
.cat-data-body :is(p,ul,ol) { margin: 0 0 15px; }
.cat-data-body :last-child { margin-bottom: 0; }
.cat-data-body :is(ul,ol) { padding-left: 21px; }
.cat-data-body li + li { margin-top: 8px; }
.cat-data-body a { color: var(--dossier-teal); text-decoration: underline; text-underline-offset: 3px; }
.cat-data-body h4 { margin: 0 0 8px; font: 800 20px/1.25 'Nunito',sans-serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.cat-data-note { color: var(--dossier-muted); font-size: 14px; line-height: 1.75; }
.cat-data-tiles { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(190px,100%),1fr)); gap: 13px; }
.cat-data-tile { min-width: 0; padding: 22px; border-radius: 20px; background: #edf1e6; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.cat-data-tile > div { min-width: 0; }
.cat-data-tile > :is(i,svg) { display: block; width: 28px; height: 28px; margin-bottom: 13px; color: var(--data-accent); }
.cat-data-tile p { margin-bottom: 12px; }
.cat-data-tile :last-child { margin-bottom: 0; }

/* Anatomy: tactile trait tiles instead of a generic field table. */
.cat-data-anatomy { background: #edf1e6; border-color: transparent; }
.cat-data-anatomy .cat-data-icon { background: #fffdf8; }
.cat-data-anatomy .cat-data-tile { border: 1px solid #fffdf8; background: #fffdf8d9; border-radius: 23px 18px 23px 17px; }
.cat-data-anatomy .cat-data-tile:nth-child(2n) { background: #fce4c4; border-color: transparent; }
.cat-data-anatomy .cat-data-visual { padding: 25px 13px; background: #fffdf8; }
.cat-data-anatomy .cat-data-copy { padding: 21px 23px; border-radius: 23px 18px 23px 17px; background: #fffdf8d9; }

/* Measures: the ruler is decorative; every number and unit is in a real DL. */
.cat-data-measurements { background: #f3e9d9; border-color: transparent; }
.cat-data-measurements .cat-data-visual { background: #fff8ec; color: #8c713b; }
.cat-data-measures { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,max(220px,calc((100% - 13px)/2))),1fr)); gap: 13px; }
.cat-data-measures > div { min-width: 0; padding: 19px 21px; border: 1px solid #fffdf8; border-radius: 18px; background: #fffdf8c9; }
.cat-data-measures dt { color: #6b6658; font-size: 13px; line-height: 1.5; font-weight: 600; }
.cat-data-measures dd { margin: 8px 0 0; color: var(--dossier-ink); font: 900 clamp(24px,2.7vw,34px)/1.2 'Nunito',sans-serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.cat-data-measurements .cat-data-note { margin-top: 17px; }

/* Life: an open reading path without invented age stages or fixed scale. */
.cat-data-lifecycle { background: #faf7ee; }
.cat-data-lifecycle .cat-data-body { grid-template-columns: minmax(0,1.4fr) minmax(120px,.6fr); }
.cat-data-lifecycle .cat-data-visual { grid-column: 2; grid-row: 1; padding-block: 24px; background: #e8efdf; }
.cat-data-lifecycle .cat-data-timeline { grid-column: 1; grid-row: 1; }
.cat-data-timeline { display: grid; gap: 8px; position: relative; isolation: isolate; }
.cat-data-timeline::before { content: ''; position: absolute; z-index: -1; top: 22px; bottom: 27px; left: 16px; border-left: 2px dashed #b0c9b6; }
.cat-data-milestone { position: relative; min-width: 0; padding: 17px 18px 17px 49px; }
.cat-data-milestone > span[aria-hidden] { position: absolute; left: 9px; top: 21px; width: 16px; height: 16px; border: 4px solid #faf7ee; border-radius: 50%; background: var(--dossier-teal); outline: 1px solid #9dbba7; }
.cat-data-milestone:first-child { border-radius: 20px; background: #e7eedf; }
.cat-data-milestone:first-child > span[aria-hidden] { border-color: #e7eedf; background: #e18b32; outline-color: #d2ad72; }
.cat-data-milestone h4 { font-size: 22px; }

/* Origin: a field-notes passport, keeping the actual written provenance. */
.cat-data-origin { background: #ece7d9; border-color: transparent; }
.cat-data-passport { position: relative; min-width: 0; padding: 29px; border: 1px dashed #889e86; border-radius: 20px; background: radial-gradient(circle at 2px 2px,#c8cfbb40 1px,transparent 1px) 0 0/12px 12px,#fffdf8; }
.cat-data-passport::after { content: '✦'; position: absolute; right: 13px; bottom: 10px; color: #b9823e66; font-size: 30px; line-height: 1; transform: rotate(-13deg); pointer-events: none; }
.cat-data-origin .cat-data-visual { color: #87723f; background: #fff8ec; }
.cat-data-passport > :is(h4,strong) { font-family: 'Nunito',sans-serif; font-size: 25px; font-weight: 900; }

/* Activity: a static orbit with the stored qualitative label at its centre. */
.cat-personality-card.cat-data-activity-orbit { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; min-height: 270px; padding: 42px 24px; isolation: isolate; text-align: center; }
.cat-personality-card.cat-data-activity-orbit::before,.cat-personality-card.cat-data-activity-orbit::after { content: ''; position: absolute; z-index: -1; top: 50%; left: 50%; width: min(78%,270px); aspect-ratio: 1; border: 1px dashed #08766c3b; border-radius: 50%; transform: translate(-50%,-50%) rotate(-15deg); pointer-events: none; }
.cat-personality-card.cat-data-activity-orbit::after { width: min(98%,350px); border-style: solid; border-color: #08766c17; }
.cat-personality-card.cat-data-activity-orbit > strong { max-width: 100%; font-size: clamp(36px,4.4vw,51px); line-height: 1.1; }
.cat-data-activity-orbit > svg:not([data-lucide]) { display: block; width: min(100%,300px); height: auto; }
.cat-personality-card.cat-data-activity-orbit[data-trait=care] { display: grid; grid-template-columns: 43px minmax(0,1fr); gap: 6px 15px; min-height: 0; padding: 26px; text-align: left; }
.cat-personality-card.cat-data-activity-orbit[data-trait=care]::before,.cat-personality-card.cat-data-activity-orbit[data-trait=care]::after { display: none; }
.cat-personality-card.cat-data-activity-orbit[data-trait=care] > strong { font-size: 30px; }

/* Social needs: connected, readable observations, without pseudo ratings. */
.cat-data-social { background: #e7eee1; border-color: transparent; }
.cat-data-social .cat-data-body,.cat-data-habitat .cat-data-body { display: block; }
.cat-data-social .cat-data-visual,.cat-data-habitat .cat-data-visual { width: min(260px,100%); margin: 0 auto 22px; }
.cat-data-social .cat-data-tiles { grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)); }
.cat-data-social .cat-data-tile { position: relative; background: #fffdf8; border: 1px solid #fffdf8; padding-top: 26px; }
.cat-data-social .cat-data-tile > :is(i,svg) { width: 42px; height: 42px; padding: 9px; border: 1px solid #08766c2a; border-radius: 50%; background: #e8f0e1; }
.cat-data-social .cat-data-tile:nth-child(2n) > :is(i,svg) { background: #ffe7c9; border-color: #e4ba81; }

/* Voice: the stored communication text becomes a speech bubble. */
.cat-data-panel.cat-data-communication { padding: 0; border: 0; background: transparent; }
.cat-data-communication .cat-data-heading { padding: 0 3px; }
.cat-data-signal { position: relative; margin: 0; padding: 31px 33px; border-radius: 29px 29px 29px 6px; background: #104e47; color: #fffdf8; font-size: 17px; line-height: 1.85; }
.cat-data-signal::before { content: '“'; position: absolute; top: -15px; right: 22px; color: #e5b16e; font: 700 82px/1 'Nunito',sans-serif; pointer-events: none; }
.cat-data-signal :is(p,h4) { position: relative; color: inherit; }
.cat-data-signal blockquote { margin: 0; color: inherit; font: inherit; }
.cat-data-signal a { color: #ffdcab; }
.cat-data-signal .cat-dossier-read-more > summary { color: #ffdcab; border-color: #ffffff45; }
.cat-data-signal .cat-dossier-read-more > summary > span { background: #ffffff1c; color: #fff5e6; }

/* Home: open little rooms, all filled with actual housing requirements. */
.cat-data-habitat { background: #f1eddf; border-color: transparent; }
.cat-data-habitat .cat-data-visual { background: #fffdf8; }
.cat-data-house-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 15px; padding-top: 10px; }
.cat-data-house-grid > :is(article,div) { position: relative; min-width: 0; padding: 23px; border: 1px solid #c6d6bf; border-radius: 15px 15px 24px 24px; background: #fffdf8; }
.cat-data-house-grid > :is(article,div)::before { content: ''; position: absolute; top: -10px; left: 28px; width: 18px; height: 18px; border-left: 1px solid #c6d6bf; border-top: 1px solid #c6d6bf; background: #fffdf8; transform: rotate(45deg); }
.cat-data-house-grid > :is(article,div) > :is(i,svg) { display: block; width: 28px; height: 28px; margin-bottom: 12px; color: var(--dossier-teal); }

/* Care: separate notes along a soft path, never an invented schedule. */
.cat-data-care { background: #fff0db; border-color: transparent; }
.cat-data-care-path { position: relative; display: grid; gap: 12px; }
.cat-data-care-path::before { content: ''; position: absolute; inset: 27px auto 30px 21px; border-left: 2px dashed #d1b28a; }
.cat-data-care-path > :is(article,.cat-data-step) { position: relative; min-width: 0; padding: 20px 22px 20px 57px; border-radius: 21px; background: #fffdf8b8; }
.cat-data-care-path > :is(article,.cat-data-step)::before { content: ''; position: absolute; top: 27px; left: 15px; width: 14px; height: 14px; border: 4px solid #fff4e3; border-radius: 50%; outline: 1px solid #c3a175; background: #d99950; }
.cat-data-care-path > .cat-data-tile::before { display: none; }
.cat-data-care-path > .cat-data-tile > :is(i,svg) { position: absolute; left: 12px; top: 21px; width: 29px; height: 29px; padding: 5px; margin: 0; border: 1px solid #c3a175; border-radius: 50%; background: #fff8ec; }
.cat-data-care .cat-data-visual { color: #a57534; background: #fffcf5; }

/* Food: an illustrative bowl supports the actual nutrition text, not a ratio. */
.cat-data-nutrition { background: #f7e6cd; border-color: transparent; }
.cat-data-nutrition-wheel { min-width: 0; padding: 24px; border-radius: 18px 18px 34px 34px; background: #fff8eb; }
.cat-data-nutrition .cat-data-visual { padding-block: 25px; background: #fff8eb; }

@media (min-width: 861px) and (max-width: 1120px) {
  .cat-data-panel { padding: 25px; }
  .cat-data-body,.cat-data-lifecycle .cat-data-body { grid-template-columns: minmax(0,1fr); }
  .cat-data-body > .cat-data-visual { width: min(220px,100%); justify-self: center; grid-column: auto; grid-row: auto; }
  .cat-data-lifecycle .cat-data-timeline { grid-column: auto; grid-row: auto; }
  .cat-data-house-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 860px) {
  .cat-data-heading { gap: 12px; margin-bottom: 21px; }
  .cat-data-panel { padding: 25px; border-radius: 24px; }
  .cat-dossier .cat-data-heading h3 { font-size: 25px; }
  .cat-data-tiles { grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); }
  .cat-profile-scene img { aspect-ratio: 1.5; }
  .cat-personality-card.cat-data-activity-orbit { min-height: 250px; }
}
@media (max-width: 560px) {
  .cat-data-panel { padding: 22px; border-radius: 23px; }
  .cat-data-heading { gap: 11px; }
  .cat-data-icon { flex-basis: 37px; width: 37px; height: 37px; border-radius: 13px 11px 15px 10px; }
  .cat-data-icon :is(i,svg) { width: 20px; height: 20px; }
  .cat-dossier .cat-data-heading h3 { font-size: 24px; }
  .cat-data-tiles,.cat-data-house-grid,.cat-data-nutrition-wheel { grid-template-columns: minmax(0,1fr); }
  .cat-data-body,.cat-data-lifecycle .cat-data-body { grid-template-columns: minmax(0,1fr); gap: 21px; }
  .cat-data-body > .cat-data-visual { width: min(220px,100%); justify-self: center; grid-column: auto; grid-row: auto; }
  .cat-data-lifecycle .cat-data-timeline { grid-column: auto; grid-row: auto; }
  .cat-data-tile { padding: 21px; }
  .cat-data-measures { gap: 10px; }
  .cat-data-measures > div { padding: 16px; }
  .cat-data-measures dd { font-size: 27px; }
  .cat-data-passport { padding: 23px; }
  .cat-data-signal { padding: 27px 24px; font-size: 16px; }
  .cat-data-communication { padding: 0; }
  .cat-data-house-grid > :is(article,div) { padding: 22px; }
  .cat-data-care-path > :is(article,.cat-data-step) { padding: 20px 20px 20px 49px; }
  .cat-data-care-path > :is(article,.cat-data-step)::before { left: 14px; }
  .cat-data-nutrition-wheel,.cat-data-anatomy .cat-data-copy { padding: 21px; }
  .cat-dossier .cat-profile-scene { padding: 0; border-radius: 23px; }
  .cat-profile-scene img { aspect-ratio: 1.5; }
  .cat-profile-scene figcaption { padding: 12px 16px 16px; }
}
@media (max-width: 360px) {
  .cat-data-panel { padding: 19px; }
  .cat-data-communication { padding: 0; }
  .cat-data-measures { grid-template-columns: minmax(0,1fr); }
  .cat-dossier .cat-data-heading h3 { font-size: 22px; }
  .cat-data-passport,.cat-data-tile { padding: 20px; }
  .cat-data-milestone { padding-right: 8px; padding-left: 43px; }
  .cat-data-house-grid > :is(article,div) { padding: 20px; }
}
