.hunter-home-security-cta,
.hunter-home-security-cta * { box-sizing: border-box; }

.hunter-home-security-cta {
    position: relative;
    width: 100%;
    max-width: none;
    overflow: hidden;
    margin: 0 auto;
    background: var(--hunter-security-bg, #080808);
    color: var(--hunter-security-text, #fff);
    font-family: "Montserrat", Arial, sans-serif;
    isolation: isolate;
}

.hunter-home-security-cta::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(ellipse at 78% 12%, rgba(255,255,255,.08), transparent 44%),
        repeating-linear-gradient(145deg, transparent 0 23px, rgba(255,255,255,.05) 24px 25px, transparent 26px 40px),
        repeating-linear-gradient(35deg, transparent 0 23px, rgba(255,255,255,.035) 24px 25px, transparent 26px 40px);
    content: "";
    opacity: var(--hunter-security-pattern-opacity, .14);
}

.hunter-home-security-cta__inner {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 1136px);
    max-width: 1136px;
    min-height: 400px;
    padding: 20px 0 28px;
    margin: 0 auto;
    gap: 20px;
}

.hunter-home-security-cta__content { position: relative; z-index: 2; width: min(52%, 520px); max-width: 520px; }
.hunter-home-security-cta__heading { margin: 0; color: var(--hunter-security-heading, #fff); font-size: 34px; font-weight: 750; letter-spacing: -.03em; line-height: 1.08; }
.hunter-home-security-cta__heading-mobile { display: none; }
.hunter-home-security-cta__description { max-width: 470px; margin: 28px 0 26px; color: var(--hunter-security-text, #fff); font-size: 17px; line-height: 1.62; }
.hunter-home-security-cta__button { display: inline-flex; align-items: center; justify-content: center; width: 278px; min-height: 48px; padding: 12px 20px; border-radius: 999px; background: var(--hunter-security-button, #fa1641); color: var(--hunter-security-button-text, #fff); gap: 20px; font-size: 15px; font-weight: 650; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.hunter-home-security-cta__button span { font-size: 26px; font-weight: 400; line-height: .7; }
.hunter-home-security-cta__button:hover { box-shadow: 0 12px 28px rgba(250,22,65,.3); color: var(--hunter-security-button-text, #fff); transform: translateY(-2px); }
.hunter-home-security-cta__button:focus-visible { outline: 3px solid rgba(255,255,255,.75); outline-offset: 4px; }
.hunter-home-security-cta__visual { position: absolute; right: 0; bottom: 28px; display: flex; align-items: flex-end; justify-content: flex-end; width: 55%; height: calc(100% - 28px); min-width: 0; }
.hunter-home-security-cta__visual img { display: block; width: min(650px, 100%); max-width: none; height: auto; object-fit: contain; object-position: right bottom; }

@media (max-width: 767px) {
    .hunter-home-security-cta { width: 100%; max-width: none; }
    .hunter-home-security-cta__inner { grid-template-columns: minmax(0, 1fr); align-content: start; min-height: 680px; padding: 58px 24px 0; gap: 36px; }
    .hunter-home-security-cta__inner { display: grid; }
    .hunter-home-security-cta__content { width: 100%; max-width: 342px; margin: 0 auto; text-align: center; }
    .hunter-home-security-cta__heading { font-size: 36px; line-height: 1.14; }
    .hunter-home-security-cta__heading-desktop { display: none; }
    .hunter-home-security-cta__heading-mobile { display: inline; }
    .hunter-home-security-cta__description { margin: 22px 0 25px; font-size: 18px; line-height: 1.6; }
    .hunter-home-security-cta__button { width: min(278px, 100%); min-height: 48px; }
    .hunter-home-security-cta__visual { position: static; width: auto; height: auto; align-self: end; justify-content: center; margin: auto -12px 20px; }
    .hunter-home-security-cta__visual img { width: 340px; max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) { .hunter-home-security-cta__button { transition-duration: .01ms; } }
