:root{--color-primary:#4a8a3f;--color-primary-dark:#2f5928;--color-accent:#f5c518;--color-accent-dark:#d9aa07;--color-sky:#8fc8e8;--color-sky-dark:#4ea6cd;--color-ink:#0f1612;--puppy-coat:#c89572;--puppy-coat-shadow:#a07550;--puppy-belly:#fff5ec;--puppy-tongue:#ff8a8a;--color-bg:#fafbfc;--color-surface:#fff;--color-text:#0f1612;--color-text-muted:#4a5752;--color-text-on-primary:#fff;--color-text-on-accent:#0f1612;--color-text-on-sky:#0f1612;--color-text-on-ink:#fafbfc;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.875rem;--radius-pill:999px;--font-display:"Archivo Black","DM Sans",system-ui,sans-serif;--font-sans:"DM Sans",system-ui,sans-serif;--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-display:400;--container-max:68rem;--border-width:3px;--border-thick:var(--border-width) solid var(--color-ink);--shadow-pop:7px 7px 0 var(--color-ink);--shadow-pop-sm:4px 4px 0 var(--color-ink);--shadow-pop-active:2px 2px 0 var(--color-ink)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1.05rem;line-height:1.55;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:var(--color-primary-dark);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.18em}a:hover{color:var(--color-primary)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-display);line-height:1.05;letter-spacing:-0.005em;margin:0 0 var(--space-4)}h1{font-size:clamp(2.5rem,6.5vw,4.25rem)}h2{font-size:clamp(1.85rem,4vw,2.5rem)}h3{font-size:1.25rem;margin-bottom:var(--space-2)}p{margin:0 0 var(--space-4)}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-inline:var(--space-5)}.section{padding-block:var(--space-8)}.section-header{text-align:center;margin-bottom:var(--space-7)}.section-header p{color:var(--color-text-muted);max-width:38rem;margin-inline:auto;font-size:1.05rem}.section--sky{background-color:var(--color-sky);color:var(--color-text-on-sky);border-block:var(--border-thick)}.section--sky .section-header p{color:var(--color-text-on-sky);opacity:0.78}.site-header{padding-block:var(--space-5);background-color:var(--color-surface);border-bottom:var(--border-thick)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:1.5rem;font-weight:var(--weight-display);letter-spacing:-0.005em;color:var(--color-text);text-decoration:none}.brand:hover{color:var(--color-text)}.brand-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;background-color:var(--color-accent);color:var(--color-ink);border:var(--border-thick);border-radius:var(--radius-md);font-size:1rem;font-weight:var(--weight-display);line-height:1;transform:rotate(-6deg)}.site-footer{padding-block:var(--space-7);margin-top:var(--space-7);background-color:var(--color-ink);color:var(--color-text-on-ink);font-size:0.95rem;text-align:center}.site-footer p{margin-bottom:var(--space-2)}.site-footer p:last-child{margin-bottom:0;opacity:0.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-sans);font-size:1.05rem;font-weight:var(--weight-bold);text-decoration:none;border:var(--border-thick);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop-sm);cursor:pointer;transition:transform 0.12s ease,box-shadow 0.12s ease,background-color 0.15s ease,color 0.15s ease}.button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--color-ink);text-decoration:none}.button:active{transform:translate(2px,2px);box-shadow:var(--shadow-pop-active)}.button--primary{background-color:var(--color-accent);color:var(--color-text-on-accent)}.button--primary:hover{background-color:var(--color-accent);color:var(--color-text-on-accent)}.button--ghost{background-color:var(--color-surface);color:var(--color-text)}.button--ghost:hover{background-color:var(--color-surface);color:var(--color-text)}.hero{padding-block:var(--space-8) var(--space-7);background-color:var(--color-sky);border-bottom:var(--border-thick);position:relative;overflow:hidden}.hero-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr;align-items:center}@media (min-width:56rem){.hero-grid{grid-template-columns:1.25fr 1fr;gap:var(--space-7)}}.hero-eyebrow{display:inline-block;background-color:var(--color-surface);color:var(--color-ink);border:var(--border-thick);border-radius:var(--radius-pill);padding:0.35rem 0.9rem;font-size:0.85rem;font-weight:var(--weight-bold);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:var(--space-5);transform:rotate(-2deg);box-shadow:var(--shadow-pop-sm)}.hero h1{margin-bottom:var(--space-5)}.hero h1 .accent-mark{display:inline-block;background:linear-gradient(to bottom,transparent 60%,var(--color-accent) 60%);padding:0 0.05em}.hero-tagline{font-size:1.15rem;color:var(--color-text-muted);max-width:36rem;margin:0 0 var(--space-6)}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero-area-note{margin-top:var(--space-5);font-size:0.95rem;color:var(--color-text-muted);font-weight:var(--weight-medium)}.hero-figure{justify-self:center;position:relative}.hero-figure-frame{background-color:var(--color-primary);border:var(--border-thick);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-pop);transform:rotate(2deg);width:min(100%,22rem);aspect-ratio:1 / 1;display:grid;place-items:center;position:relative}.hero-figure-frame svg{width:100%;height:100%}.hero-figure-sticker{position:absolute;top:-0.75rem;right:-0.75rem;background-color:var(--color-accent);color:var(--color-text-on-accent);border:var(--border-thick);border-radius:var(--radius-pill);padding:0.5rem 1rem;font-family:var(--font-display);font-weight:var(--weight-display);font-size:0.95rem;letter-spacing:0.06em;transform:rotate(8deg);box-shadow:var(--shadow-pop-sm);white-space:nowrap}.service-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}@media (min-width:40rem){.service-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media (min-width:56rem){.service-grid{grid-template-columns:repeat(3,1fr)}}.service-card{background-color:var(--color-surface);border:var(--border-thick);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-pop);text-align:center;transition:transform 0.15s ease,box-shadow 0.15s ease}.service-card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--color-ink)}.service-card:nth-child(1){background-color:var(--color-surface)}.service-card:nth-child(2){background-color:var(--color-accent)}.service-card:nth-child(3){background-color:var(--color-surface)}.service-icon{width:4rem;height:4rem;margin:0 auto var(--space-5);display:grid;place-items:center;background-color:var(--color-bg);color:var(--color-ink);border:var(--border-thick);border-radius:var(--radius-md);transform:rotate(-4deg)}.service-card:nth-child(2) .service-icon{background-color:var(--color-surface)}.service-icon svg{width:2rem;height:2rem}.service-card h3{color:var(--color-text)}.service-card p{color:var(--color-text);opacity:0.78;font-size:0.98rem}.service-pricing{list-style:none;padding:0;margin:var(--space-5) 0 0;border-top:2px solid var(--color-ink);text-align:left}.service-pricing li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:2px solid var(--color-ink);font-size:0.95rem}.service-pricing li:last-child{border-bottom:0}.service-pricing-label{color:var(--color-text);opacity:0.78}.service-pricing-price{font-family:var(--font-display);font-weight:var(--weight-display);color:var(--color-text)}.service-pricing-unit{font-family:var(--font-sans);font-weight:var(--weight-regular);font-size:0.85em;opacity:0.7}.steps{display:grid;gap:var(--space-6);grid-template-columns:1fr;counter-reset:step}@media (min-width:48rem){.steps{grid-template-columns:repeat(3,1fr)}}.step{background-color:var(--color-surface);border:var(--border-thick);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-pop);text-align:center;position:relative}.step:nth-child(2){transform:translateY(0.75rem)}.step-number{counter-increment:step;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:3rem;height:3rem;border:var(--border-thick);border-radius:var(--radius-pill);background-color:var(--color-accent);color:var(--color-ink);font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.4rem;line-height:1;box-shadow:var(--shadow-pop-sm)}.step-number::before{content:counter(step)}.step h3{margin-top:var(--space-4);color:var(--color-text)}.step p{color:var(--color-text);opacity:0.78;font-size:0.98rem}.contact{background-color:var(--color-primary);color:var(--color-text-on-primary);text-align:center;border:var(--border-thick);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);box-shadow:var(--shadow-pop);position:relative}.contact h2{color:inherit}.contact > p{font-size:1.05rem;opacity:0.92}.contact-phones{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-block:var(--space-6) var(--space-5);list-style:none;padding:0}.contact-phone{display:inline-block;background-color:var(--color-surface);color:var(--color-ink);text-decoration:none;padding:var(--space-3) var(--space-5);border:var(--border-thick);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop-sm);font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.2rem;letter-spacing:-0.01em;transition:transform 0.12s ease,box-shadow 0.12s ease}.contact-phone:hover{background-color:var(--color-surface);color:var(--color-ink);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--color-ink)}.contact-payment{font-size:0.98rem;opacity:0.95}.contact-payment strong{color:var(--color-accent);font-weight:var(--weight-bold)}.contact-payment code{font-family:var(--font-sans);background-color:rgba(255,255,255,0.15);padding:0.1em 0.4em;border-radius:var(--radius-sm)}