:root {
    --bac-dark:      #2E2E2B;
    --bac-muted:     #737371;
    --bac-blue:      #286690;
    --bac-navy:      #112B3C;
    --bac-navy2:     #1C4866;
    --bac-bg:        #F4F6F5;
    --bac-border:    #D6D9D4;
    --bac-promo:     #C47A5A;
    --bac-white:     #ffffff;

    /* Logo-matched brand colours */
    --bac-red:       #CC1515;
    --bac-red-dark:  #a80f0f;
    --bac-brand-blue: #1A3FBD;
    --bac-brand-blue-dark: #1330a0;

    --bac-r:      10px;
    --bac-max:    1440px;
    --bac-fh:     'Montserrat', sans-serif;
    --bac-fb:     'Inter', sans-serif;
    --bac-fs:     'Lora', serif;
    --bac-nav-h:  100px;
    --bac-px:     clamp(16px, 5vw, 80px);

    /* Section spacing */
    --bac-section-lg: clamp(56px, 8vw, 96px);
    --bac-section-md: clamp(40px, 6vw, 72px);
    --bac-section-sm: clamp(32px, 5vw, 56px);
	
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--bac-fb); color: var(--bac-dark); background: #fff; line-height: 1.7; font-size: 16px; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bac-blue); transition: color .2s; }
a:hover { color: #1f5070; }
h1, h2, h3, h4, h5, h6 { font-family: var(--bac-fh); color: var(--bac-dark); font-weight: 600; line-height: 1.2; margin-bottom: .6em; }
h1 { font-size: clamp(28px, 5vw, 56px); font-weight: 700; }
h2 { font-size: clamp(22px, 4vw, 40px); }
h3 { font-family: var(--bac-fs); font-size: clamp(16px, 2.5vw, 22px); }
p  { margin-bottom: 1rem; color: var(--bac-muted); font-weight: 300; line-height: 1.8; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: var(--bac-fb); }

.bac-section-label { display: block; font-size: 11px; font-weight: 700; color: var(--bac-blue); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px; }
.bac-text-center { text-align: center; }
.bac-container { max-width: var(--bac-max); margin: 0 auto; padding: 0 var(--bac-px); }

.bac-btn,
.bac-btn-outline,
.bac-btn-white,
.bac-btn-orange {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: 40px;
    font-family: var(--bac-fb);
    font-size: 15px;
    font-weight: 500;
    transition: all .2s;
    text-decoration: none;
    border: 1.5px solid transparent;
    line-height: 1;
    white-space: nowrap;
}
.bac-btn         { background: var(--bac-red);  color: #fff; border-color: var(--bac-red); }
.bac-btn:hover   { background: var(--bac-red-dark); border-color: var(--bac-red-dark); color: #fff; }
.bac-btn-outline       { background: transparent; color: var(--bac-brand-blue); border-color: var(--bac-brand-blue); }
.bac-btn-outline:hover { background: var(--bac-brand-blue); color: #fff; }
.bac-btn-white       { background: transparent; color: #fff; border-color: rgba(255,255,255,.75); }
.bac-btn-white:hover { background: #fff; color: var(--bac-brand-blue); }
.bac-btn-orange       { background: var(--bac-red); color: #fff; border-color: var(--bac-red); font-weight: 600; }
.bac-btn-orange:hover { background: var(--bac-red-dark); border-color: var(--bac-red-dark); color: #fff; }
.bac-chevron { display: inline-block; width: 14px; height: 14px; flex-shrink: 0; }

.bac-promo-bar { background: var(--bac-navy); padding: 12px var(--bac-px); text-align: center; font-size: 14px; color: rgba(255,255,255,.9); letter-spacing: .2px; }
.bac-promo-bar strong { font-weight: 700; color: #fff; }

.bac-nav {
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.07);
    padding: 0 var(--bac-px);
    height: var(--bac-nav-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: sticky;
    top: 0;
    z-index: 900;
    transition: box-shadow .3s, height .3s;
}
.bac-nav.bac-scrolled { box-shadow: 0 2px 24px rgba(0,0,0,.08); height: 80px; }
.bac-nav.bac-scrolled .bac-nav-logo img { height: 60px; }
.bac-nav-logo img { height: 90px; width: auto; object-fit: contain; transition: height .3s; }

.bac-nav-main { display: flex; align-items: center; height: 100%; }
.bac-nav-list { display: flex; align-items: center; gap: 4px; height: 100%; }
.bac-nav-item { position: relative; height: 100%; display: flex; align-items: center; }

.bac-nav-link {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    font-weight: 500;
    color: var(--bac-dark);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 6px;
    border: none;
    background: transparent;
    transition: all .2s;
    white-space: nowrap;
    height: 44px;
    letter-spacing: .1px;
}
.bac-nav-link:hover { color: var(--bac-blue); background: #eef5fa; }
.bac-nav-chevron { opacity: .5; flex-shrink: 0; transition: transform .25s; }

.bac-sub-menu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid var(--bac-border); 
    padding: 8px 0;
    min-width: 260px;
    box-shadow: 0 12px 40px rgba(0,0,0,.12);
    z-index: 1000;
    transform: translateY(8px);
    transition: opacity .2s, transform .2s, visibility .2s;
    pointer-events: none;
}
.bac-sub-menu::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
    background: transparent;
}
.bac-has-sub:hover .bac-sub-menu,
.bac-has-sub:focus-within .bac-sub-menu,
.bac-has-sub.bac-sub-open .bac-sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.bac-has-sub:hover .bac-nav-chevron,
.bac-has-sub:focus-within .bac-nav-chevron,
.bac-has-sub.bac-sub-open .bac-nav-chevron { transform: rotate(180deg); opacity: .8; }
.bac-sub-menu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 400;
    color: var(--bac-dark);
    text-decoration: none;
    transition: all .15s;
    line-height: 1.4;
}
.bac-sub-menu li a:hover { background: #eef5fa; color: var(--bac-blue); }
.bac-sub-menu li a:hover::before { background: var(--bac-blue); }

.bac-nav-right { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.bac-nav-phone { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; color: var(--bac-red); text-decoration: none; white-space: nowrap; }
.bac-nav-phone:hover { color: var(--bac-red-dark); }
.bac-nav-cta { padding: 11px 22px; border-radius: 40px; background: var(--bac-red); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .2s; white-space: nowrap; }
.bac-nav-cta:hover { background: var(--bac-red-dark); color: #fff; }

.bac-hamburger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; background: var(--bac-bg); border: 1px solid var(--bac-border); border-radius: 8px; transition: background .2s; }
.bac-ham-line { width: 20px; height: 2px; background: var(--bac-dark); border-radius: 2px; display: block; transition: all .3s; transform-origin: center; }
.bac-hamburger[aria-expanded="true"] .bac-ham-line:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.bac-hamburger[aria-expanded="true"] .bac-ham-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
.bac-hamburger[aria-expanded="true"] .bac-ham-line:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
.bac-hamburger:hover { background: #e4edf3; }

.bac-mobile-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 998; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.bac-mobile-overlay.bac-active { display: block; }

.bac-mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(360px, 90vw);
    background: #fff;
    z-index: 999;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    overflow: hidden;
    box-shadow: -8px 0 40px rgba(0,0,0,.15);
}
.bac-mobile-menu.bac-open { transform: translateX(0); }

.bac-mob-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--bac-border); background: var(--bac-navy); flex-shrink: 0; }
.bac-mob-logo img { height: 48px; width: auto; object-fit: contain; filter: brightness(0) invert(1); }
.bac-mob-close { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25); color: #fff; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.bac-mob-close:hover { background: rgba(255,255,255,.25); }

.bac-mob-body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }

.bac-mob-cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 16px 0; }
.bac-mob-call { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 12px; background: var(--bac-bg); border: 1px solid var(--bac-border); border-radius: 8px; font-size: 13px; font-weight: 700; color: var(--bac-red); text-decoration: none; transition: all .2s; }
.bac-mob-call:hover { background: var(--bac-red); color: #fff; border-color: var(--bac-red); }
.bac-mob-book { display: flex; align-items: center; justify-content: center; padding: 11px 12px; background: var(--bac-red); border: 1px solid var(--bac-red); border-radius: 8px; font-size: 13px; font-weight: 700; color: #fff; text-decoration: none; transition: background .2s; text-align: center; }
.bac-mob-book:hover { background: var(--bac-red-dark); color: #fff; }

.bac-mob-list { flex: 1; padding: 8px 0; }
.bac-mob-item { border-bottom: 1px solid var(--bac-border); }
.bac-mob-item:last-child { border-bottom: none; }

.bac-mob-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 500;
    color: var(--bac-dark);
    text-decoration: none;
    background: transparent;
    border: none;
    text-align: left;
    transition: background .15s, color .15s;
}
.bac-mob-link:hover { background: #f4f8fb; color: var(--bac-blue); }
.bac-mob-link.bac-mob-toggle { user-select: none; }
.bac-mob-chevron { flex-shrink: 0; opacity: .45; transition: transform .25s; }
.bac-mob-has-sub.bac-sub-open .bac-mob-chevron { transform: rotate(180deg); opacity: .8; }

.bac-mob-sub { max-height: 0; overflow: hidden; transition: max-height .3s ease; background: #f8fafc; }
.bac-mob-has-sub.bac-sub-open .bac-mob-sub { max-height: 500px; }
.bac-mob-sub li a { display: flex; align-items: center; gap: 10px; padding: 13px 20px 13px 32px; font-size: 14px; color: var(--bac-muted); text-decoration: none; border-bottom: 1px solid rgba(214,217,212,.4); transition: all .15s; }
.bac-mob-sub li:last-child a { border-bottom: none; }
.bac-mob-sub li a::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--bac-border); flex-shrink: 0; }
.bac-mob-sub li a:hover { background: #eef5fa; color: var(--bac-blue); padding-left: 36px; }
.bac-mob-sub li a:hover::before { background: var(--bac-blue); }

.bac-mob-social { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 20px; border-top: 1px solid var(--bac-border); margin-top: auto; }
.bac-mob-social a { width: 40px; height: 40px; border-radius: 50%; background: var(--bac-navy); color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: background .2s; }
.bac-mob-social a:hover { background: var(--bac-blue); }

.bac-hero {
    position: relative;
    min-height: clamp(460px, 60vh, 600px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--bac-navy);
}
.bac-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bac-hero-overlay { position: absolute; inset: 0; background: linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(17,43,60,.9) 60%); }
.bac-hero-content { position: relative; z-index: 2; padding: 80px var(--bac-px); max-width: clamp(400px, 55%, 720px); }
.bac-hero-content h1 { color: #fff; margin-bottom: 16px; line-height: 1.1; }
.bac-hero-accent { color: #f0a070; font-style: normal; }
.bac-hero-content > p { font-size: clamp(15px, 2vw, 18px); color: rgba(255,255,255,.88); font-weight: 400; margin-bottom: 32px; }
.bac-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.bac-hero-trust { display: flex; gap: 24px; margin-top: 36px; flex-wrap: wrap; }
.bac-hero-trust-item { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.85); font-size: 13px; font-weight: 500; }
.bac-hero-trust-item svg { width: 15px; height: 15px; stroke: #f0a070; fill: none; flex-shrink: 0; }

.bac-goal-section { padding: 0 var(--bac-px); margin-top: -48px; position: relative; z-index: 3; }
.bac-goal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bac-goal-card { border-radius: var(--bac-r); overflow: hidden; border: 2px solid rgba(255,255,255,.7); box-shadow: 0 8px 28px rgba(0,0,0,.14); position: relative; height: 290px; display: block; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.bac-goal-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.18); }
.bac-goal-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bac-goal-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 25%, rgba(0,0,0,.82) 100%); }
.bac-goal-label { position: absolute; bottom: 18px; left: 18px; font-family: var(--bac-fs); font-size: 17px; font-weight: 600; color: #fff; z-index: 1; line-height: 1.3; }

.bac-trust-bar { background: #fff; padding: 28px var(--bac-px); border-bottom: 1px solid var(--bac-border); margin-top: 28px; }
.bac-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bac-trust-item { display: flex; align-items: center; gap: 12px; }
.bac-trust-icon { width: 44px; height: 44px; background: #eef5fa; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bac-trust-icon svg { width: 20px; height: 20px; stroke: var(--bac-blue); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bac-trust-text strong { display: block; font-family: var(--bac-fh); font-size: 13px; font-weight: 600; color: var(--bac-dark); margin-bottom: 2px; }
.bac-trust-text span { font-size: 12px; color: var(--bac-muted); font-weight: 300; }

.bac-cta-bar { background: var(--bac-blue); padding: 18px var(--bac-px); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bac-cta-bar-text p  { color: #fff; font-size: 16px; font-weight: 500; font-family: var(--bac-fh); margin: 0; }
.bac-cta-bar-text span { color: rgba(255,255,255,.72); font-size: 13px; font-weight: 300; display: block; margin-top: 2px; }

.bac-services { padding: 88px var(--bac-px); background: #fff; }
.bac-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.bac-service-card { background: #fff; border-radius: var(--bac-r); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.bac-service-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.10); }
.bac-service-card-img { height: 210px; overflow: hidden; }
.bac-service-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.bac-service-card:hover .bac-service-card-img img { transform: scale(1.05); }
.bac-service-card-body { padding: 24px; }
.bac-service-card-body h3 { font-family: var(--bac-fs); font-size: 18px; font-weight: 600; color: var(--bac-dark); margin-bottom: 8px; }
.bac-service-card-body p { font-size: 14px; font-weight: 300; line-height: 1.7; margin-bottom: 18px; }

.bac-why { padding: 88px var(--bac-px); background: #fff; }
.bac-why-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.bac-why-img-wrap { position: relative; border-radius: var(--bac-r); overflow: hidden; }
.bac-why-img-wrap img { width: 100%; height: 480px; object-fit: cover; border-radius: var(--bac-r); }
.bac-why-badge { position: absolute; bottom: 20px; left: 20px; background: #fff; border-radius: 10px; padding: 14px 18px; box-shadow: 0 4px 20px rgba(0,0,0,.12); }
.bac-why-badge .bac-stars { color: #f59e0b; font-size: 15px; margin-bottom: 4px; }
.bac-why-badge strong { display: block; font-family: var(--bac-fh); font-size: 20px; font-weight: 700; color: var(--bac-navy); }
.bac-why-badge span { font-size: 12px; color: var(--bac-muted); }
.bac-why-list { padding: 0; margin: 20px 0 28px; display: flex; flex-direction: column; gap: 12px; }
.bac-why-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: var(--bac-dark); line-height: 1.6; }
.bac-why-check { width: 22px; height: 22px; background: #eef5fa; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.bac-why-check svg { width: 12px; height: 12px; stroke: var(--bac-blue); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

.bac-usp-bar { background: var(--bac-navy); padding: 72px var(--bac-px); }
.bac-usp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: var(--bac-max); margin: 0 auto; }
.bac-usp-item { padding: 20px 36px; text-align: center; border-right: 1px solid rgba(255,255,255,.12); }
.bac-usp-item:last-child { border-right: none; }
.bac-usp-icon { width: 52px; height: 52px; margin: 0 auto 18px; }
.bac-usp-icon svg { width: 52px; height: 52px; }
.bac-usp-item h3 { font-family: var(--bac-fs); font-size: 20px; font-weight: 600; color: #fff; margin-bottom: 12px; }
.bac-usp-item p { font-size: 14px; font-weight: 300; color: rgba(255,255,255,.75); line-height: 1.8; margin: 0; }

.bac-seo-section { padding: 88px var(--bac-px); background: #fff; }
.bac-seo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.bac-seo-text h2 { font-family: var(--bac-fh); font-size: clamp(20px, 3vw, 34px); font-weight: 600; color: var(--bac-dark); line-height: 1.25; margin-bottom: 18px; }
.bac-seo-text p { font-size: 15px; font-weight: 300; line-height: 1.85; margin-bottom: 14px; }
.bac-seo-text p strong { color: var(--bac-dark); font-weight: 600; }

.bac-reviews { padding: 88px var(--bac-px); background: var(--bac-bg); }
.bac-reviews-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 44px; flex-wrap: wrap; }
.bac-google-badge { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--bac-border); border-radius: var(--bac-r); padding: 14px 20px; flex-shrink: 0; }
.bac-g-logo { font-family: var(--bac-fh); font-size: 26px; font-weight: 800; color: #4285f4; line-height: 1; }
.bac-g-rating { font-size: 28px; font-weight: 700; color: var(--bac-dark); font-family: var(--bac-fh); line-height: 1; }
.bac-g-stars { color: #f59e0b; font-size: 15px; margin: 4px 0; }
.bac-g-count { font-size: 12px; color: var(--bac-muted); }
.bac-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bac-review-card { background: #fff; border: 1px solid var(--bac-border); border-radius: var(--bac-r); padding: 22px; }
.bac-review-stars { color: #f59e0b; font-size: 15px; margin-bottom: 10px; }
.bac-review-text { font-size: 14px; font-weight: 300; color: #475569; line-height: 1.75; margin-bottom: 14px; font-style: italic; }
.bac-review-author { display: flex; align-items: center; gap: 10px; }
.bac-review-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--bac-navy2); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #fff; flex-shrink: 0; }
.bac-review-info strong { font-size: 13px; color: var(--bac-dark); font-weight: 600; display: block; }
.bac-review-info span { font-size: 11px; color: var(--bac-muted); }
.bac-review-source { font-size: 10px; color: var(--bac-blue); font-weight: 600; text-transform: uppercase; letter-spacing: .5px; margin-top: 3px; }

.bac-brands { padding: 48px var(--bac-px); background: #fff; border-top: 1px solid var(--bac-border); }
.bac-brands-label { text-align: center; font-size: 11px; font-weight: 700; color: var(--bac-muted); text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 28px; }
.bac-brands-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 36px; margin-bottom: 36px; }
.bac-brands-logos img { object-fit: contain; filter: grayscale(100%); opacity: .6; transition: all .25s; }
.bac-brands-logos img:hover { filter: grayscale(0%); opacity: 1; }
.bac-brand-text { font-size: 13px; font-weight: 700; color: #94a3b8; letter-spacing: .5px; text-transform: uppercase; }
.bac-trust-badges { display: flex; align-items: center; justify-content: center; gap: 48px; padding-top: 36px; flex-wrap: wrap; }
.bac-trust-badges a { display: flex; align-items: center; transition: opacity .2s; }
.bac-trust-badges a:hover { opacity: .85; }
.bac-trust-badges img { object-fit: contain; }
.bac-badge-text { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.bac-badge-stars { color: #f59e0b; font-size: 18px; }
.bac-badge-text strong { font-family: var(--bac-fh); font-size: 20px; font-weight: 700; color: var(--bac-dark); }
.bac-badge-text span { font-size: 12px; color: var(--bac-muted); }

.bac-areas { padding: 72px var(--bac-px); background: var(--bac-navy); }
.bac-areas-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.bac-areas-text h2 { font-family: var(--bac-fh); font-size: clamp(20px, 3vw, 34px); font-weight: 600; color: #fff; line-height: 1.25; margin-bottom: 14px; }
.bac-areas-text p { font-size: 15px; font-weight: 300; color: rgba(255,255,255,.75); line-height: 1.85; margin-bottom: 28px; }
.bac-areas-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.bac-area-pill { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); border-radius: 20px; padding: 8px 16px; font-size: 13px; color: rgba(255,255,255,.82); text-decoration: none; display: inline-block; transition: all .2s; }
.bac-area-pill:hover { background: var(--bac-blue); border-color: var(--bac-blue); color: #fff; }

.bac-faq { padding: 88px var(--bac-px); background: var(--bac-bg); }
.bac-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.bac-faq-intro h2 { font-family: var(--bac-fh); font-size: clamp(20px, 3vw, 34px); font-weight: 600; color: var(--bac-dark); line-height: 1.25; margin-bottom: 14px; }
.bac-faq-intro p { font-size: 15px; font-weight: 300; line-height: 1.85; margin-bottom: 28px; }
.bac-faq-item { border-bottom: 1px solid var(--bac-border); }
.bac-faq-question { width: 100%; background: none; border: none; padding: 18px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: var(--bac-fh); font-size: 15px; font-weight: 600; color: var(--bac-dark); text-align: left; }
.bac-faq-question svg { width: 18px; height: 18px; stroke: var(--bac-blue); fill: none; flex-shrink: 0; transition: transform .3s; stroke-width: 2; stroke-linecap: round; }
.bac-faq-item.bac-open .bac-faq-question svg { transform: rotate(45deg); }
.bac-faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease; font-size: 14px; font-weight: 300; color: var(--bac-muted); line-height: 1.85; }
.bac-faq-item.bac-open .bac-faq-answer { max-height: 400px; }
.bac-faq-answer-inner { padding: 0 0 18px; }

.bac-story { padding: 88px var(--bac-px); background: #fff; }
.bac-story-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.bac-story-img { border-radius: var(--bac-r); overflow: hidden; height: 460px; }
.bac-story-img img { width: 100%; height: 100%; object-fit: cover; }
.bac-story-lead { font-size: 17px !important; font-weight: 300 !important; color: var(--bac-muted) !important; line-height: 1.75 !important; }

.bac-social { padding: 88px var(--bac-px); background: var(--bac-navy2); }
.bac-social-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.bac-social-card { background: #fff; border-radius: var(--bac-r); overflow: hidden; }
.bac-social-icon-area { height: 110px; background: #eaf0f4; display: flex; align-items: center; justify-content: center; }
.bac-social-dot { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.bac-social-dot svg { width: 28px; height: 28px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bac-social-body { padding: 18px 22px; }
.bac-social-body h4 { font-family: var(--bac-fs); font-size: 19px; font-weight: 600; color: var(--bac-dark); margin-bottom: 4px; }
.bac-social-handle { font-size: 13px; color: rgba(46,46,43,.55); margin-bottom: 12px; display: block; }

.bac-book { padding: 88px var(--bac-px); background: var(--bac-blue); }
.bac-book-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.bac-book-text h2 { font-family: var(--bac-fh); font-size: clamp(22px, 3vw, 38px); font-weight: 600; color: #fff; line-height: 1.2; margin-bottom: 14px; }
.bac-book-text > p { font-size: 16px; font-weight: 300; color: rgba(255,255,255,.82); line-height: 1.75; margin-bottom: 28px; }
.bac-book-phone { font-family: var(--bac-fh); font-size: 24px; font-weight: 700; color: #fff; text-decoration: none; display: block; margin-bottom: 8px; }
.bac-book-phone:hover { color: rgba(255,255,255,.85); }
.bac-book-hours { font-size: 13px; color: rgba(255,255,255,.55); margin: 0; }
.bac-book-form { background: rgba(255,255,255,.10); border-radius: var(--bac-r); padding: 32px; border: 1px solid rgba(255,255,255,.18); }
.bac-book-form h3 { font-family: var(--bac-fh); font-size: 19px; font-weight: 600; color: #fff; margin-bottom: 20px; }
.bac-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.bac-form-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.bac-form-field label { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.78); }
.bac-form-field input,
.bac-form-field select,
.bac-form-field textarea { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 6px; padding: 10px 13px; color: #fff; font-family: var(--bac-fb); font-size: 14px; outline: none; transition: border .2s; width: 100%; }
.bac-form-field input::placeholder,
.bac-form-field textarea::placeholder { color: rgba(255,255,255,.36); }
.bac-form-field input:focus,
.bac-form-field select:focus,
.bac-form-field textarea:focus { border-color: rgba(255,255,255,.55); }
.bac-form-field select { appearance: none; cursor: pointer; }
.bac-form-field select option { background: var(--bac-navy); color: #fff; }
.bac-form-message { border-radius: 6px; }
.bac-form-success { background: rgba(34,197,94,.22); color: #fff; padding: 10px 14px; font-size: 14px; }
.bac-form-error   { background: rgba(239,68,68,.22); color: #fff; padding: 10px 14px; font-size: 14px; }

.bac-footer { background: var(--bac-navy); padding: 64px var(--bac-px) 0; }
.bac-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.bac-footer-logo { height: 64px; width: auto; object-fit: contain; margin-bottom: 16px; filter: brightness(0) invert(1); }
.bac-footer-tagline { font-size: 13px; font-weight: 300; color: rgba(255,255,255,.58); line-height: 1.75; margin-bottom: 10px; max-width: 260px; }
.bac-footer-license { font-size: 12px; color: rgba(255,255,255,.36); margin-bottom: 12px; }
.bac-footer-phone { font-family: var(--bac-fh); font-size: 18px; font-weight: 700; color: var(--bac-red) !important; text-decoration: none; display: block; margin-bottom: 16px; }
.bac-footer-social { display: flex; gap: 10px; }
.bac-social-icon { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.75); display: flex; align-items: center; justify-content: center; text-decoration: none; transition: all .2s; }
.bac-social-icon:hover { background: var(--bac-blue); border-color: var(--bac-blue); color: #fff; }

.bac-footer-col-toggle { display: none; width: 100%; background: none; border: none; color: #fff; font-family: var(--bac-fs); font-size: 16px; font-weight: 600; text-align: left; padding: 0; margin-bottom: 18px; align-items: center; justify-content: space-between; gap: 8px; }
.bac-footer-col h4 { font-family: var(--bac-fs); font-size: 16px; font-weight: 600; color: #fff; margin-bottom: 18px; }
.bac-footer-chevron { opacity: .5; transition: transform .25s; flex-shrink: 0; }
.bac-footer-col-toggle[aria-expanded="true"] .bac-footer-chevron { transform: rotate(180deg); }
.bac-footer-menu { margin: 0; padding: 0; }
.bac-footer-menu li { margin-bottom: 8px; }
.bac-footer-menu a { font-size: 13px; color: rgba(255,255,255,.62); text-decoration: none; transition: color .2s; display: block; line-height: 1.5; }
.bac-footer-menu a:hover { color: #fff; }

.bac-footer-bottom { border-top: 1px solid rgba(255,255,255,.09); padding: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.bac-footer-bottom p { font-size: 12px; color: rgba(255,255,255,.36); margin: 0; }
.bac-footer-legal { display: flex; gap: 18px; }
.bac-footer-legal a { font-size: 12px; color: rgba(255,255,255,.36); text-decoration: none; transition: color .2s; }
.bac-footer-legal a:hover { color: #fff; }

.bac-breadcrumbs-wrap { background: var(--bac-bg); border-bottom: 1px solid var(--bac-border); }
.bac-breadcrumbs { padding: 11px var(--bac-px); }
.bac-breadcrumbs-list { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; }
.bac-breadcrumbs-item { color: var(--bac-muted); }
.bac-breadcrumbs-item + .bac-breadcrumbs-item::before { content: '/'; margin-right: 6px; color: var(--bac-border); }
.bac-breadcrumbs-item a { color: var(--bac-blue); text-decoration: none; }
.bac-breadcrumbs-item[aria-current="page"] { color: var(--bac-dark); font-weight: 500; }

.bac-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;    padding-top: 30px;
    margin-top: 20px; }
.post-type-archive-service_area h1.bac-page-title{display:none;}	
.bac-blog-card { background: #fff; border-radius: var(--bac-r); overflow: hidden; border: 1px solid var(--bac-border); transition: box-shadow .25s; }
.bac-blog-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.09); }
.bac-blog-card-img { display: block; height: 210px; overflow: hidden; }
.bac-blog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.bac-blog-card:hover .bac-blog-card-img img { transform: scale(1.04); }
.bac-blog-card-body { padding: 22px; }
.bac-blog-date { font-size: 11px; color: var(--bac-muted); font-weight: 500; text-transform: uppercase; letter-spacing: .8px; display: block; margin-bottom: 8px; }
.bac-blog-card-title { font-family: var(--bac-fh); font-size: 17px; font-weight: 600; color: var(--bac-dark); line-height: 1.3; margin-bottom: 8px; }
.bac-blog-card-title a { color: inherit; text-decoration: none; }
.bac-blog-card-title a:hover { color: var(--bac-blue); }
.bac-blog-excerpt { font-size: 14px; font-weight: 300; color: var(--bac-muted); line-height: 1.7; margin-bottom: 18px; }
.bac-pagination { margin-top: 44px; display: flex; justify-content: center; }
.bac-pagination .nav-links { display: flex; gap: 6px; align-items: center;padding-bottom: 20px;margin-bottom: 20px; }
.bac-pagination .page-numbers { padding: 7px 13px; border: 1px solid var(--bac-border); border-radius: 6px; font-size: 13px; color: var(--bac-dark); text-decoration: none; transition: all .2s; }
.bac-pagination .page-numbers.current,
.bac-pagination .page-numbers:hover { background: var(--bac-blue); border-color: var(--bac-blue); color: #fff; }

@media (min-width: 1441px) {
    .bac-nav,
    .bac-promo-bar,
    .bac-goal-section,
    .bac-trust-bar,
    .bac-cta-bar,
    .bac-services,
    .bac-why,
    .bac-seo-section,
    .bac-reviews,
    .bac-brands,
    .bac-areas,
    .bac-faq,
    .bac-story,
    .bac-social,
    .bac-book,
    .bac-footer {
        padding-left: calc((100vw - var(--bac-max)) / 2 + 60px);
        padding-right: calc((100vw - var(--bac-max)) / 2 + 60px);
    }
}

@media (max-width: 1200px) {
    .bac-nav-link { font-size: 13px; padding: 8px 10px; }
    .bac-nav-phone { display: none; }
    .bac-why-inner,
    .bac-story-inner,
    .bac-seo-grid,
    .bac-book-inner,
    .bac-areas-inner,
    .bac-faq-grid { grid-template-columns: 1fr; }
    .bac-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .bac-trust-grid { grid-template-columns: 1fr 1fr; }
    .bac-usp-grid { grid-template-columns: 1fr 1fr; }
    .bac-usp-item:nth-child(2) { border-right: none; }
    .bac-usp-item:last-child { border-bottom: none; border-right: none; grid-column: span 2; }
    .bac-usp-item { border-bottom: 1px solid rgba(255,255,255,.12); }
}

@media (max-width: 1024px) {
    .bac-nav-main { display: none; }
    .bac-hamburger { display: flex; }
    .bac-nav-phone { display: none; }
    .bac-services-grid { grid-template-columns: 1fr 1fr; }
    .bac-reviews-grid { grid-template-columns: 1fr 1fr; }
    .bac-social-grid { grid-template-columns: 1fr 1fr; }
    .bac-blog-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    :root { --bac-nav-h: 72px; }
    .bac-nav-logo img { height: 52px; }
    .bac-nav-cta { display: none; }

    .bac-services, .bac-why, .bac-seo-section, .bac-reviews,
    .bac-faq, .bac-story, .bac-social, .bac-book, .bac-usp-bar { padding-top: 56px; padding-bottom: 56px; }

    .bac-hero { min-height: clamp(380px, 55vh, 500px); }
    .bac-hero-content { padding-top: 48px; padding-bottom: 48px; max-width: 100%; }

    .bac-goal-section { margin-top: 20px; }
    .bac-goal-grid { grid-template-columns: 1fr; gap: 12px; }
    .bac-goal-card { height: 160px; }

    .bac-trust-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
    .bac-cta-bar { flex-direction: column; text-align: center; }

    .bac-services-grid { grid-template-columns: 1fr; }
    .bac-reviews-grid { grid-template-columns: 1fr; }
    .bac-social-grid { grid-template-columns: 1fr; }
    .bac-blog-grid { grid-template-columns: 1fr; }

    .bac-why-img-wrap img { height: 280px; }
    .bac-story-img { height: 260px; }
    .bac-story-img img { height: 260px; }

    .bac-usp-grid { grid-template-columns: 1fr; }
    .bac-usp-item { border-right: none; padding: 20px 20px; }
    .bac-usp-item:last-child { grid-column: auto; }

    .bac-seo-grid { gap: 28px; }
    .bac-why-inner,
    .bac-story-inner,
    .bac-book-inner,
    .bac-areas-inner,
    .bac-faq-grid { gap: 28px; }

    .bac-hero-btns { flex-direction: column; }
    .bac-hero-btns .bac-btn,
    .bac-hero-btns .bac-btn-white { width: 100%; justify-content: center; }
    .bac-hero-trust { gap: 14px; }

    .bac-reviews-header { flex-direction: column; align-items: flex-start; }
    .bac-form-row { grid-template-columns: 1fr; }

    .bac-footer-grid { grid-template-columns: 1fr; gap: 0; }
    .bac-footer-brand { padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.10); margin-bottom: 0; }
    .bac-footer-col { border-bottom: 1px solid rgba(255,255,255,.10); padding: 0; }
    .bac-footer-col h4 { display: none; }
    .bac-footer-col-toggle { display: flex; padding: 16px 0; margin-bottom: 0; }
    .bac-footer-col-body { overflow: hidden; max-height: 0; transition: max-height .3s ease; padding: 0; }
    .bac-footer-col-toggle[aria-expanded="true"] + .bac-footer-col-body { max-height: 400px; padding-bottom: 16px; }
    .bac-footer-bottom { flex-direction: column; text-align: center; gap: 10px; }
    .bac-footer-legal { flex-wrap: wrap; justify-content: center; }

    .bac-trust-badges { gap: 24px; }
    .bac-brands-logos { gap: 20px; }
}

@media (max-width: 480px) {
    .bac-trust-grid { grid-template-columns: 1fr; gap: 12px; }
    .bac-book-form { padding: 20px 16px; }
    .bac-goal-card { height: 140px; }
    .bac-hero-trust { display: none; }
    .bac-areas-pills .bac-area-pill { font-size: 12px; padding: 7px 13px; }
    .bac-trust-badges { gap: 20px; }
    .bac-trust-badges img[height="100"] { height: 70px; }
    .bac-trust-badges img[height="70"] { height: 50px; }
}

@media (orientation: landscape) and (max-height: 500px) {
    :root { --bac-nav-h: 60px; }
    .bac-nav-logo img { height: 44px; }
    .bac-hero { min-height: 100vh; }
    .bac-mobile-menu { width: min(480px, 95vw); }
}

.bac-sa-hero { background: linear-gradient(135deg, var(--bac-navy) 0%, var(--bac-navy2) 100%); padding: 80px var(--bac-px); position: relative; overflow: hidden; }
.bac-sa-hero::before { content: ''; position: absolute; top: -40%; right: -10%; width: 600px; height: 600px; border-radius: 50%; background: rgba(40,102,144,.18); pointer-events: none; }
.bac-sa-hero-content { position: relative; z-index: 1; max-width: 760px; }
.bac-sa-hero h1 { color: #fff; font-size: clamp(26px,4vw,48px); line-height: 1.15; margin-bottom: 18px; }
.bac-sa-hero p { color: rgba(255,255,255,.82); font-size: clamp(15px,1.8vw,18px); font-weight: 300; line-height: 1.75; margin-bottom: 32px; }
.bac-sa-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 28px; }
.bac-sa-trust { display: flex; flex-wrap: wrap; gap: 20px; }
.bac-sa-trust span { font-size: 13px; color: rgba(255,255,255,.75); font-weight: 500; }

.bac-sa-counties-bar { display: grid; grid-template-columns: repeat(4,1fr); background: var(--bac-blue); }
.bac-sa-county-item { padding: 22px 28px; border-right: 1px solid rgba(255,255,255,.15); text-align: center; }
.bac-sa-county-item:last-child { border-right: none; }
.bac-sa-county-item strong { display: block; font-family: var(--bac-fh); font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.bac-sa-county-item span { font-size: 12px; color: rgba(255,255,255,.72); }

.bac-sa-areas-section { padding: 88px var(--bac-px); background: var(--bac-bg); }
.bac-sa-inner { max-width: var(--bac-max); margin: 0 auto; }
.bac-sa-county-group { margin-bottom: 56px; }
.bac-sa-county-group:last-child { margin-bottom: 0; }
.bac-sa-county-title { font-family: var(--bac-fh); font-size: 18px; font-weight: 700; color: var(--bac-navy); margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--bac-blue); display: inline-block; }
.bac-sa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 14px; }

.bac-sa-card { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--bac-border); border-radius: var(--bac-r); padding: 16px 18px; text-decoration: none; color: var(--bac-dark); transition: all .2s; }
.bac-sa-card:hover { border-color: var(--bac-blue); box-shadow: 0 4px 20px rgba(40,102,144,.12); transform: translateY(-2px); color: var(--bac-dark); }
.bac-sa-card-icon { width: 40px; height: 40px; background: #eef5fa; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--bac-blue); }
.bac-sa-card-body { flex: 1; }
.bac-sa-card-body strong { display: block; font-family: var(--bac-fh); font-size: 14px; font-weight: 600; color: var(--bac-dark); margin-bottom: 2px; }
.bac-sa-card-body span { font-size: 12px; color: var(--bac-muted); display: block; line-height: 1.4; }
.bac-sa-zip { font-size: 11px !important; color: var(--bac-blue) !important; margin-top: 2px; }
.bac-sa-card-arrow { color: var(--bac-border); flex-shrink: 0; transition: color .2s, transform .2s; }
.bac-sa-card:hover .bac-sa-card-arrow { color: var(--bac-blue); transform: translateX(3px); }

.bac-sa-services-section { padding: 88px var(--bac-px); background: #fff; }
.bac-sa-svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 16px; }
.bac-sa-svc-item { display: flex; align-items: center; gap: 16px; background: var(--bac-bg); border-radius: var(--bac-r); padding: 18px 20px; }
.bac-sa-svc-num { font-family: var(--bac-fh); font-size: 22px; font-weight: 700; color: var(--bac-blue); opacity: .35; flex-shrink: 0; line-height: 1; min-width: 32px; }
.bac-sa-svc-item span { font-size: 14px; font-weight: 500; color: var(--bac-dark); line-height: 1.4; }

.bac-sa-why-section { padding: 88px var(--bac-px); background: var(--bac-bg); }
.bac-sa-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.bac-sa-why-text h2 { font-size: clamp(22px,3vw,36px); margin-bottom: 20px; }
.bac-sa-why-text p { font-size: 15px; line-height: 1.85; margin-bottom: 14px; }
.bac-sa-why-list { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 12px; }
.bac-sa-why-list li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--bac-dark); font-weight: 500; }
.bac-sa-why-list li svg { stroke: var(--bac-blue); flex-shrink: 0; }
.bac-sa-why-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bac-sa-stat { background: #fff; border: 1px solid var(--bac-border); border-radius: var(--bac-r); padding: 24px; text-align: center; }
.bac-sa-stat strong { display: block; font-family: var(--bac-fh); font-size: 32px; font-weight: 700; color: var(--bac-blue); line-height: 1; margin-bottom: 8px; }
.bac-sa-stat span { font-size: 13px; color: var(--bac-muted); font-weight: 300; }

.bac-sa-faq-section { padding: 88px var(--bac-px); background: #fff; }
.bac-sa-faq-grid { max-width: 860px; margin: 0 auto; }

.bac-city-hero { background: linear-gradient(135deg, var(--bac-navy) 0%, #1a3d55 60%, var(--bac-navy2) 100%); padding: 72px var(--bac-px); position: relative; overflow: hidden; }
.bac-city-hero::after { content: ''; position: absolute; bottom: -60px; right: -80px; width: 500px; height: 500px; border-radius: 50%; background: rgba(255,255,255,.03); pointer-events: none; }
.bac-city-breadcrumbs { margin-bottom: 20px; }
.bac-city-breadcrumbs .bac-breadcrumbs-item { color: rgba(255,255,255,.5); }
.bac-city-breadcrumbs .bac-breadcrumbs-item a { color: rgba(255,255,255,.75); }
.bac-city-breadcrumbs .bac-breadcrumbs-item + .bac-breadcrumbs-item::before { color: rgba(255,255,255,.3); }
.bac-city-hero-content { position: relative; z-index: 1; max-width: 760px; }
.bac-city-hero h1 { color: #fff; font-size: clamp(24px,4vw,46px); line-height: 1.15; margin-bottom: 18px; }
.bac-city-hero-lead { color: rgba(255,255,255,.82); font-size: clamp(15px,1.8vw,17px); font-weight: 300; line-height: 1.75; margin-bottom: 28px; }
.bac-city-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.bac-city-hero-zip { font-size: 12px; color: rgba(255,255,255,.5); margin: 0; }

.bac-city-trust-bar { background: var(--bac-blue); padding: 0 var(--bac-px); }
.bac-city-trust-inner { display: grid; grid-template-columns: repeat(4,1fr); }
.bac-city-trust-item { display: flex; align-items: center; gap: 12px; padding: 20px 0; border-right: 1px solid rgba(255,255,255,.15); padding-right: 20px; padding-left: 20px; }
.bac-city-trust-item:first-child { padding-left: 0; }
.bac-city-trust-item:last-child { border-right: none; }
.bac-city-trust-item svg { stroke: rgba(255,255,255,.8); flex-shrink: 0; }
.bac-city-trust-item div strong { display: block; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 2px; font-family: var(--bac-fh); }
.bac-city-trust-item div span { font-size: 11px; color: rgba(255,255,255,.65); }

.bac-city-about { padding: 88px var(--bac-px); background: #fff; }
.bac-city-inner { max-width: var(--bac-max); margin: 0 auto; }
.bac-city-about-grid { display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: start; }
.bac-city-about-text h2 { font-size: clamp(22px,3vw,36px); margin-bottom: 20px; }
.bac-city-about-text p { font-size: 15px; line-height: 1.85; margin-bottom: 14px; }
.bac-city-about-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.bac-city-body-content p { font-size: 15px; line-height: 1.85; margin-bottom: 14px; }

.bac-city-info-card { background: var(--bac-bg); border: 1px solid var(--bac-border); border-radius: var(--bac-r); padding: 28px; position: sticky; top: calc(var(--bac-nav-h) + 20px); }
.bac-city-info-card h3 { font-family: var(--bac-fh); font-size: 16px; font-weight: 700; color: var(--bac-dark); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 2px solid var(--bac-blue); }
.bac-city-info-card ul { list-style: none; padding: 0; margin: 0 0 24px; }
.bac-city-info-card li { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--bac-border); font-size: 13px; }
.bac-city-info-card li:last-child { border-bottom: none; }
.bac-city-info-card li span { color: var(--bac-muted); font-weight: 300; flex-shrink: 0; }
.bac-city-info-card li strong { color: var(--bac-dark); font-weight: 600; text-align: right; }
.bac-city-call-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px; background: var(--bac-red); color: #fff; text-decoration: none; border-radius: 8px; font-family: var(--bac-fh); font-size: 14px; font-weight: 700; transition: background .2s; }
.bac-city-call-btn:hover { background: var(--bac-red-dark); color: #fff; }

.bac-city-services { padding: 88px var(--bac-px); background: var(--bac-bg); }
.bac-city-svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.bac-city-svc-card { background: #fff; border: 1px solid var(--bac-border); border-radius: var(--bac-r); padding: 28px; transition: all .25s; }
.bac-city-svc-card:hover { border-color: var(--bac-blue); box-shadow: 0 6px 24px rgba(40,102,144,.10); transform: translateY(-3px); }
.bac-city-svc-icon { width: 52px; height: 52px; background: #eef5fa; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--bac-blue); margin-bottom: 16px; }
.bac-city-svc-card h3 { font-family: var(--bac-fh); font-size: 15px; font-weight: 600; color: var(--bac-dark); margin-bottom: 10px; line-height: 1.3; }
.bac-city-svc-card p { font-size: 14px; font-weight: 300; line-height: 1.7; margin-bottom: 16px; }
.bac-city-svc-link { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: var(--bac-blue); text-decoration: none; transition: gap .2s; }
.bac-city-svc-link:hover { gap: 8px; color: #1f5070; }

.bac-city-signs { padding: 88px var(--bac-px); background: var(--bac-navy); }
.bac-city-signs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.bac-city-signs h2 { color: #fff; font-size: clamp(22px,3vw,36px); margin-bottom: 16px; }
.bac-city-signs p { color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.8; }
.bac-city-signs-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.bac-city-signs-list li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.10); font-size: 14px; color: rgba(255,255,255,.88); line-height: 1.4; }
.bac-city-signs-list li:last-child { border-bottom: none; }
.bac-city-sign-num { font-family: var(--bac-fh); font-size: 18px; font-weight: 700; color: var(--bac-promo); opacity: .8; flex-shrink: 0; min-width: 28px; line-height: 1; }

.bac-city-brands { padding: 64px var(--bac-px); background: var(--bac-bg); }
.bac-city-brands-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.bac-city-brand-pill { background: #fff; border: 1px solid var(--bac-border); border-radius: 6px; padding: 10px 20px; font-size: 13px; font-weight: 700; color: #475569; letter-spacing: .4px; text-transform: uppercase; }

.bac-city-faq { padding: 88px var(--bac-px); background: #fff; }
.bac-city-faq-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: start; }
.bac-city-faq-intro h2 { font-size: clamp(22px,3vw,32px); margin-bottom: 14px; }
.bac-city-faq-intro p { font-size: 15px; line-height: 1.8; margin-bottom: 28px; }
.bac-city-faq-list { display: flex; flex-direction: column; }

.bac-city-nearby { padding: 64px var(--bac-px); background: var(--bac-bg); }
.bac-city-nearby-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 0; }
.bac-city-nearby-pill { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--bac-border); border-radius: 20px; padding: 10px 18px; font-size: 14px; font-weight: 500; color: var(--bac-dark); text-decoration: none; transition: all .2s; }
.bac-city-nearby-pill:hover { background: var(--bac-blue); border-color: var(--bac-blue); color: #fff; }
.bac-city-nearby-all { border-color: var(--bac-blue); color: var(--bac-blue); }
.bac-city-nearby-all:hover { background: var(--bac-blue); color: #fff; }

@media (max-width: 1024px) {
    .bac-sa-counties-bar { grid-template-columns: 1fr 1fr; }
    .bac-sa-county-item { border-bottom: 1px solid rgba(255,255,255,.15); }
    .bac-sa-why-grid { grid-template-columns: 1fr; }
    .bac-city-about-grid { grid-template-columns: 1fr; }
    .bac-city-trust-inner { grid-template-columns: 1fr 1fr; }
    .bac-city-svc-grid { grid-template-columns: 1fr 1fr; }
    .bac-city-signs-grid { grid-template-columns: 1fr; }
    .bac-city-faq-grid { grid-template-columns: 1fr; }
    .bac-city-info-card { position: static; }
}

@media (max-width: 768px) {
    .bac-sa-hero, .bac-city-hero { padding-top: 48px; padding-bottom: 48px; }
    .bac-sa-hero-btns, .bac-city-hero-btns { flex-direction: column; }
    .bac-sa-counties-bar { grid-template-columns: 1fr 1fr; }
    .bac-sa-grid { grid-template-columns: 1fr; }
    .bac-sa-svc-grid { grid-template-columns: 1fr; }
    .bac-city-trust-inner { grid-template-columns: 1fr 1fr; padding: 0; }
    .bac-city-trust-item { padding: 14px 12px; }
    .bac-city-svc-grid { grid-template-columns: 1fr; }
    .bac-sa-why-stats { grid-template-columns: 1fr 1fr; }
    .bac-city-about-cta { flex-direction: column; }
    .bac-sa-faq-section { padding: 56px var(--bac-px); }
    .bac-city-signs { padding: 56px var(--bac-px); }
}

@media (max-width: 480px) {
    .bac-sa-counties-bar { grid-template-columns: 1fr; }
    .bac-city-trust-inner { grid-template-columns: 1fr; }
    .bac-sa-why-stats { grid-template-columns: 1fr; }
    .bac-city-trust-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); }
    .bac-city-trust-item:last-child { border-bottom: none; }
}
section.bac-faq-section {
    padding: 5rem 0;
} 
section.bac-warning-signs.bac-bg-light {
    background: #fff;
    padding: 5rem 0;
}
section.bac-comfort-club-plans {
    padding: 5rem 0;
} 
/* ==========================================================================
   Heat Pump Section
   ========================================================================== */

.bac-heat-pump-section {
	padding: 80px 0;
	background: #f8f9fb;
}

.bac-heat-pump-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.bac-heat-pump-text .bac-section-label {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bac-orange, #e84118);
	margin-bottom: 12px;
}

.bac-heat-pump-text h2 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--bac-navy, #0d1b2a);
	margin: 0 0 20px;
}

.bac-heat-pump-text p {
	font-size: 1rem;
	line-height: 1.75;
	color: #4a5568;
	margin: 0 0 16px;
}

.bac-heat-pump-tip {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #fff;
	border-left: 4px solid var(--bac-orange, #e84118);
	border-radius: 0 8px 8px 0;
	padding: 16px 20px;
	margin: 24px 0;
}

.bac-heat-pump-tip svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--bac-orange, #e84118);
}

.bac-heat-pump-tip p {
	margin: 0;
	font-size: .925rem;
	color: #2d3748;
}

.bac-heat-pump-text .bac-check-list {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bac-heat-pump-text .bac-check-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .95rem;
	color: #2d3748;
}

.bac-heat-pump-text .bac-check-list svg {
	flex-shrink: 0;
	color: var(--bac-orange, #e84118);
}

/* Heat Pump Types panel */

.bac-heat-pump-types {
	background: var(--bac-navy, #0d1b2a);
	border-radius: 16px;
	padding: 40px 36px;
	position: sticky;
	top: 100px;
}

.bac-heat-pump-types h3 {
	font-size: 1.15rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.bac-pump-type-card {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.bac-pump-type-card:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.bac-pump-type-card svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--bac-orange, #e84118);
	width: 22px;
	height: 22px;
}

.bac-pump-type-card strong {
	display: block;
	font-size: .975rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 6px;
}

.bac-pump-type-card p {
	margin: 0;
	font-size: .875rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .65);
}

/* ==========================================================================
   Repair or Replace Section
   ========================================================================== */

.bac-repair-replace-section {
	padding: 80px 0;
	background: #fff;
}

.bac-repair-replace-section .bac-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.bac-repair-replace-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin-top: 8px;
}

.bac-rr-card {
	border-radius: 16px;
	padding: 40px 36px;
	position: relative;
	overflow: hidden;
}

.bac-rr-card h3 {
	font-size: 1.2rem;
	font-weight: 800;
	margin: 0 0 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid currentColor;
}

.bac-rr-card--repair {
	background: #f0faf4;
	border: 1px solid #c6e8d4;
}

.bac-rr-card--repair h3 {
	color: #1a7f4b;
	border-color: #c6e8d4;
}

.bac-rr-card--replace {
	background: #fff8f5;
	border: 1px solid #fcd3be;
}

.bac-rr-card--replace h3 {
	color: var(--bac-orange, #e84118);
	border-color: #fcd3be;
}

.bac-rr-card .bac-check-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bac-rr-card .bac-check-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .95rem;
	color: #2d3748;
	line-height: 1.5;
}

.bac-rr-card--repair .bac-check-list svg {
	flex-shrink: 0;
	color: #1a7f4b;
}

.bac-rr-card--replace .bac-check-list svg {
	flex-shrink: 0;
	color: var(--bac-orange, #e84118);
}

.bac-rr-card--replace .bac-btn-outline {
	margin-top: 28px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .9rem;
	font-weight: 600;
	color: var(--bac-orange, #e84118);
	border: 2px solid var(--bac-orange, #e84118);
	border-radius: 8px;
	padding: 10px 20px;
	text-decoration: none;
	transition: background .2s, color .2s;
}

.bac-rr-card--replace .bac-btn-outline:hover {
	background: var(--bac-orange, #e84118);
	color: #fff;
}

/* Decision rule callout */

.bac-repair-replace-rule {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--bac-navy, #0d1b2a);
	border-radius: 12px;
	padding: 24px 32px;
	margin: 0 0 40px;
}

.bac-repair-replace-rule svg {
	flex-shrink: 0;
	color: var(--bac-orange, #e84118);
	width: 32px;
	height: 32px;
}

.bac-repair-replace-rule p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .85);
}

.bac-repair-replace-rule strong {
	color: #fff;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
	.bac-heat-pump-grid {
		gap: 40px;
	}

	.bac-heat-pump-types {
		position: static;
	}
}

@media (max-width: 768px) {
	.bac-heat-pump-section,
	.bac-repair-replace-section {
		padding: 56px 0;
	}

	.bac-heat-pump-grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 0 20px;
	}

	.bac-heat-pump-types {
		padding: 32px 24px;
	}

	.bac-repair-replace-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.bac-rr-card {
		padding: 28px 24px;
	}

	.bac-repair-replace-rule {
		flex-direction: column;
		text-align: center;
		padding: 24px;
	}

	.bac-repair-replace-section .bac-container {
		padding: 0 20px;
	}
}

@media (max-width: 480px) {
	.bac-heat-pump-text h2 {
		font-size: 1.5rem;
	}

	.bac-heat-pump-types {
		padding: 24px 20px;
	}

	.bac-pump-type-card {
		gap: 12px;
	}

	.bac-rr-card {
		padding: 24px 20px;
	}

	.bac-rr-card h3 {
		font-size: 1.05rem;
	}
}
/* ==========================================================================
   Heating Warning Signs Section
   ========================================================================== */

.bac-heating-warning {
	padding: 80px 0;
	background: #fff;
}

.bac-warning-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.bac-warning-card {
	background: #f8f9fb;
	border: 1px solid #e8eaed;
	border-radius: 12px;
	padding: 28px 24px;
	transition: border-color .2s, box-shadow .2s;
}

.bac-warning-card:hover {
	border-color: var(--bac-orange, #e84118);
	box-shadow: 0 4px 20px rgba(232, 65, 24, .08);
}

.bac-warning-icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: rgba(232, 65, 24, .08);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	color: var(--bac-orange, #e84118);
}

.bac-warning-card h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--bac-navy, #0d1b2a);
	margin: 0 0 10px;
}

.bac-warning-card p {
	font-size: .9rem;
	line-height: 1.7;
	color: #4a5568;
	margin: 0;
}

/* ==========================================================================
   Florida Heating Facts Section
   ========================================================================== */

.bac-heating-florida {
	padding: 80px 0;
	background: #f8f9fb;
}

.bac-fl-heat-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.bac-fl-heat-text .bac-section-label {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bac-orange, #e84118);
	margin-bottom: 12px;
}

.bac-fl-heat-text h2 {
	font-size: clamp(1.5rem, 2.8vw, 2.1rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--bac-navy, #0d1b2a);
	margin: 0 0 20px;
}

.bac-fl-heat-text p {
	font-size: 1rem;
	line-height: 1.75;
	color: #4a5568;
	margin: 0 0 16px;
}

.bac-fl-heat-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 32px;
}

.bac-fl-stat {
	background: var(--bac-navy, #0d1b2a);
	border-radius: 12px;
	padding: 20px 16px;
	text-align: center;
}

.bac-fl-stat strong {
	display: block;
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--bac-orange, #e84118);
	line-height: 1;
	margin-bottom: 8px;
}

.bac-fl-stat span {
	font-size: .8rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, .7);
}

/* Troubleshooting aside panel */

.bac-fl-heat-aside {
	background: var(--bac-navy, #0d1b2a);
	border-radius: 16px;
	padding: 40px 36px;
	position: sticky;
	top: 100px;
}

.bac-fl-heat-aside h3 {
	font-size: 1.15rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 8px;
}

.bac-fl-heat-aside > p {
	font-size: .875rem;
	color: rgba(255, 255, 255, .65);
	margin: 0 0 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.bac-troubleshoot-item {
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.bac-troubleshoot-item:last-of-type {
	border-bottom: none;
}

.bac-troubleshoot-item strong {
	display: block;
	font-size: .925rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 6px;
}

.bac-troubleshoot-item p {
	margin: 0;
	font-size: .85rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .65);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
	.bac-warning-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.bac-fl-heat-grid {
		gap: 40px;
	}

	.bac-fl-heat-aside {
		position: static;
	}
}

@media (max-width: 768px) {
	.bac-heating-warning,
	.bac-heating-florida {
		padding: 56px 0;
	}

	.bac-warning-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.bac-fl-heat-grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 0 20px;
	}

	.bac-fl-heat-stats {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
	}

	.bac-fl-stat strong {
		font-size: 1.4rem;
	}

	.bac-fl-heat-aside {
		padding: 28px 24px;
	}
}

@media (max-width: 480px) {
	.bac-warning-card {
		padding: 20px 18px;
	}

	.bac-fl-heat-stats {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.bac-fl-stat {
		display: flex;
		align-items: center;
		gap: 16px;
		text-align: left;
		padding: 16px;
	}

	.bac-fl-stat strong {
		font-size: 1.6rem;
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.bac-fl-heat-aside {
		padding: 24px 20px;
	}
}
section.bac-sub-services-nav {
    padding: 5rem 0;
    border-top: 1px solid #ededed;
} 
section.bac-nikro-section.bac-bg-light,section.bac-duct-components.bac-bg-light ,section.bac-contaminants-section.bac-bg-light ,section.bac-why-bayside.bac-section-alt
{
    padding: 5rem 0;
	border-top: 1px solid #ededed;
} 
.page-template-page-templatespage-air-ducts-php section.bac-warning-signs
{
 padding: 5rem 0;	
 border-bottom: 1px solid #ededed;
 background: #fff;
}
.page-template-page-templatespage-air-ducts-php section.bac-service-areas-strip {
    display: none;
}
section.bac-warning-signs {
    padding: 5rem 0;
    border-bottom: 1px solid #ededed;
}
.bac-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.bac-why-card {
    background: #fff;
    border: 1px solid var(--bac-border);
    border-radius: var(--bac-r);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s, transform .25s;
}

.bac-why-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--bac-blue);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s;
}

.bac-why-card:hover {
    border-color: #b8cdd8;
    box-shadow: 0 8px 32px rgba(40, 102, 144, .10);
    transform: translateY(-3px);
}

.bac-why-card:hover::before {
    transform: scaleX(1);
}

.bac-why-card-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 16px;
}

.bac-why-card-header .bac-problem-icon {
    min-width: 52px;
    border-radius: 12px;
}

@media (max-width: 768px) {
    .bac-why-grid {
        grid-template-columns: 1fr;
    }
}
/* ==========================================================================
   Blog — Archive (listing) page
   ========================================================================== */

.bac-blog-hero {
    background: var(--bac-navy);
    padding: 64px var(--bac-px) 56px;
    position: relative;
    overflow: hidden;
}

.bac-blog-hero::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: rgba(40, 102, 144, .15);
    pointer-events: none;
}

.bac-blog-hero .bac-section-label {
    color: #7fb8d4;
}

.bac-blog-hero h1 {
    color: #fff;
    font-size: clamp(26px, 4vw, 44px);
    margin-bottom: 14px;
}

.bac-blog-hero p {
    color: rgba(255, 255, 255, .75);
    font-size: clamp(15px, 1.8vw, 17px);
    font-weight: 300;
    max-width: 640px;
    margin: 0;
}

/* Layout */

.bac-blog-main {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: start;
    padding-top: 56px;
    padding-bottom: 88px;
}

.bac-blog-grid--archive {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

/* Sidebar */

.bac-blog-sidebar {
    position: sticky;
    top: calc(var(--bac-nav-h) + 20px);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.bac-sidebar-widget {
    background: var(--bac-bg);
    border: 1px solid var(--bac-border);
    border-radius: var(--bac-r);
    padding: 24px;
}

.bac-sidebar-heading {
    font-family: var(--bac-fh);
    font-size: 14px;
    font-weight: 700;
    color: var(--bac-dark);
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--bac-blue);
    display: inline-block;
}

.bac-cat-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bac-cat-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--bac-dark);
    text-decoration: none;
    transition: background .15s, color .15s;
}

.bac-cat-link:hover {
    background: #e4eff6;
    color: var(--bac-blue);
}

.bac-cat-link--active {
    background: var(--bac-blue);
    color: #fff;
}

.bac-cat-link--active:hover {
    background: #1f5070;
    color: #fff;
}

.bac-cat-count {
    font-size: 11px;
    font-weight: 700;
    background: rgba(0, 0, 0, .08);
    border-radius: 20px;
    padding: 2px 7px;
    flex-shrink: 0;
}

.bac-cat-link--active .bac-cat-count {
    background: rgba(255, 255, 255, .25);
}

/* Sidebar CTA */

.bac-sidebar-cta {
    background: var(--bac-navy);
    border-color: transparent;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.bac-sidebar-cta-icon {
    width: 56px;
    height: 56px;
    background: rgba(40, 102, 144, .35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7fb8d4;
    margin-bottom: 4px;
}

.bac-sidebar-cta h3 {
    font-family: var(--bac-fh);
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 4px;
}

.bac-sidebar-cta p {
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.bac-sidebar-cta .bac-btn {
    width: 100%;
    justify-content: center;
}

.bac-sidebar-cta .bac-btn-outline {
    width: 100%;
    justify-content: center;
    border-color: rgba(255, 255, 255, .35);
    color: rgba(255, 255, 255, .85);
}

.bac-sidebar-cta .bac-btn-outline:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

/* Recent Posts */

.bac-recent-post {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--bac-border);
    text-decoration: none;
    transition: opacity .2s;
}

.bac-recent-post:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.bac-recent-post:hover {
    opacity: .75;
}

.bac-recent-thumb {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
}

.bac-recent-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bac-recent-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.bac-recent-date {
    font-size: 11px;
    color: var(--bac-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.bac-recent-title {
    font-size: 13px;
    font-family: var(--bac-fh);
    font-weight: 600;
    color: var(--bac-dark);
    line-height: 1.35;
}

/* Blog card tweaks for archive */

.bac-blog-grid--archive .bac-blog-card {
    display: flex;
    flex-direction: column;
}

.bac-blog-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.bac-blog-cat-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bac-blue);
    background: #e4eff6;
    border-radius: 4px;
    padding: 3px 8px;
    text-decoration: none;
    transition: background .15s, color .15s;
}

.bac-blog-cat-badge:hover {
    background: var(--bac-blue);
    color: #fff;
}

.bac-blog-card-img--placeholder {
    background: var(--bac-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bac-border);
}

.bac-blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bac-blue);
    text-decoration: none;
    margin-top: auto;
    padding-top: 14px;
    transition: gap .2s, color .2s;
}

.bac-blog-read-more:hover {
    gap: 10px;
    color: #1f5070;
}

/* Filter bar */

.bac-blog-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #e4eff6;
    border: 1px solid #c8dce8;
    border-radius: 8px;
    font-size: 14px;
    color: var(--bac-dark);
    margin-bottom: 24px;
}

.bac-filter-clear {
    color: var(--bac-blue);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.bac-filter-clear:hover {
    color: #1f5070;
}

/* Empty state */

.bac-blog-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.bac-blog-empty svg {
    color: var(--bac-border);
}

.bac-blog-empty h2 {
    font-size: 22px;
    color: var(--bac-dark);
}

.bac-blog-empty p {
    max-width: 360px;
}

/* ==========================================================================
   Blog — Single post page
   ========================================================================== */

.bac-single-wrap {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 56px;
    align-items: start;
    padding-top: 48px;
    padding-bottom: 88px;
}

.bac-single-sidebar {
    position: sticky;
    top: calc(var(--bac-nav-h) + 20px);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.bac-single-header {
    margin-bottom: 28px;
}

.bac-single-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.bac-single-title {
    font-size: clamp(22px, 3.5vw, 40px);
    font-weight: 700;
    line-height: 1.15;
    color: var(--bac-dark);
    margin-bottom: 18px;
}

.bac-single-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--bac-border);
}

.bac-single-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--bac-muted);
    font-weight: 400;
}

.bac-single-meta-item svg {
    stroke: var(--bac-muted);
    flex-shrink: 0;
}

.bac-single-featured-img {
    border-radius: var(--bac-r);
    overflow: hidden;
    margin-bottom: 32px;
    max-height: 480px;
}

.bac-single-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Entry content typography */

.bac-entry-content {
    font-size: 16px;
    line-height: 1.85;
    color: #3a3a38;
}

.bac-entry-content h2 {
    font-size: clamp(19px, 2.5vw, 26px);
    font-weight: 700;
    color: var(--bac-dark);
    margin: 36px 0 14px;
    line-height: 1.2;
}

.bac-entry-content h3 {
    font-size: clamp(17px, 2vw, 21px);
    font-weight: 600;
    color: var(--bac-dark);
    margin: 28px 0 12px;
}

.bac-entry-content h4 {
    font-family: var(--bac-fh);
    font-size: 16px;
    font-weight: 600;
    color: var(--bac-dark);
    margin: 22px 0 10px;
}

.bac-entry-content p {
    color: #3a3a38;
    margin-bottom: 1.2rem;
    font-weight: 300;
}

.bac-entry-content a {
    color: var(--bac-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bac-entry-content a:hover {
    color: #1f5070;
}

.bac-entry-content ul,
.bac-entry-content ol {
    list-style: revert;
    padding-left: 24px;
    margin-bottom: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bac-entry-content li {
    color: #3a3a38;
    font-weight: 300;
    line-height: 1.7;
}

.bac-entry-content blockquote {
    border-left: 4px solid var(--bac-blue);
    margin: 28px 0;
    padding: 16px 20px;
    background: #eef5fa;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: var(--bac-navy);
    font-size: 17px;
    line-height: 1.7;
}

.bac-entry-content img {
    border-radius: 8px;
    margin: 20px 0;
}

.bac-entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 14px;
}

.bac-entry-content th {
    background: var(--bac-navy);
    color: #fff;
    padding: 12px 16px;
    text-align: left;
    font-family: var(--bac-fh);
    font-size: 13px;
    font-weight: 600;
}

.bac-entry-content td {
    padding: 11px 16px;
    border-bottom: 1px solid var(--bac-border);
    color: #3a3a38;
}

.bac-entry-content tr:nth-child(even) td {
    background: var(--bac-bg);
}

.bac-entry-content strong {
    font-weight: 600;
    color: var(--bac-dark);
}

/* Tags */

.bac-single-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--bac-border);
}

.bac-tags-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--bac-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.bac-tag-pill {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    color: var(--bac-dark);
    background: var(--bac-bg);
    border: 1px solid var(--bac-border);
    border-radius: 20px;
    padding: 4px 12px;
    text-decoration: none;
    transition: all .15s;
}

.bac-tag-pill:hover {
    background: var(--bac-blue);
    border-color: var(--bac-blue);
    color: #fff;
}

/* Share */

.bac-single-share {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.bac-share-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--bac-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.bac-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 6px;
    text-decoration: none;
    transition: opacity .2s;
}

.bac-share-btn:hover {
    opacity: .85;
}

.bac-share-btn--fb    { background: #1877f2; color: #fff; }
.bac-share-btn--tw    { background: #000; color: #fff; }
.bac-share-btn--email { background: var(--bac-bg); color: var(--bac-dark); border: 1px solid var(--bac-border); }

/* Post navigation */

.bac-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--bac-border);
}

.bac-post-nav-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 20px;
    background: var(--bac-bg);
    border: 1px solid var(--bac-border);
    border-radius: var(--bac-r);
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s;
}

.bac-post-nav-item:hover {
    border-color: var(--bac-blue);
    box-shadow: 0 4px 16px rgba(40, 102, 144, .10);
}

.bac-post-nav-item--next {
    text-align: right;
    align-items: flex-end;
}

.bac-post-nav-dir {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bac-blue);
}

.bac-post-nav-item--next .bac-post-nav-dir {
    flex-direction: row-reverse;
}

.bac-post-nav-title {
    font-family: var(--bac-fh);
    font-size: 14px;
    font-weight: 600;
    color: var(--bac-dark);
    line-height: 1.35;
}

/* Related posts */

.bac-related-posts {
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid var(--bac-border);
}

.bac-related-heading {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 700;
    color: var(--bac-dark);
    margin-bottom: 28px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1100px) {
    .bac-blog-main {
        grid-template-columns: 240px 1fr;
        gap: 32px;
    }

    .bac-single-wrap {
        grid-template-columns: 1fr 260px;
        gap: 36px;
    }
}

@media (max-width: 900px) {
    .bac-blog-main {
        grid-template-columns: 1fr;
    }

    .bac-blog-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .bac-blog-grid--archive {
        grid-template-columns: 1fr 1fr;
    }

    .bac-single-wrap {
        grid-template-columns: 1fr;
    }

    .bac-single-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        order: -1;
    }
}

@media (max-width: 640px) {
    .bac-blog-grid--archive {
        grid-template-columns: 1fr;
    }

    .bac-blog-sidebar {
        grid-template-columns: 1fr;
    }

    .bac-single-sidebar {
        grid-template-columns: 1fr;
    }

    .bac-post-nav {
        grid-template-columns: 1fr;
    }

    .bac-post-nav-item--next {
        text-align: left;
        align-items: flex-start;
    }

    .bac-post-nav-item--next .bac-post-nav-dir {
        flex-direction: row;
    }

    .bac-blog-hero {
        padding-top: 44px;
        padding-bottom: 40px;
    }
}
/* ==========================================================================
   Brand Grid Section
   ========================================================================== */

.bac-brands-section {
    padding: 80px var(--bac-px);
    background: #fff;
    border-top: 1px solid var(--bac-border);
}

.bac-brand-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px;
}

.bac-brand-cell {
    background: #fff;
    border: 1px solid var(--bac-border);
    border-radius: var(--bac-r);
    padding: 20px 12px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 88px;
    transition: border-color .2s, box-shadow .2s;
}

.bac-brand-cell:hover {
    border-color: #b8cdd8;
    box-shadow: 0 4px 16px rgba(40, 102, 144, .08);
}

.bac-brand-logo {
    width: 100%;
    max-width: 110px;
    height: 40px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .6;
    transition: filter .25s, opacity .25s;
    display: block;
}

.bac-brand-cell:hover .bac-brand-logo {
    filter: grayscale(0%);
    opacity: 1;
}

.bac-brand-text-fallback {
    font-family: var(--bac-fh);
    font-size: 13px;
    font-weight: 700;
    color: var(--bac-muted);
    text-align: center;
    line-height: 1.2;
    letter-spacing: .3px;
}

.bac-brand-name {
    font-size: 11px;
    font-weight: 500;
    color: var(--bac-muted);
    text-align: center;
    line-height: 1.2;
    letter-spacing: .3px;
    opacity: .7;
}

.bac-brands-footer {
    text-align: center;
    font-size: 13px;
    color: var(--bac-muted);
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--bac-border);
    font-weight: 300;
}

/* Responsive */

@media (max-width: 1024px) {
    .bac-brand-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 768px) {
    .bac-brand-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
    }

    .bac-brand-cell {
        min-height: 76px;
        padding: 16px 10px 12px;
    }

    .bac-brand-logo {
        max-width: 80px;
        height: 32px;
    }
}

@media (max-width: 480px) {
    .bac-brand-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
section.bac-installation-types, section.bac-tune-up-checklist {
    padding: 5rem 0;
}