/* Final Animal Connect visual refinements — retains the staff layout. */
.slider-home-classic>.rev_slider_wrapper{display:none!important}.ac-slider{height:550px;position:relative;overflow:hidden;background:#e9e8e2}.ac-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease}.ac-slide.active{opacity:1;visibility:visible}.ac-slide>img{width:100%;height:100%;object-fit:cover;object-position:center}.ac-walk-slide{background:#f3f0e4}.ac-slide>img.ac-walk-slide-img{width:78%;height:100%;margin-left:auto;display:block;object-fit:contain;object-position:right center}.ac-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,248,243,.98) 0%,rgba(249,248,243,.9) 31%,rgba(249,248,243,.2) 61%,transparent 78%)}.ac-walk-slide .ac-slide-shade{background:linear-gradient(90deg,rgba(249,248,243,.98) 0%,rgba(249,248,243,.94) 34%,rgba(249,248,243,.42) 59%,rgba(249,248,243,.06) 78%)}.ac-slide-copy{position:absolute;z-index:2;left:max(7vw,70px);top:50%;transform:translateY(-50%);width:min(540px,43vw)}.ac-slide-copy p{font:600 14px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#4f8300;margin:0 0 16px}.ac-slide-copy h1{font:700 clamp(48px,5vw,72px)/.96 Quicksand,sans-serif;letter-spacing:-.055em;color:#343434;margin:0 0 20px}.ac-slide-copy h1 span{color:#6bad00}.ac-slide-text{font-size:18px;line-height:1.55;color:#55524f;max-width:450px;margin-bottom:26px}.ac-slide-copy a{display:inline-flex;gap:20px;align-items:center;padding:14px 18px;background:#95ff00;color:#343434;font-size:13px;font-weight:700;text-transform:uppercase}.ac-slide-copy a b{font-size:18px}.ac-prev,.ac-next{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:rgba(255,255,255,.9);font-size:19px;color:#343434}.ac-prev{left:16px}.ac-next{right:16px}.ac-dots{position:absolute;z-index:3;left:50%;bottom:18px;display:flex;gap:8px}.ac-dots button{width:8px;height:8px;border:0;padding:0;border-radius:50%;background:rgba(61,59,59,.35)}.ac-dots button.active{width:26px;border-radius:5px;background:#6bad00}
.slider-home-classic .tp-caption{box-shadow:none!important;border-radius:0!important}
#slide-73-layer-1,#slide-75-layer-1{color:#5c9000!important;background:transparent!important;text-transform:uppercase!important;letter-spacing:1.6px!important}
#slide-73-layer-2,#slide-75-layer-2{color:#343434!important;background:transparent!important;text-shadow:none!important}
#slide-73-layer-3,#slide-75-layer-3{color:#55524f!important;background:transparent!important}
#slide-73-layer-4,#slide-75-layer-4{background:#95ff00!important;color:#343434!important;box-shadow:none!important}
.home-classis-box{margin-top:-44px;position:relative;z-index:2}
.home-classis-box .icon-box-bg-color{min-height:245px;padding:34px 36px!important;background:#fff!important;color:#3d3b3b!important;box-shadow:0 12px 30px rgba(48,47,44,.12)!important;border:0!important;border-right:1px solid #e4e3dc!important;transition:transform .25s ease,box-shadow .25s ease}
.home-classis-box .icon-box-bg-color:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(48,47,44,.18)!important}
.home-classis-box .icon-box-bg-color .icon{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 16px;background:#95ff00!important;border-radius:50%;color:#3d3b3b!important}
.home-classis-box .icon-box-bg-color .icon i{color:#3d3b3b!important;font-size:22px!important}
.home-classis-box .icon-box-bg-color .text h3{color:#3d3b3b!important;font-size:25px!important;margin-bottom:9px!important;text-shadow:none!important}
.home-classis-box .icon-box-bg-color .text p{color:#66635f!important;line-height:1.6!important;margin:0 auto!important;max-width:300px}
.home-classis-box .icon-box-bg-color .numbers{color:#7bcf00!important;opacity:1!important;font:700 12px 'DM Mono',monospace!important;top:22px!important;left:25px!important;bottom:auto!important}
.home-classis-box .icon-box-bg-color.bg-navy-blue{background:#3d3b3b!important;color:#fff!important}.home-classis-box .icon-box-bg-color.bg-navy-blue .text h3{color:#fff!important}.home-classis-box .icon-box-bg-color.bg-navy-blue .text p{color:#e1e0dc!important}.home-classis-box .icon-box-bg-color.bg-navy-blue .numbers{color:#95ff00!important}
.about-left-wrap{background:#f8f7f2!important;margin:0!important;padding:105px 0!important;overflow:hidden}.about-left-wrap .row{align-items:center}.about-left-wrap .col-lg-5{flex:0 0 48%;max-width:48%}.about-left-wrap .col-lg-7{flex:0 0 52%;max-width:52%}.about-left-wrap .about-left{height:585px;border:0!important;box-shadow:0 18px 45px rgba(45,44,41,.15)!important}.about-left-wrap .about-left img{width:100%;height:100%;object-fit:cover;object-position:center}.about-us-wrap{position:relative;background:transparent!important;color:#3d3b3b!important;padding:20px 20px 20px 62px!important}.about-us-wrap:before{display:none!important}.about-us-wrap .heading-main,.about-us-wrap .heading-main small{color:#3d3b3b!important}.about-us-wrap .heading-main .txt-blue{color:#6bad00!important}.about-us-wrap p{font-size:17px;line-height:1.75;color:#5f5d5a!important}.about-us-wrap .icons-listing{color:#3d3b3b!important}.about-us-wrap .icons-listing li:before{color:#6bad00!important}.about-video a{color:#3d3b3b!important}.about-video a i{border-color:#6bad00!important;color:#6bad00!important}.home-classic-services{background-image:linear-gradient(110deg,rgba(44,43,43,.95),rgba(70,69,66,.82)),url('../images/animal-connect-hero-walk.png')!important;background-size:cover!important;background-position:center!important}.home-classic-services .bg-overlay{background:transparent!important}.home-classic-services .icon-box-1{background:rgba(255,255,255,.98)!important;box-shadow:0 12px 32px rgba(0,0,0,.18)!important}.classic-gallery .captured-gallery-item img{height:290px;object-fit:cover}.why-choose-bg{background:#f8f7f2!important}.why-choose-bg:before{display:none!important}.why-choose-us .about-left{height:520px;overflow:hidden;border:0!important;box-shadow:0 16px 38px rgba(45,44,41,.14)!important}.why-choose-us .about-left img{width:100%;height:100%!important;object-fit:cover}.why-choose-us .pattern-red{display:none}.why-choose-us .text{padding:25px 0 0!important;display:flex;justify-content:space-between;align-items:center;gap:20px}.why-choose-us .text h3{font-size:20px;margin:0!important}.why-choose-us .text h3.call{font-size:16px;color:#6bad00!important;white-space:nowrap}.why-choose-us .text h3.call i{font-size:24px;margin-right:8px;color:#6bad00!important}.why-choose-list{padding-left:4rem!important}.why-choose-list ul li{font-size:17px!important;color:#4f4d49!important}.why-choose-list ul li:before{border-color:#6bad00!important}.why-choose-list .heading-main span{color:#6bad00!important}@media(max-width:767px){.ac-slider{height:470px}.ac-slide-shade{background:linear-gradient(90deg,rgba(249,248,243,.96),rgba(249,248,243,.78) 68%,rgba(249,248,243,.2))}.ac-slide-copy{left:8vw;width:78vw}.ac-slide-copy p{font-size:10px}.ac-slide-copy h1{font-size:42px}.ac-slide-text{font-size:15px}.ac-prev,.ac-next{display:none}.home-classis-box{margin-top:0}.home-classis-box .icon-box-bg-color{min-height:0;border-right:0!important;border-bottom:1px solid #e4e3dc!important}.about-left-wrap{padding:65px 0!important}.about-left-wrap .col-lg-5,.about-left-wrap .col-lg-7{flex:0 0 100%;max-width:100%}.about-left-wrap .about-left{height:410px;width:100%!important;left:0!important;top:0!important;transform:none!important;margin:0 0 35px!important}.about-us-wrap{padding:10px 5px!important}.classic-gallery .captured-gallery-item img{height:250px}.why-choose-us .about-left{height:360px}.why-choose-us .text{display:block}.why-choose-us .text h3.call{margin-top:10px!important}.why-choose-list{padding:45px 0 0!important}.about-us-wrap{padding-top:35px}}

/* Inner pages created for Animal Connect */
.animal-theme-banner {
    position: relative;
    overflow: hidden;
    background-color: #636060;
}

.animal-theme-banner:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(52, 50, 50, 0.88), rgba(52, 50, 50, 0.58));
    z-index: 1;
}

.animal-theme-banner .container,
.animal-theme-banner .ptt-png {
    position: relative;
    z-index: 2;
}

.animal-banner-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.45;
}

/* Full-bleed inner-page hero */
.breadcrumbs-page-wrap {
    background: #343232;
}

.breadcrumbs-page-wrap::after {
    display: none;
}

.breadcrumbs-page-wrap .breadcrumbs-page.animal-theme-banner {
    align-items: center;
    border: 0;
    box-shadow: none;
    display: flex;
    margin: 0;
    max-width: none;
    min-height: clamp(305px, 27vw, 400px);
    padding: clamp(4.75rem, 7vw, 6.25rem) 0;
    width: 100%;
}

.breadcrumbs-page-wrap .animal-theme-banner::before {
    background: linear-gradient(90deg, rgba(28, 31, 24, 0.92) 0%, rgba(31, 34, 26, 0.72) 38%, rgba(31, 34, 26, 0.28) 68%, rgba(31, 34, 26, 0.12) 100%);
}

.breadcrumbs-page-wrap .animal-banner-bg {
    opacity: 1;
    object-position: center center;
}

.breadcrumbs-page-wrap .breadcrumbs-page img.ptt-png {
    bottom: -52px;
    display: block;
    max-width: clamp(150px, 16vw, 235px);
    opacity: 0.72;
    right: 2.5%;
}

.breadcrumbs-page-wrap .breadcrumbs-page h1 {
    font-size: clamp(2.75rem, 5vw, 4.75rem);
    line-height: 1.05;
    margin: 1rem 0 0;
    max-width: 680px;
    text-shadow: 0 3px 20px rgba(0, 0, 0, 0.3);
}

@media (max-width: 767.98px) {
    .breadcrumbs-page-wrap {
        margin-left: 0;
        margin-right: 0;
    }

    .breadcrumbs-page-wrap .breadcrumbs-page.animal-theme-banner {
        min-height: 265px;
        padding: 4rem 0;
    }

    .breadcrumbs-page-wrap .animal-theme-banner::before {
        background: linear-gradient(90deg, rgba(25, 28, 22, 0.94) 0%, rgba(27, 30, 23, 0.77) 62%, rgba(27, 30, 23, 0.42) 100%);
    }

    .breadcrumbs-page-wrap .animal-banner-bg {
        object-position: 64% center;
    }

    .breadcrumbs-page-wrap .breadcrumbs-page img.ptt-png {
        bottom: -20px;
        max-width: 115px;
        opacity: 0.66;
        right: 8px;
    }
}

.animal-service-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    border: 1px solid rgba(99, 96, 96, 0.12);
    box-shadow: 0 14px 36px rgba(52, 50, 50, 0.1);
}

.animal-service-img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f6f6f6;
}

.animal-service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.animal-service-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.35rem;
}

.animal-service-body .btn-theme {
    align-self: flex-start;
    margin-top: auto;
}

.animal-service-body h3 {
    color: #343232;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.65rem;
}

.animal-service-body p {
    min-height: 76px;
    color: #636060;
    line-height: 1.65;
    margin-bottom: 1rem;
}

.animal-contact-intro .animal-contact-list {
    margin-top: 1.5rem;
}

.animal-contact-form-card label {
    color: #343232;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.animal-contact-form-card select.form-control,
.animal-contact-form-card input.form-control,
.animal-contact-form-card textarea.form-control {
    border-radius: 8px;
}

.animal-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.animal-consent {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    color: #636060;
    margin-top: 0.5rem;
}

.animal-consent input {
    margin-top: 0.35rem;
}

.animal-field-error,
.animal-form-alert {
    color: #a82323;
    font-size: 0.92rem;
    font-weight: 700;
    margin-top: 0.4rem;
}

.animal-form-alert {
    padding: 0.9rem 1rem;
    margin-bottom: 1rem;
    border-radius: 8px;
    background: #fff0f0;
}

.animal-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
}

.animal-thankyou-page p {
    color: #636060;
    font-size: 1.08rem;
    line-height: 1.8;
}

:focus-visible {
    outline: 3px solid #95ff00;
    outline-offset: 3px;
}

@media (max-width: 991.98px) {
    .animal-service-body p {
        min-height: 0;
    }
}

@media (max-width: 575.98px) {
    .animal-service-body {
        padding: 1rem;
    }

    .animal-button-row .btn-theme {
        width: 100%;
        text-align: center;
    }
}

/* About page screenshot-style showcase */
.animal-about-showcase {
    padding-top: 5.5rem;
    padding-bottom: 5rem;
    background: #fff;
}

.animal-about-showcase-img {
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 18px 44px rgba(52, 50, 50, 0.08);
}

.animal-about-showcase-img img {
    display: block;
    width: 100%;
    min-height: 560px;
    object-fit: cover;
}

.animal-about-showcase-copy {
    max-width: 560px;
    margin-left: auto;
}

.animal-inline-breadcrumb {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1rem;
    color: #636060;
    font-weight: 700;
}

.animal-inline-breadcrumb a {
    color: #95ff00;
}

.animal-about-showcase-copy h1 {
    color: #343232;
    font-size: 3.55rem;
    line-height: 1.02;
    font-weight: 700;
    margin-bottom: 2.4rem;
}

.animal-about-showcase-copy h1 span {
    color: #57ad00;
}

.animal-about-showcase-copy p {
    color: #636060;
    font-size: 1.08rem;
    line-height: 1.85;
    margin-bottom: 1.35rem;
}

.animal-about-points {
    list-style: none;
    padding: 0;
    margin: 2.1rem 0 2rem;
}

.animal-about-points li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1.25rem;
    color: #343232;
    font-size: 1.02rem;
    line-height: 1.45;
    font-weight: 700;
}

.animal-about-points li:before {
    content: "\eef0";
    font-family: IcoFont;
    position: absolute;
    left: 0;
    top: 0.08rem;
    color: #57ad00;
    font-size: 1.1rem;
}

.animal-round-link {
    display: inline-flex;
    align-items: center;
    gap: 0.95rem;
    color: #343232;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.animal-round-link span {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #95ff00;
    color: #95ff00;
}

.animal-round-link:hover {
    color: #57ad00;
}

@media (max-width: 991.98px) {
    .animal-about-showcase {
        padding-top: 3rem;
    }

    .animal-about-showcase-copy {
        max-width: none;
        margin-left: 0;
    }

    .animal-about-showcase-img img {
        min-height: 420px;
    }

    .animal-about-showcase-copy h1 {
        font-size: 2.8rem;
    }
}

@media (max-width: 575.98px) {
    .animal-about-showcase {
        padding-top: 2rem;
        padding-bottom: 3rem;
    }

    .animal-about-showcase-img img {
        min-height: 300px;
    }

    .animal-about-showcase-copy h1 {
        font-size: 2.25rem;
        margin-bottom: 1.5rem;
    }
}
/* Screenshot-style inner header for About page */
.animal-page-header {
    padding: 2.2rem 0 4.5rem;
    background: #fff;
}

.animal-page-header-box {
    position: relative;
    min-height: 310px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(52, 50, 50, 0.1);
}

.animal-page-header-box > img:first-child {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.animal-page-header-shade {
    position: absolute;
    inset: 0;
    background: rgba(35, 34, 34, 0.78);
}

.animal-page-header-dots {
    position: absolute;
    right: -10px;
    bottom: -14px;
    width: 210px;
    opacity: 0.85;
    z-index: 2;
}

.animal-page-header-content {
    position: relative;
    z-index: 3;
    min-height: 310px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 3rem 2.5rem;
}

.animal-page-crumbs {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1.4rem;
    color: #fff;
    font-weight: 700;
}

.animal-page-crumbs a,
.animal-page-crumbs span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 1.4rem;
}

.animal-page-crumbs a {
    color: #fff;
    background: #95ff00;
    border-radius: 0 22px 22px 0;
}

.animal-page-crumbs span {
    color: #fff;
}

.animal-page-title {
    color: #fff;
    font-size: 3rem;
    line-height: 1.1;
    font-weight: 700;
}

.animal-about-page-header + .animal-about-showcase {
    padding-top: 1.5rem;
}

@media (max-width: 767.98px) {
    .animal-page-header {
        padding: 1.5rem 0 3rem;
    }

    .animal-page-header-box,
    .animal-page-header-content {
        min-height: 240px;
    }

    .animal-page-header-content {
        padding: 2rem 1.25rem;
    }

    .animal-page-title {
        font-size: 2.25rem;
    }

    .animal-page-header-dots {
        width: 145px;
    }
}
/* Contact form overlap fix */
.animal-contact-form-section {
    padding-bottom: 5.5rem !important;
}

.animal-contact-form-section .need-help,
.animal-contact-form-card {
    margin-bottom: 0;
}

.animal-contact-info-section {
    clear: both;
    margin-top: 0 !important;
    padding-top: 5rem;
}

.animal-contact-info-section.need-help-topspace {
    margin-top: 0 !important;
}

.animal-contact-info-section .container {
    position: relative;
    z-index: 1;
}

.ac-footer {
    clear: both;
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .animal-contact-form-section {
        padding-bottom: 4rem !important;
    }
}
/* Footer Have Questions block */
.animal-footer-question {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(149, 255, 0, 0.35);
}

.animal-footer-question-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #95ff00;
    color: #343232;
}

