/*
 * Dry Cat Food blocks: shared styles for the front end and the block editor.
 * Every rule is scoped under .dcf.dcf so theme styles cannot leak in.
 * Colors, fonts, and sizes read from CSS variables: --dcf-* palette values come from
 * Settings > Dry Cat Food, and per-block overrides come from each block's sidebar.
 */
:root{
	--dcf-paper:#FFFFFF;--dcf-ink:#1D2939;--dcf-ink-2:#475467;--dcf-muted:#667085;--dcf-line:#E4E8EF;
	--dcf-blue:#1F5FD6;--dcf-blue-deep:#1749A8;--dcf-blue-soft:#C9D9F7;
	--dcf-sky:#EEF4FF;--dcf-sky-band:#F5F8FF;--dcf-biscuit:#FBF4EA;--dcf-biscuit-band:#FDF9F3;
	--dcf-sage:#EDF6F0;--dcf-sage-band:#F5FAF7;--dcf-sage-ink:#2E6B4E;--dcf-rose:#FDF1EF;--dcf-rose-ink:#A2402F;
	--dcf-kibble:#D39A57;--dcf-roast:#8F5419;
	--dcf-font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--dcf-font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- base ---------- */
.dcf.dcf{box-sizing:border-box;position:relative;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:var(--dcf-pt,clamp(56px,7vw,88px));padding-bottom:var(--dcf-pb,clamp(56px,7vw,88px));background:var(--dcf-section-bg,var(--dcf-paper));color:var(--dcf-text,var(--dcf-ink));font-family:var(--dcf-bfont,var(--dcf-font-body));font-size:var(--dcf-fs,17px);font-weight:400;font-style:normal;line-height:1.65;letter-spacing:normal;text-align:left;text-transform:none;overflow-wrap:break-word}
@media (max-width:640px){.dcf.dcf{font-size:var(--dcf-fs,16px)}}
.dcf.dcf *,.dcf.dcf *::before,.dcf.dcf *::after{box-sizing:border-box}
.dcf.dcf .dcf-wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.dcf.dcf .dcf-prose{max-width:66ch}
.dcf.dcf .dcf-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dcf.dcf .dcf-two{display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:1fr}
@media (min-width:900px){.dcf.dcf .dcf-two{grid-template-columns:1.05fr .95fr;align-items:start}}
.dcf.dcf .dcf-two>*,.dcf.dcf .dcf-hero-grid>*,.dcf.dcf .dcf-label-grid>*{min-width:0}

/* headings and text */
.dcf.dcf .dcf-h1,.dcf.dcf .dcf-h2,.dcf.dcf .dcf-h3{font-family:var(--dcf-hfont,var(--dcf-font-display));color:var(--dcf-heading,var(--dcf-ink));font-weight:700;font-style:normal;margin:0 0 .55em;padding:0;line-height:1.15;letter-spacing:-.012em;text-transform:none;text-align:left;border:0;background:none}
.dcf.dcf .dcf-h1{font-size:var(--dcf-h1,clamp(35.2px,4.6vw,57.6px));line-height:1.03;letter-spacing:-.028em;margin-bottom:.4em}
.dcf.dcf .dcf-h2{font-size:var(--dcf-h2,clamp(25.6px,2.7vw,34.4px));line-height:1.1}
.dcf.dcf .dcf-h3{font-size:var(--dcf-h3,18.88px);font-weight:600;line-height:1.25}
.dcf.dcf .dcf-p{margin:0 0 1em;padding:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
.dcf.dcf .dcf-answer{font-size:calc(var(--dcf-fs,17px)*1.0588)}
.dcf.dcf .dcf-p strong,.dcf.dcf .dcf-p b{font-weight:700}
.dcf.dcf sup{font-size:.75em;line-height:0;vertical-align:super}

/* links */
.dcf.dcf a{color:var(--dcf-link,var(--dcf-blue));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;border:0;box-shadow:none;background:none;font-weight:inherit}
.dcf.dcf a:hover,.dcf.dcf a:focus{color:var(--dcf-link-hover,var(--dcf-blue-deep));text-decoration-thickness:2px}
.dcf.dcf a:focus-visible,.dcf.dcf input:focus-visible,.dcf.dcf select:focus-visible,.dcf.dcf summary:focus-visible{outline:3px solid #8DB2F7;outline-offset:2px;border-radius:4px}

/* lists reset */
.dcf.dcf .dcf-ul,.dcf.dcf .dcf-ol{margin:0;padding:0;list-style:none}
.dcf.dcf .dcf-ul>li,.dcf.dcf .dcf-ol>li{margin:0;padding:0;list-style:none;background:none;border:0}
.dcf.dcf .dcf-ul>li::before,.dcf.dcf .dcf-ol>li::before,.dcf.dcf .dcf-ul>li::marker,.dcf.dcf .dcf-ol>li::marker{content:none}

/* buttons */
.dcf.dcf .dcf-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.dcf.dcf a.dcf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--dcf-btn-h,48px);padding:0 var(--dcf-btn-px,20px);border-radius:var(--dcf-btn-r,10px);font-family:var(--dcf-bfont,var(--dcf-font-body));font-weight:600;font-size:var(--dcf-btn-fs,16px);line-height:1.2;text-decoration:none;cursor:pointer}
.dcf.dcf a.dcf-btn-primary{background:var(--dcf-btn-bg,var(--dcf-blue));color:var(--dcf-btn-c,#FFFFFF);border:0}
.dcf.dcf a.dcf-btn-primary:hover,.dcf.dcf a.dcf-btn-primary:focus{background:var(--dcf-btn-bg-h,var(--dcf-blue-deep));color:var(--dcf-btn-c-h,#FFFFFF);text-decoration:none}
.dcf.dcf a.dcf-btn-secondary{background:var(--dcf-btn2-bg,#FFFFFF);color:var(--dcf-btn2-c,var(--dcf-blue));border:1.5px solid var(--dcf-btn2-b,var(--dcf-blue-soft))}
.dcf.dcf a.dcf-btn-secondary:hover,.dcf.dcf a.dcf-btn-secondary:focus{background:var(--dcf-btn2-bg-h,#FFFFFF);color:var(--dcf-btn2-c-h,var(--dcf-blue-deep));border-color:var(--dcf-btn2-b-h,var(--dcf-blue));text-decoration:none}

/* banded sections */
.dcf.dcf.dcf-label-sec,.dcf.dcf.dcf-latest-sec{background:var(--dcf-section-bg,var(--dcf-sky-band));border-top:1px solid var(--dcf-section-border,#E8EEFA);border-bottom:1px solid var(--dcf-section-border,#E8EEFA)}
.dcf.dcf.dcf-health-sec{background:var(--dcf-section-bg,var(--dcf-sage-band));border-top:1px solid var(--dcf-section-border,#E1EFE6);border-bottom:1px solid var(--dcf-section-border,#E1EFE6)}
.dcf.dcf.dcf-brands-sec{background:var(--dcf-section-bg,var(--dcf-biscuit-band));border-top:1px solid var(--dcf-section-border,#F3E8D8);border-bottom:1px solid var(--dcf-section-border,#F3E8D8)}

/* ---------- hero ---------- */
.dcf.dcf.dcf-hero{padding-top:var(--dcf-pt,clamp(40px,6vw,76px));padding-bottom:var(--dcf-pb,clamp(28px,4vw,44px))}
.dcf.dcf .dcf-hero-grid{display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:1fr}
@media (min-width:960px){.dcf.dcf .dcf-hero-grid{grid-template-columns:1.12fr .88fr;align-items:center}}
.dcf.dcf .dcf-lead{font-size:clamp(calc(var(--dcf-fs,17px)*1.035),1.6vw,calc(var(--dcf-fs,17px)*1.176));color:var(--dcf-text-2,var(--dcf-ink-2));max-width:56ch}
.dcf.dcf .dcf-checked{font-size:calc(var(--dcf-fs,17px)*.866);color:var(--dcf-muted-c,var(--dcf-muted));max-width:60ch;margin:0}
.dcf.dcf .dcf-kcal-card{background:var(--dcf-card-bg,var(--dcf-sky));border:1px solid var(--dcf-card-border,#DCE6FA);border-radius:20px;padding:26px 26px 22px}
.dcf.dcf .dcf-kcal-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dcf.dcf .dcf-kcal-title{font-size:var(--dcf-h3,20.8px);font-weight:700;margin:0 0 4px}
.dcf.dcf .dcf-kcal-sub{margin:0;color:var(--dcf-text-2,var(--dcf-ink-2));font-size:calc(var(--dcf-fs,17px)*.894)}
.dcf.dcf .dcf-bowl{display:block;flex:0 0 auto;width:140px;height:84px;margin-top:-8px}
.dcf.dcf table.dcf-kcal-table{width:100%;border-collapse:collapse;border:0;margin:16px 0 14px;background:none;font-variant-numeric:tabular-nums;table-layout:auto}
.dcf.dcf .dcf-kcal-table th,.dcf.dcf .dcf-kcal-table td{padding:9px 0;border:0;border-top:1px solid #D7E2F7;background:none;color:inherit;font-family:inherit;text-align:left;vertical-align:middle;font-size:calc(var(--dcf-fs,17px)*.922);line-height:1.65}
.dcf.dcf .dcf-kcal-table thead th{font-size:calc(var(--dcf-fs,17px)*.753);color:var(--dcf-muted-c,var(--dcf-muted));font-weight:600;border-top:0;padding-top:0}
.dcf.dcf .dcf-kcal-table tbody th{font-weight:600;width:18%}
.dcf.dcf .dcf-kcal-table .dcf-val{text-align:right;width:34%;font-weight:600;padding-left:12px;white-space:nowrap}
.dcf.dcf .dcf-range{position:relative;height:10px;background:#DCE6F8;border-radius:99px}
.dcf.dcf .dcf-range i{position:absolute;top:0;bottom:0;display:block;left:calc(var(--lo) / var(--max) * 100%);width:calc((var(--hi) - var(--lo)) / var(--max) * 100%);min-width:8px;background:var(--dcf-accent,var(--dcf-kibble));border-radius:99px}
.dcf.dcf .dcf-kcal-note{font-size:calc(var(--dcf-fs,17px)*.828);color:var(--dcf-text-2,var(--dcf-ink-2));margin:0 0 10px}
.dcf.dcf .dcf-kcal-example{font-size:calc(var(--dcf-fs,17px)*.875);margin:0;padding-top:10px;border-top:1px dashed #C4D4F2}
@media (max-width:520px){
	.dcf.dcf .dcf-kcal-card{padding:20px 18px 18px}
	.dcf.dcf .dcf-bowl{width:88px;height:53px;margin-top:0}
	.dcf.dcf .dcf-kcal-title{font-size:var(--dcf-h3,18.88px)}
	.dcf.dcf .dcf-kcal-table tbody th{width:20%}
}

/* ---------- topic links ---------- */
.dcf.dcf.dcf-topics-sec{padding-top:var(--dcf-pt,0px);padding-bottom:var(--dcf-pb,12px)}
.dcf.dcf .dcf-topics{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.dcf.dcf .dcf-topics-label{font-size:calc(var(--dcf-fs,17px)*.847);color:var(--dcf-muted-c,var(--dcf-muted));font-weight:600}
.dcf.dcf .dcf-pills{display:flex;flex-wrap:wrap;gap:8px}
.dcf.dcf a.dcf-pill{display:inline-block;padding:7px 14px;border:1px solid var(--dcf-card-border,var(--dcf-line));border-radius:99px;background:var(--dcf-card-bg,#FFFFFF);font-size:calc(var(--dcf-fs,17px)*.866);line-height:1.65;text-decoration:none}
.dcf.dcf a.dcf-pill:hover,.dcf.dcf a.dcf-pill:focus{border-color:var(--dcf-blue-soft);background:var(--dcf-sky);text-decoration:none}

/* ---------- tables ---------- */
.dcf.dcf .dcf-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 18px;border:1px solid var(--dcf-line);border-radius:14px}
.dcf.dcf table.dcf-table{width:100%;min-width:480px;border-collapse:collapse;border:0;margin:0;background:none;font-size:calc(var(--dcf-fs,17px)*.913);font-variant-numeric:tabular-nums;table-layout:auto}
.dcf.dcf .dcf-table th,.dcf.dcf .dcf-table td{padding:12px 16px;border:0;border-bottom:1px solid var(--dcf-line);background:none;color:inherit;font-family:inherit;font-size:inherit;line-height:1.65;text-align:left;vertical-align:top}
.dcf.dcf .dcf-table tr:last-child th,.dcf.dcf .dcf-table tr:last-child td{border-bottom:0}
.dcf.dcf .dcf-table thead th{font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:600;font-size:calc(var(--dcf-fs,17px)*.922);color:var(--dcf-heading,var(--dcf-ink));background:var(--dcf-card-bg,var(--dcf-sky))}
.dcf.dcf .dcf-table tbody th{font-weight:600;width:36%}
.dcf.dcf .dcf-table-sage thead th{background:var(--dcf-card-bg,var(--dcf-sage))}
.dcf.dcf .dcf-table-note{font-size:calc(var(--dcf-fs,17px)*.809);color:var(--dcf-muted-c,var(--dcf-muted));margin:0}
.dcf.dcf .dcf-kittens-table{max-width:860px;margin-top:8px}
.dcf.dcf .dcf-after-table{margin-top:26px}

/* ---------- label guide ---------- */
.dcf.dcf .dcf-label-grid{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr;margin-top:30px}
@media (min-width:900px){.dcf.dcf .dcf-label-grid{grid-template-columns:minmax(300px,420px) 1fr;align-items:start}}
.dcf.dcf .dcf-bag{margin:0;padding:0 0 8px;background:var(--dcf-card-bg,#FFFFFF);border:2px solid var(--dcf-card-border,var(--dcf-ink));border-radius:6px 6px 14px 14px;box-shadow:8px 8px 0 #E1EAFB}
.dcf.dcf .dcf-bag-crimp{height:16px;background:repeating-linear-gradient(90deg,#9AA6B8 0 2px,transparent 2px 9px);border-bottom:2px solid var(--dcf-card-border,var(--dcf-ink))}
.dcf.dcf .dcf-bag-tag{margin:10px 16px 6px;font-size:calc(var(--dcf-fs,17px)*.734);color:var(--dcf-muted-c,var(--dcf-muted))}
.dcf.dcf .dcf-panel{position:relative;margin:0 16px;padding:12px 0 12px 36px;border-top:1px solid var(--dcf-card-border,var(--dcf-ink))}
.dcf.dcf .dcf-panel-h{font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:calc(var(--dcf-fs,17px)*.922);color:var(--dcf-heading,var(--dcf-ink));margin:0 0 6px}
.dcf.dcf .dcf-panel-b{margin:0;font-size:calc(var(--dcf-fs,17px)*.894);font-variant-numeric:tabular-nums}
.dcf.dcf .dcf-panel-small{margin:0;font-size:calc(var(--dcf-fs,17px)*.809);color:var(--dcf-text-2,var(--dcf-ink-2));line-height:1.5}
.dcf.dcf .dcf-ga{margin:0;padding:0}
.dcf.dcf .dcf-ga-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px dotted #C7CFDB;font-size:calc(var(--dcf-fs,17px)*.866)}
.dcf.dcf .dcf-ga-row:last-child{border-bottom:0}
.dcf.dcf .dcf-ga-dt,.dcf.dcf .dcf-ga-dd{margin:0;padding:0;font-size:inherit;font-weight:400;color:inherit}
.dcf.dcf .dcf-ga-dd{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.dcf.dcf .dcf-pin{position:absolute;left:0;top:12px;width:24px;height:24px;border-radius:50%;background:var(--dcf-marker,var(--dcf-roast));color:#FFFFFF;font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:calc(var(--dcf-fs,17px)*.753);line-height:24px;text-align:center}
.dcf.dcf .dcf-label-notes{display:grid;gap:22px;counter-reset:dcfn}
.dcf.dcf .dcf-label-notes>li{position:relative;padding-left:44px;counter-increment:dcfn}
.dcf.dcf .dcf-label-notes>li::before{content:counter(dcfn);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:var(--dcf-marker,var(--dcf-roast));color:#FFFFFF;font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:calc(var(--dcf-fs,17px)*.8);line-height:28px;text-align:center}
.dcf.dcf .dcf-label-notes .dcf-h3{margin-bottom:.3em}
.dcf.dcf .dcf-label-notes .dcf-p{margin:0;color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-note{max-width:80ch;margin-top:30px;padding:18px 20px;border-radius:14px}
.dcf.dcf .dcf-note .dcf-p{margin:0}
.dcf.dcf .dcf-note-plain{background:#FFFFFF;border:1px solid #DCE6FA}
.dcf.dcf .dcf-note-rose{background:var(--dcf-rose);border:1px solid #F5D9D3;margin-top:8px}
.dcf.dcf .dcf-note-rose strong{color:var(--dcf-rose-ink)}
.dcf.dcf .dcf-more{max-width:80ch;margin:22px 0 0;color:var(--dcf-text-2,var(--dcf-ink-2))}

/* ---------- portions and calculator ---------- */
.dcf.dcf .dcf-steps{display:grid;gap:14px;margin:8px 0 28px;counter-reset:dcfs}
.dcf.dcf .dcf-steps>li{position:relative;padding-left:42px;counter-increment:dcfs}
.dcf.dcf .dcf-steps>li::before{content:counter(dcfs);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:8px;background:var(--dcf-sky);border:1px solid #D7E2F7;color:var(--dcf-ink);font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:calc(var(--dcf-fs,17px)*.8);line-height:26px;text-align:center}
.dcf.dcf .dcf-calc{margin:0;padding:24px;background:var(--dcf-card-bg,var(--dcf-biscuit));border:1px solid var(--dcf-card-border,#F0E2CC);border-radius:20px}
@media (min-width:900px){.dcf.dcf .dcf-calc-sticky{position:sticky;top:92px}}
.dcf.dcf .dcf-calc-title{font-size:var(--dcf-h3,20px);margin-bottom:16px}
.dcf.dcf .dcf-field{margin:0 0 14px}
.dcf.dcf .dcf-label{display:block;margin:0 0 6px;padding:0;font-size:calc(var(--dcf-fs,17px)*.894);font-weight:600;color:inherit;line-height:1.65}
.dcf.dcf .dcf-input-unit{display:flex;align-items:center;background:#FFFFFF;border:1.5px solid #E2D3BC;border-radius:10px;overflow:hidden}
.dcf.dcf .dcf-input-unit:focus-within{border-color:var(--dcf-blue);box-shadow:0 0 0 3px rgba(31,95,214,.15)}
.dcf.dcf input.dcf-input{flex:1;min-width:0;width:auto;height:auto;margin:0;padding:12px 14px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--dcf-ink);font-family:inherit;font-size:calc(var(--dcf-fs,17px)*.988);line-height:1.65;outline:none;-moz-appearance:textfield}
.dcf.dcf .dcf-unit{padding:0 14px;color:var(--dcf-muted);font-size:calc(var(--dcf-fs,17px)*.894)}
.dcf.dcf select.dcf-select{display:block;width:100%;max-width:none;height:auto;margin:0;padding:12px 14px;border:1.5px solid #E2D3BC;border-radius:10px;background-color:#FFFFFF;box-shadow:none;color:var(--dcf-ink);font-family:inherit;font-size:calc(var(--dcf-fs,17px)*.941);line-height:1.65;-webkit-appearance:menulist;appearance:auto}
.dcf.dcf select.dcf-select:focus{border-color:var(--dcf-blue);outline:none;box-shadow:0 0 0 3px rgba(31,95,214,.15)}
.dcf.dcf .dcf-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 14px}
.dcf.dcf .dcf-result .dcf-r:first-child{grid-column:1/-1}
@media (max-width:420px){.dcf.dcf .dcf-result{grid-template-columns:1fr}}
.dcf.dcf .dcf-r{padding:12px 12px 10px;background:#FFFFFF;border:1px solid #EEDFC8;border-radius:12px}
.dcf.dcf .dcf-r-num{display:block;font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:calc(var(--dcf-fs,17px)*1.148);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.dcf.dcf .dcf-result .dcf-r:first-child .dcf-r-num{font-size:calc(var(--dcf-fs,17px)*1.506)}
.dcf.dcf .dcf-r-lab{display:block;margin-top:4px;font-size:calc(var(--dcf-fs,17px)*.772);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-calc-msg{margin:0 0 10px;color:var(--dcf-rose-ink);font-size:calc(var(--dcf-fs,17px)*.866)}
.dcf.dcf .dcf-calc-msg[hidden]{display:none}
.dcf.dcf .dcf-calc-src{margin:0;font-size:calc(var(--dcf-fs,17px)*.772);color:var(--dcf-muted-c,var(--dcf-muted))}
.dcf.dcf.dcf-calc-sec{padding-top:var(--dcf-pt,clamp(28px,4vw,44px));padding-bottom:var(--dcf-pb,clamp(28px,4vw,44px));background:var(--dcf-section-bg,transparent)}
.dcf.dcf .dcf-calc-solo{max-width:520px}

/* ---------- protein ---------- */
.dcf.dcf .dcf-formula{max-width:46ch;margin:4px 0 26px;padding:14px 18px;background:var(--dcf-sky);border-radius:12px}
.dcf.dcf .dcf-formula-h{margin:0 0 2px;font-size:calc(var(--dcf-fs,17px)*.8);font-weight:600;color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-formula-b{margin:0;font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:600;font-size:calc(var(--dcf-fs,17px)*1.035);color:var(--dcf-heading,var(--dcf-ink))}
.dcf.dcf .dcf-dm{margin:0;padding:22px;background:var(--dcf-card-bg,#FFFFFF);border:1px solid var(--dcf-card-border,var(--dcf-line));border-radius:18px}
.dcf.dcf .dcf-dm-cap{display:block;margin:0 0 16px;font-size:calc(var(--dcf-fs,17px)*.894);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-dm-cap strong{color:var(--dcf-ink)}
.dcf.dcf .dcf-legend{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 14px;font-size:calc(var(--dcf-fs,17px)*.791);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-legend span::before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;vertical-align:-1px}
.dcf.dcf .dcf-lg-label::before{background:#B9C4D6}
.dcf.dcf .dcf-lg-dm::before{background:var(--dcf-accent,var(--dcf-kibble))}
.dcf.dcf .dcf-dm-row{margin-bottom:16px}
.dcf.dcf .dcf-dm-name{margin:0 0 6px;font-weight:600;font-size:calc(var(--dcf-fs,17px)*.894)}
.dcf.dcf .dcf-bar{display:grid;grid-template-columns:88px 1fr 50px;gap:10px;align-items:center;margin-bottom:6px;font-size:calc(var(--dcf-fs,17px)*.809);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-bar-track{height:12px;background:#F0F3F8;border-radius:99px;overflow:hidden}
.dcf.dcf .dcf-bar-fill{height:100%;width:calc(var(--v) / var(--max) * 100%);max-width:100%;border-radius:99px}
.dcf.dcf .dcf-fill-asfed{background:#B9C4D6}
.dcf.dcf .dcf-fill-dm{background:var(--dcf-accent,var(--dcf-kibble))}
.dcf.dcf .dcf-bar b{font-weight:700;color:var(--dcf-ink);text-align:right;font-variant-numeric:tabular-nums}
.dcf.dcf .dcf-dm-note{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--dcf-line);font-size:calc(var(--dcf-fs,17px)*.866)}

/* ---------- health needs ---------- */
.dcf.dcf .dcf-needs{display:grid;gap:16px;grid-template-columns:1fr;margin-top:24px}
@media (min-width:640px){.dcf.dcf .dcf-needs{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.dcf.dcf .dcf-needs{grid-template-columns:repeat(var(--dcf-cols,5),minmax(0,1fr))}}
.dcf.dcf .dcf-needs>li{padding:18px;background:var(--dcf-card-bg,#FFFFFF);border:1px solid var(--dcf-card-border,#DDEBE2);border-radius:14px}
.dcf.dcf .dcf-needs .dcf-h3{font-size:var(--dcf-h3,16.8px);margin-bottom:.4em}
.dcf.dcf .dcf-needs .dcf-p{margin:0;font-size:calc(var(--dcf-fs,17px)*.885);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf a.dcf-title-link{text-decoration:none}
.dcf.dcf a.dcf-title-link:hover,.dcf.dcf a.dcf-title-link:focus{text-decoration:underline}

/* ---------- best ---------- */
.dcf.dcf .dcf-check-card{padding:24px;background:var(--dcf-card-bg,var(--dcf-sage));border:1px solid var(--dcf-card-border,#D3E8DA);border-radius:20px}
.dcf.dcf .dcf-check-card .dcf-h3{font-size:var(--dcf-h3,19.52px)}
.dcf.dcf .dcf-check-intro{font-size:calc(var(--dcf-fs,17px)*.913);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-checks{display:grid;gap:14px}
.dcf.dcf .dcf-checks>li{position:relative;padding-left:34px}
.dcf.dcf .dcf-checks>li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--dcf-marker,var(--dcf-sage-ink)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.5l4.5-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---------- brands ---------- */
.dcf.dcf .dcf-brand-list{display:grid;grid-template-columns:1fr;margin-top:26px;border-top:1px solid var(--dcf-card-border,#EBDDC7)}
@media (min-width:760px){.dcf.dcf .dcf-brand-list{grid-template-columns:repeat(var(--dcf-cols,2),minmax(0,1fr));column-gap:48px}}
.dcf.dcf .dcf-brand-list>li{padding:20px 0;border-bottom:1px solid var(--dcf-card-border,#EBDDC7)}
.dcf.dcf .dcf-brand-list .dcf-h3{font-size:var(--dcf-h3,17.92px);margin-bottom:.35em}
.dcf.dcf .dcf-brand-list .dcf-p{margin:0;font-size:calc(var(--dcf-fs,17px)*.922);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-brand-all{margin:20px 0 0;font-weight:600}
.dcf.dcf .dcf-brand-foot{margin:18px 0 0;font-size:calc(var(--dcf-fs,17px)*.809);color:var(--dcf-muted-c,var(--dcf-muted))}

/* ---------- storage tips ---------- */
.dcf.dcf .dcf-tips{display:grid;gap:22px;grid-template-columns:1fr;margin-top:24px}
@media (min-width:820px){.dcf.dcf .dcf-tips{grid-template-columns:repeat(var(--dcf-cols,3),minmax(0,1fr))}}
.dcf.dcf .dcf-tip{padding-top:14px;border-top:3px solid var(--dcf-accent,var(--dcf-kibble))}
.dcf.dcf .dcf-tip .dcf-h3{font-size:var(--dcf-h3,17.28px)}
.dcf.dcf .dcf-tip .dcf-p{margin:0;font-size:calc(var(--dcf-fs,17px)*.913);color:var(--dcf-text-2,var(--dcf-ink-2))}

/* ---------- faq ---------- */
.dcf.dcf .dcf-faq-wrap{max-width:820px}
.dcf.dcf .dcf-faq{margin-top:20px;border-top:1px solid var(--dcf-line)}
.dcf.dcf .dcf-faq-item{margin:0;padding:0;border:0;border-bottom:1px solid var(--dcf-line)}
.dcf.dcf .dcf-faq-q{display:block;position:relative;margin:0;padding:18px 44px 18px 0;list-style:none;cursor:pointer;background:none;border:0}
.dcf.dcf .dcf-faq-q::-webkit-details-marker{display:none}
.dcf.dcf .dcf-faq-q::marker{content:""}
.dcf.dcf .dcf-faq-q .dcf-h3{margin:0;font-size:var(--dcf-h3,17.28px)}
.dcf.dcf .dcf-faq-q::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;border-right:2px solid var(--dcf-ink-2);border-bottom:2px solid var(--dcf-ink-2);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.dcf.dcf details[open]>.dcf-faq-q::after,.dcf.dcf .dcf-faq-item.is-open>.dcf-faq-q::after{transform:translateY(-25%) rotate(-135deg)}
.dcf.dcf .dcf-faq-a{max-width:70ch;margin:0 0 18px;color:var(--dcf-text-2,var(--dcf-ink-2))}

/* ---------- latest guides ---------- */
.dcf.dcf .dcf-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.dcf.dcf .dcf-cards{display:grid;gap:20px;grid-template-columns:1fr;margin-top:22px}
@media (min-width:640px){.dcf.dcf .dcf-cards{grid-template-columns:1fr 1fr}}
@media (min-width:980px){.dcf.dcf .dcf-cards{grid-template-columns:repeat(var(--dcf-cols,3),minmax(0,1fr))}}
.dcf.dcf .dcf-cards>li.dcf-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--dcf-card-bg,#FFFFFF);border:1px solid var(--dcf-card-border,#E1E8F5);border-radius:16px}
.dcf.dcf .dcf-cards>li.dcf-card:hover{border-color:var(--dcf-blue-soft)}
.dcf.dcf .dcf-thumb{display:grid;place-items:center;aspect-ratio:2/1;overflow:hidden;color:var(--dcf-ink-2)}
.dcf.dcf .dcf-thumb svg{width:46px;height:46px}
.dcf.dcf .dcf-thumb img.dcf-thumb-img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}
.dcf.dcf .dcf-t-sky{background:var(--dcf-sky)}
.dcf.dcf .dcf-t-biscuit{background:var(--dcf-biscuit)}
.dcf.dcf .dcf-t-sage{background:var(--dcf-sage)}
.dcf.dcf .dcf-card-body{padding:16px 18px 20px}
.dcf.dcf .dcf-card-cat{margin:0 0 6px;font-size:calc(var(--dcf-fs,17px)*.772);font-weight:600;color:var(--dcf-muted-c,var(--dcf-muted))}
.dcf.dcf .dcf-card .dcf-h3{font-size:var(--dcf-h3,17.6px);margin-bottom:.4em}
.dcf.dcf a.dcf-card-link{text-decoration:none}
.dcf.dcf a.dcf-card-link::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}
.dcf.dcf .dcf-card:hover a.dcf-card-link{text-decoration:underline}
.dcf.dcf .dcf-card-text{margin:0;font-size:calc(var(--dcf-fs,17px)*.894);color:var(--dcf-text-2,var(--dcf-ink-2))}

/* ---------- how we work and sources ---------- */
.dcf.dcf .dcf-sources{display:grid;grid-template-columns:1fr;border-top:1px solid var(--dcf-line)}
@media (min-width:560px){.dcf.dcf .dcf-sources{grid-template-columns:1fr 1fr;column-gap:28px}}
.dcf.dcf .dcf-sources>li{padding:11px 0;border-bottom:1px solid var(--dcf-line);font-size:calc(var(--dcf-fs,17px)*.904)}
.dcf.dcf .dcf-source-name{display:block;font-weight:600;color:var(--dcf-text,var(--dcf-ink))}
.dcf.dcf .dcf-source-desc{font-size:calc(var(--dcf-fs,17px)*.828);color:var(--dcf-muted-c,var(--dcf-muted))}

@media (prefers-reduced-motion:reduce){.dcf.dcf *,.dcf.dcf *::before,.dcf.dcf *::after{transition:none!important;animation:none!important}}

/* ---------- image box (What Is section) ---------- */
.dcf.dcf .dcf-figure{margin:6px 0 24px;padding:0;border:0;background:none}
.dcf.dcf img.dcf-figure-img{display:block;width:100%;max-width:100%;height:auto;margin:0;padding:0;aspect-ratio:var(--dcf-img-ratio,auto);object-fit:cover;border:1px solid var(--dcf-line);border-radius:var(--dcf-img-r,16px);background:var(--dcf-sky);box-shadow:none}
.dcf.dcf .dcf-figure-cap{display:block;margin:8px 0 0;padding:0;font-size:calc(var(--dcf-fs,17px)*.809);font-style:normal;line-height:1.5;text-align:left;color:var(--dcf-muted-c,var(--dcf-muted))}

/* =================== about page =================== */
.dcf.dcf .dcf-kicker{margin:0 0 8px;font-size:calc(var(--dcf-fs,17px)*.85);font-weight:600;letter-spacing:.01em;color:var(--dcf-marker,var(--dcf-roast))}
@media (min-width:900px){.dcf.dcf .dcf-two-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* about hero + stats */
.dcf.dcf.dcf-ahero{padding-bottom:var(--dcf-pb,clamp(40px,5vw,64px))}
.dcf.dcf .dcf-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(28px,4vw,44px)}
@media (min-width:760px){.dcf.dcf .dcf-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dcf.dcf .dcf-stats>li.dcf-stat{padding:16px 18px;background:#FFFFFF;border:1px solid var(--dcf-line);border-radius:14px}
.dcf.dcf .dcf-stat-num{display:block;font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:clamp(28px,3vw,36px);line-height:1.1;font-variant-numeric:tabular-nums;color:var(--dcf-marker,var(--dcf-roast))}
.dcf.dcf .dcf-stat-label{display:block;margin-top:4px;font-size:calc(var(--dcf-fs,17px)*.85);line-height:1.4;color:var(--dcf-text-2,var(--dcf-ink-2))}

/* what we are */
.dcf.dcf.dcf-awhat-sec .dcf-figure{margin:0 0 clamp(32px,4vw,48px)}

/* where guidance stops */
.dcf.dcf.dcf-limits-sec{background:var(--dcf-section-bg,var(--dcf-sky-band));border-top:1px solid var(--dcf-section-border,#E8EEFA);border-bottom:1px solid var(--dcf-section-border,#E8EEFA)}
.dcf.dcf .dcf-rules{display:grid;gap:18px;grid-template-columns:1fr;margin-top:26px}
@media (min-width:860px){.dcf.dcf .dcf-rules{grid-template-columns:repeat(var(--dcf-cols,3),minmax(0,1fr))}}
.dcf.dcf .dcf-rules>li.dcf-rule{display:flex;flex-direction:column;padding:22px 22px 20px;background:var(--dcf-card-bg,#FFFFFF);border:1px solid var(--dcf-card-border,#DCE6FA);border-top:4px solid var(--dcf-tone);border-radius:16px}
.dcf.dcf .dcf-rule .dcf-h3{font-size:var(--dcf-h3,19px)}
.dcf.dcf .dcf-rule .dcf-p{font-size:calc(var(--dcf-fs,17px)*.94);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-rule .dcf-rule-foot{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--dcf-line);font-weight:600;font-size:calc(var(--dcf-fs,17px)*.85);color:var(--dcf-tone-ink)}
.dcf.dcf .dcf-tone-blue{--dcf-tone:var(--dcf-blue);--dcf-tone-ink:var(--dcf-blue-deep)}
.dcf.dcf .dcf-tone-kibble{--dcf-tone:var(--dcf-kibble);--dcf-tone-ink:var(--dcf-roast)}
.dcf.dcf .dcf-tone-rose{--dcf-tone:var(--dcf-rose-ink);--dcf-tone-ink:var(--dcf-rose-ink)}
.dcf.dcf .dcf-tone-sage{--dcf-tone:var(--dcf-sage-ink);--dcf-tone-ink:var(--dcf-sage-ink)}

/* team */
.dcf.dcf .dcf-team{display:grid;gap:20px;grid-template-columns:1fr;margin-top:26px}
@media (min-width:600px){.dcf.dcf .dcf-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.dcf.dcf .dcf-team{grid-template-columns:repeat(var(--dcf-cols,4),minmax(0,1fr))}}
.dcf.dcf .dcf-team>li.dcf-member{display:flex;flex-direction:column;overflow:hidden;background:var(--dcf-card-bg,#FFFFFF);border:1px solid var(--dcf-card-border,var(--dcf-line));border-radius:16px}
.dcf.dcf .dcf-photo{position:relative;aspect-ratio:var(--dcf-photo-ratio,4/5);overflow:hidden;background:var(--dcf-sky)}
.dcf.dcf .dcf-photo img.dcf-photo-img{display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover}
.dcf.dcf .dcf-photo-empty{display:grid;place-items:center;color:#9FB3D9}
.dcf.dcf .dcf-photo-icon{display:block;width:38%;max-width:110px;height:auto}
.dcf.dcf .dcf-member-body{display:flex;flex:1;flex-direction:column;padding:18px 18px 20px}
.dcf.dcf .dcf-member .dcf-h3{font-size:var(--dcf-h3,18px);margin-bottom:.2em}
.dcf.dcf .dcf-member-role{margin:0 0 10px;font-size:calc(var(--dcf-fs,17px)*.82);font-weight:600;color:var(--dcf-marker,var(--dcf-roast))}
.dcf.dcf .dcf-member-bio{margin:0 0 14px;font-size:calc(var(--dcf-fs,17px)*.9);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf a.dcf-member-link{margin-top:auto;font-size:calc(var(--dcf-fs,17px)*.85);font-weight:600}
.dcf.dcf .dcf-note-biscuit{max-width:none;margin-top:24px;background:var(--dcf-biscuit);border:1px solid #F0E2CC}

/* how a guide gets made */
.dcf.dcf.dcf-process-sec{background:var(--dcf-section-bg,var(--dcf-biscuit-band));border-top:1px solid var(--dcf-section-border,#F3E8D8);border-bottom:1px solid var(--dcf-section-border,#F3E8D8)}
.dcf.dcf .dcf-steps-grid{display:grid;gap:1px;grid-template-columns:1fr;margin-top:26px;overflow:hidden;background:var(--dcf-card-border,#EBDDC7);border:1px solid var(--dcf-card-border,#EBDDC7);border-radius:18px}
@media (min-width:700px){.dcf.dcf .dcf-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.dcf.dcf .dcf-steps-grid{grid-template-columns:repeat(var(--dcf-cols,3),minmax(0,1fr))}}
.dcf.dcf .dcf-steps-grid>li.dcf-pstep{padding:22px 22px 24px;background:var(--dcf-card-bg,#FFFFFF)}
.dcf.dcf .dcf-pstep-num{display:block;margin-bottom:10px;font-family:var(--dcf-hfont,var(--dcf-font-display));font-weight:700;font-size:30px;line-height:1;color:var(--dcf-marker,var(--dcf-roast))}
.dcf.dcf .dcf-pstep .dcf-h3{font-size:var(--dcf-h3,18px);margin-bottom:.35em}
.dcf.dcf .dcf-pstep .dcf-p{margin:0;font-size:calc(var(--dcf-fs,17px)*.92);color:var(--dcf-text-2,var(--dcf-ink-2))}

/* standards */
.dcf.dcf .dcf-standards{display:grid;grid-template-columns:1fr;column-gap:40px;margin-top:22px}
@media (min-width:760px){.dcf.dcf .dcf-standards{grid-template-columns:repeat(var(--dcf-cols,2),minmax(0,1fr))}}
.dcf.dcf .dcf-standards>li.dcf-standard{position:relative;padding:16px 0 16px 36px;border-top:1px solid var(--dcf-line)}
.dcf.dcf .dcf-standards>li.dcf-standard::before{content:"";position:absolute;left:0;top:18px;width:22px;height:22px;border-radius:50%;background:var(--dcf-marker,var(--dcf-sage-ink)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.5l4.5-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.dcf.dcf .dcf-standard .dcf-h3{font-size:var(--dcf-h3,17.5px);margin-bottom:.25em}
.dcf.dcf .dcf-standard .dcf-p{margin:0;font-size:calc(var(--dcf-fs,17px)*.92);color:var(--dcf-text-2,var(--dcf-ink-2))}

/* contact band */
.dcf.dcf.dcf-contact-sec{background:var(--dcf-section-bg,var(--dcf-sky-band));border-top:1px solid var(--dcf-section-border,#E8EEFA);padding-top:var(--dcf-pt,clamp(40px,5vw,60px));padding-bottom:var(--dcf-pb,clamp(40px,5vw,60px))}
.dcf.dcf .dcf-contact-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:860px){.dcf.dcf .dcf-contact-grid{grid-template-columns:repeat(var(--dcf-cols,3),minmax(0,1fr))}}
.dcf.dcf .dcf-cbox{padding:22px;background:var(--dcf-card-bg,#FFFFFF);border:1px solid var(--dcf-card-border,#DCE6FA);border-radius:16px}
.dcf.dcf .dcf-cbox .dcf-h3{font-size:var(--dcf-h3,17.6px)}
.dcf.dcf .dcf-cbox .dcf-p{margin:0 0 10px;font-size:calc(var(--dcf-fs,17px)*.913);color:var(--dcf-text-2,var(--dcf-ink-2))}
.dcf.dcf .dcf-cbox .dcf-p:last-child{margin-bottom:0}
.dcf.dcf .dcf-cbox-link a{font-weight:600}
.dcf.dcf .dcf-cbox .dcf-cbox-note{font-size:calc(var(--dcf-fs,17px)*.809);color:var(--dcf-muted-c,var(--dcf-muted))}
.dcf.dcf .dcf-cbox-rose{background:var(--dcf-rose);border-color:#F5D9D3}
.dcf.dcf .dcf-cbox-rose .dcf-h3{color:var(--dcf-rose-ink)}
.dcf.dcf.dcf-ahero .dcf-kcal-table tbody th,.dcf.dcf.dcf-ahero .dcf-kcal-table thead th:first-child{width:auto;padding-right:14px;white-space:nowrap}
.dcf.dcf.dcf-ahero .dcf-kcal-table td:nth-child(2){width:100%;padding-right:12px}.dcf.dcf.dcf-ahero .dcf-kcal-table .dcf-val{width:auto}
@media (max-width:520px){.dcf.dcf.dcf-ahero .dcf-kcal-table tbody th,.dcf.dcf.dcf-ahero .dcf-kcal-table thead th:first-child{width:34%;white-space:normal}}
