:root{--color-brand-navy:#1f3a78;--color-brand-navy-dark:#152a58;--color-brand-red:#d21116;--color-brand-red-hover:#b30e13;--color-text:#1a2332;--color-text-muted:#5c6575;--color-border:#e2e8f0;--color-surface:#fff;--color-surface-alt:#f4f7fb;--color-surface-warm:#faf8f5;--font-sans:"Montserrat", system-ui, -apple-system, sans-serif;--font-display:"Bebas Neue", "Montserrat", sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 8px 24px #0f172a14;--header-h:72px;--container-max:1120px;--space-section:clamp(3rem, 6vw, 5rem);--bg-pattern-bones:url(/img/pattern-pet-watermark.svg);--bg-pattern-bones-on-dark:url(/img/pattern-pet-watermark-light.svg);--bg-pattern-tile:220px;--bg-legacy-photo:url(/img/fundo-site.jpg)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--color-surface-warm);min-height:100%}html:before{content:"";z-index:-2;background-image:var(--bg-legacy-photo);pointer-events:none;background-position:top;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}html:after{content:"";z-index:-1;background-image:var(--bg-pattern-bones);background-repeat:repeat;background-size:var(--bg-pattern-tile) var(--bg-pattern-tile);pointer-events:none;position:fixed;inset:0}body{font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;background:0 0;margin:0;font-size:16px;line-height:1.55}#root{min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--color-brand-navy);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-brand-red)}.container{width:min(100% - 2rem, var(--container-max));margin-inline:auto}.btn{border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1.15rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--lg{padding:.75rem 1.5rem;font-size:1rem}.btn--primary{background:var(--color-brand-red);color:#fff;border-color:var(--color-brand-red)}.btn--primary:hover{background:var(--color-brand-red-hover);border-color:var(--color-brand-red-hover);color:#fff}.btn--ghost{color:var(--color-brand-navy);border-color:var(--color-brand-navy);background:0 0}.btn--ghost:hover{color:var(--color-brand-navy);background:#1f3a780f}.btn--light{color:var(--color-brand-navy);background:#fff;border-color:#fff}.btn--light:hover{background:var(--color-surface-alt);color:var(--color-brand-navy)}.btn--outline-light{color:#fff;background:0 0;border-color:#ffffff8c}.btn--outline-light:hover{color:#fff;background:#ffffff1f}.btn--secondary{background:var(--color-surface-alt);color:var(--color-brand-navy);border-color:var(--color-border)}.btn--secondary:hover{color:var(--color-brand-navy);background:#e8edf5}.site-header{z-index:100;background-image:linear-gradient(#ffffffe8, #ffffffe8), var(--bg-pattern-bones);background-repeat:no-repeat,repeat;background-size:auto, var(--bg-pattern-tile) var(--bg-pattern-tile);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0}.site-header--booking{border-bottom-color:var(--color-border)}.site-header__inner{width:min(100% - 1.5rem, var(--container-max));min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;display:flex}.site-header__brand{color:var(--color-text);align-items:center;gap:.65rem;font-weight:700;text-decoration:none;display:flex}.site-header__brand:hover{color:var(--color-text)}.site-header__logo{width:44px;height:auto}.site-header__brand-text{letter-spacing:.02em;font-size:1.05rem}.site-header__nav-list{flex-wrap:wrap;gap:.15rem .5rem;margin:0;padding:0;list-style:none;display:flex}.site-header__nav-link{font:inherit;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:.35rem .5rem;text-decoration:none}.site-header__nav-link:hover,.site-header__nav-link.is-active{color:var(--color-brand-navy);background:#1f3a7814}.site-header__text-link{color:var(--color-brand-navy);font-weight:600;text-decoration:none}.site-header__text-link:hover{color:var(--color-brand-red)}.site-header__actions{align-items:center;gap:.65rem;display:flex}.site-header__book{white-space:nowrap}.site-header__menu-toggle{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-brand-navy);padding:.4rem .65rem;font-weight:600;display:none}.site-header__drawer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:.75rem 1rem 1rem}.site-header__drawer-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-header__drawer-link{text-align:left;background:var(--color-surface-alt);border-radius:var(--radius-sm);width:100%;font:inherit;cursor:pointer;color:var(--color-brand-navy);border:none;padding:.65rem .75rem;font-weight:600;text-decoration:none;display:block}.site-header__drawer-link--cta{background:var(--color-brand-red);color:#fff;text-align:center;margin-top:.35rem}@media (width<=900px){.site-header__nav--desktop{display:none}.site-header__menu-toggle{display:inline-flex}}@media (width>=901px){.site-header__drawer{display:none}}.site-footer{background-image:linear-gradient(#1f3a78f0, #1f3a78f0), var(--bg-pattern-bones-on-dark);background-repeat:no-repeat,repeat;background-size:auto, var(--bg-pattern-tile) var(--bg-pattern-tile);color:#ffffffe0;margin-top:0;padding:3rem 0 1.5rem}.site-footer a{color:#fff}.site-footer a:hover{color:#fffffff2}.site-footer__grid{width:min(100% - 2rem, var(--container-max));grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-inline:auto;display:grid}.site-footer__logo{width:100%;max-width:200px;height:auto}.site-footer__tagline{max-width:280px;margin:.75rem 0 0;font-size:.9rem;line-height:1.5}.site-footer__heading{text-transform:uppercase;letter-spacing:.06em;color:#ffffffa6;margin:0 0 .75rem;font-size:.85rem}.site-footer__text{margin:0 0 .35rem;font-size:.95rem}.site-footer__text--soft{color:#ffffffb8;font-size:.9rem;line-height:1.45}.site-footer__social{flex-direction:column;gap:.35rem;display:flex}.site-footer__social a{font-weight:600;text-decoration:none}.site-footer__bottom{width:min(100% - 2rem, var(--container-max));color:#ffffffa6;border-top:1px solid #ffffff26;margin:2.5rem auto 0;padding-top:1.25rem;font-size:.85rem}.site-footer__bottom p{margin:0}.section{padding:var(--space-section) 0;scroll-margin-top:calc(var(--header-h) + 12px)}.section--alt{background-image:linear-gradient(#f4f7fbe6, #f4f7fbe6), var(--bg-pattern-bones);background-repeat:no-repeat,repeat;background-size:auto, var(--bg-pattern-tile) var(--bg-pattern-tile)}.section--cta{background-image:linear-gradient(135deg, #1f3a78ed 0%, #152a58f2 100%), var(--bg-pattern-bones-on-dark);background-repeat:no-repeat,repeat;background-size:auto, var(--bg-pattern-tile) var(--bg-pattern-tile);color:#fff;padding:3rem 0}.section--cta a{color:inherit}.section--contact{background-image:linear-gradient(#ffffffe6, #ffffffe6), var(--bg-pattern-bones);background-repeat:no-repeat,repeat;background-size:auto, var(--bg-pattern-tile) var(--bg-pattern-tile)}.section__head{text-align:center;max-width:640px;margin:0 auto 2.5rem}.section__head--left{text-align:left;margin-left:0}.section__title{font-family:var(--font-display);letter-spacing:.03em;color:var(--color-brand-navy);margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}.section--cta .section__title,.section--cta .section__subtitle{color:#fff}.section__subtitle{color:var(--color-text-muted);margin:0;font-size:1.05rem}.section__cta-row{justify-content:center;margin-top:2rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-brand-red);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.hero{background-image:linear-gradient(180deg, #ffffffc7 0%, #faf8f5d1 100%), var(--bg-pattern-bones);background-repeat:no-repeat,repeat;background-size:auto, var(--bg-pattern-tile) var(--bg-pattern-tile);padding-top:clamp(2rem,4vw,3.5rem)}.hero__grid{grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}@media (width>=880px){.hero__grid{grid-template-columns:1fr 1fr;gap:3rem}}.hero__title{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-brand-navy);margin:0 0 1rem;font-size:clamp(2.5rem,5vw,3.75rem);line-height:1.05}.hero__lead{color:var(--color-text-muted);max-width:36ch;margin:0 0 1.5rem;font-size:1.1rem}.hero__ctas{flex-wrap:wrap;gap:.75rem;display:flex}.hero__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card-grid{gap:1.25rem;display:grid}.card-grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card-grid--4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.35rem 1.5rem}.card--soft{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:none}.card--bordered{border:1px solid var(--color-border);box-shadow:none}.card__title{color:var(--color-brand-navy);margin:0 0 .5rem;font-size:1.15rem}.card__body{color:var(--color-text-muted);margin:0;font-size:.95rem}.card__meta{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.85rem}.card__meta--strong{color:var(--color-brand-navy);font-weight:700}.card__header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.price-pill{color:var(--color-brand-red);background:#d2111614;border-radius:999px;flex-shrink:0;padding:.25rem .65rem;font-size:.9rem;font-weight:700}.addon-list{border-top:1px solid var(--color-border);margin:1rem 0 0;padding:.75rem 0 0;font-size:.9rem;list-style:none}.addon-list li{color:var(--color-text-muted);justify-content:space-between;gap:.5rem;padding:.35rem 0;display:flex}.addon-list__price{color:var(--color-brand-navy);font-weight:600}.card--quote{border-left:4px solid var(--color-brand-red)}.stars{color:#e6a800;letter-spacing:2px;margin-bottom:.5rem;font-size:.95rem}.card__footer{color:var(--color-text-muted);margin-top:1rem;font-size:.9rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width>=700px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-grid__item{border-radius:var(--radius-md);aspect-ratio:4/3;box-shadow:var(--shadow-sm);margin:0;overflow:hidden}.gallery-grid__item img{object-fit:cover;width:100%;height:100%}.service-area__grid{align-items:start;gap:2rem;display:grid}@media (width>=880px){.service-area__grid{grid-template-columns:1fr 1fr;align-items:center}}.zone-list{flex-direction:column;gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.zone-list__title{color:var(--color-brand-navy);margin:0 0 .35rem;font-size:1.05rem}.zone-list__item p{color:var(--color-text-muted);margin:0;font-size:.95rem}.service-area__map-img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.cta-band{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.cta-band__title{font-family:var(--font-display);letter-spacing:.03em;color:#fff;margin:0 0 .5rem;font-size:clamp(1.75rem,3vw,2.25rem)}.cta-band__text{color:#ffffffe0;max-width:520px;margin:0}.contact-grid{gap:2.5rem;display:grid}@media (width>=800px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-list{margin:1.5rem 0;padding:0;list-style:none}.contact-list li{margin-bottom:1rem}.contact-list__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.2rem;font-size:.75rem;display:block}.contact-list__note{color:var(--color-text-muted);font-size:.95rem}.contact-aside__title{color:var(--color-brand-navy);margin:0 0 1rem}.steps-list{color:var(--color-text-muted);margin:0;padding-left:1.2rem}.steps-list li{margin-bottom:.85rem}.contact-grid__aside{background:var(--color-surface-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.5rem}.booking-layout{min-height:calc(100vh - var(--header-h));background-color:#faf8f5b8;background-image:var(--bg-pattern-bones);background-repeat:repeat;background-size:var(--bg-pattern-tile) var(--bg-pattern-tile);padding-bottom:3rem}.booking-shell{width:min(100% - 1.5rem,720px);margin-inline:auto;padding-top:1.5rem}.booking-shell__title{font-family:var(--font-display);color:var(--color-brand-navy);letter-spacing:.03em;margin:0 0 .35rem;font-size:clamp(1.75rem,3vw,2.25rem)}.booking-shell__lead{color:var(--color-text-muted);margin:0 0 1.5rem}.booking-stepper{flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:1.75rem;padding:0;list-style:none;display:flex}.booking-stepper__item{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;padding:.35rem .6rem;font-size:.75rem;font-weight:600}.booking-stepper__item--current{color:var(--color-brand-navy);border-color:var(--color-brand-navy);background:#1f3a781a}.booking-stepper__item--done{color:var(--color-text-muted);opacity:.75}.booking-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.booking-panel__title{color:var(--color-brand-navy);margin:0 0 .25rem;font-size:1.2rem}.booking-panel__hint{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.9rem}.booking-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.option-grid{gap:.75rem;display:grid}.option-tile{text-align:left;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:100%;font:inherit;padding:1rem 1.15rem;transition:border-color .15s,background .15s;display:block}.option-tile:hover{border-color:#1f3a7859}.option-tile--selected{border-color:var(--color-brand-navy);background:#1f3a780f}.option-tile__name{color:var(--color-brand-navy);margin:0 0 .35rem;font-weight:700}.option-tile__meta{color:var(--color-text-muted);margin:0;font-size:.85rem}.addon-row{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.65rem;padding:.5rem 0;font-size:.9rem;display:flex}.addon-row:last-child{border-bottom:none}.addon-row input{margin-top:.25rem}.field-label{color:var(--color-brand-navy);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.text-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font:inherit;margin-bottom:.75rem;padding:.65rem .85rem}.text-input:focus{outline-offset:1px;outline:2px solid #1f3a7859}.breed-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.breed-list button{text-align:left;border:none;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;font:inherit;cursor:pointer;padding:.55rem .75rem}.breed-list button:last-child{border-bottom:none}.breed-list button:hover,.breed-list button.is-selected{background:#1f3a7814}.breed-list__group{color:var(--color-text-muted);font-size:.85em}.estimate-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem;padding:1.15rem}.estimate-card__row{justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.95rem;display:flex}.estimate-card__total{color:var(--color-brand-navy);border-top:2px solid var(--color-border);margin-top:.5rem;padding-top:.75rem;font-size:1.25rem;font-weight:800}.estimate-card__disclaimer{color:var(--color-text-muted);margin:.75rem 0 0;font-size:.8rem;line-height:1.45}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.slot-btn{border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface);font:inherit;cursor:pointer;color:var(--color-brand-navy);padding:.75rem;font-weight:600}.slot-btn:hover{border-color:#1f3a7859}.slot-btn--selected{border-color:var(--color-brand-navy);background:#1f3a7814}.slot-btn__date{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.2rem;font-size:.75rem;font-weight:600;display:block}.form-grid{gap:1rem;display:grid}@media (width>=520px){.form-grid--2{grid-template-columns:1fr 1fr}}.confirm-summary{color:var(--color-text-muted);font-size:.95rem}.confirm-summary dt{color:var(--color-brand-navy);margin-top:.75rem;font-weight:700}.confirm-summary dd{margin:.15rem 0 0}.confirm-success{border-radius:var(--radius-md);color:var(--color-text);background:#22a06b1f;border:1px solid #22a06b59;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:1rem;display:flex}.confirm-success__icon{font-size:1.5rem;line-height:1}.confirm-success__sub{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.9rem}.construction-modal-backdrop{z-index:1000;background:#0f172a73;position:fixed;inset:0}.construction-modal{z-index:1001;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.construction-modal__dialog{background:var(--color-surface);border-radius:var(--radius-lg);width:min(100%,420px);overflow:hidden;box-shadow:0 20px 50px #0f172a33}.construction-modal__logo-wrap{background:var(--color-surface-alt);text-align:center;border-bottom:1px solid var(--color-border);padding:1.25rem}.construction-modal__logo{max-height:56px;margin-inline:auto}.construction-modal__body{padding:1.25rem 1.5rem}.construction-modal__title{color:var(--color-brand-navy);margin:0 0 .75rem;font-size:1.15rem}.construction-modal__body p{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.95rem;line-height:1.5}.construction-modal__social-intro{font-weight:600;color:var(--color-text)!important;margin-top:1rem!important}.construction-modal__links{margin:0!important}.construction-modal__links a{font-weight:600}.construction-modal__footer{padding:0 1.5rem 1.25rem}.construction-modal__btn-ok{width:100%;font:inherit;border-radius:var(--radius-md);background:var(--color-brand-red);color:#fff;cursor:pointer;border:none;padding:.65rem;font-weight:700}.construction-modal__btn-ok:hover{background:var(--color-brand-red-hover)}
