/* Paws & Whiskers — kazior5.com · shared stylesheet */
:root{
  --paper:#FFF4E4; --card:#FFFFFF; --ink:#4A3527; --muted:#8A6F58; --faint:#B99B7B;
  --amber:#D9A441; --amber-d:#A9761F; --moss:#6E9E6B; --moss-d:#4C6B47; --coral:#E8785C; --coral-d:#C75A40;
  --tint-amber:#F8E3BC; --tint-amber-2:#FBE6C7; --tint-moss:#DEE9D6; --tint-coral:#FCE0D4; --tint-paper:#FBEBD2;
  --dark:#4A3527; --dark-2:#3A2A1D; --on-dark:#F5E3CB; --on-dark-2:#CBB392;
  --teal:#4E8A82; --rust:#C56A4A; --wood:#A9743E;
  --disp:'Baloo 2',sans-serif; --body:'Karla',sans-serif;
  --accent:var(--amber); --accent-tint:var(--tint-amber);
}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.7;overflow-x:hidden;text-rendering:optimizeLegibility}
a{color:var(--amber-d);text-decoration:none}
a:hover{color:#7C540C}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.15;margin:0;text-wrap:pretty}
p{margin:0 0 1.2em}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,44px)}

/* ---------- chrome ---------- */
.vetline{font-size:15px;color:var(--muted);text-align:center;padding:9px clamp(16px,4vw,44px);background:var(--tint-paper)}
.site-head{background:var(--card)}
.site-head .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-block:16px}
.brand{font-family:var(--disp);font-weight:800;font-size:28px;color:var(--ink);line-height:1;white-space:nowrap}
.brand .amp{color:var(--coral)}
.pills{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--disp);font-weight:600;font-size:15px}
.pills a{color:var(--ink);background:var(--tint-amber-2);border-radius:99px;padding:9px 17px;line-height:1.2}
.pills a:hover{background:var(--amber);color:#fff}
.pills a.is-active{color:#fff;background:var(--accent)}
.site-foot{margin-top:64px;background:var(--dark);border-radius:28px 28px 0 0;color:var(--on-dark);padding:34px 0 26px}
.site-foot .wrap{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:center}
.site-foot .brand{color:var(--on-dark);font-size:23px}
.foot-nav{display:flex;gap:8px 20px;flex-wrap:wrap;font-family:var(--disp);font-weight:600;font-size:15px}
.foot-nav a{color:var(--on-dark)}
.foot-vet{width:100%;border-top:1px solid #5E4936;padding-top:16px;font-size:14.5px;color:var(--on-dark-2)}
.skip{position:absolute;left:-999px}

/* tags */
.tag{display:inline-block;font-family:var(--disp);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:99px;padding:5px 14px;line-height:1.3}
.tag--dogs{background:var(--amber)}.tag--cats{background:var(--moss)}.tag--feeding{background:var(--rust)}.tag--health{background:var(--teal)}.tag--home{background:var(--wood)}
.readtime{font-family:var(--disp);font-size:14px;color:var(--faint)}
.kicker{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-d)}

/* ---------- homepage bands ---------- */
.band{padding-block:clamp(28px,4.5vw,52px)}
.band-title{font-weight:800;font-size:clamp(26px,3vw,32px)}
.band-sub{margin:6px 0 0;font-size:17.5px;color:var(--muted)}
.band-head{margin-bottom:26px}
.band-head.center{text-align:center}
.hero-split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hero-card{border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.hero-card--dog{background:var(--tint-amber)}
.hero-card--cat{background:var(--tint-moss)}
.hero-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hero-card .hc-body{padding:24px 28px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;flex:1}
.hero-card .team{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.hero-card--dog .team{color:var(--amber-d)}
.hero-card--cat .team{color:var(--moss-d)}
.hero-card h2{font-weight:700;font-size:clamp(23px,2.3vw,29px)}
.hero-card h2 a{color:var(--ink)}
.hero-card p{margin:0;font-size:17px;color:var(--muted);flex:1}
.hero-amp{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-size:28px;box-shadow:0 4px 14px rgba(120,50,20,.25);z-index:2}
.btn{display:inline-block;font-family:var(--disp);font-weight:700;font-size:15px;color:#fff;border-radius:99px;padding:9px 20px;line-height:1.3}
.btn--amber{background:var(--amber)}.btn--amber:hover{background:var(--amber-d);color:#fff}
.btn--moss{background:var(--moss)}.btn--moss:hover{background:#557E52;color:#fff}
.btn--coral{background:#fff;color:var(--coral)}.btn--coral:hover{background:#FFE9D6;color:var(--coral-d)}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card .c-body{padding:20px 24px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-weight:700;font-size:21px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.card h3 a{color:var(--ink)}
.card p{margin:0;font-size:16px;color:var(--muted);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .c-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:4px}

/* newest-first feed + CSS-only expander */
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.feed li{border-top:1.5px solid #EFDDBE}
.feed li:last-child{border-bottom:1.5px solid #EFDDBE}
.feed a{display:grid;grid-template-columns:150px 1fr auto;gap:22px;align-items:center;padding:16px 4px;color:var(--ink)}
.feed img{width:150px;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.feed .f-title{display:block;font-family:var(--disp);font-weight:700;font-size:20px;line-height:1.25}
.feed .f-brief{display:block;margin:3px 0 0;font-size:16px;color:var(--muted)}
.feed .f-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.feed a:hover .f-title{color:var(--amber-d)}
#feedmore{display:none}
.feed-more{display:none}
#feedmore:checked ~ .feed .feed-more{display:block}
.feed-toggle{display:inline-block;margin-top:18px;cursor:pointer;font-family:var(--disp);font-weight:700;font-size:15px;color:var(--moss-d);border:2px solid var(--moss);border-radius:99px;padding:9px 22px}
.feed-toggle:hover{background:var(--moss);color:#fff}
#feedmore:checked ~ .feed-toggle .show-more,#feedmore:not(:checked) ~ .feed-toggle .show-less{display:none}

/* dog vs cat */
.dvc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dvc{background:var(--card);border-radius:24px;padding:28px 30px;border:2.5px solid var(--amber)}
.dvc--cat{border-color:var(--moss)}
.dvc h3{font-weight:800;font-size:23px;color:var(--amber-d);margin-bottom:16px}
.dvc--cat h3{color:var(--moss-d)}
.dvc dl{margin:0;display:flex;flex-direction:column;gap:13px}
.dvc .row{display:flex;gap:12px;font-size:16px;line-height:1.5;color:var(--muted)}
.dvc dt{font-family:var(--disp);font-weight:700;width:118px;flex:none;color:var(--ink)}
.dvc dd{margin:0}

/* first 30 days */
.f30{background:var(--coral);border-radius:24px;padding:32px 36px;color:#fff}
.f30-head{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:22px}
.f30-head h2{font-weight:800;font-size:clamp(23px,2.6vw,28px)}
.f30-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.f30-step{background:rgba(255,255,255,.16);border-radius:16px;padding:16px 18px}
.f30-step b{font-family:var(--disp);font-weight:800;font-size:15.5px;display:block}
.f30-step span{font-size:15px;line-height:1.45;color:#FFE4D6}

/* supporters — “the biscuit tin” */
.supporters{border-top:1.5px solid #EFDDBE;padding-block:34px 8px}
.sup-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.sup-head h2{font-weight:800;font-size:22px}
.sup-head .kicker{color:var(--faint)}
.sup-note{font-size:15px;color:var(--muted);margin:0 0 18px}
.sponsor-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.sponsor{background:var(--dark-2);border-radius:14px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 16px}
.sponsor img{max-height:34px;max-width:82%;object-fit:contain}
.sponsor-blurb{font-size:13px;line-height:1.4;color:var(--on-dark-2);text-align:center}
.sponsor-blurb:empty{display:none}

/* ---------- article pages ---------- */
.post-hero{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(26px,4vw,48px);align-items:center;padding-block:clamp(30px,4.5vw,54px)}
.post-hero h1{font-weight:800;font-size:clamp(32px,3.6vw,48px);margin:14px 0 12px}
.post-hero .ph-img{border-radius:24px;overflow:hidden}
.post-hero .ph-img img{width:100%;aspect-ratio:16/11;object-fit:cover}
.post-meta{font-family:var(--disp);font-size:15px;color:var(--faint)}
.post-meta b{color:var(--muted);font-weight:700}
.lead{font-size:22px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.article-body{max-width:830px;margin-left:clamp(0px,8vw,150px);padding-inline:clamp(16px,4vw,44px);font-size:19.5px;line-height:1.75;color:#5E4936;padding-bottom:8px}
.article-body h2{display:flex;align-items:baseline;gap:14px;font-weight:800;font-size:clamp(24px,2.4vw,29px);color:var(--ink);margin:44px 0 16px}
.article-body h2 .secno{font-family:var(--disp);font-weight:800;font-size:17px;color:#fff;background:var(--accent);border-radius:99px;padding:3px 12px;flex:none;transform:translateY(-3px)}
.article-body h3{font-size:22px;font-weight:700;color:var(--ink);margin:30px 0 10px}
.article-body ul,.article-body ol:not(.timeline):not(.endnotes){margin:0 0 1.2em;padding-left:26px}
.article-body li{margin-bottom:.45em}
.opener::first-letter{font-family:var(--disp);font-weight:800;font-size:64px;line-height:.85;float:left;padding:6px 12px 0 0;color:var(--accent)}
sup.enref{font-family:var(--disp);font-weight:800;font-size:.62em;color:var(--coral-d)}
sup.enref a{color:var(--coral-d)}

.endnotes{list-style:none;margin:0;padding:24px 28px;background:var(--card);border-radius:22px;counter-reset:en}
.endnotes li{counter-increment:en;position:relative;padding-left:38px;margin-bottom:12px;font-size:16.5px;line-height:1.6;color:var(--muted)}
.endnotes li:last-child{margin-bottom:0}
.endnotes li::before{content:counter(en);position:absolute;left:0;top:2px;width:26px;height:26px;border-radius:50%;background:var(--tint-coral);color:var(--coral-d);font-family:var(--disp);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.endnotes-head{font-family:var(--disp);font-weight:800;font-size:19px;color:var(--ink);margin:44px 0 14px}

.related{margin:36px 0 8px}
.related h2{font-weight:800;font-size:21px;margin:0 0 14px;color:var(--ink)}
.related-links{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.related-links a{display:inline-block;font-family:var(--disp);font-weight:700;font-size:14.5px;color:var(--ink);background:var(--card);border-radius:99px;padding:9px 18px}
.related-links a:hover{background:var(--tint-amber-2);color:var(--ink)}

/* ---------- palette components ---------- */
.pullquote{margin:36px 0;padding:0;border:0;text-align:center}
.pullquote p{font-family:var(--disp);font-weight:700;font-size:clamp(23px,2.4vw,27px);line-height:1.35;color:var(--coral-d);margin:0}
.pullquote p::before{content:"“ ";color:var(--amber)}
.pullquote p::after{content:" ”";color:var(--amber)}
.blockquote{margin:32px 0;padding:24px 30px;background:var(--card);border-radius:20px}
.blockquote p{font-size:19px;font-style:italic;margin:0 0 10px}
.blockquote cite{font-family:var(--disp);font-style:normal;font-weight:700;font-size:14.5px;color:var(--faint)}
.callout{margin:32px 0;padding:22px 28px;background:var(--tint-moss);border-radius:20px}
.callout .co-kicker{font-family:var(--disp);font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-d);margin:0 0 6px}
.callout p{margin:0;font-size:17.5px;line-height:1.6;color:#4A5C42}
.note{font-size:16.5px;line-height:1.6;color:#7A6132;background:var(--tint-amber);border-radius:16px;padding:16px 22px;margin:28px 0}
.note::before{content:"Note — ";font-family:var(--disp);font-weight:800;color:var(--amber-d)}

table.versus,table.datatable{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border-radius:20px;overflow:hidden;margin:32px 0;font-size:16.5px;line-height:1.5}
.versus th,.versus td,.datatable th,.datatable td{padding:13px 18px;text-align:left;vertical-align:top}
.versus thead th,.datatable thead th{font-family:var(--disp);font-weight:800;font-size:15px}
.versus thead th{color:#fff}
.versus thead th:first-child{background:var(--tint-paper)}
.versus thead th:nth-child(2){background:var(--amber)}
.versus thead th:nth-child(3){background:var(--moss)}
.versus tbody th{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--ink);background:var(--tint-paper)}
.versus tbody td,.datatable tbody td{border-top:1px solid #F1E4CC;color:var(--muted)}
.datatable thead th{background:var(--dark);color:var(--on-dark)}
.datatable tbody th{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--ink);border-top:1px solid #F1E4CC;text-align:left}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:32px 0}
.statblock{background:var(--card);border-radius:18px;padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.stat-num{font-family:var(--disp);font-weight:800;font-size:clamp(26px,2.6vw,34px);line-height:1;color:var(--coral)}
.stat-label{font-size:14.5px;line-height:1.4;color:var(--muted)}

.timeline{list-style:none;margin:32px 0;padding:0 0 0 4px}
.timeline li{position:relative;padding:0 0 22px 34px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:7px;top:8px;bottom:-4px;width:2px;background:#EBD8B4}
.timeline li:last-child::before{display:none}
.timeline li::after{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--amber);border:3px solid var(--paper)}
.t-when{display:block;font-family:var(--disp);font-weight:800;font-size:16.5px;color:var(--ink)}
.t-what{display:block;font-size:16.5px;color:var(--muted);line-height:1.55}

.chart{margin:32px 0;background:var(--card);border-radius:20px;padding:24px 26px 18px}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-size:14.5px;color:var(--faint);margin-top:10px;font-family:var(--disp)}

.article-figure{margin:32px 0}
.article-figure img{width:100%;border-radius:20px}
.article-figure figcaption,.map-figure figcaption{font-size:14.5px;color:var(--faint);margin-top:10px;font-family:var(--disp)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:32px 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.gallery figcaption{font-size:13.5px;color:var(--faint);margin-top:6px;font-family:var(--disp)}
.map-figure{margin:32px 0}
.map-slot{border:2px dashed #E3CFA6;border-radius:20px;min-height:280px;background:var(--tint-paper);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:14px;color:var(--faint)}
.map-slot::after{content:"Map appears here"}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:32px 0}
.profile-card{background:var(--card);border-radius:20px;padding:24px 26px}
.profile-card .p-photo{width:76px;height:76px;border-radius:50%;object-fit:cover;margin-bottom:12px}
.profile-card.no-photo::before{content:"";display:block;width:76px;height:76px;border-radius:50%;background:var(--tint-amber);margin-bottom:12px}
.profile-card h3{font-size:20px;font-weight:800}
.profile-card .p-role{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--coral-d);margin:2px 0 10px}
.profile-card p{font-size:15.5px;line-height:1.55;color:var(--muted);margin:0 0 10px}
.profile-card .p-links a{font-family:var(--disp);font-weight:700;font-size:14px}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:32px 0}
.org-card{display:flex;flex-direction:column;gap:3px;background:var(--card);border-radius:16px;padding:16px 20px;color:var(--ink)}
.org-card:hover{background:var(--tint-amber-2);color:var(--ink)}
.org-card .org-logo{width:34px;height:34px;object-fit:contain;margin-bottom:6px}
.org-card.no-logo::before{content:"";width:34px;height:34px;border-radius:9px;background:var(--tint-moss);margin-bottom:6px}
.org-name{font-family:var(--disp);font-weight:700;font-size:15.5px}
.org-host{font-size:13px;color:var(--faint)}
.entity-ref{font-weight:700;border-bottom:2px solid var(--tint-amber);padding-bottom:1px}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:32px 0}
.further-grid a{background:var(--card);border-radius:16px;padding:18px 22px;font-family:var(--disp);font-weight:700;font-size:16px;line-height:1.35;color:var(--ink)}
.further-grid a:hover{background:var(--tint-amber-2)}

/* ---------- category pages ---------- */
.cat-hero{padding-block:clamp(30px,4.5vw,52px) 8px}
.cat-hero .tag{margin-bottom:14px}
.cat-hero h1{font-weight:800;font-size:clamp(38px,5vw,56px)}
.cat-hero p{margin:12px 0 0;font-size:19px;color:var(--muted);max-width:640px}
.cat-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cat-list>li{display:flex}
.cat-list .card{flex:1}
.cat-count{font-family:var(--disp);font-size:14.5px;color:var(--faint)}

/* ---------- misc pages ---------- */
.page-col{max-width:760px;padding-inline:clamp(16px,4vw,44px);margin-inline:auto;padding-block:clamp(30px,5vw,56px) 10px;font-size:19.5px;line-height:1.75;color:#5E4936}
.page-col h1{font-weight:800;font-size:clamp(34px,4vw,48px);color:var(--ink);margin-bottom:18px}
.icon-line{display:flex;gap:12px;align-items:center;font-size:17.5px;margin-bottom:12px}
.icon-line svg{flex:none;color:var(--coral)}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .card-grid{grid-template-columns:1fr 1fr}
  .article-body{margin-left:0}
}
@media (max-width:820px){
  .hero-split,.dvc-grid,.cat-list{grid-template-columns:1fr}
  .hero-amp{display:none}
  .post-hero{grid-template-columns:1fr}
  .f30-grid{grid-template-columns:1fr 1fr}
  .feed a{grid-template-columns:110px 1fr}
  .feed img{width:110px}
  .feed .f-right{grid-column:2;flex-direction:row;align-items:center;gap:12px}
  .site-foot .wrap{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  body{font-size:17.5px}
  .card-grid{grid-template-columns:1fr}
  .f30-grid{grid-template-columns:1fr}
  .f30{padding:24px 22px}
  .brand{font-size:24px}
  .pills{font-size:13.5px}
  .pills a{padding:7px 13px}
  .article-body{font-size:18px}
  .lead{font-size:19.5px}
  .sponsor-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .versus{font-size:14.5px}
  .versus th,.versus td,.datatable th,.datatable td{padding:10px 12px}
}

/* fin-blurbclamp */
.sponsor img,.sponsor>img{filter:none !important}
.sponsor-blurb{display:-webkit-box !important;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* zoo-body-center */
.article-body{margin-left:auto !important;margin-right:auto !important}

/* sp-contain-guard: sponsor logos are wordmarks — never object-fit:cover (crops).
   object-fit ONLY. This block used to also set width:auto, padding:4px 10px,
   max-width:calc(100% - 20px) and min/max-height, which overrode Design's own frame and
   let every plate shrink-wrap its logo — the recurring "inconsistent sizing" and
   "lacks padding". Geometry belongs to Design. */
.sponsor img{object-fit:contain!important}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sponsor-strip .sponsor.sponsor img{height:38px!important;display:block!important;width:100%!important}

/* op-strip-4up: auto-fit at minmax(160px,1fr) put six marks in a 1240px row and the tiles were
   too squeezed to read — operator asked for four. Desktop only, so Design's narrow-screen
   auto-fit (and the 130px floor below it) still decides the phone layout. */
@media (min-width:860px){
  .sponsor-strip{grid-template-columns:repeat(4,1fr)}
}

/* op-article-width: the article column was capped at 742px (85 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 830px (declared in .article-body) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  article.article-body{max-width:min(982px, 100%)!important}
}
@media (min-width:1600px){
  article.article-body{max-width:min(clamp(982px, 68.194vw, 1178px), 100%)!important}
  article.article-body > :is(p, p:not([class])), article.article-body > :is(ol.timeline) > li{font-size:clamp(19.5px,1.3542vw,23.4px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
.card h2:where(.rt-h3) a{color: var(--ink);}
h2:where(.rt-h3){font-family: var(--disp); line-height: 1.15; margin: 0px; text-wrap: pretty;}
.card h2:where(.rt-h3){font-weight: 700; font-size: 21px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.4em;}
h1:where(.rt-h2){font-family: var(--disp); line-height: 1.15; margin: 0px; text-wrap: pretty;}
.hero-card h1:where(.rt-h2){font-weight: 700; font-size: clamp(23px, 2.3vw, 29px);}
.hero-card h1:where(.rt-h2) a{color: var(--ink);}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article.card > a > img,
  article.hero-card.hero-card--cat > a > img,
  article.hero-card.hero-card--dog > a > img,
  div.card > a > img,
  div.post-hero.wrap > figure.ph-img > img,
  li > a > img,
  li.feed-more > a > img){height:auto}
/* op-img-dims:end */
