/* Petribu: white surfaces, forest green and sage. Loaded after feature styles. */
:root{--paper:#fff;--ink:#153f36;--mint:#edf5ee;--line:#dbe7df;--orange:#ffb27d;--sage:#a5c59b}
html{scroll-padding-top:24px}body{color:var(--ink)}header{height:auto;min-height:88px;background:#fff;padding-block:16px;flex-wrap:wrap}.brand{font-size:30px;letter-spacing:-1.2px}.brand-sub{font-size:9px;letter-spacing:2px}.brand-icon{background:var(--mint);color:var(--ink)}
#living-background:after{background:linear-gradient(90deg,#edf5eeaa 0%,#edf5ee22 58%,#edf5ee00 100%)}
.living-hero{padding:64px 5%;min-height:calc(100svh - 88px);color:var(--ink)}.living-hero .hero-copy{width: min(560px,54%);max-width:560px;background:#fffffff2;padding:clamp(24px,3.5vw,48px);border:1px solid #ffffff;border-radius:32px;box-shadow:0 16px 60px #153f3614}.living-hero h1{color:var(--ink);font-size:clamp(38px,4.6vw,68px);letter-spacing:-2px}.living-hero .eyebrow{color:#365e4d}.living-hero .lead{color:#466254;font-size:18px}.hero-scroll{color:#466254;line-height:1.6}.hero-actions .button{background:var(--ink);color:#fff;border-color:var(--ink)}.hero-actions .outline{background:#fff;color:var(--ink);border-color:#b8cebf}.hero-actions{gap:10px}.hero-actions .button{padding:12px 16px;gap:10px}
.explore,.section,.adoptions-section,.role-section,footer{background:#fff;border:1px solid var(--line);box-shadow:0 8px 32px #153f3608}.explore,.section,.adoptions-section{max-width:1440px;margin-left:auto;margin-right:auto;width:92%;border-radius:28px}.living-scene{background:var(--mint)}.map-wrap{border-color:#c5d9cc}.marker.owner{background:var(--sage);color:#153f36}.map-footer{background:#fff}.pill,.demo-label{background:var(--mint);border-color:var(--line)}.button,.filter,.text-button,.link-button{transition:background-color .18s,color .18s,box-shadow .18s}.button:hover{box-shadow:0 4px 14px #153f361c}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #548567;outline-offset:3px}.button.outline{background:#fff;color:var(--ink)}
.map-toolbar{display:flex;flex-wrap:wrap;gap:8px}.map-toolbar .search{min-width:0;flex:1 1 175px}.map-toolbar .filter-group{flex:0 1 auto}.map-toolbar .round{flex:0 0 48px}.search-area{top:140px}.profile-card{top:145px}.map-toolbar select{min-width:0;max-width:100%}
#living-toggle{left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px);background:#fff;border-color:#b8cebf;z-index:899}.support-fab{bottom:calc(76px + env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));background:var(--ink);border:1px solid #fff;border-radius:20px;box-shadow:0 8px 28px #153f3630}body:has(dialog[open]) #living-toggle{visibility:hidden}footer{padding-bottom:150px;gap:24px;flex-wrap:wrap}dialog{background:#fff;color:var(--ink);border:1px solid var(--line);max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}dialog::backdrop{background:#102c2466}.close{min-width:44px;min-height:44px}input,select,textarea{font-size:16px;max-width:100%}textarea{font-family:inherit}.account-actions,.ad-nav{flex-wrap:wrap;gap:10px}.workspace-nav{flex-wrap:wrap}p,button,a,h1,h2,h3{overflow-wrap:break-word}img,video,canvas{max-width:100%}.hero-copy{animation:petribu-enter .65s ease-out both}@keyframes petribu-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.living-hero{padding-left:max(5%,calc((100vw - 1440px)/2))}.support-fab{bottom:24px}#living-toggle{bottom:24px}}
@media(max-width:1024px){.how{gap:30px}.living-hero .hero-copy{width:60%}.map-toolbar .search{flex-basis:170px}.profile-card{top:150px}.section{padding:40px 28px}.top-actions{gap:12px}.ad-nav .button{flex:1 1 160px}}
@media(max-width:760px){header{padding:14px 20px;gap:16px}.brand{font-size:27px}.top-actions{margin-left:auto;gap:10px}.demo-label{display:none}.living-hero{padding:28vh 20px 48px;min-height:calc(100svh - 88px)}.living-hero .hero-copy{width:100%;max-width:520px;padding:26px;border-radius:26px}.living-hero h1{font-size:clamp(36px,7vw,48px)}.living-hero .lead{font-size:17px}#living-background:after{background:linear-gradient(0deg,#edf5ee66,transparent 75%)}.how,.faq,.role-section{grid-template-columns:1fr}.section,.explore,.adoptions-section{width:calc(100% - 24px);padding:28px 18px!important;margin-top:24px;margin-bottom:24px}.map-wrap{height:640px}.map-toolbar{top:12px;left:12px;right:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.map-toolbar .search{width:100%;height:46px;padding:0 8px}.map-toolbar .filter-group{grid-column:1/-1;grid-row:1;display:flex}.map-toolbar .filter{flex:1;padding:8px 5px;min-height:38px}.map-toolbar .round{margin:0;width:100%;height:44px}.search-area{top:226px;width:max-content;max-width:90%}.profile-card{top:224px;left:12px;right:12px;width:auto;max-height:330px;overflow:auto}.map-heading{display:block}.map-subtitle{max-width:none;margin-top:12px}.under-map{align-items:flex-start;flex-direction:column}.map-footer{padding:12px;font-size:12px}.map-footer button{min-height:44px;flex-shrink:0}.support-fab{max-width:230px;font-size:13px;bottom:calc(72px + env(safe-area-inset-bottom));right:12px}.living-scene{min-height:420px}.hero-actions .button{flex:1 1 170px}.ad-nav .button{flex-basis:130px}.section h2,.adoptions-section h2{font-size:32px;letter-spacing:-1px}.top-actions .button{padding:10px 12px}}
@media(max-width:400px){header{padding:12px;gap:12px}.brand{font-size:25px}.brand-icon{width:38px;height:38px}.top-actions{width:100%;justify-content:space-between}.living-hero{padding-inline:12px}.living-hero .hero-copy{padding:22px}.map-footer{gap:6px}.map-footer span{max-width:62%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Approved dog/cat identity, intrinsic ratio prevents layout shift. */
.brand-logo{display:block;width:180px;height:auto;max-width:100%;object-fit:contain}.brand{flex-shrink:0}footer .brand-logo{width:180px}@media(max-width:760px){.brand-logo{width:150px}}@media(max-width:400px){.brand-logo{width:144px}}