.animal-footer-question h4 {
    color: #95ff00;
    font-size: 1.15rem;
    margin: 0 0 0.35rem;
    font-weight: 700;
}

.animal-footer-question p {
    margin-bottom: 0.25rem !important;
    line-height: 1.45;
}

.animal-footer-question a,
.animal-footer-question span {
    color: #fff;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .animal-footer-question {
        text-align: left;
    }
}
/* Overlapping footer question callout */
.ac-footer {
    margin-top: 5rem;
    padding-top: 0;
    overflow: visible;
}

.animal-footer-question-wrap {
    transform: translateY(-50%);
    margin-bottom: -3.6rem;
    position: relative;
    z-index: 3;
}

.animal-footer-question-overlap {
    display: grid;
    grid-template-columns: 290px auto 1fr;
    gap: 1.5rem;
    align-items: center;
    margin: 0;
    padding: 0;
    min-height: 150px;
    border: 0;
    background: #fff;
    box-shadow: 0 20px 48px rgba(52, 50, 50, 0.16);
}

.animal-footer-question-image {
    height: 150px;
    overflow: hidden;
}

.animal-footer-question-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.animal-footer-question-overlap .animal-footer-question-icon {
    width: 72px;
    height: 72px;
    flex-basis: 72px;
    background: #95ff00;
    color: #343232;
}

