/**
 * Legacy Claims Services — brand & design layer.
 * Loaded after insuba.css; every template colour is authored as
 * var(--insuba-*, #fallback), so redefining the tokens below rebrands the
 * whole site from the Insuba template blue to the Legacy navy + gold taken
 * from the logo.
 *
 * 1.  Brand tokens
 * 2.  Base & typography
 * 3.  Header & navigation
 * 4.  Buttons
 * 5.  Section titles
 * 6.  Hero
 * 7.  Marquee strip
 * 8.  About
 * 9.  Stats / funfact
 * 10. Process strip           (new)
 * 11. Service cards
 * 12. Coverage section        (new)
 * 13. Testimonials
 * 14. CTA band
 * 15. Blog cards
 * 16. Newsletter & footer
 * 17. Contact panel & forms
 * 18. Locations directory
 * 19. Accessibility & motion
 */

/* ==========================================================================
   1. Brand tokens
   ========================================================================== */

:root {
    /* -- Legacy brand, sampled from the logo artwork --------------------- */
    --lcs-navy-900: #04222f;
    --lcs-navy-800: #052c46;
    --lcs-navy: #063457;
    /* logo navy */
    --lcs-navy-700: #0a4772;
    --lcs-navy-600: #0e5c90;
    --lcs-navy-500: #1b74b0;
    --lcs-navy-400: #3e97d0;
    --lcs-navy-300: #7fbfe6;
    --lcs-navy-100: #dbeaf5;

    --lcs-gold: #eacc38;
    /* logo diamond */
    --lcs-gold-700: #8a6f06;
    /* text-safe gold on white */
    --lcs-gold-600: #d4b421;
    --lcs-gold-300: #f5e08a;
    --lcs-gold-100: #fbf3d0;

    --lcs-ink: #0b1f30;
    --lcs-slate: #52657a;
    --lcs-mist: #f4f7fa;
    --lcs-line: #dde5ec;

    --lcs-shadow-sm: 0 2px 6px rgba(6, 52, 87, .06);
    --lcs-shadow: 0 10px 30px rgba(6, 52, 87, .09);
    --lcs-shadow-lg: 0 24px 60px rgba(6, 52, 87, .14);
    --lcs-ring: 0 0 0 3px rgba(234, 204, 56, .55), 0 0 0 6px rgba(6, 52, 87, .35);

    /* -- Template tokens, retuned ---------------------------------------- */
    --insuba-base: #0a4772;
    --insuba-base-rgb: 10, 71, 114;
    --insuba-blue: #7fbfe6;
    --insuba-blue-rgb: 127, 191, 230;
    --insuba-blue2: #0e5c90;
    --insuba-blue2-rgb: 14, 92, 144;
    --insuba-yellow: #eacc38;
    --insuba-yellow-rgb: 234, 204, 56;

    --insuba-black: #0b1f30;
    --insuba-black-rgb: 11, 31, 48;
    --insuba-black3: #04222f;
    --insuba-black3-rgb: 4, 34, 47;
    --insuba-black4: #063457;
    --insuba-black4-rgb: 6, 52, 87;
    --insuba-black5: #063457;
    --insuba-black5-rgb: 6, 52, 87;
    --insuba-black9: #052c46;
    --insuba-black9-rgb: 5, 44, 70;
    --insuba-black12: #0a4772;
    --insuba-black12-rgb: 10, 71, 114;
    --insuba-black13: #063457;
    --insuba-black13-rgb: 6, 52, 87;

    --insuba-text: #566577;
    --insuba-text-rgb: 86, 101, 119;
    --insuba-text-gray: #6b7c8f;
    --insuba-text-gray-rgb: 107, 124, 143;
    --insuba-gray6: #35526f;
    --insuba-gray6-rgb: 53, 82, 111;

    --insuba-white2: #eef3f7;
    --insuba-white2-rgb: 238, 243, 247;
    --insuba-white3: #f1f5f9;
    --insuba-white3-rgb: 241, 245, 249;
    --insuba-white5: #f4f7fa;
    --insuba-white5-rgb: 244, 247, 250;
    --insuba-white8: #eaeff4;
    --insuba-white9: #f4f7fa;
    --insuba-border-color: #dde5ec;
    --insuba-border-color-rgb: 221, 229, 236;

    --section-space: 118px;
    --section-space2: 112px;
}

/* ==========================================================================
   2. Base & typography
   ========================================================================== */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--insuba-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -0.015em;
}

p {
    line-height: 1.78;
}

::selection {
    background-color: var(--lcs-gold);
    color: var(--lcs-navy-900);
}

/* Any generated SVG artwork used as an <img> should scale with its box. */
img[src$=".svg"] {
    max-width: 100%;
}

/* ==========================================================================
   3. Header & navigation
   ========================================================================== */

.topbar--one .topbar__bg,
.topbar--one {
    background-color: var(--lcs-navy);
}

.topbar__info li a:hover {
    color: var(--lcs-gold);
}

.main-header--one .main-header__inner {
    box-shadow: var(--lcs-shadow-sm);
}

.main-header__logo img {
    width: 212px;
    height: auto;
}

.main-menu__list>li>a {
    font-weight: 500;
    letter-spacing: 0;
    position: relative;
}

/* Gold underline that grows on hover and stays on the current page. */
.main-menu__list>li>a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    border-radius: 2px;
    background-color: var(--lcs-gold);
    transition: width 300ms ease;
}

