/* ===== RESET & BASE ===== */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --navy: #141E51;
    --navy-dark: #0C5278;
    --teal: #00A0AF;
    --teal-dark: #008D9A;
    --white: #FFFFFF;
    --light-gray: #F5F5F5;
    --mid-gray: #E0E0E0;
    --text: #333333;
    --text-light: #666666;
    --shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.15);
    --radius: 8px;
    --transition: 0.3s ease;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text);
    line-height: 1.6;
    overflow-x: hidden;
}

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

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

a {
    color: inherit;
    text-decoration: none;
}

/* ===== BUTTONS ===== */
.btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: var(--radius);
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    border: none;
}

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

.btn-primary:hover {
    background: var(--teal-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

.btn-secondary {
    background: var(--teal);
    color: var(--white);
}

.btn-secondary:hover {
    background: var(--teal-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

.btn-lg {
    padding: 18px 44px;
    font-size: 1.125rem;
}

/* ===== HEADER ===== */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--navy);
    padding: 12px 0;
    transition: box-shadow var(--transition);
}

.site-header.scrolled {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

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

.logo-link {
    flex-shrink: 0;
}

.logo {
    height: 40px;
    width: auto;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nav-phone {
    color: var(--white);
    font-weight: 500;
    font-size: 0.95rem;
    transition: color var(--transition);
}

.nav-phone:hover {
    color: var(--teal);
}

.nav-divider {
    color: rgba(255, 255, 255, 0.4);
}

.nav-cta {
    margin-left: 8px;
    padding: 10px 24px;
    font-size: 0.9rem;
}

/* Social icons */
.nav-social {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
    margin-right: 16px;
}

.nav-social a {
    display: flex;
    color: var(--white);
    transition: color var(--transition);
}

.nav-social a:hover {
    color: var(--teal);
}

.nav-social svg {
    width: 20px;
    height: 20px;
}

/* Hamburger */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}

.hamburger,
.hamburger::before,
.hamburger::after {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--white);
    transition: transform var(--transition), opacity var(--transition);
}

.hamburger {
    position: relative;
}

.hamburger::before,
.hamburger::after {
    content: '';
    position: absolute;
    left: 0;
}

.hamburger::before {
    top: -7px;
}

.hamburger::after {
    top: 7px;
}

.nav-toggle[aria-expanded="true"] .hamburger {
    background: transparent;
}

.nav-toggle[aria-expanded="true"] .hamburger::before {
    top: 0;
    transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .hamburger::after {
    top: 0;
    transform: rotate(-45deg);
}

/* ===== HERO ===== */
.hero {
    position: relative;
    margin-top: 64px; /* header height */
    min-height: 520px;
    background: url('../images/hero-bg.jpg') left 7% / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 40px 48px;
}

.hero-card {
    background: rgba(255, 255, 255, 0.88);
    max-width: 500px;
    width: 100%;
    padding: 48px 44px;
    border-radius: var(--radius);
}

.hero-pin-link {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    line-height: 0;
    transition: opacity var(--transition);
}

.hero-pin-link:hover {
    opacity: 0.7;
}

.hero-pin {
    display: inline-block;
    width: 1em;
    height: 1em;
    color: var(--teal);
    vertical-align: middle;
}

.hero h1 {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 20px;
    color: var(--teal);
    text-transform: uppercase;
    letter-spacing: -0.5px;
}

.hero-sub {
    font-family: 'Playfair Display', serif;
    font-size: clamp(0.95rem, 1.8vw, 1.15rem);
    color: var(--text-light);
    margin-bottom: 24px;
    line-height: 1.6;
}

.hero-phones {
    font-size: 1.35rem;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text);
}

.hero-phones a {
    font-weight: 600;
    color: var(--navy);
    transition: color var(--transition);
}

.hero-phones a:hover {
    color: var(--teal);
}

.hero-phones span {
    opacity: 0.4;
    color: var(--text-light);
}

.btn-hero {
    display: inline-block;
    padding: 14px 32px;
    background: var(--teal);
    color: var(--white);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}

.btn-hero span {
    margin-left: 6px;
    font-size: 1.2rem;
}

.btn-hero:hover {
    background: var(--teal-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

/* ===== SECTIONS SHARED ===== */
.section {
    padding: 80px 0;
}

.section h2 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    color: var(--navy);
    margin-bottom: 20px;
    text-align: center;
}

.section-intro {
    font-family: 'Playfair Display', serif;
    text-align: center;
    color: var(--text-light);
    max-width: 700px;
    margin: 0 auto 40px;
    font-size: 1.1rem;
}

/* ===== WHY US ===== */
.why-us {
    background: var(--white);
}

.why-us-grid {
    display: flex;
    align-items: center;
    gap: 60px;
}

.why-us-content {
    flex: 1;
}

.why-us-content h2 {
    text-align: left;
}

.why-us-badge {
    flex-shrink: 0;
}

.qcp-badge {
    width: 200px;
}

.supporting-line {
    font-family: 'Playfair Display', serif;
    margin-top: 24px;
    font-size: 1.05rem;
    color: var(--text-light);
    font-style: italic;
}

/* Check list */
.check-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
}

.check-list li {
    padding-left: 32px;
    position: relative;
    font-size: 1.05rem;
}

.check-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 20px;
    height: 20px;
    background: var(--teal);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

/* ===== ACCOUNTABILITY ===== */
.accountability {
    background: var(--light-gray);
}

.accountability .check-list {
    max-width: 600px;
    margin: 24px auto 0;
}

.accountability .supporting-line {
    text-align: center;
    max-width: 600px;
    margin: 24px auto 0;
}

/* ===== SERVICES ===== */
.services {
    background: var(--white);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 32px;
    margin-top: 40px;
}

.service-card {
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: transform var(--transition), box-shadow var(--transition);
}

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

.service-img {
    height: 220px;
    overflow: hidden;
}

.service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.service-card:hover .service-img img {
    transform: scale(1.05);
}

.service-body {
    padding: 28px;
}

.service-body h3 {
    font-size: 1.2rem;
    color: var(--navy);
    margin-bottom: 12px;
}

.service-body p {
    font-family: 'Playfair Display', serif;
    color: var(--text-light);
    margin-bottom: 20px;
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ===== INDUSTRIES ===== */
.industries {
    position: relative;
    background: url('../images/industries-bg.jpg') center center / cover no-repeat;
    color: var(--white);
}

.industries-overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 30, 81, 0.9);
}

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

.industries h2 {
    color: var(--white);
}

.industries .section-intro {
    color: rgba(255, 255, 255, 0.8);
}

.industries-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.industry-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: var(--radius);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: background var(--transition);
}

