:root{
  --fog:#F3F4EE; --surface:#FFFFFF; --sand:#E4C99A; --kelp:#2E5B5B; --ink:#24393A;
  --muted:#58706F; --glass:#57CDBF; --glass-deep:#2A8478; --buoy:#F47661; --line:#D6E0DC;
  --sea1:#CDEDE7; --sea2:#57CDBF; --sea3:#4BB5A8;
  --glass-pale:#DDF3EF; --sand-pale:#F6EBD7;
  --teaser-bg:#24393A; --teaser-text:#F3F4EE; --teaser-muted:#B9CBC7;
  --coral-pale:#FDEDE9;
  --serif:"Young Serif", Georgia, "Times New Roman", serif;
  --sans:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --fog:#152728; --surface:#1C3334; --sand:#5E5340; --kelp:#D5EFEA; --ink:#E6EFEC;
    --muted:#A6BCB8; --glass:#57CDBF; --glass-deep:#7FDCCF; --buoy:#F47661; --line:#2D4949;
    --sea1:#1F4544; --sea2:#2F7C74; --sea3:#3E9C91;
  --glass-pale:#1E3F3D; --sand-pale:#3A3326;
  --teaser-bg:#0E1818; --teaser-text:#E6EDEA; --teaser-muted:#93AAA6;
  --coral-pale:#3D2522;
  }
}
:root[data-theme="dark"]{
  --fog:#152728; --surface:#1C3334; --sand:#5E5340; --kelp:#D5EFEA; --ink:#E6EFEC;
  --muted:#A6BCB8; --glass:#57CDBF; --glass-deep:#7FDCCF; --buoy:#F47661; --line:#2D4949;
  --sea1:#1F4544; --sea2:#2F7C74; --sea3:#3E9C91;
  --glass-pale:#1E3F3D; --sand-pale:#3A3326;
  --teaser-bg:#0E1818; --teaser-text:#E6EDEA; --teaser-muted:#93AAA6;
  --coral-pale:#3D2522;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--fog);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}
img,svg{max-width:100%}
a{color:var(--glass-deep)}
:focus-visible{outline:3px solid var(--buoy);outline-offset:3px;border-radius:4px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--kelp);line-height:1.15;margin:0 0 .6em}
h2{font-size:clamp(1.9rem,4vw,2.6rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em;max-width:65ch}
.lede{font-size:1.15rem;color:var(--muted)}

/* Header */
html.is-test header.site{top:var(--test-bar,34px)}
.appeal{background:#2E5B5B;color:#F3F4EE;font-size:.95rem}
.appeal .wrap{display:flex;align-items:center;justify-content:center;gap:.6rem 1rem;flex-wrap:wrap;padding:.6rem 0;text-align:center}
.appeal p{margin:0;max-width:none}
.appeal strong{font-weight:600}
.appeal a{background:#F47661;color:#2A1611;font-weight:600;text-decoration:none;padding:.35rem 1rem;border-radius:999px;white-space:nowrap}
.appeal a:hover{background:#F3F4EE}
@media (max-width:600px){.appeal .wrap{justify-content:space-between;text-align:left;flex-wrap:nowrap}.appeal{font-size:.88rem}}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--fog) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:46px;height:auto}
.brand img.wordmark{width:auto;height:38px;max-width:52vw;object-fit:contain}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brand img.wordmark{filter:brightness(0) invert(.94)}}
:root[data-theme="dark"] .brand img.wordmark{filter:brightness(0) invert(.94)}
.logo-badge{background:#F3F4EE;border-radius:16px;padding:1rem;margin-bottom:1.2rem;text-align:center}
.logo-badge img{width:min(300px,100%);height:auto}
.foot-brand{display:flex;align-items:center;gap:.8rem}
.foot-brand img{width:56px;height:auto}
.nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.nav ul a{color:var(--ink);text-decoration:none;font-weight:500}
.nav ul a:hover{color:var(--glass-deep)}
.btn{display:inline-block;font:600 1rem var(--sans);padding:.75rem 1.3rem;border-radius:999px;border:2px solid var(--kelp);background:var(--kelp);color:var(--fog);text-decoration:none;cursor:pointer}
.btn:hover{background:transparent;color:var(--kelp)}
.btn.buoy{background:var(--buoy);border-color:var(--buoy);color:#1E2A2E}
.btn.buoy:hover{background:transparent;color:var(--kelp)}
.btn.ghost{background:transparent;color:var(--kelp)}
.btn.ghost:hover{background:var(--kelp);color:var(--fog)}
.menu-toggle{display:none;background:none;border:0;color:var(--kelp);font:600 1rem var(--sans);cursor:pointer;padding:.4rem}
@media (max-width:980px){
  .menu-toggle{display:block}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1rem}
  .nav ul.open{display:flex}
  .nav ul a{display:block;padding:.7rem 0;border-bottom:1px solid var(--line)}
  .nav .btn.header-donate{display:none}
}

/* Hero: the shoreline */
.hero{position:relative;overflow:hidden;padding:clamp(3rem,8vw,6rem) 0 0}
.hero h1{font-size:clamp(2.6rem,7vw,5rem);max-width:13ch;margin-bottom:.4em}
.hero .lede{max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 0}
.shore{display:block;width:100%;height:auto;margin-top:clamp(1rem,4vw,2.5rem)}
.wave{animation:drift 14s ease-in-out infinite alternate}
.wave.b{animation-duration:18s}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-40px)}}
.tail{transform-origin:600px 196px;animation:flick 5s ease-in-out infinite}
@keyframes flick{0%,80%,100%{transform:rotate(0)}88%{transform:rotate(-9deg)}94%{transform:rotate(4deg)}}

