/* Generated by ops/build-public-css.py. Edit the source stylesheets. */

/* fonts.css */
/* Manrope, SIL OFL 1.1; local Latin variable subset (weights 400–800). */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin-v1.woff2) format("woff2")}


/* icons.css */
/* Font Awesome Free 6.4.0; only icons used by this site. License: /fonts/LICENSE-Font-Awesome.txt */
@font-face{font-family:"BG Icons Solid";font-style:normal;font-weight:900;font-display:block;src:url(/fonts/bg-icons-solid-v1.woff2) format("woff2")}
@font-face{font-family:"BG Icons Brands";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/bg-icons-brands-v1.woff2) format("woff2")}
.fa,.fas,.fa-solid,.fab,.fa-brands{display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa,.fas,.fa-solid{font-family:"BG Icons Solid";font-weight:900}.fab,.fa-brands{font-family:"BG Icons Brands";font-weight:400}
.fa-angle-down:before{content:"\f107"}
.fa-arrow-up:before{content:"\f062"}
.fa-bars:before{content:"\f0c9"}
.fa-bolt:before{content:"\f0e7"}
.fa-briefcase:before{content:"\f0b1"}
.fa-car:before{content:"\f1b9"}
.fa-car-battery:before{content:"\f5df"}
.fa-chevron-left:before{content:"\f053"}
.fa-chevron-right:before{content:"\f054"}
.fa-clipboard-list:before{content:"\f46d"}
.fa-credit-card:before{content:"\f09d"}
.fa-dollar-sign:before{content:"\24"}
.fa-envelope:before{content:"\f0e0"}
.fa-facebook-f:before{content:"\f39e"}
.fa-headset:before{content:"\f590"}
.fa-instagram:before{content:"\f16d"}
.fa-laptop:before{content:"\f109"}
.fa-linkedin-in:before{content:"\f0e1"}
.fa-map-marker-alt:before{content:"\f3c5"}
.fa-pause:before{content:"\f04c"}
.fa-phone:before{content:"\f095"}
.fa-plug:before{content:"\f1e6"}
.fa-recycle:before{content:"\f1b8"}
.fa-screwdriver-wrench:before{content:"\f7d9"}
.fa-search:before{content:"\f002"}
.fa-solar-panel:before{content:"\f5ba"}
.fa-tools:before{content:"\f7d9"}
.fa-truck:before{content:"\f0d1"}
.fa-twitter:before{content:"\f099"}


/* style.css */
/* ===================================
   Battery Giant Rochester Hills
   Main Stylesheet
   =================================== */

/* CSS Variables */
:root {
    --primary-green: #8bc540;
    --dark-green: #6ba832;
    --dark-gray: #333333;
    --light-gray: #f5f5f5;
    --medium-gray: #666666;
    --white: #ffffff;
    --black: #000000;
    --font-primary: 'Open Sans', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
}

/* Reset & Base */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.6;
    color: var(--dark-gray);
    background-color: var(--white);
}

a {
    color: var(--primary-green);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--dark-green);
}

img {
    max-width: 100%;
    height: auto;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1rem;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }

p {
    margin-bottom: 1rem;
}

ul {
    list-style: none;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 30px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--primary-green);
    color: var(--white);
}

.btn-primary:hover {
    background-color: var(--dark-green);
    color: var(--white);
}

.btn-secondary {
    background-color: transparent;
    color: var(--primary-green);
    border: 2px solid var(--primary-green);
}

.btn-secondary:hover {
    background-color: var(--primary-green);
    color: var(--white);
}

/* ===================================
   Top Bar
   =================================== */
.top-bar {
    background-color: var(--dark-gray);
    color: var(--white);
    padding: 10px 0;
    font-size: 14px;
}

.top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar .tagline {
    font-weight: 600;
    color: var(--primary-green);
}

.top-bar .top-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.top-bar .phone-link {
    color: var(--white);
}

.top-bar .phone-link:hover {
    color: var(--primary-green);
}

.top-bar .social-icons {
    display: flex;
    gap: 10px;
}

.top-bar .social-icons a {
    color: var(--white);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-green);
    border-radius: 50%;
    font-size: 12px;
}

.top-bar .social-icons a:hover {
    background-color: var(--dark-green);
}

/* Sub-page header variations */
.top-bar .phone-number {
    color: var(--white);
    text-decoration: none;
}

.top-bar .phone-number:hover {
    color: var(--primary-green);
}

.top-bar .social-links {
    display: flex;
    gap: 10px;
}

.top-bar .social-links a {
    color: var(--white);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-green);
    border-radius: 50%;
    font-size: 12px;
    text-decoration: none;
}

.top-bar .social-links a:hover {
    background-color: var(--dark-green);
}

/* Sub-page header wrapper */
.header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header .main-nav {
    background-color: var(--white);
    padding: 15px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.header .main-nav .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header .main-nav .logo img {
    max-height: 60px;
}

.header .main-nav .nav-menu {
    display: flex;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header .main-nav .nav-menu > li {
    position: relative;
}

.header .main-nav .nav-menu li a {
    display: block;
    padding: 10px 15px;
    color: var(--dark-gray);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.header .main-nav .nav-menu li a:hover,
.header .main-nav .nav-menu li a.active {
    color: var(--primary-green);
}

/* Sub-page dropdown styles */
.header .main-nav .nav-menu li .dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    background: var(--white);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    border-radius: 0 0 8px 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header .main-nav .nav-menu li:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header .main-nav .nav-menu li .dropdown li {
    border-bottom: 1px solid var(--light-gray);
}

.header .main-nav .nav-menu li .dropdown li:last-child {
    border-bottom: none;
}

.header .main-nav .nav-menu li .dropdown li a {
    padding: 12px 20px;
    font-size: 13px;
    text-transform: none;
    font-weight: 500;
    color: var(--dark-gray);
    display: flex;
    align-items: center;
    gap: 10px;
}

.header .main-nav .nav-menu li .dropdown li a:hover {
    background: var(--light-gray);
    color: var(--primary-green);
}

.header .main-nav .nav-menu li .dropdown li a i {
    color: var(--primary-green);
    width: 20px;
    text-align: center;
}

/* Sub-page dropdown arrow indicator */
.header .main-nav .nav-menu > li.has-dropdown > a::after {
    content: '\f107';
    font-family: 'BG Icons Solid';
    font-weight: 900;
    margin-left: 5px;
    font-size: 10px;
    transition: transform 0.3s ease;
}

.header .main-nav .nav-menu > li.has-dropdown:hover > a::after {
    transform: rotate(180deg);
}

/* Sub-page mobile menu toggle */
.header .mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    width: 30px;
    height: 25px;
    position: relative;
    cursor: pointer;
}

.header .mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--dark-gray);
    margin-bottom: 5px;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.header .mobile-menu-toggle span:last-child {
    margin-bottom: 0;
}

/* ===================================
   Header
   =================================== */
.main-header {
    background-color: var(--white);
    padding: 15px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.main-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo img {
    max-height: 60px;
}

.main-nav .nav-menu {
    display: flex;
    gap: 5px;
}

.main-nav .nav-menu > li {
    position: relative;
}

.main-nav .nav-menu li a {
    display: block;
    padding: 10px 15px;
    color: var(--dark-gray);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    transition: all 0.3s ease;
}

.main-nav .nav-menu li a:hover,
.main-nav .nav-menu li a.active {
    color: var(--primary-green);
}

/* Dropdown Menu Styles */
.main-nav .nav-menu li .dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    background: var(--white);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    border-radius: 0 0 8px 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.main-nav .nav-menu li:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.main-nav .nav-menu li .dropdown li {
    border-bottom: 1px solid var(--light-gray);
}

.main-nav .nav-menu li .dropdown li:last-child {
    border-bottom: none;
}

.main-nav .nav-menu li .dropdown li a {
    padding: 12px 20px;
    font-size: 13px;
    text-transform: none;
    font-weight: 500;
    color: var(--dark-gray);
    display: flex;
    align-items: center;
    gap: 10px;
}

.main-nav .nav-menu li .dropdown li a:hover {
    background: var(--light-gray);
    color: var(--primary-green);
}

.main-nav .nav-menu li .dropdown li a i {
    color: var(--primary-green);
    width: 20px;
    text-align: center;
}

/* Dropdown arrow indicator */
.main-nav .nav-menu > li.has-dropdown > a::after {
    content: '\f107';
    font-family: 'BG Icons Solid';
    font-weight: 900;
    margin-left: 5px;
    font-size: 10px;
    transition: transform 0.3s ease;
}

.main-nav .nav-menu > li.has-dropdown:hover > a::after {
    transform: rotate(180deg);
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--dark-gray);
}

/* ===================================
   Hero Slider
   =================================== */
.hero-slider {
    position: relative;
    height: 500px;
    overflow: hidden;
}

.slider-container {
    height: 100%;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.slide.active {
    opacity: 1;
}

.slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.slide-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var(--white);
    z-index: 1;
}

.slide-content h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.slide-content p {
    font-size: 1.25rem;
    margin-bottom: 2rem;
}

.slider-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    transform: translateY(-50%);
    z-index: 10;
}

.slider-nav button {
    background: rgba(255, 255, 255, 0.3);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    color: var(--white);
    font-size: 20px;
    transition: background 0.3s ease;
}

.slider-nav button:hover {
    background: var(--primary-green);
}

.slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.slider-dots .dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: background 0.3s ease;
}

.slider-dots .dot.active {
    background: var(--primary-green);
}

/* ===================================
   Services Overview
   =================================== */
.services-overview {
    padding: 60px 0;
    text-align: center;
    background-color: var(--light-gray);
}

.services-overview h2 {
    color: var(--primary-green);
    margin-bottom: 0.5rem;
}

.services-overview h3 {
    color: var(--medium-gray);
    font-weight: 400;
    margin-bottom: 3rem;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.service-card {
    background: var(--white);
    padding: 30px 20px;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
}

.service-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
}

.service-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.service-card h4 {
    margin-bottom: 1rem;
}

.service-card h4 a {
    color: var(--dark-gray);
}

.service-card h4 a:hover {
    color: var(--primary-green);
}

.service-card p {
    color: var(--medium-gray);
    font-size: 14px;
}

.learn-more {
    font-weight: 600;
    font-size: 14px;
}

/* ===================================
   About Section
   =================================== */
.about-section {
    padding: 60px 0;
    background-color: var(--white);
}

.about-content {
    display: flex;
    align-items: center;
    gap: 40px;
}

.about-image {
    flex: 0 0 300px;
}

.about-text {
    flex: 1;
}

.about-text p {
    color: var(--medium-gray);
}

/* ===================================
   Promotions Section
   =================================== */
.promotions-section {
    padding: 40px 0;
    background-color: var(--light-gray);
}

.promo-slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 10px 0;
    scroll-snap-type: x mandatory;
}

.promo-item {
    flex: 0 0 280px;
    scroll-snap-align: start;
}

