/* Kennel Prices Australia — design system v4 "PHE family" (25 Oct 2026). One file, mobile-first.
   Palette + type echo Pet Humanization Empire (pethumanizationempire.com): paper #F6F1EA, ink #1C1714, clay #C4A484,
   rule #E2D8CC, sage #5E6D5A; Newsreader (headings) + Red Hat Display (text), both SIL OFL 1.1, self-hosted latin subsets.
   Contrast checked: body text, links and muted text ≥ 7:1 (AAA) in light and dark. */
@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/red-hat-display-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/red-hat-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/newsreader-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/newsreader-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  color-scheme:light dark;
  /* colour (PHE family). --brand = bronze ink for links/accents; buttons use --btn (PHE ink). */
  --bg:#f6f1ea;--surface:#fffcf7;--surface-2:#efe7db;--ink:#1c1714;--muted:#4d433c;
  --line:#e2d8cc;--line-strong:#8c7b6b;
  --brand:#5c4128;--brand-strong:#3e2b19;--brand-tint:#ede3d3;--brand-mid:#c4a484;--on-brand:#f6f1ea;
  --btn:#1c1714;--btn-hover:#493c34;--on-btn:#f6f1ea;
  --accent:#c4a484;--accent-ink:#6e3517;--accent-tint:#f3e6dc;
  --focus:#8a5a2b;--feat:#3f4b3b;--feat-tint:#eef0ea;
  --foot-bg:#1c1714;--foot-ink:#f6f1ea;--foot-muted:#cfc3b5;--foot-link:#e6cba4;--foot-line:#3b322b;
  --st-full-bg:#fde2e1;--st-full:#7f1414;--st-part-bg:#ffedd5;--st-part:#733500;--st-lim-bg:#fef9c3;--st-lim:#5a4400;
  --st-ok-bg:#dcfce7;--st-ok:#11532b;--st-unk-bg:#ebe6df;--st-unk:#4b4540;
  /* type: fluid scale */
  --font:"Red Hat Display",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --serif:Newsreader,"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  --t-sm:clamp(.875rem,.85rem + .1vw,.9375rem);--t-0:clamp(1rem,.97rem + .15vw,1.0625rem);
  --t-1:clamp(1.125rem,1.07rem + .3vw,1.25rem);--t-2:clamp(1.4rem,1.2rem + .85vw,1.8rem);
  --t-3:clamp(1.85rem,1.4rem + 2vw,2.75rem);
  /* space */
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4rem;
  --r:2px;--r-sm:2px;--r-pill:2px;--tap:44px;--wrap:1160px;--header-h:64px;
  --shadow:none;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#171310;--surface:#211b17;--surface-2:#2b241f;--ink:#f6f1ea;--muted:#d2c6b8;
  --line:#3b322b;--line-strong:#7d6e60;
  --brand:#e6cba4;--brand-strong:#f3e0c4;--brand-tint:#3a2e22;--brand-mid:#a88a68;--on-brand:#171310;
  --btn:#e6cba4;--btn-hover:#f3e0c4;--on-btn:#171310;
  --accent:#c4a484;--accent-ink:#f0b48e;--accent-tint:#33261c;
  --focus:#e6cba4;--feat:#b9c8b2;--feat-tint:#222b20;
  --foot-bg:#0f0c0a;--foot-ink:#f6f1ea;--foot-muted:#d2c6b8;--foot-link:#e6cba4;--foot-line:#3b322b;
  --st-full-bg:#4a1414;--st-full:#ffd1cf;--st-part-bg:#4a2a0a;--st-part:#ffd9b0;--st-lim-bg:#3d3205;--st-lim:#fdeb8a;
  --st-ok-bg:#0d3a1f;--st-ok:#b9f5cc;--st-unk-bg:#332c26;--st-unk:#e2d8cc;
  --shadow:none;
}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s4))}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--font);font-size:var(--t-0);line-height:1.65;color:var(--ink);background:var(--bg);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.2;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:var(--t-3);margin:var(--s4) 0 var(--s3);color:var(--ink)}
h2{font-size:var(--t-2);margin:var(--s7) 0 var(--s3)}
h3{font-size:var(--t-1);margin:var(--s5) 0 var(--s2)}
p,ul,ol{margin:0 0 var(--s4)}
li+li{margin-top:var(--s1)}
a{color:var(--brand);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--brand-strong);text-decoration-thickness:.14em}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
::selection{background:var(--accent-tint);color:var(--ink)}
.vh{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}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--s4)}
@media (min-width:48em){.wrap{padding:0 var(--s5)}}
.lede{font-size:var(--t-1);max-width:68ch}
.muted{color:var(--muted)}.small{font-size:var(--t-sm)}
.prose{max-width:72ch}
article>p,section>p{max-width:75ch}
hr{border:0;border-top:1px solid var(--line);margin:var(--s6) 0}

/* ---------- skip link ---------- */
.skip{position:absolute;left:var(--s3);top:-100px;z-index:100;background:var(--brand);color:var(--on-brand);padding:var(--s3) var(--s4);border-radius:var(--r-sm);font-weight:700;text-decoration:none}
.skip:focus{top:var(--s3)}

