/*
Theme Name: Aging Parent Rescue
Theme URI: https://agingparentrescue.com/
Author: Aging Parent Rescue
Description: Accessible, SEO-focused theme for home-safety and mobility guides written for adult children caring for aging parents. Built around measurements and fit, not magazine mosaics. No CDN JS, no build step, dark mode with no flash, real print stylesheet, and Amazon Associates compliant affiliate components.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: diyinfozone
Tags: blog, two-columns, right-sidebar, custom-menu, featured-images, dark-mode, accessibility-ready, translation-ready
*/

/* ==========================================================================
   1. Design tokens
   --------------------------------------------------------------------------
   Palette is deliberately NOT medical blue-white (cold, clinical) and NOT
   "senior beige". Warm ivory ground, deep teal for trust, terracotta for the
   one thing you should click. Danger red is reserved for real load-bearing
   safety warnings and must never be spent on marketing.

   NOTE: the internal prefix is still `dz-` / `dz_`. That is intentional —
   renaming ~120 call sites without a PHP linter available was not worth the
   risk of a fatal on a live site. It is invisible to readers and to Google.
   ========================================================================== */

:root {
  /* brand — deep teal, desaturated so it reads calm rather than corporate */
  --brand-50:#eef4f5; --brand-100:#d6e7ea; --brand-400:#4e97a6; --brand-500:#2e7c8c;
  --brand-600:#216374; --brand-700:#1b4d5c; --brand-900:#0f3039;

  --amazon:#ff9900; --amazon-hover:#e38800;   /* Amazon orange stays Amazon orange */
  --cta:#c2622a; --cta-hover:#a8531f;         /* terracotta — primary non-Amazon action */

  /* muted accents: the original ramps were retuned so nothing shouts on a warm ground */
  --amber-400:#d9a945; --amber-500:#b8862a; --amber-600:#94690f;
  --blue-500:#3d6f8e; --emerald-500:#2f6b4f; --rose-300:#d9a89f; --rose-500:#a33327;

  /* neutrals biased warm so they sit on ivory instead of fighting it */
  --s-50:#fbf9f5;  --s-100:#f4f1ea; --s-200:#e2dcd2; --s-300:#cfc7ba; --s-400:#9aa0a4;
  --s-500:#6b767f; --s-600:#4a545e; --s-700:#333c44; --s-800:#1f272c; --s-900:#14181c;
  --s-950:#0b0f12;

  /* semantic — light */
  --bg:            var(--s-50);
  --bg-surface:    #ffffff;
  --bg-sunken:     var(--s-100);
  --bg-inverse:    #14262b;
  --text:          var(--s-600);
  --text-strong:   #1a1f24;
  --text-muted:    var(--s-500);
  --text-onbrand:  #ffffff;
  --border:        var(--s-200);
  --border-strong: var(--s-300);
  --accent:        var(--brand-700);
  --accent-hover:  var(--brand-600);
  --accent-soft:   var(--brand-50);

  /* safety semantics — separate from the accent hue on purpose */
  --safe:#2f6b4f;   --safe-soft:#dceadf;
  --warn:#b8862a;   --warn-soft:#f4ead3;
  --danger:#a33327; --danger-soft:#f6e0db;

  /* measurement chip — the signature element of this site */
  --measure-bg:#e3f0f3; --measure-ink:#0f3a46; --measure-border:#bcd9df;

  --shadow-sm: 0 1px 2px rgba(26,31,36,.05);
  --shadow-md: 0 4px 14px rgba(26,31,36,.08);
  --shadow-lg: 0 12px 32px rgba(26,31,36,.13);

  --container: 78rem;
  --radius: .5rem;
  --radius-sm: .375rem;
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-head: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

html.dark {
  --bg:            var(--s-900);
  --bg-surface:    var(--s-800);
  --bg-sunken:     var(--s-950);
  --bg-inverse:    #000000;
  --text:          #aeb8c2;
  --text-strong:   #edeff2;
  --text-muted:    #8695a0;
  --border:        #2c353b;
  --border-strong: #3b464d;
  --accent:        #5fb2c4;
  --accent-hover:  #7cc4d3;
  --accent-soft:   rgba(27,77,92,.35);

  --cta:#e08a4e; --cta-hover:#eda169;

  --safe:#67b08c;   --safe-soft:#152a20;
  --warn:#e0b057;   --warn-soft:#2e2617;
  --danger:#e0705f; --danger-soft:#331914;

  --measure-bg:#16323a; --measure-ink:#a9dce7; --measure-border:#25505c;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 4px 14px rgba(0,0,0,.45);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.55);
}

/* ==========================================================================
   2. Reset & base
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}

/* The background is set on <html> as well as <body>. Relying on body's
   background propagating to the canvas leaves a light strip behind the
   overscroll bounce on iOS in dark mode. color-scheme additionally themes
   native scrollbars, form controls and the caret. */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg);color-scheme:light}
html.dark{color-scheme:dark}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;min-height:100vh;display:flex;flex-direction:column;
  font-family:var(--font-sans);font-size:1rem;line-height:1.6;
  background:var(--bg);color:var(--text);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);color:var(--text-strong);margin:0;line-height:1.2;font-weight:700}
p{margin:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--s-300);border-radius:4px}
html.dark ::-webkit-scrollbar-thumb{background:var(--s-600)}

/* ==========================================================================
   3. Helpers
   ========================================================================== */

.dz-container{max-width:var(--container);margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.dz-container{padding-inline:1.5rem}}
@media (min-width:1024px){.dz-container{padding-inline:2rem}}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0
}
.dz-skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--accent);color:#fff;padding:.75rem 1.25rem;font-weight:700;border-radius:0 0 var(--radius-sm) 0
}
.dz-skip-link:focus{left:0}

.dz-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dz-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.dz-icon{width:1em;height:1em;fill:currentColor;flex:none}