.main-menu__list>li:hover>a::after,
.main-menu__list>li.current>a::after {
    width: 100%;
}

.main-header__search__icon {
    transition: color 250ms ease, background-color 250ms ease;
}

.main-header__search:hover .main-header__search__icon {
    color: var(--lcs-navy);
}

/* ==========================================================================
   4. Buttons
   Default = navy body with a gold action cap; hover floods gold.
   --base   = gold body with a navy cap; hover floods navy.
   ========================================================================== */

.insuba-btn {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .01em;
    background-color: var(--lcs-navy);
    box-shadow: 0 6px 18px rgba(6, 52, 87, .18);
    transition: color 350ms ease, background-color 350ms ease, box-shadow 350ms ease, transform 350ms ease;
}

.insuba-btn:hover {
    color: var(--lcs-navy-900);
    box-shadow: 0 10px 26px rgba(234, 204, 56, .38);
    transform: translateY(-2px);
}

.insuba-btn::after {
    background-color: var(--lcs-gold);
}

.insuba-btn__icon-box {
    background-color: var(--lcs-gold);
}

.insuba-btn__icon-box::before {
    background-color: rgba(255, 255, 255, .28);
}

.insuba-btn .insuba-btn__icon {
    color: var(--lcs-navy-900);
}

.insuba-btn:hover .insuba-btn__icon-box {
    background-color: var(--lcs-navy);
}

.insuba-btn:hover .insuba-btn__icon {
    color: #fff;
}

/* -- Gold primary --------------------------------------------------------- */

.insuba-btn--base {
    color: var(--lcs-navy-900);
    background-color: var(--lcs-gold);
    box-shadow: 0 6px 18px rgba(234, 204, 56, .34);
}

.insuba-btn--base::after {
    background-color: var(--lcs-navy);
}

.insuba-btn--base:hover {
    color: #fff;
    box-shadow: 0 10px 26px rgba(6, 52, 87, .28);
}

.insuba-btn--base .insuba-btn__icon-box {
    background-color: var(--lcs-navy);
}

.insuba-btn--base .insuba-btn__icon {
    color: #fff;
}

.insuba-btn--base:hover .insuba-btn__icon-box {
    background-color: var(--lcs-gold);
}

.insuba-btn--base:hover .insuba-btn__icon {
    color: var(--lcs-navy-900);
}

/* -- White (used on dark grounds) ---------------------------------------- */

.insuba-btn--white .insuba-btn__icon-box {
    background-color: var(--lcs-navy);
}

.insuba-btn--white::after {
    background-color: var(--lcs-gold);
}

.insuba-btn--white:hover {
    color: var(--lcs-navy-900);
}

.insuba-btn--white:hover .insuba-btn__icon-box {
    background-color: var(--lcs-navy);
}

/* ==========================================================================
   5. Section titles
   ========================================================================== */

/* The template paints the tagline in the same colour as the pill behind it,
   so section taglines were invisible sitewide. Light chip on light grounds,
   translucent chip with gold text on dark ones. */
.sec-title__top {
    align-items: center;
    padding: 8px 22px 6px;
    background-color: var(--lcs-gold-100);
    border: 1px solid rgba(234, 204, 56, .55);
}

.sec-title__tagline {
    color: var(--lcs-navy);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 1.6;
}

.sec-title__box {
    background-color: var(--lcs-navy);
}

.sec-title__box::after {
    border-left-color: var(--lcs-navy) !important;
}

.sec-title__box--right::after {
    border-right-color: var(--lcs-navy) !important;
}

.sec-title__box__inner {
    background-color: var(--lcs-gold);
}

/* -- Dark-ground variant -------------------------------------------------- */

.services-four .sec-title__top,
.need-contact .sec-title__top,
.newsletter .sec-title__top,
.main-footer .sec-title__top,
.testimonials-three .sec-title__top,
.main-slider-four .sec-title__top {
    background-color: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .22);
}

.services-four .sec-title__tagline,
.need-contact .sec-title__tagline,
.newsletter .sec-title__tagline,
.main-footer .sec-title__tagline,
.testimonials-three .sec-title__tagline,
.main-slider-four .sec-title__tagline {
    color: var(--lcs-gold);
}

.services-four .sec-title__box,
.need-contact .sec-title__box,
.newsletter .sec-title__box,
.main-footer .sec-title__box,
.testimonials-three .sec-title__box {
    background-color: var(--lcs-gold);
}

.services-four .sec-title__box::after,
.need-contact .sec-title__box::after,
.newsletter .sec-title__box::after,
.main-footer .sec-title__box::after,
.testimonials-three .sec-title__box::after {
    border-left-color: var(--lcs-gold) !important;
}

.services-four .sec-title__box__inner,
.need-contact .sec-title__box__inner,
.newsletter .sec-title__box__inner,
.main-footer .sec-title__box__inner,
.testimonials-three .sec-title__box__inner {
    background-color: var(--lcs-navy);
}

.sec-title__title {
    color: var(--lcs-ink);
    line-height: 1.22;
}

/* A gold rule under centred section titles gives the eye a landing point. */
.sec-title--center .sec-title__title::after {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    border-radius: 3px;
    margin: 22px auto 0;
    background: linear-gradient(90deg, var(--lcs-gold), var(--lcs-gold-600));
}

