:root{
  --background:#EFEEF1; --foreground:#231F20;
  --primary:#6504B5; --primary-strong:#410078;
  --secondary:#F4E9FD; --sky:#F4E9FD;
  --accent:#36BBBC; --accent-deep:#258384;
  --lime:#A2E05E;
  --navy:#2E0152;
  --muted:#fff; --muted-fg:#4D4751; --border:#D2D1D3;
  --brand-pink:#DC0081; 
  --radius:1rem;
  --font-heading: Georgia, "Times New Roman", serif;
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
a{color:var(--primary-strong)}
h1,h2,h3{font-family:var(--font-heading);font-weight:400;line-height:1.15;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,5vw,4rem)} h2{font-size:clamp(1.8rem,3.4vw,2.7rem)} h3{font-size:1.35rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--primary-strong);margin-bottom:.8rem}

.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);box-shadow:0 1px 6px rgba(0,0,0,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.site-header img{height:46px;width:auto}
.nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.nav a{padding:8px 14px;border-radius:10px;text-decoration:none;color:var(--foreground);font-size:.95rem;font-weight:500}
.nav a:hover{background:rgba(101,4,181,.08);color:var(--primary-strong)}
.nav a.active{color:var(--primary-strong);background:rgba(101,4,181,.12)}
.nav a.cta{background:var(--primary-strong);color:#fff;border-radius:999px;margin-left:10px;padding:10px 20px;font-weight:600}

.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.4rem}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:600;text-decoration:none;transition:opacity .2s}
.btn-primary{background:var(--primary-strong);color:#fff}
.btn-outline{border:2px solid var(--primary-strong);color:var(--primary-strong)}
.btn-light{background:#fff;color:var(--primary-strong)}
.btn-ghost{border:2px solid #fff;color:#fff}
.btn:hover{opacity:.88}

.hero{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.55) 55%,rgba(0,0,0,.75))}
.hero .wrap{position:relative;z-index:1;text-align:center;max-width:860px}
.hero .eyebrow{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.1);padding:6px 16px;border-radius:999px}
.hero p{font-size:1.25rem;color:#eef}
.hero .btns{justify-content:center}

section{padding:84px 0}
.bg-white{background:#fff} .bg-sky{background:var(--sky)} .bg-cream{background:var(--background)}
.bg-navy{background:var(--navy);color:#fff} .bg-primary{background:var(--primary-strong);color:#fff}
.center{text-align:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.reverse>.media{order:2}
.media img{border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.15);width:100%;max-height:560px;object-fit:cover}
.prose p{margin:0 0 1em}
.lead{font-size:1.15rem;color:var(--muted-fg)}
.tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:28px}
.tier{background:#fff;border-radius:18px;padding:22px 22px 18px;box-shadow:0 4px 14px rgba(0,0,0,.06);border-top:5px solid var(--primary)}
.tier .amt{font-family:var(--font-heading);font-size:2rem;color:var(--primary-strong)}
.tier p{margin:.3rem 0 0;color:#333}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:28px}
.card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:32px;counter-reset:s}
.step{background:#fff;border-radius:18px;padding:22px;position:relative;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.step::before{counter-increment:s;content:counter(s);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--primary-strong);color:#fff;font-weight:700;margin-bottom:10px}
.step h3{font-size:1.15rem;margin-bottom:.3em}
.step p{margin:0;font-size:.95rem;color:#333}
ol.reqs{padding-left:1.3em} ol.reqs li{margin:.45em 0}
ul.checks{list-style:none;padding:0} ul.checks li{padding-left:1.8em;position:relative;margin:.5em 0}
ul.checks li::before{content:"✓";position:absolute;left:0;color:var(--accent-deep);font-weight:700}
.callout{background:#fff;border-left:5px solid var(--accent);padding:18px 22px;border-radius:12px;margin-top:24px}
details{background:#fff;border-radius:14px;padding:18px 22px;margin:12px 0;box-shadow:0 2px 8px rgba(0,0,0,.05)}
details summary{cursor:pointer;font-weight:600;font-size:1.05rem}
details p{margin:.8em 0 0}
blockquote.pull{font-family:var(--font-heading);font-size:1.5rem;font-style:italic;border-left:4px solid var(--accent);margin:28px 0;padding-left:20px}
.sig{font-family:var(--font-heading);font-size:1.2rem;margin-top:1.2em}
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.news a{display:block;background:#fff;border-radius:16px;padding:20px;text-decoration:none;color:var(--foreground);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.news a span{display:block;color:var(--primary-strong);font-weight:600;margin-top:8px}
.partner img{height:56px;width:auto;margin:20px auto 0}
footer .partner img{background:#fff;padding:8px 14px;border-radius:10px;opacity:1!important}
.tax{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;align-items:center}

footer{background:var(--navy);color:#d5c6e8;padding:64px 0 36px;font-size:.92rem}
footer .logo{filter:brightness(0) invert(1);height:56px;width:auto;margin:0 auto 14px}
footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:36px 0}
footer h4{color:var(--lime);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;margin:0 0 12px}
footer a{color:#d5c6e8;text-decoration:none} footer a:hover{color:#fff}
footer ul{list-style:none;padding:0;margin:0} footer li{margin:6px 0}
footer .legal{text-align:center;color:#a893c0;font-size:.8rem;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.reverse>.media{order:0}.steps{grid-template-columns:1fr 1fr}footer .cols{grid-template-columns:1fr}.nav a{padding:6px 8px}}

.page-head{background:linear-gradient(135deg,var(--navy),var(--primary-strong) 55%,var(--primary));color:#fff;padding:96px 0 84px}
.page-head .eyebrow{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.1);padding:6px 16px;border-radius:999px}
.page-head p{font-size:1.2rem;color:#ecd7fd}
.hero-quote{font-family:var(--font-heading);font-style:italic;font-size:1.5rem!important;line-height:1.4}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.contact-card{background:var(--background);border-radius:16px;padding:20px 22px;border-top:5px solid var(--primary)}
.contact-card h3{font-size:1.05rem;font-family:var(--font-sans);font-weight:700;margin-bottom:.4em}
.contact-card p{margin:0}
details ul.checks{margin:.6em 0 0}
@media (max-width:900px){.contact-cards{grid-template-columns:1fr}}

.contact-form{display:flex;flex-direction:column;gap:16px;margin-top:20px;text-align:left}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.95rem;color:var(--foreground)}
.contact-form input,.contact-form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--foreground)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.contact-form .req{color:#b07800;font-weight:700}
.contact-form .opt{color:var(--muted-fg);font-weight:400;font-size:.85rem}
.contact-form button.btn{border:none;cursor:pointer;font:inherit}

.btn-lg{padding:17px 36px;font-size:1.1rem}
.hero .fineprint{font-size:.95rem;color:#ecd7fd;margin:14px 0 0;letter-spacing:.02em}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.point{background:var(--background);border-radius:16px;padding:18px 18px 16px;border-top:5px solid var(--primary)}
.point h3{font-family:var(--font-sans);font-size:1rem;font-weight:700;margin:0 0 .35em;color:var(--primary-strong)}
.point p{margin:0;font-size:.93rem;color:#333}
.once-link{margin-top:14px;font-size:.98rem;color:var(--muted-fg)}
.once-link a{font-weight:600}
@media (max-width:900px){.points{grid-template-columns:1fr}}

.dogs-cta-bar{background:var(--primary-strong);color:#fff;border-bottom:3px solid var(--lime)}
.dogs-cta-bar .wrap{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.dogs-cta-bar p{margin:0;font-size:1rem;font-weight:500;opacity:.95}
.dogs-cta-bar .btn-dogs{background:var(--lime);color:var(--navy);border-radius:999px;padding:12px 26px;font-weight:700;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.dogs-cta-bar .btn-dogs:hover{opacity:.92}
.dogs-cta-bar .btn-dogs::after{content:" →";font-weight:700}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.photo-strip img{border-radius:16px;width:100%;height:180px;object-fit:cover;box-shadow:0 6px 16px rgba(0,0,0,.12)}
@media (max-width:900px){.photo-strip{grid-template-columns:1fr 1fr}.photo-strip img{height:140px}.dogs-cta-bar .wrap{gap:10px}}

.adopt-form{margin-top:28px;text-align:left}
.adopt-form__meta{font-size:.92rem;color:var(--muted-fg);margin:0 0 12px}
.adopt-form__section{border:1px solid var(--border,#e5e2dc);border-radius:16px;padding:22px 22px 8px;margin:0 0 22px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.adopt-form__section>legend{font-family:var(--font-heading);font-size:1.35rem;padding:0 8px;color:var(--primary-strong)}
.adopt-form__field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.95rem;margin:0 0 16px;color:var(--foreground);border:0;padding:0;min-width:0}
.adopt-form__field>legend{font-weight:600;font-size:.95rem;padding:0;margin:0 0 6px}
.adopt-form__field input[type=text],
.adopt-form__field input[type=email],
.adopt-form__field input[type=tel],
.adopt-form__field input[type=date],
.adopt-form__field textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--foreground);width:100%;box-sizing:border-box}
.adopt-form__field input:focus,
.adopt-form__field textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.adopt-form__choices{display:flex;flex-direction:column;gap:8px}
.adopt-form__choice{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:.95rem;cursor:pointer}
.adopt-form__choice input{margin-top:4px;flex-shrink:0}
.adopt-form__help{font-weight:400;font-size:.88rem;color:var(--muted-fg);margin:0 0 4px}
.adopt-form .req{color:#b07800;font-weight:700}
.adopt-form .opt{color:var(--muted-fg);font-weight:400;font-size:.85rem}
.adopt-form__actions{display:flex;justify-content:center;margin:28px 0 12px}
.adopt-form__actions .btn{border:none;cursor:pointer;font:inherit}
.adopt-form__backend-note{text-align:center;margin:8px 0 0}
.adopt-form__honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.adopt-form__thanks{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20;border-radius:12px;padding:18px 20px;text-align:center;font-weight:600;margin-top:20px}
.adopt-form__error{background:#fdecea;border:1px solid #f5c2c0;color:#7f1d1d;border-radius:12px;padding:14px 18px;text-align:center;margin-top:16px}

.nav-toggle{display:none}
@media (max-width:900px){
  .site-header{z-index:45} 
  .site-header .wrap{position:relative}
  .site-logo{flex-shrink:0}
  .nav-toggle{
    display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
    width:48px; height:48px; padding:0; margin-right:-4px;
    background:#fff; color:var(--primary-strong);
    border:2px solid var(--primary-strong); border-radius:12px; cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .nav-toggle:hover{background:var(--secondary)}
  .nav-toggle:focus-visible{outline:3px solid var(--primary); outline-offset:2px}
  .nav-toggle[aria-expanded="true"]{background:var(--primary-strong); color:#fff}
  .nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{
    display:block; width:22px; height:2.5px; border-radius:2px; background:currentColor;
    transition:transform .2s ease, background-color .2s ease;
  }
  .nav-toggle__bars{position:relative}
  .nav-toggle__bars::before,.nav-toggle__bars::after{content:""; position:absolute; left:0}
  .nav-toggle__bars::before{top:-7px}
  .nav-toggle__bars::after{top:7px}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-7px) rotate(-45deg)}

  .site-header .nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:2px;
    padding:10px 16px 18px; background:#fff;
    border-top:3px solid var(--primary-strong);
    box-shadow:0 14px 28px rgba(46,1,82,.22);
    max-height:calc(100vh - 76px); max-height:calc(100dvh - 76px);
    overflow-y:auto; overscroll-behavior:contain;
  }
  .site-header .nav.is-open{display:flex}
  .site-header .nav a{
    display:block; padding:13px 14px; border-radius:10px; font-size:1.05rem;
    border-bottom:1px solid var(--secondary);
  }
  .site-header .nav a:focus-visible{outline:3px solid var(--primary); outline-offset:-3px}
  .site-header .nav a.cta{margin:12px 0 0; padding:14px 20px; text-align:center; border-bottom:0; border-radius:999px; color:#fff}
  .site-header .nav a.cta:hover{background:var(--primary)}
}

.sanct-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.sanct-stat{background:#fff;border-radius:18px;padding:22px 18px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.06);border-top:5px solid var(--primary)}
.sanct-stat .num{display:block;font-family:var(--font-heading);font-size:2rem;color:var(--primary-strong);margin-bottom:6px}
.sanct-stat .lbl{font-size:.95rem;color:var(--muted-fg)}
.sanct-list{display:grid;gap:32px;margin-top:32px}
.sanct-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;background:var(--background);border-radius:20px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.sanct-card:nth-child(even) .sanct-photo{order:2}
.sanct-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
.sanct-body{padding:28px 28px 26px 0}
.sanct-card:nth-child(even) .sanct-body{padding:28px 0 26px 28px}
.sanct-body h3{margin:.1em 0 .2em}
.sanct-body h4{font-size:1rem;margin:1em 0 .4em;color:var(--primary-strong)}
.sanct-facts{font-weight:600;margin:0 0 6px}
.sanct-tags{display:inline-block;background:rgba(101,4,181,.1);color:var(--primary-strong);font-size:.85rem;font-weight:600;padding:4px 12px;border-radius:999px;margin:0 0 12px}
.sanct-cost{font-weight:600}
@media (max-width:900px){.sanct-stats{grid-template-columns:1fr 1fr}.sanct-card{grid-template-columns:1fr;gap:0}.sanct-card:nth-child(even) .sanct-photo{order:0}.sanct-photo img{min-height:0;aspect-ratio:4/3;height:auto}.sanct-body,.sanct-card:nth-child(even) .sanct-body{padding:22px 20px}}

@media (min-width:901px){.nav{flex-wrap:nowrap}.nav a{white-space:nowrap}}
@media (min-width:901px) and (max-width:1340px){.nav{gap:2px}.nav a{padding:8px 9px;font-size:.9rem}.nav a.cta{margin-left:6px;padding:9px 16px}.site-logo img{max-width:140px}}

.sanct-photo{position:relative}
.sanct-illus{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;letter-spacing:.04em;padding:3px 9px;border-radius:999px}
.sanct-disclaimer{font-size:.9rem;color:var(--muted-fg);margin-top:22px}

.zeffy-embed-wrap{max-width:720px;margin:1.5rem auto 0;width:100%}
.zeffy-embed{position:relative;overflow:hidden;height:1200px;width:100%;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.zeffy-embed iframe{position:absolute;border:0;top:0;left:0;bottom:0;right:0;width:100%;height:100%}
.zeffy-fallback{text-align:center;margin-top:14px;font-size:.95rem;color:var(--muted-fg)}
.zeffy-fallback a{color:var(--primary-strong);font-weight:600}
@media (max-width:600px){
  .zeffy-embed{height:1400px}
}

.petfinder-widget{min-height:640px;width:100%;margin:0 auto;text-align:left}
.petfinder-widget pet-scroller{display:block;width:100%;min-height:600px}
.petfinder-fallback{margin:18px 0 0;font-size:.95rem;color:var(--muted-fg)}
.petfinder-fallback a{font-weight:600}
@media (max-width:600px){
  .petfinder-widget{min-height:480px}
  .petfinder-widget pet-scroller{min-height:440px}
}