.animal-footer-question-overlap h4 {
    color: #343232;
    font-size: 1.8rem;
    margin: 0 0 0.4rem;
}

.animal-footer-question-overlap p {
    margin: 0 0 0.25rem !important;
}

.animal-footer-question-overlap a {
    color: #57ad00;
    font-weight: 700;
}

.animal-footer-question-overlap span {
    color: #636060;
}

.ac-footer > .container:not(.animal-footer-question-wrap) {
    padding-top: 2rem;
}

@media (max-width: 991.98px) {
    .animal-footer-question-overlap {
        grid-template-columns: 220px 64px 1fr;
    }

    .animal-footer-question-overlap h4 {
        font-size: 1.45rem;
    }
}

@media (max-width: 767.98px) {
    .ac-footer {
        margin-top: 3rem;
    }

    .animal-footer-question-wrap {
        transform: translateY(-2rem);
        margin-bottom: -1rem;
    }

    .animal-footer-question-overlap {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        padding: 1.25rem;
        text-align: center;
    }

    .animal-footer-question-image {
        display: none;
    }

    .animal-footer-question-overlap .animal-footer-question-icon {
        margin: 0 auto;
    }
}
/* Footer reference-style callout refinement */
.ac-footer {
    margin-top: 7rem !important;
    background: #26324f !important;
    overflow: visible !important;
}