/* ==========================================================================
   6. Hero
   The new hero artwork is complete in itself — the template's decorative
   overlay shapes are template-blue and would fight it.
   ========================================================================== */

.main-slider-four__shape-one,
.main-slider-four__shape-two,
.main-slider-four__shape-three,
.main-slider-four__shape-four {
    display: none;
}

.main-slider-four__item {
    padding-top: 300px;
    padding-bottom: 168px;
}

.main-slider-four__title {
    font-size: 62px;
    line-height: 1.14;
    letter-spacing: -0.025em;
    text-shadow: 0 2px 24px rgba(4, 34, 47, .35);
}

/* Replace the template's PNG scribble behind the highlighted word with a
   clean gold underline drawn in CSS. */
.main-slider-four__title__text {
    color: var(--lcs-gold);
}

.main-slider-four__title__text::after {
    background-image: none !important;
    width: 100% !important;
    height: 6px !important;
    top: auto !important;
    bottom: 4px;
    left: 0 !important;
    transform: none !important;
    border-radius: 4px;
    background-color: rgba(234, 204, 56, .32);
}

.main-slider-four__text {
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .82);
}

/* Hero CTAs: gold primary, ghost secondary — both need to hold up on navy. */
.main-slider-four__btn-1 {
    color: var(--lcs-navy-900);
    background-color: var(--lcs-gold);
    box-shadow: 0 8px 24px rgba(234, 204, 56, .28);
}

.main-slider-four__btn-1::after {
    background-color: #fff;
}

.main-slider-four__btn-1:hover {
    color: var(--lcs-navy-900);
}

.main-slider-four__btn-1 .insuba-btn__icon-box {
    background-color: var(--lcs-navy);
}

.main-slider-four__btn-1 .insuba-btn__icon {
    color: #fff;
}

.main-slider-four__btn-1:hover .insuba-btn__icon-box {
    background-color: var(--lcs-navy-900);
}

.main-slider-four__btn-2 {
    color: #fff;
    background-color: rgba(255, 255, 255, .06);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .38);
}

.main-slider-four__btn-2::after {
    background-color: #fff;
}

.main-slider-four__btn-2:hover {
    color: var(--lcs-navy-900);
    box-shadow: inset 0 0 0 1px #fff, 0 10px 26px rgba(0, 0, 0, .22);
}

.main-slider-four__btn-2 .insuba-btn__icon-box {
    background-color: var(--lcs-gold);
}

.main-slider-four__btn-2 .insuba-btn__icon {
    color: var(--lcs-navy-900);
}

.main-slider-four__insurance__inner {
    backdrop-filter: blur(6px);
    box-shadow: var(--lcs-shadow);
}

.main-slider-four__insurance__icon {
    color: var(--lcs-gold);
}

/* Slider dots: a clean vertical rail on the left, gold for the active slide. */
.main-slider-four__carousel.owl-carousel .owl-dots {
    display: flex;
    gap: 12px;
    align-items: center;
}

.main-slider-four__carousel.owl-carousel .owl-dots .owl-dot {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    background: transparent;
    position: relative;
    transition: border-color 300ms ease, transform 300ms ease;
}

.main-slider-four__carousel.owl-carousel .owl-dots .owl-dot::after {
    width: 6px;
    height: 6px;
    background-color: var(--lcs-gold);
}

.main-slider-four__carousel.owl-carousel .owl-dots .owl-dot:hover,
.main-slider-four__carousel.owl-carousel .owl-dots .owl-dot.active {
    border-color: var(--lcs-gold);
    transform: scale(1.15);
}

@media (min-width: 1300px) {
    .main-slider-four__carousel.owl-carousel .owl-dots {
        left: 46px;
    }
}

@media (max-width: 991px) {
    .main-slider-four__title {
        font-size: 46px;
    }

    .main-slider-four__item {
        padding-top: 240px;
        padding-bottom: 140px;
    }
}

@media (max-width: 575px) {
    .main-slider-four__title {
        font-size: 36px;
    }
}

/* ==========================================================================
   6b. Page header
   The template washed the header image out to 6% over a pale ground, which
   left every inner page opening on a flat grey slab. Now it carries the
   same navy field as the hero.
   ========================================================================== */

.page-header {
    background-color: var(--lcs-navy);
    padding-top: 172px;
    padding-bottom: 122px;
}

.page-header__bg {
    opacity: 1;
}

.page-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lcs-gold) 0%, rgba(234, 204, 56, 0) 62%);
}

.page-header__title {
    color: #fff;
    letter-spacing: -0.025em;
    text-shadow: 0 2px 20px rgba(4, 34, 47, .3);
}

.page-header .insuba-breadcrumb li,
.page-header .insuba-breadcrumb li a {
    color: rgba(255, 255, 255, .74);
}

.page-header .insuba-breadcrumb li a:hover {
    color: var(--lcs-gold);
}

.page-header .insuba-breadcrumb li:not(:first-child) span {
    color: var(--lcs-gold);
}

@media (max-width: 767px) {
    .page-header {
        padding-top: 130px;
        padding-bottom: 92px;
    }
}

/* ==========================================================================
   7. Marquee strip
   ========================================================================== */

/* A light band between the navy hero and the about section, so the page
   breathes. Alternating solid navy / outlined gold keeps the eye moving. */
.slide-one--home-4 {
    padding: 74px 0 72px;
    background-color: #fff;
    border-top: 1px solid var(--lcs-line);
    border-bottom: 1px solid var(--lcs-line);
}

