:root{
  /* Palette inspired by site — emphasis on whimsical green */
  --brand-green:#3c6d5b;        /* whimsy green */
  --brand-green-700:#2f5548;
  --brand-olive:#6b806a;
  --brand-taupe:#8f7b73;        /* warm taupe */
  --brand-cream:#faf7f2;        /* soft cream */
  --brand-text:#2a2a2a;
}

body{ color:var(--brand-text); }

.btn-primary{
  --bs-btn-bg: var(--brand-green);
  --bs-btn-border-color: var(--brand-green);
  --bs-btn-hover-bg: var(--brand-green-700);
  --bs-btn-hover-border-color: var(--brand-green-700);
}

/* Hero secondary CTA: white bg, subtle gray hover for contrast on dark hero */
.btn-hero-secondary{
  --bs-btn-color: var(--brand-text);
  --bs-btn-bg: #ffffff;
  --bs-btn-border-color: #ffffff;
  --bs-btn-hover-color: var(--brand-text);
  --bs-btn-hover-bg: #e9ecef; /* gray-200 */
  --bs-btn-hover-border-color: #e9ecef;
  --bs-btn-focus-shadow-rgb: 255,255,255;
}

.bg-cream{ background: var(--brand-cream); }
.text-brand{ color: var(--brand-green); }
.text-white-70{ color: rgba(255,255,255,.7); }
.text-white-80{ color: rgba(255,255,255,.85); }

.hero-landing .hero-bg{ position:absolute; inset:0; }
.hero-landing .hero-overlay{
  background: linear-gradient(180deg, rgba(60,109,91,.88) 0%, rgba(60,109,91,.6) 35%, rgba(60,109,91,.35) 100%);
}
.z-0{ z-index:0!important; }
.z-1{ z-index:1!important; }
.dogs-img{ max-height:420px; }
.hero-landing .bg-hero-pill{ background: rgba(255,255,255,.9); color: var(--brand-green-700); }
.text-shadow{ text-shadow: 0 4px 20px rgba(0,0,0,.4); }
.py-6{ padding-top:4.5rem!important; padding-bottom:4.5rem!important; }

.list-check{ padding-left:0; list-style:none; }
.list-check li{ padding-left:1.75rem; position:relative; margin-bottom:.5rem; }
.list-check li::before{ content:'✔'; position:absolute; left:0; color:var(--brand-green); font-weight:700; }
.icon-dot{ display:inline-block; width:.6rem; height:.6rem; border-radius:50%; background: var(--brand-green); vertical-align:middle; }

.tile{ color:#fff; border-radius:.75rem; padding:1.25rem; box-shadow: 0 .5rem 1rem rgba(0,0,0,.12); }
.tile-green{ background: var(--brand-green); }
.tile-taupe{ background: var(--brand-taupe); }
.tile-olive{ background: var(--brand-olive); }
.brand-border{ border-color: var(--brand-green)!important; }

.dogs-banner{ position:relative; }
.dogs-banner .dogs-overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)); }

footer{ background: #f7f4ef; }

/* Utilities */
.bg-hero{ background: linear-gradient(180deg, rgba(182,167,159,.15), rgba(255,255,255,1)); }
.tracking-1{ letter-spacing:.06em; }

/* Minor tweaks */
img{ max-width:100%; height:auto; }
.shadow{ box-shadow: 0 .5rem 1rem rgba(0,0,0,.1)!important; }