/* ---------- header & navigation ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:50}
.site-header{position:relative}
.js .site-header{position:sticky;top:0}
@media (min-width:64em){.site-header{position:sticky;top:0}}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);min-height:var(--header-h);padding-top:var(--s2);padding-bottom:var(--s2)}
.brand{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);text-decoration:none;color:var(--ink);font-weight:800;font-size:clamp(.95rem,.85rem + .5vw,1.15rem);line-height:1.1;letter-spacing:-.01em}
.brand:hover{color:var(--ink)}
.brand img{width:40px;height:40px;flex:none}
.brand-name span{color:var(--accent-ink)}
.menu-btn{display:none;align-items:center;gap:var(--s2);min-height:var(--tap);min-width:var(--tap);padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.js .menu-btn{display:inline-flex}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}
.menu-icon::before{top:-6px}.menu-icon::after{top:6px}
.menu-btn[aria-expanded=true] .menu-icon{background:transparent}
.menu-btn[aria-expanded=true] .menu-icon::before{top:0;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] .menu-icon::after{top:0;transform:rotate(-45deg)}
.menu{flex-basis:100%;padding-bottom:var(--s3)}
.js .menu{display:none}
.js .menu.is-open{display:block;max-height:calc(100vh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
.menu ul{list-style:none;margin:0;padding:0}
.menu li+li{margin-top:0}
.nav-label{display:block;font-size:var(--t-sm);font-weight:700;color:var(--muted);margin:var(--s2) 0 var(--s1)}
.city-switch ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:var(--s1);background:var(--surface-2);border-radius:var(--r-pill);padding:var(--s1)}
.city-switch a{display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 var(--s4);border-radius:var(--r-pill);text-decoration:none;font-weight:700;color:var(--ink)}
.city-switch a:hover{background:var(--surface)}
.city-switch a[aria-current]{background:var(--brand);color:var(--on-brand)}
.main-nav ul{display:grid;gap:0}
.main-nav a{display:flex;align-items:center;min-height:var(--tap);padding:var(--s2) var(--s3);border-radius:var(--r-sm);text-decoration:none;color:var(--ink);font-weight:600}
.main-nav a:hover{background:var(--surface-2);color:var(--ink)}
.main-nav a[aria-current]{background:var(--brand-tint);color:var(--brand-strong);box-shadow:inset 3px 0 0 var(--brand)}
.main-nav .nav-cta a{background:var(--accent-tint);color:var(--accent-ink);margin-top:var(--s2)}
@media (min-width:64em){
  .bar{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"brand city" "nav nav";padding-bottom:0;row-gap:var(--s1)}
  .brand{grid-area:brand}
  .menu-btn{display:none!important}
  .menu,.js .menu{display:contents}
  .nav-label{display:none}
  .city-switch{grid-area:city;justify-self:end}
  .city-switch ul{display:flex}
  .city-switch a{min-height:40px;padding:0 var(--s4)}
  .main-nav{grid-area:nav;margin:0 calc(-1 * var(--s3))}
  .main-nav ul{display:flex;flex-wrap:wrap;gap:0 var(--s1)}
  .main-nav a{padding:var(--s2) var(--s3);border-radius:var(--r-sm) var(--r-sm) 0 0}
  .main-nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--brand);background:transparent}
  .main-nav .nav-cta{margin-left:auto}
  .main-nav .nav-cta a{margin:0 0 var(--s1);border-radius:var(--r-pill)}
}
main{display:block;padding-bottom:var(--s7)}
main:focus{outline:none}

/* ---------- breadcrumbs, toc, related ---------- */
.crumbs ol{list-style:none;padding:0;margin:var(--s4) 0 0;display:flex;flex-wrap:wrap;align-items:center;font-size:var(--t-sm);color:var(--muted)}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin:0 var(--s2);color:var(--line-strong)}
.crumbs a{display:inline-block;padding:var(--s2) 0;color:var(--muted)}
.crumbs a:hover{color:var(--brand)}
.crumbs [aria-current]{color:var(--ink);font-weight:600}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s5) 0;max-width:75ch}
.toc-title{font-weight:800;margin:0 0 var(--s2);font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.toc ol{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2)}
.toc li{margin:0}
.toc a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-pill);background:var(--surface-2);text-decoration:none;font-weight:600;font-size:var(--t-sm)}
.toc a:hover{background:var(--brand-tint)}
.related{border-top:1px solid var(--line);margin-top:var(--s7);padding-top:var(--s2)}
.link-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--s2)}
.link-grid li{margin:0}
.link-grid a{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:var(--tap);padding:var(--s2) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;font-weight:600}
.link-grid a::after{content:"→";color:var(--accent-ink)}
.link-grid a:hover{border-color:var(--brand);background:var(--brand-tint)}

/* ---------- hero, buttons, callouts ---------- */
.hero{padding:var(--s5) 0 var(--s2)}
.hero-home{display:grid;gap:var(--s5);align-items:start}
@media (min-width:56em){.hero-home{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.glance{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--r);padding:var(--s4) var(--s5);box-shadow:var(--shadow)}
.glance h2{font-size:var(--t-1);margin:0 0 var(--s2)}
.glance ul{list-style:none;padding:0;margin:0}
.glance li{margin:0;border-top:1px solid var(--line)}
.glance li:first-child{border-top:0}
.glance a{display:flex;flex-direction:column;min-height:var(--tap);padding:var(--s2) 0;text-decoration:none;font-weight:700}
.glance a span{font-weight:400;color:var(--muted);font-size:var(--t-sm)}
.glance a:hover span{color:var(--ink)}
.hero .lede{color:var(--muted)}
.eyebrow{display:inline-block;font-size:var(--t-sm);font-weight:800;color:var(--accent-ink);text-transform:uppercase;letter-spacing:.08em;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--tap);padding:var(--s2) var(--s5);border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);border:2px solid var(--brand);text-decoration:none;font:inherit;font-weight:700;line-height:1.2;cursor:pointer;text-align:center}
.btn:hover{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand)}
.btn-ghost{background:transparent;color:var(--brand)}
.btn-ghost:hover{background:var(--brand-tint);color:var(--brand-strong)}
.btn-small{min-height:var(--tap);padding:var(--s1) var(--s4);font-size:var(--t-sm)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0}
button.btn{font:inherit;font-weight:700}
.checked{display:inline-block;background:var(--brand-tint);color:var(--ink);border-radius:var(--r-sm);padding:var(--s1) var(--s3);font-size:var(--t-sm);margin-bottom:var(--s3)}
.callout{background:var(--accent-tint);border-left:4px solid var(--accent);padding:var(--s3) var(--s4);border-radius:var(--r-sm);margin:var(--s5) 0;max-width:80ch}
.cta{background:var(--brand-tint);border-radius:var(--r);padding:var(--s5);margin:var(--s7) 0 var(--s5)}
.cta h2{margin-top:0}
.cta .btn{margin:var(--s1) var(--s2) var(--s1) 0}

