/* ==========================================================================
   PALS Rescue, Inc. — site stylesheet
   Single stylesheet for every page. Brand colors are exposed as CSS variables.
   ========================================================================== */

:root{
  --brand-color-primary:#f27b29;   /* PALS orange */
  --brand-color-secondary:#162740; /* PALS navy   */
  --slate:#506685;
  --sky:#abd8ee;
  --brown:#683923;
  --cream:#f1edea;
  --line:#eee7e0;
  --ink-soft:#e8eef5;
}

*{box-sizing:border-box}
body{margin:0;background:#fff;font-family:'Figure','Figtree',system-ui,sans-serif;color:var(--brand-color-secondary);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
img{max-width:100%}
a{color:var(--brand-color-primary);text-decoration:none}
a:hover{color:var(--brand-color-secondary)}

/* --- shared type ------------------------------------------------------- */
.script{margin:0;font-family:'Yesteryear',cursive;font-weight:400;line-height:1}
.eyebrow{font-size:clamp(32px,4.2vw,48px);color:var(--brand-color-primary)}
.eyebrow-sky{color:var(--sky)}
.eyebrow-navy{color:var(--brand-color-secondary)}
.eyebrow-lg{font-size:clamp(32px,4.4vw,52px)}
.eyebrow-56{font-size:clamp(34px,4.6vw,56px)}
.eyebrow-50{font-size:clamp(32px,4.2vw,50px)}
.eyebrow-48{font-size:clamp(30px,4vw,48px)}
.h2{font-size:32px;font-weight:900;letter-spacing:-.02em}
.center{text-align:center}
.lead{font-size:17px;line-height:1.65;color:var(--slate);text-wrap:pretty}
@media(min-width:768px){.h2{font-size:40px}}
@media(min-width:1024px){.h2{font-size:46px}}

.wrap{max-width:1240px;margin:0 auto}
.wrap-narrow{max-width:900px;margin:0 auto}
.sec{padding:clamp(52px,7vw,96px) 24px}

/* --- buttons ----------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;border-radius:999px;font-family:inherit;font-weight:900;text-transform:uppercase;cursor:pointer;text-decoration:none}
.btn--hero{min-height:54px;font-size:16px;letter-spacing:.06em;padding:16px 32px}
.btn--md{min-height:52px;font-size:15px;letter-spacing:.07em;padding:15px 30px}
.btn--orange{background:var(--brand-color-primary);color:#fff;box-shadow:0 6px 18px rgba(242,123,41,.3)}
.btn--orange:hover{background:var(--brand-color-secondary);color:#fff}
.btn--hero.btn--orange{box-shadow:0 8px 22px rgba(0,0,0,.28)}
.btn--hero.btn--orange:hover{background:#fff;color:var(--brand-color-secondary)}
.btn--call{gap:10px;min-height:54px;font-size:16px;letter-spacing:.06em;padding:14px 28px;background:rgba(255,255,255,.12);border:2px solid #fff;color:#fff}
.btn--call:hover{background:#fff;color:var(--brand-color-secondary)}
.btn--outline{min-height:52px;font-size:15px;letter-spacing:.07em;padding:13px 28px;border:2px solid var(--brand-color-secondary);color:var(--brand-color-secondary)}
.btn--outline:hover{background:var(--brand-color-secondary);color:#fff}
.btn--navy{background:var(--brand-color-secondary);color:#fff}
.btn--navy:hover{background:#fff;color:var(--brand-color-secondary)}
.btn--white{background:#fff;color:var(--brand-color-secondary)}
.btn--white:hover{background:var(--brand-color-secondary);color:#fff}
.btn--cta{gap:10px;min-height:54px;font-size:15px;letter-spacing:.07em;padding:15px 30px}
.btn--wide-track{letter-spacing:.08em}
.btn-icon{flex:none;display:block;fill:currentColor}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn-row--sm{gap:12px}
.btn-row--center{justify-content:center}

/* --- image crop helpers ------------------------------------------------ */
.op-70-50{object-position:70% 50%}
.op-50-72{object-position:50% 72%}
.op-35-55{object-position:35% 55%}
.op-38-55{object-position:38% 55%}
.op-45-62{object-position:45% 62%}
.op-50-30{object-position:50% 30%}
.op-50-35{object-position:50% 35%}
.op-50-38{object-position:50% 38%}
.op-50-40{object-position:50% 40%}
.op-50-42{object-position:50% 42%}
.op-50-45{object-position:50% 45%}
.op-50-55{object-position:50% 55%}
.op-50-60{object-position:50% 60%}
.op-55-40{object-position:55% 40%}

/* ==========================================================================
   Site header + primary navigation (identical on every page)
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:60;width:100%;background:#fff;border-bottom:1px solid #e9e4df;box-shadow:0 2px 14px rgba(22,39,64,.07)}
.site-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:4px 12px}
.header-call{grid-column:1;justify-self:start;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:var(--brand-color-primary);box-shadow:0 4px 12px rgba(242,123,41,.32)}
.header-call svg{display:block;fill:#fff}
.site-nav{grid-column:2}
.nav-logo{display:block;line-height:0;justify-self:center}
.nav-logo img{height:73px;width:auto;display:block}
.nav-toggle{grid-column:3;justify-self:end;display:flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0 11px;border:2px solid var(--brand-color-secondary);border-radius:12px;background:#fff;cursor:pointer}
.nav-toggle span{display:block;height:3px;border-radius:2px;background:var(--brand-color-secondary)}
.nav-links{display:none;position:absolute;top:100%;left:0;right:0;z-index:70;border-top:1px solid #e9e4df;background:#fff;box-shadow:0 18px 30px rgba(22,39,64,.16);padding:10px 18px 22px;flex-direction:column}
.nav-links.is-open{display:flex}
.nav-list{display:contents}
.nav-item>a{display:block;padding:16px 4px;border-bottom:1px solid #ddd5cd;font-size:19px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-color-secondary)}
.nav-adopt{order:1}
.nav-foster{order:2}
.nav-donate{order:3}
.nav-about{order:4}
.nav-hours{order:5}
.nav-phone{order:6}
.nav-note{order:7;margin:14px 0 0;text-align:center;font-size:14px;font-weight:600;color:var(--slate)}
.nav-phone>a{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;border:0;border-radius:999px;background:var(--brand-color-primary);color:#fff;font-size:18px;font-weight:800;letter-spacing:normal;text-transform:none}
.nav-phone svg{display:block;fill:#fff}
body.page-adopt .nav-adopt>a,
body.page-foster .nav-foster>a,
body.page-donate .nav-donate>a,
body.page-about .nav-about>a{color:var(--slate)}

@media(min-width:1024px){
  .site-header-inner{display:block;max-width:1500px;margin:0 auto;padding:10px 28px}
  .header-call,.nav-toggle,.nav-note{display:none}
  .site-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
  .nav-links{display:contents;position:static;padding:0;border:0;box-shadow:none;background:none}
  .nav-list{display:flex;align-items:center;grid-row:1}
  .nav-list-left{grid-column:1;gap:38px;justify-content:flex-start}
  .nav-list-right{grid-column:3;gap:32px;justify-content:flex-end}
  .nav-logo{grid-column:2;grid-row:1}
  .nav-logo img{height:82px}
  .nav-item{position:relative}
  .nav-item>a{padding:0;border:0;white-space:nowrap;font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-color-secondary)}
  .nav-item>a:hover{color:var(--brand-color-primary)}
  .nav-phone>a{margin:0;display:inline-flex;gap:9px;background:var(--brand-color-primary);color:#fff;padding:11px 20px 11px 15px;border-radius:999px;font-size:16px;font-weight:800;letter-spacing:.01em;white-space:nowrap;box-shadow:0 4px 12px rgba(242,123,41,.32)}
  .nav-phone>a:hover{background:var(--brand-color-secondary);color:#fff}
  body.page-adopt .nav-adopt>a,
  body.page-foster .nav-foster>a,
  body.page-donate .nav-donate>a,
  body.page-about .nav-about>a{color:var(--brand-color-secondary)}
  body.page-adopt .nav-adopt>a::after,
  body.page-foster .nav-foster>a::after,
  body.page-donate .nav-donate>a::after,
  body.page-about .nav-about>a::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:2px;background:var(--slate)}
}

/* ==========================================================================
   Home hero
   ========================================================================== */
.hero{position:relative;background:var(--brand-color-secondary)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,39,64,.82) 0%,rgba(22,39,64,.62) 42%,rgba(22,39,64,.05) 72%)}
.hero-inner{position:relative;max-width:1240px;margin:0 auto;padding:clamp(56px,9vw,124px) 24px clamp(60px,9vw,128px)}
.hero-eyebrow{font-size:clamp(30px,4.6vw,54px);color:var(--sky)}
.hero-title{margin:10px 0 0;max-width:17ch;font-size:clamp(34px,5.4vw,66px);line-height:1.04;font-weight:900;letter-spacing:-.02em;color:#fff;text-wrap:pretty;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero-text{margin:20px 0 0;max-width:48ch;font-size:clamp(17px,2vw,20px);line-height:1.6;color:var(--ink-soft);text-wrap:pretty}
.hero-text strong{color:#fff}
.hero-actions{margin-top:30px}

/* ==========================================================================
   Interior page hero (About / Adopt / Donate / Foster)
   ========================================================================== */
.page-hero{display:grid;grid-template-columns:1fr;align-items:stretch;background:var(--brand-color-secondary)}
.page-hero-media{position:relative;min-height:clamp(320px,42vw,540px)}
.page-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.page-hero-body{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,84px) clamp(24px,4vw,60px)}
.page-hero-copy{position:relative;width:100%}
.page-hero-bones{position:absolute;inset:0;background-image:url(assets/bones-0b1b31.svg);background-size:400px}
.page-hero-eyebrow{font-size:clamp(28px,4vw,46px);color:var(--sky)}
.page-hero-title{margin:8px 0 0;font-size:clamp(31px,4.4vw,54px);line-height:1.05;font-weight:900;letter-spacing:-.02em;color:#fff;text-wrap:pretty}
.page-hero-text{margin:18px 0 0;max-width:48ch;font-size:clamp(16.5px,1.9vw,19px);line-height:1.6;color:var(--ink-soft);text-wrap:pretty}
.page-hero-text strong{color:#fff}
.page-hero-actions{margin-top:28px}
.page-hero--media-first .page-hero-media{order:2}
@media(min-width:768px){
  .page-hero{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-hero--media-first .page-hero-media{order:0}
  .page-hero-title{max-width:16ch}
  .page-hero--text-first .page-hero-body{align-items:flex-end}
  .page-hero--text-first .page-hero-copy{max-width:34rem}
}
@media(min-width:880px) and (max-width:1023px){
  .page-hero--text-first{grid-template-columns:minmax(0,60%) minmax(0,40%)}
}

/* ==========================================================================
   Split band: photo beside a colored panel with an arrow notch
   ========================================================================== */
.split{width:100%;display:grid;grid-template-columns:1fr;align-items:stretch}
.split-media{position:relative;min-height:clamp(280px,32vw,440px)}
.split-media--34{min-height:clamp(280px,34vw,440px)}
.split-media--tall{min-height:clamp(300px,34vw,460px)}
.split-media--430{min-height:clamp(280px,32vw,430px)}
.split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.split-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,5vw,64px) clamp(24px,4vw,58px)}
.split-panel--lg{padding:clamp(40px,5vw,68px) clamp(24px,4vw,58px)}
.split-panel>*{position:relative}
.split-panel--orange{background:var(--brand-color-primary)}
.split-panel--navy{background:var(--brand-color-secondary)}
.split-panel--slate{background:var(--slate)}
.split-notch{position:absolute;top:-64px;left:0;right:0;height:65px;clip-path:polygon(0 100%,100% 100%,50% 0)}
.split-panel--orange .split-notch{background:var(--brand-color-primary)}
.split-panel--navy .split-notch{background:var(--brand-color-secondary)}
.split-panel--slate .split-notch{background:var(--slate)}
.split-title{margin:2px 0 14px;line-height:1.02;color:#fff;text-transform:uppercase}
.split-text{margin:0;max-width:52ch;font-size:clamp(16px,1.8vw,19px);line-height:1.6;color:#fff;text-wrap:pretty}
@media(min-width:768px){
  .split{grid-template-columns:repeat(2,1fr)}
  .split--tall{min-height:500px}
  .split-notch{top:0;bottom:0;left:-84px;right:auto;width:85px;height:auto;clip-path:polygon(100% 0,100% 100%,0 50%)}
}

/* ==========================================================================
   Generic two-column feature block (text + photo)
   ========================================================================== */
.split2{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,54px);align-items:center}
.split2--gap56{gap:clamp(24px,4vw,56px)}
.split2-img{width:100%;object-fit:cover;border-radius:22px;display:block}
.split2-img--420{height:clamp(280px,32vw,420px)}
.split2-img--430{height:clamp(280px,32vw,430px)}
.split2-img--400{height:clamp(260px,30vw,400px)}
@media(min-width:880px){.split2{grid-template-columns:repeat(2,1fr)}}

/* --- card grids --------------------------------------------------------- */
.cards{display:grid;grid-template-columns:1fr;gap:18px}
.cards--gap20{gap:20px}
@media(min-width:768px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){
  .cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cards-3{grid-template-columns:repeat(3,1fr)}
}

/* --- icon info card ----------------------------------------------------- */
.info-card{border:2px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:row;gap:16px}
.info-badge{display:flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:999px;background:var(--cream)}
.info-badge svg{display:block;fill:none;stroke:var(--brand-color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.info-body{display:flex;flex-direction:column}
.info-label{margin:0 0 8px;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-color-primary)}
.info-text{margin:0;font-size:18px;line-height:1.55;font-weight:600}
.info-text a{color:var(--brand-color-secondary)}
.info-text a:hover{color:var(--brand-color-primary)}
.info-email{color:var(--slate);font-size:16px;font-weight:500}
.info-note{margin:6px 0 0;font-size:14px;color:var(--slate)}
.info-small{margin:0 0 10px;font-size:16px;line-height:1.55;color:var(--slate)}
.info-link{font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.info-socials{display:flex;gap:16px;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(min-width:768px){.info-card{flex-direction:column}}

/* --- diamond bullets ---------------------------------------------------- */
.diamond{flex:none;width:11px;height:11px;margin-top:7px;border-radius:4px;transform:rotate(45deg)}
.diamond-sm{flex:none;width:9px;height:9px;margin-top:8px;border-radius:3px;background:var(--brand-color-secondary);transform:rotate(45deg)}
.bg-primary{background:var(--brand-color-primary)}
.bg-slate{background:var(--slate)}
.bg-brown{background:var(--brown)}
.bg-sky{background:var(--sky)}
.bg-navy{background:var(--brand-color-secondary)}

/* --- photo strip -------------------------------------------------------- */
.photo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(45%,190px),1fr));gap:18px}
.photo-strip img{width:100%;height:clamp(230px,26vw,330px);object-fit:cover;border-radius:18px;display:block}

/* ==========================================================================
   Home — ways to help
   ========================================================================== */
.help{padding:clamp(52px,8vw,132px) clamp(24px,5vw,72px)}
.help-title{margin:4px 0 8px}
.help-lead{margin:0 0 34px;max-width:60ch}
.help-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.help-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.help-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.help-card{display:flex;flex-direction:column;background:#fff;border:2px solid var(--line);border-radius:20px;overflow:hidden;color:var(--brand-color-secondary);box-shadow:0 6px 20px rgba(22,39,64,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.help-card:hover{transform:translateY(-6px);box-shadow:0 16px 30px rgba(22,39,64,.14);color:var(--brand-color-secondary)}
.help-card--adopt:hover{border-color:var(--brand-color-primary)}
.help-card--foster:hover{border-color:var(--slate)}
.help-card--donate:hover{border-color:var(--brown)}
.help-card--visit:hover{border-color:var(--sky)}
.help-bar{display:block;height:10px}
.help-body{display:block;padding:24px 24px 26px}
.help-card-title{display:block;margin:0;font-family:'Yesteryear',cursive;font-weight:400;font-size:34px;line-height:1}
.help-card-text{display:block;margin:8px 0 0;font-size:16px;line-height:1.6;color:var(--slate)}
.help-card-cta{display:inline-block;margin-top:14px;font-size:14px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.c-primary{color:var(--brand-color-primary)}
.c-slate{color:var(--slate)}
.c-brown{color:var(--brown)}
.c-navy{color:var(--brand-color-secondary)}

/* --- Home — no-kill band ------------------------------------------------- */
.nokill{padding:0 0 clamp(30px,4vw,50px)}
.nokill-actions{margin-top:26px}

/* --- Home — service area cards ------------------------------------------ */
.locale{padding:clamp(10px,2vw,20px) 24px clamp(52px,7vw,96px)}
.locale-grid{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:880px){.locale-grid{grid-template-columns:repeat(2,1fr)}}
.locale-card{position:relative;border-radius:20px;overflow:hidden;padding:clamp(30px,3.4vw,44px);display:flex;flex-direction:column;justify-content:center;min-height:210px}
.locale-card--slate{background:var(--slate)}
.locale-card--sky{background:var(--sky)}
.locale-eyebrow{font-size:clamp(28px,3vw,40px)}
.locale-title{margin:2px 0 10px;font-size:clamp(22px,2.4vw,30px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
.locale-text{margin:0;font-size:16.5px;line-height:1.6;max-width:46ch;text-wrap:pretty}
.locale-card--slate .locale-title{color:#fff}
.locale-card--slate .locale-text{color:#e2eaf3}
.locale-card--sky .locale-title{color:var(--brand-color-secondary)}
.locale-card--sky .locale-text{color:#25405f}

/* --- shared cream feature band ------------------------------------------ */
.band-cream{background:var(--cream);background-image:url(assets/bones-eae5e1.svg);background-size:340px;padding:clamp(52px,7vw,96px) 24px}
.band-cream--plain{background-image:none}

/* --- Home — meet the crew ----------------------------------------------- */
.meet-img{width:100%;height:auto;display:block}
.meet-title{margin:2px 0 12px}
.meet-text{margin:0 0 12px;max-width:54ch}
.meet-text--last{margin:0 0 24px}

/* --- Home — faces --------------------------------------------------------*/
.faces{padding:clamp(52px,7vw,96px) 24px clamp(20px,3vw,34px)}
.faces-title{margin:4px 0 30px}
.faces-note{margin:18px 0 0;font-size:15px;color:var(--slate)}
.faces-note a{font-weight:800}

/* --- Home — adoption steps ---------------------------------------------- */
.steps{padding:clamp(40px,6vw,84px) 24px}
.steps-title{margin:0 0 26px}
.steps-grid{display:grid;grid-template-columns:1fr;gap:10px}
.step{min-height:150px;display:flex;flex-direction:column;justify-content:center;padding:26px 34px}
.step--1{background:var(--slate);color:#fff}
.step--2{background:var(--brand-color-primary);color:#fff}
.step--3{background:var(--sky);color:var(--brand-color-secondary)}
.step-label{font-family:'Yesteryear',cursive;font-size:38px;line-height:1}
.step-text{margin-top:6px;font-size:16.5px;line-height:1.5;font-weight:600}
@media(min-width:880px){
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .step--1{padding:26px 56px 26px 34px;clip-path:polygon(0 0,calc(100% - 42px) 0,100% 50%,calc(100% - 42px) 100%,0 100%)}
  .step--2,.step--3{padding:26px 66px 26px 62px;clip-path:polygon(0 0,calc(100% - 42px) 0,100% 50%,calc(100% - 42px) 100%,0 100%,42px 50%)}
}
@media(min-width:880px) and (max-width:1024px){.step--2,.step--3{margin-left:-20px}}

/* --- Home — testimonials -------------------------------------------------*/
.tst{position:relative;background:var(--brand-color-secondary);padding:clamp(52px,7vw,96px) 24px;overflow:hidden}
.tst-bones{position:absolute;inset:0;background-image:url(assets/bones-0b1b31.svg);background-size:400px}
.tst-inner{position:relative}
.tst-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"head" "track" "arrows"}
.tst-head{grid-area:head;margin-bottom:30px}
.tst-eyebrow{color:var(--sky)}
.tst-title{margin:2px 0 0;color:#fff}
.tst-window{grid-area:track;overflow:hidden}
.tst-track{display:grid;grid-auto-flow:column;gap:22px;grid-auto-columns:100%;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.tst-card{margin:0;background:#fff;border-radius:20px;padding:28px 26px 24px;display:flex;flex-direction:column;gap:14px}
.tst-card blockquote{margin:0;font-size:16.5px;line-height:1.65;color:var(--brand-color-secondary);text-wrap:pretty}
.tst-card figcaption{margin-top:auto;padding-top:10px;border-top:2px solid var(--cream);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.tst-arrows{grid-area:arrows;display:flex;gap:12px;justify-content:center;margin-top:24px}
.tst-arrow{width:54px;height:54px;border-radius:999px;border:2px solid var(--sky);background:transparent;color:var(--sky);font-size:22px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tst-arrow:hover{background:var(--sky);color:var(--brand-color-secondary)}
@media(min-width:768px){
  .tst-grid{grid-template-columns:1fr auto;grid-template-areas:"head arrows" "track track";align-items:end;column-gap:18px}
  .tst-arrows{margin:0 0 30px}
}
@media(min-width:880px){.tst-track{grid-auto-columns:calc((100% - 22px) / 2)}}
@media(min-width:1024px){.tst-track{grid-auto-columns:calc((100% - 44px) / 3)}}

/* --- Home — visit --------------------------------------------------------*/
.visit-grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:center}
.visit-title{margin:4px 0 14px}
.visit-text{margin:0;max-width:34ch}
.visit-boxes{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:768px){.visit-boxes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.visit-grid{grid-template-columns:minmax(280px,1fr) 1.4fr}}

/* ==========================================================================
   About page
   ========================================================================== */
.mission-title{margin:2px 0 14px}
.mission-text{margin:0;max-width:52ch}
.mission-list{display:flex;flex-direction:column;gap:14px}
.mission-list li{display:flex;gap:14px;align-items:flex-start;border-bottom:2px solid var(--cream);padding-bottom:14px}
.mission-list li:last-child{border-bottom:0;padding-bottom:0}
.mission-list span:last-child{font-size:17px;line-height:1.6;color:var(--brand-color-secondary)}
.story-title{margin:4px 0 12px}
.story-lead{margin:0 auto 34px;max-width:64ch}
.story-note{margin:26px auto 0;max-width:64ch}
.story-card{background:#fff;border-radius:20px;padding:26px}
.story-card--slate{border-top:10px solid var(--slate)}
.story-card--orange{border-top:10px solid var(--brand-color-primary)}
.story-card--brown{border-top:10px solid var(--brown)}
.story-card--sky{border-top:10px solid var(--sky)}
.story-year{margin:0;font-family:'Yesteryear',cursive;font-weight:400;font-size:44px;line-height:1}
.story-card p{margin:8px 0 0;font-size:16.5px;line-height:1.6;color:var(--slate)}
.diff-title{margin:2px 0 22px;line-height:1.06}
.diff-list{display:flex;flex-direction:column;gap:20px}
.diff-list h3{margin:0 0 4px;font-size:19px;font-weight:900;color:var(--brand-color-primary)}
.diff-list p{margin:0;font-size:16.5px;line-height:1.6;color:#cdd8e6;max-width:52ch}
.area-title{margin:4px 0 12px}
.area-lead{margin:0 0 30px;max-width:62ch}

/* ==========================================================================
   Adopt page
   ========================================================================== */
.how-title{margin:4px 0 30px}
.how-card{border:2px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:10px}
.how-num{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;color:#fff;font-size:24px;font-weight:900}
.how-num--4{color:var(--brand-color-secondary)}
.how-card h3{margin:0;font-size:20px;font-weight:900}
.how-card p{margin:0;font-size:16px;line-height:1.6;color:var(--slate)}
.incl-title{margin:2px 0 18px;line-height:1.05}
.check-list{display:flex;flex-direction:column;gap:12px}
.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.5;color:#fff}
.check-list--bold li{font-weight:600}
.incl-note{margin:20px 0 0;max-width:50ch;font-size:16.5px;line-height:1.6;color:#fff;text-wrap:pretty}
.incl-note a{color:var(--brand-color-secondary);font-weight:900}
.first-title{margin:2px 0 12px}
.first-text{margin:0 0 12px;max-width:54ch}
.first-text--last{margin:0;max-width:54ch}
.match-title{margin:4px 0 8px}
.match-lead{margin:0 auto 28px;max-width:58ch}
.match-actions{margin-top:26px}

/* ==========================================================================
   Donate page
   ========================================================================== */
.where{padding:clamp(52px,7vw,96px) 24px clamp(30px,4vw,50px)}
.where-title{margin:4px 0 30px}
.where-card{border:2px solid var(--line);border-radius:20px;padding:26px}
.where-card h3{margin:0 0 8px;font-family:'Yesteryear',cursive;font-weight:400;font-size:30px;line-height:1}
.where-card p{margin:0;font-size:16.5px;line-height:1.6;color:var(--slate)}
.ways-title{margin:2px 0 18px;line-height:1.06}
.trust-title{margin:2px 0 12px}
.trust-text{margin:0 0 12px;max-width:54ch}
.trust-text--last{margin:0 0 24px;max-width:54ch}

/* ==========================================================================
   Foster page
   ========================================================================== */
.what-title{margin:2px 0 12px}
.what-text{margin:0 0 12px;max-width:54ch}
.what-text--last{margin:0;max-width:54ch}
.who-title{margin:2px 0 14px;line-height:1.06}
.who-text{margin:0;max-width:52ch;font-size:clamp(16px,1.8vw,18.5px);line-height:1.6;color:#e2eaf3;text-wrap:pretty}
.why-title{margin:4px 0 30px}
.why-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(22,39,64,.06)}
.why-bar{height:10px}
.why-body{padding:26px}
.why-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:999px;background:var(--cream);margin-bottom:14px}
.why-icon svg{display:block;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.why-card h3{margin:0 0 8px;font-family:'Yesteryear',cursive;font-weight:400;font-size:32px;line-height:1}
.why-card p{margin:0;font-size:16.5px;line-height:1.6;color:var(--slate)}
.ready-card{position:relative;background:var(--brand-color-primary);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr;align-items:stretch}
.ready-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,5vw,64px) clamp(24px,4vw,56px)}
.ready-title{margin:2px 0 12px;color:#fff;text-transform:uppercase}
.ready-text{margin:0 0 26px;max-width:56ch;font-size:17.5px;line-height:1.6;color:#fff;text-wrap:pretty}
.ready-img{width:100%;height:100%;min-height:30vh;max-height:30vh;object-fit:cover;display:block}
@media(min-width:768px){.ready-img{min-height:260px;max-height:500px}}
@media(min-width:880px){.ready-card{grid-template-columns:repeat(2,1fr)}}

/* ==========================================================================
   FAQs (CMS accordion structure)
   ========================================================================== */
.faqs{background:var(--sky);background-image:url(assets/bones-96d0ed.svg);background-size:340px;padding:clamp(52px,7vw,96px) 24px}
.faqs-inner{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faqs-head{margin:0 0 18px}
.eyebrow-light{margin:0;font-family:'Yesteryear',cursive;font-weight:400;line-height:1;font-size:clamp(32px,4.2vw,48px);color:var(--brand-color-primary);text-align:center}
.h2-light{margin:4px 0 0;font-size:32px;font-weight:900;letter-spacing:-.02em;text-align:center;color:var(--brand-color-secondary)}
@media(min-width:768px){.h2-light{font-size:40px}}
@media(min-width:1024px){.h2-light{font-size:46px}}
.faq-item{background:#fff;border:2px solid #fff;border-radius:50px;padding:20px 30px}
.faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:0;border:0;background:none;cursor:pointer;text-align:left;font-family:inherit;font-size:18px;font-weight:800;color:var(--brand-color-secondary)}
.faq-sign{flex:none;font-size:30px;line-height:1;font-weight:400;color:var(--brand-color-primary)}
.faq-answer{display:none}
.faq-q[aria-expanded="true"]+.faq-answer{display:block}
.faq-answer p{margin:12px 0 0;font-size:16.5px;line-height:1.65;color:var(--slate)}

/* ==========================================================================
   Contact block (form + map) — shared, sits at the end of every page
   ========================================================================== */
.contact{display:grid;grid-template-columns:1fr;background:var(--cream)}
.contact-body{padding:clamp(40px,6vw,74px) clamp(22px,5vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:center}
.contact-inner{width:100%;max-width:620px}
.contact-title{margin:6px 0 10px}
.contact-lead{margin:0 0 22px;max-width:52ch;font-size:17px;line-height:1.6;color:var(--slate);text-wrap:pretty}
.contact-lead a{color:var(--brand-color-primary);font-weight:800}
.contact-form{display:grid;grid-template-columns:1fr;gap:14px;max-width:620px}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.field--full{grid-column:1/-1}
.field input,.field textarea,.field select{font-family:inherit;font-size:16px;color:var(--brand-color-secondary);background:#fff;border:2px solid #ddd5cd;border-radius:12px;padding:13px 14px;outline:none;box-shadow:none}
.field select{padding:13px 12px}
.field textarea{resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand-color-primary)}
.contact-submit{grid-column:1/-1;justify-self:start;min-height:52px;border:none;cursor:pointer;background:var(--brand-color-primary);color:#fff;font-family:inherit;font-size:17px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:15px 34px;border-radius:999px;box-shadow:0 6px 18px rgba(242,123,41,.32)}
.contact-submit:hover{background:var(--brand-color-secondary)}
.contact-map{min-height:420px;position:relative;background:var(--sky)}
.contact-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media(min-width:880px){.contact{grid-template-columns:minmax(0,60%) minmax(0,40%)}}
@media(min-width:1024px){
  .contact{grid-template-columns:minmax(0,50%) minmax(0,50%)}
  .contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ==========================================================================
   Site footer (identical on every page)
   ========================================================================== */
.site-footer{position:relative;overflow:hidden;background:var(--brand-color-secondary);color:#fff}
.site-footer-inner{position:relative;max-width:1240px;margin:0 auto;padding:clamp(44px,6vw,72px) 24px clamp(30px,4vw,44px);display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px)}
.footer-logo{height:88px;width:auto;display:block}
.footer-about{margin:18px 0 0;font-size:15px;line-height:1.65;color:#cdd8e6;max-width:34ch;text-wrap:pretty}
.footer-socials{display:flex;gap:12px;margin-top:20px}
.footer-social{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;background:var(--brand-color-primary);color:#fff}
.footer-social:hover{background:var(--sky);color:var(--brand-color-secondary)}
.footer-social--fb{font-size:26px;font-weight:900;line-height:1;padding-bottom:4px}
.footer-social svg{display:block;fill:none;stroke:#fff;stroke-width:2}
.footer-heading{margin:0 0 14px;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--sky)}
.footer-address{font-style:normal;font-size:16px;line-height:1.75;color:var(--ink-soft)}
.footer-address a{color:var(--ink-soft)}
.footer-address a:hover{color:var(--brand-color-primary)}
.footer-hours{margin:0;font-size:16px;line-height:1.75;color:var(--ink-soft)}
.footer-hours strong{color:#fff;font-weight:inherit}
.footer-hours-note{margin:10px 0 0;font-size:14px;line-height:1.6;color:#9fb2c8}
.footer-links{display:flex;flex-direction:column;gap:10px;font-size:16px}
.footer-links a{color:var(--ink-soft)}
.footer-links a:hover{color:var(--brand-color-primary)}
.footer-bar{position:relative;border-top:1px solid rgba(255,255,255,.16)}
.footer-bar-inner{max-width:1240px;margin:0 auto;padding:18px 24px 26px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:space-between;font-size:13.5px;color:#9fb2c8}
.footer-bar-inner p{margin:0}
.footer-bar-inner a{color:#9fb2c8;font-weight:inherit}
.footer-bar-inner a:hover{color:var(--brand-color-primary)}
@media(min-width:768px){.site-footer-inner{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.site-footer-inner{grid-template-columns:repeat(4,1fr)}}