section{padding:clamp(3.5rem,8vw,6rem) 0}
section.alt{background:var(--surface)}
.policy{max-width:760px}
.policy h2{font-size:clamp(1.9rem,4vw,2.4rem)}
.policy h2 ~ h2{font-size:1.35rem;margin-top:2rem}
.policy .updated{color:var(--muted);font-size:.92rem}
footer .policies a{white-space:nowrap}
[tabindex="-1"]:focus{outline:none}
.page > section{min-height:60vh}
.nav ul a[aria-current="page"]{color:var(--glass-deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.way{background:var(--fog);border-radius:20px;padding:1.6rem;display:flex;flex-direction:column}
.way p{color:var(--muted)}
.way-icon{display:block;width:120px;height:120px;margin:0 auto .8rem}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .way-icon{background:#F3F4EE;border-radius:20px}}
:root[data-theme="dark"] .way-icon{background:#F3F4EE;border-radius:20px}
.way .btn{margin-top:auto;align-self:start}
.home-cats{margin-top:3.5rem}
.blog-head{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.blog-head img{display:block;width:100%;height:auto}
.blog-head h2{font-size:clamp(2.2rem,5vw,3.2rem)}
@media (max-width:640px){.blog-head{grid-template-columns:1fr;text-align:center}.blog-head picture{max-width:300px;margin-inline:auto}.blog-head .lede{margin-inline:auto}}
.posts{margin-top:2.5rem}
.result{max-width:640px;text-align:center}
.result p{margin-inline:auto}
.result-icon{display:block;width:140px;height:140px;margin:0 auto 1rem}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .result-icon{background:#F3F4EE;border-radius:24px}}
:root[data-theme="dark"] .result-icon{background:#F3F4EE;border-radius:24px}
.result-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin:1.6rem 0 0}
.result-sub{margin-top:3rem}
.post-card{background:var(--surface);border-radius:20px;padding:1.6rem 1.8rem;max-width:760px}
.post-card h3{font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:.5em}
.post-card h3 a{color:inherit;text-decoration:none}
.post-card h3 a:hover{color:var(--glass-deep)}
.post-card p:not(.post-meta){color:var(--muted)}
.post-meta{color:var(--muted);font-size:.92rem;margin-bottom:.6em}
.post{max-width:700px;margin-inline:auto}
.post h2{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:.3em}
.post h3{font-size:clamp(1.35rem,3vw,1.6rem);margin-top:2.2rem}
.post p{max-width:none}
.post .lede{font-size:1.2rem;color:var(--kelp);font-weight:500;margin:1.2rem 0 1.6rem}
.post-back{font-size:.95rem;margin-bottom:1.5rem}
.post-back a{text-decoration:none;font-weight:500}
.post-back-end{margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--line)}
.post-promise{margin:2rem 0;padding:1.2rem 1.5rem;border-left:4px solid var(--buoy);background:var(--surface);border-radius:0 14px 14px 0;font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.6rem);color:var(--kelp)}
.post-signoff{margin-top:1.5rem}
.post-photos{display:grid;grid-template-columns:1fr 1.777fr;gap:.6rem;margin:1.6rem 0 1.8rem}
.post-photos img{display:block;width:100%;height:auto;border-radius:14px}
.post-photos figcaption{grid-column:1/-1;font-size:.9rem;color:var(--muted)}
@media (max-width:560px){.post-photos{grid-template-columns:1fr}}
.posts-empty{padding:1.4rem 1.6rem;border:1px dashed var(--glass);border-radius:20px;max-width:none}

/* ===== Blog: Markdown posts (built by scripts/build.mjs) ===== */
.posts{display:grid;gap:1.5rem}
.post-card.has-img{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:1.4rem;align-items:start}
.post-card-img{display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--sea1)}
.post-card-img img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.post-card.has-img{grid-template-columns:minmax(0,1fr)}}
.post-badge{display:inline-block;margin:0 0 .6rem;padding:.2rem .75rem;border-radius:999px;background:#F47661;color:#2A1611;font-size:.8rem;font-weight:700}
.post-error{border:2px dashed #F47661}
.post-error h3{font-family:var(--sans);font-size:1.05rem;font-weight:700}
.md-post h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:.3em}
.md-post .post-badge{display:table}
.post-hero{margin:1.4rem 0 1.8rem}
.post-hero img{display:block;width:100%;height:auto;border-radius:18px}
.post-body h2{font-size:clamp(1.35rem,3vw,1.6rem);margin-top:2.2rem}
/* Page titles: real h1 headings for search engines, sized like the old h2 titles (23 Oct 2026) */
h1.h2{font-size:clamp(1.9rem,4vw,2.6rem)}
.policy h1.h2{font-size:clamp(1.9rem,4vw,2.4rem)}
.policy h1 ~ h2{font-size:1.35rem;margin-top:2rem}
.blog-head h1.h2{font-size:clamp(2.2rem,5vw,3.2rem)}
.post h1.h2{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:.3em}
.post-body h3{font-size:1.2rem;margin-top:1.8rem}
.post-body img{display:block;max-width:100%;height:auto;border-radius:14px;margin:1.4rem 0}
.post-figure{margin:1.4rem 0}
.post-figure img{margin:0}
.post-figure figcaption{font-size:.9rem;color:var(--muted);margin-top:.5rem}
.post-body blockquote{margin:2rem 0;padding:1.2rem 1.5rem;border-left:4px solid var(--buoy);background:var(--surface);border-radius:0 14px 14px 0;font-family:var(--serif);font-size:clamp(1.2rem,3vw,1.45rem);color:var(--kelp)}
.post-body blockquote p:last-child{margin-bottom:0}
.post-body ul,.post-body ol{padding-left:1.3rem}
.post-body li{margin-bottom:.4rem}
.home-next{margin-top:3.5rem;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;padding:1.4rem 1.6rem;border:1px dashed var(--glass);border-radius:20px}
.home-next p{margin:0}

/* Cats */
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem}
.filters button{font:500 .95rem var(--sans);padding:.45rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--fog);color:var(--ink);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--kelp);color:var(--fog);border-color:var(--kelp)}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}
.cat{display:flex;flex-direction:column;background:var(--fog);border-radius:20px;overflow:hidden}
.cat .portrait{aspect-ratio:4/3;display:grid;place-items:center;background:var(--sea1)}
.cat .portrait svg{width:58%;height:auto}
.cat .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.portrait-btn{all:unset;display:block;position:relative;cursor:zoom-in}
.portrait-btn:focus-visible{outline:3px solid var(--buoy);outline-offset:-3px}
.photo-count{position:absolute;right:.7rem;bottom:.7rem;display:flex;align-items:center;gap:.35rem;background:rgba(20,35,36,.72);color:#fff;font:600 .82rem var(--sans);padding:.3rem .65rem;border-radius:999px}
.photo-dots{position:absolute;left:0;right:0;bottom:.85rem;display:flex;justify-content:center;gap:.35rem;pointer-events:none}
.photo-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.35)}
.photo-dots i.on{background:#fff}
/* Swipeable card photos */
.portrait-swipe{position:relative;display:block!important;overflow:hidden}
.ps-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.ps-track::-webkit-scrollbar{display:none}
.ps-slide{all:unset;flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;cursor:zoom-in;display:block}
.ps-slide:focus-visible{outline:3px solid var(--buoy);outline-offset:-3px}
.ps-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;-webkit-user-drag:none;user-select:none}
.ps-arrow{position:absolute;top:50%;transform:translateY(-50%);width:2.4rem;height:2.4rem;border:0;border-radius:50%;background:rgba(20,35,36,.62);color:#fff;font:400 1.6rem/1 var(--sans);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s}
.ps-arrow[hidden]{display:none}
.ps-prev{left:.6rem}.ps-next{right:.6rem}
.portrait-swipe:hover .ps-arrow,.ps-arrow:focus-visible{opacity:1}
.ps-arrow:focus-visible{outline:3px solid var(--buoy);outline-offset:2px}
@media (hover:none){.ps-arrow{display:none}}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100%;color:#fff}
dialog.lightbox::backdrop{background:rgba(10,20,22,.92)}
.lb-inner{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:calc(env(safe-area-inset-top,0px) + .8rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem)}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;font:500 1rem var(--sans)}
.lb-stage{display:grid;place-items:center;min-height:0;touch-action:pan-y}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}
.lb-btn{background:rgba(255,255,255,.14);border:0;color:#fff;font:600 1rem var(--sans);border-radius:999px;padding:.6rem 1rem;cursor:pointer}
.lb-btn:hover{background:rgba(255,255,255,.26)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;padding:0;font-size:1.4rem}
.lb-prev{left:1rem}.lb-next{right:1rem}
.lb-thumbs{display:flex;justify-content:center;gap:.5rem;margin-top:.8rem;overflow-x:auto}
.lb-thumbs button{all:unset;cursor:pointer;border-radius:8px;opacity:.55;flex:none}
.lb-thumbs button[aria-current="true"]{opacity:1;outline:2px solid var(--buoy);outline-offset:2px}
.lb-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}
@media (max-width:600px){.lb-nav{display:none}}
.cat .body{padding:1.1rem 1.25rem 1.3rem;display:flex;flex-direction:column;flex:1}
.cat h3{margin:0 0 .15em}
.cat .facts{color:var(--muted);font-size:.95rem;margin:0 0 .6em}
.cat p{font-size:.98rem}
.cat .tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding:0;list-style:none}
.cat .tags li{font-size:.82rem;background:var(--surface);border:1px solid var(--line);padding:.15rem .6rem;border-radius:999px}
.cat .btn{margin-top:auto;align-self:start;padding:.55rem 1.1rem;font-size:.95rem}
.cat-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.5rem}
.cat-actions .btn{margin-top:0;padding:.55rem 1.1rem;font-size:.95rem}
.cat.has-profile{cursor:pointer}
.cat.has-profile .portrait-btn{cursor:zoom-in}

