:root {
  --sudzeys-teal: #087f83;
  --sudzeys-teal-dark: #075e62;
  --sudzeys-orange: #f47b35;
  --sudzeys-ink: #17323a;
  --sudzeys-cream: #fffaf4;
  --sudzeys-mist: #edf8f7;
  --sudzeys-white: #ffffff;
}

html { scroll-behavior: smooth; }
body { color: var(--sudzeys-ink); font-family: "Trebuchet MS", Arial, sans-serif; font-size: 1rem; line-height: 1.65; }
a { color: var(--sudzeys-teal-dark); }
.skip-link { position: absolute; left: -9999px; top: .5rem; z-index: 1100; }
.skip-link:focus { left: .5rem; background: white; padding: .75rem 1rem; border-radius: .5rem; }
.navbar { background: rgba(255,255,255,.96); box-shadow: 0 8px 30px rgba(18,50,58,.08); }
.navbar-brand { color: var(--sudzeys-ink); font-size: 1.7rem; font-weight: 900; letter-spacing: -.05em; }
.brand-paw { display:inline-grid; place-items:center; width:2.45rem; height:2.45rem; margin-right:.45rem; color:white; background:var(--sudzeys-orange); border-radius:55% 45% 52% 48%; transform:rotate(-7deg); }
.brand-logo { position:relative; display:block; width:116px; height:86px; flex:0 0 116px; overflow:hidden; }
.brand-logo img { position:absolute; width:110px; height:auto; left:3px; top:-8px; max-width:none; }
.navbar-nav .nav-link { color:var(--sudzeys-ink); font-weight:700; padding-inline: .85rem !important; }
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover { color:var(--sudzeys-teal); }
.btn-sudzeys { color:#fff; background:var(--sudzeys-orange); border:2px solid var(--sudzeys-orange); border-radius:999px; padding:.75rem 1.25rem; font-weight:800; box-shadow:0 8px 18px rgba(244,123,53,.22); }
.btn-sudzeys:hover, .btn-sudzeys:focus { color:#fff; background:#dc6424; border-color:#dc6424; transform:translateY(-1px); }
.btn-outline-sudzeys { color:var(--sudzeys-teal-dark); border:2px solid var(--sudzeys-teal); border-radius:999px; padding:.75rem 1.25rem; font-weight:800; }
.btn-outline-sudzeys:hover { color:white; background:var(--sudzeys-teal); }
.hero { min-height:680px; padding:8.5rem 0 4rem; position:relative; display:flex; align-items:center; background:linear-gradient(90deg, rgba(4,54,59,.94) 0%, rgba(4,54,59,.85) 38%, rgba(4,54,59,.18) 67%, rgba(4,54,59,0) 100%), url('../img/hero-mobile-grooming.png') center/cover; color:white; }
.eyebrow { color:var(--sudzeys-orange); font-size:.85rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.hero h1 { max-width:700px; font-size:clamp(2.65rem,6vw,5.5rem); line-height:.96; letter-spacing:-.055em; font-weight:900; }
.hero-copy { max-width:560px; font-size:1.15rem; color:#e8f7f6; }
.trust-row { display:flex; gap:1.2rem; flex-wrap:wrap; color:#f3fffe; font-weight:700; }
.trust-row span::before { content:'\2713'; display:inline-grid; place-items:center; width:1.5rem; height:1.5rem; margin-right:.4rem; color:var(--sudzeys-ink); background:#8de2d8; border-radius:50%; }
.section-pad { padding:6rem 0; }
.section-soft { background:var(--sudzeys-mist); }
.display-title { font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.03; letter-spacing:-.045em; font-weight:900; }
.service-card { height:100%; padding:2rem; background:white; border:1px solid rgba(8,127,131,.12); border-radius:1.5rem; box-shadow:0 15px 45px rgba(10,74,78,.08); transition:.2s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(10,74,78,.14); }
.service-icon { display:grid; place-items:center; width:3.5rem; height:3.5rem; margin-bottom:1.4rem; color:#fff; background:var(--sudzeys-teal); border-radius:1rem; font-size:1.55rem; }
.feature-photo { min-height:520px; width:100%; object-fit:cover; border-radius:2rem; box-shadow:18px 18px 0 var(--sudzeys-orange); }
.stat-card { padding:1.4rem; background:var(--sudzeys-cream); border-left:5px solid var(--sudzeys-orange); border-radius:.8rem; }
.steps { counter-reset:steps; }
.step { position:relative; padding-left:4.25rem; }
.step::before { counter-increment:steps; content:counter(steps); position:absolute; left:0; top:0; display:grid; place-items:center; width:3rem; height:3rem; color:white; background:var(--sudzeys-orange); border-radius:50%; font-weight:900; }
.cta-band { overflow:hidden; color:white; background:var(--sudzeys-teal-dark); border-radius:2rem; }
.page-hero { padding:9rem 0 4.5rem; color:white; background:linear-gradient(125deg,var(--sudzeys-teal-dark),var(--sudzeys-teal)); }
.page-hero h1 { font-size:clamp(2.7rem,6vw,5rem); font-weight:900; letter-spacing:-.05em; }
.price-note { color:#52666d; font-size:.95rem; }
.pricing-board { position:relative; padding:clamp(1.25rem,3vw,2.5rem); background:linear-gradient(180deg,#f8fdff,#effaff); border:2px solid #87d8f3; border-radius:2rem; box-shadow:0 20px 55px rgba(13,91,128,.1); }
.pricing-board::before,.pricing-board::after { content:''; position:absolute; border:3px solid #65c9ed; border-radius:50%; opacity:.35; }
.pricing-board::before { width:38px; height:38px; right:3%; top:7%; }
.pricing-board::after { width:20px; height:20px; left:3%; bottom:8%; }
.price-card { height:100%; overflow:hidden; background:#fff; border:3px solid #48b9e7; border-radius:1.5rem; box-shadow:0 12px 28px rgba(13,91,128,.1); }
.price-card-header { display:flex; gap:1rem; align-items:center; padding:1.4rem 1.6rem; color:#fff; background:#12558d; }
.price-card-header.orange { background:#0d6f9f; }
.package-icon { display:grid; place-items:center; width:3.4rem; height:3.4rem; flex:0 0 3.4rem; color:#fff; background:var(--sudzeys-orange); border-radius:50%; font-size:1.55rem; }
.price-list { margin:0; padding:1.25rem 1.8rem 1.6rem; list-style:none; }
.price-list li { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.58rem 0; border-bottom:2px dotted #8bd3ec; }
.price-list li:last-child { border-bottom:0; }
.price-list strong { display:inline-block; min-width:5.4rem; padding:.18rem .65rem; color:#123f70; background:#fff0df; border:1px solid #ffbf82; border-radius:999px; text-align:center; white-space:nowrap; }
.addons-board { padding:clamp(1.25rem,3vw,2.25rem); background:#fff; border-block:3px dashed #58c3eb; }
.addon-card { display:flex; justify-content:space-between; align-items:center; gap:1rem; height:100%; padding:1.25rem 1.35rem; background:#f7fcff; border:1px solid #bfe8f7; border-left:6px solid var(--sudzeys-orange); border-radius:1rem; }
.addon-price { display:inline-block; min-width:4.5rem; padding:.18rem .6rem; color:#123f70; background:#fff0df; border:1px solid #ffbf82; border-radius:999px; text-align:center; font-weight:900; white-space:nowrap; }
.service-notes { padding:clamp(1.5rem,4vw,3rem); background:#f4fbfe; border:2px solid #9ddcf3; border-radius:1.5rem; }
.facebook-card { text-align:center; background:linear-gradient(145deg,#fff,#eaf8ff); }
.facebook-qr { position:relative; width:190px; height:190px; margin:0 auto; overflow:hidden; background:white; border:10px solid white; border-radius:1rem; box-shadow:0 10px 25px rgba(18,50,58,.13); }
.facebook-qr img { position:absolute; width:1984px; max-width:none; left:-95px; top:-55px; }
.phone-link { font-size:clamp(1.5rem,4vw,2.3rem); color:var(--sudzeys-teal-dark); font-weight:900; text-decoration:none; }
.gallery-card { overflow:hidden; border:0; border-radius:1.4rem; box-shadow:0 14px 35px rgba(18,50,58,.12); }
.gallery-card img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .35s ease; }
.gallery-card:hover img { transform:scale(1.04); }
.gallery-card .card-body { background:white; }
.contact-panel { padding:clamp(1.5rem,4vw,3rem); background:white; border-radius:1.6rem; box-shadow:0 18px 50px rgba(18,50,58,.1); }
.form-control, .form-select { min-height:3.2rem; border-color:#bdd5d5; border-radius:.8rem; }
.form-control:focus, .form-select:focus { border-color:var(--sudzeys-teal); box-shadow:0 0 0 .25rem rgba(8,127,131,.14); }
.footer { color:#d9eded; background:#102f35; }
.footer a { color:#fff; text-decoration:none; }
.footer a:hover { color:#ffb184; }
.footer-brand { color:white; font-weight:900; font-size:1.6rem; }
.floating-book { position:fixed; z-index:1020; right:1rem; bottom:1rem; display:none; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width:991.98px) {
  .navbar-collapse { padding:1rem 0; }
  .hero { min-height:650px; background-position:62% center; }
  .feature-photo { min-height:400px; box-shadow:10px 10px 0 var(--sudzeys-orange); }
}
@media (max-width:767.98px) {
  .brand-logo { width:102px; height:76px; flex-basis:102px; }
  .brand-logo img { width:98px; left:2px; top:-7px; }
  .section-pad { padding:4.5rem 0; }
  .hero { min-height:720px; padding-top:7.5rem; align-items:flex-end; background:linear-gradient(0deg, rgba(4,54,59,.98) 0%, rgba(4,54,59,.87) 46%, rgba(4,54,59,.08) 76%), url('../img/hero-mobile-grooming.png') 66% center/cover; }
  .hero h1 { font-size:3.35rem; }
  .hero-copy { font-size:1.05rem; }
  .price-card-header { align-items:flex-start; }
  .price-list { padding-inline:1rem; }
  .addon-card { padding:1rem; }
  .floating-book { display:block; }
  body { padding-bottom:4.75rem; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } .reveal { opacity:1; transform:none; } }