.animal-footer-question-wrap {
    max-width: 1110px;
    transform: translateY(-52%) !important;
    margin-bottom: -4.8rem !important;
    padding-left: 15px;
    padding-right: 15px;
}

.animal-footer-question-overlap {
    min-height: 195px !important;
    grid-template-columns: 292px 100px minmax(0, 1fr) !important;
    gap: 1.5rem !important;
    background: #fff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.animal-footer-question-overlap .animal-footer-question-image {
    height: 195px !important;
}

.animal-footer-question-overlap .animal-footer-question-icon {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50%;
    background: #95ff00 !important;
    color: #fff !important;
    margin-left: 0;
}

.animal-footer-question-overlap .animal-footer-question-icon svg {
    width: 42px;
    height: 42px;
    stroke-width: 1.7;
}

.animal-footer-question-copy {
    padding-right: 2rem;
}

.animal-footer-question-overlap h4 {
    color: #26324f !important;
    font-size: 1.9rem !important;
    line-height: 1.25;
    margin-bottom: 0.65rem !important;
    font-weight: 800;
}

.animal-footer-question-overlap h4 a {
    color: #57ad00 !important;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.animal-footer-question-overlap p {
    color: #636060 !important;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 !important;
}

.ac-footer > .container:not(.animal-footer-question-wrap) {
    padding-top: 4rem !important;
}

