/* Paw Multiverse. One stylesheet, system fonts, light scheme (page content carries its own light inline colours). */
:root{
  --paper:#FBF8F3;--surface:#FFFFFF;--sunk:#F3EEE6;--mint:#EEF7F4;
  --ink:#1B2B28;--ink-2:#34443F;--muted:#5A6964;--line:#E4DCD0;--line-2:#CFC5B6;
  --teal:#0F766E;--teal-d:#0B5A54;--teal-l:#CCE9E3;--brand:#0E9F8A;
  --red:#B42318;--red-d:#8F1C13;--amber:#9A5B00;
  --measure:43.5rem;--wrap:1160px;--gutter:clamp(16px,4vw,32px);
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --r:10px;--shadow:0 1px 2px rgba(27,43,40,.06),0 8px 24px -12px rgba(27,43,40,.18);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(17px,.35vw + 15.6px,18px);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{max-width:100%;height:auto}
img{vertical-align:middle}
a{color:var(--teal);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--teal-d);text-decoration-thickness:2px}
:focus-visible{outline:3px solid #B45309;outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.22;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(1.9rem,2.6vw + 1rem,2.75rem);margin:.2em 0 .45em;font-weight:700}
h2{font-size:clamp(1.4rem,1.2vw + 1rem,1.85rem);margin:1.8em 0 .55em;font-weight:700}
h3{font-size:1.25rem;margin:1.5em 0 .45em;font-weight:700}
h4{font-size:1.06rem;margin:1.3em 0 .4em;font-family:var(--sans)}
p,ul,ol,dl,blockquote,pre,figure,table{margin:0 0 1.1em}
ul,ol{padding-left:1.35em}
li{margin:.25em 0}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
blockquote{border-left:4px solid var(--teal);margin-left:0;padding:.2em 0 .2em 1.1em;color:var(--ink-2)}
pre{font-family:var(--mono);font-size:.85em;overflow-x:auto;white-space:pre}
code{font-family:var(--mono);font-size:.9em}
table{border-collapse:collapse;width:100%;font-size:.95em;background:var(--surface)}
th,td{border:1px solid var(--line);padding:.55em .7em;text-align:left;vertical-align:top}
th{background:var(--sunk);font-weight:650}
@media (max-width:900px){main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}
input,select,textarea,button{font:inherit;color:inherit}
input{min-width:0}
:where(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea){border:1px solid var(--line-2);border-radius:8px;padding:.55em .7em;background:#fff;max-width:100%}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--teal);width:1.1em;height:1.1em}
button{cursor:pointer}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;z-index:1000;background:var(--ink);color:#fff;padding:.6em 1em;border-radius:8px}
.skip:focus{top:8px;color:#fff}
.ta-c{text-align:center}.ta-r{text-align:right}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.hdr{max-width:1320px;margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:12px;min-height:64px}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:750;font-size:1.12rem;letter-spacing:-.01em;white-space:nowrap;margin-right:auto}
.logo:hover{color:var(--ink)}
.logo-mark{width:30px;height:30px;flex:none}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav-list>li{margin:0;position:relative}
.nav-top{display:flex;align-items:center;gap:4px;border:0;background:none;padding:.5em .6em;border-radius:8px;color:var(--ink-2);font-size:.92rem;font-weight:600;text-decoration:none;white-space:nowrap;line-height:1.3}
.nav-top:hover,.nav-top[aria-expanded=true]{background:var(--mint);color:var(--teal-d)}
.chev{transition:transform .15s}
.nav-top[aria-expanded=true] .chev{transform:rotate(180deg)}
.panel{display:none;list-style:none;margin:0;padding:8px;position:absolute;top:calc(100% + 6px);left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.panel--wide{columns:2;column-gap:4px;min-width:540px;left:auto;right:-120px}
.panel li{margin:0;break-inside:avoid}
.panel a{display:block;padding:.45em .7em;border-radius:7px;color:var(--ink);text-decoration:none;font-size:.93rem;line-height:1.35}
.panel a:hover,.panel a[aria-current=page]{background:var(--mint);color:var(--teal-d)}
.has-panel.open>.panel{display:block}
.hdr-actions{display:flex;align-items:center;gap:6px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink-2)}
.icon-btn:hover{background:var(--mint);color:var(--teal-d)}
.emerg{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;font-weight:700;font-size:.92rem;padding:.55em .9em;border-radius:999px;text-decoration:none;white-space:nowrap}
.emerg span{font-weight:800;font-size:1.1em;line-height:1}
.emerg:hover{background:var(--red-d);color:#fff}
.menu-btn{display:none}
@media (max-width:1179px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:calc(100vh - 64px);overflow:auto}
  .nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;padding:8px var(--gutter) 16px}
  .nav-top{width:100%;justify-content:space-between;font-size:1.02rem;padding:.8em .6em;border-bottom:1px solid var(--sunk);border-radius:0}
  .panel,.panel--wide{position:static;box-shadow:none;border:0;columns:1;min-width:0;padding:0 0 8px 8px}
  .panel a{padding:.6em .7em}
  .hdr{position:relative}
}
@media (max-width:480px){.hdr{gap:6px}.logo{gap:7px}.logo span{font-size:.98rem}.emerg{padding:.5em .65em;font-size:.84rem}.emerg span{display:none}.icon-btn{width:38px;height:38px}}
@media (max-width:360px){.logo span{display:none}}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--brand);z-index:60}

