/*
Theme Name: WesTec Modern
Theme URI: https://www.westecservices.net/
Author: WesTec Services
Description: Custom WesTec Services homepage based on the approved modern concept.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: westec-modern
*/
:root{--navy:#031b31;--blue:#09a9ff;--blue2:#168eea;--green:#65d23f;--white:#f4f8fb;--muted:#a8c6da;--line:rgba(255,255,255,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#021c32;color:var(--white);font-family:Arial,Helvetica,sans-serif}.wrap{width:min(1420px,91vw);margin:0 auto}
.hero{position:relative;min-height:918px;overflow:hidden;background:linear-gradient(90deg,rgba(1,23,42,.98) 0%,rgba(2,31,54,.93) 28%,rgba(3,36,62,.43) 58%,rgba(2,28,48,.06) 100%),url('assets/images/houston-hero.jpg') center 46%/cover no-repeat}
.hero:after{content:"";position:absolute;z-index:1;left:-8%;right:-8%;bottom:106px;height:150px;border-top:7px solid rgba(11,174,255,.88);border-radius:50%;transform:rotate(4deg);filter:drop-shadow(0 0 10px #0aa8ff);box-shadow:0 -16px 0 -12px rgba(103,213,59,.95)}
.site-header{position:relative;z-index:5}.topbar{padding:22px 0 4px}.topbar .wrap{display:flex;justify-content:flex-end;gap:34px;font-size:15px;font-weight:700;color:#e8f4fb}.topbar a{color:inherit;text-decoration:none}.navrow{display:flex;align-items:center;padding:0 0 25px;gap:28px}.brand{display:block;margin-right:auto}.brand-logo{display:block;width:470px;max-width:34vw;height:auto;filter:drop-shadow(0 0 13px rgba(5,178,255,.33))}.menu{display:flex;align-items:center;gap:29px;font-size:15px;font-weight:700;letter-spacing:.2px}.menu a{color:#e7f2f9;text-decoration:none;white-space:nowrap}.menu a:first-child{padding-bottom:9px;border-bottom:3px solid var(--green)}.menu a:hover{color:#fff}.contact-btn{display:inline-block;border:2px solid var(--blue);border-radius:14px;padding:14px 29px;color:white;text-decoration:none;font-weight:700;white-space:nowrap}
.hero-main{position:relative;z-index:3;padding:36px 0 187px}.hero-copy{width:min(620px,48vw)}.eyebrow{font-size:14px;font-weight:700;letter-spacing:7px;margin-bottom:17px}.hero h1{font-size:64px;line-height:1.02;font-weight:300;letter-spacing:-1.5px;margin:0}.hero h1 strong{display:block;color:var(--green);font-weight:800}.accent{display:block;width:70px;border-top:4px solid var(--blue);margin:21px 0 18px}.lede{font-size:17px;line-height:1.5;color:#b6d8ec;margin:0}.actions{display:flex;gap:27px;margin-top:32px}.btn{display:inline-block;border:2px solid var(--blue);border-radius:15px;padding:15px 31px;text-decoration:none;color:#fff;font-weight:800;letter-spacing:1px}.btn.primary{background:#0d8df2;border-color:#0d8df2}.side-callout{position:absolute;right:4vw;top:238px;z-index:3;color:#0d2a43;width:270px;text-transform:uppercase}.side-callout span{display:block;font-size:26px;font-weight:300}.side-callout strong{display:block;font-size:30px}.side-callout:after{content:"";display:block;width:68px;border-top:4px solid var(--green);margin-top:18px}.service-strip{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:27px;width:min(1360px,90vw);display:grid;grid-template-columns:repeat(6,1fr)}.service{text-align:center;min-height:99px;padding:0 17px;border-right:1px solid var(--line);font-weight:700;font-size:15px}.service:last-child{border-right:0}.ico{font-size:38px;line-height:1;color:var(--blue);margin-bottom:12px}.trusted{background:#f3f6fa;color:#315f8e;text-align:center;padding:39px 20px 34px;font-size:12px;letter-spacing:7px;text-transform:uppercase}.trusted:before{content:"";display:block;width:73px;border-top:4px solid var(--green);margin:0 auto 20px}.trusted strong{color:#0f4e83}.below{background:#fff;color:#153852;padding:72px 0}.below h2{font-size:40px;margin:0 0 24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:28px;border:1px solid #dce5ec;border-radius:15px;box-shadow:0 10px 30px rgba(10,43,68,.08)}.footer{padding:26px 0;color:#9cb3c3}
@media(max-width:1050px){.brand-logo{width:340px;max-width:42vw}.menu{gap:17px;font-size:13px}.hero-copy{width:58vw}.side-callout{display:none}.service-strip{grid-template-columns:repeat(3,1fr);row-gap:22px}.service:nth-child(3){border-right:0}.hero{min-height:1020px}.hero-main{padding-bottom:300px}}
@media(max-width:700px){.topbar{display:none}.navrow{flex-wrap:wrap;padding-top:16px}.brand{width:100%}.brand-logo{width:330px;max-width:90vw;margin:auto}.menu{order:3;width:100%;overflow-x:auto;justify-content:flex-start;padding:10px 0}.contact-btn{display:none}.hero-main{padding:42px 0 40px}.hero-copy{width:100%}.eyebrow{font-size:12px;letter-spacing:3px}.hero h1{font-size:46px}.actions{flex-direction:column;align-items:flex-start}.service-strip{position:relative;left:auto;transform:none;bottom:auto;width:92vw;margin:0 auto;padding:16px 0 36px;grid-template-columns:repeat(2,1fr);row-gap:28px}.service{border-right:1px solid var(--line)}.service:nth-child(even){border-right:0}.hero{min-height:0}.hero:after{bottom:260px}.trusted{letter-spacing:3px}.cards{grid-template-columns:1fr}}

/* ==========================================================
   Interior Pages
   ========================================================== */

.below article{
    max-width:1250px;
    margin:0 auto;
}

.below article > h1{
    display:table;
    margin:0 0 32px;
    color:var(--navy);
    font-size:48px;
    line-height:1.1;
    font-weight:700;
}

.below article > h1:after{
    content:"";
    display:block;
    width:100%;
    margin-top:18px;
    border-top:4px solid var(--green);
}

.below article h2{
    color:var(--navy);
    font-size:34px;
    line-height:1.2;
    margin:0 0 25px;
}

.below article h3{
    color:var(--navy);
}

.below article p{
    color:#50697a;
    font-size:16px;
    line-height:1.7;
}

.below article a{
    color:var(--blue2);
}


/* ==========================================================
   Contact Page
   ========================================================== */

.westec-contact{
    display:grid;
    grid-template-columns:minmax(300px, .85fr) minmax(400px, 1.4fr);
    gap:80px;
    align-items:start;
}

.westec-contact-intro{
    padding:38px;
    background:#f3f6fa;
    border-radius:16px;
    border-top:4px solid var(--blue);
}

.westec-contact-intro h2,
.westec-contact-form h2{
    margin-top:0;
}

.westec-contact-details{
    margin-top:35px;
}

.westec-contact-item{
    padding:20px 0;
    border-bottom:1px solid #dce5ec;
}

.westec-contact-item:last-child{
    border-bottom:0;
}

.westec-contact-item strong{
    display:block;
    margin-bottom:7px;
    color:#315f8e;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.westec-contact-item p{
    margin:0;
}

.westec-contact-item a{
    font-weight:700;
    text-decoration:none;
}

.westec-contact-item a:hover{
    text-decoration:underline;
}


/* Contact Form 7 */

.westec-contact-form{
    padding-top:38px;
}

.westec-contact-form label{
    display:block;
    color:var(--navy);
    font-size:14px;
    font-weight:700;
}

.westec-contact-form input[type="text"],
.westec-contact-form input[type="email"],
.westec-contact-form input[type="tel"],
.westec-contact-form input[type="url"],
.westec-contact-form select,
.westec-contact-form textarea{
    width:100%;
    margin-top:7px;
    padding:14px 16px;
    color:#153852;
    background:#fff;
    border:1px solid #cad8e2;
    border-radius:8px;
    font:inherit;
}

.westec-contact-form input:focus,
.westec-contact-form textarea:focus,
.westec-contact-form select:focus{
    outline:none;
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(9,169,255,.12);
}

.westec-contact-form textarea{
    min-height:150px;
    resize:vertical;
}

.westec-contact-form input[type="submit"]{
    padding:15px 31px;
    color:#fff;
    background:var(--blue2);
    border:2px solid var(--blue2);
    border-radius:15px;
    font-weight:800;
    letter-spacing:1px;
    cursor:pointer;
}

.westec-contact-form input[type="submit"]:hover{
    background:var(--navy);
    border-color:var(--navy);
}


/* Interior page mobile layout */

@media(max-width:700px){

    .below{
        padding:48px 0;
    }

    .below article > h1{
        font-size:38px;
        margin-bottom:30px;
    }

    .below article h2{
        font-size:29px;
    }

    .westec-contact{
        grid-template-columns:1fr;
        gap:30px;
    }

    .westec-contact-intro{
        padding:26px;
    }

    .westec-contact-form{
        padding-top:0;
    }
}
/* Contact form sizing adjustments */

.westec-contact-form input[type="tel"],
.westec-contact-form input[name="your-company"]{
    padding:10px 14px;
    min-height:42px;
}

.westec-contact-form textarea{
    min-height:100px;
    height:100px;
}
/* ==========================================================
   Interior Site Header
   ========================================================== */

.interior-header{
    position:relative;
    overflow:visible;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(9,169,255,.16),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #02182b 0%,
            #032641 100%
        );
    border-bottom:4px solid var(--blue);
}

.interior-header .site-header{
    position:relative;
}

.interior-header .menu a:first-child{
    border-bottom:0;
    padding-bottom:0;
}

.interior-hero{
    padding:28px 0 38px;
}

.interior-eyebrow{
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:5px;
    text-transform:uppercase;
}
.interior-header-space{
    height:48px;
}
/* ==========================================================
   WordPress Primary Menu
   ========================================================== */

.menu .primary-menu{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.menu .primary-menu > li{
    position:relative;
    margin:0;
    padding:0;
    list-style:none;
}

.menu .primary-menu > li > a{
    display:block;
    color:#e7f2f9;
    text-decoration:none;
    white-space:nowrap;
}

.menu .primary-menu > li > a:hover{
    color:#fff;
}

/* Remove old forced underline from first menu item */
.menu a:first-child{
    padding-bottom:0;
    border-bottom:0;
}

/* Current page */

.menu .primary-menu > .current-menu-item > a,
.menu .primary-menu > .current-menu-ancestor > a{
    color:#fff;
}

/* Dropdown menus */

.menu .sub-menu{
    position:absolute;
    z-index:1000;
    top:100%;
    left:-20px;

    min-width:250px;

    margin:12px 0 0;
    padding:10px 0;

    list-style:none;

    background:#031b31;

    border-top:3px solid var(--blue);
    border-radius:0 0 10px 10px;

    box-shadow:0 12px 30px rgba(0,0,0,.25);

    opacity:0;
    visibility:hidden;

    transform:translateY(8px);

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.menu .primary-menu > li:hover > .sub-menu,
.menu .primary-menu > li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.menu .sub-menu li{
    display:block;
    margin:0;
    padding:0;
}

.menu .sub-menu a{
    display:block;

    padding:11px 20px;

    color:#d9eaf5;

    font-size:14px;
    font-weight:600;

    text-decoration:none;
    white-space:nowrap;
}

.menu .sub-menu a:hover{
    color:#fff;
    background:rgba(9,169,255,.15);
}

/* Dropdown indicator */

.menu .menu-item-has-children > a:after{
    content:"▾";
    display:inline-block;
    margin-left:6px;
    color:var(--green);
    font-size:11px;
}
/* ==========================================================
   About Us
   ========================================================== */

.westec-about{
    max-width:1100px;
    margin:0 auto;
}

.westec-eyebrow{
    margin-bottom:14px;
    color:var(--blue2);
    font-size:12px;
    font-weight:800;
    letter-spacing:4px;
    text-transform:uppercase;
}

.westec-about-intro{
    max-width:850px;
    margin-bottom:60px;
}

.westec-about-intro h2{
    font-size:42px;
    font-weight:700;
    letter-spacing:-1px;
}

.westec-lead{
    font-size:19px !important;
    line-height:1.75 !important;
    color:#456579 !important;
}

.westec-about-section{
    max-width:900px;
    margin:60px 0;
}

.westec-about-section h2{
    position:relative;
    padding-bottom:16px;
}

.westec-about-section h2:after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:60px;
    border-top:4px solid var(--green);
}

.westec-about-highlight{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin:65px 0;
    overflow:hidden;
    background:var(--navy);
    border-radius:16px;
}

.westec-about-highlight > div{
    padding:38px 28px;
    text-align:center;
    border-right:1px solid rgba(255,255,255,.14);
}

.westec-about-highlight > div:last-child{
    border-right:0;
}

.westec-highlight-number{
    display:block;
    margin-bottom:8px;
    color:var(--green);
    font-size:35px;
    font-weight:800;
}

.westec-highlight-label{
    display:block;
    color:#c1d8e7;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.westec-mission{
    position:relative;
    margin-top:70px;
    padding:45px 50px;
    overflow:hidden;
    background:#f3f6fa;
    border-left:5px solid var(--blue);
    border-radius:0 16px 16px 0;
}

.westec-mission h2{
    margin-bottom:20px;
}

.westec-mission p:last-child{
    margin-bottom:0;
}

@media(max-width:700px){

    .westec-about-intro h2{
        font-size:34px;
    }

    .westec-about-highlight{
        grid-template-columns:1fr;
    }

    .westec-about-highlight > div{
        padding:28px 20px;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.14);
    }

    .westec-about-highlight > div:last-child{
        border-bottom:0;
    }

    .westec-mission{
        padding:32px 26px;
    }

}
/* ==========================================================
   IT Services
   ========================================================== */

.westec-services-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-services-intro{
    max-width:850px;
    margin-bottom:55px;
}

.westec-services-intro h2{
    font-size:42px;
    letter-spacing:-1px;
}

.westec-service-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:22px;
    margin:50px 0 70px;
}

.westec-service-card{
    position:relative;
    display:block;
    min-height:280px;
    padding:34px;
    overflow:hidden;
    color:#153852 !important;
    text-decoration:none;
    background:#fff;
    border:1px solid #dce5ec;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(10,43,68,.07);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.westec-service-card:hover{
    transform:translateY(-4px);
    border-color:var(--blue);
    box-shadow:0 18px 40px rgba(10,43,68,.13);
}

.westec-service-number{
    display:block;
    margin-bottom:28px;
    color:var(--green);
    font-size:13px;
    font-weight:800;
    letter-spacing:3px;
}

.westec-service-card h3{
    margin:0 0 15px;
    color:var(--navy);
    font-size:25px;
}

.westec-service-card p{
    margin-bottom:28px;
}

.westec-service-link{
    position:absolute;
    left:34px;
    bottom:30px;
    color:var(--blue2);
    font-size:13px;
    font-weight:800;
    letter-spacing:.5px;
}

.westec-services-together{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:60px;
    margin:70px 0;
    padding:48px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-related-services{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:14px;
}

.westec-related-services a{
    display:block;
    padding:20px;
    color:var(--navy) !important;
    text-decoration:none;
    background:#fff;
    border-left:4px solid var(--blue);
    border-radius:6px;
}

.westec-related-services a:hover{
    border-left-color:var(--green);
}

.westec-related-services strong,
.westec-related-services span{
    display:block;
}

.westec-related-services span{
    margin-top:5px;
    color:#60798a;
    font-size:13px;
}

.westec-service-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    margin-top:70px;
    padding:45px 50px;
    color:#fff;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-service-cta h2{
    margin:0 0 12px;
    color:#fff;
}

.below article .westec-service-cta p{
    max-width:650px;
    margin:0;
    color:#b9d0df;
}

.westec-service-cta .btn{
    flex:none;
}

@media(max-width:700px){

    .westec-services-intro h2{
        font-size:34px;
    }

    .westec-service-grid{
        grid-template-columns:1fr;
    }

    .westec-services-together{
        grid-template-columns:1fr;
        gap:30px;
        padding:30px 25px;
    }

    .westec-service-cta{
        align-items:flex-start;
        flex-direction:column;
        padding:32px 26px;
    }
}
.westec-service-link{
    text-decoration:none;
}

.westec-service-link:hover{
    text-decoration:underline;
}
/* ==========================================================
   Managed Services
   ========================================================== */

.westec-managed-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin:60px 0 75px;
}

.westec-benefit{
    padding:32px;
    background:#f3f6fa;
    border-top:4px solid var(--blue);
    border-radius:12px;
}

.westec-benefit h3{
    margin:0 0 14px;
    color:var(--navy);
    font-size:22px;
}

.westec-benefit p{
    margin-bottom:0;
}

.westec-managed-plans{
    margin:75px 0;
}

.westec-managed-plans > h2{
    max-width:750px;
}

.westec-managed-plans > p{
    max-width:800px;
}

.westec-plan-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    margin-top:38px;
}

.westec-plan{
    padding:38px;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:16px;
    box-shadow:0 10px 30px rgba(10,43,68,.07);
}

/* Retained for existing page markup, but no longer visually different */
.westec-plan-featured{
    border-top-color:var(--green);
}

.westec-plan-label{
    display:block;
    margin-bottom:20px;
    color:var(--blue2);
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
}

.westec-plan h3{
    margin:0 0 18px;
    color:var(--navy);
    font-size:27px;
}

.westec-managed-approach{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-managed-callout{
    padding-left:30px;
    border-left:4px solid var(--green);
}

.westec-managed-callout strong{
    display:block;
    margin:10px 0;
    color:var(--navy);
    font-size:19px;
}

@media(max-width:700px){

    .westec-benefits{
        grid-template-columns:1fr;
    }

    .westec-plan-grid{
        grid-template-columns:1fr;
    }

    .westec-managed-approach{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-managed-callout{
        padding-left:20px;
    }

}
/* ==========================================================
   Backup & Disaster Recovery
   ========================================================== */

.westec-backup-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-backup-risk{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center;
    margin:75px 0;
    padding:45px 50px;
    color:#fff;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-backup-risk h2{
    color:#fff;
}

.below article .westec-backup-risk p{
    color:#b9d0df;
}

.westec-risk-list{
    display:grid;
    gap:10px;
}

.westec-risk-list div{
    padding:13px 17px;
    color:#dcebf4;
    background:rgba(255,255,255,.06);
    border-left:3px solid var(--green);
    border-radius:4px;
}

@media(max-width:700px){

    .westec-backup-risk{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

}
/* ==========================================================
   Network Installation
   ========================================================== */

.westec-network-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-cabling{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center;
    margin:75px 0;
    padding:45px 50px;
    color:#fff;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-cabling h2{
    color:#fff;
}

.below article .westec-cabling p{
    color:#b9d0df;
}

.westec-cabling-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.westec-cabling-list div{
    padding:14px 16px;
    color:#dcebf4;
    background:rgba(255,255,255,.06);
    border-left:3px solid var(--green);
    border-radius:4px;
}

@media(max-width:700px){

    .westec-cabling{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-cabling-list{
        grid-template-columns:1fr;
    }

}
/* ==========================================================
   IT Consulting
   ========================================================== */

.westec-consulting-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-consulting-focus{
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-consulting-focus > p{
    max-width:800px;
}

.westec-focus-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:30px;
}

.westec-focus-grid div{
    padding:18px;
    color:var(--navy);
    font-weight:700;
    background:#fff;
    border-left:4px solid var(--green);
    border-radius:6px;
}

@media(max-width:700px){

    .westec-consulting-focus{
        padding:30px 25px;
    }

    .westec-focus-grid{
        grid-template-columns:1fr;
    }

}
/* ==========================================================
   Testimonials
   ========================================================== */

.westec-testimonials-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-video-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
    margin:55px 0 75px;
}

.westec-video-card{
    overflow:hidden;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:16px;
    box-shadow:0 10px 30px rgba(10,43,68,.07);
}

.westec-video{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    background:var(--navy);
}

.westec-video iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.westec-video-info{
    padding:24px 28px;
}

.westec-video-info h3{
    margin:0 0 5px;
    color:var(--navy);
    font-size:22px;
}

.westec-video-info p{
    margin:0;
    color:#60798a;
}

@media(max-width:700px){

    .westec-video-grid{
        grid-template-columns:1fr;
    }

}
/* ==========================================================
   Guarantees
   ========================================================== */

.westec-guarantee-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-guarantee-intro{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:55px;
    align-items:center;
    margin:55px 0 65px;
    padding:42px 46px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-guarantee-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin:65px 0;
}

.westec-guarantee-card{
    padding:36px;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:16px;
    box-shadow:0 10px 30px rgba(10,43,68,.07);
}

.westec-guarantee-card h3{
    margin:0 0 16px;
    color:var(--navy);
    font-size:24px;
    line-height:1.25;
}

.westec-guarantee-note{
    margin:70px 0;
    padding:40px 45px;
    background:#f3f6fa;
    border-left:5px solid var(--blue);
    border-radius:0 16px 16px 0;
}

@media(max-width:700px){

    .westec-guarantee-intro{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-guarantee-grid{
        grid-template-columns:1fr;
    }

    .westec-guarantee-card{
        padding:28px 25px;
    }

    .westec-guarantee-note{
        padding:30px 25px;
    }

}
/* ==========================================================
   Warranty
   ========================================================== */

.westec-warranty-page{
    width:100%;
    max-width:none;
    margin:0 auto;
}

/* Override the 850px marketing-page intro width */
.westec-warranty-page .westec-services-intro{
    width:100%;
    max-width:1250px;
    margin-bottom:32px;
}

.westec-warranty-page .westec-services-intro h2{
    max-width:none;
}

.westec-warranty-page .westec-services-intro p{
    max-width:none;
}

.westec-warranty-section{
    width:100%;
    margin:18px 0;
    padding:24px 30px;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:12px;
    box-shadow:0 6px 20px rgba(10,43,68,.05);
}

.westec-warranty-section h2{
    margin:0 0 14px;
    font-size:25px;
    line-height:1.2;
}

.below article .westec-warranty-section p{
    width:100%;
    max-width:none;
    margin:7px 0;
    font-size:14px;
    line-height:1.4;
}

.westec-warranty-subsection{
    width:100%;
    max-width:none;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #dce5ec;
}

.westec-warranty-subsection h3{
    margin:0 0 8px;
    font-size:20px;
}

.below article .westec-legal-list{
    width:100%;
    max-width:none;
    margin:7px 0;
    padding-left:24px;
    color:#50697a;
    font-size:14px;
    line-height:1.4;
}

.westec-legal-list li{
    margin:4px 0;
    padding-left:4px;
}

.westec-warranty-notice{
    width:100%;
    max-width:none;
    margin-top:14px;
    padding:14px 18px;
    color:#153852;
    background:#f3f6fa;
    border-left:4px solid var(--blue);
    border-radius:4px;
    font-size:15px;
    line-height:1.45;
}

.westec-warranty-legal{
    background:#f3f6fa;
}

.westec-warranty-legal p{
    font-size:14px;
    line-height:1.4;
}

@media(max-width:700px){

    .westec-warranty-section{
        padding:22px 20px;
    }

}
/* ==========================================================
   Terms & Conditions
   ========================================================== */

.westec-terms-page{
    width:100%;
    max-width:1250px;
    margin:0 auto;
}

.westec-terms-page .westec-services-intro{
    width:100%;
    max-width:none;
    margin-bottom:32px;
}

.westec-terms-section{
    width:100%;
    margin:14px 0;
    padding:20px 26px;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:12px;
    box-shadow:0 6px 20px rgba(10,43,68,.05);
}

.westec-terms-section h2{
    margin:0 0 12px;
    font-size:25px;
    line-height:1.2;
}

.westec-terms-section p{
    width:100%;
    max-width:none;
    margin:7px 0;
    font-size:14px;
    line-height:1.4;
}

.westec-terms-subsection{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #dce5ec;
}

.westec-terms-subsection h3{
    margin:0 0 7px;
    font-size:19px;
}

.westec-terms-page .westec-legal-list{
    font-size:14px;
    line-height:1.4;
}

@media(max-width:700px){

    .westec-terms-section{
        padding:22px 20px;
    }

}
/* ==========================================================
   Business Telephone Systems
   ========================================================== */

.westec-phone-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-inline-link{
    display:inline-block;
    margin-top:8px;
    color:var(--blue2) !important;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.westec-inline-link:hover{
    text-decoration:underline;
}

.westec-phone-audit{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:55px;
    align-items:center;
    margin:75px 0;
    padding:45px 50px;
    color:#fff;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-phone-audit h2{
    color:#fff;
}

.below article .westec-phone-audit p{
    color:#b9d0df;
}

.westec-phone-audit-link{
    display:block;
    padding:24px;
    color:#fff !important;
    text-decoration:none;
    background:rgba(255,255,255,.07);
    border-left:4px solid var(--green);
    border-radius:6px;
}

.westec-phone-audit-link strong,
.westec-phone-audit-link span{
    display:block;
}

.westec-phone-audit-link strong{
    font-size:21px;
}

.westec-phone-audit-link span{
    margin-top:7px;
    color:#b9d0df;
    font-size:13px;
}

.westec-phone-audit-link:hover{
    background:rgba(255,255,255,.11);
}

@media(max-width:700px){

    .westec-phone-audit{
        grid-template-columns:1fr;
        gap:28px;
        padding:30px 25px;
    }

}
/* ==========================================================
   Switchvox
   ========================================================== */

.westec-switchvox-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-switchvox-highlight{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

@media(max-width:700px){

    .westec-switchvox-highlight{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

}
/* ==========================================================
   Broadband & Phone Lines
   ========================================================== */

.westec-broadband-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-broadband-connected{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-connectivity-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:35px;
}

.westec-connectivity-item{
    padding:28px;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:12px;
    box-shadow:0 8px 24px rgba(10,43,68,.06);
}

.westec-connectivity-item h3{
    margin:0 0 12px;
    color:var(--navy);
    font-size:22px;
}

.westec-connectivity-item p{
    margin-bottom:0;
}

@media(max-width:700px){

    .westec-broadband-connected{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-connectivity-grid{
        grid-template-columns:1fr;
    }

}
/* ==========================================================
   Telecom Audit
   ========================================================== */

.westec-telecom-audit-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-audit-highlight{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-audit-offer{
    margin:75px 0;
    padding:45px 50px;
    color:#fff;
    background:var(--navy);
    border-left:5px solid var(--green);
    border-radius:0 16px 16px 0;
}

.below article .westec-audit-offer h2{
    color:#fff;
}

.below article .westec-audit-offer p{
    max-width:850px;
    margin-bottom:0;
    color:#b9d0df;
}

@media(max-width:700px){

    .westec-audit-highlight{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-audit-offer{
        padding:30px 25px;
    }

}
/* ==========================================================
   Video Security
   ========================================================== */

.westec-video-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-video-highlight{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

@media(max-width:700px){

    .westec-video-highlight{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

}
/* ==========================================================
   How Video Surveillance Works
   ========================================================== */

.westec-surveillance-guide-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-surveillance-factors{
    display:grid;
    gap:18px;
    margin:55px 0 75px;
}

.westec-surveillance-factor{
    padding:32px 36px;
    background:#f3f6fa;
    border-left:5px solid var(--green);
    border-radius:0 12px 12px 0;
}

.westec-surveillance-factor h3{
    margin:0 0 14px;
    font-size:25px;
}

.westec-surveillance-factor p:last-child{
    margin-bottom:0;
}

.westec-factor-points{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:24px;
}

.westec-factor-points div{
    padding:18px;
    background:#fff;
    border-radius:8px;
}

.westec-factor-points strong,
.westec-factor-points span{
    display:block;
}

.westec-factor-points strong{
    margin-bottom:7px;
    color:var(--navy);
}

.westec-factor-points span{
    color:#60798a;
    font-size:14px;
    line-height:1.5;
}

.westec-video-modern{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    color:#fff;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-video-modern h2{
    color:#fff;
}

.below article .westec-video-modern p{
    color:#b9d0df;
}

.westec-video-modern .westec-managed-callout strong{
    color:#fff;
}

@media(max-width:700px){

    .westec-surveillance-factor{
        padding:26px 24px;
    }

    .westec-factor-points{
        grid-template-columns:1fr;
    }

    .westec-video-modern{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

}
/* ==========================================================
   Video Surveillance in Action
   ========================================================== */

.westec-video-action-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-video-use-section{
    margin:60px 0 75px;
}

.westec-video-use-intro{
    max-width:850px;
    margin-bottom:32px;
}

.westec-video-example-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
}

.westec-video-use-dark{
    padding:45px 50px;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-video-use-dark h2{
    color:#fff;
}

.below article .westec-video-use-dark p{
    color:#b9d0df;
}

.westec-video-use-dark .westec-video-info h3{
    color:var(--navy);
}

.westec-video-use-dark .westec-video-info p{
    color:#60798a;
}

@media(max-width:700px){

    .westec-video-example-grid{
        grid-template-columns:1fr;
    }

    .westec-video-use-dark{
        padding:30px 25px;
    }

}
/* ==========================================================
   Access Control Systems
   ========================================================== */

.westec-access-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-access-highlight{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

@media(max-width:700px){

    .westec-access-highlight{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

}
/* ==========================================================
   CCTV Systems
   ========================================================== */

.westec-cctv-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-cctv-process{
    display:grid;
    gap:18px;
    margin:55px 0 75px;
}

.westec-cctv-step{
    padding:32px 36px;
    background:#f3f6fa;
    border-left:5px solid var(--green);
    border-radius:0 12px 12px 0;
}

.westec-cctv-step h3{
    margin:0 0 14px;
    color:var(--navy);
    font-size:25px;
}

.westec-cctv-step p:last-child{
    margin-bottom:0;
}

@media(max-width:700px){

    .westec-cctv-step{
        padding:26px 24px;
    }

}
/* ==========================================================
   Why Choose Us
   ========================================================== */

.westec-why-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-why-highlight{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    align-items:center;
    gap:55px;
    margin:75px 0;
    padding:45px 50px;
    background:#f3f6fa;
    border-radius:16px;
}

.westec-why-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:35px;
}

.westec-why-item{
    padding:30px;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:12px;
    box-shadow:0 8px 24px rgba(10,43,68,.06);
}

.westec-why-item h3{
    margin:0 0 12px;
    color:var(--navy);
    font-size:22px;
}

.westec-why-item p{
    margin-bottom:0;
}

.westec-licensed{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:50px;
    margin:75px 0;
    padding:40px 50px;
    color:#fff;
    background:var(--navy);
    border-radius:16px;
}

.below article .westec-licensed h2{
    color:#fff;
}

.below article .westec-licensed p{
    color:#b9d0df;
}

.below article .westec-licensed .westec-license-number{
    margin-top:18px;
    color:#fff;
    font-weight:800;
}

.westec-licensed-mark{
    text-align:center;
    padding-left:40px;
    border-left:3px solid var(--green);
}

.westec-licensed-mark span{
    display:block;
    color:var(--green);
    font-size:42px;
    font-weight:800;
    line-height:1;
}

.westec-licensed-mark strong{
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:12px;
    letter-spacing:3px;
}

@media(max-width:700px){

    .westec-why-highlight{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-why-grid{
        grid-template-columns:1fr;
    }

    .westec-licensed{
        grid-template-columns:1fr;
        gap:25px;
        padding:30px 25px;
    }

    .westec-licensed-mark{
        text-align:left;
        padding-left:20px;
    }

}
/* ==========================================================
   Articles
   ========================================================== */

.westec-articles-page{
    max-width:1100px;
    margin:0 auto;
}

.westec-article-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:50px;
}

.westec-article-card{
    overflow:hidden;
    background:#fff;
    border:1px solid #dce5ec;
    border-top:5px solid var(--green);
    border-radius:14px;
    box-shadow:0 8px 24px rgba(10,43,68,.07);
}

.westec-article-image{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#eaf0f4;
}

.westec-article-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.westec-article-body{
    padding:26px;
}

.westec-article-date{
    margin-bottom:12px;
    color:var(--blue2);
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.westec-article-card h3{
    margin:0 0 13px;
    font-size:22px;
    line-height:1.25;
}

.westec-article-card h3 a{
    color:var(--navy) !important;
    text-decoration:none;
}

.westec-article-card h3 a:hover{
    color:var(--blue2) !important;
}

.westec-article-card p{
    margin:0 0 22px;
}

.westec-article-link{
    color:var(--blue2) !important;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
    text-decoration:none;
}

.westec-article-link:hover{
    text-decoration:underline;
}

@media(max-width:950px){

    .westec-article-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:700px){

    .westec-article-grid{
        grid-template-columns:1fr;
    }

}
/* ==========================================================
   CTA Button Text Fix
   ========================================================== */

.below article .westec-service-cta a.btn,
.below article .westec-service-cta a.btn:visited{
    color:#fff !important;
    text-decoration:none;
}

.below article .westec-service-cta a.btn:hover{
    color:#fff !important;
    background:#087ed8;
    border-color:#087ed8;
}
/* ==========================================================
   Compact Interior Header
   ========================================================== */

.interior-header .topbar{
    padding:10px 0 2px;
}

.interior-header .navrow{
    padding:0 0 12px;
}

.interior-header .brand-logo{
    width:390px;
    max-width:29vw;
}

.interior-header .interior-header-space{
    height:20px;
}