@media (max-width: 991.98px) {
    .animal-footer-question-overlap {
        grid-template-columns: 230px 84px minmax(0, 1fr) !important;
        min-height: 170px !important;
    }

    .animal-footer-question-overlap .animal-footer-question-image {
        height: 170px !important;
    }

    .animal-footer-question-overlap .animal-footer-question-icon {
        width: 84px !important;
        height: 84px !important;
    }

    .animal-footer-question-overlap h4 {
        font-size: 1.45rem !important;
    }
}

@media (max-width: 767.98px) {
    .ac-footer {
        margin-top: 5rem !important;
    }

    .animal-footer-question-wrap {
        transform: translateY(-2.5rem) !important;
        margin-bottom: -1rem !important;
    }

    .animal-footer-question-overlap {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        padding: 1.5rem !important;
    }

    .animal-footer-question-overlap .animal-footer-question-image {
        display: block !important;
        height: 180px !important;
    }

    .animal-footer-question-overlap .animal-footer-question-icon {
        margin: -3.4rem auto 0;
    }

    .animal-footer-question-copy {
        padding-right: 0;
        text-align: center;
    }
}
/* Footer callout shadow and border polish */
.animal-footer-question-overlap {
    border: 1px solid rgba(99, 96, 96, 0.12) !important;
    box-shadow: 0 22px 55px rgba(52, 50, 50, 0.18) !important;
}

.animal-footer-question-image {
    border-right: 1px solid rgba(99, 96, 96, 0.1);
}
/* About page section titles match hero title style */
.about-page .animal-section-display-title,
.animal-philosophy-page .animal-section-display-title,
.animal-commitment .animal-section-display-title {
    color: #343232;
    font-size: 3.25rem;
    line-height: 1.08;
    font-weight: 700;
    margin-bottom: 2rem;
}

.animal-section-display-title span {
    color: #57ad00;
}

@media (max-width: 767.98px) {
    .about-page .animal-section-display-title,
    .animal-philosophy-page .animal-section-display-title,
    .animal-commitment .animal-section-display-title {
        font-size: 2.35rem;
        margin-bottom: 1.4rem;
    }
}
/* About callout as dark image band */
.animal-care-callout-band {
    position: relative;
    min-height: 360px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #26324f;
}

.animal-care-callout-band > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.animal-care-callout-overlay {
    position: absolute;
    inset: 0;
    background: rgba(38, 50, 79, 0.82);
}

.animal-care-callout-content {
    position: relative;
    z-index: 2;
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 2rem;
    align-items: center;
    color: #fff;
}

.animal-care-callout-icon {
    width: 96px;
    height: 96px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #95ff00;
    color: #26324f;
}

.animal-care-callout-icon svg {
    width: 42px;
    height: 42px;
    stroke-width: 1.8;
}

.animal-care-callout-content blockquote {
    margin: 0;
    color: #fff;
    font-size: 2.3rem;
    line-height: 1.35;
    font-weight: 800;
}

.animal-care-callout-content blockquote:before {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    margin-bottom: 1.2rem;
    background: #95ff00;
}

@media (max-width: 767.98px) {
    .animal-care-callout-band {
        min-height: 300px;
        padding: 3rem 0;
    }

    .animal-care-callout-content {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        text-align: center;
    }

    .animal-care-callout-icon {
        margin: 0 auto;
    }

    .animal-care-callout-content blockquote {
        font-size: 1.45rem;
    }

    .animal-care-callout-content blockquote:before {
        margin-left: auto;
        margin-right: auto;
    }
}
/* About philosophy green feature section */
.animal-philosophy-feature {
    position: relative;
    margin: 0 auto;
    padding: 5.5rem 0;
    background: #95ff00;
    overflow: visible;
}

.animal-philosophy-feature:before {
    content: "";
    position: absolute;
    inset: 0 0 0 28%;
    background: rgba(99, 96, 96, 0.08);
    pointer-events: none;
}

.animal-philosophy-feature .container {
    position: relative;
    z-index: 1;
}

.animal-philosophy-image-card {
    background: #fff;
    padding: 10px;
    box-shadow: 0 18px 45px rgba(52, 50, 50, 0.16);
}

