:root{--sand:#f6f0e4;--cream:#faf6ef;--terra:#c1502e;--burnt:#8b3520;--gold:#e09b3d;--dark:#1a1209;--mid:#3d2b1a;--text:#2c1e10;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;}

/* Skip link for accessibility */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;z-index:2000;padding:.6rem 1rem;background:var(--gold);color:var(--dark);font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(26,18,9,0.96);backdrop-filter:blur(8px);border-bottom:2px solid var(--terra);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:68px;}
.nav-logo{display:flex;align-items:center;gap:.7rem;cursor:pointer;text-decoration:none;}
.nav-logo img{height:44px;width:44px;object-fit:contain;border-radius:50%;}
.nav-logo span{font-family:'Cinzel',serif;color:var(--gold);font-size:1.15rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.nav-links{display:flex;gap:.1rem;list-style:none;align-items:center;}
.nav-links a{display:inline-block;background:none;border:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);padding:.5rem .9rem;border-radius:3px;text-decoration:none;transition:color .2s,background .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);background:rgba(212,114,42,.15);}
.nav-donate{background:var(--terra)!important;color:white!important;border-radius:4px!important;}
.nav-donate:hover{background:var(--burnt)!important;color:white!important;}

main{padding-top:68px;}

/* HOME HERO */
.hero{position:relative;height:calc(100vh - 68px);min-height:520px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,18,9,.35) 0%,rgba(26,18,9,.05) 35%,rgba(26,18,9,.78) 100%),url('https://images.unsplash.com/photo-1639500620166-c6373e6b8391?q=80&w=1600&auto=format&fit=crop&ixlib=rb-4.1.0') center/cover no-repeat;}
.hero-content{position:relative;z-index:2;text-align:center;padding:2rem;animation:heroIn 1.2s ease both;}
@keyframes heroIn{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.hero h1{font-family:'Oswald',sans-serif;font-size:clamp(2.6rem,7vw,5rem);font-weight:700;color:var(--sand);line-height:1.05;text-shadow:0 3px 6px rgba(0,0,0,.85),0 6px 24px rgba(0,0,0,.65),0 0 2px rgba(0,0,0,.95);margin-bottom:.6rem;letter-spacing:.02em;text-transform:uppercase;}
.hero-sub{display:inline-block;background:var(--terra);color:#fff;padding:.55rem 1.5rem;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-size:clamp(1rem,2.6vw,1.5rem);letter-spacing:.25em;font-weight:700;text-transform:uppercase;margin-bottom:1.2rem;box-shadow:0 4px 14px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);}
.hero-tagline{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;color:rgba(246,240,228,.85);max-width:580px;margin:0 auto 2rem;line-height:1.55;letter-spacing:.03em;}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.scroll-ind{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;animation:bounce 2s infinite;color:rgba(246,240,228,.6);font-size:1.5rem;}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}

/* BUTTONS */
.btn-p{display:inline-block;background:var(--terra);color:white;padding:.85rem 1.9rem;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .15s;}
.btn-p:hover{background:var(--burnt);transform:translateY(-2px);}
.btn-o{display:inline-block;background:transparent;color:var(--sand);padding:.85rem 1.9rem;border-radius:4px;border:2px solid rgba(246,240,228,.5);font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s,background .2s;}
.btn-o:hover{border-color:var(--gold);color:var(--gold);background:rgba(224,155,61,.1);}

/* HOME CONTENT */
.mission-split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:1100px;margin:0 auto;padding:5rem 2rem;}
.img-stack{position:relative;}
.img-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;box-shadow:8px 8px 0 var(--terra);}
.img-accent{position:absolute;bottom:-2rem;right:-2rem;width:52%;aspect-ratio:1;object-fit:cover;border-radius:4px;border:4px solid var(--cream);box-shadow:4px 4px 20px rgba(0,0,0,.25);}
.lbl{font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--terra);margin-bottom:.5rem;}
.h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--mid);line-height:1.15;margin-bottom:1.25rem;}
.body{font-size:1.04rem;line-height:1.75;color:#4a3520;max-width:640px;}
.body p+p{margin-top:1rem;}

.what-we-do{background:var(--dark);padding:5rem 2rem;}
.what-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.75rem;max-width:1000px;margin:3rem auto 0;}
.what-card{text-align:center;padding:2rem 1.4rem;border:1px solid rgba(224,155,61,.2);border-radius:6px;transition:border-color .3s,background .3s;}
.what-card:hover{border-color:var(--gold);background:rgba(224,155,61,.05);}
.w-icon{font-size:2.4rem;margin-bottom:1rem;}
.what-card h3{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem;}
.what-card p{font-size:.88rem;color:rgba(246,240,228,.65);line-height:1.6;}

.donate-banner{background:linear-gradient(135deg,var(--terra) 0%,var(--burnt) 100%);padding:5rem 2rem;text-align:center;}

/* PAGE HERO */
.page-hero{position:relative;height:clamp(340px,32vw,560px);display:flex;align-items:flex-end;overflow:hidden;}
.page-hero.split{height:auto;background:var(--dark);align-items:stretch;}
.page-hero.split .page-hero-photo{width:42%;flex-shrink:0;overflow:hidden;background:#0e0805;}
.page-hero.split .page-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:340px;}
.page-hero.split .page-hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2.5rem 3rem;}
@media(max-width:720px){
  .page-hero.split{flex-direction:column;}
  .page-hero.split .page-hero-photo{width:100%;}
  .page-hero.split .page-hero-photo img{aspect-ratio:16/10;min-height:0;height:auto;}
  .page-hero.split .page-hero-content{padding:2rem 1.5rem;}
}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.page-hero-content{position:relative;z-index:2;padding:2.5rem 3rem;}
.page-hero-content .lbl{color:var(--gold);}
.page-hero-content h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;color:white;line-height:1.1;}