.promo-item img {
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

/* ===================================
   Blog Section
   =================================== */
.blog-section {
    padding: 60px 0;
    background-color: var(--white);
}

.blog-section h2 {
    text-align: center;
    margin-bottom: 3rem;
    color: var(--primary-green);
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.blog-card {
    background: var(--white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.blog-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.blog-content {
    padding: 20px;
}

.blog-content h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.blog-content h3 a {
    color: var(--dark-gray);
}

.blog-content h3 a:hover {
    color: var(--primary-green);
}

.blog-meta {
    font-size: 12px;
    color: var(--medium-gray);
    margin-bottom: 1rem;
}

.blog-content p {
    font-size: 14px;
    color: var(--medium-gray);
}

.read-more {
    display: inline-block;
    margin-top: 10px;
    font-weight: 600;
    font-size: 14px;
}

/* ===================================
   Footer
   =================================== */
.main-footer {
    background-color: var(--dark-gray);
    color: var(--white);
    padding: 60px 0 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.footer-col h4 {
    color: var(--primary-green);
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

.footer-col address {
    font-style: normal;
    color: #ccc;
    font-size: 14px;
}

.footer-col address a {
    color: var(--primary-green);
}

.footer-col ul li {
    margin-bottom: 8px;
}

.footer-col ul li a {
    color: #ccc;
    font-size: 14px;
}

.footer-col ul li a:hover {
    color: var(--primary-green);
}

.footer-social {
    display: flex;
    gap: 10px;
}

.footer-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-green);
    border-radius: 50%;
    color: var(--white);
}

.footer-social a:hover {
    background-color: var(--dark-green);
    color: var(--white);
}

.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.newsletter-form input {
    padding: 12px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
}

.newsletter-form .btn {
    width: 100%;
}

.footer-bottom {
    margin-top: 40px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    font-size: 14px;
    color: #999;
}

.footer-bottom a {
    color: var(--primary-green);
}

/* ===================================
   Page Header
   =================================== */
.page-header {
    background: linear-gradient(135deg, var(--dark-gray) 0%, var(--primary-green) 100%);
    padding: 60px 0;
    text-align: center;
    color: var(--white);
    background-size: cover;
    background-position: center;
    position: relative;
}

.page-header[style*="background-image"] {
    padding: 100px 0;
}

.page-header[style*="background-image"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}

.page-header .container {
    position: relative;
    z-index: 1;
}

.page-header h1 {
    margin-bottom: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* Hero Banner for sub-pages (full-width image, no text) */
.hero-banner {
    width: 100%;
    line-height: 0;
}

.hero-banner img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===================================
   Page Content
   =================================== */
.page-content {
    padding: 60px 0;
}

.page-content h2 {
    color: var(--primary-green);
    margin-bottom: 1.5rem;
}

.page-content p {
    color: var(--medium-gray);
    margin-bottom: 1.5rem;
}

/* ===================================
   Services Page
   =================================== */
.services-intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem;
}

.services-icons {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    margin-bottom: 3rem;
}

.service-icon-item {
    text-align: center;
    padding: 20px;
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.service-icon-item:hover {
    transform: translateY(-3px);
}

.service-icon-item img {
    width: 60px;
    height: 60px;
    margin-bottom: 10px;
}

.service-icon-item span {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--dark-gray);
}

/* ===================================
   Contact Page
   =================================== */
.contact-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.contact-form {
    background: var(--light-gray);
    padding: 30px;
    border-radius: 8px;
}

.contact-form h2 {
    margin-bottom: 1.5rem;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: var(--font-primary);
    font-size: 14px;
}

.form-group textarea {
    height: 150px;
    resize: vertical;
}

.captcha {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.5rem;
}

.captcha input {
    width: 80px;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.contact-info {
    padding: 30px;
}

.contact-info h3 {
    color: var(--primary-green);
    margin-bottom: 1rem;
}

.contact-info address {
    font-style: normal;
    margin-bottom: 1.5rem;
}

.contact-hours {
    margin-top: 2rem;
}

.contact-hours h4 {
    color: var(--primary-green);
    margin-bottom: 1rem;
}

.contact-hours p {
    margin-bottom: 0.5rem;
}

.review-links {
    display: flex;
    gap: 20px;
    margin-top: 2rem;
}

.review-links a img {
    height: 40px;
}

/* Google Map */
.map-container {
    margin-top: 40px;
}

.map-container iframe {
    width: 100%;
    height: 400px;
    border: none;
    border-radius: 8px;
}

/* ===================================
   About Page
   =================================== */
.about-page-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.about-page-text h3 {
    color: var(--primary-green);
}

.about-page-image img {
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

/* ===================================
   Business Accounts Page
   =================================== */
.business-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 3rem;
}

.benefit-card {
    background: var(--white);
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.benefit-card i {
    font-size: 3rem;
    color: var(--primary-green);
    margin-bottom: 1rem;
}

.benefit-card h4 {
    margin-bottom: 1rem;
}

/* ===================================
   Responsive Design
   =================================== */
@media (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .services-icons {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .top-bar .container {
        flex-direction: column;
        gap: 10px;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    .main-nav .nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        flex-direction: column;
        padding: 20px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    }
    
    .main-nav .nav-menu.active {
        display: flex;
    }
    
    /* Mobile dropdown styles */
    .main-nav .nav-menu li .dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        min-width: 100%;
        display: none;
        background: var(--light-gray);
        border-radius: 8px;
        margin-top: 5px;
    }
    
    .main-nav .nav-menu li.has-dropdown.open .dropdown {
        display: block;
    }
    
    .main-nav .nav-menu > li.has-dropdown > a::after {
        float: right;
    }
    
    .hero-slider {
        height: 400px;
    }
    
    .slide-content h1 {
        font-size: 2rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    .about-content {
        flex-direction: column;
        text-align: center;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .product-category img {
        height: 180px;
    }
    
    .blog-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-social {
        justify-content: center;
    }
    
    .contact-wrapper {
        grid-template-columns: 1fr;
    }
    
    .about-page-content {
        grid-template-columns: 1fr;
    }
    
    .business-benefits {
        grid-template-columns: 1fr;
    }
    
    .services-icons {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Sub-page header responsive */
    .header .mobile-menu-toggle {
        display: block;
    }
    
    .header .main-nav .nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        flex-direction: column;
        padding: 20px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    }
    
    .header .main-nav .nav-menu.active {
        display: flex;
    }
    
    .header .main-nav .nav-menu li .dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        min-width: 100%;
        display: none;
        background: var(--light-gray);
        border-radius: 8px;
        margin-top: 5px;
    }
    
    .header .main-nav .nav-menu li.has-dropdown.open .dropdown {
        display: block;
    }
    
    .header .main-nav .nav-menu > li.has-dropdown > a::after {
        float: right;
    }
}

@media (max-width: 480px) {
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    
    .hero-slider {
        height: 350px;
    }
    
    .slide-content h1 {
        font-size: 1.5rem;
    }
    
    .slide-content p {
        font-size: 1rem;
    }
    
    .products-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .product-category img {
        height: 200px;
    }
    
    .services-icons {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===================================
   Service Detail Pages
   =================================== */
.service-detail {
    padding: 40px 0;
    background: #fff;
}

.service-detail .container {
    max-width: 1080px;
}

.service-content {
    max-width: 100%;
}

.service-content > h2 {
    color: #1a1a6e;
    font-size: 1.5rem;
    margin-bottom: 20px;
    font-weight: 700;
}

/* Centered hero banner */
.hero-banner {
    padding: 20px 0;
    background: #fff;
    text-align: center;
}

.hero-banner .container {
    max-width: 1080px;
}

.hero-banner img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    border-radius: 0;
}

/* Products page hero - matches live site exactly */
.products-hero {
    padding: 4% 0 2%;
    background: #fff;
}

.products-hero .container {
    max-width: 1080px;
    width: 80%;
    margin: 0 auto;
    padding: 0;
}

.products-hero-img {
    width: 100%;
    max-width: 980px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.products-title {
    color: #333;
    font-size: 22px;
    font-weight: 500;
    padding-bottom: 10px;
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 0;
}

.products-intro {
    margin-bottom: 30px;
    margin-top: 0;
}

.products-intro p {
    font-size: 12pt;
    line-height: 1.7em;
    color: #666;
    text-align: justify;
    padding-bottom: 1em;
    margin-bottom: 0;
}

.products-intro p:last-child {
    padding-bottom: 0;
}

/* Products 3-column grid - matches live site */
.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 30px;
}

.product-category {
    text-align: left;
    margin-bottom: 0;
}

.product-category img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.product-category img:hover {
    opacity: 0.7;
}

.product-category h4 {
    font-size: 14px;
    font-weight: 700;
    color: #81bd41;
    margin-top: 0;
    margin-bottom: 8px;
    padding-bottom: 0;
    text-align: left;
}

/* Two-column layout: text left (2/3), images right (1/3) */
.service-two-col {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 30px;
}

.service-text-col h3 {
    color: #1a1a6e;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 15px;
    margin-top: 20px;
}

.service-text-col h3:first-child {
    margin-top: 0;
}

.service-text-col p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--dark-gray);
    text-align: justify;
    margin-bottom: 15px;
}

.service-text-col ul {
    margin: 10px 0 15px 0;
    padding-left: 0;
    list-style: none;
}

.service-text-col ul li {
    font-size: 0.9rem;
    margin-bottom: 5px;
    color: var(--dark-gray);
}

.service-images-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-images-col img {
    width: 100%;
    max-width: 300px;
    height: auto;
    border-radius: 0;
}

/* Service Tabs */
.service-tabs {
    margin-top: 30px;
    border: 1px solid #d9d9d9;
}

.tab-buttons {
    display: flex;
    background-color: #f4f4f4;
    border-bottom: 1px solid #d9d9d9;
}

.tab-btn {
    padding: 12px 30px;
    background: #f4f4f4;
    border: none;
    border-right: 1px solid #d9d9d9;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    color: #666;
    transition: all 0.3s ease;
}

.tab-btn:last-child {
    border-right: none;
}

.tab-btn:hover {
    color: #333;
}

.tab-btn.active {
    background: #fff;
    color: #333;
    border-top: 3px solid #2ea3f2;
    margin-top: -1px;
}

.tab-content {
    display: none;
    padding: 24px 30px;
    background: #fff;
}

.tab-content.active {
    display: block;
}

.tab-content p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--dark-gray);
    text-align: justify;
    margin-bottom: 15px;
}

.tab-content ul {
    margin: 15px 0;
    padding-left: 20px;
    list-style: disc;
}

.tab-content ul li {
    font-size: 0.95rem;
    margin-bottom: 8px;
    color: var(--dark-gray);
}

.tab-content h4 {
    color: #1a1a6e;
    font-size: 1rem;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 10px;
}

.tab-content .service-two-col {
    margin-top: 0;
}

@media (max-width: 768px) {
    .tab-buttons {
        flex-direction: column;
    }
    
    .tab-btn {
        border-right: none;
        border-bottom: 1px solid #d9d9d9;
    }
    
    .tab-btn:last-child {
        border-bottom: none;
    }
}

/* Legacy two-column layout */
.content-two-col {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
    align-items: start;
}

.content-main h2 {
    color: #1a1a6e;
    font-size: 1.75rem;
    margin-bottom: 20px;
}

.content-main h3 {
    color: #1a1a6e;
    font-size: 1.25rem;
    margin-top: 30px;
    margin-bottom: 15px;
}

.content-main p {
    text-align: justify;
    line-height: 1.7;
    margin-bottom: 15px;
}

.content-main ul {
    margin: 15px 0;
    padding-left: 20px;
}

.content-main ul li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 5px;
}

.content-main ul li::marker {
    color: var(--primary-green);
}

.content-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.content-sidebar img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.brand-logos {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

.brand-logos img {
    max-width: 180px;
    height: auto;
}

/* Service Intro - centered title only */
.service-intro {
    text-align: left;
    margin-bottom: 30px;
}

.service-intro h2 {
    color: #1a1a6e;
    margin-bottom: 20px;
    text-align: left;
}

/* Two-column sections */
.service-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 50px;
}

.service-section.reverse {
    direction: rtl;
}

.service-section.reverse > * {
    direction: ltr;
}

.service-text h3 {
    color: var(--dark-gray);
    margin-bottom: 15px;
}

.service-list {
    margin: 20px 0;
}

.service-list li {
    padding: 8px 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.service-list li i {
    color: var(--primary-green);
    margin-top: 4px;
}

.service-image img {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.call2recycle-section {
    background: var(--light-gray);
    padding: 40px;
    border-radius: 8px;
    margin: 50px 0;
}

.call2recycle-content {
    display: flex;
    align-items: center;
    gap: 40px;
}

.call2recycle-logo {
    max-width: 200px;
    flex-shrink: 0;
}

.call2recycle-text h3 {
    color: var(--primary-green);
    margin-bottom: 15px;
}

.cta-box {
    background: var(--primary-green);
    color: var(--white);
    padding: 40px;
    border-radius: 8px;
    text-align: center;
    margin-top: 50px;
}

.cta-box h3 {
    color: var(--white);
    margin-bottom: 10px;
}

.cta-box p {
    margin-bottom: 20px;
}

.cta-box .btn-primary {
    background: var(--white);
    color: var(--primary-green);
}

.cta-box .btn-primary:hover {
    background: var(--dark-gray);
    color: var(--white);
}

/* ===================================
   Info Boxes Section (4 icons)
   =================================== */
.info-boxes {
    padding: 60px 0;
    background: var(--white);
}

.info-boxes .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.info-box {
    text-align: center;
    padding: 20px;
}

.info-box a {
    text-decoration: none;
    color: inherit;
    display: block;
}

.info-box img {
    width: 50px;
    height: 50px;
    margin-bottom: 15px;
}

.info-box h4 {
    color: #1a1a6e;
    font-size: 1rem;
    margin-bottom: 10px;
}

.info-box p {
    font-size: 0.9rem;
    color: var(--medium-gray);
    line-height: 1.6;
}

.info-box p a {
    color: var(--primary-green);
    display: inline;
}

.info-box .learn-more {
    color: var(--primary-green);
}

/* ===================================
   Powered Banner Section
   =================================== */
.powered-banner {
    background: #e8e8e8;
    background-image: radial-gradient(circle, #ccc 1px, transparent 1px);
    background-size: 15px 15px;
    padding: 60px 0;
    text-align: center;
}

.powered-banner img {
    max-width: 500px;
    height: auto;
}

.powered-banner .btn {
    margin-top: 30px;
}

/* ===================================
   Sub-page Footer
   =================================== */
.footer {
    background: #1a1a6e;
    color: var(--white);
    padding-top: 50px;
}

.footer .container {
    max-width: 1100px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
    gap: 40px;
}

.footer-col h4 {
    color: var(--white);
    font-size: 1rem;
    margin-bottom: 20px;
}

.footer-col p {
    color: rgba(255,255,255,0.8);
    line-height: 1.6;
    margin-bottom: 10px;
}

.footer-col a {
    color: var(--primary-green);
}

.footer-col ul {
    list-style: none;
    padding: 0;
}

.footer-col ul li {
    margin-bottom: 8px;
}

.footer-col ul li a {
    color: var(--primary-green);
    text-decoration: none;
}

.footer-col ul li a:hover {
    text-decoration: underline;
}

.footer .social-links {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.footer .social-links a {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--primary-green);
    border-radius: 50%;
    color: var(--primary-green);
    text-decoration: none;
}

.footer .social-links a:hover {
    background: var(--primary-green);
    color: var(--white);
}

.footer .newsletter-form input {
    width: 100%;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    margin-bottom: 10px;
}

.footer .newsletter-form button {
    width: 100%;
}

.footer-bottom {
    margin-top: 40px;
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    text-align: center;
}

.footer-bottom p {
    color: rgba(255,255,255,0.6);
    font-size: 0.85rem;
}

.footer-logo {
    max-width: 200px;
    margin-bottom: 20px;
}

.pricing-highlight {
    text-align: center;
    margin: 40px 0;
}

.price-box {
    display: inline-block;
    background: var(--primary-green);
    color: var(--white);
    padding: 30px 50px;
    border-radius: 8px;
}

.price-box h3 {
    font-size: 3rem;
    color: var(--white);
    margin-bottom: 5px;
}

.price-box p {
    font-size: 1.25rem;
    margin-bottom: 5px;
}

.price-box span {
    font-size: 0.9rem;
    opacity: 0.9;
}

.device-grid, .brand-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.device-item, .brand-item {
    text-align: center;
    padding: 20px;
    background: var(--light-gray);
    border-radius: 8px;
}

.device-item i, .brand-item i {
    font-size: 2rem;
    color: var(--primary-green);
    margin-bottom: 10px;
}

.brands-section {
    text-align: center;
    margin: 40px 0;
}

.brands-section h3 {
    margin-bottom: 20px;
}

.brands-image {
    max-width: 600px;
    margin: 0 auto;
}

.warranty-box {
    background: #f0f9e8;
    border-left: 4px solid var(--primary-green);
    padding: 25px 30px;
    margin: 40px 0;
}

.warranty-box h3 {
    color: var(--primary-green);
    margin-bottom: 10px;
}

.warranty-box h3 i {
    margin-right: 10px;
}

/* Tech Center Styles */
.tech-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 40px 0;
}

.tech-service-card {
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    overflow: hidden;
}

.tech-service-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.tech-service-card h3 {
    padding: 20px 20px 10px;
    color: var(--primary-green);
}

.tech-service-card p {
    padding: 0 20px;
}

.tech-service-card ul {
    padding: 10px 20px 20px;
}

.tech-service-card ul li {
    padding: 5px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tech-service-card ul li i {
    color: var(--primary-green);
}

.brand-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.brand-list span {
    background: var(--light-gray);
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 0.9rem;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.benefit-item {
    text-align: center;
    padding: 25px;
    background: var(--light-gray);
    border-radius: 8px;
}

.benefit-item i {
    font-size: 2.5rem;
    color: var(--primary-green);
    margin-bottom: 15px;
}

.benefit-item h4 {
    color: var(--dark-gray);
    margin-bottom: 10px;
}

.benefit-item p {
    font-size: 0.9rem;
    margin-bottom: 0;
}

/* ===================================
   Product Detail Pages
   =================================== */
.product-detail {
    padding: 60px 0;
}

.product-intro {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 50px;
}

.product-intro h2 {
    color: var(--primary-green);
    margin-bottom: 20px;
}

/* Product detail page category section */
.product-detail .product-category {
    margin-bottom: 60px;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}

.product-detail .product-category:hover {
    transform: none;
}

.product-detail .product-category h3 {
    color: var(--dark-gray);
    border-bottom: 3px solid var(--primary-green);
    padding-bottom: 10px;
    margin-bottom: 30px;
    height: auto;
}

/* Products grid for detail pages */
.product-detail .products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.product-card {
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
}

.product-card img {
    width: 100%;
    height: 200px;
    object-fit: contain;
    background: var(--light-gray);
    padding: 20px;
}

.product-card h4 {
    padding: 20px 20px 10px;
    color: var(--dark-gray);
}

.product-card .price {
    padding: 0 20px;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-green);
    margin-bottom: 10px;
}

.product-card .stock {
    padding: 0 20px;
    color: var(--dark-green);
    font-weight: 600;
}

.product-card p:not(.price):not(.stock):not(.subtitle):not(.models) {
    padding: 0 20px 20px;
    font-size: 0.9rem;
    color: var(--medium-gray);
}

.product-card .subtitle {
    padding: 0 20px;
    font-style: italic;
    color: var(--medium-gray);
    margin-bottom: 10px;
}

.product-card .models {
    padding: 10px 20px 20px;
    font-size: 0.85rem;
    color: var(--medium-gray);
}

.product-card.featured {
    grid-column: span 2;
}

.product-card.wide {
    grid-column: span 3;
}

.product-card .product-images {
    display: flex;
    gap: 10px;
    padding: 20px;
    background: var(--light-gray);
}

.product-card .product-images img {
    flex: 1;
    height: 150px;
    padding: 10px;
}

.product-features {
    padding: 0 20px 20px;
}

.product-features li {
    padding: 5px 0;
    font-size: 0.9rem;
    position: relative;
    padding-left: 20px;
}

.product-features li::before {
    content: "•";
    color: var(--primary-green);
    font-weight: bold;
    position: absolute;
    left: 0;
}

.product-banner {
    margin: 40px 0;
    text-align: center;
}

.product-banner img {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.product-banners {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 40px;
}

.product-banners img {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.victron-intro {
    background: linear-gradient(135deg, #f0f9e8 0%, #e8f5dc 100%);
    padding: 40px;
    border-radius: 8px;
}

/* Sub-page responsive styles */
@media (max-width: 768px) {
    .service-section {
        grid-template-columns: 1fr;
    }
    
    .service-section.reverse {
        direction: ltr;
    }
    
    .call2recycle-content {
        flex-direction: column;
        text-align: center;
    }
    
    .device-grid, .brand-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .tech-services-grid {
        grid-template-columns: 1fr;
    }
    
    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Info boxes responsive */
    .info-boxes .container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    /* Footer responsive */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    
    .footer-col:first-child {
        grid-column: span 2;
        text-align: center;
    }
    
    .footer-col:first-child .btn {
        margin: 0 auto;
    }
    
    .product-card.featured,
    .product-card.wide {
        grid-column: span 1;
    }
    
    .product-detail .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .price-box h3 {
        font-size: 2rem;
    }
    
    .device-grid, .brand-grid {
        grid-template-columns: 1fr;
    }
    
    .benefits-grid {
        grid-template-columns: 1fr;
    }
    
    .product-detail .products-grid {
        grid-template-columns: 1fr;
    }
    
    /* Info boxes mobile */
    .info-boxes .container {
        grid-template-columns: 1fr;
    }
    
    /* Footer mobile */
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-col:first-child {
        grid-column: span 1;
    }
    
    .footer .social-links {
        justify-content: center;
    }
    
    /* Powered banner mobile */
    .powered-banner img {
        max-width: 100%;
        padding: 0 20px;
    }
}

/* ===================================
   Coupons Page Styles
   =================================== */
.coupons-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.coupon-card {
    background: var(--white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.coupon-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.coupon-card img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .coupons-grid {
        grid-template-columns: 1fr;
    }
}

/* Rochester Hills reference refresh */
:root {
    --primary-green: #82ba41;
    --dark-green: #679e32;
    --dark-gray: #24204f;
    --medium-gray: #666;
    --light-gray: #e9e9eb;
    --font-heading: 'Open Sans', sans-serif;
}
body { color: #595959; }
:focus-visible { outline: 3px solid #19347a; outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.container { max-width: 1240px; }
.top-bar { background: var(--primary-green); padding: 5px 0; font-size: 12px; }
.top-bar .container { max-width: 980px; }
.top-bar .tagline, .top-bar .phone-link, .top-bar .phone-number { color: #fff; }
.top-bar .social-icons a, .top-bar .social-links a { width: auto; height: auto; background: none; font-size: 15px; }
.top-bar .social-icons a:hover, .top-bar .social-links a:hover { background: none; color: var(--dark-gray); }
.main-header, .header { position: relative; box-shadow: 0 2px 5px rgba(0,0,0,.12); }
.main-header { padding: 12px 0; }
.header .main-nav { padding: 12px 0; box-shadow: none; }
.logo img, .header .main-nav .logo img { width: min(350px, 100%); max-height: 84px; }
.main-nav .nav-menu, .header .main-nav .nav-menu { gap: 0; align-items: center; }
.main-nav .nav-menu li a, .header .main-nav .nav-menu li a { padding: 10px 11px; text-transform: none; font-size: 15px; font-weight: 600; color: #515151; white-space: nowrap; }
.main-nav .nav-menu li a.active, .header .main-nav .nav-menu li a.active { color: #515151; }
.main-nav .nav-menu li a:hover, .header .main-nav .nav-menu li a:hover { color: var(--primary-green); }
.main-nav .nav-menu li .dropdown, .header .main-nav .nav-menu li .dropdown { border-radius: 0; }
.main-nav .nav-menu li .dropdown li a, .header .main-nav .nav-menu li .dropdown li a { white-space: normal; }
.submenu-toggle { display: none; }
.hero-slider { height: auto; aspect-ratio: 1920 / 625; min-height: 270px; max-height: 720px; background: var(--primary-green); }
.slide { background-position: center; }
.slide::before { display: none; }
.slider-nav button { width: 40px; height: 50px; border-radius: 0; background: rgba(30, 26, 64, .36); opacity: 0; }
.hero-slider:hover .slider-nav button, .slider-nav button:focus-visible { opacity: 1; }
.slider-dots { bottom: 15px; }
.slider-dots .dot { appearance: none; padding: 0; border: 0; width: 8px; height: 8px; background: rgba(255,255,255,.75); }
.slider-dots .dot.active { background: #fff; transform: scale(1.3); }
.home-intro { padding: 56px 0 20px; text-align: center; }
.home-intro .container { max-width: 1020px; }
.home-intro h1 { font-size: 26px; color: #0c1766; margin-bottom: 8px; }
.home-intro p { margin-bottom: 27px; }
.btn { border-radius: 2px; }
.btn-secondary { color: var(--primary-green); border: 2px solid var(--primary-green); background: transparent; }
.home-services { background: #fff; padding: 45px 0 65px; }
.home-services h2 { font-size: 23px; color: #111563; margin-bottom: 55px; }
.home-services .services-grid { gap: 35px; }
.home-services .service-card { box-shadow: none; border-radius: 0; padding: 0 10px; }
.home-services .service-card:hover { transform: none; }
.home-services .service-icon { display: block; width: 84px; height: 84px; margin: 0 auto 20px; }
.home-services .service-card h3 { font-size: 17px; margin: 0 0 10px; }
.home-services .service-card h3 a { color: var(--dark-gray); }
.home-services .service-card p { font-size: 15px; line-height: 1.7; }
.powered-banner { height: 190px; display: flex; justify-content: center; align-items: center; background: #eee url('../images/Grey-background.jpg') center/cover; }
.powered-banner img { max-width: min(530px, 80%); }
.home-about { padding: 60px 0; text-align: center; }
.home-about .container { max-width: 1100px; }
.home-about p { max-width: 990px; margin: 0 auto 18px; }
.promo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin: 34px auto 30px; max-width: 1000px; }
.promo-grid a { display: block; }
.promo-grid img { width: 100%; display: block; box-shadow: 0 6px 20px rgba(0,0,0,.12); }
.emergency-feature { text-align: center; padding: 20px 0 65px; }
.emergency-feature .container { max-width: 1000px; }
.emergency-feature img { display: block; width: 100%; max-height: 550px; object-fit: cover; margin-bottom: 25px; }
.photo-divider { height: 190px; background: url('../images/Photo-Divider.jpg') center/cover; }
.blog-section { background: #e9e9eb; padding: 55px 0 65px; }
.blog-section h2 { color: #555; text-align: left; font-size: 19px; font-weight: 400; margin-bottom: 26px; }
.blog-grid { align-items: start; gap: 45px; }
.blog-card { border-radius: 0; box-shadow: 0 2px 6px rgba(0,0,0,.1); }
.blog-image { display: block; }
.blog-image img { display: block; height: 185px; }
.blog-content h3 { font-size: 18px; line-height: 1.2; }
.blog-content h3 a { color: var(--dark-gray); }
.blog-content { padding: 18px; }
.blog-content p { line-height: 1.7; }
.older-posts { display: inline-block; margin-top: 30px; }
.main-footer, .footer { background: #211d4f; color: #f5f5f5; padding: 42px 0 0; }
.main-footer .footer-grid, .footer .footer-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 55px; }
.main-footer .footer-col h2, .footer .footer-col h2 { color: #fff; font-size: 18px; font-weight: 400; margin: 0 0 12px; }
.footer-logo { display: block; width: min(290px, 100%); margin-bottom: 20px; }
.footer-address address { color: #f5f5f5; font-style: normal; font-size: 14px; line-height: 1.7; }
.footer-address p, .footer-newsletter p { color: #f5f5f5; font-size: 14px; line-height: 1.7; }
.main-footer a, .footer a { color: var(--primary-green); }
.footer-navigation ul li { margin-bottom: 2px; }
.footer-navigation ul li a { font-size: 14px; }
.social-heading { margin-top: 17px !important; }
.footer-social a { background: transparent; color: #fff; width: 30px; height: 30px; font-size: 19px; }
.footer-social a:hover { background: transparent; color: var(--primary-green); }
.newsletter-form input { width: 100%; padding: 13px; border-radius: 2px; }
.newsletter-form .btn { color: #fff; border-color: #fff; padding: 8px 12px; text-transform: none; font-size: 15px; font-weight: 400; }
.newsletter-form .btn:hover { background: #fff; color: var(--dark-gray); }
.form-note { font-size: 12px !important; opacity: .8; margin-top: 4px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: 40px; color: #fff; }
.footer-bottom p { margin: 0; }
.page-header h1 { color: #fff; }
@media (max-width: 1150px) {
    .main-header .container, .header .main-nav .container { flex-wrap: wrap; }
    .logo img, .header .main-nav .logo img { width: 290px; }
    .main-nav .nav-menu li a, .header .main-nav .nav-menu li a { padding: 9px 7px; font-size: 13px; }
}
@media (max-width: 768px) {
    .top-bar .container { flex-direction: row; }
    .top-bar .social-icons, .top-bar .social-links { display: none; }
    .main-header .container, .header .main-nav .container { flex-wrap: nowrap; }
    .main-nav .nav-menu, .header .main-nav .nav-menu { align-items: stretch; max-height: calc(100vh - 110px); overflow-y: auto; }
    .main-nav .nav-menu li a, .header .main-nav .nav-menu li a { font-size: 15px; padding: 11px 10px; }
    .main-nav .nav-menu > li.has-dropdown > a::after, .header .main-nav .nav-menu > li.has-dropdown > a::after { display: none; }
    .nav-menu > li.has-dropdown { display: grid; grid-template-columns: 1fr 40px; }
    .nav-menu > li.has-dropdown > a { grid-column: 1; }
    .submenu-toggle { display: block; grid-column: 2; border: none; background: transparent; color: var(--dark-gray); font-size: 20px; cursor: pointer; }
    .nav-menu > li.has-dropdown > .dropdown { grid-column: 1 / -1; }
    .hero-slider { min-height: 230px; aspect-ratio: 1.75; }
    .slide { background-position: center; }
    .slider-nav button { opacity: 1; width: 30px; height: 38px; }
    .home-intro { padding: 40px 0 10px; }
    .home-intro h1 { font-size: 22px; }
    .home-services { padding: 30px 0 45px; }
    .home-services h2 { margin-bottom: 30px; }
    .home-services .services-grid { grid-template-columns: repeat(2,1fr); gap: 22px; }
    .promo-grid { gap: 14px; }
    .main-footer .footer-grid, .footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; text-align: left; }
    .footer-col:first-child { grid-column: auto; text-align: left; }
}
@media (max-width: 540px) {
    .top-bar .tagline { display: none; }
    .top-bar .container { justify-content: center; }
    .logo img, .header .main-nav .logo img { width: 245px; }
    .hero-slider { min-height: 205px; }
    .home-services .services-grid, .promo-grid, .main-footer .footer-grid, .footer .footer-grid { grid-template-columns: 1fr; }
    .home-services .service-card { padding: 0 15px; }
    .powered-banner { height: 135px; }
    .photo-divider { height: 110px; }
    .blog-grid { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
@media (min-width: 769px) { .hero-slider { height: clamp(400px, 48vw, 650px); aspect-ratio: auto; } }
.blog-list { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 768px) { .blog-list { grid-template-columns: 1fr; } }
.footer-social span[aria-hidden="true"] { font-family: Arial, sans-serif; font-size: 22px; }
.print-coupon { display: block; margin: 14px auto 18px; }
@media print {
    body:has(.print-selected) > *:not(.page-content) { display: none !important; }
    body:has(.print-selected) .page-content > .container > *:not(.content-section) { display: none !important; }
    body:has(.print-selected) .content-section > *:not(.coupons-grid) { display: none !important; }
    body:has(.print-selected) .coupons-grid { display: block !important; margin: 0 !important; }
    body:has(.print-selected) .coupon-card:not(.print-selected) { display: none !important; }
    body:has(.print-selected) .coupon-card.print-selected { width: 100%; max-width: 7.5in; box-shadow: none; }
    body:has(.print-selected) .print-coupon { display: none !important; }
}

/* Static, immediate interactions */
[hidden] { display: none !important; }
.quick-finder {
    background: #211d4f;
    color: #fff;
    padding: 46px 0;
}
.quick-finder-inner {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(0, 1.4fr);
    gap: clamp(24px, 5vw, 70px);
    align-items: start;
}
.quick-finder .eyebrow {
    color: #a8d36e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.quick-finder h2 { color: #fff; font-size: clamp(23px, 2.5vw, 32px); margin-bottom: 12px; }
.quick-finder p { color: #e2e0ee; }
.finder-input-wrap { position: relative; }
.finder-input-wrap i { position: absolute; top: 50%; left: 16px; transform: translateY(-50%); color: #607140; }
.finder-input-wrap input {
    width: 100%;
    border: 2px solid transparent;
    border-radius: 3px;
    padding: 14px 16px 14px 45px;
    background: #fff;
    color: #24204f;
    font: inherit;
    font-size: 16px;
}
.finder-input-wrap input:focus { outline: none; border-color: #9ed15d; box-shadow: 0 0 0 3px rgba(158,209,93,.3); }
.finder-status { font-size: 13px; margin: 12px 0 9px; }
.finder-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.finder-result {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 3px;
    color: #fff;
    padding: 9px 12px;
    font-size: 14px;
    line-height: 1.35;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.finder-result small { color: #bddd94; white-space: nowrap; }
.finder-result:hover, .finder-result:focus-visible { background: rgba(130,186,65,.18); border-color: #a8d36e; color: #fff; transform: translateY(-2px); }
.product-filter {
    background: #f3f5f0;
    border-left: 4px solid var(--primary-green);
    padding: 20px;
    margin: 28px 0 22px;
}
.product-filter label { display: block; color: var(--dark-gray); font-weight: 700; font-size: 17px; margin-bottom: 10px; }
.product-filter-input { display: flex; gap: 9px; }
.product-filter-input input { flex: 1; min-width: 0; padding: 11px 13px; border: 1px solid #b9c6b1; border-radius: 3px; font: inherit; font-size: 16px; }
.product-filter-input input:focus { border-color: var(--dark-green); }
.product-filter-input button { border: 1px solid var(--dark-green); background: transparent; color: var(--dark-green); border-radius: 3px; padding: 0 17px; font: inherit; cursor: pointer; }
.product-filter-input button:hover { background: var(--dark-green); color: #fff; }
#product-search-status { margin: 9px 0 0; font-size: 13px; color: #555; }
.product-no-results { padding: 22px; text-align: center; background: #f3f5f0; }
.products-hero .products-grid { margin-top: 18px; }
.products-hero .product-category { scroll-margin-top: 25px; }
.products-hero .category-link { display: block; border: 1px solid #e3e3e3; padding: 12px; color: #555; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.products-hero .category-link:hover, .products-hero .category-link:focus-visible { border-color: var(--primary-green); box-shadow: 0 6px 20px rgba(0,0,0,.12); transform: translateY(-3px); }
.products-hero .category-link img { height: 190px; }
.products-hero .category-action { display: inline-block; margin-top: 9px; font-size: 13px; font-weight: 700; color: var(--dark-green); }
.interest-note { background: #e9f4dc; border-left: 4px solid var(--primary-green); padding: 10px 13px; color: var(--dark-gray); }
.slider-pause {
    position: absolute;
    bottom: 11px;
    right: 16px;
    z-index: 11;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 50%;
    background: rgba(33,29,79,.55);
    color: #fff;
    cursor: pointer;
}
.slider-pause:hover { background: var(--dark-gray); }
.back-to-top {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1001;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: var(--primary-green);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--dark-green); }
@media (max-width: 768px) {
    .quick-finder-inner { grid-template-columns: 1fr; gap: 15px; }
    .quick-finder { padding: 33px 0; }
}
@media (max-width: 540px) {
    .finder-results { grid-template-columns: 1fr; }
    .finder-result { padding: 10px 12px; }
    .slider-pause { right: 8px; bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .finder-result:hover, .finder-result:focus-visible,
    .products-hero .category-link:hover, .products-hero .category-link:focus-visible { transform: none; }
}

/* Services directory: the four offerings linked by the original site */
.services-hero { padding: 55px 0 20px; }
.services-hero .container, .service-directory .container { max-width: 1020px; }
.services-hero img { display: block; width: 100%; height: auto; }
.service-directory { padding: 10px 0 60px; }
.service-directory h1 { color: var(--dark-gray); font-size: 25px; margin-bottom: 22px; }
.service-directory .services-intro { max-width: 760px; margin-bottom: 35px; }
.service-directory h2 { color: var(--dark-gray); font-size: 21px; margin-bottom: 22px; }
.service-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
.service-directory-card { border: 1px solid #e1e1e1; background: #fff; }
.service-directory-card > a { display: block; }
.service-directory-card img { display: block; width: 100%; height: 200px; object-fit: cover; }
.service-directory-card > div { padding: 20px; }
.service-directory-card h3 { font-size: 18px; margin-bottom: 9px; }
.service-directory-card h3 a { color: var(--dark-gray); }
.service-directory-card p { margin-bottom: 12px; }
.computer-feature { background: #e8e8eb url('../images/Computer-Repair-Services-b.jpg') center/cover; padding: 65px 0; }
.computer-feature .container { max-width: 1020px; display: flex; justify-content: flex-end; }
.computer-feature-copy { width: min(100%, 470px); background: rgba(255,255,255,.93); padding: 35px; text-align: center; }
.computer-feature-copy h2 { color: var(--dark-gray); font-size: 24px; }
@media (max-width: 640px) {
    .services-hero { padding: 20px 0 10px; }
    .service-directory-grid { grid-template-columns: 1fr; }
    .computer-feature { padding: 40px 0; }
    .computer-feature-copy { padding: 25px; }
}

.article-body{font-size:17px;line-height:1.8;margin:30px 0}.article-body p{margin:1.2em 0}.article-body>span{display:block;margin:1em 0}.article-body img{display:block;max-width:100%;height:auto;margin:28px auto}.article-body ul,.article-body ol{padding-left:30px;margin:20px 0}.article-body li{margin:12px 0}.article-body h2,.article-body h3{margin:30px 0 16px}.article-body a{text-decoration:underline}
.newsletter-page{padding:60px 20px}.newsletter-panel{max-width:700px;margin:auto;background:#f3f6ef;border:1px solid #dfe6da;border-radius:18px;padding:35px}.newsletter-panel h1{font-size:32px;margin-bottom:20px}.newsletter-signup-form label{display:block;font-size:13px;margin:12px 0}.newsletter-signup-form input:not([type=checkbox]){display:block;width:100%;padding:11px;border:1px solid #c9d4c5;border-radius:6px;margin-top:7px}.newsletter-signup-form .newsletter-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.7}.newsletter-signup-form input[type=checkbox]{flex-shrink:0;margin-top:5px}.newsletter-signup-form .cf-turnstile{margin:12px 0}.newsletter-signup-form>a{font-size:12px;text-decoration:underline}.newsletter-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.newsletter-success,.newsletter-error{padding:15px;border-radius:8px;background:#e0f2e5;color:#215837}.newsletter-error{background:#fbe4e0;color:#8b3129}.newsletter-return{margin-top:30px}.footer-newsletter .newsletter-signup-form{color:#fff}.footer-newsletter .newsletter-signup-form input{color:#182c20}.newsletter-panel button{margin-top:15px}@media(max-width:500px){.newsletter-panel{padding:22px}.newsletter-panel h1{font-size:26px}}

.newsletter-signup-form .cf-turnstile{width:100%}.footer-newsletter .newsletter-invite{margin:0 0 16px;color:#f5f5f5;font-size:14px;line-height:1.7}.footer-newsletter{min-width:0}

.top-bar .top-newsletter-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.top-bar .top-right{flex-wrap:wrap;gap:14px}.top-newsletter-link:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(max-width:600px){.top-bar .top-right{justify-content:center;gap:10px}.top-bar .top-newsletter-link{font-size:12px}}
.privacy-policy{max-width:1000px;padding-top:55px;padding-bottom:65px}.privacy-heading{max-width:820px;margin-bottom:28px}.privacy-heading h1{font-size:clamp(30px,5vw,44px);margin:10px 0 20px}.privacy-kicker{font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:#24643b;font-size:12px}.privacy-policy p,.privacy-policy li{line-height:1.85;color:#37473d}.privacy-policy li{margin:12px 0}.privacy-policy ul{padding-left:24px}.privacy-policy h2{font-size:23px;margin:38px 0 14px;scroll-margin-top:110px}.privacy-policy address{font-style:normal;line-height:1.9;margin:20px 0}.privacy-policy a{text-decoration:underline;text-underline-offset:3px}.privacy-index{display:flex;flex-wrap:wrap;gap:10px 22px;padding:20px 24px;background:#edf4ef;border-radius:12px;margin:25px 0 35px;font-size:14px}.footer-bottom .container{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-privacy{margin:0}.footer-privacy a{color:inherit;text-decoration:underline}.newsletter-privacy-notice{font-size:12px!important;line-height:1.6!important;margin-top:12px!important;grid-column:1/-1}.newsletter-privacy-notice a{color:inherit;text-decoration:underline}@media(max-width:600px){.privacy-policy{padding-top:30px;padding-bottom:35px}.privacy-policy h2{font-size:21px}.privacy-index{padding:16px}.footer-bottom .container{justify-content:center;text-align:center}}
.privacy-policy a{color:#236649}.privacy-policy a:hover{color:#153f2c}


/* theme.css */
/* Battery Giant public design system. Loaded after the legacy page styles. */
:root{--navy:#1c294b;--navy-deep:#131e38;--green:#8bc540;--green-soft:#eaf2df;--green-ink:#3c621f;--paper:#f5f6f1;--ink:#233047;--muted:#606b77;--line:#dfe4df;--radius:14px;--primary-green:var(--green);--dark-green:var(--green-ink);--dark-gray:var(--navy);--font-primary:'Manrope',system-ui,sans-serif;--font-heading:'Manrope',system-ui,sans-serif}
body.site-theme{background:var(--paper);color:var(--ink);font-family:var(--font-primary);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
.site-theme h1,.site-theme h2,.site-theme h3,.site-theme h4{font-family:var(--font-heading);color:var(--navy);font-weight:800;line-height:1.18;letter-spacing:-.035em}
.site-theme h1{font-size:clamp(36px,4.5vw,60px)}
.site-theme h2{font-size:clamp(28px,3.2vw,42px)}
.site-theme h3{font-size:22px;letter-spacing:-.025em}
.site-theme p{color:var(--muted)}
.site-theme a{color:var(--green-ink);text-underline-offset:4px}
.site-theme a:hover{color:var(--navy)}
.site-theme .container{width:100%;max-width:1200px;padding-left:32px;padding-right:32px;margin-left:auto;margin-right:auto}
.site-theme :focus-visible{outline:3px solid #648f28;outline-offset:4px}
.site-theme .btn,.site-theme .ef-button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:13px 21px;border:1px solid transparent;border-radius:8px;font:700 14px/1.4 var(--font-primary);text-transform:none;letter-spacing:0;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;cursor:pointer}
.site-theme .btn-primary,.site-theme .ef-button{background:var(--green);color:var(--navy)!important}
.site-theme .btn-primary:hover,.site-theme .ef-button:hover{background:#a1d45d;filter:none;transform:translateY(-1px)}
.site-theme .btn-secondary,.site-theme .ef-button-outline{background:transparent;color:var(--navy)!important;border-color:#bcc7c0}
.site-theme .btn-secondary:hover,.site-theme .ef-button-outline:hover{background:var(--green-soft);border-color:#829a6a}
.site-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px}
.site-text-link{font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.site-eyebrow,.site-theme .ef-eyebrow{color:var(--green-ink);font-size:11px;font-weight:800;letter-spacing:1.8px;line-height:1.6;text-transform:uppercase;margin-bottom:16px}
.site-section{padding:80px 0}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
.section-heading h2{margin-bottom:0;max-width:700px}
.section-heading>.site-text-link{flex-shrink:0;padding-bottom:5px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:10000;background:var(--navy);color:white!important;padding:12px 20px;border-radius:6px}
.skip-link:focus{top:12px}
.site-theme #site-content{scroll-margin-top:100px}
/* One shared header across every public page. */
.site-theme .top-bar{background:var(--navy-deep);color:#dbe2ec;padding:8px 0;font-size:11px;position:relative}
.site-theme .top-bar .container{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-right:40px}
.site-utility-location{font-size:11px;letter-spacing:.1px}
.utility-divider{margin:0 12px;color:#81909e}
.site-theme .top-bar .top-right{display:flex;gap:26px;flex-wrap:nowrap;align-items:center}
.site-theme .top-bar .top-newsletter-link,.site-theme .top-bar .phone-link{font-size:11px;font-weight:600;color:#f0f4f6;text-decoration:none;white-space:nowrap}
.site-theme .top-bar a:hover{color:var(--green)}
.admin-shortcut{position:absolute;right:0;top:0;z-index:1002;width:28px;height:34px;background:transparent}
.site-theme .main-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.98);box-shadow:none;border-bottom:1px solid var(--line);padding:21px 0}
.site-theme .main-header>.container{display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative}
.site-brand{display:block;flex-shrink:0;width:235px}
.site-brand img{width:100%;height:auto;display:block}
.site-theme .main-nav{margin:0}
.site-theme .nav-menu{display:flex;align-items:center;gap:24px;position:static;margin:0;padding:0;background:transparent;box-shadow:none}
.site-theme .nav-menu>li{margin:0;position:relative}
.site-theme .nav-menu>li>a{font-size:13px;font-weight:600;color:var(--navy);padding:12px 0;white-space:nowrap;border:0}
.site-theme .nav-menu>li>a.active{color:var(--green-ink)}
.site-theme .nav-menu>li>a.active:after{display:none}
.site-theme .nav-menu>.nav-contact>a{padding:12px 17px;background:var(--green);font-size:12px;min-height:44px}
.site-theme .nav-menu>.has-dropdown>a:after{font-size:9px;margin-left:7px}
.site-theme .nav-menu .dropdown{top:calc(100% + 12px);left:-18px;min-width:235px;padding:10px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 35px #1c294b14}
.site-theme .nav-menu .dropdown a{display:block;color:var(--navy);font-size:13px;padding:10px 12px;white-space:normal;border-radius:5px}
.site-theme .nav-menu .dropdown a:hover{background:var(--paper);color:var(--green-ink)}
.site-theme .mobile-menu-toggle{display:none}
.site-theme .submenu-toggle{display:none}
/* Homepage: local people first, then the paths to the right product. */
.site-home-hero{padding:66px 0 64px;background:var(--paper)}
.home-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:58px;align-items:center}
.home-hero-copy h1{font-size:clamp(44px,5.3vw,72px);max-width:570px;letter-spacing:-.055em;line-height:1.04;margin:0 0 25px}
.site-theme .home-hero-description{max-width:480px;font-size:17px;line-height:1.8}
.site-theme .home-hero-local{font-size:11px;display:flex;gap:10px;align-items:center;margin:28px 0 0}
.site-status-dot{width:7px;height:7px;background:var(--green-ink);border-radius:50%;flex-shrink:0}
.home-hero-photo{margin:0;overflow:hidden;border-radius:18px;background:var(--navy);box-shadow:0 16px 36px #1723400b}
.home-hero-photo>img{display:block;width:100%;height:auto;aspect-ratio:1.9;object-fit:cover}
.home-hero-photo figcaption{padding:25px 28px;position:relative;color:white}
.home-hero-photo figcaption>span{display:block;color:#b7d393;font-size:9px;font-weight:700;letter-spacing:1.6px;margin-bottom:9px}
.home-hero-photo figcaption strong{font-size:21px;letter-spacing:-.5px;display:block}
.home-hero-photo figcaption a{display:inline-block;color:#d7e8bc;font-size:12px;margin-top:13px}
.home-quick-links{background:white;border-block:1px solid var(--line)}
.home-quick-links>.container{display:grid;grid-template-columns:repeat(4,1fr)}
.home-quick-links a{padding:23px 12px;color:var(--navy);font-size:12px;font-weight:700;display:flex;gap:12px;align-items:center;justify-content:center;border-right:1px solid var(--line)}
.home-quick-links a:first-child{border-left:1px solid var(--line)}
.home-quick-links i{color:var(--green-ink);font-size:17px}
.home-quick-links a:hover{background:var(--paper)}
.home-categories{background:white}
.home-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-category-card{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;transition:transform .18s,box-shadow .18s}
.home-category-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #1c294b0a}
.home-category-image{background:#edf0eb;overflow:hidden}
.home-category-image img{width:100%;aspect-ratio:1.95;object-fit:cover;display:block;transition:transform .3s}
.home-category-card:hover img{transform:scale(1.03)}
.home-category-card>div:last-child{padding:23px 25px;position:relative}
.home-category-card h3{font-size:20px;margin-bottom:6px}
.home-category-card p{font-size:12px;margin:0;padding-right:20px}
.home-category-card>div>span{position:absolute;right:24px;top:27px;color:var(--green-ink)}
.site-theme .quick-finder{background:var(--paper);padding:64px 0;color:var(--navy)}
.site-theme .quick-finder-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}
.site-theme .quick-finder h2{color:var(--navy);font-size:36px;max-width:370px}
.site-theme .quick-finder p{color:var(--muted);font-size:14px}
.finder-control>label{font-size:12px;font-weight:700;display:block;margin-bottom:10px}
.site-theme .finder-input-wrap input{padding:15px 18px 15px 44px;border:1px solid #bcc9c0;border-radius:8px;color:var(--navy);font:inherit;background:white}
.site-theme .finder-input-wrap i{color:var(--green-ink)}
.site-theme .finder-status{color:var(--muted);font-size:11px}
.site-theme .finder-result{border:1px solid var(--line);background:white;color:var(--navy);border-radius:6px;font-size:12px;padding:11px 12px}
.site-theme .finder-result small{color:var(--green-ink);font-size:9px}
.site-theme .finder-result:hover{background:var(--green-soft);color:var(--navy)}
.home-backup{background:var(--navy)}
.home-backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.home-backup-visual{background:#f0f3eb;border-radius:18px;position:relative;padding:24px 35px 20px;text-align:center}
.site-product-tag{display:block;text-align:left;color:var(--green-ink);font-size:9px;font-weight:800;letter-spacing:1.5px}
.home-backup-visual img{width:100%;height:320px;object-fit:contain;display:block}
.site-product-caption{display:block;font-size:11px;color:var(--muted);text-align:right}
.site-theme .home-backup-copy h2{color:white;font-size:clamp(32px,3.5vw,46px)}
.site-theme .home-backup-copy p{color:#c6cdd8;font-size:15px}
.site-theme .home-backup-copy .site-eyebrow{color:#b6d28b;font-size:10px}
.home-backup-options{padding:0;margin:22px 0}
.home-backup-options li{border-bottom:1px solid #ffffff1c;padding:10px 0;color:#e6eaf0;font-size:13px}
.home-backup-options li:before{content:'↗';color:var(--green);margin-right:13px}
.site-theme .home-backup-copy .site-text-link{color:#d7e8bc;font-size:12px}
.home-services-section{background:white}
.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-service-card{padding:32px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start}
.site-icon{display:grid;place-items:center;width:45px;height:45px;background:var(--green-soft);border-radius:12px;color:var(--green-ink);margin-bottom:26px;font-size:19px}
.home-service-card h3{font-size:23px;max-width:250px}
.home-service-card p{font-size:14px;line-height:1.8;margin-bottom:24px}
.home-service-card .site-text-link{margin-top:auto;font-size:12px}
.home-offer-banner{padding:44px 0;background:var(--green-soft);border-block:1px solid #d5e4c8}
.home-offer-banner>.container{display:flex;justify-content:space-between;align-items:center;gap:32px}
.home-offer-banner h2{font-size:32px;margin-bottom:10px}
.home-offer-banner p{font-size:14px;max-width:660px;margin:0}
.home-offer-banner .site-eyebrow{font-size:10px;margin-bottom:10px}
.home-offer-banner .btn{flex-shrink:0}
.home-blog{background:var(--paper)}
.home-visit{background:white;border-top:1px solid var(--line)}
.home-visit-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}
.home-visit h2{max-width:440px}
.home-visit-grid>div>p{font-size:14px;max-width:490px}
.home-visit-details{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:35px}
.home-visit-details h3{font-size:23px;margin-bottom:8px}
.home-visit-details dl{margin-top:24px;font-size:13px}
.home-visit-details dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid var(--line)}
.home-visit-details dd{font-weight:700;color:var(--navy)}
/* Public directories, articles, services, offers and forms. */
.site-theme .page-header{background:var(--navy);padding:60px 0;text-align:left;margin:0}
.site-theme .page-header h1{color:white;margin:0 0 14px;font-size:clamp(36px,4.5vw,54px)}
.site-theme .page-header h1:last-child{margin-bottom:0}
.site-theme .page-header p{color:#cbd3df;max-width:650px}
.site-theme .page-header .site-eyebrow{color:#c2db9d}
.site-theme .breadcrumb{justify-content:flex-start;font-size:12px;color:#bbc5d4;margin:20px 0 0}
.site-theme .breadcrumb a{color:#d5e7ba}
.site-theme .page-content{padding:65px 0;background:var(--paper)}
.site-theme .products-hero{padding:60px 0 80px;background:var(--paper)}
.site-theme .products-hero>.container,.site-theme .service-directory>.container{max-width:1200px}
.site-theme .products-title{font-size:48px;text-align:left;margin-bottom:20px}
.site-theme .products-intro{max-width:780px;text-align:left;margin:0 0 30px}
.site-theme .products-intro p{font-size:15px;line-height:1.8}
.site-theme .product-filter{padding:25px 28px;background:#e9eee4;border:1px solid #d7e0cf;border-radius:12px;margin:30px 0}
.site-theme .product-filter label{font-size:14px}
.site-theme .product-filter input{border:1px solid #bbc7b7;border-radius:7px;padding:13px 15px;font-size:15px;background:white;color:var(--navy)}
.site-theme .product-filter button{border-radius:7px;font-size:13px}
.site-theme .products-hero .products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.site-theme .products-hero .product-category{background:transparent;border:0;box-shadow:none;padding:0;margin:0;text-align:left;scroll-margin-top:110px}
.site-theme .products-hero .category-link{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:var(--radius);padding:22px;overflow:hidden;background:white;color:var(--muted)}
.site-theme .products-hero .category-link h4{color:var(--navy);font-size:20px;margin:20px 0 13px;order:1}
.site-theme .products-hero .category-link img{width:100%;height:180px;object-fit:contain;margin:0;order:0;border-radius:7px;background:#f9faf7}
.site-theme .products-hero .category-link p{font-size:13px;line-height:1.8;order:2;margin-bottom:20px}
.site-theme .products-hero .category-action{margin-top:auto;order:3;color:var(--green-ink);font-size:12px}
.site-theme .blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.site-theme .blog-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:none;display:flex;flex-direction:column;text-align:left}
.site-theme .blog-image{display:block;height:auto;aspect-ratio:1.65;background:#edf0e9;overflow:hidden}
.site-theme .blog-image img{width:100%;height:100%;object-fit:contain;display:block;margin:0}
.site-theme .blog-content{padding:25px;display:flex;flex-direction:column;flex:1}
.site-theme .blog-content h3{font-size:20px;line-height:1.4;margin-bottom:15px}
.site-theme .blog-content h3 a{color:var(--navy)}
.site-theme .blog-meta{font-size:10px;letter-spacing:.3px;color:var(--muted);margin-bottom:12px}
.site-theme .blog-content>p:not(.blog-meta){font-size:13px;line-height:1.85;margin-bottom:22px}
.site-theme .read-more{font-size:12px;font-weight:800;color:var(--green-ink);margin-top:auto}
.site-theme .read-more span{margin-left:8px}
.site-theme .service-directory{padding:65px 0 80px;background:var(--paper)}
.site-theme .service-directory h1{font-size:48px;margin-bottom:25px}
.site-theme .service-directory h2{font-size:30px}
.site-theme .service-directory-card{border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;background:white}
.site-theme .service-directory-card>div{padding:28px}
.site-theme .service-directory-card h3{font-size:23px}
.site-theme .service-directory-card p{font-size:14px}
.site-theme .service-directory-card img{object-fit:contain;background:white;height:190px}
.site-theme .computer-feature{background:var(--navy);padding:60px 0}
.site-theme .computer-feature>.container{justify-content:flex-start;max-width:1200px}
.site-theme .computer-feature-copy{width:min(100%,730px);padding:0;background:transparent;text-align:left}
.site-theme .computer-feature-copy h2{color:white;font-size:34px}
.site-theme .computer-feature-copy p{color:#cad3df}
.site-theme .computer-feature-copy .btn{border-color:#b8d396;color:#d0e7af!important}
.site-theme .service-detail{background:var(--paper);padding:65px 0}
.site-theme .service-detail h2,.site-theme .service-detail h3{margin-top:25px}
.site-theme .service-detail h2:first-child,.site-theme .service-detail h3:first-child{margin-top:0}
.site-theme .service-two-col{gap:50px}
.site-theme .service-text-col p,.site-theme .service-text-col li{font-size:15px;line-height:1.85}
.site-theme .service-images-col img{border-radius:12px;background:white;border:1px solid var(--line)}
.site-theme .about-page-content{gap:65px;align-items:start}
.site-theme .about-page-text p{font-size:15px;line-height:1.9}
.site-theme .about-page-image img{border-radius:14px}
.site-theme .contact-wrapper{gap:50px}
.site-theme .contact-form,.site-theme .contact-info{background:white;border:1px solid var(--line);padding:32px;border-radius:var(--radius)}
.site-theme .contact-form h2{font-size:29px}
.site-theme .contact-info h3{font-size:24px}
.site-theme .contact-info address p,.site-theme .contact-hours p{font-size:14px}
.site-theme .contact-info a{overflow-wrap:anywhere}
.site-theme input:not([type=checkbox]):not([type=hidden]),.site-theme textarea,.site-theme select{font-family:var(--font-primary);font-size:15px;border-radius:7px;color:var(--navy)}
.site-theme .form-group input,.site-theme .form-group textarea{background:#fafbf8;border:1px solid #cad4ca;padding:14px 15px}
.site-theme .form-group textarea{min-height:150px}
.site-theme .map-container{border-radius:var(--radius);overflow:hidden;margin-top:40px}
.site-theme .benefit-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;text-align:left;padding:28px}
.site-theme .benefit-card h3,.site-theme .benefit-card h4{font-size:21px}
.site-theme .benefit-card p{font-size:14px}
.site-theme .coupon-card{border-radius:var(--radius);background:white;border:1px solid var(--line);box-shadow:none;overflow:hidden;padding:24px}
.site-theme .coupon-card img{margin-bottom:22px}
.site-theme .coupon-card button{width:100%;margin:0}
.site-theme .newsletter-page{padding-top:65px;padding-bottom:75px}
.site-theme .newsletter-panel{background:white;border:1px solid var(--line);box-shadow:0 10px 35px #19244b06;border-radius:16px;padding:40px;max-width:640px}
.site-theme .newsletter-panel h1{font-size:36px;letter-spacing:-1px}
.site-theme .newsletter-panel p{font-size:14px}
.site-theme .newsletter-panel button{margin-top:8px}
.site-theme .newsletter-signup-form input{background:white;border:1px solid #b9c7b7;min-height:46px;font:inherit}
.site-theme .newsletter-signup-form label{font-size:12px;font-weight:600;margin-top:20px}
.site-theme .newsletter-signup-form button{width:100%}
.site-theme .privacy-policy{background:white;max-width:930px;padding:55px 45px;margin:50px auto;border:1px solid var(--line);border-radius:var(--radius)}
.site-theme .privacy-policy p,.site-theme .privacy-policy li{font-size:15px;color:var(--muted)}
.site-theme .privacy-policy h2{font-size:25px}
.site-theme .privacy-index{background:var(--paper);font-size:12px}
.site-theme .post-layout{max-width:900px;margin:0 auto;padding:55px 32px 75px}
.site-theme .post-layout h1{font-size:clamp(32px,4vw,50px);margin:25px 0 20px;max-width:800px}
.site-theme .post-layout .post-cover{display:block;width:100%;max-height:430px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:25px 0 35px}
.site-theme .article-body{font-size:17px;line-height:1.9;max-width:760px;margin:35px auto}
.site-theme .article-body h2{font-size:30px;margin-top:45px}
.site-theme .article-body h3{font-size:23px}
.site-theme .article-body img{border-radius:8px}
/* Manufacturer catalogs keep their content while sharing the same visual language. */
.site-theme .ecoflow-page,.site-theme .ef-catalog,.site-theme .catalog-hero{--ef-dark:var(--navy);--ef-ink:var(--navy);--ef-lime:var(--green);color:var(--navy)}
.site-theme .ef-hero,.site-theme .catalog-hero,.site-theme .ef-cta{background:var(--navy);color:white}
.site-theme .ef-hero h1,.site-theme .ef-cta h2{color:white}
.site-theme .ef-hero p,.site-theme .ef-cta p{color:#cbd3df}
.site-theme .ef-hero .ef-eyebrow,.site-theme .ef-cta .ef-eyebrow{color:#bfdc9b}
.site-theme .ef-hero-image{background:#f1f4eb;border-radius:16px;transform:none}
.site-theme .ef-lineup,.site-theme .ef-range,.site-theme .ef-catalog{background:var(--paper)}
.site-theme .ef-titan-section,.site-theme .ef-panels-section{background:white}
.site-theme .ef-product-card,.site-theme .ef-range-card,.site-theme .ef-catalog .product-card{border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:none}
.site-theme .ef-product-copy h3,.site-theme .ef-range-card h3,.site-theme .ef-catalog .product-card h4{color:var(--navy);font-family:var(--font-heading);font-weight:800}
.site-theme .ef-product-copy p,.site-theme .ef-range-card p,.site-theme .ef-range-card li,.site-theme .ef-catalog .product-card p,.site-theme .ef-catalog .product-card li{color:var(--muted)}
.site-theme .ef-range-card img,.site-theme .ef-product-image{background:#fafbf8}
.site-theme .ef-range-group{border-color:var(--line);border-radius:12px}
.site-theme .ef-range-grid{background:#f6f8f2}
.site-theme .ef-range-group>summary strong{color:var(--navy)}
.site-theme .ef-range-nav{padding-top:24px;padding-bottom:24px}
.site-theme .ef-range-nav a{color:var(--navy);background:white;border-color:var(--line);font-size:12px}
.site-theme .ef-range-nav a:last-child{background:var(--green-soft);border-color:#c8dab5}
.site-theme .ef-product-copy .ef-manufacturer,.site-theme .ef-range-card .ef-manufacturer{color:var(--green-ink);font-size:11px}
.site-theme .ef-panel-table{color:var(--navy)}
.site-theme .ef-panel-table thead{background:var(--green-soft)}
.site-theme .ef-panel-table td,.site-theme .ef-panel-spec,.site-theme .ef-hub-specs dd{color:var(--navy)}
.site-theme .ef-titan-video{background:var(--navy);border-color:#344365}
.site-theme .ef-product-inquiry{color:var(--navy)!important;border-color:#b4c4b1;border-radius:7px}
/* Footer: store details, a concise directory and the existing signup form. */
.site-theme .main-footer{background:var(--navy-deep);padding:60px 0 0;color:#d1d8e3}
.site-theme .site-footer-grid{display:grid;grid-template-columns:1fr .9fr 1.15fr;gap:65px;padding-bottom:50px}
.site-theme .footer-logo{width:235px;height:auto;margin:0 0 23px;display:block}
.site-theme .main-footer h2{font-size:18px;letter-spacing:-.4px;color:white;margin-bottom:18px;text-align:left}
.site-theme .main-footer p,.site-theme .main-footer address{color:#b9c3d3;font-size:12px;line-height:1.9;font-style:normal;margin:0 0 18px}
.site-theme .main-footer a{color:#e1e7ee;font-size:12px}
.site-theme .main-footer a:hover{color:#b7dc86}
.site-theme .site-footer-phone{display:block;margin-top:18px;font-size:21px;font-weight:700;letter-spacing:-.5px}
.site-theme .footer-social{display:flex;gap:20px;margin-top:20px}
.site-theme .footer-social a{background:transparent;padding:0;width:auto;height:auto;border:0}
.site-footer-links>a{display:block;line-height:2.2}
.site-theme .site-hours-heading{margin-top:28px;margin-bottom:10px}
.site-footer-links p span{color:white;float:right}
.site-theme .footer-newsletter .site-eyebrow{font-size:9px;color:#b2cf8b;margin-bottom:14px}
.site-theme .footer-newsletter h2{font-size:25px;margin-bottom:15px}
.site-theme .footer-newsletter .newsletter-invite{font-size:13px;color:#bdc7d5;line-height:1.9}
.site-theme .footer-newsletter .newsletter-signup-form label{font-size:11px;color:#d9e0e9;margin-bottom:12px}
.site-theme .footer-newsletter .newsletter-signup-form input{color:var(--navy);border:0;margin-top:9px;padding:13px}
.site-theme .footer-newsletter .newsletter-signup-form .btn{background:var(--green);border-color:var(--green);color:var(--navy)!important;min-height:45px}
.site-theme .footer-newsletter .newsletter-privacy-notice{font-size:10px!important;line-height:1.8!important;color:#a5b2c5}
.site-theme .footer-newsletter .newsletter-privacy-notice a{font-size:10px}
.site-theme .footer-bottom{background:transparent;border-top:1px solid #ffffff19;padding:22px 0}
.site-theme .footer-bottom .container{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.site-theme .footer-bottom p{font-size:10px;margin:0}
.site-theme .footer-bottom a,.site-theme .footer-bottom span{font-size:10px;color:#a8b6ca}
.site-theme .footer-bottom .container>div{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.site-theme .back-to-top{background:var(--navy);color:white;border:1px solid #c8d1da;box-shadow:0 4px 12px #1c294b17;right:14px;bottom:14px;width:37px;height:37px}
.site-preview-banner{background:#e6eddc;color:#304820;text-align:center;padding:7px 20px;font-size:12px;font-weight:800;border-bottom:1px solid #cbd8bb}
.site-preview-banner span{font-weight:500;margin-left:12px}
.preview-security{display:flex;align-items:center;gap:12px;background:#fafafa;border:1px solid #d7d7d7;border-radius:4px;color:#333;min-height:65px;padding:12px 16px;margin:14px 0;font-size:13px}
.preview-security>span{color:#527f2b;font-size:22px}
.preview-security small{margin-left:auto;color:#777;font-size:9px}
@media(min-width:981px){.site-theme .has-dropdown:hover>.dropdown,.site-theme .has-dropdown:focus-within>.dropdown,.site-theme .has-dropdown.open>.dropdown{display:block;visibility:visible;opacity:1;transform:none}.site-theme .has-dropdown:after{content:'';position:absolute;top:100%;left:0;right:0;height:16px}}
@media(max-width:1100px){.site-theme .nav-menu{gap:17px}.site-brand{width:205px}.site-theme .nav-menu>li>a{font-size:12px}.home-hero-grid{gap:35px}.site-theme .site-footer-grid{gap:40px}.home-backup-grid{gap:55px}}
@media(max-width:980px){.site-theme .main-header{padding:17px 0}.site-theme .main-nav{position:static}.site-theme .mobile-menu-toggle{display:grid;place-items:center;font-size:25px;padding:4px;width:44px;height:44px;color:var(--navy);background:var(--paper);border:1px solid var(--line);border-radius:8px}.site-theme .nav-menu{display:none;position:absolute;top:calc(100% + 17px);left:0;right:0;background:white;padding:20px 30px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #1c294b12;max-height:calc(100dvh - 140px);overflow-y:auto;z-index:1001}.site-theme .nav-menu.active{display:block}.site-theme .nav-menu>li{display:block;border-bottom:1px solid #edf0eb}.site-theme .nav-menu>li>a{display:block;padding:14px 0;font-size:15px}.site-theme .nav-menu>li>a:after{display:none}.site-theme .nav-menu>.nav-contact{border:0;padding-top:15px}.site-theme .nav-menu>.nav-contact>a{display:flex;padding:14px}.site-theme .nav-menu .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--paper);padding:6px 10px;margin-bottom:10px;min-width:0;border-radius:7px}.site-theme .nav-menu>.has-dropdown:not(.open)>.dropdown{display:none}.site-theme .nav-menu>.has-dropdown.open>.dropdown{display:block}.site-theme .submenu-toggle{display:grid;place-items:center;position:absolute;right:0;top:8px;width:40px;height:40px;border:1px solid var(--line);background:white;border-radius:7px;color:var(--navy);font-size:20px}.site-theme .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero-grid{grid-template-columns:1fr 1fr;gap:28px}.home-hero-copy h1{font-size:53px}.site-theme .home-hero-description{font-size:15px}.home-hero-photo figcaption{padding:22px}.home-hero-photo figcaption strong{font-size:19px}.home-quick-links a{font-size:10px;padding:20px 8px;gap:8px}.site-theme .site-footer-grid{grid-template-columns:1fr 1fr;gap:35px 65px}.site-theme .footer-newsletter{grid-column:1/-1;max-width:500px}.home-backup-grid,.home-visit-grid{gap:40px}.home-service-card{padding:25px}.home-service-card h3{font-size:21px}}
@media(max-width:760px){.site-theme .container{padding-left:22px;padding-right:22px}.site-section{padding:52px 0}.site-theme .top-bar .container{padding-right:30px}.site-utility-location{font-size:10px}.site-utility-location .utility-divider{display:none}.site-utility-location{max-width:105px;line-height:1.5}.site-theme .top-bar .top-right{gap:14px}.site-theme .top-bar .top-newsletter-link,.site-theme .top-bar .phone-link{font-size:10px}.site-brand{width:205px}.site-home-hero{padding:42px 0}.home-hero-grid{grid-template-columns:1fr;gap:36px}.home-hero-copy h1{font-size:clamp(42px,10vw,62px);max-width:520px}.site-theme .home-hero-description{font-size:16px}.site-actions{gap:10px}.site-theme .home-hero-local{margin-top:22px}.home-hero-photo>img{aspect-ratio:2}.home-hero-photo figcaption{padding:21px 24px}.home-hero-photo figcaption a{position:absolute;right:24px;bottom:22px}.home-hero-photo figcaption strong{max-width:190px}.home-quick-links>.container{grid-template-columns:1fr 1fr;padding:0}.home-quick-links a{font-size:11px;justify-content:flex-start;padding:18px 22px;border-bottom:1px solid var(--line)}.home-quick-links a:first-child{border-left:0}.home-quick-links a:nth-child(2n){border-right:0}.section-heading{align-items:flex-start;gap:18px;flex-direction:column}.section-heading h2{font-size:31px}.section-heading>.site-text-link{font-size:12px}.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-category-card>div:last-child{padding:18px}.home-category-card h3{font-size:17px;padding-right:14px}.home-category-card p{font-size:11px}.home-category-card>div>span{right:15px;top:18px}.home-category-image img{aspect-ratio:1.5}.site-theme .quick-finder{padding:48px 0}.site-theme .quick-finder-inner{grid-template-columns:1fr;gap:28px}.site-theme .quick-finder h2{font-size:32px}.site-theme .finder-results{grid-template-columns:1fr 1fr;gap:8px}.site-theme .finder-result{font-size:11px;gap:5px;padding:12px 10px}.site-theme .finder-result small{display:none}.home-backup-grid,.home-visit-grid{grid-template-columns:1fr;gap:36px}.home-backup-visual img{height:280px}.home-backup-copy h2{font-size:35px}.home-service-grid{grid-template-columns:1fr;gap:16px}.home-service-card{padding:27px}.home-service-card h3{max-width:none}.home-service-card p{margin-bottom:20px}.site-icon{margin-bottom:20px}.home-offer-banner>.container{align-items:flex-start;flex-direction:column;gap:24px}.home-offer-banner h2{font-size:30px}.home-visit-details{padding:27px}.site-theme .products-hero .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.site-theme .products-hero .category-link{padding:17px}.site-theme .products-hero .category-link img{height:150px}.site-theme .products-hero .category-link h4{font-size:18px}.site-theme .product-filter{padding:21px}.site-theme .page-header{padding:40px 0}.site-theme .page-header h1{font-size:36px}.site-theme .page-content,.site-theme .service-detail{padding:40px 0}.site-theme .service-two-col{display:grid;grid-template-columns:1fr;gap:28px}.site-theme .contact-wrapper{grid-template-columns:1fr;gap:24px}.site-theme .contact-form,.site-theme .contact-info{padding:26px}.site-theme .about-page-content{grid-template-columns:1fr;gap:30px}.site-theme .about-page-image img{max-height:340px;object-fit:contain}.site-theme .coupons-grid{grid-template-columns:1fr!important}.site-theme .coupon-card{padding:18px}.site-theme .benefit-card{padding:24px}.site-theme .newsletter-panel{padding:27px}.site-theme .newsletter-panel h1{font-size:31px}.site-theme .privacy-policy{margin:25px 16px;width:calc(100% - 32px);padding:30px 24px}.site-theme .privacy-heading h1{font-size:35px}.site-theme .ef-hero{padding:42px 0}.site-theme .ef-hero h1{font-size:42px;letter-spacing:-1.8px}.site-theme .ef-hero-grid{grid-template-columns:1fr}.site-theme .site-footer-grid{grid-template-columns:1fr 1fr;gap:38px 30px}.site-theme .footer-logo{width:195px;max-width:100%}.site-theme .footer-bottom .container{align-items:flex-start;justify-content:flex-start}.site-theme .footer-bottom .container>div{gap:18px}.site-preview-banner{font-size:10px}.site-preview-banner span{display:block;margin:0}.site-theme .post-layout{padding:35px 22px 50px}}
@media(max-width:480px){.site-theme .blog-grid{grid-template-columns:1fr;gap:20px}.site-theme .products-hero .products-grid{grid-template-columns:1fr}.site-theme .products-title,.site-theme .service-directory h1{font-size:38px}.site-theme .site-footer-grid{grid-template-columns:1fr;gap:35px}.site-theme .footer-newsletter{grid-column:auto;max-width:none}.site-footer-links p{max-width:280px}.site-theme .footer-logo{width:225px}.site-theme .blog-content{padding:24px}.home-category-card>div:last-child{padding:16px 13px}.home-category-card h3{font-size:16px;padding-right:16px}.home-category-card>div>span{right:11px;top:16px}.home-category-card p{font-size:10px}.home-hero-photo figcaption strong{font-size:18px}.home-hero-photo figcaption a{font-size:11px;right:18px}.home-hero-photo figcaption{padding:20px 18px}.site-theme .home-hero-local{font-size:10px}.site-theme .top-bar .phone-link{font-size:11px}.site-theme .top-bar .top-newsletter-link{font-size:9px}.site-theme .top-bar .top-right{gap:12px}.site-theme .service-directory-grid,.site-theme .business-benefits{grid-template-columns:1fr}.site-theme .service-directory{padding:42px 0}}
@media(prefers-reduced-motion:reduce){.home-category-card:hover,.site-theme .btn:hover,.site-theme .ef-button:hover,.home-category-card:hover img{transform:none}}
@media print{.site-theme .main-header,.site-theme .top-bar,.site-theme .main-footer,.site-preview-banner,.skip-link{display:none}.site-theme .coupon-card{border:0;box-shadow:none}.site-theme{background:white}}
@media(max-width:760px){.site-utility-tagline{display:none}.site-utility-location{max-width:none;white-space:nowrap;font-size:10px}.site-theme .top-bar .container{gap:9px;padding-left:18px;padding-right:30px}}
@media(max-width:480px){.site-actions>.btn{flex:1 1 100%}.site-theme .top-bar .top-right{gap:10px}}
.preview-form-note{font-size:12px!important;line-height:1.6;color:inherit!important;margin-top:14px}

.site-theme .newsletter-panel .newsletter-signup-form .btn{background:var(--green);border-color:var(--green);color:var(--navy)!important}

/* Recycling drop-off policy: accepted vehicle batteries and alkaline guidance. */
.recycling-policy{margin-bottom:48px}
.site-theme .recycling-policy>h2{font-size:clamp(28px,3vw,38px);margin-top:0;margin-bottom:28px}
.recycling-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.recycling-policy-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:white}
.recycling-policy-accepted{border-top:4px solid var(--green)}
.recycling-policy-alkaline{background:#edf0e9;border-top:4px solid var(--navy)}
.recycling-policy-label{display:block;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;color:var(--green-ink);margin-bottom:15px}
.recycling-policy-alkaline .recycling-policy-label{color:var(--navy)}
.site-theme .recycling-policy-card h3{margin:0 0 18px;font-size:25px}
.site-theme .recycling-policy-card p{font-size:14px;line-height:1.85}
.recycling-policy-card ul{list-style:none;padding:0;margin:22px 0}
.recycling-policy-card li{border-top:1px solid var(--line);padding:11px 0 11px 23px;position:relative;font-size:14px;color:var(--navy)}
.recycling-policy-card li:before{content:'✓';position:absolute;left:0;color:var(--green-ink);font-weight:800}
.site-theme .recycling-policy-note{font-size:12px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}
.recycling-policy-note a{white-space:nowrap}
.recycling-policy-card .site-text-link{font-size:12px}
@media(max-width:760px){.recycling-policy-grid{grid-template-columns:1fr;gap:18px}.recycling-policy-card{padding:25px}.site-theme .recycling-policy-card h3{font-size:23px}}