/* ---------- search box (home) ---------- */
.searchbox{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);box-shadow:var(--shadow);max-width:40rem}
.searchbox label{flex-basis:100%;font-weight:700}
.searchbox input{flex:1 1 14rem}

/* ---------- cards, pills, stats ---------- */
.cards{list-style:none;padding:0;margin:0 0 var(--s5);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--s3)}
.cards>li{margin:0}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--s1)}
.card p{margin:0}
.card:hover{border-color:var(--brand-mid)}
.card-title{font-weight:800;font-size:var(--t-1);line-height:1.3;text-decoration:none;color:var(--brand)}
.card-title:hover{text-decoration:underline}
.card .card-links{margin-top:auto;padding-top:var(--s2);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}
.card .card-links a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-pill);background:var(--surface-2);text-decoration:none;font-weight:600;font-size:var(--t-sm)}
.card .card-links a:hover{background:var(--brand-tint)}
.card-feat{border:2px solid var(--feat)}
.card-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-sm);margin-bottom:var(--s2)}
.hero-photo{width:100%;max-width:800px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);margin:var(--s3) 0}
.city-card .card-title{font-size:var(--t-2)}
.pills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.pills li{margin:0}
.pills a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s4);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:600}
.pills a:hover{border-color:var(--brand);background:var(--brand-tint)}
.regions{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--s2)}
.regions li{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s2) var(--s3)}
.regions .rname{flex-basis:100%;font-weight:700}
.regions a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-pill);background:var(--surface-2);text-decoration:none;font-weight:600;font-size:var(--t-sm)}
.regions a:hover{background:var(--brand-tint)}
.stats{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--s2)}
.stats li{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3) var(--s4)}
.stats .num{display:block;font-size:var(--t-3);font-weight:800;line-height:1.1;color:var(--brand)}
.facts{padding-left:1.2em}

/* ---------- badges ---------- */
.badge{display:inline-block;font-size:.8rem;font-weight:700;line-height:1.5;padding:.05em .6em;border-radius:var(--r-pill);white-space:nowrap;vertical-align:.08em}
.st-full{background:var(--st-full-bg);color:var(--st-full)}.st-part{background:var(--st-part-bg);color:var(--st-part)}
.st-limited{background:var(--st-lim-bg);color:var(--st-lim)}.st-ok{background:var(--st-ok-bg);color:var(--st-ok)}
.st-unknown{background:var(--st-unk-bg);color:var(--st-unk)}
.st-feat{background:var(--feat);color:var(--surface);margin-left:var(--s1)}
.src{font-size:var(--t-sm);color:var(--muted)}
.src a,a.src{color:var(--brand)}
a[target=_blank]::after{content:"\2197" / "";display:inline-block;margin-left:.15em;font-size:.8em;text-decoration:none}
.btn[target=_blank]::after{content:none}

/* ---------- tables ---------- */
.tablewrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:0 0 var(--s4)}
.tablewrap:focus-visible{outline-offset:-3px}
table{border-collapse:collapse;width:100%;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
caption{caption-side:top;text-align:left;padding:var(--s3) var(--s4);font-weight:700;color:var(--ink);background:var(--surface-2);border-bottom:1px solid var(--line)}
caption .small{display:block;font-weight:400;color:var(--muted)}
th,td{text-align:left;vertical-align:top;padding:var(--s3);border-bottom:1px solid var(--line)}
thead th{background:var(--surface-2);font-size:var(--t-sm);white-space:nowrap}
tbody tr:last-child>*{border-bottom:0}
tbody tr:hover>td{background:color-mix(in srgb,var(--brand-tint) 45%,transparent)}
table.xmas{min-width:62rem}table.hol{min-width:84rem}table.hol abbr{text-decoration:none}@media (min-width:48em){table.hol td:last-child{min-width:20rem}}
.facts-table th{width:28%;background:var(--surface-2)}
.row-feat td{background:var(--feat-tint)}
.sort-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--tap);cursor:pointer;font-weight:700;color:var(--brand);border-radius:4px;white-space:normal}
.sort-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.sort-ind::after{content:"\2195";opacity:.55}
[aria-sort=ascending] .sort-ind::after{content:"\25B2";opacity:1}
[aria-sort=descending] .sort-ind::after{content:"\25BC";opacity:1}
.js thead th:has(.sort-btn){padding-top:0;padding-bottom:0}
/* small screens: stack rows into cards */
@media (max-width:47.99em){
  table.stack{min-width:0}
  table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .js table.stack thead{position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:block;border-bottom:1px solid var(--line);background:var(--surface-2)}
  .js table.stack thead tr{display:flex;flex-wrap:wrap;gap:0 var(--s2);padding:var(--s1) var(--s3)}
  .js table.stack thead tr::before{content:"Sort by:";align-self:center;font-size:var(--t-sm);color:var(--muted);margin-right:var(--s1)}
  .js table.stack thead th{display:block;border:0;padding:0;background:none}
  .js table.stack thead th[data-nosort],.js table.stack thead th:not(:has(.sort-btn)){display:none}
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack caption{display:block}
  table.stack tr{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}
  table.stack tbody tr:last-child{border-bottom:0}
  table.stack td{border:0;padding:var(--s1) 0 var(--s1) calc(38% + var(--s3));position:relative;min-height:1.6em}
  table.stack td::before{content:attr(data-label);position:absolute;left:0;top:var(--s1);width:38%;font-weight:700;color:var(--muted);font-size:var(--t-sm);line-height:1.4}
  table.stack td:first-child{padding-left:0;font-size:var(--t-0);font-weight:700;padding-bottom:var(--s2)}
  table.stack td:first-child::before{content:none}
  .tablewrap:has(table.stack){overflow:visible}
  .facts-table,.facts-table tbody,.facts-table tr,.facts-table th,.facts-table td{display:block;width:100%}
  .facts-table th{border-bottom:0;padding-bottom:0;background:none}
  .facts-table tr{border-bottom:1px solid var(--line);padding:var(--s2) 0}
  .facts-table td{border:0}
}