/* breadcrumbs */
.crumbs{max-width:var(--wrap);margin:14px auto 0;padding:0 var(--gutter);font-size:.84rem;color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 0}
.crumbs li{margin:0}
@media (max-width:600px){.crumbs li[aria-current]{display:none}}
.crumbs li+li::before{content:"/";margin:0 .5em;color:var(--line-2)}
.crumbs a{color:var(--teal-d);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* page layout */
.page{max-width:var(--wrap);margin:0 auto;padding:clamp(12px,2.5vw,28px) var(--gutter) 56px}
.content>*,.band>*,.col>*{max-width:var(--measure);margin-left:auto;margin-right:auto}
.content>.wide,.layout-wide .content>:not(p,ul,ol,h1,h2,h3,h4,h5,h6,blockquote,dl,.byline,.lead,.toc){max-width:100%}
.band>.wide,.col>*,.flow>.wide{max-width:100%}
.flow>*{max-width:var(--measure);margin-left:auto;margin-right:auto}
.content>h1{margin-top:.35em}
.byline{font-size:.88rem;color:var(--muted);margin-top:-.2em;margin-bottom:1.6em}
.lead{font-size:1.12em;color:var(--ink-2)}
.more-tools,.page>.more-tools{margin-top:3rem}
.is-home .page{padding-top:0}
.layout-wide h1{text-wrap:balance}

/* page-builder structures: columns, bands, cards */
.cols{display:grid;grid-template-columns:var(--cols,1fr);gap:clamp(16px,2.5vw,32px);align-items:start;margin-bottom:1.4em}
.cols-2{--cols:repeat(2,minmax(0,1fr))}.cols-3{--cols:repeat(3,minmax(0,1fr))}.cols-4{--cols:repeat(4,minmax(0,1fr))}.cols-5{--cols:repeat(5,minmax(0,1fr))}
@media (max-width:760px){.cols{grid-template-columns:1fr}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.col{min-width:0}.col>:last-child{margin-bottom:0}
.band{padding:clamp(28px,4vw,56px) clamp(16px,3vw,32px);border-radius:16px;margin:0 0 1.5em}
.band>:first-child{margin-top:0}
.band--mint{background:var(--mint)}.band--cream{background:#FFF4E8}.band--rose{background:#FBEAE6}.band--white{background:#fff}
.band--dark{background:#1F3D38;color:#E8F2EF}
.band--dark h1,.band--dark h2,.band--dark h3,.band--dark h4{color:#fff}
.band--dark a{color:#BDE7DD}
.band--dark .byline{color:#B9D3CC}
.is-home .band:first-child{border-radius:0 0 18px 18px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(27,43,40,.04)}
.col>.card:only-child{height:100%}.card+.card{margin-top:16px}
.card h3,.card h4{margin:.2em 0 .35em;font-size:1.15rem}
.card h3 a,.card h4 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--teal)}
.card p{margin:0;color:var(--ink-2);font-size:.97rem}
.card-icon{display:inline-flex;width:46px;height:46px;border-radius:12px;background:var(--mint);align-items:center;justify-content:center;margin-bottom:10px}
.card-icon svg{width:24px;height:24px;fill:var(--teal)}
.card--image{padding:0;overflow:hidden}
.card--image h3,.card--image p{padding:0 18px}.card--image p{padding-bottom:18px}
.card-img{margin:0 0 12px;aspect-ratio:4/3;overflow:hidden;background:var(--sunk)}
.card-img img{width:100%;height:100%;object-fit:cover}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:.7em 1.2em;font-weight:650;text-decoration:none;line-height:1.25}
.btn:hover{background:var(--teal-d);color:#fff}
.btn--light{background:#fff;color:var(--teal-d);border:1px solid var(--teal-l)}
.btn--light:hover{background:var(--mint);color:var(--teal-d)}
.btn-row{margin:1em auto}

/* table of contents */
.toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 18px;margin-bottom:1.8em!important}
.toc summary{cursor:pointer;font-weight:650;padding:.8em 0;color:var(--ink-2)}
.toc summary span{font-weight:400;color:var(--muted);font-size:.9em}
.toc ol{margin:0 0 1em;padding-left:1.3em;font-size:.95rem}
@media (min-width:900px){.toc ol{columns:2;column-gap:32px}.toc li{break-inside:avoid}}

/* link cards / more tools */
.link-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.link-cards li{margin:0}
.link-cards a{display:block;height:100%;padding:14px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;text-decoration:none;font-weight:600;color:var(--ink);line-height:1.35}
.link-cards a:hover{border-color:var(--teal);color:var(--teal-d)}
.more-tools h2{font-size:1.35rem}

/* archives */
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;align-items:start}
.archive-grid>*{max-width:none!important;grid-column:1/-1;margin:0}
.archive-grid>article.post{grid-column:auto;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;padding-bottom:16px}
article.post>a{order:1}article.post img{width:100%;height:190px;object-fit:cover;display:block}
article.post>h2{order:2;font-size:1.1rem;margin:14px 16px 8px}article.post h2 a{color:var(--ink);text-decoration:none}
article.post>p{order:3;margin:0 16px;font-size:.95rem;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pagination{display:flex;gap:12px;justify-content:space-between}

/* forms: contact, search, subscribe */
.contact-wrap{max-width:640px!important}
.contact-form label{display:block;font-weight:650;margin-bottom:.3em}
.contact-form input,.contact-form textarea{width:100%}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-note{padding:14px 16px;border-radius:10px;border-left:4px solid var(--teal);background:var(--mint)}
.form-small{font-size:.87rem;color:var(--muted)}
.search-form{display:flex;gap:8px;max-width:640px!important;margin-bottom:1em}
.search-form input{flex:1;min-width:0;font-size:1.05rem}
.search-results{list-style:none;padding:0;max-width:760px!important}
.search-results li{margin:0;padding:14px 0;border-bottom:1px solid var(--line)}
.search-results a{font-weight:650;font-size:1.08rem}
.search-results .tp,.sov .tp{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-d);background:var(--mint);border-radius:999px;padding:2px 8px;margin-left:8px;vertical-align:2px}
.search-results p{margin:.3em 0 0;color:var(--muted);font-size:.95rem}

/* search overlay (built by site.js) */
.sov{position:fixed;inset:0;z-index:100;background:rgba(18,38,34,.5);display:none;align-items:flex-start;justify-content:center;padding:9vh 16px 16px}
.sov.open{display:flex}
.sov-box{width:100%;max-width:640px;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
.sov-box input{width:100%;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:18px 20px!important;font-size:1.1rem;outline:0}
.sov-box ul{list-style:none;margin:0;padding:6px;max-height:56vh;overflow:auto}
.sov-box li{margin:0}
.sov-box a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;color:var(--ink);text-decoration:none}
.sov-box a:hover,.sov-box a.sel{background:var(--mint);color:var(--teal-d)}
.sov-hint{padding:9px 20px 13px;font-size:.8rem;color:var(--muted);margin:0}
.hs-sugg{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);list-style:none;padding:6px;z-index:20;text-align:left}
.hs-sugg li{margin:0}.hs-sugg a{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none}
.hs-sugg a:hover,.hs-sugg a.sel{background:var(--mint)}

/* ads: reserve space for manual slots; Auto ads place themselves. A slot Google leaves empty collapses instead of showing a blank band. */
.pub-slot{display:block;min-height:280px;margin:28px auto;background:rgba(127,127,127,.06);border-radius:8px}
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
.pub-slot:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none}
/* Auto ads wrap their own units. An unfilled one left a tall empty band on the
   homepage, so collapse the wrapper and drop its forced margin too. */
.google-auto-placed:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important;margin:0!important;min-height:0!important}
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important;height:0!important;min-height:0!important}
.pub-slot--banner{min-height:100px}
.pub-slot__label{display:block;font-size:.66rem;line-height:1.6;letter-spacing:.09em;text-transform:uppercase;opacity:.5;text-align:center;margin-bottom:4px}
.google-auto-placed{margin:28px auto!important}
/* Paid links: add rel="sponsored" (optionally data-mark="Partner") and a marker is shown */
a[rel~="sponsored"]::after{content:"Ad";display:inline-block;margin-left:.35em;padding:0 .4em;font-size:.68em;font-weight:700;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;color:var(--amber);border:1px solid currentColor;border-radius:4px;vertical-align:.15em;text-decoration:none}
a[rel~="sponsored"][data-mark]::after{content:attr(data-mark)}
.mark-demo{font-size:.72em;font-weight:700;text-transform:uppercase;color:var(--amber);border:1px solid currentColor;border-radius:4px;padding:0 .4em}