.industry-item:hover {
    background: rgba(255, 255, 255, 0.14);
}

.industry-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    color: var(--teal);
}

.industry-item span {
    font-size: 1rem;
    font-weight: 500;
}

/* ===== FINAL CTA ===== */
.final-cta {
    background: var(--navy);
    text-align: center;
    padding: 100px 0;
}

.final-cta h2 {
    color: var(--white);
    margin-bottom: 32px;
}

/* ===== FOOTER ===== */
.site-footer {
    background: var(--navy-dark);
    color: rgba(255, 255, 255, 0.7);
    padding: 40px 0;
    text-align: center;
}

.footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.footer-logo {
    height: 30px;
    width: auto;
    opacity: 0.8;
}

.footer-contact a {
    transition: color var(--transition);
}

.footer-contact a:hover {
    color: var(--teal);
}

.footer-link {
    color: var(--teal);
    font-weight: 500;
    transition: opacity var(--transition);
}

.footer-link:hover {
    opacity: 0.8;
}

.footer-copy {
    font-family: 'Playfair Display', serif;
    font-size: 0.85rem;
    opacity: 0.5;
    margin-top: 8px;
}

/* ===== AREAS WE SERVE ===== */
.areas-we-serve {
    padding: 0;
}

.areas-grid {
    display: flex;
    min-height: 450px;
}

.areas-info {
    flex: 1;
    background: var(--navy);
    color: var(--white);
    padding: 60px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.areas-info h2 {
    color: var(--white);
    text-align: left;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    margin-bottom: 24px;
}

.areas-address,
.areas-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 1.05rem;
}

.areas-address svg,
.areas-phone svg {
    flex-shrink: 0;
    color: var(--teal);
}

.areas-phone a {
    color: var(--white);
    font-weight: 600;
    transition: color var(--transition);
}

.areas-phone a:hover {
    color: var(--teal);
}

.areas-serving-label {
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 8px;
    font-size: 1.05rem;
}

.areas-list {
    font-family: 'Playfair Display', serif;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.7;
    margin-bottom: 0;
}

.areas-phone-divider {
    opacity: 0.4;
    margin: 0 4px;
}

.areas-map {
    flex: 1;
    min-height: 450px;
}

.areas-map iframe {
    display: block;
    width: 100%;
    height: 100%;
}