/* ==========================================================================
   4. Announcement bar
   ========================================================================== */

.dz-announce{
  background:var(--s-900);color:#fff;font-size:.75rem;text-align:center;padding:.5rem 1rem
}
html.dark .dz-announce{background:#000}
.dz-announce a{color:var(--amazon);font-weight:700}
.dz-announce a:hover{text-decoration:underline}

/* ==========================================================================
   5. Header
   ========================================================================== */

.dz-header{
  position:sticky;top:0;z-index:50;
  background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)
}
html.dark .dz-header{background:var(--s-900)}
.dz-header__bar{display:flex;align-items:center;justify-content:space-between;height:5rem;gap:1rem}
.dz-logo{font-family:var(--font-head);font-size:1.5rem;font-weight:900;letter-spacing:-.025em;color:var(--text-strong);white-space:nowrap}
.dz-logo span{color:var(--brand-500)}
.dz-logo img{max-height:3rem;width:auto}

.dz-nav{display:none;gap:2rem}
@media (min-width:768px){.dz-nav{display:flex}}
.dz-nav ul{display:flex;gap:2rem;list-style:none}
.dz-nav a{font-weight:500;color:var(--text);padding-block:.25rem;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.dz-nav a:hover{color:var(--accent)}
.dz-nav .current-menu-item>a,.dz-nav .current_page_item>a,.dz-nav .current-menu-ancestor>a{
  color:var(--accent);font-weight:600;border-bottom-color:var(--brand-500)
}

.dz-header__actions{display:flex;align-items:center;gap:1rem}
.dz-iconbtn{
  background:none;border:0;padding:.25rem;cursor:pointer;color:var(--text-muted);
  font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;transition:color .2s
}
.dz-iconbtn:hover{color:var(--accent)}
.dz-iconbtn--menu{font-size:1.5rem}
@media (min-width:768px){.dz-iconbtn--menu{display:none}}
.dz-iconbtn--search{display:none}
@media (min-width:640px){.dz-iconbtn--search{display:inline-flex}}

/* search drawer */
.dz-searchbar{display:none;border-top:1px solid var(--border);background:var(--bg-surface);padding:1rem 0}
.dz-searchbar.is-open{display:block}
.dz-searchform{display:flex;gap:.5rem}
.dz-searchform input[type=search]{
  flex:1;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);
  padding:.625rem .875rem;font-size:.9375rem
}
.dz-searchform button{
  background:var(--brand-600);color:#fff;border:0;border-radius:var(--radius-sm);
  padding:.625rem 1.25rem;font-weight:700;cursor:pointer;transition:background .2s
}
.dz-searchform button:hover{background:var(--brand-500)}

/* mobile menu */
.dz-mobilemenu{display:none;border-top:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-lg)}
.dz-mobilemenu.is-open{display:block}
@media (min-width:768px){.dz-mobilemenu,.dz-mobilemenu.is-open{display:none}}
.dz-mobilemenu ul{list-style:none;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}
.dz-mobilemenu a{display:block;padding:.625rem .75rem;border-radius:var(--radius-sm);font-weight:500;transition:background .2s,color .2s}
.dz-mobilemenu a:hover{color:var(--accent)}
.dz-mobilemenu .current-menu-item>a,.dz-mobilemenu .current_page_item>a{background:var(--accent-soft);color:var(--accent);font-weight:600}

/* ==========================================================================
   6. Hero grid
   ========================================================================== */

.dz-hero{display:grid;grid-template-columns:1fr;gap:.25rem;border-radius:var(--radius);overflow:hidden}
@media (min-width:640px){.dz-hero{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.dz-hero{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);height:500px}}

.dz-hero__item{position:relative;overflow:hidden;background:var(--s-900);display:block;min-height:200px}
.dz-hero__item--lead{min-height:350px}
@media (min-width:640px){
  .dz-hero__item--lead{grid-column:span 2}
  .dz-hero__item--wide{grid-column:span 2}
}
@media (min-width:1024px){
  .dz-hero__item{min-height:0}
  .dz-hero__item--lead{grid-column:span 2;grid-row:span 2}
  .dz-hero__item--wide{grid-column:span 2;grid-row:span 1}
  .dz-hero__item--small{grid-column:span 1;grid-row:span 1}
}
/* secondary tiles hidden on the narrowest screens, as in the design */
.dz-hero__item--secondary{display:none}
@media (min-width:640px){.dz-hero__item--secondary{display:block}}