.slide-one--home-4 .slide-one__text {
    color: var(--lcs-navy);
    letter-spacing: -0.015em;
    font-size: 40px;
}

.slide-one--home-4 .slide-one__text--stroke {
    color: var(--lcs-gold);
    text-shadow:
        1.5px 1.5px 0 #fff, -1.5px -1.5px 0 #fff,
        1.5px -1.5px 0 #fff, -1.5px 1.5px 0 #fff,
        0 0 1px rgba(138, 111, 6, .55);
}

.slide-one--home-4 .slide-one__sep {
    color: var(--lcs-gold-600);
    font-weight: 700;
    opacity: .8;
}

/* ==========================================================================
   8. About
   ========================================================================== */

.about-four__overlay {
    background-color: var(--lcs-mist);
}

.about-four__image__one img,
.about-four__image__two img {
    border-radius: 16px;
    box-shadow: var(--lcs-shadow);
}

.about-four__image__two {
    border-radius: 16px;
    overflow: hidden;
}

.about-four__experience {
    background-color: #fff;
    border-radius: 14px;
    box-shadow: var(--lcs-shadow-lg);
}

.about-four__experience__inner {
    border-radius: 10px;
    border: 1px solid var(--lcs-line);
    padding: 14px 22px;
}

.about-four__experience__title {
    color: var(--lcs-ink);
    font-size: 18px;
    line-height: 1.35;
}

.about-four__experience__title::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    transform: rotate(45deg);
    background-color: var(--lcs-gold);
}

.about-four__list li {
    color: var(--insuba-text);
}

.about-four__list__icon {
    color: var(--lcs-navy);
    background-color: var(--lcs-gold-100);
}

.tab-btn {
    border-radius: 100px;
}

.tab-btn.active-btn {
    background-color: var(--lcs-navy);
    color: #fff;
}

/* ==========================================================================
   9. Stats / funfact
   ========================================================================== */

.funfact--home-4 {
    background-color: var(--lcs-mist);
    border-top: 1px solid var(--lcs-line);
    border-bottom: 1px solid var(--lcs-line);
}

.funfact__icon-box {
    background-color: var(--lcs-navy);
    color: var(--lcs-gold);
    transition: transform 350ms ease, box-shadow 350ms ease;
}

.funfact__item:hover .funfact__icon-box {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(6, 52, 87, .22);
}

.funfact__count {
    color: var(--lcs-ink);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.funfact__text {
    color: var(--lcs-slate);
}

/* ==========================================================================
   10. Process strip  (new component)
   Four numbered steps connected by a rule — a horizontal beat between the
   heavy stats band and the services grid.
   ========================================================================== */

.lcs-process {
    padding: 104px 0 96px;
    background-color: #fff;
    position: relative;
    overflow: hidden;
}

.lcs-process__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
    margin-top: 58px;
}

/* the connecting rule behind the step markers */
.lcs-process__grid::before {
    content: "";
    position: absolute;
    top: 33px;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background-image: linear-gradient(90deg, var(--lcs-line) 0 8px, transparent 8px 16px);
    background-size: 16px 2px;
}

.lcs-process__step {
    position: relative;
    text-align: center;
    padding: 0 8px;
}

.lcs-process__marker {
    width: 68px;
    height: 68px;
    margin: 0 auto 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #fff;
    border: 2px solid var(--lcs-line);
    color: var(--lcs-navy);
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 22px;
    font-weight: 700;
    position: relative;
    z-index: 2;
    transition: all 400ms ease;
}

.lcs-process__step:hover .lcs-process__marker {
    background-color: var(--lcs-navy);
    border-color: var(--lcs-navy);
    color: var(--lcs-gold);
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(6, 52, 87, .22);
}

.lcs-process__icon,
.lcs-process__icon i {
    display: block;
    font-size: 34px;
    line-height: 1;
    color: var(--lcs-navy-700);
    margin-bottom: 14px;
    transition: color 400ms ease;
}

.lcs-process__step:hover .lcs-process__icon {
    color: var(--lcs-gold-600);
}

.lcs-process__title {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 19px;
    font-weight: 600;
    color: var(--lcs-ink);
    margin-bottom: 10px;
}

.lcs-process__text {
    font-size: 15px;
    line-height: 1.72;
    color: var(--lcs-slate);
    margin: 0;
    max-width: 260px;
    margin-inline: auto;
}

@media (max-width: 991px) {
    .lcs-process__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 46px 24px;
    }

    .lcs-process__grid::before {
        display: none;
    }
}

