/*
Theme Name: Modern Air System
Description: Custom page-template build for Modern Air System (HVAC). Dark-theme rebuild matching the reference design — no page builder required.
Version: 2.0
*/
/* Size-matched fallback so the Poppins swap does not shift the layout (Nov 2026) */
@font-face{font-family:"Poppins Fallback";src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}


:root{
    --blue:#4aabde; --blue-dark:#2f8fc4; --navy:#0d1b33; --navy-2:#0a1428;
    --ink-dark:#0a0e14; --teal-panel:#13405a; --footer-top:#1f6f99; --footer-bottom:#0d3a55;
    --text:#e8eef4; --muted:#aebccb; --line:rgba(255,255,255,.12); --maxw:1240px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:"Poppins","Poppins Fallback",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);line-height:1.6;background:var(--ink-dark);}
img{max-width:100%;height:auto;display:block;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:none;color:#fff;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-weight:700;line-height:1.15;}

.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;transition:.2s;cursor:pointer;border:0;border-radius:0;}
.btn::before{content:"\2197";display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:-6px 4px -6px -10px;font-size:18px;}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary::before{background:rgba(255,255,255,.18);}
.btn-primary:hover{background:var(--blue-dark);color:#fff;}
.btn-red{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);}
.btn-red::before{background:#e8503a;color:#fff;}
.btn-red:hover{border-color:#e8503a;}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);}
.btn-outline::before{background:var(--blue);color:#fff;}
.btn-outline:hover{border-color:var(--blue);}

.site-header{background:var(--navy);position:sticky;top:0;z-index:100;}
.header-inner{display:flex;align-items:center;gap:24px;padding:18px 24px;}
.site-logo .logo-text{font-weight:800;font-size:20px;color:#fff;letter-spacing:.02em;}
.site-logo img{max-height:78px;width:auto;}
.main-nav{margin-left:auto;}
.nav-menu{list-style:none;display:flex;gap:38px;margin:0;padding:0;}
.nav-menu a{color:#fff;font-weight:500;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding-bottom:4px;border-bottom:2px solid transparent;}
.nav-menu a:hover,.nav-menu .current-menu-item a{color:var(--blue);border-bottom-color:var(--blue);}
.header-phone{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:#fff;white-space:nowrap;border:1px solid rgba(255,255,255,.3);padding:10px 16px;}
.header-phone::before{content:"\2197";display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--blue);color:#fff;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.nav-toggle span{width:24px;height:2px;background:#fff;display:block;}
.hero-license{margin-top:20px;font-size:15px;font-weight:600;letter-spacing:.03em;color:#cdd8e2;}
.hero-license::before{content:"\2713";display:inline-block;margin-right:8px;color:var(--blue);font-weight:700;}
.hero{background-color:rgb(5,30,37);background-image:linear-gradient(90deg, rgba(5,30,37,.82) 0%, rgba(5,30,37,.35) 28%, rgba(5,30,37,0) 50%, rgba(5,30,37,0) 100%), var(--hero-img);background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden;min-height:660px;display:flex;align-items:center;padding:60px 0;}
.hero-inner{position:relative;z-index:2;width:100%;}
.hero-copy{max-width:620px;}
.hero .eyebrow{display:block;color:#fff;font-size:40px;line-height:50px;font-weight:600;margin-bottom:6px;}
.hero h1{font-size:70px;line-height:70px;margin:0 0 22px;color:#4aabde;font-weight:700;font-family: "DM Sans", Arial, Helvetica, sans-serif;}
.hero p{font-size:17px;color:#cdd8e2;max-width:540px;}
.hero p strong{color:var(--blue);}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;}

.section{padding:80px 0;}
.section-dark{background:var(--ink-dark);}
.section-teal{background:linear-gradient(135deg,#12405a,#0a1a2a);}
.section-title{font-size:34px;margin:0 0 24px;color:#fff;}
.section-title strong{color:var(--blue);font-weight:700;}
.lead{font-size:17px;color:var(--muted);max-width:820px;margin:0 0 40px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;}
.video-wrap iframe{width:100%;aspect-ratio:16/9;border:0;}
.about-text h2{font-size:30px;color:#fff;}
.about-text p{color:var(--muted);}

.page-banner{background:var(--ink-dark);color:#fff;padding:70px 0;text-align:center;}
.page-banner h1{margin:0 0 10px;font-size:48px;letter-spacing:.04em;text-transform:uppercase;}
.breadcrumb{font-size:14px;color:var(--muted);}
.breadcrumb a{color:var(--muted);}
.breadcrumb strong{color:#fff;}
.breadcrumb span{margin:0 8px;}

.panel-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px;}
.panel{background:var(--blue);color:#fff;padding:34px;}
.panel h3{margin:0 0 16px;font-size:24px;}
.panel p{margin:0;color:#eaf6ff;}
.check-list{list-style:none;padding:0;margin:0;}
.check-list li{position:relative;padding-left:24px;margin-bottom:14px;color:#eaf6ff;}
.check-list li::before{content:"\2022";position:absolute;left:4px;top:0;color:#fff;font-size:18px;}
.safety-band{text-align:center;max-width:1000px;margin:0 auto 10px;color:var(--muted);}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.service-card{background:#101a28;border:1px solid var(--line);overflow:hidden;transition:.2s;}
.service-card:hover{transform:translateY(-4px);border-color:var(--blue);}
.service-card-img{height:180px;background:linear-gradient(135deg,var(--blue),#0d3a55);}
.service-card h3{margin:18px 20px 10px;font-size:20px;color:#fff;}
.service-card p{margin:0 20px 16px;color:var(--muted);font-size:15px;}
.read-more{display:inline-block;margin:0 20px 20px;font-weight:600;color:var(--blue);text-transform:uppercase;font-size:13px;letter-spacing:.05em;}

.apart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.apart-item{background:#101a28;padding:28px;border:1px solid var(--line);}
.apart-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--blue);color:#fff;font-weight:700;font-size:18px;margin-bottom:14px;}
.apart-item h4{margin:0 0 10px;font-size:19px;color:#fff;}
.apart-item p{margin:0;color:var(--muted);font-size:15px;}

.faq-list{max-width:900px;}
.faq-item{border:1px solid var(--line);margin-bottom:12px;overflow:hidden;background:#101a28;}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 22px;font-size:16px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:#fff;}
.faq-icon{color:var(--blue);font-size:24px;line-height:1;transition:.2s;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 22px;}
.faq-a p{margin:0;padding-bottom:20px;color:var(--muted);}
.faq-item.is-open .faq-a{max-height:500px;}
.faq-item.is-open .faq-icon{transform:rotate(45deg);}

.contact-form label{display:block;margin-bottom:18px;font-weight:600;font-size:14px;color:#fff;}
.contact-form input,.contact-form textarea{width:100%;margin-top:8px;padding:13px;border:1px solid var(--line);background:#0c1420;color:#fff;font-size:15px;font-family:inherit;}
.contact-form input+input{margin-top:10px;}

.site-footer{background:linear-gradient(135deg,var(--footer-top),var(--footer-bottom));color:#dceaf3;padding:60px 0 0;background-image:linear-gradient(135deg,rgba(31,111,153,.92),rgba(13,58,85,.92)),url('https://modernmechanical.us/wp-content/uploads/2026/06/footer_bg.png');background-size:cover;background-position:center;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;align-items:start;}
.site-footer h3{color:#fff;font-size:20px;margin:0 0 18px;}
.footer-label{color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em;margin:16px 0 4px;}
.site-footer a{color:#dceaf3;}
.site-footer a:hover{color:#fff;}
.footer-menu{display:flex;flex-direction:column;align-items:flex-start;gap:0;list-style:none;padding:0;margin:0;}
.footer-menu li{margin:0 0 12px;text-transform:uppercase;font-size:14px;letter-spacing:.04em;white-space:nowrap;width:100%;}
.footer-menu li a{display:inline-block;}
.site-footer ul.nav-menu{display:block;}
.footer-social{display:flex;gap:12px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s;}
.footer-social a:hover{background:var(--blue);border-color:var(--blue);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:44px;padding:20px 0;text-align:center;font-size:14px;}

/* ===== Tablet / mobile ===== */
@media(max-width:980px){
    .two-col,.panel-row{grid-template-columns:1fr;}
    .service-grid,.apart-grid{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .hero h1{font-size:38px;line-height:1.1;}
    .page-banner h1{font-size:34px;}
    .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--navy);display:none;}
    .main-nav.is-open{display:block;}
    .nav-menu{flex-direction:column;gap:0;padding:10px 24px;}
    .nav-menu li{padding:10px 0;border-bottom:1px solid var(--line);}
    .nav-toggle{display:flex;margin-left:auto;}
    .header-phone{display:none;}

    /* Hero: keep family photo BEHIND the text like desktop */
    .hero{
        min-height:560px;
        background-position:right -40px center;
        background-size:cover;
    }
    .hero-copy{max-width:100%;}
    .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,37,.92) 0%,rgba(5,30,37,.6) 55%,rgba(5,30,37,.25) 100%);z-index:1;}
}
@media(max-width:600px){
    .service-grid,.apart-grid{grid-template-columns:1fr;}
    .hero h1{font-size:32px;}
}
@media(max-width:560px){
    .hero{min-height:480px;background-position:right -123px center;}
    .hero h1{font-size:30px;line-height:1.1;}
}

/* About page: top image */
.about-top{align-items:center;}
.about-top-img{width:100%;}
.about-top-img img{width:100%;max-width:100%;height:auto;border-radius:6px;display:block;}

/* About page: vertical marquee watermark — text scrolls up, exits top, re-enters from bottom, loops */
/*.panels-section{position:relative;overflow:hidden;}*/
/* ===== Watermark banner sections (About / Services / FAQ) ===== */
.panels-section{
    position:relative;
    overflow:hidden;
    background:linear-gradient(rgb(20 28 38 / 82%),rgb(20 28 38 / 85%)),url('https://modernmechanical.us/wp-content/uploads/2026/07/Rectangle-8.png');
    background-size:cover;
    background-position:center;
}
/* On the About wrapper, inner sections must be transparent so the watermark shows through */
.about-wrap > section{background:transparent !important;}
/* Everything real (text/containers) sits above the watermark */
.panels-section .container{position:relative;z-index:2;}
.panels-section > section{position:relative;z-index:2;}

.watermark{position:absolute;font-weight:800;text-transform:uppercase;color:rgba(255,255,255,.06);white-space:nowrap;pointer-events:none;z-index:1;letter-spacing:.04em;line-height:.85;will-change:transform;font-size:200px;writing-mode:vertical-rl;}
.watermark-left{left:2%;animation:wmUp 26s linear infinite;transform:rotate(180deg);}
.watermark-left.wm-copy2{animation-delay:-13s;}
.watermark-right{right:6%;animation:wmUp 26s linear infinite;}
.watermark-right.wm-copy2{animation-delay:-13s;}

@keyframes wmUp{
  0%{translate:0 100%;}
  100%{translate:0 -100%;}
}
@media(prefers-reduced-motion:reduce){
  .watermark{animation:none !important;translate:0 0;}
}
@media(max-width:1200px){
  .watermark{font-size:140px;}
}
@media(max-width:980px){
  .watermark{font-size:90px;color:rgba(255,255,255,.09);}
  .watermark-left{left:0;}
  .watermark-right{right:0;}
}
@media(max-width:560px){
  .watermark{font-size:64px;color:rgba(255,255,255,.1);}
}
/* === Blog Post Cards === */
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;}
.post-card{background:var(--navy);border:1px solid var(--line);overflow:hidden;transition:.2s;}
.post-card:hover{border-color:var(--blue);}
.post-card-image-link{display:block;overflow:hidden;}
.post-card-image-link img{width:100%;max-width:none;height:auto;transition:transform .3s;}
.post-card:hover .post-card-image-link img{transform:scale(1.05);}
.post-card-body{padding:24px;}
.post-card-title{margin:0 0 8px;font-size:20px;line-height:1.3;}
.post-card-title a{color:#fff;}
.post-card-title a:hover{color:var(--blue);}
.post-card-meta{font-size:13px;color:var(--muted);margin-bottom:12px;}
.post-card-excerpt{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:16px;}
.post-card .btn{font-size:12px;padding:10px 18px;}
.post-card .btn::before{width:24px;height:24px;font-size:14px;margin:-4px 4px -4px -8px;}
@media(max-width:768px){
  .post-grid{grid-template-columns:1fr;}
}

/* Press Feature Section */
.press-feature {
    background: linear-gradient(135deg, #0d1b33 0%, #1a2a4a 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.press-feature::before {
    content: '';
    position: absolute;
    top: -30%;
    left: -5%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(93, 173, 226, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.press-feature::after {
    content: '';
    position: absolute;
    bottom: -20%;
    right: 5%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.03) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.press-container {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.press-header {
    text-align: center;
    margin-bottom: 60px;
}

.press-header .eyebrow {
    color: #5DADE2;
    font-size: 12px;
    letter-spacing: 1.5px;
    display: block;
    margin-bottom: 12px;
}

.press-header h2 {
    margin-bottom: 16px;
}

.press-header p {
    font-size: 18px;
    max-width: 600px;
    margin: 0 auto;
}

.press-feature video {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
    .press-feature {
        padding: 60px 0;
    }

    .press-header {
        margin-bottom: 40px;
    }

    .press-header p {
        font-size: 16px;
    }
}
/* ==========================================
   MODERN AIR SYSTEMS
   DUAL LOCATION HEADER PHONE NUMBERS
   ========================================== */

/* Desktop phone group */

.header-phone-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex-shrink: 0;
}

/* Individual phone buttons */

.header-phone-group .header-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 10px;
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
}

/* Existing blue arrow icon */

.header-phone-group .header-phone::before {
    width: 24px;
    height: 24px;
    font-size: 14px;
    flex-shrink: 0;
}

/* City labels */

.header-phone-group .phone-location {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #aebccb;
    min-width: 78px;
}

/* Phone numbers */

.header-phone-group .phone-number {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
}

/* Hover effect */

.header-phone-group .header-phone:hover {
    border-color: #4aabde;
}

/* Slightly reduce navigation spacing */

@media (min-width: 981px) {

    .header-inner {
        gap: 16px;
    }

    .nav-menu {
        gap: 20px;
    }

    .nav-menu a {
        font-size: 13px;
    }

}

/* Hide mobile phone links on desktop */

.mobile-header-phones {
    display: none;
}

/* Tablet and mobile */

@media (max-width: 980px) {

    /* Hide desktop phone buttons */

    .header-phone-group {
        display: none;
    }

    /* Display numbers inside mobile navigation */

    .mobile-header-phones {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 18px 24px 24px;
        border-top: 1px solid rgba(255,255,255,0.15);
    }

    .mobile-header-phones a {
        display: block;
        color: #ffffff;
        font-size: 14px;
        font-weight: 600;
        padding: 10px 12px;
        background: rgba(74,171,222,0.12);
        border-left: 3px solid #4aabde;
    }

    .mobile-header-phones a:hover {
        color: #4aabde;
    }

}
/* Prevent header logo from shrinking */

.site-header .site-logo {
    flex-shrink: 0;
}

.site-header .site-logo img {
    max-height: 78px;
    width: auto;
    height: auto;
}
/* ==========================================
   MODERN AIR SYSTEMS
   HEADER SIZE & SPACING REFINEMENT
   ========================================== */

/* Reduce overall header height */
.site-header .header-inner {
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 20px;
}

/* Keep logo proportional and prevent shrinking */
.site-header .site-logo {
    flex: 0 0 auto;
}

.site-header .site-logo img {
    max-height: 58px;
    width: auto;
    height: auto;
}

/* Give navigation more breathing room */
@media (min-width: 981px) {

    .site-header .nav-menu {
        gap: 26px;
    }

    .site-header .nav-menu a {
        font-size: 13px;
        letter-spacing: 0.04em;
    }

    .site-header .main-nav {
        margin-left: auto;
    }

}

/* Keep phone numbers compact */
.site-header .header-phone-group {
    flex-shrink: 0;
}

/* Mobile adjustments */
@media (max-width: 980px) {

    .site-header .site-logo img {
        max-height: 58px;
    }

    .site-header .header-inner {
        padding-top: 12px;
        padding-bottom: 12px;
    }

}
/* ==========================================
   MODERN AIR SYSTEMS
   MOBILE MENU SCROLLING FIX
   ========================================== */

@media (max-width: 980px) {

    /* Allow the mobile menu to scroll independently */
    .site-header .main-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100dvh - var(--mobile-header-height, 90px));
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        z-index: 9999;
    }

    /* Make sure menu items remain accessible */
    .site-header .main-nav.is-open {
        display: block;
    }

    /* Keep phone numbers visible at bottom of menu */
    .site-header .mobile-header-phones {
        display: flex;
        flex-direction: column;
        padding: 15px 24px 25px;
        gap: 10px;
    }

    /* Improve mobile menu item spacing */
    .site-header .nav-menu li {
        padding: 8px 0;
    }

    /* Prevent oversized menu links */
    .site-header .nav-menu a {
        font-size: 14px;
        line-height: 1.4;
    }

}

/* Smaller phone screens */

@media (max-width: 600px) {

    .site-header .main-nav {
        max-height: calc(100dvh - var(--mobile-header-height, 90px));
    }

}
/* ==========================================
   MODERN AIR SYSTEMS
   MOBILE NAVIGATION SCROLL FIX
   ========================================== */

@media (max-width: 980px) {

    .site-header .main-nav {
        position: fixed;
        top: var(--mobile-nav-top, 90px);
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: auto;
        max-height: none;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        z-index: 9999;
    }

    .site-header .main-nav.is-open {
        display: block;
    }

    .site-header .nav-menu {
        padding-bottom: 10px;
    }

    .site-header .mobile-header-phones {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 20px 24px 40px;
    }

    .site-header .mobile-header-phones a {
        display: block;
        padding: 12px;
        color: #ffffff;
        font-size: 14px;
        font-weight: 600;
        background: rgba(74,171,222,0.12);
        border-left: 3px solid #4aabde;
    }
}


/* =====================================================================
   MAS HEADER TOP BAR + HERO REFRESH (Nov 2026)
   Delete from this comment to the END marker to revert.
   ===================================================================== */

/* --- Top bar: phones + social --- */
.header-topbar{background:var(--navy-2);border-bottom:1px solid var(--line);font-size:13px;line-height:1.2;}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;}
.topbar-phones{display:flex;align-items:center;gap:28px;}
.topbar-phone{position:relative;display:inline-flex;align-items:center;gap:8px;color:var(--text);white-space:nowrap;padding:8px 0;}
.topbar-phone .topbar-icon{flex:none;color:var(--blue);}
.topbar-city{color:var(--muted);font-weight:500;}
.topbar-number{color:#fff;font-weight:600;letter-spacing:.01em;transition:color .2s ease-out;}
.topbar-phone:hover .topbar-number{color:var(--blue);}
.topbar-phone + .topbar-phone::before{content:"";position:absolute;left:-14px;top:50%;width:1px;height:14px;transform:translateY(-50%);background:rgba(255,255,255,.18);}
.topbar-social{display:flex;align-items:center;gap:2px;margin-right:-8px;}
.topbar-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--muted);transition:color .2s ease-out,background-color .2s ease-out;}
.topbar-social a:hover{color:#fff;background:rgba(255,255,255,.08);}
.topbar-social svg{width:16px;height:16px;}
.header-topbar a:focus-visible,.site-header .nav-menu a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px;}

/* --- Main header row: compact logo, full-width menu --- */
.site-header .header-inner{padding-top:8px;padding-bottom:8px;gap:32px;}
.site-header .site-logo{flex:0 0 auto;line-height:0;}
.site-header .site-logo img,.site-header .custom-logo{display:block;max-height:100px;width:auto;height:auto;}
@media (min-width:981px){
  .site-header .main-nav{margin-left:auto;}
  .site-header .nav-menu{flex-wrap:nowrap;align-items:center;gap:clamp(18px,2.1vw,34px);}
  .site-header .nav-menu > li > a{display:inline-block;font-size:14px;letter-spacing:.05em;white-space:nowrap;padding:8px 0;}
}
@media (min-width:981px) and (max-width:1180px){
  .site-header .nav-menu{gap:16px;}
  .site-header .nav-menu > li > a{font-size:13px;letter-spacing:.03em;}
}
@media (max-width:980px){
  .site-header .header-inner{padding-top:8px;padding-bottom:8px;}
  .site-header .site-logo img,.site-header .custom-logo{max-height:64px;}
}
@media (max-width:600px){
  .topbar-inner{padding:0 14px;gap:10px;}
  .topbar-phones{gap:22px;}
  .topbar-phone{display:grid;grid-template-columns:auto auto;column-gap:7px;row-gap:1px;align-items:center;min-height:44px;padding:6px 0;}
  .topbar-phone .topbar-icon{grid-row:1 / span 2;}
  .topbar-city{font-size:11px;letter-spacing:.04em;text-transform:uppercase;}
  .topbar-number{font-size:13.5px;}
  .topbar-phone + .topbar-phone::before{left:-11px;height:26px;}
  .topbar-social a{width:30px;height:30px;}
}
@media (max-width:379px){ .topbar-social{display:none;} .topbar-phones{width:100%;justify-content:space-around;} }

/* --- Hero: align copy to the content grid so it sits beside the photo --- */
.hero .hero-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.hero .hero-copy{max-width:600px;}
.hero .eyebrow{font-size:clamp(24px,2.3vw,34px);line-height:1.2;letter-spacing:-.01em;margin-bottom:10px;}
.hero h1{font-family:inherit;font-size:clamp(40px,4.3vw,64px);line-height:1.04;letter-spacing:-.02em;text-wrap:balance;margin-bottom:20px;}
.hero p{text-wrap:pretty;}
@media (min-width:981px){
  .hero{background-image:linear-gradient(90deg,rgba(5,30,37,.9) 0%,rgba(5,30,37,.62) 34%,rgba(5,30,37,0) 58%),var(--hero-img);}
}
/* Mobile menu: open directly under the (now taller) header instead of a fixed 90px offset */
@media (max-width:980px){
  .site-header .main-nav{position:absolute;top:100%;bottom:auto;left:0;right:0;height:auto;max-height:calc(100vh - 125px);max-height:calc(100dvh - 125px);overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.35);}
  .admin-bar .site-header .main-nav{max-height:calc(100dvh - 171px);}
}
/* ===== END MAS HEADER TOP BAR + HERO REFRESH ===== */


/* =====================================================================
   MAS HOMEPAGE REFRESH (Nov 2026) — homepage sections use the mh- prefix.
   Delete from this comment to the END marker to revert the styling.
   ===================================================================== */
:root{--blue-btn:#1f7ab8;--blue-btn-hover:#18679d;--surface:#0f1a2b;--star:#f5b301;--ease-out:cubic-bezier(.22,1,.36,1);}

/* Buttons: accessible primary blue, arrows that match the destination */
.btn{transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out);}
.btn-primary{background:var(--blue-btn);}
.btn-primary:hover{background:var(--blue-btn-hover);}
.btn::before{content:"\2192";transition:transform .25s var(--ease-out);}
.btn[target="_blank"]::before{content:"\2197";}
.btn:hover::before{transform:translateX(2px);}
.btn[target="_blank"]:hover::before{transform:translate(2px,-2px);}
.btn:focus-visible,.mh-text-link:focus-visible,.mh-service h3 a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}

/* Hero image (WebP) */
.hero{--hero-img:var(--hero-img-lg);}

/* Shared section rhythm */
.mh-section{padding:clamp(64px,8vw,112px) 0;}
.mh-kicker{margin:0 0 12px;color:var(--blue);font-size:15px;font-weight:600;letter-spacing:.02em;}
.mh-section h2,.mh-reviews h2,.mh-cta h2{text-wrap:balance;}
.mh-section p{text-wrap:pretty;}

/* Reviews */
.mh-reviews{padding:clamp(56px,7vw,88px) 0;background:var(--ink-dark);border-top:1px solid var(--line);overflow:hidden;}
.mh-reviews-head{text-align:center;margin-bottom:36px;}
.mh-rating{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:10px;row-gap:6px;margin:0 0 10px;font-size:15px;font-weight:600;color:var(--text);}
.mh-rating img{width:22px;height:22px;}
.mh-stars{color:var(--star);letter-spacing:2px;font-size:15px;line-height:1;}
.mh-reviews-head h2{margin:0;font-size:clamp(26px,3vw,36px);}
.mh-reviews-window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.mh-reviews-window:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;}
.mh-reviews-track{display:flex;gap:20px;width:max-content;padding:4px 0;animation:mh-marquee 70s linear infinite;}
.mh-reviews-window:hover .mh-reviews-track,.mh-reviews-window:focus-within .mh-reviews-track{animation-play-state:paused;}
@keyframes mh-marquee{to{transform:translateX(calc(-50% - 10px));}}
.mh-review{flex:0 0 340px;margin:0;display:flex;flex-direction:column;gap:14px;padding:26px 26px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;}
.mh-review blockquote{margin:0;flex:1;}
.mh-review blockquote p{margin:0;font-size:15px;line-height:1.65;color:var(--text);}
.mh-review figcaption{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;}
.mh-review figcaption img{width:18px;height:18px;flex:none;}
.mh-review-name{font-weight:600;color:#fff;}
.mh-review-src{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap;}
@media (max-width:768px),(prefers-reduced-motion:reduce){
  .mh-reviews-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-mask-image:none;mask-image:none;}
  .mh-reviews-window::-webkit-scrollbar{display:none;}
  .mh-reviews-track{animation:none;padding:4px 20px;}
  .mh-review[aria-hidden="true"]{display:none;}
  .mh-review{flex-basis:min(320px,82vw);scroll-snap-align:center;}
  .mh-reviews-track{align-items:flex-start;}
}

/* About */
.mh-about{background:var(--navy-2);}
.mh-about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;}
.mh-video{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.mh-video iframe{display:block;width:100%;height:100%;border:0;}
.mh-about-text h2{font-size:clamp(28px,3.2vw,40px);margin:0 0 16px;}
.mh-about-text p{font-size:17px;color:#cdd8e2;max-width:46ch;margin:0 0 28px;}

/* Services */
.mh-services{background:var(--ink-dark);}
.mh-services-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;}
.mh-services h2{font-size:clamp(28px,3.2vw,40px);margin:0 0 20px;}
.mh-services-copy p:not(.mh-kicker){color:#cdd8e2;max-width:62ch;margin:0 0 16px;line-height:1.75;}
.mh-services-photo{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.mh-services-photo img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;}
.mh-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,72px);margin-top:clamp(48px,6vw,80px);}
.mh-service{padding:28px 0 30px;border-top:1px solid var(--line);}
.mh-service h3{margin:0 0 10px;font-size:20px;}
.mh-service h3 a{display:inline-flex;align-items:center;gap:10px;color:#fff;transition:color .2s var(--ease-out);}
.mh-service h3 a::after{content:"\2192";color:var(--blue);transition:transform .25s var(--ease-out);}
.mh-service h3 a:hover{color:var(--blue);}
.mh-service h3 a:hover::after{transform:translateX(4px);}
.mh-service p{margin:0;color:#cdd8e2;max-width:58ch;line-height:1.7;}

/* Local experience + FAQ */
.mh-local{background:var(--navy);}
.mh-local-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,88px);align-items:start;}
.mh-local h2{font-size:clamp(26px,2.8vw,34px);margin:0 0 20px;}
.mh-local-copy p{color:#cdd8e2;max-width:58ch;margin:0 0 16px;line-height:1.75;}
.mh-local-copy .btn{margin-top:16px;}
.mh-faq-item{border-top:1px solid var(--line);}
.mh-faq-item:last-of-type{border-bottom:1px solid var(--line);}
.mh-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;}
.mh-faq-item summary::-webkit-details-marker{display:none;}
.mh-faq-item summary h3{margin:0;font-size:17px;font-weight:600;line-height:1.4;color:#fff;transition:color .2s var(--ease-out);}
.mh-faq-item summary::after{content:"";flex:none;width:10px;height:10px;margin-right:4px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:translateY(-3px) rotate(45deg);transition:transform .25s var(--ease-out);}
.mh-faq-item[open] summary::after{transform:translateY(3px) rotate(-135deg);}
.mh-faq-item summary:hover h3{color:var(--blue);}
.mh-faq-item summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;}
.mh-faq-item p{margin:0 0 22px;color:#cdd8e2;max-width:62ch;line-height:1.7;}

/* Press */
.mh-press{background:var(--ink-dark);}
.mh-press-head{text-align:center;max-width:760px;margin:0 auto clamp(36px,5vw,56px);}
.mh-press-head h2{font-size:clamp(28px,3.2vw,40px);margin:0 0 18px;}
.mh-press-quote{margin:0;font-size:clamp(18px,1.8vw,22px);font-weight:500;line-height:1.5;color:#cdd8e2;text-wrap:balance;}
.mh-press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px);}
.mh-press-item{margin:0;}
.mh-press-item video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.4);}
.mh-press-item figcaption{padding-top:16px;}
.mh-press-item h3{margin:0 0 6px;font-size:17px;font-weight:600;}
.mh-text-link{color:var(--blue);font-weight:600;font-size:15px;}
.mh-text-link:hover{color:#fff;}

/* Closing call to action */
.mh-cta{background:var(--navy);border-top:1px solid var(--line);padding:clamp(48px,6vw,72px) 0;}
.mh-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px 40px;flex-wrap:wrap;}
.mh-cta h2{margin:0 0 6px;font-size:clamp(26px,3vw,36px);}
.mh-cta p{margin:0;color:#dceaf3;font-size:17px;}
.mh-cta-actions{display:flex;flex-wrap:wrap;gap:12px;}
.btn-call{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:11px 22px;background:#fff;color:var(--navy);font-size:17px;font-weight:700;letter-spacing:0;text-transform:none;}
.btn-call::before{display:none;}
.btn-call:hover{background:#e6f2fa;color:var(--navy);}
.btn-call-city{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3d5a78;}

/* Footer background (WebP, self-hosted) */
.site-footer{background-image:linear-gradient(135deg,rgba(31,111,153,.92),rgba(13,58,85,.92)),url("/wp-content/uploads/2026/11/mas-footer-bg-1920.webp");}

@media (max-width:980px){
  .mh-about-grid,.mh-services-intro,.mh-local-grid,.mh-press-grid{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .mh-service-list{grid-template-columns:1fr;}
  .mh-cta-actions{width:100%;}
  .mh-cta-actions .btn{flex:1 1 100%;justify-content:center;}
  .btn-call{align-items:center;}
}
@media (prefers-reduced-motion:reduce){
  .btn::before,.mh-service h3 a::after,.mh-faq-item summary::after{transition:none;}
}
/* --- Light sections (v2): white / cool-gray bands below the hero --- */
:root{--light-bg:#f3f6f9;--light-line:#dde4ec;--ink:#0d1b33;--ink-body:#3b4b5e;--blue-ink:#1b6fa8;}
.mh-reviews,.mh-services,.mh-press{background:#fff;color:var(--ink-body);}
.mh-about,.mh-local{background:var(--light-bg);color:var(--ink-body);}
.mh-reviews{border-top:0;}
.mh-reviews h2,.mh-about h2,.mh-services h2,.mh-local h2,.mh-press h2,.mh-service h3,.mh-press-item h3,.mh-faq-item summary h3,.mh-rating,.mh-review-name{color:var(--ink);}
.mh-review{background:var(--light-bg);border-color:var(--light-line);}
.mh-review blockquote p{color:var(--ink);}
.mh-review figcaption{border-top-color:var(--light-line);}
.mh-review-src{color:#5b6b7d;}
.mh-about-text p,.mh-services-copy p:not(.mh-kicker),.mh-service p,.mh-local-copy p,.mh-faq-item p,.mh-press-quote{color:var(--ink-body);}
.mh-kicker{color:var(--blue-ink);}
.mh-service{border-top-color:var(--light-line);}
.mh-service h3 a{color:var(--ink);}
.mh-service h3 a::after{color:var(--blue-ink);}
.mh-service h3 a:hover,.mh-faq-item summary:hover h3{color:var(--blue-ink);}
.mh-faq-item,.mh-faq-item:last-of-type{border-color:var(--light-line);}
.mh-faq-item summary::after{border-color:var(--blue-ink);}
.mh-text-link{color:var(--blue-ink);}
.mh-text-link:hover{color:var(--ink);}
.mh-video,.mh-services-photo{box-shadow:0 18px 40px rgba(13,27,51,.16);}
.mh-press-item video{box-shadow:0 16px 36px rgba(13,27,51,.18);}
.mh-reviews .mh-stars{color:#e0a200;}
/* ===== END MAS HOMEPAGE REFRESH ===== */


/* =====================================================================
   MAS FOOTER REFRESH (Nov 2026) — footer uses the mf- prefix.
   ===================================================================== */
.site-footer.mf{background:#0a1428;background-image:none;color:#aebccb;padding:0;border-top:1px solid rgba(255,255,255,.08);}
.mf-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:44px clamp(32px,4vw,64px);padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(44px,5vw,64px);}
.mf-logo a{display:inline-block;line-height:0;}
.mf-logo .custom-logo{display:block;max-height:88px;width:auto;height:auto;}
.site-footer .mf-brand p{margin:18px 0 0;max-width:38ch;font-size:15px;line-height:1.7;color:#aebccb;}
.site-footer .mf-brand .mf-license{margin-top:10px;font-size:13px;color:#8fa1b4;}
.site-footer .mf-social{margin-top:22px;gap:10px;}
.site-footer .mf-social a{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#c3cfdb;transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out;}
.site-footer .mf-social a:hover{color:#fff;background:var(--blue-btn,#1f7ab8);border-color:transparent;}
.site-footer .mf-title{margin:0 0 18px;font-size:15px;font-weight:600;letter-spacing:.01em;color:#fff;}
.site-footer .mf-title-hours{margin-top:28px;}
.mf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.site-footer .mf-col a{color:#c3cfdb;font-size:15px;line-height:1.4;transition:color .2s ease-out;}
.site-footer .mf-col a:hover{color:#fff;}
.mf-contact ul{gap:16px;}
.site-footer .mf-contact a{display:flex;flex-direction:column;gap:3px;}
.mf-label{font-size:12px;font-weight:500;color:#8fa1b4;}
.mf-num{color:#fff;font-weight:600;font-size:16px;}
.mf-email{word-break:break-word;}
.site-footer .mf-hours{margin:0;font-size:15px;line-height:1.7;color:#c3cfdb;}
.mf-bottom{border-top:1px solid rgba(255,255,255,.08);}
.mf-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;}
.site-footer .mf-bottom p{margin:0;font-size:13.5px;color:#8fa1b4;}
.mf-bottom nav{display:flex;gap:22px;}
.site-footer .mf-bottom a{font-size:13.5px;color:#aebccb;}
.site-footer .mf-bottom a:hover{color:#fff;}
.site-footer.mf a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px;}
/* Closing CTA band sits on brand blue so it separates from the navy footer */
.mh-cta{background:#17639a;border-top:0;}
.mh-cta p{color:#e6f1f9;}
.mh-cta .btn-red{border-color:rgba(255,255,255,.55);}
@media (max-width:980px){
  .mf-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .mf-brand{grid-column:1 / -1;}
}
@media (max-width:640px){
  .mf-grid{grid-template-columns:1fr 1fr;gap:36px 24px;}
  .mf-contact{grid-column:1 / -1;}
  .mf-bottom-inner{flex-direction:column;align-items:flex-start;}
}
/* ===== END MAS FOOTER REFRESH ===== */

/* Archive intro text (added Nov 2026) */
.archive-intro{max-width:70ch;margin:0 auto 2rem;color:var(--muted);text-align:center;}

/* Service page trust + quote block (added Nov 2026) */
.mas-quote{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:3rem 0 1rem;padding:2rem;background:var(--teal-panel);border-radius:8px;}
.mas-quote h2{margin-top:0;}
.mas-trust-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.5rem;}
.mas-trust-list li::before{content:"✓";color:var(--blue);font-weight:700;margin-right:.5rem;}
.mas-review{margin:0 0 1rem;padding:1rem 1.25rem;background:var(--navy-2);border-radius:6px;}
.mas-review blockquote{margin:.25rem 0 .5rem;}
.mas-review blockquote p{margin:0;}
.mas-review figcaption{color:var(--muted);font-size:.9em;}
.mas-stars{color:#f5b301;letter-spacing:2px;}
.mas-quote-form a{color:var(--blue);font-weight:700;}
@media (max-width:860px){.mas-quote{grid-template-columns:1fr;padding:1.25rem;}}


/* =====================================================================
   MAS SERVICE PAGES v2 (Nov 2026) — layout in index.php, ms- prefix.
   Photo banner + breadcrumb, lead with contact card, H2 sections as
   alternating full-width bands, list tiles, FAQ accordion.
   ===================================================================== */
.ms-banner,.ms-lead,.ms-sec,.ms-quote-band{--ink:#0d1b33;--ink-body:#3b4b5e;--blue-ink:#1b6fa8;--light-bg:#f3f6f9;--light-line:#dde4ec;}

/* Banner */
.ms-banner{background-color:#0d1b33;background-image:linear-gradient(90deg,rgba(9,18,36,.95) 0%,rgba(9,18,36,.84) 45%,rgba(9,18,36,.55) 100%),var(--ms-banner-img,none);background-size:cover;background-position:center;color:#dbe5ee;padding:clamp(36px,4.5vw,64px) 0 clamp(44px,5vw,72px);}
.ms-banner-inner{max-width:780px;}
.ms-crumbs ol{list-style:none;display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 26px;padding:7px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:13.5px;line-height:1.4;}
.ms-crumbs li{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.75);}
.ms-crumbs li + li::before{content:"";width:5px;height:5px;border-top:1.5px solid rgba(255,255,255,.55);border-right:1.5px solid rgba(255,255,255,.55);transform:rotate(45deg);}
.ms-crumbs a{color:rgba(255,255,255,.88);transition:color .2s ease-out;}
.ms-crumbs a:hover{color:#fff;}
.ms-crumbs [aria-current="page"]{color:#fff;font-weight:600;}
.ms-banner h1{margin:0 0 16px;font-size:clamp(32px,4.2vw,54px);line-height:1.08;letter-spacing:-.02em;color:#fff;text-wrap:balance;}
.ms-banner .ms-tagline{margin:0 0 14px;font-size:clamp(17px,1.6vw,20px);font-weight:600;line-height:1.4;color:#7cc3ea;text-wrap:balance;}
.ms-banner .ms-intro{margin:0 0 30px;max-width:62ch;font-size:17.5px;line-height:1.7;color:#dbe5ee;text-wrap:pretty;}
.ms-banner .ms-intro a{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.ms-banner-actions{display:flex;flex-wrap:wrap;gap:12px;}
.ms-btn-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);}
.ms-btn-light::before{background:rgba(255,255,255,.14);}
.ms-btn-light:hover{border-color:#fff;color:#fff;}
.ms-trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin:24px 0 0;padding:0;list-style:none;font-size:14.5px;color:#cdd8e2;}
.ms-trust li{display:inline-flex;align-items:center;gap:8px;}
.ms-trust li::before{content:"\2713";color:#7cc3ea;font-weight:700;}
.ms-banner a:focus-visible{outline:2px solid #7cc3ea;outline-offset:3px;}

/* Shared prose */
.ms-prose{font-size:17px;line-height:1.75;color:var(--ink-body);}
.ms-prose > :first-child{margin-top:0;}
.ms-prose > :last-child{margin-bottom:0;}
.ms-prose p{margin:0 0 1.1em;color:var(--ink-body);text-wrap:pretty;}
.ms-prose h3{margin:1.7em 0 .5em;font-size:19px;line-height:1.35;color:var(--ink);text-wrap:balance;}
.ms-prose h4{margin:1.5em 0 .4em;font-size:17px;color:var(--ink);}
.ms-prose strong{color:var(--ink);font-weight:600;}
.ms-prose a:not(.wp-block-button__link):not(.btn){color:var(--blue-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.ms-prose a:not(.wp-block-button__link):not(.btn):hover{color:var(--ink);}
.ms-prose ul{list-style:none;margin:1.4em 0 1.6em;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ms-prose ul li{display:flex;align-items:flex-start;gap:12px;margin:0;padding:14px 16px;background:var(--light-bg);border:1px solid var(--light-line);border-radius:10px;font-size:15.5px;line-height:1.5;color:var(--ink);}
.ms-sec.is-alt .ms-prose ul li{background:#fff;}
.ms-prose ul li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23e3eef7'/%3E%3Cpath d='M6 10.4l2.6 2.6L14 7.6' fill='none' stroke='%231b6fa8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
.ms-prose ol{margin:1.2em 0 1.6em;padding-left:1.4em;}
.ms-prose ol li{margin:0 0 .6em;padding-left:.3em;}
.ms-prose ol li::marker{color:var(--blue-ink);font-weight:700;}
.ms-prose figure{margin:1.8em 0;}
.ms-prose img{max-width:100%;height:auto;border-radius:12px;}
.ms-prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15.5px;}
.ms-prose th,.ms-prose td{padding:12px 14px;border-bottom:1px solid var(--light-line);text-align:left;}
.ms-prose th{color:var(--ink);background:var(--light-bg);}
.ms-prose .wp-block-buttons{margin:1.6em 0 0;gap:12px;}
.ms-prose .wp-block-button__link,.ms-prose .wp-block-button__link.has-vivid-cyan-blue-background-color{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:0;background:var(--blue-btn,#1f7ab8) !important;color:#fff !important;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:background-color .2s ease-out;}
.ms-prose .wp-block-button__link strong{color:#fff;font-weight:600;}
.ms-prose .wp-block-button__link::after{content:"\2192";transition:transform .25s cubic-bezier(.22,1,.36,1);}
.ms-prose .wp-block-button__link:hover{background:var(--blue-btn-hover,#18679d) !important;}
.ms-prose .wp-block-button__link:hover::after{transform:translateX(3px);}
.ms-prose a:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px;}

/* Reading layout: sticky "On this page" + one comfortable column */
.msx{--ink:#0d1b33;--ink-body:#2f3e50;--blue-ink:#1b6fa8;--light-bg:#f3f6f9;--light-line:#dde4ec;background:#fff;padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,104px);}
.msx-grid{display:grid;grid-template-columns:250px minmax(0,760px);justify-content:center;gap:clamp(40px,6vw,96px);align-items:start;}
.msx-side{position:sticky;top:150px;display:grid;gap:22px;}
.admin-bar .msx-side{top:182px;}
.msx-toc-title{margin:0 0 10px;padding:0 12px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink);}
.msx-toc ul,.msx-toc-mobile ul{list-style:none;margin:0;padding:0;}
.msx-toc a{display:block;padding:7px 12px;border-radius:8px;font-size:14px;line-height:1.4;color:#4a5a6c;transition:color .2s ease-out,background-color .2s ease-out;}
.msx-toc a:hover{color:var(--ink);background:var(--light-bg);}
.msx-toc a.is-active{color:var(--blue-ink);background:#e8f1f9;font-weight:600;}
.msx-toc a:focus-visible,.msx-toc-mobile a:focus-visible,.msx-toc-mobile summary:focus-visible{outline:2px solid var(--blue-ink);outline-offset:2px;}
.msx-book{width:100%;justify-content:center;}
.msx-main{min-width:0;}
.msx .ms-prose{font-size:18px;line-height:1.75;color:var(--ink-body);}
.msx .ms-prose p{color:var(--ink-body);}
.msx-lead > p:first-child{font-size:clamp(20px,1.8vw,23px);line-height:1.6;font-weight:500;color:var(--ink);}
.msx-sec{margin-top:clamp(40px,5vw,60px);padding-top:clamp(40px,5vw,60px);border-top:1px solid var(--light-line);scroll-margin-top:150px;}
.msx-sec.is-first{margin-top:0;padding-top:0;border-top:0;}
.msx-sec h2{margin:0 0 18px;font-size:clamp(25px,2.4vw,32px);line-height:1.2;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;}
.msx-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:clamp(40px,5vw,60px);padding:28px 32px;background:var(--ink);border-radius:16px;color:#cdd8e2;}
.msx-cta-title{margin:0 0 6px;font-size:20px;font-weight:700;color:#fff;}
.msx-cta p{margin:0;max-width:44ch;font-size:15.5px;line-height:1.6;}
.msx-cta-actions{display:flex;flex-wrap:wrap;gap:10px;}
.msx-toc-mobile{display:none;}
@media (max-width:1080px){ .msx-grid{grid-template-columns:220px minmax(0,1fr);} }
@media (max-width:900px){
  .msx-grid{grid-template-columns:minmax(0,1fr);}
  .msx-side{display:none;}
  .msx-toc-mobile{display:block;margin:0 0 32px;background:var(--light-bg);border:1px solid var(--light-line);border-radius:12px;}
  .msx-toc-mobile summary{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;font-weight:600;color:var(--ink);cursor:pointer;list-style:none;}
  .msx-toc-mobile summary::-webkit-details-marker{display:none;}
  .msx-toc-mobile summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--blue-ink);border-bottom:2px solid var(--blue-ink);transform:translateY(-3px) rotate(45deg);transition:transform .25s ease-out;}
  .msx-toc-mobile[open] summary::after{transform:translateY(2px) rotate(-135deg);}
  .msx-toc-mobile ul{padding:0 10px 12px;}
  .msx-toc-mobile a{display:block;padding:10px 8px;border-top:1px solid var(--light-line);font-size:15px;color:var(--ink-body);}
  .msx .ms-prose{font-size:17px;}
  .msx-cta{padding:24px;}
  .msx-cta-actions,.msx-cta-actions .btn{width:100%;}
  .msx-cta-actions .btn{justify-content:center;align-items:center;}
}

/* Quote form band + other services */
.ms-quote-band{background:#fff;padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--light-line);}
/* Request service / estimate block (from page content), light version */
.ms-quote-band{background:#fff;padding:0 0 clamp(56px,7vw,96px);}
.ms-quote-band .mas-quote{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,56px);margin:0;padding:clamp(28px,4vw,48px);background:var(--light-bg);border:1px solid var(--light-line);border-radius:18px;color:var(--ink-body);scroll-margin-top:150px;}
.ms-quote-band .mas-quote h2{margin:0 0 18px;font-size:clamp(24px,2.4vw,30px);line-height:1.25;color:var(--ink);text-wrap:balance;}
.ms-quote-band .mas-trust-list{gap:12px;font-size:16px;color:var(--ink-body);}
.ms-quote-band .mas-trust-list li::before{color:var(--blue-ink);}
.ms-quote-band .mas-review{display:none;}
.ms-quote-band .mas-quote-form > p{color:var(--ink-body);}
.ms-quote-band .mas-quote-form a{color:var(--blue-ink);}
.ms-quote-band .wpforms-container .wpforms-field-label{color:var(--ink) !important;font-weight:600 !important;font-size:14px !important;}
.ms-quote-band .wpforms-form label.wpforms-field-label-inline,.ms-quote-band .wpforms-form .wpforms-field-description,.ms-quote-band #wpforms-226-field_7-description{color:var(--ink-body) !important;}
.ms-quote-band .wpforms-form .wpforms-field-description a{color:var(--blue-ink) !important;}
.ms-quote-band .wpforms-form input[type="text"],.ms-quote-band .wpforms-form input[type="tel"],.ms-quote-band .wpforms-form input[type="email"],.ms-quote-band .wpforms-form textarea{background:#fff !important;color:var(--ink) !important;border:1px solid #b9c6d3 !important;border-radius:8px !important;min-height:46px;font-size:16px !important;}
.ms-quote-band .wpforms-form textarea{min-height:120px;}
.ms-quote-band .wpforms-form input:focus,.ms-quote-band .wpforms-form textarea:focus{border-color:var(--blue-ink) !important;box-shadow:0 0 0 3px rgba(27,111,168,.18) !important;outline:0;}
.ms-quote-band .wpforms-form ::placeholder{color:#6b7a8b !important;}
.ms-quote-band .wpforms-form input[type="checkbox"]{border-color:#8a99aa !important;}
.ms-quote-band .wpforms-form .wpforms-submit{background:var(--blue-btn,#1f7ab8) !important;color:#fff !important;font-size:15px !important;font-weight:600 !important;padding:14px 28px !important;min-height:48px;border:0 !important;border-radius:0 !important;letter-spacing:.03em;}
.ms-quote-band .wpforms-form .wpforms-submit:hover{background:var(--blue-btn-hover,#18679d) !important;}
.ms-quote-band label.wpforms-error{color:#b42318 !important;}
.ms-quote-band #wpforms-226-field_7-container label.wpforms-field-label-inline,.ms-quote-band #wpforms-226-field_7_1 + label,.ms-quote-band #wpforms-226-field_7-description,.ms-quote-band #wpforms-226-field_7-container .wpforms-field-description{color:var(--ink-body) !important;}
.ms-quote-band #wpforms-226-field_7-description a,.ms-quote-band #wpforms-226-field_7-container .wpforms-field-description a{color:var(--blue-ink) !important;}
.ms-quote-band .mas-quote-trust{position:sticky;top:150px;align-self:start;}
@media (max-width:860px){ .ms-quote-band .mas-quote-trust{position:static;} }
@media (max-width:860px){ .ms-quote-band .mas-quote{grid-template-columns:1fr;} }


.ms-more{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:clamp(36px,5vw,56px);}
.ms-more-title{margin:0;font-size:16px;font-weight:700;color:var(--ink);}
.ms-more ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.ms-more a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--light-line);border-radius:999px;background:#fff;color:var(--ink);font-size:14.5px;font-weight:500;transition:border-color .2s ease-out,color .2s ease-out,background-color .2s ease-out;}
.ms-more a:hover{border-color:var(--blue-ink);color:var(--blue-ink);background:#f5f9fc;}
.ms-more a:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px;}

/* Reviews band variant */
.mh-reviews.is-alt{background:var(--light-bg,#f3f6f9);}
.mh-reviews.is-alt .mh-review{background:#fff;}

@media (max-width:1100px){ .ms-lead-grid{grid-template-columns:minmax(0,1fr) 320px;} }
@media (max-width:980px){
  .ms-lead-grid{grid-template-columns:1fr;}
  .ms-lead-body{max-width:none;}
  .ms-sec-grid{grid-template-columns:1fr;gap:20px;}
  .ms-sec-head{position:static;}
  .ms-sec-body{max-width:none;}
}
@media (max-width:640px){
  .ms-banner{background-image:linear-gradient(180deg,rgba(9,18,36,.9),rgba(9,18,36,.86)),var(--ms-banner-img,none);}
  .ms-prose ul{grid-template-columns:1fr;}
  .ms-banner-actions .btn{flex:1 1 100%;justify-content:center;}
  .ms-banner-actions .btn-call{align-items:center;}
  .ms-trust{flex-direction:column;gap:8px;}
  .ms-prose{font-size:16.5px;}
}
@media (prefers-reduced-motion:reduce){ .ms-prose .wp-block-button__link::after{transition:none;} }

/* Mid-page call panel: centered (Nov 11) */
.msx-cta{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;padding:36px 32px;}
.msx-cta p{margin-left:auto;margin-right:auto;}
.msx-cta-actions{justify-content:center;}
.msx-cta .btn-call{align-items:center;text-align:center;min-width:180px;}
@media (max-width:900px){ .msx-cta{padding:28px 22px;} }
/* ===== END MAS SERVICE PAGES ===== */

/* Author box on blog posts (added Nov 2026) */
.author-box{margin:3rem 0 1rem;padding:1.25rem 1.5rem;background:var(--teal-panel);border-radius:8px;}
.author-box p{margin:.25rem 0;}
.author-box-name{font-weight:700;}
.author-box a{color:var(--blue);}


/* =====================================================================
   MAS SOCIAL ICONS (Nov 2026) — markup from ma_social_links().
   ===================================================================== */
.ma-social{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px;}
.ma-social li{margin:0;padding:0;}
.ma-social li::before{content:none;}
.ma-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;line-height:0;transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out,transform .2s ease-out;}
.ma-social svg{display:block;width:17px;height:17px;}
.ma-social a:hover{transform:translateY(-1px);}
.ma-social a:focus-visible{outline:2px solid #7cc3ea;outline-offset:2px;}
/* Top bar */
.header-topbar .ma-social{gap:6px;margin:0;}
.header-topbar .ma-social a{width:28px;height:28px;color:#c3cfdb;background:rgba(255,255,255,.07);border:0;}
.header-topbar .ma-social svg{width:14px;height:14px;}
.header-topbar .ma-social a:hover{color:#fff;background:var(--blue-btn,#1f7ab8);}
/* Footer + contact page (dark surfaces) */
.site-footer .ma-social.mf-social{gap:10px;margin-top:22px;}
.site-footer .ma-social.mf-social a,.ma-social.ma-social-contact a{width:40px;height:40px;color:#dbe5ee;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);}
.site-footer .ma-social.mf-social a:hover,.ma-social.ma-social-contact a:hover{color:#fff;background:var(--blue-btn,#1f7ab8);border-color:var(--blue-btn,#1f7ab8);}
.ma-social.ma-social-contact{gap:10px;margin-top:14px;}
@media (prefers-reduced-motion:reduce){ .ma-social a{transition:none;} .ma-social a:hover{transform:none;} }
/* ===== END MAS SOCIAL ICONS ===== */

/* Homepage video: click-to-play poster (Nov 2026) */
.mh-video-facade{position:relative;display:block;width:100%;height:100%;padding:0;border:0;margin:0;background:#000;cursor:pointer}
.mh-video-facade img{display:block;width:100%;height:100%;object-fit:cover}
.mh-video-facade .mh-play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:rgba(13,27,51,.78);box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s,background .2s}
.mh-video-facade .mh-play::after{content:"";position:absolute;left:31px;top:24px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fff}
.mh-video-facade:hover .mh-play,.mh-video-facade:focus-visible .mh-play{transform:scale(1.08);background:rgba(43,111,216,.9)}
.mh-video-facade:focus-visible{outline:3px solid #A5D7FC;outline-offset:3px}

/* ===== Mega menu: Services and Locations (Nov 2026) ===== */
.main-nav .mega-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#fff;padding:4px;margin-left:2px;cursor:pointer;vertical-align:middle;opacity:.85}
.main-nav .mega-toggle svg{transition:transform .2s}
.main-nav .mas-mega.is-open > .mega-toggle svg{transform:rotate(180deg)}
.main-nav .mega-panel .mega-item a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;border:0;text-transform:none;letter-spacing:0;white-space:normal;color:var(--navy)}
.main-nav .mega-panel .mega-item a:hover,.main-nav .mega-panel .mega-item a:focus-visible{background:#eef5fb;color:var(--navy);border:0}
.main-nav .mega-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:var(--navy);color:#fff}
.main-nav .mega-ico--alt{background:var(--blue-btn)}
.main-nav .mega-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.main-nav .mega-title{font-size:14.5px;font-weight:600;line-height:1.25;color:var(--navy)}
.main-nav .mega-desc{font-size:12.5px;font-weight:400;line-height:1.4;color:#5a6b7d}
.main-nav .mega-panel .mega-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;padding:14px 16px;border-radius:10px;background:var(--navy);color:#fff;font-size:14px}
.main-nav .mega-panel .mega-cta .mega-cta-btn{flex:none;display:inline-flex;gap:6px;align-items:center;padding:9px 16px;border-radius:7px;background:var(--blue-btn);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:0;white-space:nowrap}
.main-nav .mega-panel .mega-cta .mega-cta-btn:hover{background:var(--blue-btn-hover);color:#fff}
@media (min-width:981px){
  .site-header .header-inner{position:relative}
  .main-nav .nav-menu > li.mas-mega{position:static;display:flex;align-items:center}
  .main-nav .nav-menu > li.mas-mega > .mega-panel{display:grid;visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:calc(100% - 8px);left:50%;transform:translate(-50%,8px);width:min(960px,calc(100vw - 48px));min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;padding:16px;margin:0;list-style:none;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(10,20,40,.28);z-index:9999;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
  .main-nav .nav-menu > li.mas-mega > .mega-panel--loc{width:min(780px,calc(100vw - 48px))}
  .main-nav .nav-menu > li.mas-mega > .mega-panel::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
  .main-nav .nav-menu > li.mas-mega:hover > .mega-panel,.main-nav .nav-menu > li.mas-mega:focus-within > .mega-panel,.main-nav .nav-menu > li.mas-mega.is-open > .mega-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0);transition:opacity .16s ease,transform .16s ease}
  .main-nav .nav-menu > li.mas-mega > .mega-panel > li{display:block;width:auto;margin:0;padding:0;border:0}
}
@media (max-width:980px){
  .main-nav .nav-menu > li.mas-mega{display:flex;flex-wrap:wrap;align-items:center}
  .main-nav .nav-menu > li.mas-mega > a{flex:1}
  .main-nav .mega-toggle{padding:8px 10px}
  .main-nav .nav-menu > li.mas-mega > .mega-panel{display:none;position:static;flex-basis:100%;width:100%;min-width:0;margin:8px 0 0;padding:8px;background:#fff;border-radius:12px;box-shadow:none;list-style:none}
  .main-nav .nav-menu > li.mas-mega.is-open > .mega-panel{display:block}
  .main-nav .nav-menu > li.mas-mega > .mega-panel > li{padding:0;border:0}
  .main-nav .mega-panel .mega-desc{display:none}
  .main-nav .mega-ico{width:32px;height:32px}
  .main-nav .mega-panel .mega-cta{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.main-nav .mega-panel,.main-nav .mega-toggle svg{transition:none!important}}

/* Mega menu: stronger selectors over the old dropdown CSS, and the CTA fills the last grid row */
.main-nav .nav-menu > li.mas-mega > .mega-panel > li.mega-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;width:auto;margin:6px 0 0;padding:14px 16px;border-radius:10px;background:var(--navy);color:#fff;font-size:14px;line-height:1.4;grid-column:auto / span 2}
.main-nav .nav-menu > li.mas-mega > .mega-panel > li.mega-cta > a.mega-cta-btn{display:inline-flex;width:auto;flex:none;padding:9px 16px;border-radius:7px;background:var(--blue-btn);color:#fff;border:0;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.main-nav .nav-menu > li.mas-mega > .mega-panel > li.mega-cta > a.mega-cta-btn:hover{background:var(--blue-btn-hover);color:#fff}
.main-nav .nav-menu > li.mas-mega > .mega-panel--loc > li.mega-cta{grid-column:auto / span 1;flex-direction:column;align-items:flex-start;justify-content:center}
.main-nav .nav-menu > li.mas-mega > .mega-panel > li.mega-item > a{display:flex;width:auto;padding:10px 12px;white-space:normal;text-transform:none;letter-spacing:0;border:0;color:var(--navy)}
@media (max-width:980px){.main-nav .nav-menu > li.mas-mega > .mega-panel > li.mega-cta{flex-direction:column;align-items:flex-start;margin-top:8px}}

@media (min-width:981px){.main-nav .nav-menu:hover > li.mas-mega.is-open:not(:hover) > .mega-panel{visibility:hidden;opacity:0;pointer-events:none}}

@media (max-width:480px){.header-topbar .topbar-social{display:none}}

/* Service pages: consistent photo framing inside the article (Nov 2026) */
.ms-prose figure.wp-block-image{margin:32px 0}
.ms-prose figure.wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;box-shadow:0 14px 36px rgba(13,27,51,.14)}

/* =====================================================================
   Location pages (Nov 2026): split hero on navy with map contours,
   service row, single reading column, offer band, area chips.
   ===================================================================== */
.loc-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff;padding:clamp(40px,6vw,84px) 0 clamp(48px,6vw,88px)}
.loc-contours{position:absolute;inset:0;width:100%;height:100%;color:rgba(74,171,222,.16);z-index:-1;pointer-events:none}
.loc-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);align-items:center}
.loc-hero-copy{min-width:0}
.loc-hero .ms-crumbs ol{margin-bottom:22px}
.loc-county{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--blue);font-size:15px;font-weight:600}
.loc-hero h1{margin:0 0 18px;font-size:clamp(34px,4.6vw,58px);line-height:1.06;letter-spacing:-.02em;text-wrap:balance;color:#fff}
.loc-intro{margin:0 0 28px;max-width:60ch;font-size:clamp(16px,1.35vw,18px);line-height:1.7;color:rgba(255,255,255,.82)}
.loc-intro a{color:#fff}
.loc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.loc-areas{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.loc-areas-label{margin:0 0 12px;font-size:14px;font-weight:600;color:rgba(255,255,255,.7)}
.loc-areas ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.loc-areas li{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-size:14px;color:rgba(255,255,255,.9)}
.loc-areas li a{color:#fff;text-decoration:underline;text-decoration-color:rgba(74,171,222,.7);text-underline-offset:3px}
.loc-areas li:has(a){background:rgba(74,171,222,.14);border-color:rgba(74,171,222,.4)}
.loc-hero-media{position:relative;min-width:0}
.loc-hero-media figure{margin:0}
.loc-hero-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:24px 24px 24px 96px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.loc-badge{position:absolute;left:-18px;bottom:28px;display:flex;flex-direction:column;gap:2px;margin:0;padding:14px 18px;border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 18px 40px rgba(10,20,40,.35)}
.loc-badge-k{font-size:12.5px;font-weight:600;color:#4c5d70}
.loc-badge-v{font-size:17px;font-weight:700;letter-spacing:.02em}

.loc-services{background:#fff;border-bottom:1px solid #e3e9f0}
.loc-services .container{padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(28px,3vw,40px)}
.loc-services-title{margin:0 0 18px;font-size:clamp(22px,2.2vw,28px);font-weight:700;color:var(--navy);letter-spacing:-.01em}
.loc-services ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:0;padding:0}
.loc-services li{border-top:1px solid #e3e9f0}
.loc-services a{display:flex;align-items:center;gap:14px;padding:16px 4px;color:var(--navy);text-decoration:none}
.loc-svc-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#eef5fb;color:var(--blue-btn);transition:background .25s cubic-bezier(.22,1,.36,1),color .25s cubic-bezier(.22,1,.36,1)}
.loc-svc-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.loc-svc-name{font-size:15.5px;font-weight:600;line-height:1.3}
.loc-svc-desc{font-size:13.5px;line-height:1.45;color:#4c5d70}
.loc-svc-arrow{flex:none;color:#9aabbd;transition:transform .25s cubic-bezier(.22,1,.36,1),color .25s}
.loc-services a:hover .loc-svc-ico,.loc-services a:focus-visible .loc-svc-ico{background:var(--navy);color:#fff}
.loc-services a:hover .loc-svc-arrow,.loc-services a:focus-visible .loc-svc-arrow{transform:translateX(4px);color:var(--blue-btn)}
.loc-services a:focus-visible{outline:2px solid var(--blue-btn);outline-offset:2px;border-radius:8px}

.loc-article{background:#fff;padding:clamp(40px,5vw,72px) 0 clamp(24px,3vw,40px)}
.loc-lead{font-size:19px;line-height:1.7;color:var(--ink-body);margin-bottom:12px}
.loc-sec{padding:clamp(28px,3.2vw,44px) 0;border-top:1px solid #e3e9f0}
.loc-sec:first-child,.loc-lead + .loc-sec{border-top:0;padding-top:0}
.loc-sec h2{margin:0 0 16px;font-size:clamp(24px,2.6vw,34px);line-height:1.18;letter-spacing:-.015em;color:var(--navy);text-wrap:balance}
.loc-sec .ms-prose p{max-width:68ch;text-wrap:pretty}
.loc-sec.is-answer{border-top:0;padding:clamp(26px,3vw,36px) clamp(22px,3vw,40px);margin-bottom:8px;border-radius:20px;background:#eef5fb;border:1px solid #d6e6f3}
.loc-sec.is-answer h2{font-size:clamp(20px,2vw,24px);color:var(--blue-btn)}
.loc-sec.is-answer .ms-prose p{font-size:clamp(17px,1.5vw,19px);line-height:1.65;color:var(--navy)}
.loc-sec.is-answer + .loc-sec{border-top:0}
.loc-sec .ms-prose figure.wp-block-image img{aspect-ratio:16/9}

.loc-band{position:relative;overflow:hidden;isolation:isolate;margin:clamp(12px,2vw,24px) 0;background:var(--navy-2);color:#fff}
.loc-band .loc-contours{color:rgba(74,171,222,.12)}
.loc-band-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:clamp(32px,4vw,52px);padding-bottom:clamp(32px,4vw,52px)}
.loc-band-copy{max-width:56ch}
.loc-band-title{margin:0 0 8px;font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.01em;color:#fff}
.loc-band-copy p:last-child{margin:0;color:rgba(255,255,255,.8);line-height:1.65}
.loc-band-actions{display:flex;flex-wrap:wrap;gap:12px;flex:none}

.loc-more{margin-top:clamp(28px,3vw,44px)}
.loc-more-title{margin:0 0 12px;font-weight:700;color:var(--navy)}
.loc-more ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.loc-more a{display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;border:1px solid #cdd9e5;background:#fff;color:var(--navy);font-weight:600;font-size:14.5px;text-decoration:none;transition:border-color .2s,background .2s}
.loc-more a:hover,.loc-more a:focus-visible{border-color:var(--blue-btn);background:#eef5fb}

@media (prefers-reduced-motion:no-preference){
  .loc-hero-copy > *{animation:locRise .7s cubic-bezier(.22,1,.36,1) both}
  .loc-hero-copy > *:nth-child(2){animation-delay:.06s}
  .loc-hero-copy > *:nth-child(3){animation-delay:.12s}
  .loc-hero-copy > *:nth-child(4){animation-delay:.18s}
  .loc-hero-copy > *:nth-child(5){animation-delay:.24s}
  .loc-hero-copy > *:nth-child(6){animation-delay:.3s}
  .loc-hero-media{animation:locMedia .9s cubic-bezier(.22,1,.36,1) .1s both}
}
@keyframes locRise{from{transform:translateY(14px);opacity:.01}to{transform:none;opacity:1}}
@keyframes locMedia{from{transform:translateY(18px) scale(.985);opacity:.01;filter:blur(6px)}to{transform:none;opacity:1;filter:none}}

@media (max-width:980px){
  .loc-hero-grid{grid-template-columns:1fr}
  .loc-hero-media{max-width:560px}
  .loc-hero-media img{aspect-ratio:16/11;border-radius:20px 20px 20px 64px}
  .loc-badge{left:16px;bottom:16px}
  .loc-services ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loc-band-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .loc-services ul{grid-template-columns:1fr}
  .loc-actions .btn{flex:1 1 auto}
  .loc-sec.is-answer{border-radius:16px}
}

/* Location pages: checklists as an open two-column list with dividers instead of the service-page cards */
.loc-article .ms-prose ul{gap:0 32px}
.loc-article .ms-prose ul li{background:none;border:0;border-bottom:1px solid #e3e9f0;border-radius:0;padding:13px 0}
.loc-article .loc-sec.is-answer .ms-prose ul li{border-bottom-color:#d6e6f3}

.loc-band + .loc-col > .loc-sec:first-child{padding-top:clamp(36px,4vw,56px)}


/* Location pages: full-width split sections (heading rail left, content right) instead of a narrow 820px column */
@media (min-width:1024px){
  .loc-article .loc-lead{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);gap:clamp(40px,5vw,88px);margin-bottom:clamp(32px,3.5vw,48px)}
  .loc-article .loc-lead > *{grid-column:2}
  .loc-article .loc-lead p{font-size:21px;line-height:1.65;color:var(--navy);max-width:62ch}
  .loc-sec{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);gap:clamp(40px,5vw,88px);align-items:start;padding:clamp(40px,4vw,60px) 0}
  .loc-sec > h2{position:sticky;top:120px;margin:0;font-size:clamp(24px,2.1vw,30px);line-height:1.2}
  .loc-sec > .ms-prose{min-width:0}
  .loc-sec > .ms-prose > :first-child{margin-top:0}
  .loc-sec.is-answer{padding:clamp(32px,3.4vw,48px) clamp(32px,3.4vw,52px);margin-bottom:clamp(8px,1vw,16px)}
  .loc-sec.is-answer > h2{position:static;font-size:clamp(22px,2vw,26px)}
  .loc-sec.is-answer .ms-prose p{font-size:20px;max-width:64ch}
  .loc-sec .ms-prose figure.wp-block-image{margin-left:0;margin-right:0}
  .loc-sec .ms-prose figure.wp-block-image img{width:100%;border-radius:18px}
  .loc-band + .loc-col > .loc-sec:first-child{padding-top:clamp(48px,5vw,72px)}
}
@media (min-width:1280px){
  .loc-article .ms-prose ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
}


/* Mega menu: bridge the gap between the menu item and the panel, and honor the hover-intent class */
@media (min-width:981px){
  .main-nav .nav-menu > li.mas-mega > .mega-panel::before{top:-48px;height:48px}
  .main-nav .nav-menu > li.mas-mega.is-hover > .mega-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0);transition:opacity .16s,transform .16s,visibility 0s}
}


/* About page (template-about.php): location-style hero plus facts strip, team gallery */
.ab-hero .loc-hero-media img{aspect-ratio:16/10;object-position:center 40%}
.loc-actions .ab-call-alt{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}
.loc-actions .ab-call-alt:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.ab-facts{background:#fff;border-bottom:1px solid #e3e9f0}
.ab-facts ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-facts li{display:flex;gap:14px;align-items:flex-start;padding:clamp(22px,2.6vw,32px) clamp(16px,2vw,28px);border-left:1px solid #e3e9f0}
.ab-facts li:first-child{border-left:0;padding-left:0}
.ab-fact-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eef5fb;color:var(--blue-btn)}
.ab-fact-txt{font-size:14.5px;line-height:1.45;color:var(--ink-body)}
.ab-fact-txt strong{display:block;font-size:17px;line-height:1.3;color:var(--navy);margin-bottom:2px}
.ab-article .wp-block-gallery.ab-gallery{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;margin:28px 0}
.ab-article .wp-block-gallery.ab-gallery.has-nested-images figure.wp-block-image:not(#x):first-child{grid-row:span 2;position:relative;min-height:240px}
.ab-article .wp-block-gallery.ab-gallery.has-nested-images figure.wp-block-image:not(#x):first-child img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:88% center}
.ab-article .wp-block-gallery.ab-gallery.has-nested-images figure.wp-block-image:not(#x){display:block;width:auto!important;margin:0!important;flex:none}
.ab-article .wp-block-gallery.ab-gallery.has-nested-images figure.wp-block-image:not(#x) img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;flex:none}
@media (max-width:980px){
  .ab-facts ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-facts li:nth-child(odd){border-left:0;padding-left:0}
  .ab-facts li:nth-child(n+3){border-top:1px solid #e3e9f0}
}
@media (max-width:560px){
  .ab-article .wp-block-gallery.ab-gallery{grid-template-columns:1fr 1fr}
  .ab-article .wp-block-gallery.ab-gallery.has-nested-images figure.wp-block-image:not(#x):first-child{grid-row:auto;grid-column:1 / -1}
  .ab-article .wp-block-gallery.ab-gallery.has-nested-images figure.wp-block-image:not(#x):first-child img{position:static;aspect-ratio:16/9;height:auto}
  .ab-facts ul{grid-template-columns:1fr}
  .ab-facts li{border-left:0;padding-left:0;padding-right:0}
  .ab-facts li + li{border-top:1px solid #e3e9f0}
}

/* About page: "On this page" jump links */
.ab-toc{background:#f5f8fb;border-bottom:1px solid #e3e9f0}
.ab-toc .container{display:flex;align-items:center;gap:18px;padding-top:14px;padding-bottom:14px}
.ab-toc-title{flex:none;margin:0;font-size:13px;font-weight:600;color:var(--navy)}
.ab-toc ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}
.ab-toc ul::-webkit-scrollbar{display:none}
.ab-toc a{display:block;white-space:nowrap;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid #d6e6f3;font-size:13.5px;color:var(--navy);text-decoration:none;transition:background .15s,border-color .15s}
.ab-toc a:hover,.ab-toc a:focus-visible{background:#eef5fb;border-color:var(--blue-btn)}
.ab-article .loc-sec{scroll-margin-top:130px}
@media (max-width:600px){.ab-toc .container{flex-direction:column;align-items:flex-start;gap:10px}.ab-toc ul{width:100%}}


/* ==== Content infographics + tables (.mi-*) for service and location pages ==== */
.ms-prose .mi,.mi{margin:clamp(26px,3vw,38px) 0;border:1px solid #d9e5f0;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 18px 40px -28px rgba(13,33,61,.35)}
.mi-head{display:flex;gap:14px;align-items:center;padding:18px clamp(18px,2.4vw,26px);background:var(--navy);color:#fff}
.mi-ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:rgba(74,171,222,.16);color:#8fd0f2}
.ms-prose .mi-title,.mi-title{margin:0;font-size:17px;line-height:1.3;font-weight:600;color:#fff;max-width:none}
.ms-prose .mi-sub,.mi-sub{margin:3px 0 0;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.8);max-width:none}
.ms-prose .mi-note,.mi-note{margin:0;padding:13px clamp(18px,2.4vw,26px) 15px;font-size:13.5px;line-height:1.55;color:#44566e;border-top:1px solid #e3e9f0;background:#f6f9fc;max-width:none}
/* tables */
.ms-prose table.mi-table,table.mi-table{width:100%;margin:0;border-collapse:collapse;font-size:15px;line-height:1.5}
.mi-table th{padding:12px 18px;text-align:left;vertical-align:bottom;font-size:12.5px;font-weight:600;line-height:1.35;color:var(--navy);background:#eef5fb;border:0;border-bottom:1px solid #d6e6f3}
.mi-table td{padding:14px 18px;vertical-align:top;color:var(--ink-body);border:0;border-top:1px solid #e8eef4;background:#fff}
.mi-table tbody tr:first-child td{border-top:0}
.mi-table td:first-child{width:30%;font-weight:600;color:var(--navy)}
.mi-table tbody tr{transition:background-color .2s}
.mi-table tbody tr:hover td{background:#f8fbfd}
.mi-table--vs th:not(:first-child){font-size:14px;color:var(--navy)}
.mi-table--vs th:not(:first-child) span{display:block;font-size:12px;font-weight:500;color:#4a6584;margin-top:2px}
.mi-table--vs td:first-child{width:24%;font-size:13.5px;color:#36506e}
.mi-table--vs td:not(:first-child){width:38%}
/* steps */
.ms-prose ol.mi-steps,ol.mi-steps{list-style:none;margin:0;padding:clamp(20px,2.6vw,28px);counter-reset:mi;display:block}
.ms-prose ol.mi-steps > li,ol.mi-steps > li{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;margin:0;padding:0 0 22px;counter-increment:mi;background:none;border:0}
.ms-prose ol.mi-steps > li:last-child,ol.mi-steps > li:last-child{padding-bottom:0}
.mi-steps > li::marker{content:none}
.mi-steps > li::before{content:counter(mi);position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eef5fb;border:1px solid #c9def0;color:var(--blue-ink,#1d6fa5);font-size:15px;font-weight:700}
.mi-steps > li::after{content:"";position:absolute;left:20px;top:44px;bottom:2px;width:1px;background:#d3e3f1}
.mi-steps > li:last-child::after{display:none}
.mi-step-t{display:block;margin:8px 0 3px;font-size:16px;font-weight:600;line-height:1.35;color:var(--navy)}
.mi-step-d{display:block;font-size:15px;line-height:1.6;color:var(--ink-body)}
/* equation */
.mi-rule{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.25fr);align-items:stretch;gap:12px;padding:clamp(20px,2.6vw,28px)}
.mi-term{padding:16px 18px;border:1px solid #d6e6f3;border-radius:14px;background:#f6f9fc}
.mi-term b{display:block;font-size:clamp(24px,2.4vw,30px);line-height:1.1;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.mi-term span{display:block;margin-top:6px;font-size:13.5px;line-height:1.4;color:#44566e}
.mi-term.is-result{background:var(--navy);border-color:var(--navy)}
.mi-term.is-result b{color:#fff}
.mi-term.is-result span{color:rgba(255,255,255,.82)}
.mi-op{align-self:center;font-size:24px;font-weight:500;line-height:1;color:var(--blue-btn)}
/* two-column checklists (spring vs fall etc.) */
.mi-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.mi-col{padding:18px clamp(18px,2.4vw,26px) 20px}
.mi-col + .mi-col{border-left:1px solid #e3e9f0}
.ms-prose .mi-col-t,.mi-col-t{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;font-weight:600;color:var(--navy);max-width:none}
.mi-col-t i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--blue-btn)}
.mi-col-t i.is-warm{background:#d9534f}
.ms-prose ul.mi-ticks,ul.mi-ticks{display:block;list-style:none;margin:0;padding:0}
.ms-prose ul.mi-ticks li,.loc-article .ms-prose ul.mi-ticks li,ul.mi-ticks li{display:block;position:relative;margin:0;padding:7px 0 7px 22px;background:none;border:0;border-radius:0;font-size:14.5px;line-height:1.5;color:var(--ink-body)}
.ms-prose ul.mi-ticks li::before,ul.mi-ticks li::before{content:"";position:absolute;left:2px;top:14px;width:8px;height:8px;margin:0;border-radius:2px;background:#bcd8ee}
@media (max-width:720px){
  .mi-rule{grid-template-columns:1fr;gap:8px}
  .mi-op{justify-self:center}
  .mi-cols{grid-template-columns:1fr}
  .mi-col + .mi-col{border-left:0;border-top:1px solid #e3e9f0}
  .mi-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mi-table tbody tr{display:block;padding:14px 18px;border-top:1px solid #e8eef4}
  .mi-table tbody tr:first-child{border-top:0}
  .mi-table td{display:block;width:auto!important;padding:2px 0;border:0}
  .mi-table td:first-child{font-size:15.5px;margin-bottom:4px}
  .mi-table td[data-label]::before{content:attr(data-label);display:block;margin-top:8px;font-size:12px;font-weight:600;color:#3f6185}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .mi{animation:mi-rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
    @keyframes mi-rise{from{opacity:.001;transform:translateY(18px)}to{opacity:1;transform:none}}
  }
}

/* .mi text colors must beat .ms-prose / .loc-sec paragraph rules */
figure.mi .mi-head p.mi-title{color:#fff;margin:0;font-size:17px;font-weight:600;line-height:1.3;max-width:none}
figure.mi .mi-head p.mi-sub{color:rgba(255,255,255,.8);margin:3px 0 0;font-size:13.5px;line-height:1.45;max-width:none}
figure.mi p.mi-note{color:#44566e;font-size:13.5px;line-height:1.55;max-width:none;margin:0}
figure.mi p.mi-col-t{color:var(--navy);max-width:none}


/* =====================================================================
   MAS CONTACT PAGE (Nov 2026) — template-contact.php, mc- prefix.
   ===================================================================== */
.mc,.mc-area{--ink:#0d1b33;--ink-body:#2f3e50;--blue-ink:#1b6fa8;--light-bg:#f3f6f9;--light-line:#dde4ec;}
.mc{background:var(--light-bg);padding:clamp(40px,5vw,72px) 0 clamp(56px,7vw,96px);color:var(--ink-body);}
.mc-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start;}
.mc-form{padding:clamp(24px,3.5vw,44px);background:#fff;border:1px solid var(--light-line);border-radius:18px;box-shadow:0 24px 56px rgba(13,27,51,.10);scroll-margin-top:150px;}
.mc-form-head{margin-bottom:24px;}
.mc-form-head h2{margin:0 0 8px;font-size:clamp(24px,2.4vw,32px);line-height:1.2;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;}
.mc-form-head p{margin:0;font-size:16px;line-height:1.6;color:var(--ink-body);}
.mc-status{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px !important;padding:6px 12px;border-radius:999px;font-size:13.5px !important;font-weight:600;}
.mc-status[hidden]{display:none;}
.mc-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;}
.mc-status.is-open{background:#e6f6ec;color:#17673a !important;}
.mc-status.is-open .mc-status-dot{box-shadow:0 0 0 0 rgba(23,103,58,.45);animation:mc-pulse 2.4s cubic-bezier(.22,1,.36,1) infinite;}
.mc-status.is-closed{background:#eef2f6;color:#4a5a6c !important;}
@keyframes mc-pulse{0%{box-shadow:0 0 0 0 rgba(23,103,58,.45);}70%{box-shadow:0 0 0 7px rgba(23,103,58,0);}100%{box-shadow:0 0 0 0 rgba(23,103,58,0);}}

/* Form fields (WPForms, light) */
.mc-form .wpforms-container{margin:0 !important;}
.mc-form .wpforms-field{padding:0 0 18px !important;}
.mc-form .wpforms-container .wpforms-field-label{color:var(--ink) !important;font-weight:600 !important;font-size:14.5px !important;margin-bottom:6px !important;}
.mc-form .wpforms-required-label{color:#b42318 !important;}
.mc-form .wpforms-form input[type="text"],.mc-form .wpforms-form input[type="tel"],.mc-form .wpforms-form input[type="email"],.mc-form .wpforms-form textarea{width:100% !important;max-width:none !important;min-height:50px;padding:12px 14px !important;background:#fff !important;color:var(--ink) !important;border:1px solid #b9c6d3 !important;border-radius:10px !important;font-size:16px !important;box-shadow:none !important;transition:border-color .2s ease-out,box-shadow .2s ease-out;}
.mc-form .wpforms-form textarea{min-height:130px;line-height:1.5;}
.mc-form .wpforms-form input:hover,.mc-form .wpforms-form textarea:hover{border-color:#8a99aa !important;}
.mc-form .wpforms-form input:focus,.mc-form .wpforms-form textarea:focus{border-color:var(--blue-ink) !important;box-shadow:0 0 0 3px rgba(27,111,168,.18) !important;outline:0;}
.mc-form .wpforms-form ::placeholder{color:#6b7a8b !important;opacity:1;}
.mc-form #wpforms-226-field_5-container,.mc-form #wpforms-226-field_6-container{display:inline-block;vertical-align:top;}
@media (min-width:640px){
  .mc-form #wpforms-226-field_5-container{width:calc(66% - 8px);margin-right:12px;}
  .mc-form #wpforms-226-field_6-container{width:calc(34% - 4px);}
}
@media (max-width:639px){ .mc-form #wpforms-226-field_5-container,.mc-form #wpforms-226-field_6-container{display:block;width:100%;} }
.mc-form #wpforms-226-field_7-container label.wpforms-field-label-inline,.mc-form #wpforms-226-field_7_1 + label,.mc-form #wpforms-226-field_7-description,.mc-form #wpforms-226-field_7-container .wpforms-field-description,.mc-form .wpforms-form .wpforms-field-description,.mc-form .wpforms-form label.wpforms-field-label-inline{color:#4a5a6c !important;font-size:13px !important;line-height:1.55 !important;}
.mc-form #wpforms-226-field_7-description a,.mc-form #wpforms-226-field_7-container .wpforms-field-description a{color:var(--blue-ink) !important;}
.mc-form .wpforms-form input[type="checkbox"]{border-color:#8a99aa !important;}
.mc-form .wpforms-submit-container{padding-top:6px !important;}
.mc-form .wpforms-form .wpforms-submit{width:100% !important;min-height:56px;padding:16px 28px !important;background:var(--blue-btn,#1f7ab8) !important;color:#fff !important;border:0 !important;border-radius:10px !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.02em;text-transform:none;cursor:pointer;transition:background-color .2s ease-out,transform .2s ease-out;}
.mc-form .wpforms-form .wpforms-submit:hover{background:var(--blue-btn-hover,#18679d) !important;}
.mc-form .wpforms-form .wpforms-submit:active{transform:translateY(1px);}
.mc-form .wpforms-form .wpforms-submit:focus-visible{outline:3px solid rgba(27,111,168,.4);outline-offset:3px;}
.mc-form label.wpforms-error,.mc-form em.wpforms-error{color:#b42318 !important;font-size:13.5px !important;}
.mc-form .wpforms-form input.wpforms-error,.mc-form .wpforms-form textarea.wpforms-error{border-color:#b42318 !important;}
.mc-form .wpforms-confirmation-container-full{background:#e6f6ec !important;border:1px solid #b7e1c6 !important;color:#17673a !important;border-radius:12px !important;padding:20px 22px !important;}

/* Side panels */
.mc-side{display:grid;gap:16px;}
.mc-panel{padding:26px 28px;background:#fff;border:1px solid var(--light-line);border-radius:16px;}
.mc-panel h2{margin:0 0 14px;font-size:19px;line-height:1.3;color:var(--ink);}
.mc-talk{background:var(--ink);border-color:var(--ink);color:#cdd8e2;}
.mc-talk h2{color:#fff;}
.mc-phone{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);color:#fff;transition:color .2s ease-out;}
.mc-phone-city{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#a9c4dc;}
.mc-phone-num{font-size:22px;font-weight:700;letter-spacing:.01em;}
.mc-phone:hover{color:#7cc3ea;}
.mc-book{width:100%;justify-content:center;margin-top:10px;}
.mc-email{margin:16px 0 0;font-size:14.5px;color:#cdd8e2;}
.mc-email a{color:#7cc3ea;word-break:break-word;}
.mc-talk a:focus-visible{outline:2px solid #7cc3ea;outline-offset:3px;}
.mc-steps{list-style:none;counter-reset:mc;margin:0;padding:0;display:grid;gap:14px;}
.mc-steps li{counter-increment:mc;position:relative;padding-left:44px;font-size:15.5px;line-height:1.55;color:var(--ink-body);}
.mc-steps li::before{content:counter(mc);position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e8f1f9;color:var(--blue-ink);font-size:14px;font-weight:700;}
.mc-steps strong{color:var(--ink);font-weight:600;}
.mc-dl{margin:0;display:grid;gap:12px;}
.mc-dl div{display:grid;grid-template-columns:72px 1fr;gap:12px;}
.mc-dl dt{font-size:13px;font-weight:600;color:#5b6b7d;padding-top:2px;}
.mc-dl dd{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink);}
.mc-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:15px;font-weight:600;color:var(--blue-ink);}
.mc-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.mc-follow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--light-line);}
.mc-follow p{margin:0;font-size:14px;font-weight:600;color:var(--ink);}
.ma-social.mc-social a{width:38px;height:38px;color:var(--ink);background:var(--light-bg);border:1px solid var(--light-line);}
.ma-social.mc-social a:hover{color:#fff;background:var(--blue-btn,#1f7ab8);border-color:var(--blue-btn,#1f7ab8);}
.mc-panel a:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px;}

/* Service area */
.mc-area{background:#fff;padding:clamp(48px,6vw,80px) 0;border-top:1px solid var(--light-line);}
.mc-area-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center;}
.mc-area h2{margin:0 0 10px;font-size:clamp(24px,2.4vw,32px);line-height:1.2;color:var(--ink);text-wrap:balance;}
.mc-area p{margin:0;font-size:16px;line-height:1.65;color:var(--ink-body);max-width:46ch;}
.mc-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.mc-chips li{padding:10px 16px;border-radius:999px;background:var(--light-bg);border:1px solid var(--light-line);font-size:15px;font-weight:500;color:var(--ink);}
.mc-chips li::before{content:none;}

@media (max-width:980px){
  .mc-grid,.mc-area-inner{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){ .mc-status.is-open .mc-status-dot{animation:none;} }
/* ===== END MAS CONTACT PAGE ===== */


/* ==== Service Areas hub (.sa-*) ==== */
.sa-route{position:relative;background:#fff;border-radius:22px;padding:22px 22px 18px;color:var(--navy);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.sa-route-head{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:0 6px}
.sa-shield{flex:none}
.sa-route .sa-route-t{margin:0;font-size:14px;font-weight:600;color:#2f4d6e}
.sa-route ol{position:relative;list-style:none;margin:0;padding:0}
.sa-route ol::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:4px;border-radius:4px;background:repeating-linear-gradient(to bottom,#c3d9ec 0 10px,transparent 10px 17px)}
.sa-route li{position:relative;margin:0}
.sa-route li > a,.sa-route li > div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px 11px 14px;border-radius:14px;color:var(--navy);text-decoration:none;transition:background-color .2s,transform .25s cubic-bezier(.22,1,.36,1)}
.sa-route li > a:hover,.sa-route li > a:focus-visible{background:#f1f7fc;transform:translateX(3px)}
.sa-dot{position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--blue-btn)}
.sa-txt{display:flex;flex-direction:column;min-width:0}
.sa-name{font-size:16px;font-weight:600;line-height:1.25}
.sa-meta{font-size:13px;line-height:1.35;color:#4a6584}
.sa-go{color:var(--blue-btn);opacity:.55;transition:opacity .2s}
.sa-route li > a:hover .sa-go{opacity:1}
.sa-route li.is-hq{margin-top:4px}
.sa-route li.is-hq > div{background:var(--navy);color:#fff}
.sa-route li.is-hq .sa-dot{background:#d9534f;border-color:#fff;box-shadow:0 0 0 5px rgba(217,83,79,.28)}
.sa-route li.is-hq .sa-meta{color:rgba(255,255,255,.78)}
.sa-regions{background:#fff;padding:clamp(52px,6vw,84px) 0 clamp(8px,1.5vw,16px)}
.sa-regions-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(24px,3vw,36px)}
.sa-regions-head h2{margin:0;font-size:clamp(28px,3.2vw,40px);line-height:1.1;letter-spacing:-.02em;color:var(--navy)}
.sa-regions-head p{margin:0;max-width:56ch;font-size:17px;line-height:1.6;color:var(--ink-body)}
.sa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d9e5f0;border-radius:22px;overflow:hidden;background:#fff}
.sa-reg{display:flex;flex-direction:column;padding:clamp(22px,2.6vw,32px)}
.sa-reg + .sa-reg{border-left:1px solid #e3e9f0}
.sa-reg h3{margin:0 0 4px;font-size:21px;line-height:1.25;color:var(--navy)}
.sa-reg .sa-reg-sub{margin:0 0 14px;font-size:14px;color:#4a6584}
.sa-phone{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 14px;border-radius:999px;background:#eef5fb;color:var(--navy);font-weight:600;font-size:15px;text-decoration:none;transition:background-color .2s}
.sa-phone:hover{background:#e0eef9}
.sa-phone svg{color:var(--blue-btn)}
ul.sa-pages{list-style:none;margin:0 0 20px;padding:0}
ul.sa-pages li{margin:0}
ul.sa-pages a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #e8eef4;color:var(--navy);text-decoration:none}
ul.sa-pages li:last-child a{border-bottom:1px solid #e8eef4}
ul.sa-pages a strong{display:block;font-size:16.5px;font-weight:600}
ul.sa-pages a small{display:block;font-size:13px;color:#4a6584}
ul.sa-pages a svg{flex:none;color:var(--blue-btn);transition:transform .25s cubic-bezier(.22,1,.36,1)}
ul.sa-pages a:hover strong{color:var(--blue-btn)}
ul.sa-pages a:hover svg{transform:translateX(4px)}
.sa-reg .sa-also-t{margin:auto 0 8px;font-size:12.5px;font-weight:600;color:#3f6185}
ul.sa-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
ul.sa-chips li{margin:0;padding:5px 11px;border-radius:999px;background:#f4f8fb;border:1px solid #dde9f3;font-size:13px;line-height:1.3;color:var(--navy)}
@media (max-width:980px){
  .sa-route{max-width:520px}
  .sa-regions-head{grid-template-columns:1fr}
  .sa-grid{grid-template-columns:1fr}
  .sa-reg + .sa-reg{border-left:0;border-top:1px solid #e3e9f0}
}
@media (prefers-reduced-motion:reduce){
  .sa-route li > a,ul.sa-pages a svg{transition:none}
  .sa-route li > a:hover,ul.sa-pages a:hover svg{transform:none}
}

.sa-banner{margin:0 0 clamp(28px,3vw,44px)}
.sa-banner figure{margin:0}
.sa-banner img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:20px}
@media (max-width:600px){.sa-banner img{aspect-ratio:16/9;border-radius:16px}}


/* ==== FAQ hub (.fq-*) ==== */
.fq-hero h1{font-size:clamp(32px,4.2vw,52px)}
.fq-finder{background:#fff;border-radius:22px;padding:18px;color:var(--navy);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.fq-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1.5px solid #cfe0ee;border-radius:14px;background:#f7fafd;color:#3f6185;transition:border-color .2s,box-shadow .2s,background-color .2s}
.fq-search:focus-within{border-color:var(--blue-btn);background:#fff;box-shadow:0 0 0 4px rgba(74,171,222,.18)}
.fq-search input{flex:1;min-width:0;height:50px;border:0;background:transparent;font:inherit;font-size:16px;color:var(--navy);outline:none}
.fq-search input::placeholder{color:#5f7690}
.fq-search input::-webkit-search-cancel-button{cursor:pointer}
.fq-finder .fq-status{min-height:20px;margin:8px 4px 4px;font-size:13px;font-weight:600;color:var(--blue-btn)}
.fq-topics ul{list-style:none;margin:0;padding:0}
.fq-topics li{margin:0}
.fq-topics a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px;border-radius:12px;color:var(--navy);text-decoration:none;font-weight:600;font-size:15px;transition:background-color .2s}
.fq-topics a:hover,.fq-topics a:focus-visible{background:#f1f7fc}
.fq-topics b{flex:none;display:grid;place-items:center;min-width:30px;height:24px;padding:0 8px;border-radius:999px;background:#eef5fb;color:var(--blue-btn);font-size:12.5px;font-weight:700}
.fq-article .fq-group{scroll-margin-top:120px}
.fq-article .fq-group[hidden],.fq-article .is-answer[hidden],.fq-article .loc-lead[hidden],.fq-article details[hidden]{display:none}
.fq-empty{margin:24px 0 0;padding:22px 24px;border-radius:16px;background:#f6f9fc;border:1px solid #dbe6f1;font-size:16px;color:var(--navy)}
@media (max-width:980px){
  .fq-finder{max-width:560px}
}
@media (prefers-reduced-motion:reduce){.fq-search,.fq-topics a{transition:none}}