.dz-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .7s,transform .7s}
.dz-hero__item:hover .dz-hero__img{opacity:1;transform:scale(1.05)}
.dz-hero__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.4) 50%,transparent)}
.dz-hero__body{position:absolute;inset-inline:0;bottom:0;z-index:10;padding:1.25rem;color:#fff;display:flex;flex-direction:column}
@media (min-width:768px){.dz-hero__item--lead .dz-hero__body{padding:2rem}.dz-hero__item--wide .dz-hero__body{padding:1.5rem}}
.dz-hero__title{color:#fff;font-weight:700;line-height:1.15;text-shadow:0 2px 6px rgba(0,0,0,.45);transition:color .2s}
.dz-hero__item:hover .dz-hero__title{color:var(--brand-400)}
.dz-hero__item--lead .dz-hero__title{font-size:1.5rem;margin-bottom:.75rem}
@media (min-width:768px){.dz-hero__item--lead .dz-hero__title{font-size:1.875rem}}
@media (min-width:1024px){.dz-hero__item--lead .dz-hero__title{font-size:2.25rem}}
.dz-hero__item--wide .dz-hero__title{font-size:1.25rem;margin-bottom:.25rem}
@media (min-width:768px){.dz-hero__item--wide .dz-hero__title{font-size:1.5rem}}
.dz-hero__item--small .dz-hero__title{font-size:1rem}
.dz-hero__meta{font-size:.75rem;color:var(--s-300);font-weight:500}
.dz-hero__meta strong{color:#fff}

.dz-eyebrow{
  display:inline-block;width:fit-content;background:rgba(15,23,42,.9);color:#fff;
  font-size:.625rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;
  padding:.25rem .5rem;margin-bottom:.5rem;box-shadow:var(--shadow-sm)
}
.dz-hero__item--lead .dz-eyebrow{margin-bottom:.75rem}

/* ==========================================================================
   7. Category quick links
   ========================================================================== */

.dz-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media (min-width:768px){.dz-cats{grid-template-columns:repeat(5,1fr);gap:1rem}}
.dz-cat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:1rem;transition:border-color .2s,box-shadow .2s
}
.dz-cat:hover{box-shadow:var(--shadow-md);border-color:var(--c,var(--brand-500))}
.dz-cat__icon{
  width:3rem;height:3rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;margin-bottom:.5rem;background:var(--c-soft);color:var(--c);transition:background .2s,color .2s
}
.dz-cat:hover .dz-cat__icon{background:var(--c);color:#fff}
.dz-cat__name{font-family:var(--font-head);font-weight:700;font-size:.875rem;color:var(--text-strong)}

.dz-cat--1{--c:var(--brand-600);--c-soft:var(--brand-50)}
.dz-cat--2{--c:var(--amber-600);--c-soft:#fffbeb}
.dz-cat--3{--c:#2563eb;--c-soft:#eff6ff}
.dz-cat--4{--c:#059669;--c-soft:#ecfdf5}
.dz-cat--5{--c:#e11d48;--c-soft:#fff1f2}
html.dark .dz-cat--1{--c:var(--brand-400);--c-soft:rgba(19,78,74,.3)}
html.dark .dz-cat--2{--c:var(--amber-500);--c-soft:rgba(120,53,15,.3)}
html.dark .dz-cat--3{--c:#60a5fa;--c-soft:rgba(30,58,138,.3)}
html.dark .dz-cat--4{--c:#34d399;--c-soft:rgba(6,78,59,.3)}
html.dark .dz-cat--5{--c:#fb7185;--c-soft:rgba(136,19,55,.3)}

/* ==========================================================================
   8. Layout: content + sidebar
   ========================================================================== */

.dz-layout{display:flex;flex-direction:column;gap:2rem}
@media (min-width:1024px){.dz-layout{flex-direction:row}}

/* Percentage widths that sum to 100% overflow once the gap is added, and
   flexbox then shrinks both columns to an even split. A fixed sidebar with
   a flexible content column gives the intended 2/3–1/3 proportion and a
   stable reading measure at every width. min-width:0 lets the content
   column shrink below the intrinsic width of wide children (tables). */
.dz-content{width:100%;min-width:0;display:flex;flex-direction:column;gap:3rem}
.dz-sidebar{width:100%;min-width:0;display:flex;flex-direction:column;gap:2rem}
@media (min-width:1024px){
  .dz-content{flex:1 1 auto;width:auto}
  .dz-sidebar{flex:0 0 21rem;width:21rem}
}
@media (min-width:1280px){
  .dz-sidebar{flex-basis:23rem;width:23rem}
}

.dz-sectionhead{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)
}
.dz-sectionhead h2{font-size:1.5rem;display:flex;align-items:center;gap:.75rem}
.dz-sectionhead--sm h2{font-size:1.25rem;gap:.5rem}
.dz-sectionhead__badge{
  width:2rem;height:2rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;
  justify-content:center;font-size:.875rem;color:#fff;background:var(--badge,var(--brand-500));flex:none
}
.dz-sectionhead__icon{color:var(--s-400);font-size:1.125rem}
.dz-sectionhead__more{font-size:.8125rem;font-weight:700;color:var(--accent);white-space:nowrap}
.dz-sectionhead__more:hover{text-decoration:underline}

/* ==========================================================================
   9. Article cards
   ========================================================================== */

.dz-grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:768px){.dz-grid-2{grid-template-columns:repeat(2,1fr)}}
.dz-stack{display:flex;flex-direction:column;gap:1rem}
.dz-split{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:768px){.dz-split{grid-template-columns:repeat(2,1fr)}}

/* card: image on top */
.dz-card{
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);
  transition:box-shadow .2s
}
.dz-card:hover{box-shadow:var(--shadow-md)}
.dz-card__media{display:block;position:relative;overflow:hidden;height:12rem;background:var(--bg-sunken)}
.dz-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dz-card:hover .dz-card__media img{transform:scale(1.05)}
.dz-card__body{padding:1.25rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.dz-card__title{font-size:1.125rem;line-height:1.25;transition:color .2s}
.dz-card:hover .dz-card__title{color:var(--accent)}
.dz-card__excerpt{font-size:.875rem;color:var(--text-muted)}
.dz-card__meta{font-size:.75rem;color:var(--text-muted);margin-top:auto}

/* card: horizontal */
.dz-card--row{flex-direction:column}
@media (min-width:640px){
  .dz-card--row{flex-direction:row}
  .dz-card--row .dz-card__media{width:40%;height:auto;flex:none}
  .dz-card--row .dz-card__body{width:60%;justify-content:center}
}
.dz-card--row .dz-card__media{height:12rem}
.dz-card--row .dz-card__title{font-size:1.25rem}
.dz-ribbon{
  position:absolute;top:.5rem;left:.5rem;z-index:10;
  background:var(--brand-500);color:#fff;font-size:.625rem;font-weight:700;
  text-transform:uppercase;padding:.25rem .5rem;border-radius:.25rem;box-shadow:var(--shadow-sm)
}
.dz-readmore{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:700;color:var(--accent)}
.dz-readmore:hover{text-decoration:underline}
.dz-readmore .dz-icon{font-size:.625rem}

/* card: tiny horizontal (thumb + title) */
.dz-mini{display:flex;gap:1rem;align-items:center}
.dz-mini__media{width:6rem;height:6rem;flex:none;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-sunken)}
.dz-mini__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.dz-mini:hover .dz-mini__media img{transform:scale(1.1)}
.dz-mini__title{font-family:var(--font-sans);font-size:.875rem;font-weight:700;line-height:1.25;margin-bottom:.25rem;transition:color .2s}
.dz-mini:hover .dz-mini__title{color:var(--accent)}
.dz-mini__meta{font-size:.75rem;color:var(--text-muted)}

/* ==========================================================================
   10. Feature (woodworking-style) masonry
   ========================================================================== */

.dz-feature{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:768px){.dz-feature{grid-template-columns:repeat(12,1fr)}}
.dz-feature__main{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--s-900);min-height:280px;box-shadow:var(--shadow-sm)}
@media (min-width:640px){.dz-feature__main{min-height:350px}}
@media (min-width:768px){.dz-feature__main{grid-column:span 8}}
.dz-feature__side{display:none;flex-direction:column;gap:1rem}
@media (min-width:640px){.dz-feature__side{display:flex}}
@media (min-width:768px){.dz-feature__side{grid-column:span 4}}
.dz-feature__sub{position:relative;flex:1;overflow:hidden;border-radius:var(--radius);background:var(--s-900);min-height:160px;box-shadow:var(--shadow-sm)}
.dz-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .7s,transform .7s}
.dz-feature__main:hover img,.dz-feature__sub:hover img{opacity:1;transform:scale(1.05)}
.dz-feature__scrim{position:absolute;inset:0;z-index:10;background:linear-gradient(to top,var(--s-900),rgba(15,23,42,.6) 50%,transparent)}
.dz-feature__sub .dz-feature__scrim{background:linear-gradient(to top,var(--s-900),rgba(15,23,42,.4) 50%,transparent)}
.dz-feature__body{position:absolute;inset-inline:0;bottom:0;z-index:20;padding:1.25rem}
@media (min-width:640px){.dz-feature__main .dz-feature__body{padding:1.5rem}}
.dz-feature__sub .dz-feature__body{padding:1rem}
.dz-feature__title{color:#fff;line-height:1.2;transition:color .2s}
.dz-feature__main .dz-feature__title{font-size:1.25rem;margin-bottom:.5rem}
@media (min-width:640px){.dz-feature__main .dz-feature__title{font-size:1.5rem}}
.dz-feature__sub .dz-feature__title{font-size:.875rem}
.dz-feature__main:hover .dz-feature__title,.dz-feature__sub:hover .dz-feature__title{color:var(--rose-300)}
.dz-feature__excerpt{display:none;color:var(--s-300);font-size:.875rem;max-width:36rem;margin-bottom:.75rem}
@media (min-width:640px){.dz-feature__excerpt{display:block}}
.dz-tag{
  display:inline-block;font-size:.625rem;font-weight:700;text-transform:uppercase;
  padding:.25rem .5rem;border-radius:.25rem;margin-bottom:.75rem;color:#fff;background:var(--rose-500);box-shadow:var(--shadow-sm)
}
.dz-tag--muted{background:rgba(15,23,42,.8);font-size:.5625rem;padding:.125rem .375rem;margin-bottom:.375rem}

/* ==========================================================================
   11. Sidebar widgets
   ========================================================================== */

.dz-widget{
  background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.5rem;box-shadow:var(--shadow-sm)
}
.dz-widget__title{
  font-size:1.125rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)
}
.dz-widget ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.dz-widget li a:hover{color:var(--accent)}
.dz-widget--sticky{position:sticky;top:6rem}

/* Ask-the-expert */
.dz-ask{background:var(--s-900);color:#fff;border-color:var(--s-800);position:relative;overflow:hidden}
html.dark .dz-ask{background:var(--s-950)}
.dz-ask__deco{position:absolute;top:0;right:0;padding:1rem;opacity:.1;font-size:3.75rem;pointer-events:none}
.dz-ask__title{color:#fff;font-size:1.125rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.dz-ask__title .dz-icon{color:var(--amber-400)}
.dz-ask__hint{font-size:.75rem;color:var(--s-400);margin-bottom:1rem}
.dz-ask textarea{
  width:100%;background:var(--s-800);border:1px solid var(--s-700);color:#fff;
  border-radius:var(--radius-sm);padding:.625rem .75rem;font-size:.875rem;resize:none
}
html.dark .dz-ask textarea{background:var(--s-900)}
.dz-ask textarea::placeholder{color:var(--s-500)}
.dz-ask textarea:focus{outline:2px solid var(--brand-500);outline-offset:0;border-color:transparent}
.dz-ask__submit{
  margin-top:.5rem;width:100%;background:var(--brand-600);color:#fff;border:0;border-radius:var(--radius-sm);
  padding:.5rem;font-weight:700;font-size:.875rem;cursor:pointer;display:flex;align-items:center;
  justify-content:center;gap:.5rem;transition:background .2s
}
.dz-ask__submit:hover:not(:disabled){background:var(--brand-500)}
.dz-ask__submit:disabled{opacity:.7;cursor:not-allowed}
.dz-ask__out{
  margin-top:1rem;padding:.75rem;background:var(--s-800);border-left:2px solid var(--brand-500);
  border-radius:var(--radius-sm);font-size:.875rem;color:var(--s-300)
}
html.dark .dz-ask__out{background:var(--s-900)}
.dz-ask__out[hidden]{display:none}
.dz-ask__disclaimer{margin-top:.75rem;font-size:.6875rem;color:var(--s-500);line-height:1.5}
.dz-spin{animation:dz-spin 1s linear infinite}
@keyframes dz-spin{to{transform:rotate(360deg)}}

/* Disclosure */
.dz-disclosure{
  background:#fffbeb;border:1px solid #fde68a;color:var(--s-700);
  border-radius:var(--radius);padding:1.25rem;font-size:.75rem;line-height:1.6
}
html.dark .dz-disclosure{background:rgba(120,53,15,.12);border-color:rgba(146,64,14,.5);color:rgba(254,243,199,.8)}
.dz-disclosure__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:700;font-size:.875rem;color:#92400e}
html.dark .dz-disclosure__head{color:var(--amber-500)}
.dz-disclosure--inline{margin-bottom:1.5rem;padding:.75rem 1rem}

/* Newsletter */
.dz-newsletter{background:var(--brand-50);border-color:#99f6e4;text-align:center}
html.dark .dz-newsletter{background:rgba(19,78,74,.12);border-color:rgba(15,118,110,.5)}
.dz-newsletter .dz-icon{font-size:1.875rem;color:var(--brand-500);margin:0 auto .75rem}
.dz-newsletter h3{font-size:1.125rem;color:var(--brand-900);margin-bottom:.5rem}
html.dark .dz-newsletter h3{color:var(--brand-100)}
.dz-newsletter p{font-size:.75rem;color:var(--text-muted);margin-bottom:1rem}
.dz-newsletter form{display:flex;flex-direction:column;gap:.5rem}
.dz-newsletter input{
  width:100%;background:var(--bg-surface);border:1px solid var(--border-strong);
  border-radius:.25rem;padding:.5rem .75rem;font-size:.875rem
}
.dz-newsletter button{
  width:100%;background:var(--brand-600);color:#fff;border:0;border-radius:.25rem;
  padding:.5rem;font-weight:700;font-size:.875rem;cursor:pointer;transition:background .2s
}
.dz-newsletter button:hover{background:var(--brand-700)}

/* Top rated list */
.dz-toplist{display:flex;flex-direction:column;gap:1rem}
.dz-toplist__item{display:flex;align-items:flex-start;gap:.75rem}
.dz-toplist__media{width:4rem;height:4rem;flex:none;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-sunken)}
.dz-toplist__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.dz-toplist__item:hover .dz-toplist__media img{transform:scale(1.1)}
.dz-toplist__title{font-family:var(--font-sans);font-size:.875rem;font-weight:700;line-height:1.25;color:var(--text-strong)}
.dz-toplist__item:hover .dz-toplist__title{color:var(--accent)}
.dz-rating{display:flex;align-items:center;gap:.125rem;font-size:.75rem;color:var(--amazon);margin-top:.25rem}
.dz-rating__label{color:var(--text-muted);margin-left:.375rem;font-size:.6875rem}

/* ==========================================================================
   12. Affiliate components (post content)
   ========================================================================== */

.dz-btn-amazon{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--amazon);color:#111;font-weight:700;font-size:.9375rem;
  padding:.75rem 1.5rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);
  transition:background .2s,transform .1s
}
.dz-btn-amazon:hover{background:var(--amazon-hover);color:#111}
.dz-btn-amazon:active{transform:translateY(1px)}
.dz-btn-amazon--block{display:flex;width:100%}

.dz-product{
  border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);
  padding:1.25rem;margin-block:1.75rem;box-shadow:var(--shadow-sm);
  display:grid;grid-template-columns:1fr;gap:1.25rem
}
@media (min-width:640px){.dz-product{grid-template-columns:200px 1fr;align-items:start}}
.dz-product__media{border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-sunken)}
.dz-product__award{
  display:inline-block;background:var(--brand-600);color:#fff;font-size:.6875rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;padding:.25rem .625rem;border-radius:9999px;margin-bottom:.5rem
}
.dz-product__name{font-size:1.25rem;margin-bottom:.5rem}
.dz-product__cols{display:grid;grid-template-columns:1fr;gap:1rem;margin-block:1rem}
@media (min-width:640px){.dz-product__cols{grid-template-columns:repeat(2,1fr)}}
.dz-product__cols h4{font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.375rem}
.dz-pros h4{color:#059669}
.dz-cons h4{color:#e11d48}
html.dark .dz-pros h4{color:#34d399}
html.dark .dz-cons h4{color:#fb7185}
.dz-product ul{list-style:none;display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}
.dz-product li{padding-left:1.25rem;position:relative}
.dz-pros li::before{content:"✓";position:absolute;left:0;color:#059669;font-weight:700}
.dz-cons li::before{content:"✕";position:absolute;left:0;color:#e11d48;font-weight:700}
html.dark .dz-pros li::before{color:#34d399}
html.dark .dz-cons li::before{color:#fb7185}

.dz-table-wrap{overflow-x:auto;margin-block:1.75rem;-webkit-overflow-scrolling:touch}
.dz-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:34rem}
.dz-table th,.dz-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}
.dz-table thead th{background:var(--bg-sunken);font-family:var(--font-head);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-strong)}
.dz-table tbody tr:hover{background:var(--bg-sunken)}

/* ==========================================================================
   13. Single post / page
   ========================================================================== */

.dz-breadcrumb{font-size:.8125rem;color:var(--text-muted);margin-bottom:1rem}
.dz-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}
.dz-breadcrumb a:hover{color:var(--accent);text-decoration:underline}
.dz-breadcrumb li+li::before{content:"/";margin-right:.375rem;color:var(--border-strong)}

.dz-article{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}
@media (min-width:768px){.dz-article{padding:2.5rem}}
.dz-article__title{font-size:1.875rem;line-height:1.15;margin-bottom:.75rem}
@media (min-width:768px){.dz-article__title{font-size:2.5rem}}
.dz-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}
.dz-article__meta strong{color:var(--text-strong)}
.dz-article__thumb{border-radius:var(--radius);overflow:hidden;margin-bottom:1.75rem}

.dz-prose{font-size:1.0625rem;line-height:1.75}
.dz-prose > * + *{margin-top:1.25rem}
.dz-prose h2{font-size:1.625rem;margin-top:2.5rem;scroll-margin-top:6rem}
.dz-prose h3{font-size:1.3125rem;margin-top:2rem;scroll-margin-top:6rem}
.dz-prose h4{font-size:1.0625rem;margin-top:1.5rem}
.dz-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.dz-prose a:hover{color:var(--accent-hover)}
.dz-prose ul,.dz-prose ol{padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.dz-prose ul{list-style:disc}
.dz-prose ol{list-style:decimal}
.dz-prose img{border-radius:var(--radius);margin-inline:auto}
.dz-prose figure{margin:1.75rem 0}
.dz-prose figcaption{font-size:.8125rem;color:var(--text-muted);text-align:center;margin-top:.5rem}
.dz-prose blockquote{
  border-left:4px solid var(--brand-500);background:var(--bg-sunken);
  padding:1rem 1.25rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic
}
.dz-prose code{background:var(--bg-sunken);padding:.125rem .375rem;border-radius:.25rem;font-size:.9em}
.dz-prose pre{background:var(--s-900);color:var(--s-100);padding:1rem;border-radius:var(--radius);overflow-x:auto}
.dz-prose pre code{background:none;padding:0}
.dz-prose table{width:100%;border-collapse:collapse;font-size:.9375rem}
.dz-prose th,.dz-prose td{border:1px solid var(--border);padding:.625rem}
.dz-prose th{background:var(--bg-sunken)}

.dz-toc{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-block:1.75rem}
.dz-toc__title{font-size:.9375rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.dz-toc ol{list-style:decimal;padding-left:1.25rem;display:flex;flex-direction:column;gap:.375rem;font-size:.9375rem}
.dz-toc a:hover{color:var(--accent);text-decoration:underline}

.dz-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.dz-tags a{
  font-size:.75rem;font-weight:600;background:var(--bg-sunken);border:1px solid var(--border);
  padding:.25rem .625rem;border-radius:9999px;color:var(--text-muted)
}
.dz-tags a:hover{color:var(--accent);border-color:var(--accent)}

.dz-authorbox{
  display:flex;gap:1rem;align-items:flex-start;margin-top:2rem;padding:1.25rem;
  background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius)
}
.dz-authorbox img{border-radius:9999px;flex:none}
.dz-authorbox h3{font-size:1rem;margin-bottom:.25rem}
.dz-authorbox p{font-size:.875rem;color:var(--text-muted)}

.dz-postnav{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}
@media (min-width:640px){.dz-postnav{grid-template-columns:repeat(2,1fr)}}
.dz-postnav a{
  display:block;padding:1rem;background:var(--bg-surface);border:1px solid var(--border);
  border-radius:var(--radius);transition:border-color .2s
}
.dz-postnav a:hover{border-color:var(--accent)}
.dz-postnav span{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem}
.dz-postnav strong{font-family:var(--font-head);font-size:.9375rem;color:var(--text-strong)}
.dz-postnav .is-next{text-align:right}

.dz-related{margin-top:3rem}

/* ==========================================================================
   14. Archive / pagination / 404
   ========================================================================== */

.dz-pagehead{margin-bottom:2rem}
.dz-pagehead h1{font-size:2rem;margin-bottom:.5rem}
@media (min-width:768px){.dz-pagehead h1{font-size:2.5rem}}
.dz-pagehead p{color:var(--text-muted)}

.dz-pagination{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:2.5rem}
.dz-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;
  padding-inline:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--bg-surface);font-weight:600;font-size:.875rem;transition:border-color .2s,background .2s
}
.dz-pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.dz-pagination .page-numbers.current{background:var(--brand-600);border-color:var(--brand-600);color:#fff}
.dz-pagination .dots{border-color:transparent;background:none}

.dz-empty{text-align:center;padding:4rem 1rem}
.dz-empty h1{font-size:4rem;color:var(--brand-500);margin-bottom:.5rem}
.dz-empty p{color:var(--text-muted);margin-bottom:1.5rem}

/* ==========================================================================
   15. Comments
   ========================================================================== */

.dz-comments{margin-top:3rem}
.dz-comments ol{list-style:none}
.dz-comments .children{list-style:none;padding-left:1.5rem;margin-top:1rem}
.dz-comments li{margin-bottom:1.25rem}
.dz-comments .comment-body{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.dz-comments .comment-meta{font-size:.8125rem;color:var(--text-muted);margin-bottom:.5rem}
.dz-comments .comment-author img{border-radius:9999px;display:inline-block;vertical-align:middle;margin-right:.5rem}
.dz-comments input[type=text],.dz-comments input[type=email],.dz-comments input[type=url],.dz-comments textarea{
  width:100%;background:var(--bg-surface);border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);padding:.625rem .75rem;font-size:.9375rem;margin-top:.25rem
}
.dz-comments .submit{
  background:var(--brand-600);color:#fff;border:0;border-radius:var(--radius-sm);
  padding:.625rem 1.5rem;font-weight:700;cursor:pointer
}
.dz-comments .submit:hover{background:var(--brand-500)}

/* ==========================================================================
   16. Footer
   ========================================================================== */

.dz-footer{margin-top:auto;background:var(--s-900);color:var(--s-300);border-top:1px solid var(--s-800)}
html.dark .dz-footer{background:#000}
.dz-footer__grid{display:grid;grid-template-columns:1fr;gap:2rem;padding-block:3rem}
@media (min-width:768px){.dz-footer__grid{grid-template-columns:repeat(4,1fr)}}
.dz-footer__brand{grid-column:span 1}
@media (min-width:768px){.dz-footer__brand{grid-column:span 2}}
.dz-footer .dz-logo{color:#fff;display:block;margin-bottom:1rem}
.dz-footer .dz-logo span{color:var(--brand-400)}
.dz-footer__about{font-size:.875rem;color:var(--s-400);max-width:24rem;margin-bottom:1.5rem}
.dz-social{display:flex;gap:1rem}
.dz-social a{
  width:2rem;height:2rem;border-radius:9999px;background:var(--s-800);
  display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:background .2s,color .2s
}
.dz-social a:hover{background:var(--brand-500);color:#fff}
.dz-footer h4{
  color:#fff;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem
}
.dz-footer ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}
.dz-footer a:hover{color:var(--brand-400)}
.dz-footer__bottom{
  border-top:1px solid var(--s-800);padding-block:1.5rem;font-size:.75rem;color:var(--s-500);
  display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center
}
@media (min-width:768px){
  .dz-footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}
  .dz-footer__bottom p:last-child{text-align:right;max-width:42rem}
}

/* ==========================================================================
   17. WordPress core classes
   ========================================================================== */

.alignleft{float:left;margin:.5rem 1.5rem 1rem 0}
.alignright{float:right;margin:.5rem 0 1rem 1.5rem}
.aligncenter{display:block;margin-inline:auto}
.alignwide{max-width:min(100%,60rem)}
.alignfull{max-width:100%}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.8125rem;color:var(--text-muted);text-align:center;margin-top:.5rem}
.sticky .dz-card__title::before{content:"★ ";color:var(--amazon)}
.bypostauthor{}
.gallery-caption{}

/* ==========================================================================
   18. Accessibility overrides
   --------------------------------------------------------------------------
   This is a site ABOUT accessibility read by people aged 45–75 (and their
   parents). Failing these is an own-goal the audience notices immediately.
   Targets: body >= 18px, body-copy contrast >= 7:1, tap targets >= 44px,
   never hover-only, always-visible focus ring.
   ========================================================================== */

body{font-size:1.125rem;line-height:1.65}          /* 18px floor */
.dz-prose{font-size:1.1875rem;line-height:1.75}    /* 19px reading text */
.dz-prose p{max-width:68ch}

/* Focus is a feature here, not a nuisance. Never outline:none. */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm);
}

/* Tap targets. The icon buttons and nav links were sized for a mouse. */
.dz-iconbtn{min-width:44px;min-height:44px}
.dz-nav a,.dz-mobilemenu a,.dz-footer a{min-height:44px;display:inline-flex;align-items:center}
.dz-pagination a,.dz-pagination span{min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center}

/* Nothing may depend on hover alone. */
@media (hover:none){
  .dz-nav a,.dz-card a{text-decoration-thickness:auto}
}

/* Links inside reading text must be distinguishable without colour alone. */
.dz-prose a:not(.dz-btn-amazon):not(.dz-btn){
  text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:.08em;
}

/* ==========================================================================
   19. Measurement chip — the signature element
   --------------------------------------------------------------------------
   Every number on this site is set in mono with tabular figures. Same idea as
   part numbers on the repair sites: the reader should be able to spot the
   answer without reading the sentence.
   ========================================================================== */

.apr-measure{
  font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;
  background:var(--measure-bg);color:var(--measure-ink);
  border:1px solid var(--measure-border);border-radius:var(--radius-sm);
  padding:.05em .38em;white-space:nowrap;
}

/* Big answer box at the top of a /specs/ article. */
.apr-answer{
  background:var(--measure-bg);border:1px solid var(--measure-border);
  border-radius:var(--radius);padding:1.25rem 1.5rem;margin:0 0 1.75rem;
}
.apr-answer__big{
  font-family:var(--font-mono);font-variant-numeric:tabular-nums;
  font-size:clamp(1.9rem,5vw,2.8rem);font-weight:600;line-height:1.1;
  color:var(--measure-ink);display:block;margin-bottom:.4rem;
}
.apr-answer__note{color:var(--text);font-size:1rem;margin:0}
.apr-answer__src{display:block;margin-top:.6rem;font-size:.875rem;color:var(--text-muted)}

/* ==========================================================================
   20. Safety callout & "don't buy" block
   --------------------------------------------------------------------------
   Mandatory on any article touching a load-bearing product (grab bar, bed
   rail, handrail, transfer aid, ramp, lift). --danger is reserved for this.
   ========================================================================== */

.apr-safety{
  border:1px solid var(--danger);border-left-width:5px;background:var(--danger-soft);
  border-radius:var(--radius-sm);padding:1rem 1.15rem;margin:1.5rem 0;
}
.apr-safety__label{
  display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--danger);margin-bottom:.35rem;
}
.apr-safety p{margin:0}

.apr-dontbuy{
  border:1px solid var(--border-strong);border-left:5px solid var(--warn);
  background:var(--bg-surface);border-radius:var(--radius-sm);
  padding:1rem 1.15rem;margin:1.5rem 0;
}
.apr-dontbuy__label{
  display:block;font-size:.75rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--warn);margin-bottom:.35rem;
}

/* Reviewer credential badge — belongs at the TOP of the article, not the footer. */
.apr-reviewer{
  display:flex;gap:.85rem;align-items:center;flex-wrap:wrap;
  border:1px solid var(--border);background:var(--bg-surface);
  border-radius:var(--radius-sm);padding:.7rem .9rem;margin:0 0 1.5rem;font-size:.95rem;
}
.apr-reviewer img{width:44px;height:44px;border-radius:50%;flex:none}
.apr-reviewer b{color:var(--text-strong)}
.apr-reviewer .apr-cred{
  font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;
  background:var(--accent-soft);color:var(--accent);
  padding:.1em .45em;border-radius:var(--radius-sm);
}

/* ==========================================================================
   21. Homepage: "what just happened" triage router
   --------------------------------------------------------------------------
   Replaces the magazine hero mosaic. The reader arrives mid-crisis and needs
   a route, not a carousel. Cards are large, single-purpose and fully clickable.
   ========================================================================== */

.apr-hero{padding:2.5rem 0 1.25rem}
.apr-hero__kicker{
  font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-muted);margin:0 0 .5rem;
}
.apr-hero__title{
  font-size:clamp(1.85rem,4.6vw,2.75rem);line-height:1.12;margin:0 0 .6rem;
  letter-spacing:-.02em;text-wrap:balance;
}
.apr-hero__sub{font-size:1.1rem;color:var(--text);margin:0;max-width:60ch}

.apr-triage{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:.85rem;margin:1.75rem 0 0;
}
.apr-triage__card{
  display:flex;flex-direction:column;gap:.45rem;justify-content:center;
  min-height:132px;padding:1.15rem 1.25rem;
  background:var(--bg-surface);border:1px solid var(--border);
  border-left:4px solid var(--accent);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.apr-triage__card:hover,.apr-triage__card:focus-visible{
  border-color:var(--border-strong);border-left-color:var(--cta);
  box-shadow:var(--shadow-md);transform:translateY(-2px);
}
@media (prefers-reduced-motion:reduce){.apr-triage__card{transition:none}
  .apr-triage__card:hover{transform:none}}
.apr-triage__icon{color:var(--accent)}
.apr-triage__icon .dz-icon{width:26px;height:26px}
.apr-triage__t{
  font-family:var(--font-head);font-size:1.22rem;font-weight:600;
  color:var(--text-strong);line-height:1.25;
}
.apr-triage__d{font-size:.95rem;color:var(--text-muted);line-height:1.45}

/* Start-here band: the printable room-by-room audit (lead magnet). */
.apr-startbar{
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
  background:var(--bg-inverse);color:#fff;border-radius:var(--radius);
  padding:1.4rem 1.6rem;margin:2rem 0;
}
.apr-startbar h2{color:#fff;font-size:1.35rem;margin:0 0 .3rem}
.apr-startbar p{margin:0;color:rgba(255,255,255,.82);max-width:56ch;font-size:1rem}
.apr-btn{
  display:inline-flex;align-items:center;gap:.5rem;min-height:48px;
  padding:.7rem 1.35rem;border-radius:var(--radius-sm);
  background:var(--cta);color:#fff;font-weight:600;white-space:nowrap;
}
.apr-btn:hover{background:var(--cta-hover)}

/* Tools row. */
.apr-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}
.apr-tool{
  background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;
}
.apr-tool:hover{border-color:var(--accent)}
.apr-tool__t{font-family:var(--font-head);font-size:1.1rem;font-weight:600;color:var(--text-strong)}
.apr-tool__d{font-size:.93rem;color:var(--text-muted)}

/* "The numbers people ask for most" — answers visible on the homepage itself. */
.apr-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:.5rem}
.apr-number{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem .95rem;background:var(--bg-surface);
  border:1px solid var(--border);border-radius:var(--radius-sm);
}
.apr-number:hover{border-color:var(--accent)}
.apr-number__q{font-size:.98rem;color:var(--text)}
.apr-number__a{
  font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;
  color:var(--measure-ink);background:var(--measure-bg);
  border:1px solid var(--measure-border);border-radius:var(--radius-sm);
  padding:.1em .45em;white-space:nowrap;font-size:.95rem;
}

/* Section heading used by the new homepage. */
.apr-sec{margin:2.75rem 0 0}
.apr-sec__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  border-bottom:2px solid var(--text-strong);padding-bottom:.5rem;margin-bottom:1.1rem;
}
.apr-sec__head h2{font-size:1.5rem;margin:0;letter-spacing:-.015em}
.apr-sec__head a{color:var(--accent);font-size:.95rem;font-weight:600}

/* Rooms grid. */
.apr-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}
.apr-room{
  display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center;
  padding:1rem .6rem;background:var(--bg-surface);
  border:1px solid var(--border);border-radius:var(--radius);min-height:96px;
  justify-content:center;font-weight:600;color:var(--text-strong);
}
.apr-room:hover{border-color:var(--accent);color:var(--accent)}
.apr-room .dz-icon{width:24px;height:24px}