/* ===== FADE-IN ANIMATION ===== */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* No pseudo-element on desktop */
.hero::before { display: none; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .nav-toggle {
        display: block;
    }

    .main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--navy);
        flex-direction: column;
        padding: 24px;
        gap: 16px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .main-nav.open {
        display: flex;
    }

    .nav-divider {
        display: none;
    }

    .nav-cta {
        margin-left: 0;
        text-align: center;
    }

    .nav-social {
        margin-left: auto;
        margin-right: 12px;
    }

    .hero {
        flex-direction: column;
        justify-content: flex-start;
        padding: 0;
        min-height: auto;
        background: none;
    }

    .hero::before {
        content: '';
        display: block;
        width: 100%;
        height: 260px;
        background: url('../images/hero-bg.jpg') center 7% / cover no-repeat;
        flex-shrink: 0;
    }

    .hero-card {
        background: #fff;
        max-width: 100%;
        padding: 32px 24px;
        border-radius: 0;
        text-align: center;
    }

    .hero-pin-link {
        margin-right: calc(-1em - 10px);
    }

    .section {
        padding: 60px 0;
    }

    .why-us-grid {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }

    .why-us-content h2 {
        text-align: center;
    }

    .qcp-badge {
        width: 160px;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .industries-grid {
        grid-template-columns: 1fr;
    }

    .hero-phones {
        flex-direction: column;
        gap: 4px;
        justify-content: center;
    }

    .hero-phones span {
        display: none;
    }

    .areas-we-serve {
        padding: 0;
    }

    .areas-grid {
        flex-direction: column;
    }

    .areas-info {
        padding: 40px 24px;
        text-align: center;
    }

    .areas-info h2 {
        text-align: center;
    }

    .areas-address,
    .areas-phone {
        justify-content: center;
    }

    .areas-map {
        flex: none;
        height: 350px;
        min-height: unset;
        line-height: 0;
        font-size: 0;
    }

    .areas-map iframe {
        display: block;
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===== CLIENTOS / VERIFY BAND ===== */
.verify {
    background: var(--navy);
    color: var(--white);
    text-align: center;
}

.verify h2 {
    color: var(--white);
}

.verify-eyebrow {
    display: inline-block;
    color: var(--teal);
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.verify .section-intro {
    color: rgba(255, 255, 255, 0.78);
}

/* Before / After proof */
.verify-proof {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 860px;
    margin: 8px auto 48px;
}

.proof-shot {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-hover);
    aspect-ratio: 4 / 3;
}

.proof-shot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.proof-shot figcaption {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(20, 30, 81, 0.85);
    color: var(--white);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 4px;
}

.proof-shot figcaption.after {
    background: var(--teal);
}

/* Feature tiles */
.verify-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    text-align: left;
}

.verify-tile {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius);
    padding: 28px 24px;
    transition: background var(--transition), transform var(--transition);
}

.verify-tile:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-4px);
}

.verify-icon {
    width: 34px;
    height: 34px;
    color: var(--teal);
    margin-bottom: 16px;
}

.verify-tile h3 {
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 8px;
}

.verify-tile p {
    font-family: 'Playfair Display', serif;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.95rem;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .verify-proof {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 36px;
    }
    .verify-grid {
        grid-template-columns: 1fr;
    }
}

/* ===================================================================== */
/* CLIENTOS SHOWCASE (tabbed) — Command Center / Performance / By Site   */
/* ===================================================================== */
.cos-showcase{background:var(--light-gray);color:var(--text);}
.cos-title{font-size:clamp(1.75rem,4vw,2.5rem);text-align:center;color:var(--navy);margin-bottom:14px;}
.cos-intro{max-width:760px;margin:0 auto 30px;text-align:center;color:var(--text-light);font-family:'Playfair Display',serif;font-size:1.08rem;}