/* K9 CARDS */
.k9-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.k9-card{position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer;}
.k9-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.k9-card:hover img,.k9-card:focus-within img{transform:scale(1.06);}
.k9-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(26,18,9,.92) 0%,transparent 100%);padding:3rem 1.75rem 1.75rem;}
.k9-name{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:white;}
.k9-breed{font-family:'Barlow Condensed',sans-serif;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;}
.k9-desc{font-size:.87rem;color:rgba(246,240,228,.85);line-height:1.5;max-height:0;overflow:hidden;transition:max-height .4s ease;}
.k9-card:hover .k9-desc,.k9-card:focus-within .k9-desc{max-height:120px;}
@media(hover:none){.k9-desc{max-height:120px;}}

.action-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.action-photo{position:relative;overflow:hidden;aspect-ratio:16/9;}
.action-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.action-photo:hover img{transform:scale(1.05);}
.action-lbl{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(26,18,9,.85) 0%,transparent 100%);padding:1.5rem 1.25rem 1rem;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);}

/* MEMBER */
.member-content{max-width:900px;margin:0 auto;padding:5rem 2rem;}
.step-list{display:flex;flex-direction:column;gap:2.25rem;margin-top:3rem;}
.step{display:grid;grid-template-columns:60px 1fr;gap:1.5rem;align-items:start;}
.step-num{width:60px;height:60px;border-radius:50%;background:var(--terra);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:white;flex-shrink:0;box-shadow:0 4px 12px rgba(193,80,46,.3);}
.step-body h3{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);margin-bottom:.35rem;}
.step-body p{color:#4a3520;line-height:1.7;font-size:.97rem;}
.req-box{background:var(--dark);border-radius:8px;padding:2.25rem;margin-top:3.5rem;border-left:4px solid var(--terra);}
.req-box h3{font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--gold);margin-bottom:1.2rem;}
.req-list{list-style:none;display:flex;flex-direction:column;gap:.7rem;}
.req-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.94rem;color:rgba(246,240,228,.8);line-height:1.5;}
.req-list li::before{content:"\2726";color:var(--terra);flex-shrink:0;margin-top:1px;}

/* FAQ — proper button semantics */
.faq{margin-top:3.5rem;}
.faq-title{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--mid);margin-bottom:1.75rem;}
.faq-item{width:100%;border:0;border-bottom:1px solid rgba(61,43,26,.15);padding:1.2rem 0;cursor:pointer;background:transparent;text-align:left;display:block;font:inherit;color:inherit;}
.faq-item:focus-visible{outline:2px solid var(--terra);outline-offset:4px;border-radius:3px;}
.faq-q{font-family:'Barlow Condensed',sans-serif;font-size:1.08rem;font-weight:600;color:var(--mid);display:flex;justify-content:space-between;align-items:center;user-select:none;}
.faq-q::after{content:"+";font-size:1.4rem;color:var(--terra);transition:transform .3s;flex-shrink:0;margin-left:1rem;}
.faq-item[aria-expanded="true"] .faq-q::after{transform:rotate(45deg);}
.faq-a{font-size:.94rem;color:#4a3520;line-height:1.7;max-height:0;overflow:hidden;transition:max-height .4s ease,padding-top .3s;}
.faq-item[aria-expanded="true"] .faq-a{max-height:600px;padding-top:.7rem;}

/* HISTORY */
.history-content{max-width:800px;margin:0 auto;padding:5rem 2rem;}
.cs-block{text-align:center;padding:4rem 2rem;border:2px dashed rgba(61,43,26,.2);border-radius:8px;margin-top:3rem;}
.cs-icon{font-size:4rem;margin-bottom:1rem;}
.cs-block h3{font-family:'Playfair Display',serif;font-size:1.55rem;color:var(--mid);margin-bottom:.7rem;}
.cs-block p{color:#6b5030;font-size:.96rem;line-height:1.7;max-width:480px;margin:0 auto;}

/* FOOTER */
footer{background:var(--dark);padding:3rem 2rem;text-align:center;border-top:2px solid var(--terra);}
footer img{height:56px;margin-bottom:1rem;opacity:.85;}
.foot-name{font-family:'Cinzel',serif;color:var(--gold);font-size:1.05rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem;}
footer p{color:rgba(246,240,228,.6);font-size:.84rem;line-height:1.65;}
footer a{color:rgba(246,240,228,.75);text-decoration:underline;}
footer a:hover{color:var(--gold);}
.foot-social{margin-bottom:1rem;}
.foot-social a{display:inline-flex;align-items:center;gap:.45rem;color:var(--gold);text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .9rem;border:1px solid rgba(224,155,61,.4);border-radius:4px;transition:background .2s,border-color .2s;}
.foot-social a:hover{background:rgba(224,155,61,.12);border-color:var(--gold);}

/* HAMBURGER MENU (mobile) */
.nav-toggle{display:none;background:none;border:0;color:var(--sand);cursor:pointer;padding:.5rem;font-size:1.5rem;}
.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px;}

@media(max-width:768px){
  .mission-split{grid-template-columns:1fr;gap:2rem;}
  .img-accent{display:none;}
  .action-row{grid-template-columns:1fr;}
  .step{grid-template-columns:46px 1fr;gap:1rem;}
  .step-num{width:46px;height:46px;font-size:1.2rem;}
  .nav-links a{font-size:.78rem;padding:.4rem .55rem;}
  .nav-logo span{display:none;}
}
@media(max-width:420px){.nav-links a{padding:.35rem .4rem;font-size:.72rem;}}
