:root{
  --pink:#f02a91;
  --pink-light:#ff78bb;
  --black:#0d0d0f;
  --charcoal:#1a1a1f;
  --cream:#fff7fb;
  --gray:#6e6e78;
  --white:#ffffff;
  --shadow:0 14px 40px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--cream);color:var(--black);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px 5%;background:rgba(13,13,15,.96);color:white;border-bottom:2px solid var(--pink)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}
.brand strong{display:block;font-size:.95rem}
.brand span{font-size:.72rem;color:var(--pink-light)}
.nav-links{display:flex;gap:22px}
.nav-links a{text-decoration:none;font-weight:700;font-size:.9rem}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.8rem}
.hero{position:relative;min-height:78vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at top,#4c1234 0,#160813 42%,#050505 100%);color:white;overflow:hidden;padding:70px 20px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 20%,rgba(240,42,145,.12),transparent 80%)}
.hero-content{position:relative;z-index:2;max-width:900px}
.hero-logo{width:min(380px,72vw);margin:0 auto 18px;border-radius:50%;filter:drop-shadow(0 18px 35px rgba(240,42,145,.25))}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.78rem;color:var(--pink)}
.hero .eyebrow{color:#ff94c9}
h1,h2,h3{line-height:1.15;margin-top:0}
h1{font-family:"Playfair Display",serif;font-size:clamp(2.5rem,7vw,5.5rem);margin-bottom:12px}
h2{font-size:clamp(2rem,4vw,3.4rem)}
.hero-copy{font-weight:700;letter-spacing:.08em}
.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-block;text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:800;transition:.2s transform,.2s opacity}
.button:hover{transform:translateY(-2px)}
.primary{background:var(--pink);color:white}
.secondary{border:2px solid var(--pink);color:white;background:transparent}
.section{padding:80px 7%;max-width:1300px;margin:auto}
.section-heading{text-align:center;max-width:760px;margin:0 auto 38px}
.card-grid{display:grid;gap:22px}
.card-grid.four{grid-template-columns:repeat(4,1fr)}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.info-card,.action-card,.pet-card,.quote-card{background:white;border-radius:24px;box-shadow:var(--shadow)}
.info-card{padding:28px;text-align:center;border-top:5px solid var(--pink)}
.info-card span{font-size:2.3rem}
.info-card h3{margin:12px 0 8px}
.split{display:grid;grid-template-columns:1.4fr .8fr;gap:38px;align-items:center}
.quote-card{padding:45px;background:var(--black);color:white;border:2px solid var(--pink);font-family:"Playfair Display",serif;font-size:2rem}
.alt{max-width:none;background:#f5e8ef}
.pet-card{overflow:hidden}
.pet-placeholder{height:210px;display:grid;place-items:center;font-size:5rem;background:linear-gradient(135deg,#161616,#4f1439)}
.pet-content{padding:24px}
.center{text-align:center;margin-top:30px}
.action-card{padding:30px}
.action-card a{color:var(--pink);font-weight:800}
.bakery{max-width:none;background:linear-gradient(135deg,#201017,#6b1747);color:white;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
.bakery-badge{font-size:8rem}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.contact-grid>a,.contact-grid>div{display:flex;gap:14px;align-items:center;background:white;padding:20px;border-radius:18px;text-decoration:none;box-shadow:var(--shadow)}
.contact-grid span{font-size:1.8rem}
.contact-grid p{margin:2px 0 0;color:var(--gray)}
footer{text-align:center;background:var(--black);color:white;padding:48px 20px;border-top:3px solid var(--pink)}
footer img{width:110px;margin:0 auto 15px;border-radius:50%}
footer p{margin:5px}
footer small{display:block;margin-top:20px;color:#bbb}

@media (max-width:900px){
  .menu-toggle{display:block}
  .nav-links{display:none;position:absolute;top:84px;left:0;right:0;background:var(--black);padding:20px 5%;flex-direction:column;border-bottom:2px solid var(--pink)}
  .nav-links.open{display:flex}
  .brand div{display:none}
  .card-grid.four,.card-grid.three,.split,.contact-grid,.bakery{grid-template-columns:1fr}
  .bakery-badge{display:none}
  .section{padding:60px 6%}
}