.cos-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.cos-tab{background:#fff;color:var(--navy);border:1px solid var(--mid-gray);
  padding:10px 22px;border-radius:30px;font-family:'Poppins',sans-serif;font-size:.92rem;font-weight:600;cursor:pointer;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.cos-tab:hover{border-color:var(--teal);color:var(--teal);}
.cos-tab.active{background:var(--teal);border-color:var(--teal);color:#fff;}

/* WHY BUSINESSES CHOOSE US — six-reason icon grid (WHY 7) */
.why-title{font-size:clamp(1.75rem,4vw,2.5rem);color:var(--navy);text-align:center;margin-bottom:14px;}
.why-intro{max-width:680px;margin:0 auto 40px;text-align:center;color:var(--text-light);font-family:'Playfair Display',serif;font-size:1.08rem;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.why-card{background:#fff;border:1px solid var(--mid-gray);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
.why-ic{width:40px;height:40px;color:var(--teal);margin-bottom:14px;}
.why-card h3{font-size:1.12rem;color:var(--navy);margin-bottom:8px;}
.why-card p{color:var(--text-light);font-family:'Playfair Display',serif;font-size:.95rem;line-height:1.6;}
@media(max-width:860px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.why-grid{grid-template-columns:1fr;}}

.cos-panel{display:none;animation:cosFade .35s ease;}
.cos-panel.active{display:block;}
@keyframes cosFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* ----- shared panel card ----- */
.cc{background:#fff;border-radius:18px;box-shadow:0 40px 90px rgba(0,0,0,.5);overflow:hidden;max-width:1000px;margin:0 auto;color:var(--text);}
.cc-head{background:linear-gradient(90deg,var(--navy),var(--navy-dark));color:#fff;padding:16px 22px;display:flex;align-items:center;gap:12px;}
.cc-head .logo{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.3px;}
.cc-head .logo .b{width:10px;height:10px;border-radius:50%;background:var(--teal);}
.cc-head .date{font-size:.76rem;opacity:.7;margin-left:6px;}
.cc-head .live{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:600;letter-spacing:.5px;}
.cc-head .live .lz{width:8px;height:8px;border-radius:50%;background:#46e0a0;animation:cosLp 1.5s infinite;}
@keyframes cosLp{0%,100%{box-shadow:0 0 0 0 rgba(70,224,160,.6)}50%{box-shadow:0 0 0 7px rgba(70,224,160,0)}}

.cc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--mid-gray);}
.cc-kpi{background:#fff;padding:16px 18px;display:flex;align-items:center;gap:13px;}
.cc-kpi .gauge{width:58px;height:58px;flex-shrink:0;}
.cc-kpi .ic{width:30px;height:30px;color:var(--teal);flex-shrink:0;}
.cc-kpi .big{font-size:1.55rem;font-weight:700;color:var(--navy);line-height:1;}
.cc-kpi .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-top:3px;}

.cc-main{display:grid;grid-template-columns:1.25fr 1fr;}
.cc-sites{border-right:1px solid var(--mid-gray);}
.cc-h{padding:12px 18px;font-weight:700;color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;background:var(--light-gray);border-bottom:1px solid var(--mid-gray);display:flex;align-items:center;gap:8px;}
.cc-h .pill{margin-left:auto;font-weight:600;font-size:.68rem;color:var(--text-light);}
.cc-right{display:flex;flex-direction:column;}

.site-row{display:flex;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid var(--mid-gray);}
.site-row:last-child{border-bottom:none;}
.site-row .sdot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.sdot.ok{background:#27ae60;}.sdot.warn{background:#e6a700;}
.site-row .sgrow{flex:1;min-width:0;}
.site-row .sname{font-weight:600;color:var(--navy);font-size:.95rem;}
.site-row .smeta{color:var(--text-light);font-size:.78rem;}
.site-row .sscore{font-weight:700;color:var(--teal);font-size:1.1rem;text-align:right;}
.site-row .sscore small{display:block;font-size:.62rem;color:var(--text-light);font-weight:500;letter-spacing:.5px;text-transform:uppercase;}
.sstat{font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;padding:4px 9px;border-radius:20px;font-weight:600;white-space:nowrap;}
.sstat.ok{background:rgba(39,174,96,.12);color:#1e8a4c;}
.sstat.warn{background:rgba(230,167,0,.15);color:#b07d00;}

.feed{padding:8px 18px 10px;border-bottom:1px solid var(--mid-gray);}
.feed .fi{display:flex;gap:11px;padding:7px 0;font-size:.82rem;color:var(--text);align-items:flex-start;}
.feed .fi .ft{color:var(--text-light);font-size:.7rem;min-width:50px;padding-top:1px;}
.feed .fi .fd{width:7px;height:7px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--teal);}
.feed .fi .fd.warn{background:#e6a700;}

.cc-chat{background:#eef1f5;padding:13px 16px;display:flex;flex-direction:column;gap:9px;flex:1;}
.cc-chat .b{max-width:88%;padding:9px 13px;border-radius:13px;font-size:.85rem;line-height:1.45;}
.cc-chat .me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px;}
.cc-chat .sm{align-self:flex-start;background:#fff;color:var(--text);border-bottom-left-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1);}
.cc-chat .who{font-size:.64rem;text-transform:uppercase;letter-spacing:.4px;opacity:.6;margin-bottom:3px;}
.cc-chat .pb{margin-top:7px;display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.cc-chat .pb figure{position:relative;border-radius:7px;overflow:hidden;}
.cc-chat .pb img{width:100%;height:64px;object-fit:cover;display:block;}
.cc-chat .pb figcaption{position:absolute;bottom:3px;left:3px;font-size:.55rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:rgba(20,30,81,.8);padding:2px 5px;border-radius:3px;}
.cc-chat .pb figcaption.aft{background:var(--teal);}

/* charts */
.charts{display:grid;grid-template-columns:1.45fr 1fr;gap:1px;background:var(--mid-gray);}
.chart-card{background:#fff;padding:22px;}
.chart-card.full{grid-column:1 / -1;}
.chart-card h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);margin-bottom:6px;}
.chart-card .ch-big{font-size:1.7rem;font-weight:700;color:var(--navy);line-height:1;}
.chart-card .up{color:#27ae60;font-size:.8rem;font-weight:600;}
.area-svg{width:100%;height:140px;margin-top:8px;display:block;}
.donut-row{display:flex;align-items:center;gap:20px;}
.donut-row .leg{font-size:.82rem;color:var(--text-light);line-height:1.8;}
.donut-row .leg b{color:var(--navy);}
.bars{display:flex;align-items:flex-end;gap:18px;height:130px;margin-top:6px;}
.bars .bcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:7px;}
.bars .bcol .bk{width:100%;max-width:54px;background:linear-gradient(var(--teal),#86d8e0);border-radius:6px 6px 0 0;position:relative;}
.bars .bcol .bk b{position:absolute;top:-20px;left:0;right:0;text-align:center;font-size:.78rem;color:var(--navy);}
.bars .bcol .bl{font-size:.7rem;color:var(--text-light);text-align:center;}

/* per-site cards */
.site-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto;}
.scard{background:#fff;border-radius:14px;box-shadow:0 22px 55px rgba(0,0,0,.45);overflow:hidden;color:var(--text);}
.scard .sc-top{padding:15px 17px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--mid-gray);}
.scard .sc-top .sname{font-weight:700;color:var(--navy);font-size:.95rem;}
.scard .sc-top .sc-score{margin-left:auto;font-weight:700;color:var(--teal);font-size:1.35rem;}
.scard .sc-body{padding:15px 17px;}
.spark{width:100%;height:38px;display:block;}
.sc-lab{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-light);margin-top:8px;}
.prog{height:7px;background:var(--light-gray);border-radius:5px;overflow:hidden;margin:6px 0 0;}
.prog span{display:block;height:100%;background:var(--teal);border-radius:5px;}
.sc-meta{font-size:.76rem;color:var(--text-light);margin-top:12px;line-height:1.6;}
.sc-photos{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px;}
.sc-photos figure{position:relative;border-radius:7px;overflow:hidden;}
.sc-photos img{width:100%;height:60px;object-fit:cover;display:block;}
.sc-photos figcaption{position:absolute;bottom:3px;left:3px;font-size:.54rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:rgba(20,30,81,.82);padding:2px 5px;border-radius:3px;}
.sc-photos figcaption.aft{background:var(--teal);}

@media(max-width:820px){
  .cc-main{grid-template-columns:1fr;}
  .cc-sites{border-right:none;border-bottom:1px solid var(--mid-gray);}
  .cc-kpis{grid-template-columns:1fr 1fr;}
  .charts{grid-template-columns:1fr;}
  .site-cards{grid-template-columns:1fr;}
}

/* ===================================================================== */
/* GREEN CLEAN / ECO band                                                */
/* ===================================================================== */
.green-clean{background:#edf6f4;}
.green-eyebrow{display:block;text-align:center;color:var(--teal-dark);font-weight:600;letter-spacing:2px;text-transform:uppercase;font-size:.78rem;margin-bottom:10px;}
.green-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.green-card{background:#fff;border:1px solid #d4e9e3;border-radius:var(--radius);padding:32px 26px;text-align:center;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;}
.green-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
.green-ic{width:46px;height:46px;color:var(--teal);margin:0 auto 16px;}
.green-card h3{color:var(--navy);font-size:1.12rem;margin-bottom:10px;}
.green-card p{color:var(--text-light);font-family:'Playfair Display',serif;font-size:.95rem;line-height:1.6;}
@media(max-width:820px){.green-grid{grid-template-columns:1fr;}}

/* ===================================================================== */
/* MID CTA (after showcase)                                              */
/* ===================================================================== */
.cta-mid{background:var(--teal);text-align:center;padding:56px 0;}
.cta-mid h2{color:#fff;margin-bottom:24px;font-size:clamp(1.5rem,3vw,2rem);}
.btn-cta-light{display:inline-block;background:#fff;color:var(--navy);padding:15px 38px;border-radius:8px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:var(--shadow);}
.btn-cta-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);background:#eafafb;}

/* ===================================================================== */
/* HOW IT WORKS                                                          */
/* ===================================================================== */
.how-it-works{background:var(--light-gray);}
.hiw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px;}
.hiw-step{text-align:center;padding:0 16px;position:relative;}
.hiw-num{width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:var(--shadow);}
.hiw-step h3{color:var(--navy);font-size:1.15rem;margin-bottom:8px;}
.hiw-step p{color:var(--text-light);font-family:'Playfair Display',serif;font-size:.96rem;line-height:1.6;}
@media(max-width:760px){.hiw-grid{grid-template-columns:1fr;gap:34px;}}

/* service guarantee line in final CTA */
.cta-guarantee{color:rgba(255,255,255,.85);font-family:'Playfair Display',serif;font-style:italic;margin-top:-10px;margin-bottom:26px;font-size:1.02rem;}

/* ===================================================================== */
/* STAT BAR (under hero)                                                 */
/* ===================================================================== */
.stat-bar{background:var(--navy);padding:38px 0;}
.stat-bar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat-bar .num{display:block;font-size:2.3rem;font-weight:700;color:var(--teal);line-height:1;}
.stat-bar .lbl{display:block;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.8);margin-top:8px;}
@media(max-width:600px){.stat-bar-grid{grid-template-columns:1fr 1fr;gap:28px;}}

/* ===================================================================== */
/* WHY US — photo + checklist layout                                     */
/* ===================================================================== */
.why-us-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;}
.why-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-hover);aspect-ratio:4/3;}
.why-photo img{width:100%;height:100%;object-fit:cover;}
.why-content .why-title{text-align:left;margin-bottom:10px;}
.why-intro-left{color:var(--text-light);font-family:'Playfair Display',serif;margin-bottom:24px;font-size:1.05rem;}
.why-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;}
.why-list li{position:relative;padding-left:30px;font-size:.92rem;color:var(--text-light);font-family:'Playfair Display',serif;line-height:1.5;}
.why-list li strong{display:block;color:var(--navy);font-family:'Poppins',sans-serif;font-size:1rem;font-weight:600;margin-bottom:3px;}
.why-list li::before{content:'';position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--teal);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:13px;background-position:center;background-repeat:no-repeat;}
@media(max-width:860px){.why-us-layout{grid-template-columns:1fr;gap:30px;}.why-content .why-title{text-align:center;}.why-intro-left{text-align:center;}.why-list{grid-template-columns:1fr;}}

/* ===================================================================== */
/* FOOTER — full navigation                                              */
/* ===================================================================== */
.site-footer{background:var(--navy-dark);color:rgba(255,255,255,.72);padding:0;text-align:left;}
.footer-top{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:54px 24px 42px;}
.footer-brand .footer-logo{height:34px;width:auto;opacity:.92;margin-bottom:16px;}
.footer-addr{font-size:.9rem;line-height:1.6;margin-bottom:12px;color:rgba(255,255,255,.72);}
.footer-phones{margin:0;}
.footer-phones a{color:#fff;font-weight:600;transition:color .2s;}
.footer-phones a:hover{color:var(--teal);}
.footer-col h4{color:#fff;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
.footer-col a{color:rgba(255,255,255,.72);font-size:.92rem;transition:color .2s;}
.footer-col a:hover{color:var(--teal);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 24px;}
.footer-bottom .footer-link{color:var(--teal);font-weight:600;}
.footer-bottom .footer-link:hover{opacity:.8;}
.footer-bottom .footer-copy{font-family:'Playfair Display',serif;font-size:.82rem;opacity:.6;margin:0;}
.footer-legal{display:flex;gap:18px;}
.footer-legal a{color:rgba(255,255,255,.6);font-size:.82rem;transition:color .2s;}
.footer-legal a:hover{color:var(--teal);}
@media(max-width:820px){.footer-top{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:520px){.footer-top{grid-template-columns:1fr;}.footer-bottom-inner{flex-direction:column;text-align:center;}}