@media (max-width: 575px) {
    .lcs-process {
        padding: 72px 0 66px;
    }

    .lcs-process__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   11. Service cards
   ========================================================================== */

.services-four__bg {
    background-color: var(--lcs-navy);
}

.service-card-four {
    border-radius: 16px;
    box-shadow: var(--lcs-shadow-sm);
    transition: box-shadow 450ms ease, transform 450ms ease;
}

.service-card-four:hover {
    transform: translateY(-6px);
    box-shadow: var(--lcs-shadow-lg);
}

.service-card-four::before,
.service-card-four::after {
    border-radius: 16px;
}

/* the decorative plate behind each card */
.service-card-four__bg {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: top right;
    background-size: cover;
    opacity: .5;
    border-radius: 16px;
    pointer-events: none;
    transition: opacity 450ms ease;
}

.service-card-four:hover .service-card-four__bg {
    opacity: .85;
}

.service-card-four__icon-box {
    background-color: var(--lcs-navy);
    color: var(--lcs-gold);
    border-radius: 14px;
    transition: transform 450ms ease;
}

.service-card-four:hover .service-card-four__icon-box {
    transform: rotate(-6deg) scale(1.04);
}

.service-card-four__title a {
    color: var(--lcs-ink);
    background-image: linear-gradient(var(--lcs-gold), var(--lcs-gold));
    background-size: 0 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 400ms ease, color 300ms ease;
}

.service-card-four__title a:hover {
    color: var(--lcs-navy-700);
    background-size: 100% 2px;
}

.service-card-four__link {
    color: var(--lcs-navy-700);
    font-weight: 600;
}

.service-card-four__link:hover {
    color: var(--lcs-gold-700);
}

.service-card-four__link .work-planning-two__card__link__icon {
    background-color: var(--lcs-gold);
    color: var(--lcs-navy-900);
}

/* The card reserves 245px of bottom padding for its illustration. Cards used
   as plain feature tiles (Work With Us, Franchise) have no illustration, so
   that reservation left a large empty well. */
.service-card-four:not(:has(.service-card-four__image)) .service-card-four__content {
    padding-bottom: 40px;
}

.service-card-four:not(:has(.service-card-four__image))::before {
    height: 100%;
}

.service-card-four:not(:has(.service-card-four__image))::after {
    bottom: 0;
}

.service-card-four:not(:has(.service-card-four__image)):hover::after {
    height: 100%;
}

/* Equal-height tiles across a row. */
.row>[class*="col-"]>.service-card-four,
.row>[class*="col-"]>div>.service-card-four {
    height: 100%;
}

.service-card-four__icon-box {
    width: 62px;
    height: 62px;
}

.service-card-four__icon {
    font-size: 32px;
}

.services-four .owl-dots .owl-dot.active span {
    background-color: var(--lcs-gold) !important;
    border-color: var(--lcs-gold) !important;
}

/* ==========================================================================
   12. Coverage section  (new component)
   ========================================================================== */

.lcs-coverage {
    padding: 110px 0 104px;
    background-color: var(--lcs-mist);
    position: relative;
    overflow: hidden;
}

.lcs-coverage__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: 56px;
    align-items: center;
}

.lcs-coverage__map {
    background-color: #fff;
    border: 1px solid var(--lcs-line);
    border-radius: 20px;
    padding: 26px 26px 18px;
    box-shadow: var(--lcs-shadow);
}

.lcs-coverage__map img {
    width: 100%;
    height: auto;
    display: block;
}

.lcs-coverage__stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin: 32px 0 34px;
}

.lcs-coverage__stat {
    background-color: #fff;
    border: 1px solid var(--lcs-line);
    border-left: 3px solid var(--lcs-gold);
    border-radius: 12px;
    padding: 20px 22px;
    transition: transform 350ms ease, box-shadow 350ms ease;
}

.lcs-coverage__stat:hover {
    transform: translateY(-3px);
    box-shadow: var(--lcs-shadow);
}

.lcs-coverage__stat b {
    display: block;
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--lcs-ink);
}

.lcs-coverage__stat span {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--lcs-slate);
}

.lcs-coverage__text {
    font-size: 16px;
    color: var(--insuba-text);
}

@media (max-width: 1199px) {
    .lcs-coverage__inner {
        grid-template-columns: 1fr;
        gap: 44px;
    }
}