/* Descriptor line under the logo — REQUIRED, do not remove.
   "Rescue" reads as an emergency service without it; this is the same
   disambiguation trick used on the other niche sites. */
.apr-descriptor{
  display:block;font-family:var(--font-sans);font-size:.72rem;font-weight:600;
  letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted);
  margin-top:.15rem;line-height:1.3;
}
@media (max-width:640px){.apr-descriptor{display:none}}

/* ==========================================================================
   22. Print
   --------------------------------------------------------------------------
   Not optional. Readers in this niche print checklists and carry them around
   their parent's house. No competitor bothers.
   ========================================================================== */

@media print{
  .dz-announce,.dz-header,.dz-footer,.dz-sidebar,.dz-nav,.dz-mobilemenu,
  .dz-searchbar,.dz-ask,.dz-newsletter,.dz-comments,.dz-postnav,
  .apr-startbar,.dz-pagination,.dz-btn-amazon,.apr-btn,.dz-skip-link{display:none!important}

  html,body{background:#fff!important;color:#000!important;font-size:12pt}
  .dz-layout{display:block!important}
  .dz-content{width:100%!important;max-width:none!important}
  .dz-prose{font-size:12pt;line-height:1.5}

  h1,h2,h3{color:#000!important;break-after:avoid}
  p,li,tr,img,.apr-safety,.apr-answer{break-inside:avoid}

  /* Measurements must survive losing their background colour. */
  .apr-measure,.apr-answer__big,.apr-number__a{
    background:none!important;color:#000!important;border:1px solid #000!important;
  }
  .apr-safety{border:2px solid #000!important;background:none!important}
  .apr-safety__label{color:#000!important}

  /* Checklists become paper forms: real tick boxes and a place to write. */
  .apr-checklist li{list-style:none;break-inside:avoid;margin-bottom:.45em}
  .apr-checklist li::before{content:"\2610\00a0\00a0";font-size:14pt}
  .apr-note{display:block!important;min-height:2.6em;border-bottom:1px dotted #000}

  /* A printed page is useless if you cannot tell where a link went. */
  .dz-prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}

  table{border-collapse:collapse}
  th,td{border:1px solid #000;padding:4pt}
}