/* ---------- filter ---------- */
.filter{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);margin:var(--s4) 0}
.filter[hidden]{display:none}
.filter label{display:block;font-weight:700;font-size:var(--t-sm);margin-bottom:var(--s1)}
.filter-count{grid-column:1/-1;margin:0;font-weight:600;color:var(--muted)}
.no-results{background:var(--surface-2);border-radius:var(--r);padding:var(--s4)}

/* ---------- forms ---------- */
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;max-width:34rem;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-sm);font:inherit;color:var(--ink);background:var(--surface)}
textarea{min-height:8rem}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--brand)}
input[type=checkbox]{width:1.35rem;height:1.35rem;accent-color:var(--brand);vertical-align:-.25em;margin:0 var(--s2) 0 0;flex:none}
.signup{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);padding:var(--s5);margin:var(--s6) 0;box-shadow:var(--shadow)}
.signup h2{margin-top:0}
.form label{display:block;font-weight:700;font-size:var(--t-sm);margin-bottom:var(--s1)}
.form .check label{display:flex;align-items:flex-start;font-weight:400;font-size:var(--t-0);min-height:var(--tap);gap:0}
.form-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:0 var(--s4)}
.form-inline .check,.form-inline p:last-child{grid-column:1/-1}
.form-note{font-size:var(--t-sm);color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- promos (affiliate + house ads) ---------- */
.promo{border:1px dashed var(--line-strong);background:var(--surface);border-radius:var(--r);padding:var(--s4);margin:var(--s5) 0;max-width:46rem}
.promo-label{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700;color:var(--muted);margin:0}
.promo-title{font-weight:800;margin:var(--s1) 0;font-size:var(--t-1)}
.promo-house{border-style:solid;border-color:var(--line);border-left:4px solid var(--accent);background:var(--surface)}
.promo .btn{margin-top:var(--s1);max-width:100%}

/* ---------- FAQ ---------- */
details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 var(--s4);margin:var(--s2) 0;max-width:80ch}
summary{font-weight:700;cursor:pointer;min-height:var(--tap);display:flex;align-items:center;padding:var(--s2) 0}
details[open] summary{border-bottom:1px solid var(--line);margin-bottom:var(--s3)}

/* ---------- footer ---------- */
.site-footer{background:var(--surface);border-top:1px solid var(--line);font-size:var(--t-sm);color:var(--muted);padding:var(--s6) 0 var(--s5)}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--s5)}
.foot-h{font-size:var(--t-0);margin:0 0 var(--s2);color:var(--ink)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:0}
.site-footer li a{display:inline-flex;align-items:center;min-height:36px;padding:var(--s1) 0}
.site-footer a{color:var(--brand)}
.foot-brand{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s4)}
.foot-brand img{width:40px;height:40px}
.foot-legal{border-top:1px solid var(--line);margin-top:var(--s5);padding-top:var(--s4)}

/* ---------- 404 ---------- */
.notfound{padding:var(--s5) 0}