@media (max-width: 575px) {
    .lcs-coverage {
        padding: 74px 0 70px;
    }

    .lcs-coverage__map {
        padding: 14px 14px 8px;
        border-radius: 14px;
    }

    .lcs-coverage__stats {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   13. Testimonials
   ========================================================================== */

/* The template's near-black ground reads as a hole in the page; a navy
   gradient keeps it in the family. */
.testimonials-three {
    background-color: var(--lcs-navy-800);
    background-image: linear-gradient(158deg, #0a3d61 0%, #052c46 48%, #04222f 100%);
}

.testimonial-card-two {
    border-radius: 16px;
    box-shadow: var(--lcs-shadow-sm);
    transition: transform 400ms ease, box-shadow 400ms ease;
}

.testimonial-card-two:hover {
    transform: translateY(-5px);
    box-shadow: var(--lcs-shadow);
}

.testimonial-card-two__shape {
    background-color: var(--lcs-navy);
}

.testimonial-card-two__image img {
    border-radius: 50%;
    border: 3px solid var(--lcs-gold-100);
}

.testimonial-card-two__quote {
    color: var(--insuba-text);
}

.testimonial-card-two__name {
    color: var(--lcs-ink);
}

.testimonial-card-two__designation {
    color: var(--lcs-slate);
}

.testimonial-card-two__ratting,
.testimonial-card-two__rating {
    color: var(--lcs-gold-600);
}

/* ==========================================================================
   14. CTA band
   ========================================================================== */

.need-contact__bg::after {
    background-color: rgba(6, 52, 87, .88);
}

.need-contact__title {
    letter-spacing: -0.02em;
}

.need-contact__call__icon,
.need-contact__icon {
    color: var(--lcs-gold);
}

/* ==========================================================================
   15. Blog cards
   ========================================================================== */

.blog-card-one {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--lcs-shadow-sm);
    transition: transform 420ms ease, box-shadow 420ms ease;
}

.blog-card-one:hover {
    transform: translateY(-6px);
    box-shadow: var(--lcs-shadow-lg);
}

.blog-card-one__date {
    background-color: var(--lcs-gold);
    color: var(--lcs-navy-900);
}

.blog-card-one__title a {
    color: var(--lcs-ink);
}

.blog-card-one__title a:hover {
    color: var(--lcs-navy-700);
}

.blog-card-one__meta li a:hover,
.blog-card-one__link:hover {
    color: var(--lcs-gold-700);
}

/* ==========================================================================
   16. Newsletter & footer
   ========================================================================== */

.newsletter {
    background-color: var(--lcs-navy-700);
}

.newsletter__inner__bg {
    background-color: var(--lcs-navy-700);
    background-image: linear-gradient(115deg, var(--lcs-navy) 0%, var(--lcs-navy-700) 58%, var(--lcs-navy-600) 100%);
}

/* The template props the newsletter art on a white trapezoid pedestal; the
   new emblem is a self-contained medallion, so the pedestal goes. */
.newsletter__image::before,
.newsletter__image::after,
.newsletter__image__shape {
    display: none;
}

.newsletter__image {
    left: 96px;
    bottom: 50%;
    transform: translateY(50%);
}

.newsletter__image__one {
    width: 232px;
    height: auto;
}

@media (max-width: 1399px) {
    .newsletter__image__one {
        width: 190px;
    }

    .newsletter__image {
        left: 60px;
    }
}

.newsletter__title {
    letter-spacing: -0.02em;
}

.newsletter input[type=email] {
    outline: 0;
    border: 0;
    width: 100%;
    height: 53px;
    padding-left: 41px;
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 16px;
    font-weight: 400;
    color: var(--insuba-text);
    background-color: #fff;
    border-radius: 27px;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.newsletter input[type=email]:focus {
    color: var(--lcs-ink);
    box-shadow: 0 0 0 3px rgba(234, 204, 56, .5);
}

@media (max-width: 1199px) {
    .newsletter input[type=email] {
        padding-left: 25px;
    }
}

.main-footer {
    background-color: var(--lcs-navy);
}

.main-footer__bg::after,
.main-footer__bg::before {
    background-color: rgba(6, 52, 87, .90);
}

.footer-widget__title {
    color: #fff;
    position: relative;
    padding-bottom: 14px;
}

.footer-widget__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 34px;
    height: 3px;
    border-radius: 3px;
    background-color: var(--lcs-gold);
}

.footer-widget__link li a,
.footer-widget__contact li a {
    transition: color 250ms ease, padding-left 250ms ease;
}

.footer-widget__link li a:hover {
    color: var(--lcs-gold);
    padding-left: 5px;
}

.main-footer__bottom,
.main-footer__bottom-inner {
    border-top-color: rgba(255, 255, 255, .12);
}

.social-links__icon:hover {
    background-color: var(--lcs-gold);
    color: var(--lcs-navy-900);
    border-color: var(--lcs-gold);
}

.scroll-to-top__inner {
    background-color: var(--lcs-gold);
}

.scroll-to-top__text {
    color: var(--lcs-navy);
}

/* ==========================================================================
   17. Contact panel & forms
   ========================================================================== */

.contact-panel {
    position: relative;
}

.contact-panel__inner {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--lcs-shadow-lg);
    background-color: #fff;
    border: 1px solid var(--lcs-line);
}

.contact-panel__form-side {
    padding: 60px 50px;
    background-color: #fff;
}

.contact-panel__form-side .sec-title {
    margin-bottom: 36px;
}

.contact-form__submit {
    margin-top: 30px;
}

.contact-form__submit .insuba-btn {
    margin-top: 0;
}

.contact-panel__sidebar {
    position: relative;
    background-color: var(--lcs-navy);
    background-image: linear-gradient(150deg, var(--lcs-navy-700) 0%, var(--lcs-navy) 55%, var(--lcs-navy-800) 100%);
    padding: 60px 44px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    overflow: hidden;
}

.contact-panel__sidebar__inner {
    position: relative;
    z-index: 2;
}

.contact-panel__sidebar__shape {
    position: absolute;
    right: -80px;
    bottom: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background-color: rgba(234, 204, 56, .10);
    z-index: 1;
    pointer-events: none;
}

.contact-panel__sidebar__shape::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .06);
}

.contact-panel__sidebar-title {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1.35;
}

.contact-panel__sidebar-text {
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 15px;
    font-weight: 400;
    color: rgba(255, 255, 255, .74);
    line-height: 1.75;
    margin-bottom: 24px;
}

.contact-panel__sidebar-text strong {
    color: #fff;
    font-weight: 600;
}

.contact-panel__sidebar-items {
    list-style: none;
    padding: 0;
    margin: 0 0 6px;
}

.contact-panel__sidebar-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.contact-panel__sidebar-item:last-child {
    border-bottom: none;
}

.contact-panel__sidebar-item__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .10);
    color: var(--lcs-gold);
    font-size: 18px;
    transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.contact-panel__sidebar-item:hover .contact-panel__sidebar-item__icon {
    background-color: var(--lcs-gold);
    color: var(--lcs-navy-900);
    transform: scale(1.05);
}

.contact-panel__sidebar-item__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 46px;
}

