:root{--navy:#14213d;--ink:#0f1830;--brass:#b08d57;--brass-d:#8f6f3e;--mist:#f4f6f9;--text:#2b3447}
body{font-family:'Manrope',sans-serif;color:var(--text);line-height:1.7}
h1,h2,h3,h5,.navbar-brand{font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--navy)}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
#loader{position:fixed;inset:0;background:var(--navy);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;transition:opacity .5s,visibility .5s}
#loader i{font-size:3rem;color:var(--brass);animation:bounce 1s infinite alternate}
#loader span{font-family:'Cormorant Garamond',serif;font-size:1.6rem}
#loader .bar{width:160px;height:3px;background:#ffffff33;overflow:hidden;border-radius:3px}
#loader .bar:after{content:"";display:block;width:40%;height:100%;background:var(--brass);animation:slide 1s infinite}
#loader.done{opacity:0;visibility:hidden}
@keyframes bounce{to{transform:translateY(-14px)}}@keyframes slide{from{margin-left:-40%}to{margin-left:100%}}
.navbar{padding:1rem 0;transition:.3s}.navbar .navbar-brand,.navbar .nav-link{color:#fff}
.navbar-brand small{font-family:'Manrope';font-size:.7rem;font-weight:500;display:block;margin-top:-6px;opacity:.8}
.navbar .nav-link{font-weight:500}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--brass)}
.navbar-toggler{color:#fff;border:0}.navbar.solid{background:var(--navy);padding:.6rem 0;box-shadow:0 2px 14px #0004}
@media(max-width:991px){.navbar{background:var(--navy)}}
.btn-brass{background:var(--brass);color:#fff;border:0;font-weight:700}.btn-brass:hover{background:var(--brass-d);color:#fff}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--ink);color:#fff}
.btn-ghost{border:2px solid #fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy)}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--navy)}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,#0f1830ee 10%,#0f183066)}
.hero .container{position:relative}.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,5rem);line-height:1.05;max-width:16ch;margin-bottom:1rem}
.hero p{max-width:48ch;font-size:1.15rem;margin-bottom:2rem}
.pagehead{background:var(--navy);color:#fff;padding:9rem 0 4rem}.pagehead h1{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem)}
.sec{padding:5rem 0}.sec.alt{background:var(--mist)}.sec h2{font-size:2.4rem;margin-bottom:2rem}
.ico{font-size:2rem;color:var(--brass);margin-bottom:.8rem}
.pup{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px #14213d14;height:100%}
.pup .ph{position:relative;aspect-ratio:4/3;background:#dde2ea}.pup img{width:100%;height:100%;object-fit:cover}
.pup .b{padding:1.2rem}.pup h3{font-size:1.7rem;margin:0}.meta{color:#6b7488;font-size:.9rem}
.pup.is-adopted img{filter:grayscale(.5)}.tag{position:absolute;top:12px;left:12px;background:var(--navy);color:#fff;padding:.2rem .8rem;border-radius:30px;font-size:.8rem}
.rev{background:#fff;border-left:4px solid var(--brass);padding:1.5rem;border-radius:8px;box-shadow:0 6px 24px #14213d14;height:100%}
.stars{color:var(--brass);letter-spacing:3px}.rev footer{font-weight:700;color:var(--navy);background:none;padding:0}
.ticks{list-style:none;padding:0}.ticks li:before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--brass);margin-right:.6rem}
body>footer{background:var(--ink);color:#c5cbd8;padding:3.5rem 0 1.5rem}body>footer h5,body>footer h6{color:#fff}body>footer a{display:block;color:#c5cbd8;text-decoration:none;margin-bottom:.4rem}body>footer a:hover{color:var(--brass)}
body>footer .copy{border-top:1px solid #ffffff22;margin-top:2rem;padding-top:1rem;font-size:.85rem}body>footer .copy a{display:inline}
.adminbg{background:var(--navy);min-height:100vh;display:flex;align-items:center;justify-content:center}
.loginbox{background:#fff;padding:2rem;border-radius:14px;width:min(380px,92vw)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.hero video{display:none}}