.animal-philosophy-image-card img {
    display: block;
    width: 100%;
    min-height: 430px;
    object-fit: cover;
}

.animal-philosophy-feature-copy {
    max-width: 730px;
    padding-left: 2.6rem;
    color: #343232;
}

.animal-philosophy-feature-copy small {
    display: inline-block;
    position: relative;
    color: #fff;
    font-weight: 800;
    margin-bottom: 1rem;
}

.animal-philosophy-feature-copy .animal-section-display-title {
    color: #fff !important;
    margin-bottom: 1.8rem;
}

.animal-philosophy-feature-copy .animal-section-display-title span {
    color: #343232 !important;
}

.animal-philosophy-feature-copy p {
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.85;
    font-weight: 700;
    margin-bottom: 2rem;
}

.animal-philosophy-feature-copy ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.animal-philosophy-feature-copy li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    color: #343232;
    font-size: 1rem;
    line-height: 1.55;
    font-weight: 800;
}

.animal-philosophy-feature-copy li:before {
    content: "\eef0";
    font-family: IcoFont;
    position: absolute;
    left: 0;
    top: 0.05rem;
    color: #fff;
}

@media (max-width: 991.98px) {
    .animal-philosophy-feature:before {
        inset: 0;
    }

    .animal-philosophy-feature-copy {
        padding-left: 0;
    }

    .animal-philosophy-image-card img {
        min-height: 340px;
    }
}

@media (max-width: 575.98px) {
    .animal-philosophy-feature {
        padding: 3.5rem 0;
    }

    .animal-philosophy-image-card img {
        min-height: 280px;
    }
}
/* Exact reference-style Our Philosophy panel */
.animal-philosophy-exact {
    padding: 7rem 0 6rem !important;
    background: #fff !important;
    overflow: visible !important;
}

.animal-philosophy-exact:before {
    display: none !important;
}

.animal-philosophy-panel {
    position: relative;
    max-width: 850px;
    min-height: 545px;
    margin-left: auto;
    margin-right: 0;
    background: #95ff00;
    display: flex;
    align-items: center;
    padding: 4.5rem 4.5rem 4.5rem 9.5rem;
}

.animal-philosophy-panel .row {
    width: 100%;
}

.animal-philosophy-exact .col-lg-4 {
    position: absolute;
    left: -260px;
    top: 50%;
    transform: translateY(-50%);
    width: 360px;
    max-width: 360px;
    flex: 0 0 360px;
    z-index: 2;
    margin: 0 !important;
}

.animal-philosophy-exact .col-lg-8 {
    flex: 0 0 100%;
    max-width: 100%;
}

.animal-philosophy-exact .animal-philosophy-image-card {
    padding: 10px;
    background: #fff;
    box-shadow: 0 20px 46px rgba(52, 50, 50, 0.18);
}

.animal-philosophy-exact .animal-philosophy-image-card img {
    min-height: 445px;
    height: 445px;
    object-fit: cover;
}

.animal-philosophy-exact .animal-philosophy-feature-copy {
    max-width: 660px;
    padding-left: 0;
}

.animal-philosophy-exact .animal-philosophy-feature-copy small {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    margin-bottom: 1.2rem;
}

.animal-philosophy-exact .animal-section-display-title {
    font-size: 3rem !important;
    line-height: 1.1;
    color: #fff !important;
    margin-bottom: 1.9rem !important;
}

.animal-philosophy-exact .animal-section-display-title span {
    color: #636060 !important;
}

.animal-philosophy-exact .animal-philosophy-feature-copy p {
    color: #fff !important;
    font-size: 1rem;
    line-height: 1.85;
    font-weight: 700;
    margin-bottom: 2rem;
}

.animal-philosophy-exact .animal-philosophy-feature-copy li {
    color: #343232;
    font-weight: 800;
    margin-bottom: 1.05rem;
}

.animal-philosophy-exact .animal-philosophy-feature-copy li:before {
    color: #fff;
}

@media (max-width: 1199.98px) {
    .animal-philosophy-panel {
        max-width: 760px;
        padding-left: 8rem;
    }

    .animal-philosophy-exact .col-lg-4 {
        left: -210px;
        width: 320px;
        max-width: 320px;
        flex-basis: 320px;
    }
}

@media (max-width: 991.98px) {
    .animal-philosophy-panel {
        max-width: none;
        min-height: 0;
        padding: 2rem;
        display: block;
    }

    .animal-philosophy-exact .col-lg-4 {
        position: static;
        transform: none;
        width: auto;
        max-width: none;
        flex-basis: auto;
        margin-bottom: 2rem !important;
    }

    .animal-philosophy-exact .animal-philosophy-image-card img {
        min-height: 340px;
        height: 340px;
    }
}

@media (max-width: 575.98px) {
    .animal-philosophy-exact {
        padding: 4rem 0 !important;
    }

    .animal-philosophy-panel {
        padding: 1.25rem;
    }

    .animal-philosophy-exact .animal-section-display-title {
        font-size: 2.15rem !important;
    }
}
/* Our Philosophy panel background update */
.animal-philosophy-panel {
    background: #f7f7f7 !important;
}

.animal-philosophy-exact .animal-philosophy-feature-copy small,
.animal-philosophy-exact .animal-section-display-title,
.animal-philosophy-exact .animal-philosophy-feature-copy p {
    color: #636060 !important;
}