/* recall record (mvrc) */
.mvrc-record{max-width:calc(78ch + 2 * var(--gutter));margin:0 auto;padding:clamp(12px,2.5vw,28px) var(--gutter) 56px;--mvrc-soft:#5A6964;--mvrc-rule:#E4DCD0;--mvrc-add:#1F6B38;--mvrc-del:#96262A;--mvrc-warn:#7D5300}
.mvrc-record__register{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem}
.mvrc-record__head h1{margin:0 0 .7rem}
.mvrc-status,.mvrc-change__meta{font-family:var(--mono);font-size:.86rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;margin:0 0 1rem}
.mvrc-status--listed{color:var(--mvrc-add)}.mvrc-status--removed{color:var(--mvrc-del)}
.mvrc-status__streak,.mvrc-status__changes{color:var(--muted)}
.mvrc-section{margin:2.2rem 0}
.mvrc-section>h2,.mvrc-receipt>h2{font-size:1.3rem;margin:0 0 .9rem}
.mvrc-change{background:#fff;border:1px solid var(--line);border-left:4px solid var(--line-2);border-radius:8px;padding:.9rem 1.1rem;margin:0 0 1rem}
.mvrc-change--added,.mvrc-change--relisted{border-left-color:var(--mvrc-add)}.mvrc-change--removed{border-left-color:var(--mvrc-del)}.mvrc-change--modified{border-left-color:var(--mvrc-warn)}
.mvrc-change__head{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;font-family:var(--mono);font-size:.8rem;margin-bottom:.4rem}
.mvrc-change__id{color:var(--muted);text-decoration:none}
.mvrc-change__summary{margin:0;font-weight:600}
.mvrc-kind{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:3px;padding:.05rem .4rem}
.mvrc-kind--added,.mvrc-kind--relisted{color:var(--mvrc-add)}.mvrc-kind--removed{color:var(--mvrc-del)}.mvrc-kind--modified{color:var(--mvrc-warn)}
.mvrc-silent{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mvrc-warn)}
.mvrc-fields,.mvrc-receipt__list{display:grid;grid-template-columns:minmax(120px,30%) 1fr;margin:0;border-top:1px solid var(--line)}
.mvrc-fields dt,.mvrc-fields dd,.mvrc-receipt__list dt,.mvrc-receipt__list dd{margin:0;padding:.55rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.mvrc-fields dt,.mvrc-receipt__list dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-right:1rem;padding-top:.75rem}
.mvrc-hash{font-family:var(--mono);font-size:.75rem;color:var(--muted);overflow-wrap:anywhere;margin-top:.6rem}
.mvrc-receipt{background:var(--sunk);border-radius:12px;padding:1.2rem 1.3rem;margin:2.5rem 0 0}
.mvrc-receipt .pm-cite{background:#fff}
.mvrc-receipt__disclaimer,.mvrc-citation{font-size:.9rem;color:var(--muted)}
.mvrc-diff{font-size:.9rem}.mvrc-diff del{background:#F8E3E3;color:var(--mvrc-del)}.mvrc-diff ins{background:#E2F1E6;color:var(--mvrc-add);text-decoration:none}
.mvrc-change-page .mvrc-change__record{font-weight:600}
@media (max-width:600px){.mvrc-fields,.mvrc-receipt__list{grid-template-columns:1fr}.mvrc-fields dt,.mvrc-receipt__list dt{border-bottom:0;padding-bottom:0}}

/* footer */
.site-footer{margin-top:40px;background:#17302B;color:#D5E6E1;font-size:.93rem}
.site-footer a{color:#E9F4F1}
.site-footer a:hover{color:#fff}
.f-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.f-emerg{background:#FFF4E8;color:var(--ink);border-top:4px solid var(--red)}
.f-emerg .f-in{padding-top:34px;padding-bottom:30px}
.f-emerg h2{margin:.1em 0 .4em;font-size:1.45rem}
.f-emerg p{max-width:80ch}
.f-emerg a.btn--light{color:var(--teal-d);margin:0 6px 8px 0}
.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0}
.f-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;padding-top:40px;padding-bottom:28px}
.f-h{font-family:var(--sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#9CC9BE;margin:0 0 .8em}
.f-col ul{list-style:none;padding:0;margin:0}
.f-col li{margin:0 0 .45em;line-height:1.4}
.f-col a{text-decoration:none}.f-col a:hover{text-decoration:underline}
.f-base{border-top:1px solid #2C4A44;padding-top:24px;padding-bottom:30px}
.f-base p{max-width:95ch;color:#BCD3CD}
.f-legal{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;margin:1.2em 0}
.f-legal li{margin:0}
.f-sister,.f-copy{font-size:.85rem}
.mbar{display:none}
@media (max-width:768px){
  body{padding-bottom:64px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:2px solid var(--teal);box-shadow:0 -2px 10px rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom)}
  .mbar a{flex:1;min-width:0;text-align:center;text-decoration:none;color:var(--teal-d);font-size:.66rem;font-weight:700;line-height:1.2;padding:7px 1px 6px}
  .mbar span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mb-i{font-size:1.2rem;line-height:1.35}
}
@media print{.site-header,.site-footer,.mbar,.crumbs,.toc,.more-tools,.progress{display:none!important}body{background:#fff}}

/* ---- Recall record: answer-first layout, hubs and cards (Sep 2026) ---- */
.pm-crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:.82rem;color:var(--muted)}
.pm-crumbs li+li::before{content:"/";margin:0 .5em;color:var(--line-2)}
.pm-crumbs a{color:var(--muted);text-decoration:none}.pm-crumbs a:hover{color:var(--teal);text-decoration:underline}
.pm-rec h1,.pm-hub h1{font-family:var(--serif);font-size:clamp(1.75rem,1.2rem + 2.2vw,2.6rem);line-height:1.15;letter-spacing:-.01em;margin:.2em 0 .35em;text-wrap:balance}
.pm-rec__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35em .5em;margin:0 0 1rem;color:var(--muted);font-size:.92rem}
.pm-chip{display:inline-flex;align-items:center;gap:.35em;padding:.12em .6em;border-radius:999px;font-size:.78rem;font-weight:650;border:1px solid var(--line-2);color:var(--ink-2);background:var(--surface)}
.pm-chip::before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor;opacity:.8}
.pm-chip--live{color:#9A3412;border-color:#FDBA74;background:#FFF7ED}
.pm-chip--gone{color:var(--muted)}
.pm-rec__card{margin:0 0 1.25rem;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:#10302a;aspect-ratio:1200/630}
.pm-rec__card img{display:block;width:100%;height:100%;object-fit:cover}
.pm-answer{margin:1.25rem 0 1.5rem!important;padding:clamp(16px,2.5vw,24px)!important;border:1px solid var(--line)!important;border-left:5px solid var(--teal)!important;border-radius:var(--r);background:var(--surface)!important;box-shadow:var(--shadow)}
.pm-answer__h{margin:0 0 .4rem;font-family:var(--sans);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.pm-answer__lead{font-size:1.08rem;margin:0 0 1rem;line-height:1.55}
.pm-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0;margin:0 0 1rem;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.pm-facts>div{padding:.55rem .8rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--paper);min-width:0}
.pm-facts dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
.pm-facts dd{margin:.1rem 0 0;font-weight:600;overflow-wrap:anywhere;line-height:1.4}
.pm-qa details{border-top:1px solid var(--line);padding:.15rem 0}
.pm-qa details:last-child{border-bottom:1px solid var(--line)}
.pm-qa summary{cursor:pointer;list-style:none;padding:.6rem 1.8rem .6rem 0;font-weight:650;position:relative}
.pm-qa summary::-webkit-details-marker{display:none}
.pm-qa summary::after{content:"+";position:absolute;right:.3rem;top:.45rem;font-size:1.25rem;color:var(--teal);line-height:1}
.pm-qa details[open] summary::after{content:"−"}
.pm-qa p{margin:0 0 .8rem;color:var(--ink-2);overflow-wrap:anywhere}
.pm-answer__small{font-size:.82rem;color:var(--muted);margin:.8rem 0 0}
.pm-ai-note{margin:1rem 0 1.5rem;padding:1rem 1.2rem;border-left:4px solid var(--teal);background:var(--mint);border-radius:0 8px 8px 0}
.pm-ai-note__h{margin:0 0 .3rem;font-weight:700}.pm-ai-note__s{margin:.4rem 0 0;font-size:.82rem;color:var(--muted)}
.pm-related{margin:2.2rem 0 1rem}.pm-related h2{font-family:var(--serif)}
.pm-cards{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pm-card a{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.pm-card a:hover{border-color:var(--teal);box-shadow:var(--shadow);transform:translateY(-1px);color:var(--ink)}
.pm-card__meta{font-size:.76rem;color:var(--muted);letter-spacing:.02em}
.pm-card__t{font-weight:650;line-height:1.35}
.pm-card__r{font-size:.86rem;color:var(--ink-2);line-height:1.4}
.pm-hub-page{max-width:calc(1060px + 2 * var(--gutter))}
.pm-hub__intro{font-size:1.06rem;color:var(--ink-2);max-width:var(--measure)}
.pm-hubnav{display:grid;gap:.5rem;margin:1.2rem 0 1.4rem;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--sunk)}
.pm-hubnav>div{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .4rem}
.pm-hubnav__l{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);min-width:6.5rem}
.pm-hubnav a{padding:.15rem .6rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.86rem;text-decoration:none;white-space:nowrap}
.pm-hubnav a:hover{border-color:var(--teal)}
.pm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:1rem 0}
.pm-stat{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:10px 14px}
.pm-stat h3{margin:.2rem 0 .4rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pm-stat table{width:100%;border-collapse:collapse;font-size:.92rem}
.pm-stat th{text-align:left;font-weight:500;padding:.25rem 0;border-top:1px solid var(--line)}
.pm-stat td{text-align:right;font-variant-numeric:tabular-nums;font-weight:650;border-top:1px solid var(--line)}
@media (max-width:600px){.pm-facts{grid-template-columns:1fr 1fr}.pm-hubnav__l{min-width:100%}.pm-cards{grid-template-columns:1fr}}
@media print{.pm-hubnav,.pm-related,.pm-rec__card{display:none}.pm-qa details{display:block}}
.pm-stat th,.pm-stat td{background:transparent!important}
.pm-rec__card{margin:1.25rem 0 1.5rem}
@media (max-width:600px){
  .pm-facts{grid-template-columns:1fr}
  .pm-facts>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.6rem;align-items:baseline;border-right:0}
  .pm-facts dd{margin:0}
  .pm-crumbs li[aria-current]{display:none}
  .pm-crumbs li:nth-last-child(2)::after{content:""}
}
.pm-facts>div.pm-wide{grid-column:1/-1}
.pm-facts dd{font-weight:600}
.pm-facts>div.pm-wide dd{font-weight:500}

/* ---- Recall alerts block: browser push, email list, feed (Sep 2026) ---- */
.pm-alerts{margin:2.5rem auto;padding:0}
.pm-alerts__box{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(16px,3vw,36px);align-items:start;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
.pm-alerts h2{margin:0 0 .35em}
.pm-alerts__lead{color:var(--ink-2);margin:0 0 1rem}
.pm-alerts__countries{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 1rem;padding:0;list-style:none}
.pm-alerts__countries label{display:inline-flex;align-items:center;gap:.4em;font-weight:600;font-size:.95rem;cursor:pointer}
.pm-alerts__status{margin:.7rem 0 0;font-size:.9rem;color:var(--muted)}
.pm-alerts__side{border-left:1px solid var(--line);padding-left:clamp(16px,3vw,36px)}
.pm-alerts__side h3{margin:.2em 0 .4em;font-size:1.05rem;font-family:var(--sans)}
.pm-alerts__side p{font-size:.93rem;color:var(--ink-2)}
.pm-alerts form{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 .5rem}
.pm-alerts form input[type=email]{flex:1;min-width:200px}
.pm-alerts__feed{font-size:.9rem;color:var(--muted)}
@media (max-width:760px){.pm-alerts__box{grid-template-columns:1fr}.pm-alerts__side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}}
/* offline page */
.pm-offline{max-width:var(--measure);margin:8vh auto;padding:0 var(--gutter);text-align:center}
.pm-offline ul{list-style:none;padding:0;display:grid;gap:10px}

/* pm-taps: touch targets. Text links inside dense lists are 16-20px tall,
   which is too small to hit reliably on a phone. Below 760px every link in a
   footer column, the legal row and a card heading gets a 44px hit area. */
@media (max-width:760px){
  .f-col li{margin:0}
  .f-col a{display:block;padding:11px 0;line-height:1.35;min-height:44px;box-sizing:border-box}
  .f-legal{gap:0 18px}
  .f-legal a{display:inline-block;padding:11px 0;line-height:1.35;min-height:44px;box-sizing:border-box}
  .f-sister a{display:inline-block;padding:9px 0;min-height:40px}
  .card h3 a,.card h4 a{display:block;padding:4px 0;min-height:36px}
  .pm-alerts__feed a{display:inline-block;padding:10px 0;min-height:44px}
  details.toc li{margin:0}
  details.toc a{display:block;padding:10px 0;line-height:1.35;min-height:44px;box-sizing:border-box}
  nav.crumbs a{display:inline-block;padding:9px 0;min-height:40px}
}

/* Record category. Shown when a record is not companion-animal food, so a hub
   headed 'pet food recalls' never silently lists livestock feed or a human medicine. */
.pm-cat{display:inline-block;margin-left:.5em;padding:0 .45em;font-size:.72em;font-weight:700;letter-spacing:.03em;line-height:1.7;border-radius:4px;border:1px solid currentColor;vertical-align:.08em}
.pm-cat--livestock-feed{color:var(--amber)}
.pm-cat--veterinary-medicine{color:var(--teal)}
.pm-cat--human-medicine{color:var(--red)}
.pm-cat--mixed-recall{color:var(--red)}
.pm-cat--pet-product{color:var(--muted)}
.pm-cat--unclassified{color:var(--muted)}
.mvrc-cat{margin:.6rem 0;padding:.6rem .9rem;border-left:3px solid currentColor;background:var(--sunk);border-radius:4px;font-size:.95rem;color:var(--ink-2)}
.mvrc-cat--human-medicine,.mvrc-cat--mixed-recall{color:var(--red)}
.mvrc-cat--livestock-feed{color:var(--amber)}
.mvrc-cat--veterinary-medicine{color:var(--teal)}

/* reader engagement block (assets/site.js + lib/engage.js) */
.pm-engage{max-width:760px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--line)}
.pm-eng__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:720px){.pm-eng__row{grid-template-columns:1fr}}
.pm-eng__box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.pm-eng__h{font-family:var(--sans);font-size:1.05rem;margin:0 0 .6em}
.pm-eng__h2{font-size:1.4rem;margin:2rem 0 .4em}
.pm-eng__meta{color:var(--muted);font-size:.9rem;margin:.4em 0 .8em}
.pm-eng__opt{color:var(--muted);font-weight:400;font-size:.88em}
.pm-eng__status{color:var(--teal-d);font-size:.92rem;margin:.5em 0 0}
.pm-eng__status:empty{display:none}
.pm-eng__btns{display:flex;gap:8px;flex-wrap:wrap}
.pm-eng__vote{display:inline-flex;align-items:center;gap:.45em;border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:.5em 1.1em;font-weight:650;color:var(--ink-2);min-height:44px}
.pm-eng__vote:hover{border-color:var(--teal);color:var(--teal-d)}
.pm-eng__vote--no svg{transform:scaleY(-1)}
.pm-eng__vote[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.pm-eng__vote:disabled{cursor:default}
.pm-eng__vote:disabled:not([aria-pressed=true]){opacity:.5}
.pm-eng__fb{margin-top:.8em}
.pm-eng__fb label,.pm-eng__form label{display:block;font-weight:600;font-size:.93rem;margin-bottom:.3em}
.pm-eng__fb textarea,.pm-eng__form textarea,.pm-eng__form input{width:100%}
.pm-eng__fb .btn{margin-top:.5em}
.pm-eng__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.pm-eng__share{display:flex;flex-wrap:wrap;gap:8px}
.pm-eng__sh{display:inline-flex;align-items:center;min-height:40px;padding:.4em .9em;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font-size:.9rem;font-weight:600;text-decoration:none}
.pm-eng__sh:hover{border-color:var(--teal);color:var(--teal-d);text-decoration:none}
.pm-eng__sh--native,.pm-eng__sh--whatsapp{background:var(--teal);border-color:var(--teal);color:#fff}
.pm-eng__sh--native:hover,.pm-eng__sh--whatsapp:hover{background:var(--teal-d);color:#fff}
.pm-eng__count{color:var(--muted);font-family:var(--sans);font-size:.7em;font-weight:500}
.pm-eng__list{list-style:none;padding:0;margin:1rem 0}
.pm-eng__c{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 10px}
.pm-eng__cm{font-size:.88rem;color:var(--muted);margin:0 0 .3em}
.pm-eng__cm strong{color:var(--ink)}
.pm-eng__cb{margin:0;overflow-wrap:anywhere}
.pm-eng__empty{color:var(--muted);font-style:italic}
.pm-eng__add>summary{list-style:none;cursor:pointer}
.pm-eng__add>summary::-webkit-details-marker{display:none}
.pm-eng__add[open]>summary{display:none}
.pm-eng__form{background:var(--mint);border:1px solid var(--teal-l);border-radius:14px;padding:18px 20px}
.pm-eng__two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.pm-eng__two{grid-template-columns:1fr}}
@media print{.pm-engage{display:none}}

/* share-your-result bar under tool results */
.pm-rs{margin:14px 0 4px;padding:14px 16px;border:1px dashed var(--teal);border-radius:12px;background:var(--mint)}
.pm-rs__t{margin:0 0 10px;font-size:.95rem}
.pm-rs__q{color:var(--ink-2);font-style:italic}
.pm-rs__b{display:flex;flex-wrap:wrap;gap:8px}
@media print{.pm-rs{display:none}}

/* local help card + footer line (22 Sep 2026) */
.pm-local{margin:18px 0;padding:14px 16px;border:2px solid #b42318;border-radius:12px;background:#fff7f5;color:#1f2937;font-size:.97rem;line-height:1.5}
.pm-local__h{margin:0 0 6px;font-size:1.02rem}
.pm-local__chg{margin-left:6px;border:0;background:none;color:#0f766e;text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem;padding:0}
.pm-local ul{margin:6px 0;padding-left:1.1rem}.pm-local li{margin:6px 0}
.pm-local__tel{font-weight:700;font-size:1.08rem;color:#b42318;white-space:nowrap}
.pm-local__m{display:block;color:#4b5563;font-size:.86rem}
.pm-local__f{margin:6px 0 0;font-size:.9rem}
.pm-local-line{margin:10px 0 0;font-size:.95rem}.pm-local-line a{font-weight:700;white-space:nowrap}
/* affiliate marking */
.pm-aff{display:inline-block;margin-left:4px;padding:0 6px;border-radius:6px;background:#fef3c7;color:#78350f;font-size:.72rem;font-weight:600;vertical-align:middle;text-decoration:none}
.pm-aff-note{margin:10px 0 16px;padding:10px 12px;border-left:4px solid #f59e0b;background:#fffbeb;font-size:.9rem;color:#374151}
/* Quick answer box on food and plant pages (added 15 Oct 2026) */
.pm-quick{margin:1rem 0 1.4rem;padding:16px 20px;border:1px solid var(--line,#D9CFC4);border-left:5px solid var(--teal,#1F6B5C);border-radius:10px;background:var(--surface,#fff)}
.pm-quick__h{margin:0 0 .35rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--teal,#1F6B5C)}
.pm-quick__a{margin:0 0 .5rem;font-size:1.08rem;line-height:1.55;font-weight:600}
.pm-quick__s{margin:0;font-size:.88rem;color:var(--muted,#5A6964)}
.pm-costs__t{width:100%;border-collapse:collapse;margin:.4rem 0 .7rem;font-size:.95rem}
.pm-costs__t th,.pm-costs__t td{border:1px solid var(--line,#D9CFC4);padding:6px 9px;text-align:left}
.pm-costs__t th{background:var(--surface-2,#F0E7DC);font-weight:700}
@media (max-width:560px){.pm-costs__t{font-size:.85rem}.pm-costs__t th,.pm-costs__t td{padding:5px 6px}}
/* Next steps on recall record pages (3 Nov 2026) */
.pm-next{margin:1rem 0 0;padding:12px 14px;border-radius:8px;background:var(--sunk,#F3EEE6);border:1px solid var(--line,#D9CFC4);font-size:.95rem}
.pm-next p{margin:0}
.pm-next p+p{margin-top:.45rem;font-size:.88rem}
/* Recall check reminder on help pages (3 Nov 2026) */
.pm-recall-check{margin:1.6rem auto;max-width:min(760px,calc(100% - 32px));padding:12px 16px;border:1px solid var(--line,#D9CFC4);border-left:5px solid var(--teal,#1F6B5C);border-radius:10px;background:var(--surface,#fff);font-size:.95rem}
.pm-recall-check p{margin:0}
/* Poison service that refuses animal calls (4 Nov 2026) */
.pm-local__no{display:inline-block;margin-left:6px;font-size:.85em;font-weight:700;color:#8a1c1c;background:#fde8e8;border-radius:4px;padding:1px 6px}
/* Seasonal cross-link (4 Nov 2026) */
.pm-seealso{margin:1.4rem auto 0;max-width:min(760px,calc(100% - 32px));padding:10px 14px;border-radius:10px;background:var(--sunk,#F3EEE6);font-size:.95rem}

/* ---------- 2026 refresh (4 Nov 2026) ---------- */
.pm-hero{margin:4px 0 28px;border-radius:16px;overflow:hidden;background:var(--sunk);box-shadow:0 1px 2px rgba(27,43,40,.06),0 18px 40px -24px rgba(27,43,40,.35);aspect-ratio:1200/630}
.pm-hero img{display:block;width:100%;height:100%;object-fit:cover}
.pm-card__cc{display:inline-block;margin-left:.35em;padding:0 .55em;border-radius:99px;background:var(--mint);color:var(--teal-d);font-weight:650;font-size:.72rem;letter-spacing:.02em;line-height:1.7}
.pm-cards{align-items:start}
.pm-card a{height:auto}
/* My pets */
.pm-mypets{max-width:1120px;margin:28px auto 8px;padding:0 20px}
.pm-mypets__in{background:linear-gradient(135deg,#F2FAF8 0%,#FFF7EF 100%);border:1px solid var(--line);border-radius:18px;padding:22px clamp(16px,3vw,28px)}
.pm-mypets__head h2{margin:0 0 4px;font-family:var(--serif)}
.pm-mypets__head p{margin:0 0 14px;color:var(--ink-2);max-width:46rem}
.pm-pets{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.pm-pet{position:relative;display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 40px 12px 12px}
.pm-pet__e{font-size:1.9rem;line-height:1}
.pm-pet__sp{font-size:.78rem;color:var(--muted);margin-left:.25em}
.pm-pet__links{margin:.35em 0 0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.88rem}
.pm-pet__x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:1.25rem;color:var(--muted);cursor:pointer;line-height:1;padding:4px}
.pm-mypets__f{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.pm-mypets__f label{display:flex;flex-direction:column;gap:3px;font-size:.85rem;font-weight:600;color:var(--ink-2);flex:1 1 150px}
.pm-mypets__f em{font-weight:400;font-style:normal;color:var(--muted)}
.pm-mypets__f input,.pm-mypets__f select{font:inherit;font-weight:400;padding:.55em .6em;border:1px solid var(--line-2);border-radius:9px;background:#fff;min-width:0}
.pm-mypets__f .btn{margin:0;flex:0 0 auto}
/* Was this helpful */
.pm-helpful{margin:36px 0 8px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.pm-helpful p{margin:0}
.pm-helpful div{display:flex;gap:8px}
.pm-helpful button{font:inherit;border:1px solid var(--line-2);background:#fff;border-radius:99px;padding:.4em .95em;cursor:pointer}
.pm-helpful button:hover{border-color:var(--teal);color:var(--teal-d)}
/* Related, with photos */
.pm-related{margin:34px 0 8px}
.pm-related h2{font-size:1.25rem;margin:0 0 12px}
.pm-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.pm-related a{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.pm-related a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pm-related img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sunk)}
.pm-related span{display:block;padding:10px 12px 12px;font-weight:650;line-height:1.3;font-size:.95rem}
/* Hero scan button */
.pm-scan{display:inline-flex;align-items:center;gap:.45em;margin-top:12px;padding:.55em 1em;border-radius:99px;background:#fff;border:1px solid var(--teal-l);color:var(--teal-d);font-weight:650;text-decoration:none}
.pm-scan:hover{border-color:var(--teal)}
.pm-photo-credit{font-size:.78rem;color:var(--muted)}
.pm-explore{max-width:1120px;margin:40px auto 12px;padding:0 20px}
.pm-explore h2{font-family:var(--serif);margin:0 0 4px}
.pm-explore>p{margin:0 0 16px;color:var(--ink-2)}
.pm-pets-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media (max-width:980px){.pm-pets-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.pm-pets-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.pm-pets-grid a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;border-radius:16px;overflow:hidden;text-decoration:none;color:#fff;background:var(--sunk);aspect-ratio:3/4;box-shadow:0 10px 26px -18px rgba(27,43,40,.5);transition:transform .2s}
.pm-pets-grid a:hover{transform:translateY(-3px)}
.pm-pets-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pm-pets-grid a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,25,22,.78) 100%)}
.pm-pets-grid__t,.pm-pets-grid__s{position:relative;z-index:1}
.pm-pets-grid__t{font-weight:750;font-size:1.1rem;line-height:1.2}
.pm-pets-grid__s{font-size:.78rem;opacity:.92;line-height:1.25;margin-top:2px}
.pmn-img{display:block;width:calc(100% + 40px);margin:-20px -20px 10px;aspect-ratio:16/9;height:auto;object-fit:cover;border-radius:12px 12px 0 0}
.pm-hero--wide{aspect-ratio:1200/500}
/* Species hubs (5 Nov 2026) */
.pm-hub section{margin:34px 0 0}
.pm-hub h2{margin:0 0 6px}
.pm-hub__intro{font-size:1.08rem;color:var(--ink-2)}
.pm-hub__more{font-weight:650;white-space:nowrap}
.pm-hub__emerg{background:#FDEDEA;border:1px solid #F4C7BF;border-radius:16px;padding:18px 20px}
.pm-hub__emerg p{margin:0 0 10px}
.pm-hub__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pm-hub__links a{display:inline-block;padding:.45em .9em;border-radius:99px;background:#fff;border:1px solid #F0B9AF;color:var(--red-d);font-weight:650;text-decoration:none;font-size:.92rem}
.pm-hub__links a:hover{border-color:var(--red)}
.pm-hub__grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.pm-hub__grid a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.pm-hub__grid a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pm-hub__grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sunk)}
.pm-hub__emoji{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;font-size:2.4rem;background:linear-gradient(135deg,#EEF7F4,#FFF3E8)}
.pm-hub__grid span:last-child{display:block;padding:9px 11px 11px;font-weight:650;line-height:1.3;font-size:.92rem}
.pm-hub__note{margin-top:34px;font-size:.9rem;color:var(--muted)}
.pm-species .content.pm-hub{max-width:1120px;margin:0 auto}
.pm-species .pm-hub>h1,.pm-species .pm-hub>.byline,.pm-species .pm-hub>.pm-hub__intro{max-width:none;text-align:left}
.pm-species .pm-hero{max-width:none}
/* Dark mode (opt-in, 5 Nov 2026). The older pages carry hard-coded inline colours, so the
   whole page is inverted and photos, video, ads and emoji are inverted back. */
html[data-theme=dark]{background:#111;filter:invert(.9) hue-rotate(180deg)}
html[data-theme=dark] img,html[data-theme=dark] picture,html[data-theme=dark] video,html[data-theme=dark] iframe,html[data-theme=dark] ins.adsbygoogle,html[data-theme=dark] .pm-pet__e,html[data-theme=dark] .pm-hub__emoji,html[data-theme=dark] .pmn-card .e,html[data-theme=dark] .emerg{filter:invert(1) hue-rotate(180deg)}
.pm-theme{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-right:4px}
.pm-theme svg{width:18px;height:18px}
/* Icon set + food colour chart (5 Nov 2026) */
.pm-ico{display:inline-block;vertical-align:middle;flex:none}
.mbar .mb-i{display:flex;justify-content:center;line-height:1}
.mbar .mb-i .pm-ico{width:22px;height:22px}
.pmn-card .e.e--ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#E8F3EC;color:#2F7D52;font-size:0}
.pmn-card .e.e--ico .pm-ico{width:22px;height:22px}
.pm-tl{border-radius:14px;padding:14px 16px 16px;border:1px solid rgba(0,0,0,.06);border-top-width:5px}
.pm-tl h3{margin:0 0 10px;font-size:1.02rem}
.pm-tl p{line-height:1.4!important;display:flex;flex-wrap:wrap;gap:6px}
.pm-tl p br{display:none}
.pm-tl p a{display:inline-block;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.08);text-decoration:none;font-size:.92rem;color:inherit}
.pm-tl p a:hover{border-color:currentColor;text-decoration:underline}
.pm-tl--safe{background:#EEF8F1;border-top-color:#3CA86B}
.pm-tl--care{background:#FBF4E6;border-top-color:#B97F1F}
.pm-tl--avoid{background:#FCEFE8;border-top-color:#C75E2A}
.pm-tl--danger{background:#FBEAEA;border-top-color:#C0392B}
.pm-tl--safe p a{color:#22603F}.pm-tl--care p a{color:#7A5212}.pm-tl--avoid p a{color:#8A3D17}.pm-tl--danger p a{color:#8E241A}
/* Visual guides on 'ate something' pages (5 Nov 2026) */
.pm-vsteps>br{display:none}
.pm-vsteps .mda-step{display:flex!important;gap:14px;align-items:flex-start;background:#fff;border:1px solid #EADFD3;border-radius:12px;padding:12px 14px;margin:0 0 10px!important}
.pm-vsteps .pm-vs-ic{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#E8F3EC;color:#1F6B5C}
.pm-vsteps .pm-vs-ic .pm-ico{width:22px;height:22px}
.pm-vsteps .pm-vs-ic .mda-sn{position:absolute;right:-6px;top:-6px;width:20px!important;height:20px!important;line-height:18px!important;font-size:11px!important;border-radius:50%!important;margin:0!important}
.pm-vsteps .mda-nowf{display:block!important}
.pm-vs-no{float:left;color:#C0392B;display:inline-flex;margin:2px 10px 4px 0}
.pm-tline{margin:24px 0 30px;padding:18px 18px 16px;background:#FFF7EF;border:1px solid #EADFD3;border-radius:14px}
.pm-tline figcaption{font-weight:700;color:#15332E;font-size:1.15rem;margin:0 0 12px}
.pm-tline figcaption span{display:block;font-weight:400;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8A4B2B}
.pm-tline ol{list-style:none;margin:0;padding:0;position:relative}
.pm-tline ol:before{content:"";position:absolute;left:68px;top:14px;bottom:14px;width:2px;background:#CFE3D8}
.pm-tline li{display:grid;grid-template-columns:44px 40px 1fr;gap:10px;align-items:start;margin:0 0 12px;position:relative}
.pm-tl-t{font:600 .85rem/40px ui-monospace,Menlo,Consolas,monospace;color:#8A4B2B;text-align:right}
.pm-tl-i{width:40px;height:40px;border-radius:50%;background:#1F6B5C;color:#fff;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}
.pm-tl-i .pm-ico{width:20px;height:20px}
.pm-tl-x{color:#3B4A47;font-size:.97rem;line-height:1.55;padding-top:8px}
.pm-tl-x strong{color:#15332E;display:block}
.pm-tl-stop{display:flex;gap:10px;align-items:flex-start;margin:6px 0 0;padding:12px 14px;background:#FBEAEA;border-left:4px solid #C0392B;border-radius:8px;color:#7A2A20;font-size:.95rem;line-height:1.55}
.pm-tl-stop .pm-ico{flex:none;color:#C0392B}
.pm-4facts{margin:0 0 28px;padding:18px;background:#FFF7EF;border:1px solid #EADFD3;border-radius:14px}
.pm-4facts__h{font-weight:700;color:#15332E;font-size:1.15rem;margin:0 0 12px}
.pm-4facts__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:760px){.pm-4facts__g{grid-template-columns:repeat(4,1fr)}}
.pm-fact{background:#fff;border:1px solid #EADFD3;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:.92rem;line-height:1.45;color:#3B4A47}
.pm-fact strong{color:#15332E;font-size:1rem}
.pm-fact__i{width:40px;height:40px;border-radius:50%;background:#E8F3EC;color:#1F6B5C;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-bottom:4px}
.pm-fact__i .pm-ico{width:20px;height:20px}
.pm-4facts__call{display:block;margin:12px 0 0;padding:12px 14px;background:#fff;border:2px solid #1F6B5C;border-radius:12px;font-size:.95rem;line-height:1.5;color:#15332E}
.pm-4facts__call .pm-fact__i{float:left;margin:0 12px 6px 0}.pm-4facts__call>span:nth-child(2){display:block;overflow:hidden;margin-bottom:10px}.pm-4facts__call a{margin:0 8px 6px 0}
.pm-4facts__call a{display:inline-block;padding:7px 13px;border-radius:999px;background:#1F6B5C;color:#fff!important;text-decoration:none;font-weight:600;font-size:.9rem}
.pm-4facts__call a+a{background:#fff;color:#1F6B5C!important;border:1px solid #1F6B5C}
.pm-4facts__red{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:12px 14px;background:#FBEAEA;border-left:4px solid #C0392B;border-radius:8px;color:#7A2A20;font-size:.95rem;line-height:1.55}
.pm-4facts__red .pm-ico{flex:none;color:#C0392B}
@media(max-width:400px){.hdr-actions{gap:4px}.icon-btn,.pm-theme{width:34px;height:34px}.pm-theme{margin-right:0}}
/* Hub 'Start here' cards (5 Nov 2026) */
.pm-hub__tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.pm-hub__tip{background:#fff;border:1px solid var(--line,#EADFD3);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px}
.pm-hub__tip h3{margin:0;font-size:1.02rem;color:#15332E}
.pm-hub__tip p{margin:0;color:#3B4A47;font-size:.95rem;line-height:1.55;flex:1}
.pm-hub__tip a{font-weight:600;color:#1F6B5C;text-decoration:none;font-size:.92rem}
.pm-hub__tip a:hover{text-decoration:underline}
/* Homepage 'More free tools' strip (6 Nov 2026) */
.pm-more-tools{max-width:1100px;margin:36px auto;padding:0 var(--gutter,16px)}
.pm-more-tools h2{font-family:var(--serif);margin:0 0 14px}
.pm-more-tools ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}
.pm-more-tools li a{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px;background:#fff;border:1px solid var(--line,#E4DCD0);border-radius:12px;text-decoration:none;color:var(--ink,#1B2B28)}
.pm-more-tools li a:hover{border-color:var(--teal,#0F766E)}
.pm-more-tools li strong{font-size:.98rem}.pm-more-tools li span{font-size:.88rem;color:var(--muted,#5A6964)}
.pm-more-tools__all{display:inline-block;margin-top:12px;font-weight:600;color:var(--teal,#0F766E)}
/* Desktop side column on articles (6 Nov 2026) */
.pm-side{display:none}
@media (min-width:1200px){
  .has-side main .content{display:grid;grid-template-columns:minmax(0,720px) 280px;column-gap:48px;justify-content:center;align-items:start}
  .has-side main .content>*{grid-column:1;margin-left:0!important;margin-right:0!important;max-width:100%!important;min-width:0}
  .has-side main .content>.pm-side{display:block;grid-column:2;grid-row:1 / span 60;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto}
  .pm-side__box{background:#fff;border:1px solid var(--line,#E4DCD0);border-radius:14px;padding:14px 16px;margin:0 0 14px}
  .pm-side__h{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5A6964)}
  .pm-side__toc ol{list-style:none;margin:0;padding:0;counter-reset:s}
  .pm-side__toc li{margin:0}
  .pm-side__toc a{display:block;padding:4px 0 4px 10px;border-left:2px solid transparent;color:var(--ink-2,#34443F);text-decoration:none;font-size:.88rem;line-height:1.35}
  .pm-side__toc a:hover{color:var(--teal,#0F766E)}
  .pm-side__toc a.is-on{border-left-color:var(--teal,#0F766E);color:var(--teal-d,#0B5A54);font-weight:600}
  .pm-side__em{border-color:#E8B4A6;background:#FFF6F2}
  .pm-side__em p{margin:0 0 10px;font-size:.88rem;color:#7A2A20}
  .pm-side__em a{display:block;font-size:.9rem;color:#8F1C13;margin:6px 0 0}
  .pm-side__em .pm-side__btn{background:#B42318;color:#fff!important;text-align:center;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:700;margin:0 0 6px}
  .pm-side__more a{display:block;padding:5px 0;font-size:.9rem;color:var(--teal,#0F766E);text-decoration:none}
  .pm-side__more a:hover{text-decoration:underline}
}
/* Tools page (6 Nov 2026) */
.pm-tools>.pm-tools__jump,.pm-tools>.pm-tools__g{max-width:1120px!important;margin-left:auto;margin-right:auto}
.pm-tools__jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px auto 8px}
.pm-tools__jump a{padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--line,#E4DCD0);color:var(--teal-d,#0B5A54);text-decoration:none;font-weight:600;font-size:.92rem}
.pm-tools__jump a:hover{border-color:var(--teal,#0F766E)}
.pm-tools__g{margin:34px auto 0;scroll-margin-top:84px}
.pm-tools__g h2{font-family:var(--serif);margin:0 0 4px}
.pm-tools__g>p{color:var(--muted,#5A6964);margin:0 0 14px}
.pm-tools__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}
.pm-tool{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto 1fr auto;column-gap:12px;row-gap:3px;height:100%;padding:14px;background:#fff;border:1px solid var(--line,#E4DCD0);border-radius:14px;text-decoration:none;color:var(--ink,#1B2B28);transition:border-color .15s,box-shadow .15s,transform .15s}
.pm-tool:hover{border-color:var(--teal,#0F766E);box-shadow:0 6px 18px rgba(15,118,110,.10);transform:translateY(-1px)}
.pm-tool__i{grid-row:1 / span 3;width:44px;height:44px;border-radius:12px;background:#E8F3EC;color:#1F6B5C;display:inline-flex;align-items:center;justify-content:center}
.pm-tool__i .pm-ico{width:22px;height:22px}
.pm-tool__t{font-weight:700;font-size:1rem;line-height:1.3}
.pm-tool__d{font-size:.9rem;color:var(--muted,#5A6964);line-height:1.45}
.pm-tool__w{justify-self:start;margin-top:6px;font-size:.74rem;font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--sunk,#F3EEE6);color:var(--ink-2,#34443F)}
.pm-tools__g--em .pm-tool__i{background:#FBEAEA;color:#B42318}
.pm-tools__g--em h2{color:#8F1C13}
.pm-tools__refs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pm-tools__refs a{display:inline-block;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--line,#E4DCD0);color:var(--teal-d,#0B5A54);text-decoration:none}
/* Contrast fixes (6 Nov 2026, axe color-contrast) */
.hs-form button[type="submit"]{background:#0F766E!important;color:#fff!important}
.hs-form button[type="submit"]:hover{background:#0B5A54!important}
#cm-latest-guides .cmlg-meta{color:#5B6B7F!important}
.pm-quick__s a{color:#0F766E!important}
/* More foods block on food pages (7 Nov 2026) */
.pm-mf{margin:36px 0 8px;padding:20px 0 0;border-top:1px solid var(--line,#E4DCD0)}
.pm-mf h2{font-family:var(--serif);margin:0 0 14px}
.pm-mf__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:12px}
.pm-mf__grid a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line,#E4DCD0);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink,#1B2B28);transition:border-color .15s,box-shadow .15s}
.pm-mf__grid a:hover{border-color:var(--teal,#0F766E);box-shadow:0 6px 16px rgba(15,118,110,.10)}
.pm-mf__grid img,.pm-mf__ph{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--sunk,#F3EEE6)}
.pm-mf__t{display:block;padding:10px 12px 4px;font-weight:700;font-size:.95rem;line-height:1.3}
.pm-mf__g{display:inline-block;margin:0 12px 12px;padding:2px 8px;border-radius:999px;font-size:.74rem;font-weight:700;color:var(--g);background:color-mix(in srgb,var(--g) 9%,#fff);align-self:flex-start}
.pm-mf__all{margin:14px 0 0}.pm-mf__all a{font-weight:600;color:var(--teal,#0F766E)}
/* Contrast fixes, round 2 (7 Nov 2026, axe on food hub and new pages) */
div[style*="#FDE2DF"] a{color:#8F1C13!important}
.pm-tl--safe>h3{color:#22603F!important}.pm-tl--care>h3{color:#7A5212!important}.pm-tl--avoid>h3{color:#8A3D17!important}.pm-tl--danger>h3{color:#8E241A!important}
.btn-row>.btn,.btn-row>.btn:visited,a.btn:visited{color:#fff!important}
.content [style*="color:#6B7B77"]{color:#5A6964!important}
/* More questions block on behaviour pages (7 Nov 2026) */
.pm-mq{margin:32px 0 18px;padding:18px 20px;background:#fff;border:1px solid var(--line,#E4DCD0);border-radius:14px}
.pm-mq h2{font-family:var(--serif);margin:0 0 10px;font-size:1.3rem}
.pm-mq ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:4px 18px}
.pm-mq li a{display:block;padding:6px 0;color:var(--teal-d,#0B5A54);text-decoration:none;font-weight:600}
.pm-mq li a:hover{text-decoration:underline}
.pm-mq__all{margin:10px 0 0}.pm-mq__all a{color:var(--teal,#0F766E);font-weight:600}

/* 7 Nov 2026: manual ad units. Side column unit has a fixed box; in-content units keep the .pub-slot reserve. */
@media (min-width:1200px){.pm-side__ad{width:280px;min-height:270px;margin:0 0 14px}}
.pm-side__ad{display:none}
@media (min-width:1200px){.has-side .pm-side>.pm-side__ad{display:block}}
.content>.pub-slot{grid-column:1}
/* 7 Nov 2026: simpler menu. Each panel is one short column with a "See all" link at the foot. */
@media (min-width:1180px){.panel--wide{columns:1;min-width:290px;left:0;right:auto}.nav-list>li:nth-last-child(-n+3)>.panel--wide{left:auto;right:0}}
.panel li.panel-all{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
.panel li.panel-all a{font-weight:700;color:var(--teal-d)}

/* 7 Nov 2026: space held for the local poison-help card while it loads (stops the page jumping) */
.pm-local-hold{min-height:150px;margin:18px 0;border-radius:12px;background:#fff7f5}
@media (min-width:700px){.pm-local-hold{min-height:118px}}
/* 7 Nov 2026: "Advertisement" label readable in both themes (was opacity .5, failed contrast in dark mode) */
.pub-slot__label{opacity:1;color:#5A6964}
/* 7 Nov 2026: line icons replace emoji on hub cards that have no photo */
.pm-hub__icon{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;background:linear-gradient(135deg,#EEF7F4,#FFF3E8);color:#1F6B5C}
.pm-hub__icon--calendar,.pm-hub__icon--calc{color:#8A4B2B}
/* 7 Nov 2026: source links and last-checked lines on cost and toxicity pages */
.pm-srclinks,.pm-checked{font-size:.9rem;line-height:1.6;color:#4A5A56;margin:14px 0}
.pm-checked{border-top:1px solid var(--line,#E4DCD0);padding-top:10px}
/* 7 Nov 2026: homepage 'Popular this week' */
.pm-popular{max-width:1120px;margin:34px auto 12px;padding:0 20px}
.pm-popular h2{font-size:1.5rem}
.pm-popular__em{margin:0 0 14px;color:var(--ink-2,#3B4A47)}

/* UX polish (10 Nov 2026): one-line byline on phones; shorter article photo on wider screens so the quick answer sits above the fold; full menu from 1180px */
@media (max-width:600px){.by-co,.by-pre{display:none}}
@media (min-width:700px){.pm-hero{aspect-ratio:1200/450}.pm-hero--wide{aspect-ratio:1200/420}}
/* No layout shift (10 Nov 2026): the side column grid and the header button width are reserved before site.js runs */
@media (min-width:1200px){body.layout-article:not(.no-side) main .content{display:grid;grid-template-columns:minmax(0,720px) 280px;column-gap:48px;justify-content:center;align-items:start}body.layout-article:not(.no-side) main .content>:not(.pm-side){grid-column:1;margin-left:0!important;margin-right:0!important;max-width:100%!important;min-width:0}}
@media (min-width:1180px){.hdr-actions{min-width:221px;justify-content:flex-end}}
/* Batch 31 (12 Nov 2026): smooth page-to-page transitions in browsers that support them. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.16s}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* Links inside the "Popular this week" sentence are text links, not cards. */
.pm-popular__em a{display:inline;border:0;border-radius:0;background:none;overflow:visible;color:var(--teal-d);text-decoration:underline}
.pm-popular__em a:hover{transform:none;box-shadow:none}
/* Batch 32 (13 Nov 2026): design layer. Patterns, shapes and motion, CSS only, no page edits. */
:root{accent-color:#0E9F8C}
::selection{background:#BDE7DD;color:#16302C}
@media screen{
/* a quiet dot pattern inside every coloured band, fading out towards the bottom */
.band{position:relative;isolation:isolate}
.band::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(14,159,140,.16) 1.1px,transparent 1.3px);background-size:20px 20px;-webkit-mask-image:linear-gradient(160deg,#000 0,transparent 62%);mask-image:linear-gradient(160deg,#000 0,transparent 62%)}
.band--dark::before{background-image:radial-gradient(rgba(255,255,255,.14) 1.1px,transparent 1.3px)}
/* header: a thin colour line under the bar */
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;pointer-events:none;background:linear-gradient(90deg,#0E9F8C 0,#7FD6C6 35%,#F2A65A 70%,#0E9F8C 100%);opacity:.75}
/* cards lift on hover */
.card,.pmn-card,.pm-stat{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card:hover,.pmn-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -14px rgba(31,61,56,.28)}
.pm-card a:hover{transform:translateY(-3px);box-shadow:0 14px 34px -14px rgba(31,61,56,.28)}
/* buttons: soft gradient and glow */
.btn{background-image:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,0) 55%);box-shadow:0 6px 16px -8px rgba(14,159,140,.7);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(14,159,140,.75)}
.btn:active{transform:translateY(0)}
.btn--light{box-shadow:none}
/* a short colour bar under the main section headings */
.band>h2.ta-c::after,.pm-home-latest>h2::after,.pm-explore>h2::after,.pm-popular>h2::after,.pm-hub__head h1::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin-top:10px;background:linear-gradient(90deg,#0E9F8C,#F2A65A)}
.band>h2.ta-c::after{margin-left:auto;margin-right:auto}
/* recall pages: a soft panel with a ring shape behind the page head */
.pm-hub__head{position:relative;isolation:isolate}
.pm-hub__head::before{content:"";position:absolute;z-index:-1;right:34px;top:-34px;width:220px;height:220px;border-radius:50%;pointer-events:none;border:26px solid rgba(14,159,140,.07);box-shadow:0 0 0 34px rgba(242,166,90,.05)}
@media (max-width:700px){.pm-hub__head::before{width:110px;height:110px;right:26px;top:-10px;border-width:16px;box-shadow:0 0 0 22px rgba(242,166,90,.05)}}
:focus-visible{outline:3px solid rgba(14,159,140,.55);outline-offset:2px;border-radius:6px}
}
/* cards rise gently into view as you scroll, where the browser supports it */
@media screen and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
.card,.pmn-card,.pm-card,.pm-stat,.pm-related li{animation:pm-rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
@keyframes pm-rise{from{opacity:.25;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
}}
/* Batch 35 (13 Nov 2026): dark mode repairs. Dark mode inverts the page, then turns photos back.
   1. A photo inside <picture> was turned back twice, so it showed as a negative.
   2. Photos came back washed out; contrast(1.25) undoes the page's 0.9 invert exactly.
   3. Photo cards with a caption on top (Explore by pet) are turned back whole, caption included.
   4. The 3D view, the game banner and emoji are pictures too. */
html[data-theme=dark] img,html[data-theme=dark] picture,html[data-theme=dark] video,html[data-theme=dark] iframe,html[data-theme=dark] ins.adsbygoogle,html[data-theme=dark] .pm-pet__e,html[data-theme=dark] .pm-hub__emoji,html[data-theme=dark] .pmn-card .e,html[data-theme=dark] .emerg,html[data-theme=dark] canvas,html[data-theme=dark] .pm-pets-grid a,html[data-theme=dark] .pm-explore li>a,html[data-theme=dark] .pq-top,html[data-theme=dark] .pq-space,html[data-theme=dark] .ph-cta span[aria-hidden],html[data-theme=dark] .pm-scan span[aria-hidden]{filter:invert(1) hue-rotate(180deg) contrast(1.25)}
html[data-theme=dark] picture img,html[data-theme=dark] .pm-pets-grid a img,html[data-theme=dark] .pm-explore li>a img,html[data-theme=dark] .emerg img,html[data-theme=dark] .pq-top img{filter:none}
/* Batch 36: live recall status under each pet in "My pets". */
.pm-pet__st{margin:.3em 0 0;font-size:.86rem;color:var(--muted)}
.pm-pet__st.is-ok{color:#0B7A6C}
.pm-pet__st.is-old a{color:#8A5A00}
.pm-pet__st.is-hit a{color:#B42318;font-weight:650}
/* Batch 38 (13 Nov 2026): dark mode, second pass, from an audit of every page.
   Parts that are already dark or brand-coloured in light mode (footer, dark bands, buttons) were being
   flipped into pale blocks. They are turned back so they keep their real colours. */
html[data-theme=dark] .site-footer,html[data-theme=dark] .band--dark,html[data-theme=dark] .btn,html[data-theme=dark] .pm-side__btn,html[data-theme=dark] .pm-eng__sh--whatsapp,html[data-theme=dark] .ph-form button,html[data-theme=dark] .hs-form button,html[data-theme=dark] .ph-cta a.ph-main,html[data-theme=dark] .cmhe-grid>a,html[data-theme=dark] .skip{filter:invert(1) hue-rotate(180deg) contrast(1.25)}
html[data-theme=dark] .site-footer img,html[data-theme=dark] .site-footer .btn,html[data-theme=dark] .site-footer picture,html[data-theme=dark] .band--dark img,html[data-theme=dark] .band--dark picture,html[data-theme=dark] .band--dark .btn,html[data-theme=dark] .pq-top .btn,html[data-theme=dark] .pq-space .btn,html[data-theme=dark] .cmhe-grid>a img{filter:none}
html[data-theme=dark] .btn--light{filter:none}
/* the cream emergency strip sits inside the footer: flip it again so it is dark like the rest of the page */
html[data-theme=dark] .site-footer .f-emerg{filter:invert(.9) hue-rotate(180deg)}