/* ---------- print (price pages, trackers, provider pages) ---------- */
/* ---------- v3.1 landing page, alerts, plans ---------- */
.hero-main h1{font-size:clamp(1.9rem,1.4rem + 2.4vw,3rem)}
.finder{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4) var(--s5);box-shadow:var(--shadow);display:grid;gap:var(--s3);max-width:44rem}
.finder-title{font-weight:800;font-size:var(--t-1);margin:0 0 var(--s2)}
.finder label{display:block;font-weight:700;font-size:var(--t-sm);margin-bottom:var(--s1)}
.find-row{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:flex-end}
.find-row>p{margin:0;flex:1 1 11rem}
.find-row>.find-go{flex:0 0 auto}
.find-row input{flex:1 1 12rem}
.find-search{border-top:1px solid var(--line);padding-top:var(--s3)}
.kpis{list-style:none;padding:0;margin:0 0 var(--s2);display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.kpis li{margin:0;border:0!important;background:var(--surface-2);border-radius:var(--r-sm);padding:var(--s2) var(--s3);font-size:var(--t-sm)}
.kpis .num{display:block;font-size:var(--t-2);font-weight:800;color:var(--brand);line-height:1.15}
.trust-grid,.plan-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))!important}
.city-prices,.xmas-cities,.trust-grid,.plan-grid{list-style:none;padding:0;margin:0 0 var(--s5);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:var(--s3)}
.city-prices>li,.xmas-cities>li,.trust-grid>li,.plan-grid>li{margin:0}
.cp-city{margin:0 0 var(--s2);font-size:var(--t-2)}.cp-city a{text-decoration:none}
.price-lines{list-style:none;padding:0;margin:0;display:grid;gap:var(--s2)}
.price-lines li{margin:0;display:grid;gap:2px}
.price-lines>li>a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"pet from" "med med";gap:0 var(--s3);align-items:baseline;min-height:var(--tap);padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--surface-2);text-decoration:none;color:var(--ink)}
.price-lines>li>a:hover{background:var(--brand-tint)}
.pl-pet{grid-area:pet;font-weight:800;color:var(--brand)}.pl-from{grid-area:from;text-align:right;font-size:var(--t-1)}.pl-med{grid-area:med;font-size:var(--t-sm);color:var(--muted)}
.pl-cheap{padding:0 var(--s3)}
.xmas-band{background:var(--accent-tint);border-radius:var(--r);padding:var(--s2) var(--s5) var(--s3);margin:var(--s7) 0 var(--s5)}
.xmas-band h2{margin-top:var(--s4)}
.xmas-cities h3,.trust-grid h3{margin:0 0 var(--s2)}
.deadline{border-left:4px solid var(--accent);padding-left:var(--s3)}
.trust-grid>li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.trust-grid p{margin:0}
.band{background:var(--brand);color:var(--on-brand);border-radius:var(--r);padding:var(--s5);margin:var(--s7) 0 var(--s5)}
.band h2{margin-top:0;color:var(--on-brand)}
.band .btn{background:var(--on-brand);color:var(--brand);border-color:var(--on-brand)}
.band .btn:hover{background:var(--brand-tint);color:var(--brand-strong)}
.band .btn-ghost{background:transparent;color:var(--on-brand);border-color:var(--on-brand)}
.band .btn-ghost:hover{background:rgb(255 255 255 / .12);color:var(--on-brand)}
.band a:not(.btn){color:var(--on-brand)}
.signup-alerts .fa-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:0 var(--s4)}
.signup-alerts .fa-email{grid-column:1/-1}
@media (min-width:48em){.signup-compact .fa-email{grid-column:auto}.signup-compact .fa-fields{grid-template-columns:2fr 1fr 1fr}}
.interests{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s2) var(--s3);margin:0 0 var(--s3);display:flex;flex-wrap:wrap;gap:0 var(--s5)}
.interests legend{font-weight:700;font-size:var(--t-sm);padding:0 var(--s1)}
.interests label{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:400;font-size:var(--t-0);margin:0}
.feature-list{max-width:75ch}.feature-list li+li{margin-top:var(--s2)}
.steps{max-width:75ch}.steps li+li{margin-top:var(--s2)}
.founding{background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--r);padding:var(--s3) var(--s5);max-width:60rem;margin:var(--s4) 0}
.founding p{margin:0}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5);box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%}
.plan-hl{border:2px solid var(--brand)}
.plan h3{margin:0}.plan-note{color:var(--muted);font-size:var(--t-sm);margin:var(--s1) 0 var(--s3)}
.plan-price{margin:0}.plan-price .amt{font-size:var(--t-3);font-weight:800;color:var(--brand)}.plan-price .per{color:var(--muted)}
.plan-annual{font-size:var(--t-sm);margin:0 0 var(--s3)}
.plan ul{padding-left:1.1em;margin:0 0 var(--s4)}
.plan-cta{margin-top:auto;display:flex;flex-direction:column;gap:var(--s2)}
.feat-desc{margin:var(--s1) 0}
@media print{.finder,.band,.xmas-band .btn,.glance{display:none!important}}
/* (xmas column widths above) */
@media print{
  :root{--bg:#fff;--surface:#fff;--surface-2:#f2f2f2;--ink:#000;--muted:#333;--line:#999;--brand:#000;--brand-tint:#fff}
  body{font-size:11pt;line-height:1.4;background:#fff;color:#000}
  .site-header,.skip,.site-footer .foot-grid,.toc,.related,.promo,.signup,.cta,.filter,.menu-btn,.btn,.crumbs,form{display:none!important}
  .site-header{position:static}
  h1{font-size:20pt;margin-top:0}h2{font-size:14pt;margin-top:14pt;break-after:avoid}
  a{color:#000;text-decoration:underline}
  a[target=_blank]::after{content:none}
  .src a[href^=http]::after,td a[href^=http]::after{content:" (" attr(href) ")";font-size:8pt;word-break:break-all}
  .tablewrap{overflow:visible;border:0}
  table,table.xmas{min-width:0;font-size:9pt}
  table.stack thead{position:static!important;width:auto!important;height:auto!important;clip-path:none!important;display:table-header-group!important}
  table.stack,table.stack tbody{display:table!important}table.stack tbody{display:table-row-group!important}
  table.stack tr{display:table-row!important}table.stack td{display:table-cell!important}
  table.stack td::before{content:none!important}
  tr,td,th{break-inside:avoid}
  .badge{border:1px solid #000;background:none!important;color:#000!important}
  details{border:0;padding:0}details>*{display:block}
  .checked{background:none;border:1px solid #000}
  .sort-ind{display:none}
}
table.xmas td:first-child{min-width:11rem}table.xmas td:nth-child(2){min-width:8rem}

/* ---------- v4 "PHE family" (25 Oct 2026): echoes pethumanizationempire.com — serif headings, square ink buttons,
   flat paper cards with hairline rules, ink family strip + ink footer. Overrides the v3 component rules above. ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.012em;line-height:1.15}
h1{font-size:var(--t-3)}
.hero-main h1{font-size:clamp(2.1rem,1.5rem + 2.8vw,3.4rem)}
b,strong{font-weight:700}
main p,main li,main dd{overflow-wrap:break-word}
.eyebrow{color:var(--brand);font-weight:600;letter-spacing:.2em}
.toc-title{letter-spacing:.18em;font-weight:700}
/* family strip (inside the header; scrolls away, the bar below stays sticky) */
.family-strip{background:var(--foot-bg);color:var(--foot-ink);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-align:center;line-height:1;height:2rem;display:flex;align-items:center;justify-content:center;padding:0 var(--s3);margin:0;white-space:nowrap;overflow:hidden}
@media (max-width:26em){.family-strip{letter-spacing:.06em;font-size:.6875rem}}
.site-header{background:var(--bg);border-bottom:1px solid var(--line)}
.js .site-header{top:-2rem}
@media (min-width:64em){.site-header{top:-2rem}}
.brand{font-weight:600;letter-spacing:.005em;font-size:clamp(1rem,.9rem + .5vw,1.2rem)}
.brand-name span{color:var(--brand)}
.skip{background:var(--btn);color:var(--on-btn)}
.menu-btn{border-color:var(--ink);background:transparent;text-transform:uppercase;letter-spacing:.14em;font-size:var(--t-sm);font-weight:600}
.city-switch ul{background:transparent;border:1px solid var(--line);padding:2px}
.city-switch a{font-weight:600}
.city-switch a:hover{background:var(--surface-2)}
.city-switch a[aria-current]{background:var(--btn);color:var(--on-btn)}
.main-nav a{font-weight:500}
.main-nav a[aria-current]{background:var(--brand-tint);color:var(--ink);box-shadow:inset 3px 0 0 var(--ink)}
.main-nav .nav-cta a{background:transparent;color:var(--ink);border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.12em;font-size:var(--t-sm);font-weight:600}
.main-nav .nav-cta a:hover{background:var(--btn);color:var(--on-btn)}
@media (min-width:64em){.main-nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--ink);background:transparent}}
/* buttons: PHE square ink buttons, uppercase tracking */
.btn,button.btn{border-radius:0;background:var(--btn);border:1px solid var(--btn);color:var(--on-btn);font-family:var(--font);font-size:var(--t-sm);font-weight:600;text-transform:uppercase;letter-spacing:.12em;min-height:48px;padding:var(--s2) var(--s5)}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--on-btn)}
.btn-ghost,button.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--btn);border-color:var(--btn);color:var(--on-btn)}
.btn-small{min-height:var(--tap);padding:var(--s1) var(--s4);font-size:.8125rem}
/* cards, panels: flat paper, hairline rule (store look) */
.card,.glance,.finder,.searchbox,.signup,.plan,.trust-grid>li,.stats li,.filter,.toc,.tablewrap,details,.link-grid a,.regions li,.promo{box-shadow:none}
.card:hover{border-color:var(--accent)}
.card-title{font-weight:700;color:var(--ink)}
.card-title:hover{color:var(--brand)}
.city-card .card-title,.cp-city{font-family:var(--serif);font-weight:500}
.glance{border-top:2px solid var(--ink)}
.glance h2,.finder-title{font-family:var(--serif);font-weight:500;font-size:var(--t-2)}
.stats .num,.kpis .num{font-family:var(--serif);font-weight:500;color:var(--ink)}
.pl-pet{color:var(--ink)}
.link-grid a::after{color:var(--brand)}
.link-grid a:hover,.pills a:hover{border-color:var(--ink);background:var(--surface-2)}
.toc a:hover,.regions a:hover,.card .card-links a:hover,.price-lines>li>a:hover{background:var(--brand-tint)}
.signup{border-top:2px solid var(--accent)}
.callout{background:var(--surface-2);border-left:3px solid var(--accent)}
.xmas-band{background:var(--surface-2);border:1px solid var(--line)}
.deadline{border-left:3px solid var(--accent)}
.promo-house{border-left:3px solid var(--accent)}
.checked{background:var(--brand-tint)}
.founding{background:var(--accent-tint);border-color:var(--accent)}
.plan-hl{border:1px solid var(--ink)}
.plan-price .amt{font-family:var(--serif);font-weight:500;color:var(--ink)}
summary{font-weight:600}
caption{font-weight:600}
.sort-btn{color:var(--ink)}
.cta{background:var(--surface-2);border:1px solid var(--line)}
/* dark ink band, like the store's "Join the family" section */
.band{background:var(--foot-bg);color:var(--foot-ink);border-radius:0}
.band h2{color:var(--foot-ink)}
.band .btn{background:var(--foot-ink);color:var(--foot-bg);border-color:var(--foot-ink)}
.band .btn:hover{background:var(--foot-link);border-color:var(--foot-link);color:var(--foot-bg)}
.band .btn-ghost{background:transparent;color:var(--foot-ink);border-color:var(--foot-ink)}
.band .btn-ghost:hover{background:var(--foot-ink);color:var(--foot-bg)}
.band a:not(.btn){color:var(--foot-link)}
.band :focus-visible{outline-color:var(--foot-link)}
/* footer: ink, paper text, clay links */
.site-footer{background:var(--foot-bg);color:var(--foot-muted);border-top:0;--focus:var(--foot-link)}
.site-footer a{color:var(--foot-link)}
.site-footer li a{text-decoration:none}.site-footer li a:hover{text-decoration:underline}
.site-footer a:hover{color:var(--foot-ink)}
.site-footer strong{color:var(--foot-ink)}
.foot-h{font-family:var(--font);font-size:.8125rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--foot-ink)}
.foot-brand img{background:var(--bg);padding:4px;width:48px;height:48px}
.foot-brand .foot-name{font-weight:600;font-size:var(--t-1);color:var(--foot-ink)}
.foot-family{margin-top:var(--s1)}
.foot-legal{border-top-color:var(--foot-line)}
@media (prefers-color-scheme:dark){.foot-brand img{background:#f6f1ea}}
@media print{.family-strip{display:none}.site-footer{background:#fff;color:#000}.site-footer a,.site-footer strong{color:#000}}

/* ---------- /plans/ v2 (25 Oct 2026): cream + soft gold, Christmas red ONLY on the Season Pass card.
   Scoped to body.page-plans; header/nav/footer use the v4 PHE-family tokens. Text pairs checked ≥ 7:1 (AAA). ---------- */
.page-plans{
  /* v4: harmonised with the PHE-family tokens — page background/surfaces are the site's paper; "gold" is PHE clay. */
  --bg:#f8f3ea;--surface:#fffcf7;--surface-2:#f1e9dc;--line:#e2d8cc;--line-strong:#8c7b6b}
/* --pl-* tokens are shared with the home-page plans section (.home-plans) */
.page-plans,.home-plans{
  --pl-gold:#c4a484;--pl-gold-strong:#d3b998;--pl-gold-ink:#5c4128;--pl-gold-tint:#efe3d2;--pl-gold-tint-ink:#3e2b19;--pl-on-gold:#1c1714;
  --pl-red:#9e1020;--pl-red-strong:#7f0c19;--pl-on-red:#fff;--pl-red-line:#b3141f;
  --pl-glow:222 184 128;--pl-paw-a:.045;
}
@media (prefers-color-scheme:dark){.page-plans{
  --bg:#171310;--surface:#211b17;--surface-2:#2b241f;--line:#3b322b;--line-strong:#7d6e60;--ink:#f6f1ea;--muted:#d2c6b8}
.page-plans,.home-plans{
  --pl-gold:#d9be98;--pl-gold-strong:#e6cba4;--pl-gold-ink:#e6cba4;--pl-gold-tint:#3a2e1e;--pl-gold-tint-ink:#f0d9b5;--pl-on-gold:#1a140c;
  --pl-red:#7a1520;--pl-red-strong:#93202c;--pl-on-red:#fff;--pl-red-line:#ff8a8a;
  --pl-glow:230 190 130;--pl-paw-a:.05;
}}
.page-plans main{position:relative;isolation:isolate}
/* faint paw-print motif (decorative, behind content) */
.page-plans main::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--pl-paw-a);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%23000'%3E%3Cg transform='translate(20 24) rotate(-18) scale(1.3)'%3E%3Cellipse cx='12' cy='17' rx='6' ry='4.6'/%3E%3Cellipse cx='5' cy='10' rx='2.3' ry='3'/%3E%3Cellipse cx='10' cy='5.6' rx='2.3' ry='3.2'/%3E%3Cellipse cx='15' cy='5.6' rx='2.3' ry='3.2'/%3E%3Cellipse cx='20' cy='10' rx='2.3' ry='3'/%3E%3C/g%3E%3Cg transform='translate(112 104) rotate(16) scale(1.1)'%3E%3Cellipse cx='12' cy='17' rx='6' ry='4.6'/%3E%3Cellipse cx='5' cy='10' rx='2.3' ry='3'/%3E%3Cellipse cx='10' cy='5.6' rx='2.3' ry='3.2'/%3E%3Cellipse cx='15' cy='5.6' rx='2.3' ry='3.2'/%3E%3Cellipse cx='20' cy='10' rx='2.3' ry='3'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size:180px 180px;
  -webkit-mask-image:linear-gradient(#000 0,#000 60%,transparent 100%);mask-image:linear-gradient(#000 0,#000 60%,transparent 100%)}
@media (prefers-color-scheme:dark){.page-plans main::before{filter:invert(1)}}
/* warm holiday-light glow across the very top (static, CSS only) */
.plans-hero{position:relative;text-align:center;padding:var(--s6) 0 var(--s2);max-width:62rem;margin:0 auto}
.plans-hero::before{content:"";position:absolute;z-index:-1;left:50%;top:-1.5rem;width:100vw;max-width:var(--wrap);height:9rem;transform:translateX(-50%);pointer-events:none;
  background:
    radial-gradient(circle at 4% 18%,rgb(var(--pl-glow)/.55) 0 2px,rgb(var(--pl-glow)/.16) 3px,transparent 26px),
    radial-gradient(circle at 15% 30%,rgb(var(--pl-glow)/.5) 0 2px,rgb(var(--pl-glow)/.14) 3px,transparent 24px),
    radial-gradient(circle at 27% 20%,rgb(var(--pl-glow)/.55) 0 2px,rgb(var(--pl-glow)/.16) 3px,transparent 26px),
    radial-gradient(circle at 39% 32%,rgb(var(--pl-glow)/.5) 0 2px,rgb(var(--pl-glow)/.14) 3px,transparent 24px),
    radial-gradient(circle at 51% 22%,rgb(var(--pl-glow)/.55) 0 2px,rgb(var(--pl-glow)/.16) 3px,transparent 26px),
    radial-gradient(circle at 63% 32%,rgb(var(--pl-glow)/.5) 0 2px,rgb(var(--pl-glow)/.14) 3px,transparent 24px),
    radial-gradient(circle at 75% 20%,rgb(var(--pl-glow)/.55) 0 2px,rgb(var(--pl-glow)/.16) 3px,transparent 26px),
    radial-gradient(circle at 87% 30%,rgb(var(--pl-glow)/.5) 0 2px,rgb(var(--pl-glow)/.14) 3px,transparent 24px),
    radial-gradient(circle at 97% 18%,rgb(var(--pl-glow)/.55) 0 2px,rgb(var(--pl-glow)/.16) 3px,transparent 26px),
    radial-gradient(ellipse 70% 100% at 50% 0,rgb(var(--pl-glow)/.18),transparent 70%)}
.plans-hero .eyebrow{color:var(--pl-gold-ink)}
.plans-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,1.4rem + 2.8vw,3.25rem);letter-spacing:-.015em;margin:var(--s3) 0 var(--s4)}
.h1-accent{display:block;color:var(--pl-gold-ink);font-style:italic}
.plans-hero .lede{margin:0 auto var(--s3);color:var(--muted)}
.plans-hero .plans-fact,.plans-hero .plans-terms{max-width:68ch;margin:0 auto var(--s2)}
.plans-terms{font-size:var(--t-sm)}
.plans-divider{display:flex;align-items:center;justify-content:center;gap:var(--s3);color:var(--pl-gold-ink);margin:var(--s4) auto 0}
.plans-divider::before,.plans-divider::after{content:"";height:1px;width:min(8rem,25vw);background:linear-gradient(90deg,transparent,var(--pl-gold))}
.plans-divider::after{transform:scaleX(-1)}
.plans-h2{display:flex;align-items:center;justify-content:center;gap:var(--s2);font-family:var(--serif);text-align:center;margin:var(--s5) 0 var(--s4)}
.plans-h2 .paw{color:var(--pl-gold-ink);flex:none}
.page-plans h2,.page-plans h3{font-family:var(--serif)}
/* cards: 1 col phones, 2 cols tablets, 4 in a row from 64em */
.plan-grid.plan-grid-v2{grid-template-columns:1fr!important;gap:var(--s4);align-items:stretch}
@media (min-width:40em){.plan-grid.plan-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:64em){.plan-grid.plan-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--s3);padding-top:var(--s2)}}
:is(.page-plans,.home-plans) .plan{position:relative;text-align:center;align-items:center;padding:var(--s5) var(--s4);border:1px solid var(--line);border-radius:4px;background:var(--surface);box-shadow:0 1px 2px rgb(60 40 0 / .05),0 8px 24px rgb(60 40 0 / .05)}
:is(.page-plans,.home-plans) .plan h3{font-size:clamp(1.3rem,1.15rem + .5vw,1.5rem);margin:var(--s2) 0 0;line-height:1.2}
:is(.page-plans,.home-plans) .plan-note{margin:var(--s1) 0 var(--s3)}
:is(.page-plans,.home-plans) .plan-price .amt{font-family:var(--serif);color:var(--ink);font-size:clamp(2rem,1.7rem + 1vw,2.5rem)}
:is(.page-plans,.home-plans) .plan-annual{color:var(--muted)}
:is(.page-plans,.home-plans) .plan-pts{list-style:none;padding:0;margin:0 0 var(--s4);text-align:left;width:100%;border-top:1px solid var(--line);padding-top:var(--s3)}
:is(.page-plans,.home-plans) .plan-pts li{position:relative;padding-left:1.6em;font-size:var(--t-sm);line-height:1.5}
:is(.page-plans,.home-plans) .plan-pts li+li{margin-top:var(--s2)}
:is(.page-plans,.home-plans) .plan-pts li::before{content:"✓";position:absolute;left:0;top:0;font-weight:800;color:var(--pl-gold-ink)}
:is(.page-plans,.home-plans) .plan-cta{width:100%}
:is(.page-plans,.home-plans) .plan .btn{width:100%;padding-left:var(--s3);padding-right:var(--s3)}
:is(.page-plans,.home-plans) .plan-free{background:var(--surface-2)}
.plan-icon{color:var(--pl-gold-ink);margin:0 auto}
.plan-badge{display:inline-flex;align-items:center;gap:var(--s1);margin:0;padding:.15em .8em;border-radius:var(--r-pill);background:var(--pl-gold-tint);color:var(--pl-gold-tint-ink);border:1px solid var(--pl-gold);font-size:var(--t-sm);font-weight:700}
:is(.page-plans,.home-plans) .plan-paid .btn:not(.btn-ghost){background:var(--pl-gold);border-color:var(--pl-gold);color:var(--pl-on-gold)}
:is(.page-plans,.home-plans) .plan-paid .btn:not(.btn-ghost):hover{background:var(--pl-gold-strong);border-color:var(--pl-gold-strong)}
:is(.page-plans,.home-plans) .plan .btn-ghost{color:var(--pl-gold-ink);border-color:var(--pl-gold)}
:is(.page-plans,.home-plans) .plan .btn-ghost:hover{background:var(--pl-gold-tint);color:var(--pl-gold-tint-ink)}
/* hero card: the ONLY place red is used */
:is(.page-plans,.home-plans) .plan-hero{border:1px solid var(--line);border-top:6px solid var(--pl-red-line);padding-top:var(--s6);box-shadow:0 2px 4px rgb(60 20 0 / .08),0 18px 40px rgb(60 20 0 / .14)}
@media (min-width:64em){:is(.page-plans,.home-plans) .plan-hero{transform:translateY(calc(-1 * var(--s2)))}}
.plan-ribbon{position:absolute;top:-6px;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:var(--s1);margin:0;padding:.3em .9em;border-radius:var(--r-pill);background:var(--pl-red);color:var(--pl-on-red);font-size:var(--t-sm);font-weight:700;white-space:nowrap;box-shadow:0 2px 6px rgb(60 0 0 / .2)}
:is(.page-plans,.home-plans) .plan-hero .plan-pts li::before{color:var(--ink)}
:is(.page-plans,.home-plans) .plan-hero .btn-hero{background:var(--pl-red);border-color:var(--pl-red);color:var(--pl-on-red)}
:is(.page-plans,.home-plans) .plan-hero .btn-hero:hover{background:var(--pl-red-strong);border-color:var(--pl-red-strong);color:var(--pl-on-red)}
:is(.page-plans,.home-plans) .founding{background:var(--pl-gold-tint);border:1px solid var(--pl-gold);margin:var(--s5) auto;text-align:center}
:is(.page-plans,.home-plans) .founding .eyebrow{color:var(--pl-gold-tint-ink)}
.page-plans .callout{background:var(--pl-gold-tint);border-left-color:var(--pl-gold)}
/* comparison table */
.page-plans table.cmp thead th{background:var(--surface-2);white-space:normal}
.page-plans table.cmp td:not(:first-child),.page-plans table.cmp thead th:not(:first-child){text-align:center}
.page-plans table.cmp th.cmp-hero,.page-plans table.cmp td.cmp-hero{background:color-mix(in srgb,var(--pl-gold-tint) 55%,transparent)}
.cmp-yes{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--pl-gold);color:var(--pl-on-gold);font-weight:800;font-size:.85em;line-height:1}
.cmp-no{color:var(--muted)}
@media (max-width:47.99em){.page-plans table.cmp td:not(:first-child){text-align:left}.page-plans table.cmp td.cmp-hero{background:transparent}}
@media print{.page-plans main::before,.plans-hero::before{display:none}.plan-ribbon{position:static;transform:none;background:none;color:#000;border:1px solid #000}}

/* ---------- home-page plans section (25 Oct 2026): shares PLANS + the /plans/ v2 card styles; red ONLY on the Season Pass card ---------- */
.hero-biz{margin:var(--s3) 0 0;font-size:var(--t-sm);color:var(--muted)}
.hero-biz a{font-weight:700}
.home-plans{margin:var(--s7) 0 var(--s6);padding-top:var(--s6);border-top:1px solid var(--line)}
.home-plans>.eyebrow{margin:0 0 var(--s2)}
.home-plans>h2{margin-top:0;max-width:30ch}
.hp-lede{max-width:72ch;color:var(--muted);margin:0 0 var(--s5)}
.home-plans .plan-grid.plan-grid-v2{margin-bottom:var(--s4);padding-top:var(--s4)}
.hp-terms{max-width:72ch;font-size:var(--t-sm);margin:0 0 var(--s3)}
.home-plans .founding{margin:var(--s3) 0;text-align:left}
.hp-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5);margin:var(--s4) 0 0}
.hp-compare{font-weight:700;min-height:var(--tap);display:inline-flex;align-items:center}
@media print{.home-plans .plan-cta,.hp-links{display:none}}

/* Sign-up = Shopify checkout (25 Oct 2026, final): 3-step explainer on /list-your-business/ (no form, no thank-you page) */
.signup-steps{margin-left:auto;margin-right:auto}
.signup-steps h2{margin-top:0;font-size:var(--t-1)}
.signup-steps ol{margin:var(--s2) 0;padding-left:1.4em}
.signup-steps p{margin:var(--s2) 0 0}