.animal-philosophy-exact .animal-section-display-title span,
.animal-philosophy-exact .animal-philosophy-feature-copy li {
    color: #343232 !important;
}

.animal-philosophy-exact .animal-philosophy-feature-copy li:before {
    color: #95ff00 !important;
}
/* Match Our Philosophy title color to Our Commitment */
.animal-philosophy-exact .animal-section-display-title { color: #343232 !important; }
.animal-philosophy-exact .animal-section-display-title span { color: #57ad00 !important; }


/* Home appointment form clearance before footer callout */
body.home-index .ac-footer {
    margin-top: 9rem !important;
}

body.home-index .animal-footer-question-wrap {
    transform: translateY(-38%) !important;
    margin-bottom: -3.3rem !important;
}

@media (max-width: 767.98px) {
    body.home-index .ac-footer {
        margin-top: 5rem !important;
    }

    body.home-index .animal-footer-question-wrap {
        transform: translateY(-1.5rem) !important;
        margin-bottom: -0.5rem !important;
    }
}
/* Keep home footer callout overlap same as inner pages */
body.home-index .ac-footer { margin-top: 7rem !important; }
body.home-index .animal-footer-question-wrap { transform: translateY(-52%) !important; margin-bottom: -4.8rem !important; }
@media (max-width: 767.98px) { body.home-index .ac-footer { margin-top: 5rem !important; } body.home-index .animal-footer-question-wrap { transform: translateY(-2.5rem) !important; margin-bottom: -1rem !important; } }


/* Footer top alignment refinement */
.ac-footer > .container:not(.animal-footer-question-wrap) {
    padding-top: 1rem !important;
}

.ac-footer > .container:not(.animal-footer-question-wrap) > .row {
    align-items: flex-start !important;
}

.ac-footer .logo-footer {
    margin-top: 0 !important;
    margin-bottom: 1.35rem !important;
}

.ac-footer .footer-heading {
    margin-top: 0 !important;
    margin-bottom: 1.35rem !important;
}

.ac-footer .footer-heading:before,
.ac-footer .footer-heading:after {
    top: -34px !important;
}

.ac-footer .footer-widget-menu,
.ac-footer .contact-text,
.ac-footer .contact-address {
    margin-top: 0 !important;
}

@media (max-width: 991.98px) {
    .ac-footer > .container:not(.animal-footer-question-wrap) {
        padding-top: 2rem !important;
    }
}
/* Footer social links moved to first column */
.animal-footer-follow-first {
    margin-top: 1.25rem;
}

.animal-footer-follow-first .txt-blue {
    margin-bottom: 0.75rem;
}
/* Footer three equal columns */
.ac-footer > .container:not(.animal-footer-question-wrap) > .row > [class*="col-lg-4"] {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.ac-footer .contact-text p {
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > [class*="col-lg-4"] {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767.98px) {
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > [class*="col-lg-4"] {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
/* Footer 5 / 3 / 4 desktop columns */
.ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-5 {
    flex: 0 0 41.666667% !important;
    max-width: 41.666667% !important;
}

.ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
}

.ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
}

@media (max-width: 991.98px) {
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-5,
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-3,
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-4 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 767.98px) {
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-5,
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-3,
    .ac-footer > .container:not(.animal-footer-question-wrap) > .row > .col-lg-4 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}
/* Home appointment validation polish */
#appointment_form select.form-control:invalid,
#appointment_form input.form-control:invalid,
#appointment_form textarea.form-control:invalid {
    box-shadow: none;
}

#appointment_form select.form-control:focus,
#appointment_form input.form-control:focus,
#appointment_form textarea.form-control:focus {
    border-color: #95ff00;
}

/* FAQ and photo gallery pages */
.animal-faq-list {
    max-width: 920px;
    margin: 0 auto;
}

.animal-faq-item {
    background: #fff;
    border: 1px solid rgba(20, 35, 48, 0.08);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(20, 35, 48, 0.06);
    margin-bottom: 1.25rem;
    padding: 1.5rem 1.75rem;
}

.animal-faq-item h3 {
    color: #343232;
    font-size: 1.2rem;
    margin-bottom: 0.55rem;
}

.animal-faq-item p {
    margin-bottom: 0;
}

.animal-gallery-card {
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(20, 35, 48, 0.09);
    margin: 0;
    overflow: hidden;
    position: relative;
}

.animal-gallery-card img {
    aspect-ratio: 4 / 3;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.animal-gallery-card figcaption {
    background: #fff;
    color: #343232;
    font-weight: 700;
    padding: 1rem 1.15rem;
}

.ac-slide > img.ac-insurance-slide-img {
    object-position: 72% center;
}

.home-classic-services .icon-font .ac-service-custom-icon {
    display: block;
    height: 72px;
    margin: 0 auto;
    object-fit: contain;
    width: 72px;
}

.animal-legal-policy-card {
    background: #fff;
    border: 1px solid rgba(20, 35, 48, 0.08);
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(20, 35, 48, 0.07);
    padding: 2.5rem;
}

.animal-legal-policy-card h2,
.animal-legal-policy-card h3 {
    color: #343232;
}

.animal-legal-policy-card h3 {
    font-size: 1.25rem;
    margin-top: 1.75rem;
}

.animal-legal-policy-card p {
    color: #5f5d5a;
    line-height: 1.75;
}

.classic-gallery .captured-gallery-item img.ac-gallery-dog-walk-img {
    object-position: center right;
}

.ac-footer-download {
    margin-top: 1.35rem;
}

.ac-footer-download .txt-blue {
    margin-bottom: 0.7rem;
}

.ac-top-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 0.7rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.ac-header-download {
    align-items: center;
    display: flex;
    gap: 0.4rem;
    white-space: nowrap;
}

.ac-header-download > span {
    color: var(--primary-color);
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}

.ac-header-download .ac-store-badges {
    flex-wrap: nowrap;
    gap: 0.35rem;
}

.ac-header-download .ac-store-badge {
    border-radius: 4px;
    gap: 0.3rem;
    min-height: 26px;
    padding: 0.22rem 0.42rem;
}

.ac-header-download .ac-store-badge i {
    font-size: 0.92rem;
}

.ac-header-download .ac-store-badge span {
    font-size: 0.66rem;
}

.ac-header-download .ac-store-badge small {
    font-size: 0.38rem;
}

.top-bar-right .row {
    flex-wrap: nowrap;
}

.top-bar-right .contact-info {
    flex: 1 1 auto;
    min-width: 0;
}

.top-bar-right .contact-info div {
    margin-right: 0.65rem;
}

.top-bar-right .contact-info svg {
    margin-right: 0.2rem;
}

.top-bar-right .social-icons {
    align-items: center;
    display: flex;
    white-space: nowrap;
}

.top-bar-right .social-icons span {
    margin-right: 0.45rem;
}

.top-bar-right .social-icons a:not(:last-child) {
    margin-right: 0.45rem;
}

.ac-store-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.ac-store-badge {
    align-items: center;
    background: #050505;
    border-radius: 6px;
    color: #fff !important;
    display: inline-flex;
    gap: 0.55rem;
    min-height: 42px;
    padding: 0.45rem 0.8rem;
    text-decoration: none !important;
}

.ac-store-badge i {
    color: #fff;
    font-size: 1.45rem;
    line-height: 1;
}

.ac-store-badge span {
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.05;
}

.ac-store-badge small {
    color: #fff;
    font-size: 0.55rem;
    font-weight: 600;
    line-height: 1;
}

@media (max-width: 991.98px) {
    .ac-top-actions {
        display: none;
    }
}

/* Responsive polish for desktop and mobile views */
@media (min-width: 1200px) {
    .ac-slide > img.ac-walk-slide-img {
        width: 82%;
    }
}

@media (max-width: 991.98px) {
    .top-bar-right .row {
        flex-wrap: wrap;
    }

    .top-bar-right .contact-info {
        justify-content: center;
        row-gap: 0.35rem;
    }

    .ac-slider {
        height: 500px;
    }

    .ac-slide > img.ac-walk-slide-img {
        width: 100%;
        object-fit: cover;
        object-position: 68% center;
    }

    .animal-philosophy-exact .animal-philosophy-image-card img {
        height: 360px;
        min-height: 360px;
        object-position: center center;
    }
}

@media (max-width: 767.98px) {
    .ac-slider {
        height: 520px;
    }

    .ac-slide-copy {
        left: 7vw;
        top: 44%;
        width: 84vw;
    }

    .ac-slide > img.ac-walk-slide-img {
        opacity: 0.78;
        object-position: 72% center;
    }

    .classic-gallery .captured-gallery-item img {
        height: 260px;
    }

    .animal-service-img img {
        height: 230px;
        object-position: center center;
    }

    .ac-footer .logo-footer img {
        width: min(260px, 100%);
    }

    .ac-store-badges {
        gap: 0.55rem;
    }
}

@media (max-width: 575.98px) {
    .ac-slider {
        height: 560px;
    }

    .ac-slide-copy {
        top: 48%;
    }

    .ac-slide-copy h1 {
        font-size: 40px;
    }

    .ac-slide-text {
        font-size: 15px;
        line-height: 1.5;
    }

    .ac-slide-copy a {
        padding: 12px 14px;
    }

    .classic-gallery .captured-gallery-item img,
    .animal-service-img img,
    .animal-philosophy-exact .animal-philosophy-image-card img {
        height: 240px;
        min-height: 240px;
    }

    .ac-store-badges {
        flex-direction: column;
        align-items: flex-start;
    }
}

.ac-mobile-header-links {
    display: none;
}

@media (max-width: 991.98px) {
    .navbar-collapse .ac-mobile-header-links {
        border-top: 1px solid rgba(255, 255, 255, 0.25);
        display: block;
        margin-top: 1rem;
        padding-top: 1rem;
    }

    .ac-mobile-social {
        align-items: center;
        color: #fff;
        display: flex;
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    .ac-mobile-social > span,
    .ac-mobile-download > span {
        color: #fff;
        font-size: 0.9rem;
        font-weight: 700;
    }

    .ac-mobile-social a {
        align-items: center;
        color: #fff !important;
        display: inline-flex;
        font-size: 1rem;
        justify-content: center;
        min-height: 24px;
        min-width: 24px;
    }

    .ac-mobile-download {
        display: grid;
        gap: 0.7rem;
    }

    .ac-mobile-download .ac-store-badges {
        flex-direction: column;
        gap: 0.55rem;
    }

    .ac-mobile-download .ac-store-badge {
        width: max-content;
    }
}