.contact-panel__sidebar-item__label {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: rgba(255, 255, 255, .55);
    margin-bottom: 3px;
}

.contact-panel__sidebar-item__value {
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
}

.contact-panel__sidebar-item__value a {
    color: #fff;
    text-decoration: none;
    transition: color .25s ease;
}

.contact-panel__sidebar-item__value a:hover {
    color: var(--lcs-gold);
}

.contact-panel__sidebar-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-panel__sidebar-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 15px;
    font-weight: 400;
    color: rgba(255, 255, 255, .86);
    line-height: 1.6;
}

.contact-panel__sidebar-checklist li .check-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: rgba(234, 204, 56, .22);
    color: var(--lcs-gold);
    font-size: 11px;
    margin-top: 2px;
}

.contact-panel__sidebar-divider {
    height: 1px;
    background-color: rgba(255, 255, 255, .12);
    margin: 20px 0;
    border: none;
}

.contact-panel__sidebar-hours {
    padding: 0;
    margin: 0;
}

.contact-panel__sidebar-hours__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.contact-panel__sidebar-hours__item:last-child {
    border-bottom: none;
}

.contact-panel__sidebar-hours__day {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, .88);
}

.contact-panel__sidebar-hours__time {
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 14px;
    font-weight: 400;
    color: rgba(255, 255, 255, .58);
}

/* -- Inputs --------------------------------------------------------------- */

.contact-panel .form-one__group {
    grid-gap: 20px;
}

.contact-panel .form-one input[type=text],
.contact-panel .form-one input[type=email],
.contact-panel .form-one input[type=password],
.contact-panel .form-one input[type=tel],
.contact-panel .form-one textarea {
    height: 58px;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: border-color 250ms ease, box-shadow 250ms ease, background-color 250ms ease;
}

.contact-panel .form-one input[type=text]:focus,
.contact-panel .form-one input[type=email]:focus,
.contact-panel .form-one input[type=password]:focus,
.contact-panel .form-one input[type=tel]:focus,
.contact-panel .form-one textarea:focus {
    background-color: #fff;
    border-color: var(--lcs-navy-500);
    box-shadow: 0 0 0 3px rgba(27, 116, 176, .16);
}

.contact-panel .form-one textarea {
    height: 150px;
    padding-top: 18px;
    resize: vertical;
}

.contact-panel .form-one__control--full {
    grid-column-start: 1;
    grid-column-end: -1;
}

.contact-panel .bootstrap-select>.dropdown-toggle {
    height: 58px;
    border-radius: 8px;
    background-color: var(--insuba-white3) !important;
}

.contact-panel .bootstrap-select>.dropdown-toggle:focus,
.contact-panel .bootstrap-select.open>.dropdown-toggle {
    border-color: var(--lcs-navy-500);
}

.contact-panel .bootstrap-select .dropdown-menu {
    border: none;
    border-radius: 8px;
    margin-top: 4px;
    box-shadow: var(--lcs-shadow);
}

.contact-panel .bootstrap-select .dropdown-menu>li>a {
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 15px;
    font-weight: 400;
    padding: 10px 22px;
    color: var(--lcs-ink);
    background-color: var(--insuba-white3);
    text-transform: capitalize;
    transition: all .4s ease;
}

.contact-panel .bootstrap-select .dropdown-menu>li:hover>a,
.contact-panel .bootstrap-select .dropdown-menu>li.selected>a {
    background-color: var(--lcs-navy-700);
    color: #fff;
    border-color: var(--lcs-navy-700);
}

.contact-panel .bootstrap-select .dropdown-menu>li+li>a {
    border-top: 1px solid var(--insuba-border-color);
}

@media (max-width: 991px) {
    .contact-panel__form-side {
        padding: 40px 36px;
    }

    .contact-panel__sidebar {
        padding: 44px 36px;
    }

    .contact-panel .form-one__group {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .contact-panel__form-side {
        padding: 30px 22px;
    }

    .contact-panel__sidebar {
        padding: 34px 22px;
    }

    .contact-panel__sidebar__shape {
        width: 180px;
        height: 180px;
        right: -60px;
        bottom: -60px;
    }
}

/* ==========================================================================
   18. Locations directory
   ========================================================================== */

.locations-directory {
    background-color: var(--lcs-mist);
}

.locations-directory .sec-title__text {
    max-width: 640px;
    margin: 12px auto 0;
    font-size: 16px;
    color: var(--insuba-text);
}

.locations-directory__state {
    background-color: #fff;
    border-radius: 12px;
    border: 1px solid var(--lcs-line);
    overflow: hidden;
    transition: box-shadow .3s ease, border-color .3s ease;
}

.locations-directory__state:hover {
    box-shadow: var(--lcs-shadow);
    border-color: var(--lcs-navy-100);
}

.locations-directory__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 22px;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color .25s ease;
}

.locations-directory__toggle:hover {
    background-color: var(--lcs-mist);
}

.locations-directory__state-name {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--lcs-ink);
    display: flex;
    align-items: center;
    gap: 10px;
}

.locations-directory__state-name i {
    color: var(--lcs-navy-700);
    font-size: 18px;
}

.locations-directory__chevron {
    font-size: 13px;
    color: var(--lcs-navy-700);
    transition: transform .3s ease;
}

.locations-directory__toggle[aria-expanded="true"] .locations-directory__chevron {
    transform: rotate(180deg);
}