/* Adoption status badge (card and profile) */
.cat-status{align-self:flex-start;display:inline-block;margin:0 0 .5rem;padding:.2rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.5;background:var(--glass-pale);color:var(--kelp)}
.cat-status.is-preparing{background:var(--sand-pale);color:var(--ink)}
.cat-status.is-ready{background:#2E5B5B;color:#fff}
.cat-status.is-pending{background:#F47661;color:#2A1611}
.cat-status.is-adopted{background:#58706F;color:#fff}
.cat-status.is-adopted::before{content:"♥ "}
.profile-body > .cat-status{justify-self:start;margin:0;font-size:.9rem;padding:.3rem .85rem}

/* Cat profile popup */
html.profile-open{overflow:hidden}
dialog.profile{border:0;padding:0;width:min(420px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);border-radius:22px;background:var(--surface);color:var(--ink);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.profile::backdrop{background:rgba(10,20,22,.6)}
.profile-inner{max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain}
.profile-hero{position:relative;height:250px;background:var(--sea1)}
.profile-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.profile-face{height:100%;display:grid;place-items:center}
.profile-face svg{width:46%;height:auto}
.profile-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:linear-gradient(to top,rgba(10,20,22,.85),rgba(10,20,22,0));pointer-events:none}
.profile-title{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;z-index:1;color:#fff}
.profile-title h2{font-family:var(--serif);font-size:2rem;color:#fff;margin:0;line-height:1.1}
.profile-title h2 span{font-family:var(--sans);font-size:1rem;font-weight:500;opacity:.9;margin-left:.3rem}
.profile-title p{margin:.25rem 0 0;font-size:.98rem;color:#fff;opacity:.95}
.profile-close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:2.5rem;height:2.5rem;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1E2A2E;font:400 1.6rem/1 var(--sans);cursor:pointer;display:grid;place-items:center}
.profile-close:hover{background:#fff}
.profile-body{padding:1.2rem 1.3rem 1.4rem;display:grid;gap:1.3rem}
.profile-body section{display:grid;gap:.55rem;padding:0;min-height:0}
.pf-label{font:700 .78rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#58706F;margin:0}
.pf-trait{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.97rem}
.pf-bars{display:flex;gap:5px}
.pf-bars i{width:22px;height:9px;border-radius:99px;background:#E2E8E4}
.pf-bars i.on{background:#57CDBF}
.pf-along{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.pf-along li{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;padding:.7rem .3rem;border-radius:12px;background:var(--fog);font-size:.88rem;font-weight:500;line-height:1.25}
.pf-mark{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;font-weight:700;font-size:1rem;color:#fff}
.pf-yes .pf-mark{background:#2E9E6A}
.pf-maybe .pf-mark{background:#E0A526;color:#2A1F05}
.pf-no .pf-mark{background:#F47661;color:#2A1611}
.pf-toggles{display:grid;gap:.15rem}
.pf-switch{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;font-weight:400;font-size:.97rem;cursor:pointer}
.pf-switch input{position:absolute;opacity:0;width:1px;height:1px}
.pf-track{flex:none;position:relative;width:44px;height:26px;border-radius:99px;background:#C9D3CF}
.pf-track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.pf-switch input:checked + .pf-track{background:var(--glass-deep)}
.pf-switch input:checked + .pf-track::after{transform:translateX(18px)}
.pf-switch input:focus-visible + .pf-track{outline:3px solid var(--buoy);outline-offset:2px}
.pf-score{margin-top:.6rem;padding:1rem 1.1rem;border-radius:16px;background:color-mix(in srgb,var(--glass) 20%,var(--surface))}
.pf-pct{margin:0;font-family:var(--serif);font-size:1.15rem;color:var(--kelp)}
.pf-pct b{font-weight:400;font-size:2.2rem}
.pf-msg{margin:.2rem 0 .7rem;color:var(--ink);font-size:.95rem;min-height:1.5em}
.pf-meter{height:10px;border-radius:99px;background:color-mix(in srgb,var(--buoy) 22%,var(--surface));overflow:hidden}
.pf-meter i{display:block;height:100%;width:0;border-radius:99px;background:var(--buoy)}
.pf-ask{justify-self:start}
.pf-soon{margin:0;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){
  .pf-track,.pf-track::after{transition:background .2s,transform .2s}
  .pf-meter i{transition:width .35s ease}
  dialog.profile[open]{animation:pf-in .22s ease-out}
  @keyframes pf-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media (max-width:480px){
  dialog.profile{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}
  .profile-inner{max-height:100%;height:100%}
}

/* Donate */
.donate-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:820px){.donate-grid{grid-template-columns:1fr}}
.card{background:var(--surface);border-radius:20px;padding:1.6rem}
.covers{list-style:none;margin:0;padding:0}
.covers li{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.covers li:last-child{border-bottom:0}
.covers b{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--kelp);flex:none;min-width:4.6rem}
.small{font-size:.9rem;color:var(--muted)}
.bank{margin-top:1.8rem;padding:1.2rem 1.3rem;background:var(--surface);border-radius:16px;border-left:4px solid var(--glass)}
.bank h3{margin:0 0 .6rem}
.bank-details{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:.6rem 1.2rem;margin:0 0 .8rem}
.bank-details > div:first-child{grid-column:1/-1}
.bank-details dt{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bank-details dd{margin:0;font-size:1.15rem;font-weight:600;color:var(--kelp);font-variant-numeric:tabular-nums}
.bank .small{margin:0}
.give-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1.5rem}
.give-card,.wishlist{background:var(--fog)}
.give-card address{font-style:normal;font-weight:600;color:var(--kelp);line-height:1.5;margin:0 0 1rem;padding:.9rem 1rem;background:var(--surface);border-left:4px solid var(--glass);border-radius:0 10px 10px 0}
.wishlist{margin-top:1.5rem}
.wishlist-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.5rem;margin-top:1rem}
.wishlist h4{margin:0 0 .4rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--glass-deep)}
.wishlist ul{margin:0;padding-left:1.1rem}
.wishlist li{margin-bottom:.35rem}

/* Help / forms */
.help-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem)}
@media (max-width:820px){.help-grid{grid-template-columns:1fr}}
form{display:grid;gap:1rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.row{grid-template-columns:1fr}}
label{display:grid;gap:.3rem;font-weight:500;font-size:.95rem}
input,select,textarea{font:1rem var(--sans);padding:.7rem .85rem;border-radius:10px;border:1px solid var(--line);background:var(--fog);color:var(--ink);width:100%}
textarea{min-height:110px;resize:vertical}
fieldset{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem 1rem;margin:0}
legend{font-weight:500;font-size:.95rem;padding:0 .3rem}
.form-note{padding:1rem;border-radius:12px;background:color-mix(in srgb,var(--glass) 22%,var(--surface));display:none}
.form-note.show{display:block}
.form-note.error{background:color-mix(in srgb,var(--buoy) 20%,var(--surface))}
.optional{font-weight:400;color:var(--muted);font-size:.88rem}
.check-line{display:flex;align-items:center;gap:.55rem;font-weight:500}
.check-line input{width:auto;width:1.15rem;height:1.15rem;accent-color:var(--glass-deep)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.turnstile{min-height:65px}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--buoy);box-shadow:0 0 0 2px color-mix(in srgb,var(--buoy) 35%,transparent)}
.check-line:has(input[aria-invalid="true"]){color:#B5452F}
.form-thanks{display:grid;align-content:center;gap:.4rem;min-height:12rem}
.form-thanks h3{margin:0}
.form-thanks p{margin:0}
.form-thanks:focus{outline:3px solid var(--glass);outline-offset:3px}
.interested-section{scroll-margin-top:calc(var(--test-bar,0px) + 80px)}

/* Events */
.events{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.event{display:grid;grid-template-columns:5.5rem 1fr;gap:1.2rem;padding:1.2rem;background:var(--surface);border-radius:18px;align-items:start}
.date{text-align:center;background:var(--sea1);border-radius:12px;padding:.6rem .3rem;color:var(--kelp)}
.date .d{display:block;font-family:var(--serif);font-size:1.9rem;line-height:1}
.date .m{font-size:.9rem;font-weight:600}
.event h3{margin-bottom:.2em}
.event .where{color:var(--muted);font-size:.95rem;margin-bottom:.4em}
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:3rem}
.news article{border-top:3px solid var(--glass);padding-top:1rem}
.news time{color:var(--muted);font-size:.9rem}

/* About */
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,5vw,4rem)}
@media (max-width:820px){.about-grid{grid-template-columns:1fr}}
.mission-vision{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.8rem 0}
.mission-vision > div{background:var(--fog);border-radius:14px;padding:1.2rem 1.3rem;border-top:4px solid var(--glass)}
.mission-vision h3{font-size:.85rem;font-family:var(--sans);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--glass-deep);margin:0 0 .5em}
.mission-vision p{margin:0;font-family:var(--serif);font-size:1.12rem;line-height:1.45;color:var(--kelp)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}
.stats div{background:var(--fog);border-radius:14px;padding:1rem}
.stats b{display:block;font-family:var(--serif);font-weight:400;font-size:1.8rem;color:var(--kelp)}
.stats span{display:block;font-size:.88rem;line-height:1.4;color:var(--muted)}
/* Meet the board: polaroid wall */
.board h2{text-align:center;margin-bottom:2.4rem}
.polaroids{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem 1.6rem;max-width:calc(3 * 220px + 2 * 1.6rem + 1px);margin-inline:auto}
.polaroid{position:relative;width:220px;margin:0;background:#FFFDF8;padding:12px 12px 16px;box-shadow:0 6px 18px rgba(20,40,40,.15);transform:rotate(var(--tilt,0deg))}
.polaroid:nth-child(1){--tilt:-3deg}
.polaroid:nth-child(2){--tilt:2deg}
.polaroid:nth-child(3){--tilt:-1.5deg}
.polaroid:nth-child(4){--tilt:3deg}
.polaroid:nth-child(5){--tilt:-2.5deg}
.polaroid::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:20px;transform:translateX(-50%);background:rgba(244,118,97,.45)}
.polaroid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.polaroid figcaption{padding-top:.8rem}
.polaroid h3{font-family:var(--serif);font-size:1.15rem;color:#2E5B5B;margin:0 0 .15em}
.polaroid-role{font-family:var(--sans);font-weight:600;color:#58706F;font-size:.95rem;margin:0 0 .4em}
.polaroid-bio{font-size:.88rem;line-height:1.5;color:#58706F;margin:0}
@media (prefers-reduced-motion:no-preference){
  .polaroid{transition:transform .25s ease}
  .polaroid:hover{transform:rotate(0deg) scale(1.04)}
}
dl{margin:0}
dt{font-weight:600;color:var(--kelp);margin-top:1rem}
dd{margin:0}

footer{background:#2E5B5B;color:#F3F4EE;padding:3rem 0 2.5rem}
footer a{color:#F3F4EE}
footer .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
footer p{max-width:42ch}
footer .fine{opacity:.75;font-size:.88rem;margin-top:2rem}
footer .social{list-style:none;margin:1rem 0 0;padding:0;display:flex;gap:.8rem}
footer .social a{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2.5px solid currentColor;color:inherit;text-decoration:none}
footer .social a:hover{background:rgba(255,255,255,.15)}
/* Social icons + ACNC Registered Charity Tick in one row (owner's choice, 16 Oct 2026).
   The tick is the white ("reversed") version straight on the dark footer; keep it at least ~60px wide. */
footer .foot-follow{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:1rem}
footer .foot-follow .social{margin:0}
footer .foot-sep{width:1px;height:44px;background:rgba(255,255,255,.3)}
footer .acnc-tick{display:block}
footer .acnc-tick img{display:block;width:76px;height:76px}

@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) footer{background:#0E1A1F;color:var(--ink)}:root:not([data-theme="light"]) footer a{color:var(--ink)}}
:root[data-theme="dark"] footer{background:#0E1A1F;color:var(--ink)}
:root[data-theme="dark"] footer a{color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ===== Adopt: fee, steps, home visit ===== */
.page > section.adopt-fee,.page > section.adopt-steps,.page > section.adopt-visit{min-height:0;padding:clamp(2rem,5vw,3rem) 0}
.page > section.adopt-fee{padding-top:clamp(2.5rem,6vw,4rem)}
.adopt-sub{color:var(--muted);text-align:center;max-width:60ch;margin:0 auto 1.4rem}
.adopt-note{font-size:.85rem;color:var(--muted);margin:1rem 0 0}
.adopt-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(1.4rem,4vw,2.4rem) clamp(1rem,3vw,2rem)}
.adopt-panel > h2{text-align:center}

.adopt-fee-grid{display:grid;grid-template-columns:1fr 2fr;gap:1rem;align-items:start}
@media (max-width:700px){.adopt-fee-grid{grid-template-columns:1fr}}
.adopt-fee-price{background:#2E5B5B;color:#fff;border-radius:16px;padding:1.5rem}
.adopt-eyebrow{display:block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.adopt-fee-amount{display:block;font-family:var(--serif);font-size:3.2rem;line-height:1;margin:.35rem 0 .8rem}
.adopt-fee-price p{margin:0;font-size:.95rem;color:#fff;opacity:.92}
.adopt-fee-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem}
.adopt-fee-list li{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;background:var(--surface)}
.adopt-fee-list strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.02rem;color:var(--kelp)}
.adopt-fee-list span{display:block;font-size:.86rem;color:var(--muted);margin-top:.15rem}

.adopt-trail{position:relative;list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(8,1fr);gap:.75rem}
.adopt-trail::before{content:"";position:absolute;top:34px;left:8%;right:8%;border-top:3px dotted var(--glass);z-index:0}
.adopt-trail li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem}
.adopt-bubble{position:relative;width:68px;height:68px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--glass-pale);color:var(--kelp);border:3px solid var(--surface);margin-bottom:.4rem}
.adopt-n{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#2E5B5B;color:#fff;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}
.adopt-trail .is-visit .adopt-bubble{background:var(--sand);color:var(--ink)}
.adopt-trail .is-home .adopt-bubble{background:var(--buoy);color:#fff}
.adopt-trail strong{font-family:var(--serif);font-weight:400;font-size:1.02rem;color:var(--kelp);line-height:1.25}
.adopt-trail li > span{font-size:.86rem;color:var(--muted);line-height:1.45}
.adopt-trail li > span a{color:var(--glass-deep)}
.adopt-chip{display:inline-block;margin-top:.3rem;font-size:.72rem;font-weight:700;background:var(--sand-pale);color:var(--ink);border-radius:999px;padding:.15rem .55rem;text-decoration:none}
.adopt-chip:hover{text-decoration:underline}
.adopt-chip:focus-visible{outline:3px solid var(--buoy);outline-offset:2px}
/* 8 steps (2 Nov 2026): two rows of four on medium screens, no dotted line */
@media (min-width:761px) and (max-width:1099px){
  .adopt-trail{grid-template-columns:repeat(4,1fr);row-gap:1.6rem}
  .adopt-trail::before{display:none}
}
@media (max-width:760px){
  .adopt-trail{grid-template-columns:1fr;gap:1.1rem}
  .adopt-trail::before{top:20px;bottom:20px;left:33px;right:auto;border-top:0;border-left:3px dotted var(--glass)}
  .adopt-trail li{display:grid;grid-template-columns:68px 1fr;column-gap:1rem;align-items:start;text-align:left}
  .adopt-trail .adopt-bubble{grid-row:1 / span 3;margin-bottom:0}
  .adopt-trail strong{padding-top:.6rem}
  .adopt-chip{justify-self:start}
}

.adopt-visit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;align-items:start}
@media (max-width:760px){.adopt-visit-grid{grid-template-columns:1fr}}
.adopt-visit-card{border-radius:14px;padding:1.4rem}
.adopt-visit-card.is-yes{background:var(--glass-pale)}
.adopt-visit-card.is-no{background:var(--sand-pale)}
.adopt-visit-card h3{font-size:1.15rem;margin-bottom:.8rem}
.adopt-visit-card p{margin:1rem 0 0;font-size:.95rem}
.adopt-checks{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.adopt-checks li{position:relative;padding-left:1.7rem;font-size:.95rem;line-height:1.5}
.adopt-checks li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;background:var(--kelp);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.adopt-checks.is-x li::before{background:var(--buoy);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E")}
.adopt-facts{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.adopt-facts > div{flex:1 1 200px;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;font-size:.9rem;color:var(--muted)}
.adopt-facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--kelp);margin-bottom:.15rem}

/* ===== Foster page ===== */
.page > section.foster-hero,.page > section.foster-main{min-height:0}
.foster-hero{padding:clamp(2.2rem,6vw,4rem) 0 clamp(1.2rem,3vw,2rem)}
.foster-hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);max-width:22ch;margin-bottom:.4em}
.foster-hero .lede{max-width:60ch}
.foster-heart{color:var(--muted);max-width:60ch}
.foster-jump{display:none}
.foster-eyebrow{display:block;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--glass-deep);margin-bottom:.4rem}
.foster-main{padding:0 0 clamp(3rem,7vw,5rem)}
.foster-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(1.2rem,3vw,2rem);align-items:start}
.foster-content{display:grid;gap:clamp(1.2rem,3vw,1.6rem);min-width:0}
.foster-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,3.5vw,2rem)}
.foster-card h2{font-size:clamp(1.6rem,3.5vw,2.1rem)}
/* picker */
.foster-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.foster-pills[hidden]{display:none}
.foster-pill{font:600 .92rem var(--sans);padding:.5rem .95rem;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.foster-pill:hover{border-color:var(--glass)}
.foster-pill[aria-pressed="true"]{border-color:var(--kelp);background:var(--glass-pale);color:var(--kelp)}
.foster-pill:focus-visible{outline:3px solid var(--buoy);outline-offset:2px}
.foster-type{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.3rem;align-items:start}
.foster-type + .foster-type{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.foster-type[hidden]{display:none}
.foster-tile{width:150px;height:150px;border-radius:18px;background:#55CBBD;color:#fff;display:grid;place-items:center}
.foster-tile .foster-cat{width:96px;height:96px;animation:foster-pop .35s ease-out}
@keyframes foster-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.foster-type h3{margin:0 0 .5rem}
.foster-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .7rem}
.foster-chip{display:inline-block;font-size:.8rem;font-weight:700;border-radius:999px;padding:.2rem .7rem;background:var(--glass-pale);color:var(--kelp)}
.foster-chip.is-sand{background:var(--sand-pale);color:var(--ink)}
.foster-what{color:var(--muted);margin:0 0 .8rem}
.foster-facts{margin:0;display:grid;gap:.45rem;font-size:.95rem}
.foster-facts div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.6rem}
.foster-facts dt{font-weight:700;color:var(--kelp);margin:0}
.foster-facts dd{margin:0;color:var(--muted)}
.foster-season{margin:1.4rem 0 0;padding:.9rem 1rem;border-radius:12px;background:var(--sand-pale);color:var(--ink);font-size:.95rem;max-width:none}
/* steps */
.foster-steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.foster-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.9rem;align-items:start}
.foster-num{width:28px;height:28px;border-radius:50%;background:#2E5B5B;color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:.1rem}
.foster-steps h3{font-size:1.1rem;margin:0 0 .15rem}
.foster-steps p{margin:0;color:var(--muted)}
/* FAQs */
.foster-faqs details{border-top:1px solid var(--line)}
.foster-faqs details:last-child{border-bottom:1px solid var(--line)}
.foster-faqs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0}
.foster-faqs summary::-webkit-details-marker{display:none}
.foster-faqs summary::after{content:"+";flex:none;font:600 1.4rem/1 var(--sans);color:var(--kelp)}
.foster-faqs details[open] summary::after{content:"–"}
.foster-faqs summary h3{font-size:1.08rem;margin:0}
.foster-faqs summary:focus-visible{outline:3px solid var(--buoy);outline-offset:2px}
.foster-faqs details p{margin:0 0 1rem;color:var(--muted)}
/* sidebar */
.foster-side{display:grid;gap:1.2rem;min-width:0}
.foster-side.is-sticky{position:sticky;top:var(--foster-top,96px)}
.foster-form{border:1px solid var(--line);border-radius:18px;gap:.7rem;padding:1.3rem}
.foster-form input:not([type=checkbox]),.foster-form textarea{padding:.55rem .75rem}
.foster-form textarea{min-height:80px}
.foster-form h2{font-size:1.3rem;margin:0}
.foster-picked{margin:0;font-size:.95rem;color:var(--muted)}
.foster-picked strong{color:var(--kelp)}
.foster-updates{align-items:flex-start;font-weight:400}
.foster-updates input{margin-top:.2rem;flex:none}
.foster-founding{background:var(--teaser-bg);color:var(--teaser-text);border-radius:18px;padding:1.3rem}
.foster-pin{width:92px;height:92px;border-radius:50%;background:#E4C99A;color:#24393A;border:4px solid #F47661;box-shadow:0 0 0 5px var(--teaser-bg),0 0 0 7px #E4C99A;display:grid;place-content:center;justify-items:center;text-align:center;margin:.5rem 0 1.1rem .5rem}
.foster-pin .foster-cat{width:26px;height:26px}
.foster-pin b{font:400 .85rem/1.1 var(--serif)}
.foster-founding .foster-eyebrow{color:#57CDBF}
.foster-founding h3{font-size:1.25rem;color:var(--teaser-text);margin:0 0 .5rem}
.foster-founding p{font-size:.9rem;color:var(--teaser-muted);margin:0 0 .8rem}
.foster-founding .foster-fine{font-size:.8rem;margin:0}
.foster-seats{margin:0 0 .9rem}
.foster-dots{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:.45rem}
.foster-dots i{width:16px;height:16px;border-radius:50%;border:2px solid #E4C99A}
.foster-dots i.is-taken{background:#E4C99A}
.foster-seats p{margin:0;color:var(--teaser-text)}
@media (max-width:860px){
  .foster-grid{grid-template-columns:minmax(0,1fr)}
  .foster-side.is-sticky{position:static}
}
@media (max-width:620px){
  .foster-jump{display:inline-block;margin-top:.4rem}
  .foster-type{grid-template-columns:minmax(0,1fr);gap:1rem}
  .foster-tile{width:120px;height:120px}
  .foster-tile .foster-cat{width:78px;height:78px}
  .foster-facts div{grid-template-columns:minmax(0,1fr);gap:0}
}

/* ===== Volunteer page ===== */
.page > section.vol-hero,.page > section.vol-main{min-height:0}
.vol-hero{padding:clamp(2.5rem,7vw,4.5rem) 0 clamp(1.2rem,3vw,2rem)}
.vol-hero-inner{max-width:820px}
.vol-eyebrow{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.vol-hero h1{font-size:clamp(2.1rem,5.5vw,3.5rem);margin-bottom:.4em}
.vol-hero .lede{max-width:60ch}
.vol-hero-more{color:var(--muted);max-width:60ch;margin:0}
.vol-main{padding:0 0 clamp(3rem,7vw,5rem)}
/* time picker */
.vol-picker{background:#2E5B5B;border-radius:24px;padding:clamp(1.2rem,4vw,1.75rem)}
.vol-picker h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.1rem);margin-bottom:1rem}
.vol-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.vol-times[hidden]{display:none}
.vol-time{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem;min-height:88px;padding:.9rem 1.1rem;border-radius:16px;border:2px solid rgba(255,255,255,.45);background:transparent;color:#fff;text-align:left;cursor:pointer;font:inherit}
.vol-time:hover{border-color:#fff}
.vol-time[aria-pressed="true"]{background:#57CDBF;border-color:#57CDBF;color:#1D3D3D}
.vol-time:focus-visible{outline:3px solid #F47661;outline-offset:3px}
.vol-time-label{font-family:var(--serif);font-size:1.15rem;line-height:1.2}
.vol-time-sub{font-size:.88rem;opacity:.85}
.vol-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem;margin:1.6rem 0 1rem}
.vol-headline{font-weight:700;font-size:1.125rem;color:var(--ink);margin:0}
.vol-status{color:var(--muted);font-size:.95rem;margin:0}
/* role cards */
.vol-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px}
.vol-role{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
.vol-role[hidden]{display:none}
.vol-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .8rem}
.vol-chip{display:inline-block;font-size:.8rem;font-weight:700;border-radius:999px;padding:.2rem .7rem;background:var(--glass-pale);color:var(--kelp)}
.vol-chip.is-sand{background:var(--sand-pale);color:var(--ink)}
.vol-role h3{margin:0 0 .4rem}
.vol-desc{color:var(--muted);margin:0 0 1rem}
.vol-add{margin-top:auto;align-self:flex-start;min-height:44px;padding:.55rem 1.1rem;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--kelp);font:600 .95rem var(--sans);cursor:pointer}
.vol-add:hover{border-color:var(--glass)}
.vol-add[aria-pressed="true"]{background:#2E5B5B;border-color:#2E5B5B;color:#fff}
.vol-add[hidden]{display:none}
.vol-add:focus-visible{outline:3px solid var(--buoy);outline-offset:2px}
/* what to expect */
.vol-expect{background:#E4C99A;color:#24393A;border-radius:20px;padding:26px 28px;margin:clamp(2rem,5vw,3rem) 0}
.vol-expect-title{font-size:1.4rem;color:#24393A;margin:0 0 1rem}
.vol-expect ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1rem 1.5rem}
.vol-expect li{flex:1 1 200px}
.vol-expect strong{display:block;font-weight:700}
.vol-expect span{font-size:.95rem}
/* form */
.vol-form-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(1.3rem,4vw,2.25rem)}
.vol-form-card h2{margin-bottom:.3rem}
.vol-form-sub{color:var(--muted);margin:0 0 1.4rem}
.vol-pills{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0}
.vol-pills legend{padding:0;margin-bottom:.6rem}
.vol-pill{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:.45rem 1rem;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--kelp);font-weight:600;font-size:.92rem;cursor:pointer}
.vol-pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.vol-pill:hover{border-color:var(--glass)}
.vol-pill:has(input:checked){background:#2E5B5B;border-color:#2E5B5B;color:#fff}
.vol-pill:has(input:checked) span::before{content:"✓ "}
.vol-pill:has(input:focus-visible){outline:3px solid var(--buoy);outline-offset:2px}
.vol-other[hidden]{display:none}
.vol-updates{align-items:flex-start;font-weight:400}
.vol-updates input{margin-top:.2rem;flex:none}
.vol-send{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem}
.vol-send .small{margin:0;flex:1 1 260px}
.vol-links{margin:1.6rem 0 0;color:var(--muted);max-width:none}

/* ===== Learning Lab (Paws & Learn, /learn/) ===== */
/* Sandpit-only: hidden unless test-banner.js marks the page as a sandpit (html.is-sandpit). */
[data-sandpit-only]{display:none !important}
html.is-sandpit [data-sandpit-only]{display:revert !important}

.page.lab > section{min-height:0}
.lab-hero{padding:clamp(2.2rem,6vw,4rem) 0 1.4rem}
.lab-hero-inner{max-width:760px}
.lab-eyebrow{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--glass-deep);margin-bottom:.5rem}
.lab-hero h1{font-size:clamp(2.1rem,5.5vw,3.4rem);margin-bottom:.4em}
.lab-main{padding:0 0 clamp(3rem,7vw,5rem)}
.lab-soon{display:inline-block;align-self:flex-start;margin-top:.6rem;font-size:.78rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;background:var(--fog);color:var(--muted);border:1px solid var(--line)}
.lab-note{font-size:.9rem;color:var(--muted);margin:1.2rem 0 0;max-width:none}

/* Doors */
.lab-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:1.4rem}
.lab-door{display:flex;flex-direction:column;text-align:left;padding:0;border:3px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);overflow:hidden;font:inherit}
button.lab-door{cursor:pointer}
button.lab-door:hover{border-color:var(--glass)}
button.lab-door:focus-visible{outline:3px solid var(--buoy);outline-offset:3px}
.lab-door-band{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.9rem 1.1rem}
.lab-door-icon{width:44px;height:44px;flex:none}
.lab-door-who{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.lab-door-body{display:flex;flex-direction:column;padding:1rem 1.1rem 1.2rem}
.lab-door-name{font-family:var(--serif);font-size:1.6rem;line-height:1.15;color:var(--kelp)}
.lab-door-blurb{color:var(--muted);margin-top:.35rem;font-size:.97rem}
.lab-door.is-kids .lab-door-band{background:#E4C99A;color:#24393A}
.lab-door.is-adults .lab-door-band{background:#57CDBF;color:#24393A}
.lab-door.is-rescuers .lab-door-band{background:#2E5B5B;color:#fff}
.lab-door.is-fun .lab-door-band{background:#F47661;color:#1A2526}
.lab-door[aria-pressed="true"]{border-color:#2E5B5B}
.lab-door.is-kids[aria-pressed="true"]{background:var(--sand-pale)}
.lab-door.is-adults[aria-pressed="true"],.lab-door.is-rescuers[aria-pressed="true"]{background:var(--glass-pale)}
.lab-door.is-fun[aria-pressed="true"]{background:var(--coral-pale)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .lab-door[aria-pressed="true"]{border-color:var(--glass)}}
:root[data-theme="dark"] .lab-door[aria-pressed="true"]{border-color:var(--glass)}
.lab-door[data-status="soon"]{background:var(--fog)}
.lab-door[data-status="soon"] .lab-door-band{opacity:.6}

/* Kitten Club panel */
.lab-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(1.2rem,4vw,1.75rem)}
.lab-panel[hidden]{display:none}
.lab-panel h2{font-size:clamp(1.5rem,3.5vw,2rem)}
.lab-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px}
.lab-tile{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);text-decoration:none}
a.lab-tile{border-width:2px}
a.lab-tile:hover{border-color:var(--glass)}
a.lab-tile:focus-visible{outline:3px solid var(--buoy);outline-offset:2px}
.lab-tile.is-soon{background:var(--fog)}
.lab-type{align-self:flex-start;font-size:.78rem;font-weight:700;padding:.15rem .65rem;border-radius:999px;background:var(--sand-pale);color:var(--ink)}
.lab-tile-title{font-family:var(--serif);font-size:1.2rem;line-height:1.2;color:var(--kelp)}
.lab-tile-desc{color:var(--muted);font-size:.95rem}
.lab-tile-meta{font-weight:700;font-size:.9rem;margin-top:auto;padding-top:.3rem}

/* Cat fact of the week */
.lab-fact{background:#2E5B5B;color:#fff;border-radius:22px;padding:26px 28px;margin-top:1.4rem}
.lab-fact-label{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#BFEDE6;margin:0 0 .6rem}
.lab-facts{list-style:none;margin:0;padding:0}
.lab-facts li{font-family:var(--serif);font-size:clamp(1.25rem,3.5vw,1.5rem);line-height:1.3}
.lab-facts li + li{display:none}
.lab-facts.is-js li{display:none}
.lab-facts.is-js li.is-current{display:block}

/* Games: shared */
.lab-game-page{padding:clamp(1.6rem,5vw,3rem) 0 clamp(3rem,7vw,5rem);font-size:1.15rem}
.lab-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:1rem}
.lab-back{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.lab-score{margin:0;padding:.35rem 1rem;border-radius:999px;background:#E4C99A;color:#24393A;font-weight:700}
.lab-score[hidden]{display:none}
.lab-game-page h1{font-size:clamp(2rem,5.5vw,3rem);margin-bottom:.3em}
.lab-sub{color:var(--muted);margin:0 0 1.2rem}
.lab-game[hidden],.lab-end[hidden],.lab-feedback[hidden],.lab-round[hidden],.lab-fallback[hidden]{display:none}
.lab-round{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:start;margin-top:1rem}
@media (max-width:760px){.lab-round{grid-template-columns:minmax(0,1fr)}}
.lab-count{margin:0 0 .4rem;font-weight:700;color:var(--muted);font-size:1rem}
.lab-stage{background:var(--glass-pale);border-radius:28px;padding:1.2rem 1.3rem 1.4rem}
.lab-cat{display:block;width:100%;max-width:420px;height:auto;margin:0 auto}
.lab-clue{font-size:1.25rem;font-weight:700;margin:.6rem 0 0;color:var(--ink)}
.lab-q{font-size:1.5rem;margin:0 0 .8rem}
.lab-q:focus,.lab-feedback h3:focus,.lab-end h2:focus{outline:none}
.lab-answers{display:grid;gap:.7rem}
.lab-answer{min-height:56px;padding:.8rem 1.1rem;border:3px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);font:600 1.2rem/1.3 var(--sans);text-align:left;cursor:pointer}
.lab-answer:hover:not(:disabled){border-color:var(--glass)}
.lab-answer:focus-visible,.lab-next:focus-visible,.lab-again:focus-visible,.lab-choice button:focus-visible{outline:3px solid var(--buoy);outline-offset:3px}
.lab-answer:disabled{cursor:default;color:var(--ink);opacity:1}
.lab-answer.is-right{background:#2E5B5B;border-color:#2E5B5B;color:#fff}
.lab-answer.is-wrong{border-color:#F47661}
.lab-feedback{margin-top:1rem;padding:1.1rem 1.2rem;border:3px solid #2E5B5B;border-radius:20px;background:var(--surface)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .lab-feedback{border-color:var(--glass)}}
:root[data-theme="dark"] .lab-feedback{border-color:var(--glass)}
.lab-feedback h3{font-size:1.35rem;margin:0 0 .3rem}
.lab-feedback p{margin:0 0 .9rem}
.lab-next,.lab-again{min-height:56px;padding:.7rem 1.6rem;border:0;border-radius:999px;background:#2E5B5B;color:#fff;font:700 1.2rem var(--sans);cursor:pointer}
.lab-next:hover,.lab-again:hover{background:#24393A}

/* Safe or not safe */
.lab-round-safe{grid-template-columns:minmax(0,1fr)}
.lab-item-card{background:var(--sand-pale);border-radius:28px;padding:1.4rem 1.5rem 1.6rem;text-align:center}
.lab-item{font-size:clamp(1.6rem,5vw,1.9rem);margin:0}
.lab-choice{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:420px){.lab-choice{grid-template-columns:1fr}}
.lab-choice button{min-height:64px;padding:.8rem 1rem;border:4px solid transparent;border-radius:20px;font:700 1.25rem var(--sans);cursor:pointer}
.lab-safe{background:#2E5B5B;color:#fff}
.lab-unsafe{background:#F47661;color:#1A2526}
.lab-choice button:disabled{cursor:default;opacity:.55}
.lab-choice button.is-right{opacity:1;border-color:#24393A;box-shadow:0 0 0 3px var(--surface) inset}
.lab-choice button.is-wrong{opacity:1;border-style:dashed;border-color:#24393A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .lab-choice button.is-right,:root:not([data-theme="light"]) .lab-choice button.is-wrong{border-color:#F3F4EE}}
:root[data-theme="dark"] .lab-choice button.is-right,:root[data-theme="dark"] .lab-choice button.is-wrong{border-color:#F3F4EE}

/* End screen */
.lab-end{text-align:center;padding:1.6rem 1rem;max-width:560px;margin:1rem auto 0}
.lab-badge{width:128px;height:128px;margin:10px auto 1.4rem;border-radius:50%;background:#E4C99A;color:#24393A;border:5px solid #F47661;box-shadow:0 0 0 6px var(--fog),0 0 0 9px #E4C99A;display:grid;place-items:center}
.lab-badge svg{width:64px;height:64px}
.lab-end h2{font-size:clamp(1.7rem,5vw,2.2rem)}
.lab-end p{margin:0 auto 1.2rem}

/* No-JavaScript fallback lists (and the data the games read) */
.lab-fallback{margin:1.2rem 0 0;padding-left:1.4rem;display:grid;gap:1rem}
.lab-fallback > li{padding-left:.2rem}
.lab-fb-clue{font-weight:700;margin:0 0 .3rem}
.lab-fb-answers{margin:0 0 .3rem;padding-left:1.2rem}
.lab-fb-answers li[data-correct]{font-weight:700;color:var(--kelp)}
.lab-fb-answers li[data-correct]::before{content:"✓ "}
.lab-fb-why{color:var(--muted);margin:0}
.lab-items{list-style:none;padding:0;grid-template-columns:1fr 1fr;grid-auto-flow:row dense;gap:.9rem 1.6rem}
.lab-items > li{display:grid;gap:.15rem;grid-column:1}
.lab-items > li[data-safe="no"],.lab-items > .lab-fb-head.is-not{grid-column:2}
.lab-fb-head{font-family:var(--serif);font-size:1.4rem;color:var(--kelp);grid-row:1}
.lab-items .lab-fb-verdict{display:none}
@media (max-width:560px){.lab-items{grid-template-columns:1fr}.lab-items > li,.lab-items > li[data-safe="no"],.lab-items > .lab-fb-head.is-not{grid-column:1;grid-row:auto}.lab-items .lab-fb-verdict{display:block}.lab-fb-head{display:none}}
.lab-fb-verdict{font-weight:700;color:var(--kelp)}
.lab-items > li[data-safe="no"] .lab-fb-verdict{color:#B5452F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .lab-items > li[data-safe="no"] .lab-fb-verdict{color:#F47661}}
:root[data-theme="dark"] .lab-items > li[data-safe="no"] .lab-fb-verdict{color:#F47661}