.locations-directory__offices {
    border-top: 1px solid var(--lcs-line);
}

.locations-directory__offices ul {
    padding: 0;
    margin: 0;
}

.locations-directory__office {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 14px 22px;
    border-bottom: 1px solid #f0f2f5;
    border-left: 3px solid transparent;
    transition: border-left-color .25s ease, background-color .25s ease;
}

.locations-directory__office:hover {
    border-left-color: var(--lcs-gold);
    background-color: #fcfdfe;
}

.locations-directory__office:last-child {
    border-bottom: none;
}

.locations-directory__office strong {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 15px;
    font-weight: 600;
    color: var(--lcs-ink);
}

.locations-directory__office span {
    font-family: var(--insuba-font, "Roboto", sans-serif);
    font-size: 14px;
    color: var(--insuba-text);
}

.locations-directory__office a {
    color: var(--lcs-navy-700);
    text-decoration: none;
    transition: color .25s ease;
}

.locations-directory__office a:hover {
    color: var(--lcs-ink);
    text-decoration: underline;
}

.locations-directory__office a[href^="tel:"] {
    font-weight: 500;
    color: var(--lcs-ink);
}

.locations-directory__office a[href^="tel:"]:hover {
    color: var(--lcs-navy-700);
}

/* ==========================================================================
   19. Accessibility & motion
   ========================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: none;
    box-shadow: var(--lcs-ring);
    border-radius: 6px;
}

.skip-to-content {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 9999;
    padding: 12px 22px;
    background-color: var(--lcs-navy);
    color: #fff;
    border-radius: 0 0 8px 0;
}

.skip-to-content:focus {
    left: 0;
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .main-slider-four__title,
    .main-slider-four__description,
    .main-slider-four__button {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* -- Newsletter submit ---------------------------------------------------- */

.newsletter__form__form button,
.newsletter button[type=submit] {
    background-color: var(--lcs-gold);
    color: var(--lcs-navy-900);
    font-weight: 600;
    transition: background-color 300ms ease, color 300ms ease;
}

.newsletter__form__form button:hover,
.newsletter button[type=submit]:hover {
    background-color: var(--lcs-navy-900);
    color: #fff;
}

/* -- Floating decorative shapes: quieter than the template's -------------- */

.about-four__shape-two {
    max-width: 96px;
    opacity: .5;
}

.about-four__shape-one {
    opacity: .7;
}

.funfact__shape-one,
.funfact__shape-two,
.testimonials-three__shape-one,
.testimonials-three__shape-two,
.main-footer__shape-one,
.main-footer__shape-two,
.newsletter__shape-one,
.newsletter__shape-two {
    opacity: .7;
    pointer-events: none;
}

/* ==========================================================================
   20. Info cards
   `.contact-info-card` appears on Contact and Work With Us but the template
   never defined it, so those blocks rendered as unstyled text. Given a card
   treatment consistent with the rest of the system.
   ========================================================================== */

.contact-info-card {
    height: 100%;
    padding: 40px 30px 36px;
    background-color: #fff;
    border: 1px solid var(--lcs-line);
    border-radius: 16px;
    box-shadow: var(--lcs-shadow-sm);
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}

.contact-info-card:hover {
    transform: translateY(-5px);
    border-color: var(--lcs-navy-100);
    box-shadow: var(--lcs-shadow);
}

.contact-info-card__icon-box {
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--lcs-navy);
    transition: background-color 400ms ease, transform 400ms ease;
}

.contact-info-card:not(.text-center) .contact-info-card__icon-box {
    margin-left: 0;
}

.contact-info-card:hover .contact-info-card__icon-box {
    background-color: var(--lcs-gold);
    transform: scale(1.05);
}

.contact-info-card__icon,
.contact-info-card__icon i {
    display: inline-flex;
    font-size: 30px;
    line-height: 1;
    color: var(--lcs-gold);
    transition: color 400ms ease;
}

.contact-info-card:hover .contact-info-card__icon,
.contact-info-card:hover .contact-info-card__icon i {
    color: var(--lcs-navy-900);
}

.contact-info-card__title {
    font-family: var(--insuba-heading-font, "Poppins", sans-serif);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--lcs-ink);
    margin-bottom: 12px;
}

.contact-info-card__title a {
    color: inherit;
    transition: color 250ms ease;
}

.contact-info-card__title a:hover {
    color: var(--lcs-navy-700);
}

.contact-info-card__text {
    font-size: 15px;
    line-height: 1.75;
    color: var(--lcs-slate);
    margin: 0;
}

.contact-info-card__text a {
    color: var(--lcs-navy-700);
    font-weight: 500;
}

.contact-info-card__text a:hover {
    color: var(--lcs-gold-700);
}

/* -- Side illustration wrapper ------------------------------------------- */

.contact-image {
    position: relative;
}

.contact-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
    box-shadow: var(--lcs-shadow-lg);
}

/* -- Footer about text ---------------------------------------------------- */

.footer-widget__info__text {
    color: rgba(255, 255, 255, .72);
    font-size: 15px;
    line-height: 1.8;
}

/* -- About image stack on small screens ----------------------------------- */

@media (max-width: 991px) {
    .about-four__image {
        padding-left: 0;
    }

    .about-four__experience {
        position: static;
        display: block;
        width: 100%;
        transform: none;
        margin-top: 18px;
    }

    .about-four__image__two {
        max-width: 180px;
    }
}
