/* ==========================================================================
   INDIGO SYSTEMS — SHARP DESIGN SYSTEM v2.0
   Angular, bold, zero rounded corners. Fire / Security / Electrical.
   ========================================================================== */

:root{
        /* Brand */
        --indigo-red:#9E171B;
        --bright-red:#E52127;
        --navy:#040433;
        --navy-2:#0A0A52;
        --lavender:#F4F4FC;
        --white:#ffffff;
        --ink:#0c0c1e;
        --muted:#5b5b72;
        --line:#e3e3ef;
        --line-dark:rgba(255,255,255,.14);

        /* Type */
        --font-head:'Sora',system-ui,sans-serif;
        --font-body:'Inter',system-ui,sans-serif;

        /* Layout */
        --wide:1320px;
        --container:1140px;
        --gap:clamp(1rem,3vw,2rem);
        --sp:clamp(4rem,9vw,8rem);

        /* Motion */
        --ease:cubic-bezier(.2,.7,.2,1);
        --fast:.25s var(--ease);
        --slow:.6s var(--ease);

        /* NO ROUNDED CORNERS — everywhere */
        --radius:0px;
}

*,*::before,*::after{box-sizing:border-box;border-radius:0 !important;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
        margin:0;
        font-family:var(--font-body);
        color:var(--ink);
        background:var(--white);
        line-height:1.65;
        font-size:17px;
        overflow-x:hidden;
        -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--bright-red);text-decoration:none;transition:color var(--fast);}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--navy);line-height:1.05;margin:0 0 .5em;font-weight:800;letter-spacing:-.02em;}
h1{font-size:clamp(2.5rem,6vw,4.7rem);}
h2{font-size:clamp(2rem,4.5vw,3.3rem);}
h3{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:700;}
h4{font-size:1.15rem;font-weight:700;}
p{margin:0 0 1.1rem;}
ul,ol{margin:0 0 1.1rem;padding-left:1.2rem;}
:focus-visible{outline:3px solid var(--bright-red);outline-offset:3px;}
::selection{background:var(--bright-red);color:#fff;}

/* Layout helpers ---------------------------------------------------------- */
.container{max-width:var(--container);margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem);}
.container-wide{max-width:var(--wide);margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem);}
.section{padding:var(--sp) 0;}
.section--tight{padding:clamp(2.5rem,5vw,4rem) 0;}
.bg-lavender{background:var(--lavender);}
.bg-navy{background:var(--navy);color:#dcdcf0;}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff;}
.text-center{text-align:center;}

.eyebrow{
        display:inline-flex;align-items:center;gap:.6rem;
        font-family:var(--font-head);font-weight:700;font-size:.78rem;
        letter-spacing:.22em;text-transform:uppercase;color:var(--bright-red);
        margin-bottom:1rem;
}
.eyebrow::before{content:"";width:34px;height:3px;background:var(--bright-red);display:inline-block;}
.eyebrow--light{color:#ff8a8d;}
.eyebrow--light::before{background:#ff8a8d;}

.section-head{max-width:720px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center;}
.section-head .eyebrow{justify-content:center;}
.section-head p{color:var(--muted);font-size:1.1rem;}
.section-head--left{margin-left:0;text-align:left;}
.section-head--left .eyebrow{justify-content:flex-start;}

/* Buttons ----------------------------------------------------------------- */
.btn{
        display:inline-flex;align-items:center;gap:.6rem;
        font-family:var(--font-head);font-weight:700;font-size:.95rem;
        letter-spacing:.02em;padding:1rem 1.8rem;cursor:pointer;border:2px solid transparent;
        transition:transform var(--fast),background var(--fast),color var(--fast),box-shadow var(--fast);
        position:relative;text-transform:uppercase;letter-spacing:.06em;
}
.btn svg{width:1.1em;height:1.1em;}
.btn--primary{background:var(--bright-red);color:#fff;}
.btn--primary:hover{background:var(--indigo-red);color:#fff;transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--navy);}
.btn--dark{background:var(--navy);color:#fff;}
.btn--dark:hover{background:var(--navy-2);color:#fff;transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--bright-red);}
.btn--light{background:#fff;color:var(--navy);}
.btn--light:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--bright-red);color:var(--navy);}
.btn--outline{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn--outline:hover{background:var(--navy);color:#fff;}
.btn--outline-light{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.btn--outline-light:hover{background:#fff;color:var(--navy);border-color:#fff;}
.btn--lg{padding:1.15rem 2.2rem;font-size:1rem;}

/* Header ------------------------------------------------------------------ */
.site-header{
        position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
        backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
        transition:box-shadow var(--fast),background var(--fast);
}
.site-header.is-stuck{box-shadow:0 10px 40px -20px rgba(4,4,51,.5);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:82px;}
.site-brand img,.custom-logo{max-height:56px;width:auto;}
.brand-text{font-family:var(--font-head);font-weight:800;font-size:1.6rem;color:var(--navy);line-height:1;display:flex;flex-direction:column;letter-spacing:-.03em;}
.brand-text span{color:var(--bright-red);}
.brand-text small{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:3px;}

.main-nav .menu{display:flex;gap:.3rem;list-style:none;margin:0;padding:0;}
.main-nav a{
        font-family:var(--font-head);font-weight:600;font-size:.92rem;color:var(--navy);
        padding:.6rem .95rem;position:relative;text-transform:uppercase;letter-spacing:.04em;
}
.main-nav a::after{content:"";position:absolute;left:.95rem;right:.95rem;bottom:.35rem;height:2px;background:var(--bright-red);transform:scaleX(0);transform-origin:left;transition:transform var(--fast);}
.main-nav a:hover{color:var(--bright-red);}
.main-nav a:hover::after,.main-nav .current-menu-item>a::after{transform:scaleX(1);}
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--navy);min-width:230px;padding:.5rem 0;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);}
.main-nav li{position:relative;}
.main-nav li:hover>.sub-menu{display:block;}
.main-nav .sub-menu a{color:#dcdcf0;display:block;padding:.6rem 1.2rem;}
.main-nav .sub-menu a:hover{background:var(--bright-red);color:#fff;}

.header-cta{display:flex;align-items:center;gap:1.75rem;}
.header-cta .btn{margin-left:.25rem;}
.header-phone{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:.95rem;}
.header-phone svg{width:18px;height:18px;color:var(--bright-red);}
.header-phone:hover{color:var(--bright-red);}

.nav-toggle{display:none;width:48px;height:48px;background:var(--navy);border:0;cursor:pointer;position:relative;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:14px;width:20px;height:2px;background:#fff;transition:var(--fast);}
.nav-toggle span{top:23px;}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.nav-open .nav-toggle span{background:transparent;}
.nav-open .nav-toggle span::before{transform:rotate(45deg);top:0;}
.nav-open .nav-toggle span::after{transform:rotate(-45deg);top:0;}

/* Hero -------------------------------------------------------------------- */
.hero{
        position:relative;background:var(--navy);color:#fff;overflow:hidden;
        padding:clamp(5rem,11vw,9rem) 0 clamp(6rem,12vw,10rem);
        isolation:isolate;
}
.hero__bg{position:absolute;inset:0;z-index:-2;}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.5;transform:scale(1.08);}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
        linear-gradient(105deg,rgba(4,4,51,.96) 42%,rgba(4,4,51,.72) 72%,rgba(158,23,27,.55) 100%);}
.hero__inner{position:relative;max-width:860px;}
.hero .eyebrow{color:#ff9a9d;}
.hero .eyebrow::before{background:var(--bright-red);}
.hero h1{color:#fff;margin-bottom:1.2rem;text-shadow:0 2px 24px rgba(4,4,51,.6);}
.hero h1 .accent{color:var(--bright-red);display:block;}
.hero__lead{font-size:clamp(1.15rem,1.7vw,1.4rem);color:#ececfa;max-width:620px;margin-bottom:2rem;line-height:1.65;text-shadow:0 1px 12px rgba(4,4,51,.7);}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;}
.hero__stats{display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--line-dark);}
.hero__stat{padding:1.6rem 2rem 0 0;margin-right:2rem;border-right:1px solid var(--line-dark);}
.hero__stat:last-child{border-right:0;}
.hero__stat b{display:block;font-family:var(--font-head);font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:#fff;line-height:1;}
.hero__stat b .plus{color:var(--bright-red);}
.hero__stat span{font-size:.82rem;text-transform:uppercase;letter-spacing:.15em;color:#9a9ac4;}

/* Page hero (interior pages) ---------------------------------------------- */
.page-hero{
        position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate;
        padding:clamp(3.5rem,8vw,6rem) 0 clamp(3.5rem,7vw,5.5rem);
}
.page-hero__bg{position:absolute;inset:0;z-index:-2;}
.page-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.32;}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(4,4,51,.95) 40%,rgba(158,23,27,.55));}
.page-hero__inner{position:relative;max-width:820px;}
.page-hero h1{color:#fff;}
.page-hero p{color:#c8c8e4;font-size:1.15rem;max-width:620px;}
.page-hero .card__icon{background:var(--bright-red);}
.page-hero .card__icon svg{color:#fff;}

/* Breadcrumbs ------------------------------------------------------------- */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.4rem;font-family:var(--font-head);font-weight:600;}
.breadcrumbs a{color:#ff9a9d;}
.breadcrumbs span{color:#7c7ca8;}
.page-hero .breadcrumbs a{color:#ff9a9d;}

/* Grids ------------------------------------------------------------------- */
.grid{display:grid;gap:var(--gap);}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}

/* Cards (sharp, bordered, index tabs) ------------------------------------- */
.card{
        background:#fff;border:1px solid var(--line);padding:2.2rem 1.9rem;position:relative;
        transition:transform var(--fast),box-shadow var(--fast),border-color var(--fast);
}
.card::before{content:"";position:absolute;top:0;left:0;width:0;height:4px;background:var(--bright-red);transition:width var(--slow);}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -35px rgba(4,4,51,.45);border-color:transparent;}
.card:hover::before{width:100%;}
.card__icon{width:60px;height:60px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem;transition:background var(--fast);}
.card__icon svg{width:30px;height:30px;color:#fff;}
.card:hover .card__icon{background:var(--bright-red);}
.card h3{margin-bottom:.6rem;}
.card p{color:var(--muted);font-size:.97rem;margin-bottom:1.1rem;}
.card__link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-head);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);}
.card__link svg{width:16px;height:16px;transition:transform var(--fast);}
.card__link:hover{color:var(--bright-red);}
.card__link:hover svg{transform:translateX(5px);}

/* Service cards WITH image ------------------------------------------------ */
.svc-card{position:relative;overflow:hidden;background:#fff;color:var(--ink);display:flex;flex-direction:column;border:1px solid var(--line);transition:transform var(--fast),box-shadow var(--fast),border-color var(--fast);}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(4,4,51,.45);border-color:transparent;}
.svc-card__img{position:relative;height:200px;overflow:hidden;}
.svc-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.svc-card:hover .svc-card__img img{transform:scale(1.08);}
.svc-card__body{position:relative;flex:1;display:flex;flex-direction:column;padding:2.5rem 1.7rem 1.7rem;}
.svc-card__num{position:absolute;top:-1.5rem;right:1.4rem;font-family:var(--font-head);font-weight:800;font-size:2.6rem;color:rgba(4,4,51,.08);}
.svc-card__ico{position:absolute;top:-27px;left:1.6rem;width:54px;height:54px;background:var(--bright-red);border-radius:50% !important;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(229,33,39,.6);}
.svc-card__ico svg{width:26px;height:26px;color:#fff;}
.svc-card h3{color:var(--navy);margin-bottom:.5rem;font-size:1.2rem;}
.svc-card p{color:var(--muted);font-size:.92rem;margin-bottom:1.3rem;flex:1;}
.svc-card__more{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-head);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--indigo-red);margin-top:auto;}
.svc-card__more svg{width:16px;height:16px;padding:.45rem;box-sizing:content-box;border:1.5px solid var(--indigo-red);border-radius:50% !important;color:var(--indigo-red);transition:transform var(--fast),background var(--fast),color var(--fast);}
.svc-card:hover .svc-card__more svg{background:var(--bright-red);border-color:var(--bright-red);color:#fff;transform:translateX(4px);}
.svc-card--featured{grid-column:span 1;}
.svc-card__tag{position:absolute;top:1rem;left:1rem;background:var(--bright-red);color:#fff;font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .85rem;z-index:2;}

/* Project cards ----------------------------------------------------------- */
.proj-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform var(--fast),box-shadow var(--fast),border-color var(--fast);}
.proj-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(4,4,51,.45);border-color:transparent;}
.proj-card__img{position:relative;height:220px;overflow:hidden;}
.proj-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.proj-card:hover .proj-card__img img{transform:scale(1.08);}
.proj-card__body{position:relative;flex:1;display:flex;flex-direction:column;padding:1.5rem 1.6rem 1.6rem;}
.proj-card__sector{align-self:flex-start;background:var(--bright-red);color:#fff;font-family:var(--font-head);font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .75rem;position:absolute;top:-1rem;left:1.6rem;}
.proj-card h3{color:var(--navy);font-size:1.15rem;margin:.6rem 0 .5rem;}
.proj-card h3 a{color:inherit;}
.proj-card h3 a:hover{color:var(--bright-red);}
.proj-card__desc{color:var(--muted);font-size:.88rem;line-height:1.5;margin:0 0 1rem;}
.proj-card__loc{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);margin-top:auto;}
.proj-card__loc svg{width:15px;height:15px;color:var(--bright-red);}

/* Split (image + text) ---------------------------------------------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split--reverse .split__media{order:2;}
.split__media{position:relative;}
.split__media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.split__media::before{content:"";position:absolute;top:-18px;left:-18px;width:120px;height:120px;border-top:6px solid var(--bright-red);border-left:6px solid var(--bright-red);z-index:2;}
.split__media::after{content:"";position:absolute;bottom:-18px;right:-18px;width:120px;height:120px;border-bottom:6px solid var(--navy);border-right:6px solid var(--navy);}
.split__badge{position:absolute;bottom:1.4rem;left:1.4rem;background:var(--bright-red);color:#fff;padding:1.2rem 1.6rem;z-index:3;font-family:var(--font-head);}
.split__badge b{display:block;font-size:2.2rem;font-weight:800;line-height:1;}
.split__badge span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;}
.feature-list{list-style:none;padding:0;margin:1.5rem 0;}
.feature-list li{display:flex;gap:.9rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--line);}
.feature-list li:last-child{border-bottom:0;}
.feature-list svg{width:22px;height:22px;color:#fff;background:var(--bright-red);padding:4px;flex:0 0 auto;margin-top:2px;}
.feature-list b{font-family:var(--font-head);color:var(--navy);}

/* Stats band -------------------------------------------------------------- */
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);}
.stats-band .stat{padding:2.4rem 1.5rem;text-align:center;border-right:1px solid var(--line);}
.stats-band .stat:last-child{border-right:0;}
.stats-band .stat b{display:block;font-family:var(--font-head);font-size:clamp(2.2rem,4vw,3rem);font-weight:800;color:var(--bright-red);line-height:1;}
.stats-band .stat span{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;}

/* Logo strip -------------------------------------------------------------- */
.logo-strip{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;}
.logo-chip{font-family:var(--font-head);font-weight:700;color:var(--navy);border:1px solid var(--line);padding:.7rem 1.3rem;font-size:.9rem;letter-spacing:.02em;background:#fff;}
.logo-img{height:64px;display:flex;align-items:center;justify-content:center;padding:.8rem 1.4rem;border:1px solid var(--line);background:#fff;filter:grayscale(1);opacity:.72;transition:filter var(--fast),opacity var(--fast);}
.logo-img img{max-height:44px;width:auto;object-fit:contain;}
.logo-img:hover{filter:grayscale(0);opacity:1;}
.acc-strip{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:center;}
.acc-strip .logo-img{filter:none;opacity:1;height:88px;}
.acc-strip .logo-img img{max-height:62px;}

/* Steps / process --------------------------------------------------------- */
.steps{display:grid;gap:0;counter-reset:step;border-top:1px solid var(--line);}
.step{position:relative;padding:2rem 2rem 2rem 5.5rem;border-bottom:1px solid var(--line);counter-increment:step;}
.step::before{content:"0" counter(step);position:absolute;left:1.5rem;top:2rem;font-family:var(--font-head);font-weight:800;font-size:1.7rem;color:var(--bright-red);}
.step h4{margin-bottom:.3rem;}
.step p{color:var(--muted);margin:0;}
.steps--cols{grid-template-columns:1fr 1fr;border-left:1px solid var(--line);}
.steps--cols .step{border-right:1px solid var(--line);}

/* FAQ --------------------------------------------------------------------- */
.faq{max-width:840px;margin:0 auto;border-top:2px solid var(--navy);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;background:none;border:0;text-align:left;padding:1.4rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:1.1rem;color:var(--navy);}
.faq-q__icon{flex:0 0 auto;width:34px;height:34px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;transition:background var(--fast),transform var(--fast);}
.faq-q[aria-expanded="true"] .faq-q__icon{background:var(--bright-red);transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height var(--slow);}
.faq-a__inner{padding:0 0 1.4rem;color:var(--muted);}

/* Testimonials ------------------------------------------------------------ */
.testimonial{background:#fff;border:1px solid var(--line);border-top:4px solid var(--bright-red);padding:2rem 1.8rem;position:relative;}
.testimonial__stars{color:var(--bright-red);letter-spacing:3px;margin-bottom:.8rem;font-size:1.1rem;}
.testimonial__text{color:var(--ink);font-size:1rem;margin-bottom:1.4rem;}
.testimonial__author{display:flex;align-items:center;gap:.9rem;}
.testimonial__avatar{width:48px;height:48px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;}
.testimonial__name{font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:.95rem;}
.testimonial__role{font-size:.82rem;color:var(--muted);}

/* CTA band ---------------------------------------------------------------- */
.cta-band{position:relative;background:var(--navy);color:#fff;padding:clamp(3rem,6vw,5rem);overflow:hidden;isolation:isolate;text-align:center;}
.cta-band::before{content:"";position:absolute;top:0;right:0;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(229,33,39,.5));z-index:-1;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);}
.cta-band h2{color:#fff;max-width:700px;margin-left:auto;margin-right:auto;}
.cta-band p{color:#c8c8e4;max-width:620px;margin:0 auto 1.8rem;}
.cta-band__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}

/* Badges ------------------------------------------------------------------ */
.badge-standard{display:inline-block;border:2px solid var(--navy);color:var(--navy);font-family:var(--font-head);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:.5rem .9rem;margin:.3rem;}

/* Content ----------------------------------------------------------------- */
.single-content,.entry-content{max-width:800px;margin:0 auto;font-size:1.08rem;}
.entry-content h2{margin-top:2.2rem;}
.entry-content h3{margin-top:1.8rem;}
.entry-content ul li{margin-bottom:.5rem;}
.entry-content a{text-decoration:underline;}
.entry-content blockquote{border-left:5px solid var(--bright-red);padding:.5rem 0 .5rem 1.5rem;margin:1.5rem 0;font-size:1.2rem;color:var(--navy);font-family:var(--font-head);font-weight:600;}

/* ==========================================================================
   INTERACTIVE MODULES — Before/After slider, Hotspot diagram, Process viz
   ========================================================================== */

/* Before / After comparison slider */
.ba{max-width:960px;margin:0 auto;}
.ba__frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;user-select:none;background:var(--navy);cursor:ew-resize;border:1px solid var(--line);}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.ba__after{clip-path:inset(0 0 0 50%);}
.ba__label{position:absolute;top:1rem;font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(4,4,51,.85);padding:.4rem .8rem;pointer-events:none;}
.ba__label--before{left:1rem;}
.ba__label--after{right:1rem;background:var(--bright-red);}
.ba__handle{position:absolute;top:0;bottom:0;left:50%;width:4px;background:#fff;transform:translateX(-2px);pointer-events:none;box-shadow:0 0 0 1px rgba(4,4,51,.3);}
.ba__grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;background:var(--bright-red);display:flex;align-items:center;justify-content:center;pointer-events:none;}
.ba__grip::before{content:"‹ ›";color:#fff;font-size:1.4rem;letter-spacing:2px;font-weight:700;}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;}
.ba__caption{text-align:center;color:var(--muted);font-size:.9rem;margin-top:1rem;}

/* Hotspot interactive diagram */
.hotspot{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:stretch;}
.hotspot__stage{position:relative;background:var(--navy);border:1px solid var(--line);overflow:hidden;min-height:380px;}
.hotspot__stage img,.hotspot__stage svg{width:100%;height:100%;display:block;object-fit:cover;}
.hotspot__pin{position:absolute;width:38px;height:38px;transform:translate(-50%,-50%);background:var(--bright-red);color:#fff;border:3px solid #fff;font-family:var(--font-head);font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px rgba(0,0,0,.6);transition:transform var(--fast),background var(--fast);animation:pinpulse 2.4s var(--ease) infinite;}
.hotspot__pin:hover,.hotspot__pin.is-active{background:var(--navy);transform:translate(-50%,-50%) scale(1.18);animation:none;}
@keyframes pinpulse{0%,100%{box-shadow:0 0 0 0 rgba(229,33,39,.5);}50%{box-shadow:0 0 0 12px rgba(229,33,39,0);}}
.hotspot__panel{background:#fff;border:1px solid var(--line);border-top:4px solid var(--bright-red);padding:1.8rem;display:flex;flex-direction:column;}
.hotspot__panel .num{font-family:var(--font-head);font-weight:800;font-size:2.4rem;color:var(--line);line-height:1;}
.hotspot__panel h4{margin:.4rem 0 .6rem;font-size:1.3rem;}
.hotspot__panel p{color:var(--muted);margin:0;}
.hotspot__hint{margin-top:auto;padding-top:1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bright-red);font-family:var(--font-head);font-weight:700;}

/* Interactive tabbed process */
.iproc{max-width:1000px;margin:0 auto;border:1px solid var(--line);}
.iproc__tabs{display:flex;flex-wrap:wrap;background:var(--navy);}
.iproc__tab{flex:1;min-width:120px;background:none;border:0;border-right:1px solid rgba(255,255,255,.1);color:#b8b8d8;font-family:var(--font-head);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;padding:1.1rem .8rem;cursor:pointer;transition:var(--fast);position:relative;}
.iproc__tab .n{display:block;font-size:1.4rem;color:var(--bright-red);margin-bottom:.2rem;}
.iproc__tab:hover{color:#fff;background:rgba(255,255,255,.05);}
.iproc__tab.is-active{background:var(--bright-red);color:#fff;}
.iproc__tab.is-active .n{color:#fff;}
.iproc__panels{padding:2.4rem;background:#fff;}
.iproc__panel{display:none;animation:fadeUp .4s var(--ease);}
.iproc__panel.is-active{display:block;}
.iproc__panel h4{font-size:1.5rem;}
.iproc__panel p{color:var(--muted);}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* Systems table ----------------------------------------------------------- */
.systems-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.96rem;}
.systems-table caption{text-align:left;font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:1.3rem;padding:.5rem 0 1rem;}
.systems-table th{background:var(--navy);color:#fff;text-align:left;padding:1rem;font-family:var(--font-head);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;}
.systems-table td{padding:1rem;border-bottom:1px solid var(--line);}
.systems-table tr:hover td{background:var(--lavender);}

/* Area tags --------------------------------------------------------------- */
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.area-tag{background:#fff;padding:1.2rem 1.4rem;display:flex;align-items:center;gap:.7rem;font-family:var(--font-head);font-weight:600;color:var(--navy);transition:var(--fast);}
.area-tag svg{width:18px;height:18px;color:var(--bright-red);}
.area-tag:hover{background:var(--navy);color:#fff;}
.area-tag:hover svg{color:#fff;}

/* Blog -------------------------------------------------------------------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
.post-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform var(--fast),box-shadow var(--fast);}
.post-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -35px rgba(4,4,51,.4);}
.post-card__media{overflow:hidden;aspect-ratio:16/10;background:var(--navy);}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.post-card:hover .post-card__media img{transform:scale(1.08);}
.post-card__body{padding:1.6rem;display:flex;flex-direction:column;flex:1;}
.post-card__meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bright-red);font-family:var(--font-head);font-weight:700;margin-bottom:.6rem;}
.post-card h3{font-size:1.25rem;margin-bottom:.5rem;}
.post-card h3 a{color:var(--navy);}
.post-card h3 a:hover{color:var(--bright-red);}
.post-card p{color:var(--muted);font-size:.93rem;flex:1;}
.blog-layout{display:grid;grid-template-columns:1fr 320px;gap:clamp(2rem,4vw,3.5rem);}
.widget{margin-bottom:2rem;border:1px solid var(--line);padding:1.5rem;}
.widget-title{font-size:1.05rem;border-bottom:2px solid var(--bright-red);padding-bottom:.6rem;margin-bottom:1rem;}
.widget ul{list-style:none;padding:0;margin:0;}
.widget li{padding:.4rem 0;border-bottom:1px solid var(--line);}
.widget li:last-child{border-bottom:0;}

.post-hero{position:relative;background:var(--navy);color:#fff;isolation:isolate;overflow:hidden;padding:clamp(3rem,7vw,5rem) 0;}
.post-hero__bg{position:absolute;inset:0;z-index:-2;}
.post-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;}
.post-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(4,4,51,.94),rgba(158,23,27,.5));}
.post-meta{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.85rem;color:#c8c8e4;font-family:var(--font-head);font-weight:600;margin-top:1rem;}
.post-meta span{display:inline-flex;align-items:center;gap:.4rem;}

/* Forms ------------------------------------------------------------------- */
.form-field,.wpcf7-form label{display:block;margin-bottom:1.1rem;font-family:var(--font-head);font-weight:600;color:var(--navy);font-size:.9rem;}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],textarea,select,.wpcf7-form input,.wpcf7-form textarea,.wpcf7-form select{
        width:100%;padding:.9rem 1rem;border:1px solid var(--line);background:#fff;font-family:var(--font-body);font-size:1rem;color:var(--ink);transition:border-color var(--fast),box-shadow var(--fast);margin-top:.4rem;
}
input:focus,textarea:focus,select:focus{border-color:var(--bright-red);box-shadow:0 0 0 3px rgba(229,33,39,.14);outline:none;}
textarea{min-height:140px;resize:vertical;}
.wpcf7-submit,input[type=submit]{background:var(--bright-red);color:#fff;border:0;padding:1rem 2rem;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:var(--fast);}
.wpcf7-submit:hover,input[type=submit]:hover{background:var(--indigo-red);transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--navy);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.contact-info{background:var(--navy);color:#fff;padding:2.4rem;}
.contact-info h3{color:#fff;}
.contact-info ul{list-style:none;padding:0;margin:1.4rem 0 0;}
.contact-info li{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line-dark);}
.contact-info li:last-child{border-bottom:0;}
.contact-info svg{width:22px;height:22px;color:var(--bright-red);flex:0 0 auto;}
.contact-info a{color:#dcdcf0;}
.contact-info a:hover{color:#fff;}

/* Footer ------------------------------------------------------------------ */
.site-footer{background:var(--navy);color:#a9a9cc;padding:clamp(3.5rem,6vw,5rem) 0 2rem;position:relative;}
.site-footer::before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--bright-red);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid var(--line-dark);}
.footer-brand{display:inline-block;margin-bottom:1.1rem;line-height:0;}
.footer-brand img{max-height:64px;width:auto;}
.footer-about p{font-size:.92rem;}
.footer-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;}
.footer-badges span{border:1px solid var(--line-dark);padding:.35rem .7rem;font-size:.72rem;font-family:var(--font-head);font-weight:600;color:#c8c8e4;letter-spacing:.04em;}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:1.1rem;text-transform:uppercase;letter-spacing:.08em;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:.6rem;}
.footer-links a{color:#a9a9cc;font-size:.92rem;}
.footer-links a:hover{color:#fff;padding-left:5px;}
.footer-contact ul{list-style:none;padding:0;margin:0;}
.footer-contact li{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.9rem;font-size:.92rem;}
.footer-contact svg{width:18px;height:18px;color:var(--bright-red);flex:0 0 auto;margin-top:2px;}
.footer-contact a:not(.btn){color:#a9a9cc;}
.footer-contact a:not(.btn):hover{color:#fff;}
.footer-contact a.btn--primary{color:#fff;}
.footer-contact a.btn--primary:hover{color:#fff;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.85rem;}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{color:#a9a9cc;}
.footer-legal a:hover{color:#fff;}

/* Scroll reveal ----------------------------------------------------------- */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
[data-reveal].is-visible{opacity:1;transform:none;}
[data-reveal][data-delay="1"]{transition-delay:.08s;}
[data-reveal][data-delay="2"]{transition-delay:.16s;}
[data-reveal][data-delay="3"]{transition-delay:.24s;}
[data-reveal][data-delay="4"]{transition-delay:.32s;}
[data-reveal][data-delay="5"]{transition-delay:.4s;}
[data-reveal][data-delay="6"]{transition-delay:.48s;}

/* Icons default ----------------------------------------------------------- */
svg{fill:none;}
.card__icon svg,.svc-card__ico svg,.contact-info svg,.feature-list svg{stroke-width:2;}

/* Responsive -------------------------------------------------------------- */
@media(max-width:1024px){
        .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
        .svc-card--featured{grid-column:span 1;}
        .hotspot{grid-template-columns:1fr;}
}
@media(max-width:900px){
        .grid--3,.grid--4,.post-grid{grid-template-columns:repeat(2,1fr);}
        .split{grid-template-columns:1fr;}
        .split--reverse .split__media{order:0;}
        .blog-layout,.contact-grid{grid-template-columns:1fr;}
        .stats-band{grid-template-columns:1fr 1fr;}
        .stats-band .stat:nth-child(2){border-right:0;}
        .steps--cols{grid-template-columns:1fr;}
}
@media(max-width:860px){
        .nav-toggle{display:block;}
        .main-nav{position:fixed;inset:82px 0 auto 0;background:var(--navy);max-height:0;overflow:hidden;transition:max-height var(--slow);}
        .nav-open .main-nav{max-height:80vh;overflow-y:auto;border-bottom:4px solid var(--bright-red);}
        .main-nav .menu{flex-direction:column;padding:1rem;gap:0;}
        .main-nav a{color:#fff;padding:1rem .5rem;border-bottom:1px solid rgba(255,255,255,.08);}
        .main-nav a::after{display:none;}
        .main-nav .sub-menu{position:static;display:block;background:transparent;box-shadow:none;padding-left:1rem;}
        .header-phone span{display:none;}
        .header-cta .btn{padding:.7rem 1rem;font-size:.8rem;}
}
@media(max-width:600px){
        body{font-size:16px;}
        .grid--3,.grid--4,.post-grid,.grid--2{grid-template-columns:1fr;}
        .stats-band{grid-template-columns:1fr 1fr;}
        .hero__stat{border-right:0;padding-right:0;margin-right:0;min-width:45%;}
        .iproc__tabs{flex-direction:column;}
        .cta-band__actions .btn,.hero__actions .btn{width:100%;justify-content:center;}
}

/* Utility ----------------------------------------------------------------- */
.mt-0{margin-top:0;}.mb-0{margin-bottom:0;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

@media(prefers-reduced-motion:reduce){
        *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
        [data-reveal]{opacity:1;transform:none;}
}



/* ==========================================================================
   COMPATIBILITY — legacy classes still referenced by interior templates
   (kept sharp, no rounded corners)
   ========================================================================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);}
.bg-navy .stats{border-color:var(--line-dark);}
.stats .stat{padding:2.2rem 1.4rem;text-align:center;border-right:1px solid var(--line);}
.bg-navy .stats .stat{border-right-color:var(--line-dark);}
.stats .stat:last-child{border-right:0;}
.stat__num{font-family:var(--font-head);font-size:clamp(2.1rem,4vw,3rem);font-weight:800;color:var(--bright-red);line-height:1;}
.stat__label{display:block;margin-top:.5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;}
.bg-navy .stat__label{color:#9a9ac4;}

.feature-item{display:flex;gap:1rem;align-items:flex-start;}
.feature-item__icon{flex:0 0 auto;width:48px;height:48px;background:var(--bright-red);display:flex;align-items:center;justify-content:center;}
.feature-item__icon svg{width:24px;height:24px;color:#fff;}
.feature-item h4{margin-bottom:.3rem;}
.feature-item p{color:var(--muted);font-size:.92rem;margin:0;}

.content-with-sidebar{display:grid;grid-template-columns:1fr 320px;gap:clamp(2rem,4vw,3.5rem);}
.lead{font-size:1.15rem;color:var(--ink);line-height:1.7;}

.check-list{list-style:none;padding:0;margin:1rem 0;}
.check-list li{position:relative;padding:.5rem 0 .5rem 2rem;border-bottom:1px solid var(--line);}
.check-list li::before{content:"";position:absolute;left:0;top:.9rem;width:12px;height:12px;background:var(--bright-red);clip-path:polygon(14% 44%,0 65%,43% 100%,100% 20%,80% 4%,41% 60%);}

.post-meta-bar{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1rem;font-family:var(--font-head);font-weight:600;font-size:.88rem;}
.post-meta-bar span{display:inline-flex;align-items:center;gap:.45rem;}
.post-meta-bar svg{width:16px;height:16px;color:var(--bright-red);}

.post-card__media{overflow:hidden;aspect-ratio:16/10;background:var(--navy);display:block;}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.post-card:hover .post-card__media img{transform:scale(1.08);}
.post-card__cat{color:var(--bright-red);}
.post-card__link{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;font-family:var(--font-head);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--navy);}
.post-card__link svg{width:15px;height:15px;transition:transform var(--fast);}
.post-card__link:hover svg{transform:translateX(4px);}

.check-list,.feature-list{margin-top:1rem;}

@media(max-width:900px){
        .stats{grid-template-columns:1fr 1fr;}
        .stats .stat:nth-child(2){border-right:0;}
        .content-with-sidebar{grid-template-columns:1fr;}
}
@media(max-width:560px){
        .stats{grid-template-columns:1fr;}
        .stats .stat{border-right:0;border-bottom:1px solid var(--line);}
}



/* Legacy CSS vars referenced inline in some templates */
:root{--gradient-navy:linear-gradient(120deg,var(--navy),var(--navy-2));--grey-500:var(--muted);}

/* Contact cards / form (template-contact) */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.contact-card{background:#fff;padding:2rem 1.6rem;text-align:center;transition:var(--fast);}
.contact-card:hover{background:var(--navy);}
.contact-card:hover h4,.contact-card:hover a,.contact-card:hover span{color:#fff;}
.contact-card__icon{width:56px;height:56px;margin:0 auto 1rem;background:var(--bright-red);display:flex;align-items:center;justify-content:center;}
.contact-card__icon svg{width:26px;height:26px;color:#fff;}
.contact-card h4{margin-bottom:.4rem;}
.contact-card a,.contact-card span{color:var(--navy);font-weight:600;}
.contact-card a:hover{color:var(--bright-red);}
.form-wrap{background:#fff;border:1px solid var(--line);border-top:4px solid var(--bright-red);padding:clamp(1.6rem,3vw,2.4rem);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.indigo-fallback-form button{margin-top:1rem;}

/* Systems catalogue table (template-systems) */
.sys-cat-head{display:flex;align-items:center;gap:1.1rem;margin:0 0 1.6rem;}
.sys-cat-head:not(:first-child){margin-top:3.2rem;}
.sys-cat-head__ico{flex:0 0 auto;width:60px;height:60px;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.sys-cat-head__ico svg{width:30px;height:30px;color:#fff;}
.sys-cat-head h2{margin:.1rem 0 0;font-size:clamp(1.5rem,3vw,2.1rem);}
.sys-grid{margin-bottom:1rem;}
.sys-card{background:#fff;border:1px solid var(--line);padding:1.5rem;display:flex;flex-direction:column;transition:transform var(--fast),box-shadow var(--fast),border-color var(--fast);border-top:3px solid var(--bright-red);}
.sys-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px -26px rgba(4,4,51,.4);}
.sys-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.9rem;}
.sys-card__ico{flex:0 0 auto;width:42px;height:42px;background:var(--lavender);display:flex;align-items:center;justify-content:center;}
.sys-card__ico svg{width:22px;height:22px;color:var(--bright-red);}
.sys-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;}
.sys-tag{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .5rem;background:var(--lavender);color:var(--navy);}
.sys-tag--pop{background:var(--bright-red);color:#fff;}
.sys-card h3{font-size:1.08rem;margin-bottom:.4rem;color:var(--navy);}
.sys-card p{color:var(--muted);font-size:.9rem;margin-bottom:1.1rem;flex:1;}
.sys-card__std{display:flex;flex-wrap:wrap;gap:.4rem;}
.sys-badge{font-size:.72rem;font-weight:600;padding:.3rem .6rem;background:#eef1f9;color:var(--navy-2);border:1px solid var(--line);}

/* Area tags container (template-areas) */
.area-tags{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);}
.area-tags .area-tag{background:#fff;}

@media(max-width:768px){
        .contact-cards{grid-template-columns:1fr;}
        .form-row{grid-template-columns:1fr;}
}

/* ==========================================================================
   LAUNCH FIXES v1.1 — mobile, logos, footer, conversion polish
   ========================================================================== */
.btn--ghost{background:var(--navy);color:#fff;border-color:var(--navy);}
.btn--ghost:hover{background:var(--bright-red);border-color:var(--bright-red);color:#fff;transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--navy);}
.bg-navy .btn--ghost{background:#fff;color:var(--navy);border-color:#fff;}
.bg-navy .btn--ghost:hover{background:var(--bright-red);border-color:var(--bright-red);color:#fff;}

.site-brand a{display:flex;align-items:center;line-height:0;}
.site-brand img,.custom-logo{display:block;max-width:160px;height:auto;object-fit:contain;}
.header-phone{white-space:nowrap;}
.main-nav a:focus-visible,.footer-links a:focus-visible,.footer-legal a:focus-visible,.footer-contact a:focus-visible{outline:2px solid var(--bright-red);outline-offset:4px;}

.logo-img{min-width:150px;min-height:70px;line-height:0;overflow:hidden;}
.logo-img picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.logo-img img{display:block;max-width:150px;max-height:44px;width:auto;height:auto;object-fit:contain;}
.acc-strip .logo-img{min-width:170px;min-height:92px;padding:1rem 1.2rem;}
.acc-strip .logo-img img{max-width:150px;max-height:62px;}

.testimonial__stars{display:flex;align-items:center;gap:.5rem;color:var(--bright-red);font-size:0;}
.testimonial__stars svg{width:26px;height:26px;color:var(--bright-red);stroke-width:2;}
.testimonial__avatar svg{width:24px;height:24px;color:#fff;stroke-width:2;}

.footer-legal-menu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;}
.footer-legal-menu li{margin:0;padding:0;}
.footer-links a,.footer-contact a,.footer-legal a{display:inline-flex;align-items:center;min-height:28px;}
.footer-contact li svg{margin-top:4px;}

.indigo-fallback-form label{display:block;margin-top:1rem;font-family:var(--font-head);font-weight:600;color:var(--navy);font-size:.9rem;}
.indigo-fallback-form .form-row label{margin-top:0;}
.wpcf7-not-valid-tip{color:var(--bright-red);font-size:.82rem;margin-top:.35rem;}
.wpcf7-response-output{margin:1rem 0 0!important;padding:.9rem 1rem!important;border:1px solid var(--line)!important;}

@media(max-width:1180px){
        .main-nav a{padding:.55rem .65rem;font-size:.84rem;}
        .header-inner{gap:1rem;}
        .header-cta{gap:.9rem;}
        .header-phone span{display:none;}
}

@media(max-width:860px){
        .header-inner{height:72px;}
        .site-brand img,.custom-logo{max-height:48px;max-width:138px;}
        .main-nav{inset:72px 0 auto 0;box-shadow:0 24px 60px -35px rgba(0,0,0,.75);}
        .nav-open .main-nav{max-height:calc(100vh - 72px);}
        body.nav-open{overflow:hidden;}
        .main-nav .menu{padding:1.1rem clamp(1.1rem,4vw,2rem);}
        .main-nav a{display:block;font-size:1rem;padding:1rem 0;}
        .main-nav .sub-menu a{padding:.7rem 0;color:#c8c8e4;}
        .header-cta .btn{display:none;}
        .nav-toggle{flex:0 0 48px;}

        .hero{padding:clamp(3rem,14vw,4.8rem) 0 clamp(3rem,12vw,4.5rem);min-height:auto;}
        .hero__bg,.page-hero__bg{transform:none!important;}
        .hero__bg img,.page-hero__bg img{transform:none!important;object-position:center;opacity:.42;}
        .hero::after{background:linear-gradient(105deg,rgba(4,4,51,.97) 0%,rgba(4,4,51,.9) 68%,rgba(158,23,27,.5) 100%);}
        .hero__inner{max-width:none;}
        .hero h1{font-size:clamp(2.15rem,11vw,3.2rem);line-height:1.02;margin-bottom:1rem;}
        .hero__lead{font-size:1.02rem;line-height:1.55;margin-bottom:1.4rem;}
        .hero__actions{gap:.75rem;}
        .hero__stats{display:grid;grid-template-columns:1fr 1fr;margin-top:2rem;border-top:1px solid var(--line-dark);gap:0;}
        .hero__stat{min-width:0;margin:0;padding:1.1rem .8rem 0 0;border-right:0;}
        .hero__stat b{font-size:1.9rem;}
        .hero__stat span{font-size:.68rem;letter-spacing:.11em;}
        .page-hero{padding:3rem 0;}
}

@media(max-width:600px){
        .container,.container-wide{padding-left:1rem;padding-right:1rem;}
        .section{padding:3.2rem 0;}
        .section--tight{padding:2rem 0;}
        .eyebrow{font-size:.7rem;letter-spacing:.16em;line-height:1.4;}
        .eyebrow::before{width:24px;height:2px;}
        .btn{padding:.9rem 1rem;font-size:.82rem;}
        .hero__actions .btn{width:100%;justify-content:center;}
        .hero__stats{grid-template-columns:1fr 1fr;}
        .stats-band,.stats{grid-template-columns:1fr;}
        .stats-band .stat,.stats .stat{border-right:0;border-bottom:1px solid var(--line);}
        .logo-strip,.acc-strip{gap:.75rem;}
        .logo-img{min-width:calc(50% - .5rem);padding:.7rem .6rem;}
        .acc-strip .logo-img{min-width:calc(50% - .5rem);min-height:84px;}
        .footer-grid{grid-template-columns:1fr;}
        .footer-bottom{display:block;}
        .footer-legal,.footer-legal-menu{margin-top:1rem;flex-wrap:wrap;gap:.9rem 1.2rem;}
        .split__media::before,.split__media::after{width:70px;height:70px;}
        .split__badge{position:static;margin-top:.75rem;display:inline-block;}
}

/* ==========================================================================
   v1.2 polish — proof strips, project hub, footer logos, softer CTAs
   ========================================================================== */
.eyebrow--plain{display:block;text-align:center;margin-left:auto;margin-right:auto;justify-content:center;}
.eyebrow--plain::before{display:none;}
.proof-strip-section{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem);}
.proof-strip-head{max-width:760px;margin:0 auto 2rem;text-align:center;}
.proof-strip-head h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:.65rem;}
.proof-strip-head p{color:var(--muted);font-size:1rem;margin:0 auto;max-width:620px;}
.acc-strip--logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch;}
.acc-strip--logos .logo-img{height:112px;min-height:112px;min-width:0;padding:1rem;background:#fff;border:1px solid rgba(4,4,51,.1);box-shadow:0 18px 42px rgba(4,4,51,.08);}
.acc-strip--logos .logo-img img{max-width:100%;max-height:72px;}
.acc-strip--logos .logo-img:hover{transform:translateY(-3px);box-shadow:0 24px 52px rgba(4,4,51,.12);}

.projects-admin-note{background:var(--lavender);border-left:6px solid var(--bright-red);padding:1.8rem 2rem;margin:0 0 3rem;}
.projects-admin-note h2{font-size:clamp(1.35rem,2.5vw,1.85rem);margin-bottom:.5rem;}
.projects-admin-note p{max-width:960px;color:var(--muted);margin:0;}
.projects-hub .section-head{border-top:1px solid var(--line);padding-top:2.25rem;}
.projects-hub .section-head:first-of-type{border-top:0;padding-top:0;}

.footer-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.25rem;max-width:360px;}
.footer-logo-grid .logo-img{height:54px;min-height:54px;min-width:0;padding:.45rem .55rem;background:rgba(255,255,255,.96);border:0;filter:none;opacity:1;}
.footer-logo-grid .logo-img img{max-height:36px;max-width:100%;}
.site-footer .btn{box-shadow:none;}
.footer-contact a.btn--primary{padding:.9rem 1.25rem;margin-top:.4rem;}

.cta-band{background:linear-gradient(135deg,var(--navy),var(--navy-2));text-align:left;display:grid;gap:1.5rem;align-items:center;}
.cta-band::before{opacity:.75;}
.cta-band .eyebrow{justify-content:flex-start;}
.cta-band h2,.cta-band p{margin-left:0;margin-right:0;}
.cta-band__actions{justify-content:flex-start;}

@media(max-width:900px){
        .acc-strip--logos{grid-template-columns:repeat(2,minmax(0,1fr));}
        .footer-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;}
}
@media(max-width:600px){
        .acc-strip--logos{grid-template-columns:1fr 1fr;gap:.7rem;}
        .acc-strip--logos .logo-img{height:92px;min-height:92px;padding:.8rem;}
        .acc-strip--logos .logo-img img{max-height:56px;}
        .projects-admin-note{padding:1.25rem;margin-bottom:2rem;}
        .footer-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
        .footer-logo-grid .logo-img{height:50px;min-height:50px;}
        .cta-band{text-align:left;padding:2rem 1.35rem;}
        .cta-band__actions .btn{width:100%;justify-content:center;}
}
.service-proof-section .acc-strip--logos{margin-bottom:1.3rem;}
.standard-chip-grid{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1.3rem;}
.standard-chip-grid .badge-standard{margin:0;background:#fff;border:1px solid rgba(4,4,51,.18);box-shadow:0 12px 28px rgba(4,4,51,.06);}


/* v1.3 visual polish: original-inspired home hero + moving accreditation carousel */
.hero--cinematic{
        min-height:clamp(620px,82vh,880px);
        display:flex;
        align-items:center;
        text-align:center;
        padding:clamp(5.5rem,9vw,8rem) 0 clamp(4rem,8vw,6rem);
        overflow:hidden;
}
.hero--cinematic .hero__bg img{
        opacity:.58;
        transform:scale(1.08);
        animation:indigoHeroDrift 24s ease-in-out infinite alternate;
}
.hero--cinematic::after{
        background:linear-gradient(180deg,rgba(4,4,51,.38) 0%,rgba(4,4,51,.72) 48%,rgba(4,4,51,.86) 100%);
}
.hero__motion{
        position:absolute;
        inset:-20%;
        z-index:-1;
        opacity:.28;
        background:
                radial-gradient(circle at 24% 28%,rgba(237,31,36,.35),transparent 14rem),
                radial-gradient(circle at 78% 72%,rgba(255,255,255,.18),transparent 18rem),
                linear-gradient(115deg,transparent 0 44%,rgba(237,31,36,.22) 45%,transparent 46% 100%);
        animation:indigoLightSweep 16s linear infinite;
        pointer-events:none;
}
.hero__inner--center{max-width:1040px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
.eyebrow--center{justify-content:center;}
.eyebrow--center::before{width:52px;}
.hero--cinematic h1{font-size:clamp(3.1rem,6.8vw,6.3rem);line-height:.98;letter-spacing:-.055em;max-width:1100px;margin-bottom:1.35rem;}
.hero--cinematic h1 .accent{margin-top:.35rem;font-size:.76em;letter-spacing:-.035em;}
.accent--italic{font-style:italic;font-weight:800;}
.hero--cinematic .hero__lead{max-width:820px;margin-inline:auto;color:#f4f4fb;font-size:clamp(1.08rem,1.6vw,1.32rem);}
.hero__actions--center{justify-content:center;}
.hero__scroll{display:grid;place-items:center;width:56px;height:56px;border:2px solid rgba(255,255,255,.65);border-radius:999px;color:#fff;text-decoration:none;font-size:1.8rem;line-height:1;margin-top:2rem;transition:transform var(--fast),background var(--fast),border-color var(--fast);}
.hero__scroll:hover{transform:translateY(4px);background:rgba(255,255,255,.12);border-color:#fff;}
@keyframes indigoHeroDrift{0%{transform:scale(1.08) translate3d(-1.5%,0,0);}100%{transform:scale(1.18) translate3d(1.8%,-1.3%,0);}}
@keyframes indigoLightSweep{0%{transform:translate3d(-3%,0,0) rotate(0deg);}100%{transform:translate3d(3%,0,0) rotate(2deg);}}

.proof-strip-section--marquee{overflow:hidden;}
.acc-marquee-wrap{position:relative;overflow:hidden;margin-inline:calc(50% - 50vw);padding:.25rem 0;}
.acc-marquee-wrap::before,.acc-marquee-wrap::after{content:"";position:absolute;top:0;bottom:0;width:min(10vw,140px);z-index:2;pointer-events:none;}
.acc-marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--lavender),rgba(245,245,251,0));}
.acc-marquee-wrap::after{right:0;background:linear-gradient(270deg,var(--lavender),rgba(245,245,251,0));}
.acc-strip--marquee{display:flex;gap:0;width:max-content;animation:indigoMarquee 34s linear infinite;will-change:transform;}
.acc-marquee-wrap:hover .acc-strip--marquee{animation-play-state:paused;}
.acc-marquee__group{display:flex;gap:1.25rem;align-items:center;padding-right:1.25rem;}
.acc-strip--marquee .logo-img{width:280px;height:132px;min-width:280px;min-height:132px;border-radius:0;background:#fff;border:1px solid rgba(4,4,51,.08);box-shadow:0 20px 44px rgba(4,4,51,.09);filter:none;opacity:1;}
.acc-strip--marquee .logo-img img{max-width:210px;max-height:84px;}
@keyframes indigoMarquee{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}

.footer-logo-grid .logo-img{border-radius:0;box-shadow:0 8px 20px rgba(4,4,51,.12);}
.service-proof-section .acc-marquee-wrap{margin-inline:0;}
.service-proof-section .acc-strip--marquee{animation-duration:38s;}

@media (prefers-reduced-motion:reduce){
        .hero--cinematic .hero__bg img,.hero__motion,.acc-strip--marquee{animation:none!important;}
}
@media (max-width:860px){
        .hero--cinematic{min-height:auto;text-align:left;padding:clamp(4rem,14vw,5.25rem) 0;}
        .hero__inner--center{align-items:flex-start;text-align:left;}
        .eyebrow--center{justify-content:flex-start;}
        .hero__actions--center{justify-content:flex-start;}
        .hero--cinematic h1{font-size:clamp(2.65rem,12vw,4rem);}
        .hero__scroll{display:none;}
        .acc-strip--marquee .logo-img{width:230px;min-width:230px;height:104px;min-height:104px;}
        .acc-strip--marquee .logo-img img{max-width:175px;max-height:68px;}
}

/* ========================================================================== 
   v1.4 fixes — proper sliders, transparent uniform logos, electrical-first services
   ========================================================================== */

/* Hero background now behaves like a slow image slider, not a static wallpaper. */
.hero__bg--slider .hero-slide{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        opacity:0;
        transform:scale(1.08);
        animation:indigoHeroSlider 24s infinite, indigoHeroDriftSoft 24s ease-in-out infinite alternate;
}
.hero__bg--slider .hero-slide--1{animation-delay:0s,0s;}
.hero__bg--slider .hero-slide--2{animation-delay:6s,0s;}
.hero__bg--slider .hero-slide--3{animation-delay:12s,0s;}
.hero__bg--slider .hero-slide--4{animation-delay:18s,0s;}
.hero--cinematic .hero__bg--slider img{opacity:0;}
@keyframes indigoHeroSlider{
        0%{opacity:0;}
        5%{opacity:.62;}
        25%{opacity:.62;}
        32%{opacity:0;}
        100%{opacity:0;}
}
@keyframes indigoHeroDriftSoft{
        0%{transform:scale(1.08) translate3d(-1.2%,0,0);}
        100%{transform:scale(1.16) translate3d(1.4%,-1.2%,0);}
}

/* Accreditation slider: no ugly white cards, no random box feel. */
.proof-strip-section--marquee{
        background:linear-gradient(180deg,#f5f5fb 0%,#eeeeF8 100%);
}
.proof-strip-head p{display:none;}
.acc-marquee-wrap{padding:.7rem 0 1.1rem;}
.acc-marquee-wrap::before{background:linear-gradient(90deg,#f3f3fb,rgba(243,243,251,0));}
.acc-marquee-wrap::after{background:linear-gradient(270deg,#f3f3fb,rgba(243,243,251,0));}
.acc-marquee__group{gap:3rem;padding-right:3rem;}
.acc-strip--marquee .logo-img,
.acc-strip--logos .logo-img{
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        width:220px;
        min-width:220px;
        height:108px;
        min-height:108px;
        padding:0 1.2rem;
        display:flex;
        align-items:center;
        justify-content:center;
        filter:none;
        opacity:1;
}
.acc-strip--marquee .logo-img picture,
.acc-strip--logos .logo-img picture{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.acc-strip--marquee .logo-img img,
.acc-strip--logos .logo-img img{
        max-width:190px;
        max-height:82px;
        width:auto;
        height:auto;
        object-fit:contain;
        display:block;
}
.acc-strip--marquee .logo-img:hover,
.acc-strip--logos .logo-img:hover{transform:none;}

/* Footer logos should be subtle, consistent accreditation marks, not block tiles. */
.footer-logo-grid{gap:.9rem 1.1rem;align-items:center;}
.footer-logo-grid .logo-img{
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        min-width:0;
        height:44px;
        min-height:44px;
        padding:0;
        opacity:.92;
}
.footer-logo-grid .logo-img img{max-height:34px;max-width:110px;filter:none;}

/* Services are now grouped around how the business actually sells: electrical first. */
.service-groups{display:grid;gap:clamp(2.5rem,5vw,4rem);}
.service-group{padding-top:clamp(1rem,2vw,1.5rem);border-top:1px solid var(--line);}
.service-group:first-child{border-top:0;padding-top:0;}
.service-group__head{display:grid;grid-template-columns:minmax(180px,.38fr) 1fr;gap:1.5rem;align-items:end;margin-bottom:1.5rem;}
.service-group__head h2,
.service-group__head h3{font-size:clamp(1.55rem,3vw,2.35rem);margin:0;color:var(--navy);}
.service-group__head p{margin:0;color:var(--muted);max-width:760px;}
.services-hub .service-group{padding-top:clamp(2rem,4vw,3rem);}
.services-hub .service-group:first-child{padding-top:0;}
.svc-card__tag{display:none!important;}
.svc-card--featured{grid-column:span 1;}

/* Fire-stopping visuals: show the product clearly rather than a small object floating in a huge white frame. */
body.single-service .ba{max-width:1120px;}
body.single-service .ba__frame,
body.single-service .hotspot__stage{
        background:linear-gradient(135deg,#f5f5fb,#ffffff);
        border:1px solid rgba(4,4,51,.12);
        box-shadow:0 22px 55px rgba(4,4,51,.08);
}
body.single-service .ba__img,
body.single-service .hotspot__stage img{object-fit:contain;padding:clamp(1rem,3vw,2rem);}
body.single-service .hotspot{max-width:1180px;grid-template-columns:1.55fr .9fr;}
body.single-service .hotspot__panel{box-shadow:0 22px 55px rgba(4,4,51,.08);}

@media (prefers-reduced-motion:reduce){
        .hero__bg--slider .hero-slide{animation:none!important;opacity:.55;}
        .hero__bg--slider .hero-slide:not(:first-child){display:none;}
}
@media(max-width:900px){
        .service-group__head{grid-template-columns:1fr;gap:.65rem;}
        body.single-service .hotspot{grid-template-columns:1fr;}
        .acc-marquee__group{gap:2rem;padding-right:2rem;}
        .acc-strip--marquee .logo-img,.acc-strip--logos .logo-img{width:190px;min-width:190px;height:92px;min-height:92px;}
        .acc-strip--marquee .logo-img img,.acc-strip--logos .logo-img img{max-width:165px;max-height:68px;}
}
@media(max-width:600px){
        .acc-marquee__group{gap:1.35rem;padding-right:1.35rem;}
        .acc-strip--marquee .logo-img,.acc-strip--logos .logo-img{width:160px;min-width:160px;height:78px;min-height:78px;padding:0 .7rem;}
        .acc-strip--marquee .logo-img img,.acc-strip--logos .logo-img img{max-width:140px;max-height:58px;}
        body.single-service .ba__img,body.single-service .hotspot__stage img{padding:.7rem;}
}
.site-footer .footer-logo-grid .logo-img img{filter:grayscale(1) brightness(0) invert(1);opacity:.78;}
.site-footer .footer-logo-grid .logo-img:hover img{opacity:1;}


/* ==========================================================================
   v1.5 — layout corrections after live review
   ========================================================================== */

/* Home hero: keep the moving background visible from first paint and reduce the oversized feel. */
.hero--cinematic{
        min-height:clamp(520px,68vh,720px);
        padding:clamp(4.25rem,7vw,6.5rem) 0 clamp(3.25rem,6vw,5rem);
}
.hero--cinematic h1{
        font-size:clamp(2.85rem,5.6vw,5.25rem);
        max-width:1040px;
}
.hero--cinematic h1 .accent{
        font-size:.78em;
}
.hero__bg--slider .hero-slide{
        animation:indigoHeroSliderV15 28s infinite, indigoHeroDriftSoft 28s ease-in-out infinite alternate;
        opacity:0;
}
.hero__bg--slider .hero-slide--1{opacity:.64;}
@keyframes indigoHeroSliderV15{
        0%{opacity:.64;}
        20%{opacity:.64;}
        28%{opacity:0;}
        92%{opacity:0;}
        100%{opacity:.64;}
}
.hero__bg--slider .hero-slide--2,
.hero__bg--slider .hero-slide--3,
.hero__bg--slider .hero-slide--4{
        opacity:0;
}
.hero--cinematic::after{
        background:linear-gradient(180deg,rgba(4,4,51,.34) 0%,rgba(4,4,51,.62) 48%,rgba(4,4,51,.80) 100%);
}
.hero__motion{opacity:.22;}

/* Accreditations: moving, but cleaner and more like a uniform logo rail than card tiles. */
.proof-strip-section--marquee{background:#f3f3fb;}
.proof-strip-head{max-width:760px;margin:0 auto 1.8rem;text-align:center;}
.acc-marquee-wrap{padding:.35rem 0 1rem;}
.acc-marquee__group{gap:2.75rem;padding-right:2.75rem;}
.acc-strip--marquee .logo-img,
.acc-strip--logos .logo-img{
        width:210px;
        min-width:210px;
        height:88px;
        min-height:88px;
        padding:0;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
}
.acc-strip--marquee .logo-img img,
.acc-strip--logos .logo-img img{
        max-width:185px;
        max-height:72px;
        width:auto;
        height:auto;
        object-fit:contain;
        mix-blend-mode:multiply;
}
.bg-navy .acc-strip--marquee .logo-img img,
.bg-navy .acc-strip--logos .logo-img img{mix-blend-mode:normal;}

/* Footer: show accreditation logos in colour, not inverted monochrome blocks. */
.footer-logo-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(72px,1fr));
        gap:.8rem 1rem;
        margin-top:1.25rem;
        max-width:440px;
}
.footer-logo-grid .logo-img{
        height:42px;
        min-height:42px;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        display:flex;
        align-items:center;
        justify-content:flex-start;
}
.site-footer .footer-logo-grid .logo-img img,
.footer-logo-grid .logo-img img{
        filter:none!important;
        opacity:1!important;
        max-height:32px;
        max-width:116px;
        mix-blend-mode:normal;
}

/* Homepage services should remain a simple card grid. Grouping belongs on the services hub only. */
.home-services .svc-card{height:100%;}
.home-services .section-head{margin-bottom:clamp(2rem,4vw,3rem);}

/* Services page flow */
.services-hub--clean{padding-top:clamp(3.25rem,6vw,5rem);}
.service-band{
        border-top:1px solid var(--line);
        padding-top:clamp(2.5rem,5vw,4rem);
        margin-top:clamp(2.5rem,5vw,4rem);
}
.service-band:first-child{border-top:0;margin-top:0;padding-top:0;}
.service-band__intro{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(260px,420px);
        gap:clamp(1.5rem,4vw,3rem);
        align-items:stretch;
        margin-bottom:1.8rem;
}
.service-band__intro h2{
        font-size:clamp(1.85rem,3.4vw,3rem);
        margin-bottom:.8rem;
        color:var(--navy);
}
.service-band__intro p{
        color:var(--muted);
        max-width:760px;
        font-size:1.05rem;
}
.service-band__intro img{
        width:100%;
        height:220px;
        object-fit:cover;
        border:1px solid var(--line);
        box-shadow:0 24px 55px rgba(4,4,51,.10);
}
.service-band__grid{align-items:stretch;}
.services-hub--clean .svc-card__body{
        min-height:250px;
}
.services-hub--clean .svc-card h3{
        min-height:0;
}
.services-hub--clean .svc-card p{
        line-height:1.65;
}

/* Project filters */
.project-filters{
        display:flex;
        flex-wrap:wrap;
        gap:.7rem;
        margin:0 0 clamp(2rem,4vw,3rem);
}
.project-filter{
        border:1px solid rgba(4,4,51,.16);
        background:#fff;
        color:var(--navy);
        padding:.75rem 1rem;
        font-family:var(--font-head);
        font-weight:800;
        font-size:.78rem;
        letter-spacing:.09em;
        text-transform:uppercase;
        cursor:pointer;
        transition:background var(--fast),color var(--fast),border-color var(--fast),transform var(--fast);
}
.project-filter:hover,
.project-filter.is-active{
        background:var(--navy);
        color:#fff;
        border-color:var(--navy);
        transform:translateY(-2px);
}
.project-grid [hidden]{display:none!important;}

/* Systems page: more colour, images and better reading flow. */
.systems-nav{
        display:flex;
        flex-wrap:wrap;
        gap:.75rem;
        margin-bottom:clamp(2.25rem,5vw,4rem);
}
.systems-nav a{
        display:inline-flex;
        align-items:center;
        gap:.55rem;
        background:var(--navy);
        color:#fff;
        padding:.8rem 1.05rem;
        font-family:var(--font-head);
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.08em;
        font-size:.78rem;
}
.systems-nav a:nth-child(even){background:var(--bright-red);}
.systems-nav svg{width:18px;height:18px;}
.system-panel{
        display:grid;
        grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);
        gap:0;
        border:1px solid var(--line);
        margin-bottom:clamp(2.4rem,5vw,4rem);
        background:#fff;
        box-shadow:0 26px 70px rgba(4,4,51,.08);
}
.system-panel__media{
        min-height:100%;
        background:var(--navy);
}
.system-panel__media img{
        width:100%;
        height:100%;
        min-height:430px;
        object-fit:cover;
        opacity:.9;
}
.system-panel__content{
        padding:clamp(1.6rem,4vw,3rem);
}
.system-panel .sys-cat-head{
        display:grid;
        grid-template-columns:56px 1fr;
        gap:1rem;
        align-items:start;
        margin-bottom:1.4rem;
}
.system-panel .sys-cat-head__ico{
        width:56px;
        height:56px;
        background:var(--bright-red);
        color:#fff;
}
.system-panel .sys-cat-head__ico svg{color:#fff;}
.system-panel .sys-cat-head p{
        color:var(--muted);
        margin:.4rem 0 0;
        max-width:720px;
}
.sys-list{
        display:grid;
        gap:.8rem;
}
.sys-card--compact{
        display:grid;
        grid-template-columns:46px 1fr;
        gap:.9rem;
        align-items:start;
        padding:1rem;
        border-top:0;
        background:#f8f8fc;
}
.sys-card--compact .sys-card__ico{
        width:46px;
        height:46px;
        background:#fff;
}
.sys-card--compact h3{margin-bottom:.25rem;}
.sys-card--compact p{margin-bottom:.7rem;}
.sys-card--compact:hover{transform:none;box-shadow:none;border-color:rgba(229,33,39,.35);}

/* Fire-stopping interactive image: bigger, less empty, less awkward. */
body.single-service .ba{
        max-width:1040px;
}
body.single-service .ba__frame{
        aspect-ratio:16/8.6;
        background:#fff;
        overflow:hidden;
}
body.single-service .ba__img{
        width:100%;
        height:100%;
        object-fit:contain;
        padding:clamp(.6rem,2vw,1.2rem);
}
body.single-service .ba__label{
        top:1rem;
        font-size:.72rem;
        letter-spacing:.13em;
}
body.single-service .ba__label--before{left:1rem;}
body.single-service .ba__label--after{right:1rem;}
body.single-service .hotspot__stage img{
        width:100%;
        height:100%;
        object-fit:contain;
        padding:clamp(.6rem,2vw,1.2rem);
}
body.single-service .hotspot__stage{
        min-height:460px;
        display:flex;
        align-items:center;
        justify-content:center;
}

@media(max-width:980px){
        .service-band__intro,
        .system-panel{grid-template-columns:1fr;}
        .service-band__intro img{height:260px;}
        .system-panel__media img{min-height:280px;}
}
@media(max-width:860px){
        .hero--cinematic{min-height:auto;padding:clamp(4.2rem,14vw,5.5rem) 0;}
        .hero--cinematic h1{font-size:clamp(2.45rem,10vw,3.65rem);}
}
@media(max-width:640px){
        .footer-logo-grid{grid-template-columns:repeat(2,1fr);}
        .acc-strip--marquee .logo-img,.acc-strip--logos .logo-img{width:155px;min-width:155px;height:68px;min-height:68px;}
        .acc-strip--marquee .logo-img img,.acc-strip--logos .logo-img img{max-width:136px;max-height:54px;}
        .system-panel__content{padding:1.2rem;}
        .system-panel .sys-cat-head{grid-template-columns:1fr;}
        .sys-card--compact{grid-template-columns:1fr;}
}

/* ========================================================================== 
   v1.6 — visual rebuild fixes after review
   ========================================================================== */

/* Hero image: force visible first paint + cleaner original-site feel */
.hero--cinematic{
        min-height:clamp(560px,72vh,760px);
        padding:clamp(4.8rem,7vw,7rem) 0 clamp(3.5rem,5.5vw,5rem);
        background:#040433 url('../images/hero/hero-london.jpg') center/cover no-repeat;
}
.hero--cinematic .hero__bg{z-index:0!important;opacity:1!important;}
.hero--cinematic .hero__inner{z-index:2;}
.hero--cinematic .hero__motion{z-index:1;}
.hero--cinematic::after{z-index:1;background:linear-gradient(180deg,rgba(4,4,51,.48) 0%,rgba(4,4,51,.68) 48%,rgba(4,4,51,.82) 100%);}
.hero__bg--slider .hero-slide{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0;visibility:visible!important;}
.hero__bg--slider .hero-slide--1{opacity:.72!important;animation:indigoHeroFirst 28s ease-in-out infinite!important;}
.hero__bg--slider .hero-slide--2{animation:indigoHeroFade2 28s ease-in-out infinite!important;}
.hero__bg--slider .hero-slide--3{animation:indigoHeroFade3 28s ease-in-out infinite!important;}
.hero__bg--slider .hero-slide--4{animation:indigoHeroFade4 28s ease-in-out infinite!important;}
@keyframes indigoHeroFirst{0%,20%,100%{opacity:.72;transform:scale(1.08) translateX(-1%);}26%,94%{opacity:0;transform:scale(1.15) translateX(1%);}}
@keyframes indigoHeroFade2{0%,24%,50%,100%{opacity:0;}30%,44%{opacity:.68;transform:scale(1.12) translateX(1%);}}
@keyframes indigoHeroFade3{0%,48%,74%,100%{opacity:0;}54%,68%{opacity:.68;transform:scale(1.12) translateY(-1%);}}
@keyframes indigoHeroFade4{0%,72%,98%,100%{opacity:0;}78%,92%{opacity:.68;transform:scale(1.12) translateX(-1%);}}
.hero--cinematic h1{font-size:clamp(3rem,5.8vw,5.5rem);line-height:1.02;}
.hero--cinematic h1 .accent{font-size:.84em;margin-top:.32rem;color:#ed1f24;}
.hero--cinematic .hero__lead{font-size:clamp(1.05rem,1.45vw,1.25rem);max-width:780px;}
.home-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.home-services .svc-card__img{height:185px;}
.home-services .svc-card__body{padding:2.2rem 1.45rem 1.55rem;}
.home-services .svc-card p{font-size:.9rem;}

/* Footer: remove ugly image cluster, keep proof discreet */
.footer-proof-text{margin-top:1.35rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.12);font-family:var(--font-head);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#d9d9ee;line-height:1.7;max-width:440px;}
.site-footer .footer-about p{max-width:470px;}

/* Services page v1.6 */
.services-hub-v16{padding-top:clamp(3rem,6vw,5rem);}
.service-intro-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,460px);gap:clamp(1.5rem,4vw,3rem);align-items:end;margin-bottom:2rem;}
.service-intro-panel h2{font-size:clamp(2rem,4vw,3.35rem);margin:.25rem 0 0;color:var(--navy);}
.service-intro-panel p{color:var(--muted);font-size:1.05rem;line-height:1.7;margin:0;}
.service-pill-nav{display:flex;flex-wrap:wrap;gap:.65rem;margin:0 0 2.2rem;}
.service-pill-nav a{display:inline-flex;align-items:center;background:#fff;border:1px solid rgba(4,4,51,.16);padding:.72rem 1rem;color:var(--navy);font-family:var(--font-head);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.service-pill-nav a:hover,.service-pill-nav a.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}
.service-feature-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:var(--gap);margin-bottom:clamp(2rem,4vw,3rem);}
.service-feature-grid img{width:100%;height:100%;object-fit:cover;display:block;}
.service-feature-grid__large{position:relative;min-height:430px;overflow:hidden;background:var(--navy);}
.service-feature-grid__large::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,4,51,0) 25%,rgba(4,4,51,.83) 100%);}
.service-feature-grid__large>div{position:absolute;left:2rem;right:2rem;bottom:2rem;color:#fff;z-index:1;}
.service-feature-grid__large span{font-family:var(--font-head);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#ff9a9d;font-weight:800;}
.service-feature-grid__large h3{color:#fff;font-size:clamp(1.5rem,2.8vw,2.4rem);max-width:720px;margin:.45rem 0 0;}
.service-feature-grid__stack{display:grid;gap:var(--gap);}
.service-feature-grid__stack img{min-height:203px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(4,4,51,.08);}
.service-card-grid-v16{align-items:stretch;}
.service-anchor-card{height:100%;scroll-margin-top:120px;}
.service-anchor-card .svc-card{height:100%;}
.service-proof-dark{background:linear-gradient(135deg,#050535,#10105d)!important;}
.section-head--light h2,.section-head--light p{color:#fff;}
.section-head--light p{color:#c7c7df;}
.proof-icon-row article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:1.45rem;color:#d8d8ed;}
.proof-icon-row svg{width:34px;height:34px;color:#ed1f24;margin-bottom:1rem;}
.proof-icon-row h3{color:#fff;font-size:1.05rem;margin-bottom:.45rem;}
.proof-icon-row p{color:#bfc0dc;font-size:.92rem;margin:0;}

/* Systems page v1.6 */
.systems-hero-v16 .page-hero__bg img{opacity:.55;}
.systems-v16 .section-head{margin-bottom:2rem;}
.systems-feature-v16{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--navy);color:#fff;margin-bottom:clamp(2rem,4vw,3rem);box-shadow:0 30px 70px rgba(4,4,51,.12);}
.systems-feature-v16 img{width:100%;height:100%;min-height:360px;object-fit:cover;}
.systems-feature-v16>div{padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center;}
.systems-feature-v16 h3{color:#fff;font-size:clamp(1.8rem,3.5vw,3rem);margin:.3rem 0 1rem;}
.systems-feature-v16 p{color:#c8c8e4;font-size:1.05rem;line-height:1.75;max-width:620px;}
.systems-colour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);}
.system-colour-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);min-height:310px;display:flex;flex-direction:column;box-shadow:0 18px 42px rgba(4,4,51,.06);}
.system-colour-card__image{height:118px;overflow:hidden;background:var(--navy);}
.system-colour-card__image img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .7s var(--ease),opacity var(--fast);}
.system-colour-card:hover .system-colour-card__image img{transform:scale(1.08);opacity:.9;}
.system-colour-card__body{padding:1.35rem;position:relative;flex:1;}
.system-colour-card__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:999px;background:var(--bright-red);color:#fff;margin-top:-3rem;margin-bottom:1rem;box-shadow:0 14px 26px rgba(229,33,39,.28);}
.system-colour-card__icon svg{width:27px;height:27px;color:#fff;}
.system-colour-card h3{font-size:1.12rem;margin-bottom:.55rem;color:var(--navy);}
.system-colour-card p{font-size:.92rem;color:var(--muted);line-height:1.6;margin:0;}
.system-colour-card--security .system-colour-card__icon{background:#2a68d8;box-shadow:0 14px 26px rgba(42,104,216,.25);}
.system-colour-card--safety .system-colour-card__icon{background:#f0a500;box-shadow:0 14px 26px rgba(240,165,0,.25);}
.system-colour-card--fire .system-colour-card__icon{background:#ed1f24;}

/* Areas page v1.6 */
.areas-v16{padding-top:clamp(3rem,6vw,5rem);}
.areas-layout-v16{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(2rem,5vw,4rem);align-items:start;}
.areas-copy-v16{position:sticky;top:110px;}
.areas-copy-v16 h2{font-size:clamp(2.1rem,4vw,3.35rem);color:var(--navy);margin:.3rem 0 1rem;}
.areas-copy-v16 p{color:var(--muted);font-size:1.05rem;line-height:1.75;}
.areas-map-card-v16{margin-top:1.8rem;background:var(--navy);color:#fff;overflow:hidden;box-shadow:0 28px 60px rgba(4,4,51,.14);}
.areas-map-card-v16 img{width:100%;height:220px;object-fit:cover;opacity:.78;display:block;}
.areas-map-card-v16 div{padding:1.35rem;display:grid;gap:.2rem;}
.areas-map-card-v16 b{font-family:var(--font-head);font-size:1.15rem;}
.areas-map-card-v16 span{color:#c7c7df;}
.area-card-grid-v16{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);}
.area-card-v16{background:#fff;border:1px solid var(--line);padding:1.45rem;min-height:180px;transition:transform var(--fast),box-shadow var(--fast),border-color var(--fast);}
.area-card-v16:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(4,4,51,.10);border-color:rgba(229,33,39,.3);}
.area-card-v16 div:first-child{width:48px;height:48px;display:grid;place-items:center;background:#fff1f1;color:var(--bright-red);border-radius:999px;margin-bottom:1rem;}
.area-card-v16 svg{width:23px;height:23px;}
.area-card-v16 h3{font-size:1.12rem;color:var(--navy);margin-bottom:.55rem;}
.area-card-v16 p{font-size:.92rem;color:var(--muted);line-height:1.6;margin:0;}
.sector-card-v16{background:#fff;border:1px solid var(--line);padding:1.4rem;display:grid;gap:1rem;align-content:start;min-height:150px;}
.sector-card-v16 div{width:52px;height:52px;display:grid;place-items:center;background:var(--navy);color:#fff;}
.sector-card-v16 svg{width:26px;height:26px;color:#fff;}
.sector-card-v16 h3{font-size:1.05rem;margin:0;color:var(--navy);}

/* Hide old service grouping remnants if cached markup exists */
.service-group,.service-band{display:none;}
.services-hub-v16 .service-group,.services-hub-v16 .service-band{display:initial;}

@media(max-width:1120px){
        .home-service-grid,.systems-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
        .service-intro-panel,.service-feature-grid,.systems-feature-v16,.areas-layout-v16{grid-template-columns:1fr;}
        .areas-copy-v16{position:static;}
        .systems-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
        .home-service-grid,.systems-colour-grid,.area-card-grid-v16{grid-template-columns:1fr;}
        .service-feature-grid__large{min-height:340px;}
        .service-feature-grid__large>div{left:1.25rem;right:1.25rem;bottom:1.25rem;}
        .hero--cinematic{min-height:560px;}
}

/* ========================================================================== 
   v1.7 visual rebuild — smaller hero, cleaner pages, project pagination
   ========================================================================== */
:root{--sp:clamp(3.2rem,7vw,6rem);}
.hero--v17{min-height:clamp(520px,68vh,720px)!important;padding:clamp(4.25rem,7vw,6rem) 0 clamp(3.5rem,6vw,5rem)!important;background:#040433 url('../images/hero/hero-london.jpg') center/cover no-repeat!important;}
.hero--v17 .hero__bg{z-index:0!important;background-size:cover;background-position:center;background-repeat:no-repeat;transform:none!important;}
.hero--v17 .hero__bg::before{content:"";position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;opacity:.62;transform:scale(1.06);animation:indigoHeroDriftSoft 26s ease-in-out infinite alternate;}
.hero--v17 .hero-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;visibility:visible!important;display:block!important;}
.hero--v17::after{z-index:1!important;background:linear-gradient(180deg,rgba(4,4,51,.36) 0%,rgba(4,4,51,.62) 56%,rgba(4,4,51,.78) 100%)!important;}
.hero--v17 .hero__motion{z-index:1!important;opacity:.18!important;}
.hero--v17 .hero__inner{z-index:2!important;max-width:980px!important;}
.hero--v17 h1{font-size:clamp(2.7rem,5.2vw,5.15rem)!important;line-height:1.02!important;margin-bottom:1rem!important;}
.hero--v17 .hero__lead{font-size:clamp(1rem,1.35vw,1.18rem)!important;max-width:760px!important;margin-bottom:1.5rem!important;}
.hero--v17 .hero__scroll{margin-top:1.25rem;width:48px;height:48px;font-size:1.45rem;}

.page-hero--compact{padding:clamp(3.25rem,6.2vw,5.2rem) 0!important;min-height:clamp(350px,42vh,480px);display:flex;align-items:center;}
.page-hero--compact .page-hero__bg img{opacity:.46!important;}
.page-hero--compact::after{background:linear-gradient(105deg,rgba(4,4,51,.88) 0%,rgba(4,4,51,.68) 56%,rgba(158,23,27,.48) 100%)!important;}
.page-hero--compact h1{font-size:clamp(2.4rem,4.8vw,4.4rem);}
.page-hero--compact p{font-size:clamp(1rem,1.35vw,1.14rem);}

/* Services page: no category mess, just clean visual flow. */
.services-hub-v17{padding-top:clamp(3rem,6vw,5rem)!important;}
.services-intro-v17{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:clamp(1.5rem,4vw,3rem);align-items:stretch;margin-bottom:clamp(2rem,5vw,3.5rem);}
.services-intro-v17>div{background:#fff;border:1px solid var(--line);padding:clamp(1.8rem,4vw,3rem);box-shadow:0 20px 52px rgba(4,4,51,.06);}
.services-intro-v17 h2{font-size:clamp(2rem,4vw,3.2rem);margin:.25rem 0 1rem;color:var(--navy);}
.services-intro-v17 p{font-size:1.06rem;color:var(--muted);line-height:1.75;margin:0;}
.services-intro-v17 img{width:100%;height:100%;min-height:340px;object-fit:cover;box-shadow:0 24px 58px rgba(4,4,51,.12);}
.service-grid-clean{align-items:stretch;}
.service-grid-clean .svc-card{height:100%;}
.services-proof-v17{background:linear-gradient(135deg,#050535,#111160)!important;}
.service-proof-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);}
.service-proof-row>div{background:rgba(255,255,255,.065);padding:1.35rem;display:grid;gap:.25rem;}
.service-proof-row b{font-family:var(--font-head);font-size:1.2rem;color:#fff;}
.service-proof-row span{color:#c8c8e4;font-size:.92rem;}

/* Systems: coloured icon/category layout like the current site direction. */
.systems-v17 .section-head{margin-bottom:1.8rem;}
.systems-jump-v17{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:clamp(2rem,4vw,3rem);}
.systems-jump-v17 a{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1px solid rgba(4,4,51,.14);box-shadow:0 14px 34px rgba(4,4,51,.06);padding:.85rem 1.05rem;color:var(--navy);font-family:var(--font-head);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;}
.systems-jump-v17 a:hover{background:var(--navy);color:#fff;transform:translateY(-2px);}
.systems-jump-v17 svg{width:20px;height:20px;color:var(--bright-red);}
.systems-category-grid-v17{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);}
.systems-category-card-v17{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 20px 52px rgba(4,4,51,.07);}
.systems-category-card-v17__image{min-height:280px;background:var(--navy);overflow:hidden;}
.systems-category-card-v17__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.systems-category-card-v17:hover .systems-category-card-v17__image img{transform:scale(1.06);}
.systems-category-card-v17__body{padding:clamp(1.5rem,3vw,2.1rem);}
.systems-category-card-v17__icon{width:58px;height:58px;display:grid;place-items:center;background:var(--bright-red);color:#fff;margin-bottom:1rem;box-shadow:0 14px 30px rgba(229,33,39,.25);}
.systems-category-card-v17__icon svg{width:30px;height:30px;color:#fff;}
.systems-category-card-v17 h3{font-size:clamp(1.45rem,2.4vw,2rem);margin-bottom:.85rem;}
.systems-category-card-v17 ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.systems-category-card-v17 li{position:relative;padding-left:1.25rem;color:var(--muted);font-size:.96rem;}
.systems-category-card-v17 li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;background:var(--bright-red);}
.systems-category-card-v17--security .systems-category-card-v17__icon{background:#2869d8;box-shadow:0 14px 30px rgba(40,105,216,.25);}
.systems-category-card-v17--safety .systems-category-card-v17__icon{background:#f0a500;box-shadow:0 14px 30px rgba(240,165,0,.25);}
.systems-category-card-v17--fire-doors .systems-category-card-v17__icon{background:#8732d8;box-shadow:0 14px 30px rgba(135,50,216,.22);}
.systems-support-v17 .split__media img{max-height:430px;object-fit:cover;}

/* Projects: exactly 9 per archive page, with descriptions and proper pagination. */
.project-grid--paginated{align-items:stretch;}
.proj-card--with-desc .proj-card__body{display:flex;flex-direction:column;}
.proj-card--with-desc p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:.8rem 0 0;}
.project-filters--links a.project-filter{display:inline-flex;text-decoration:none;}
.project-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:clamp(2rem,4vw,3rem);font-family:var(--font-head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.project-pagination .page-numbers{display:inline-flex;min-width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--navy);padding:0 .9rem;}
.project-pagination .page-numbers.current,.project-pagination .page-numbers:hover{background:var(--bright-red);border-color:var(--bright-red);color:#fff;}

/* About: brighter, relevant company building hero. */
.page-template-template-about .page-hero__bg img{object-position:center 44%;opacity:.58!important;}
.page-template-template-about .page-hero::after{background:linear-gradient(90deg,rgba(4,4,51,.88) 0%,rgba(4,4,51,.60) 52%,rgba(158,23,27,.28) 100%)!important;}

/* Areas: reduce boxy white space, add colour and image presence. */
.areas-v16{padding-top:clamp(2.8rem,5vw,4.5rem)!important;}
.area-card-v16{background:linear-gradient(180deg,#fff,#fbfbff);}
.area-card-v16:nth-child(3n+1){border-top:4px solid var(--bright-red);}
.area-card-v16:nth-child(3n+2){border-top:4px solid #2869d8;}
.area-card-v16:nth-child(3n+3){border-top:4px solid #f0a500;}

/* Service detail pages: add image depth and fix the fire stopping compare. */
.service-detail-main{padding-bottom:clamp(2.5rem,4vw,3.5rem)!important;}
.service-gallery-section{padding-top:0!important;background:#fff;}
.service-gallery-v17{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:var(--gap);align-items:stretch;}
.service-gallery-v17 img{width:100%;height:clamp(220px,26vw,360px);object-fit:cover;box-shadow:0 20px 52px rgba(4,4,51,.08);border:1px solid var(--line);}
.service-gallery-v17 img:first-child{height:clamp(260px,32vw,430px);}
body.single-service .ba{max-width:980px;margin:0 auto;}
body.single-service .ba__frame{aspect-ratio:16/8.5;background:#fff!important;}
body.single-service .ba__img{object-fit:cover!important;padding:0!important;}
body.single-service .ba__label{top:1.2rem;font-size:.72rem;padding:.55rem .9rem;}
body.single-service .ba__handle{width:3px;background:rgba(4,4,51,.35);}
body.single-service .ba__grip{width:50px;height:50px;box-shadow:0 14px 32px rgba(229,33,39,.38);}
body.single-service .hotspot{display:grid;gap:var(--gap);align-items:stretch;}
body.single-service .hotspot__stage img{padding:0!important;object-fit:contain!important;background:#fff;}
body.single-service .hotspot__stage{background:#fff!important;}

/* Footer: cleaner, not image-led. */
.site-footer{padding-top:clamp(3rem,5vw,4.5rem)!important;}
.footer-grid{grid-template-columns:1.55fr .95fr 1.15fr 1.25fr!important;gap:clamp(1.6rem,3vw,2.4rem)!important;}
.footer-proof-text{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);padding:.9rem 1rem!important;margin-top:1.15rem!important;color:#efefff!important;}

@media(max-width:1120px){
        .systems-category-grid-v17{grid-template-columns:1fr;}
        .footer-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:900px){
        .hero--v17{min-height:clamp(500px,68vh,620px)!important;text-align:left!important;padding:4rem 0!important;}
        .hero--v17 .hero__inner--center{align-items:flex-start!important;text-align:left!important;}
        .hero--v17 h1{font-size:clamp(2.25rem,10vw,3.65rem)!important;}
        .hero--v17 .hero__actions--center{justify-content:flex-start!important;}
        .services-intro-v17,.systems-category-card-v17,.service-gallery-v17{grid-template-columns:1fr;}
        .services-intro-v17 img{min-height:260px;}
        .service-proof-row{grid-template-columns:repeat(2,minmax(0,1fr));}
        .service-gallery-v17 img,.service-gallery-v17 img:first-child{height:260px;}
        .page-hero--compact{min-height:330px;padding:3rem 0!important;}
}
@media(max-width:640px){
        body{font-size:16px;}
        .section{padding:clamp(2.8rem,12vw,4.25rem) 0!important;}
        .section-head{margin-bottom:1.8rem!important;}
        .hero--v17{min-height:520px!important;}
        .hero--v17 .btn{width:100%;justify-content:center;}
        .home-service-grid,.service-grid-clean,.project-grid--paginated{grid-template-columns:1fr!important;}
        .service-proof-row{grid-template-columns:1fr;}
        .systems-jump-v17{justify-content:flex-start;}
        .systems-category-card-v17__image{min-height:220px;}
        .footer-grid{grid-template-columns:1fr!important;}
        .footer-brand img{max-height:56px;}
}
.about-hero-v17 .page-hero__bg img{object-position:center 44%;opacity:.58!important;}
.about-hero-v17::after{background:linear-gradient(90deg,rgba(4,4,51,.88) 0%,rgba(4,4,51,.60) 52%,rgba(158,23,27,.28) 100%)!important;}

/* ========================================================================== 
   v1.8 — final page-flow, footer images, systems rebuild and pagination polish
   ========================================================================== */

/* Make all heroes less oppressive and page-relevant without losing contrast. */
.hero--v17{min-height:clamp(470px,60vh,650px)!important;padding:clamp(3.75rem,6vw,5.25rem) 0 clamp(3rem,5vw,4.25rem)!important;}
.hero--v17::after{background:linear-gradient(180deg,rgba(4,4,51,.26) 0%,rgba(4,4,51,.55) 52%,rgba(4,4,51,.70) 100%)!important;}
.hero--v17 .hero__lead{text-shadow:0 2px 18px rgba(4,4,51,.7);}
.page-hero--compact{min-height:clamp(310px,38vh,430px)!important;padding:clamp(2.9rem,5vw,4.5rem) 0!important;}
.page-hero--compact .page-hero__bg img{opacity:.55!important;}
.page-hero--compact::after{background:linear-gradient(105deg,rgba(4,4,51,.80) 0%,rgba(4,4,51,.56) 58%,rgba(158,23,27,.30) 100%)!important;}

/* Footer: use the actual accreditation images again, but keep them neat and uniform. */
.footer-about .footer-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:.55rem;margin-top:1.25rem;max-width:420px;}
.footer-about .footer-logo-grid .logo-img{height:54px;min-height:54px;background:rgba(255,255,255,.96)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important;padding:.35rem .55rem;display:flex;align-items:center;justify-content:center;}
.footer-about .footer-logo-grid .logo-img picture{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.footer-about .footer-logo-grid .logo-img img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important;max-width:105px!important;max-height:36px!important;width:auto;height:auto;object-fit:contain;}
.site-footer .footer-about p{max-width:520px;}

/* About page: use the real building/van image, no artificial logo overlay. */
.about-hero-v17 .page-hero__bg img,.page-template-template-about .page-hero__bg img{object-position:center 54%!important;opacity:.70!important;}
.about-hero-v17::after,.page-template-template-about .page-hero::after{background:linear-gradient(90deg,rgba(4,4,51,.82) 0%,rgba(4,4,51,.50) 54%,rgba(4,4,51,.22) 100%)!important;}
.page-template-template-about .split__media img{object-position:center;}

/* Services hub: remove awkward bottom block and improve flow/cards. */
.services-hub-v17{padding-bottom:clamp(3rem,6vw,5rem)!important;}
.services-intro-v17{margin-bottom:clamp(2rem,4vw,3rem)!important;}
.services-intro-v17 img{border:1px solid var(--line);object-fit:cover;object-position:center;}
.service-grid-clean .svc-card__img,.home-services .svc-card__img{height:210px;background:#eeeef8;}
.service-grid-clean .svc-card__img img,.home-services .svc-card__img img{height:100%;object-fit:cover;object-position:center;}
.service-grid-clean .svc-card__body{padding:2.15rem 1.55rem 1.65rem;min-height:235px;}
.service-grid-clean .svc-card p{line-height:1.62;}
.svc-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,4,51,0) 45%,rgba(4,4,51,.16));pointer-events:none;}

/* Systems page: mirror the original structure — category nav, coloured icons, full system content. */
.systems-v18{padding-top:clamp(3rem,6vw,5rem)!important;}
.systems-v18 .section-head{max-width:920px;margin-inline:auto;text-align:center;margin-bottom:clamp(1.8rem,4vw,3rem);}
.systems-v18 .section-head .eyebrow{justify-content:center;}
.systems-tabs-v18{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:clamp(2.2rem,5vw,4rem);}
.systems-tab-v18{display:inline-flex;align-items:center;gap:.55rem;color:#fff;padding:.85rem 1.1rem;font-family:var(--font-head);font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.8rem;box-shadow:0 16px 34px rgba(4,4,51,.12);}
.systems-tab-v18 svg{width:20px;height:20px;color:#fff;}
.systems-tab-v18--red{background:#ed1f24;}
.systems-tab-v18--purple{background:#7136c8;}
.systems-tab-v18--gold{background:#f0a500;color:#040433;}
.systems-tab-v18--gold svg{color:#040433;}
.systems-tab-v18--blue{background:#2869d8;}
.systems-tab-v18:hover{transform:translateY(-3px);color:#fff;}
.systems-block-v18{scroll-margin-top:110px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(4,4,51,.08);margin-bottom:clamp(2rem,4vw,3rem);overflow:hidden;}
.systems-block-v18__head{display:grid;grid-template-columns:76px 1fr;gap:1.25rem;padding:clamp(1.5rem,3vw,2.25rem);align-items:start;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff,#f8f8fc);}
.systems-block-v18__icon{width:68px;height:68px;display:grid;place-items:center;background:var(--bright-red);color:#fff;box-shadow:0 16px 30px rgba(229,33,39,.24);}
.systems-block-v18__icon svg{width:34px;height:34px;color:#fff;}
.systems-block-v18--purple .systems-block-v18__icon{background:#7136c8;box-shadow:0 16px 30px rgba(113,54,200,.22);}
.systems-block-v18--gold .systems-block-v18__icon{background:#f0a500;box-shadow:0 16px 30px rgba(240,165,0,.22);}
.systems-block-v18--blue .systems-block-v18__icon{background:#2869d8;box-shadow:0 16px 30px rgba(40,105,216,.22);}
.systems-block-v18 h3{font-size:clamp(1.75rem,3.2vw,2.7rem);margin:.05rem 0 .55rem;color:var(--navy);}
.systems-block-v18__head p{max-width:780px;color:var(--muted);font-size:1.02rem;line-height:1.7;margin:0;}
.systems-card-grid-v18{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);}
.system-item-v18{background:#fff;padding:1.35rem;min-height:235px;display:flex;flex-direction:column;transition:background var(--fast),transform var(--fast);}
.system-item-v18:hover{background:#fbfbff;}
.system-item-v18__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.05rem;}
.system-item-v18__icon{width:48px;height:48px;display:grid;place-items:center;background:#fff1f1;color:var(--bright-red);border-radius:999px;}
.systems-block-v18--purple .system-item-v18__icon{background:#f4efff;color:#7136c8;}
.systems-block-v18--gold .system-item-v18__icon{background:#fff6dc;color:#b87800;}
.systems-block-v18--blue .system-item-v18__icon{background:#eef4ff;color:#2869d8;}
.system-item-v18__icon svg{width:24px;height:24px;}
.system-item-v18__tags{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;}
.system-item-v18 h4{font-size:1.15rem;color:var(--navy);margin:0 0 .55rem;}
.system-item-v18 p{color:var(--muted);font-size:.93rem;line-height:1.6;margin:0 0 1rem;}
.system-item-v18__standards{margin-top:auto;display:flex;flex-wrap:wrap;gap:.4rem;}
.system-item-v18__standards span{font-family:var(--font-head);font-weight:700;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;background:#eef1f9;border:1px solid rgba(4,4,51,.08);color:var(--navy);padding:.32rem .55rem;}
.systems-hero-v18 .page-hero__bg img{object-position:center;}

/* Fire-stopping interactive: make the compare obviously move and stop label clipping. */
body.single-service .ba{max-width:1080px!important;}
body.single-service .ba__frame{aspect-ratio:16/8.8!important;background:#f7f7fb!important;}
body.single-service .ba__img{object-fit:contain!important;padding:.6rem!important;background:#f7f7fb;}
body.single-service .ba__label{white-space:nowrap;max-width:calc(50% - 70px);overflow:hidden;text-overflow:ellipsis;z-index:5;}
body.single-service .ba__label--before{left:1rem!important;background:#202048!important;}
body.single-service .ba__label--after{right:1rem!important;background:var(--bright-red)!important;}
body.single-service .ba__handle{z-index:6;width:4px!important;background:rgba(4,4,51,.40)!important;}
body.single-service .ba__grip::before{content:'‹ ›';font-family:var(--font-head);font-weight:900;font-size:1.05rem;letter-spacing:.05em;color:#fff;}
body.single-service .ba__range{position:absolute;inset:0;opacity:0;cursor:ew-resize;z-index:7;width:100%;height:100%;}
body.single-service .hotspot{max-width:1080px!important;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;}
body.single-service .hotspot__stage{min-height:420px!important;background:#f7f7fb!important;}
body.single-service .hotspot__stage img{object-fit:contain!important;padding:.75rem!important;}
body.single-service .hotspot__pin{box-shadow:0 10px 26px rgba(229,33,39,.28);}

/* Projects pagination: keep filter + pagination obvious. */
.project-pagination .page-numbers{border-radius:0;}
.project-grid--paginated .proj-card__img{height:230px;}
.project-grid--paginated .proj-card__img img{height:100%;object-fit:cover;}
.proj-card--with-desc p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

@media(max-width:1080px){
        .systems-card-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
        .hero--v17{min-height:clamp(460px,58vh,560px)!important;}
        .systems-block-v18__head{grid-template-columns:1fr;}
        body.single-service .hotspot{grid-template-columns:1fr!important;}
        .footer-about .footer-logo-grid{grid-template-columns:repeat(3,minmax(70px,1fr));}
}
@media(max-width:640px){
        .hero--v17{min-height:460px!important;padding:3.25rem 0!important;}
        .hero--v17 .hero__lead{font-size:1rem!important;}
        .page-hero--compact{min-height:280px!important;}
        .systems-tabs-v18{justify-content:flex-start;}
        .systems-tab-v18{width:100%;justify-content:center;}
        .systems-card-grid-v18{grid-template-columns:1fr;}
        .system-item-v18{min-height:auto;}
        .footer-about .footer-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:280px;}
        .footer-about .footer-logo-grid .logo-img img{max-width:96px!important;max-height:32px!important;}
        .services-intro-v17>div{padding:1.35rem;}
        .services-intro-v17 img{min-height:220px;}
        .service-grid-clean .svc-card__img,.home-services .svc-card__img{height:190px;}
        body.single-service .ba__frame{aspect-ratio:4/3!important;}
        body.single-service .ba__label{font-size:.62rem;letter-spacing:.08em;max-width:calc(50% - 42px);}
}


/* ========================================================================
   v1.9 — visual QA pass: readability, footer logos, blog, service pages
   ======================================================================== */

/* Fonts: keep the brand sharp, but make body copy easier to read. */
body{font-size:16.5px;line-height:1.68;}
h1,h2,h3,h4,h5{letter-spacing:-.025em;}
.section{padding:clamp(3.25rem,6.8vw,6.25rem) 0;}
.section--tight{padding:clamp(2.2rem,4.5vw,3.6rem) 0;}

/* Home hero eyebrow was too faint against the animated image. */
.hero--home .eyebrow--light,
.hero--v17 .eyebrow--light{
        color:#fff!important;
        background:rgba(4,4,51,.58);
        border:1px solid rgba(255,255,255,.20);
        padding:.62rem .9rem;
        text-shadow:0 2px 14px rgba(0,0,0,.48);
        backdrop-filter:blur(8px);
}
.hero--home .eyebrow--light::before,
.hero--v17 .eyebrow--light::before{background:var(--bright-red)!important;}
.hero--v17{min-height:clamp(430px,54vh,600px)!important;}
.hero--v17 h1{max-width:980px;margin-inline:auto;}
.hero--v17 .hero__lead{max-width:760px;margin-inline:auto;}

/* Interior service heroes: remove the red floating icon overlap and make image/content calmer. */
.service-hero{overflow:hidden;}
.service-hero .page-hero__inner{max-width:880px;}
.service-hero .breadcrumbs{margin-bottom:1.1rem;}
.service-hero .hero__actions{margin-top:1.35rem!important;}
.service-hero .page-hero__bg img{opacity:.64!important;object-fit:cover;}
.service-hero::after{background:linear-gradient(100deg,rgba(4,4,51,.84) 0%,rgba(4,4,51,.62) 55%,rgba(158,23,27,.26) 100%)!important;}
.service-hero h1{font-size:clamp(2.55rem,5.4vw,5rem);}
.service-hero p{font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.65;}

/* Service detail pages: put the main image next to the relevant text and make all images uniform. */
.service-detail-main{padding-top:clamp(3rem,6vw,5rem);}
.service-content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.46fr);gap:clamp(2rem,4vw,3.8rem);align-items:start;}
.service-content-layout .single-content{max-width:none;margin:0;font-size:1.02rem;}
.service-content-layout .single-content h2{font-size:clamp(1.8rem,3vw,2.65rem);margin-top:0;}
.service-content-layout .single-content h3{font-size:clamp(1.25rem,2vw,1.65rem);margin-top:1.65rem;}
.service-content-layout .single-content p,.service-content-layout .single-content li{color:#36364d;}
.service-content-media{position:sticky;top:100px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 55px rgba(4,4,51,.08);}
.service-content-media img{width:100%;height:clamp(270px,30vw,430px);object-fit:cover;object-position:center;}
.service-content-media__note{padding:1.1rem 1.2rem;background:linear-gradient(135deg,#fff,#f6f6fc);border-top:1px solid var(--line);}
.service-content-media__note b{display:block;font-family:var(--font-head);font-weight:800;color:var(--navy);margin-bottom:.25rem;}
.service-content-media__note span{display:block;color:var(--muted);font-size:.9rem;line-height:1.55;}
.service-gallery-section{padding-top:clamp(1rem,2vw,1.6rem)!important;}
.service-gallery-v17{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.service-gallery-v17 img,.service-gallery-v17 img:first-child{height:clamp(220px,24vw,330px)!important;width:100%;object-fit:cover!important;object-position:center!important;padding:0!important;background:#eef0f7;}
.single-service .standard-chip-grid{margin-top:1.5rem;}

/* Related service cards: stop the red icon from covering card imagery/text. */
.svc-card__ico{top:1rem!important;left:1rem!important;width:46px!important;height:46px!important;z-index:3;box-shadow:0 12px 25px rgba(229,33,39,.28)!important;}
.svc-card__ico svg{width:23px!important;height:23px!important;}
.svc-card__body{padding:1.55rem 1.55rem 1.55rem!important;}
.svc-card__num{top:1.1rem!important;right:1.2rem!important;font-size:2rem!important;color:rgba(4,4,51,.055)!important;}
.svc-card h3{padding-right:2rem;}
.svc-card__img{height:205px!important;background:#eef0f7;}
.svc-card__img img{object-position:center!important;}

/* Footer: actual logos, transparent, coloured, and uniform — no big white boxes. */
.site-footer{background:linear-gradient(180deg,#050538 0%,#030326 100%)!important;}
.footer-grid{grid-template-columns:1.45fr .85fr 1fr 1.15fr;gap:clamp(1.6rem,3vw,2.6rem);}
.footer-brand img{max-height:70px;}
.footer-about p{font-size:.95rem;line-height:1.75;color:#c6c6df;}
.footer-accreditations{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.12);max-width:520px;}
.footer-accreditations__label{display:block;font-family:var(--font-head);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#fff;margin-bottom:.75rem;}
.footer-about .footer-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-width:460px;margin:0;}
.footer-about .footer-logo-grid .footer-logo-mark{height:52px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);padding:.35rem .45rem;}
.footer-about .footer-logo-grid .footer-logo-mark img{max-width:112px;max-height:42px;width:auto;height:auto;object-fit:contain;filter:none!important;opacity:1!important;}
.site-footer .btn{padding:.9rem 1.15rem;font-size:.8rem;}
.footer-bottom{border-top:0;}

/* Blog: remove low-contrast titles/sidebar and make the cards read cleanly. */
.content-with-sidebar{align-items:start;}
.post-card{background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 18px 45px rgba(4,4,51,.06);overflow:hidden;}
.post-card__media{background:#eef0f7!important;}
.post-card__media img{filter:none!important;opacity:1!important;}
.post-card__body{background:#fff!important;padding:1.45rem!important;}
.post-card__meta{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;color:var(--muted)!important;font-size:.72rem!important;line-height:1.3;}
.post-card__cat{background:#fff1f1;color:var(--bright-red)!important;border:1px solid rgba(229,33,39,.16);padding:.28rem .48rem;}
.post-card h3{font-size:clamp(1.15rem,1.8vw,1.45rem)!important;line-height:1.16;margin:.45rem 0 .65rem!important;}
.post-card h3 a{color:#050538!important;text-decoration:none;}
.post-card h3 a:hover{color:var(--bright-red)!important;}
.post-card p{color:#44445d!important;font-size:.94rem!important;line-height:1.62;}
.post-card__link{color:var(--bright-red)!important;margin-top:auto!important;}
.sidebar{position:sticky;top:100px;}
.widget{background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(4,4,51,.055);padding:1.3rem!important;margin-bottom:1.25rem!important;}
.widget-title{font-size:.92rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)!important;border-bottom:1px solid var(--line)!important;padding-bottom:.75rem!important;}
.widget ul{margin:0!important;padding:0!important;list-style:none!important;}
.widget li{padding:.7rem 0!important;border-bottom:1px solid #ededf6!important;line-height:1.45;}
.widget li a{color:#171735!important;font-weight:650;}
.widget li a:hover{color:var(--bright-red)!important;}
.widget[style]{background:linear-gradient(135deg,#050538,#10105e)!important;}

/* Systems page: more like the live systems page — compact coloured system families, no dead white space. */
.systems-v18{padding-top:clamp(2.8rem,5vw,4.4rem)!important;}
.systems-v18 .section-head p{max-width:820px;margin-inline:auto;}
.systems-tabs-v18{margin-bottom:clamp(1.5rem,3vw,2.4rem)!important;}
.systems-block-v18{margin-bottom:clamp(1.6rem,3vw,2.4rem)!important;box-shadow:0 18px 52px rgba(4,4,51,.07)!important;}
.systems-block-v18__head{grid-template-columns:62px 1fr!important;padding:clamp(1.2rem,2.4vw,1.75rem)!important;}
.systems-block-v18__icon{width:58px!important;height:58px!important;}
.systems-block-v18 h3{font-size:clamp(1.5rem,2.8vw,2.35rem)!important;}
.systems-card-grid-v18{grid-template-columns:repeat(4,minmax(0,1fr));}
.system-item-v18{min-height:215px!important;padding:1.15rem!important;}
.system-item-v18 h4{font-size:1.05rem!important;line-height:1.22;}
.system-item-v18 p{font-size:.88rem!important;line-height:1.55;}
.system-item-v18__standards span{font-size:.62rem!important;}

@media(max-width:1180px){.systems-card-grid-v18{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:980px){
        .footer-grid{grid-template-columns:1fr 1fr;}
        .service-content-layout{grid-template-columns:1fr;}
        .service-content-media{position:relative;top:auto;}
        .sidebar{position:relative;top:auto;}
        .systems-card-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
        body{font-size:16px;}
        .hero--v17{min-height:420px!important;}
        .hero--home .eyebrow--light{font-size:.62rem;letter-spacing:.12em;line-height:1.4;}
        .service-hero h1{font-size:clamp(2.15rem,13vw,3.4rem);}
        .service-hero .hero__actions{display:grid;grid-template-columns:1fr;gap:.8rem;}
        .service-gallery-v17{grid-template-columns:1fr!important;}
        .service-gallery-v17 img,.service-gallery-v17 img:first-child{height:235px!important;}
        .footer-grid{grid-template-columns:1fr;}
        .footer-about .footer-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:320px;}
        .footer-about .footer-logo-grid .footer-logo-mark{height:50px;}
        .content-with-sidebar{grid-template-columns:1fr!important;}
        .systems-card-grid-v18{grid-template-columns:1fr;}
        .systems-block-v18__head{grid-template-columns:1fr!important;}
        .systems-tabs-v18{display:grid;grid-template-columns:1fr;}
}

/* ========================================================================
   v2.0 QA polish — cards, footer, blog, systems icons, service flow
   ======================================================================== */
:root{--font-head:'Sora','Inter',Arial,sans-serif;--font-body:'Inter','Segoe UI',Arial,sans-serif;}
body{font-family:var(--font-body);font-size:16px;line-height:1.66;color:#14142f;}
h1,h2,h3,h4,.btn,.eyebrow,.main-nav a,.footer-links a{font-family:var(--font-head);}

/* Home hero trust line: readable without the ugly rectangle */
.hero--home .eyebrow--light,.hero--v17 .eyebrow--light{
  background:transparent!important;border:0!important;padding:0!important;backdrop-filter:none!important;
  text-shadow:0 2px 18px rgba(0,0,0,.85),0 0 1px rgba(0,0,0,.9);color:#fff!important;
  letter-spacing:.16em;font-size:.82rem;
}
.hero--home .eyebrow--light::before,.hero--v17 .eyebrow--light::before{width:48px;height:3px;box-shadow:0 0 0 1px rgba(229,33,39,.18);}
.hero--v17{min-height:clamp(420px,50vh,560px)!important;padding:clamp(4.2rem,7vw,6rem) 0 clamp(3.5rem,6vw,5rem)!important;}
.hero--cinematic::after{background:linear-gradient(180deg,rgba(4,4,51,.38) 0%,rgba(4,4,51,.64) 48%,rgba(4,4,51,.82) 100%)!important;}

/* Service cards: stop the red icon colliding with titles */
.svc-card__body{padding:3.55rem 1.7rem 1.7rem!important;}
.svc-card__ico{top:-25px!important;left:1.45rem!important;width:50px!important;height:50px!important;z-index:3;}
.svc-card__ico svg{width:23px!important;height:23px!important;}
.svc-card h3{padding-top:.15rem!important;line-height:1.12!important;min-height:2.7em;}
.svc-card__num{top:.8rem!important;right:1.25rem!important;font-size:2.45rem!important;z-index:0;}
.svc-card__img{height:205px!important;background:#f0f1f8;}
.svc-card__img img{filter:none!important;}

/* Footer: actual accreditation images, but clean and unboxed */
.site-footer{background:#050538!important;border-top:5px solid var(--bright-red);}
.footer-grid{align-items:start!important;}
.footer-about p{max-width:560px!important;color:#d0d0e6!important;font-size:.98rem!important;}
.footer-accreditations{margin-top:1.4rem!important;padding-top:1rem!important;border-top:1px solid rgba(255,255,255,.16)!important;max-width:600px!important;}
.footer-accreditations__label{font-size:.72rem!important;letter-spacing:.18em!important;color:#fff!important;margin-bottom:.9rem!important;}
.footer-logo-grid--clean{display:flex!important;flex-wrap:wrap!important;gap:.85rem 1.2rem!important;align-items:center!important;max-width:560px!important;margin:0!important;}
.footer-logo-grid--clean .logo-img{background:transparent!important;border:0!important;box-shadow:none!important;width:auto!important;height:46px!important;min-width:0!important;min-height:46px!important;padding:0!important;filter:none!important;opacity:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;}
.footer-logo-grid--clean .logo-img picture{height:100%;display:flex;align-items:center;}
.footer-logo-grid--clean .logo-img img{max-height:42px!important;max-width:118px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important;opacity:1!important;mix-blend-mode:normal!important;}
.footer-logo-grid--clean .logo-img:nth-child(3) img{max-width:150px!important;}
.footer-logo-grid--clean .logo-img:nth-child(4) img{max-height:40px!important;}
.footer-logo-grid--clean .logo-img:nth-child(5) img{max-height:38px!important;}
.footer-links a,.footer-contact a:not(.btn),.footer-contact span{color:#c5c5df!important;}
.footer-links a:hover,.footer-contact a:not(.btn):hover{color:#fff!important;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13)!important;margin-top:2rem!important;}

/* Blog cards/sidebar: remove murky overlay/default WP feel */
.blog .page-hero,.archive .page-hero{padding:clamp(3.2rem,6vw,5rem) 0!important;}
.content-with-sidebar{align-items:start!important;gap:clamp(2rem,4vw,3rem)!important;}
.post-card{background:#fff!important;border:1px solid #e4e5ef!important;box-shadow:0 20px 55px rgba(4,4,51,.08)!important;overflow:hidden!important;border-radius:0!important;}
.post-card__media{aspect-ratio:16/9!important;background:#eef0f7!important;}
.post-card__body{padding:1.65rem!important;}
.post-card__meta{display:flex!important;gap:.7rem!important;align-items:center!important;color:#6e6e86!important;font-size:.72rem!important;letter-spacing:.08em!important;margin-bottom:.75rem!important;}
.post-card__cat{background:#fff1f1!important;color:#c9181e!important;border:1px solid rgba(229,33,39,.18)!important;padding:.25rem .55rem!important;font-weight:800!important;}
.post-card h3{font-size:clamp(1.22rem,2vw,1.58rem)!important;line-height:1.15!important;margin:.2rem 0 .7rem!important;}
.post-card h3 a{color:#050538!important;text-decoration:none!important;}
.post-card p{color:#43435c!important;font-size:.98rem!important;line-height:1.62!important;}
.post-card__link{color:#c9181e!important;font-weight:800!important;margin-top:1rem!important;}
.sidebar .widget,.widget{background:#fff!important;border:1px solid #e4e5ef!important;box-shadow:0 16px 42px rgba(4,4,51,.06)!important;padding:1.35rem!important;}
.widget-title{color:#050538!important;border-bottom:1px solid #e1e2ee!important;font-size:.9rem!important;letter-spacing:.13em!important;padding-bottom:.8rem!important;}
.widget li{border-bottom:1px solid #f0f0f7!important;padding:.75rem 0!important;}
.widget li a{color:#171735!important;font-weight:650!important;line-height:1.35!important;}
.widget li a:hover{color:#e52127!important;}
.search-form{display:flex;gap:.5rem;}
.search-form input[type="search"]{min-width:0;flex:1;border:1px solid #dfe1ed;padding:.8rem .9rem;}
.search-form input[type="submit"],.search-submit{background:#e52127;color:#fff;border:0;padding:.8rem 1rem;font-weight:800;}

/* Systems page: more like the original icon-led grouped system page */
.systems-v18{background:#fff!important;}
.systems-tabs-v18{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.9rem!important;margin-bottom:2.5rem!important;}
.systems-tab-v18{background:#fff!important;border:1px solid #e1e2ee!important;box-shadow:0 12px 30px rgba(4,4,51,.06)!important;color:#050538!important;padding:.9rem 1.15rem!important;}
.systems-block-v18{background:#fff!important;border:1px solid #e3e4ee!important;box-shadow:0 24px 70px rgba(4,4,51,.075)!important;margin-bottom:2.2rem!important;padding:clamp(1.4rem,3vw,2.3rem)!important;}
.systems-block-v18__head{border-bottom:1px solid #ededf6!important;padding-bottom:1.25rem!important;margin-bottom:1.35rem!important;}
.systems-block-v18__icon{background:#fff3f3!important;color:#e52127!important;border:1px solid rgba(229,33,39,.18)!important;box-shadow:none!important;}
.systems-card-grid-v18{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.system-item-v18{background:#fbfbff!important;border:1px solid #e5e6ef!important;padding:1.25rem!important;box-shadow:none!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.system-item-v18:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(4,4,51,.10)!important;border-color:rgba(229,33,39,.25)!important;}
.system-item-v18__top{align-items:flex-start!important;margin-bottom:1rem!important;}
.system-item-v18__icon{background:transparent!important;border:0!important;box-shadow:none!important;width:58px!important;height:58px!important;min-width:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.system-item-v18__icon svg{display:none!important;}
.system-item-v18__icon img{width:58px!important;height:58px!important;display:block!important;object-fit:contain!important;}
.system-item-v18 h4{font-size:1.08rem!important;line-height:1.2!important;margin-bottom:.45rem!important;color:#050538!important;}
.system-item-v18 p{font-size:.92rem!important;color:#4a4a62!important;line-height:1.55!important;}
.system-item-v18__standards{margin-top:1rem!important;display:flex!important;flex-wrap:wrap!important;gap:.4rem!important;}
.system-item-v18__standards span{background:#fff!important;border:1px solid #e1e2ee!important;color:#4a4a62!important;font-size:.68rem!important;padding:.25rem .45rem!important;}
.sys-tag{background:#f5f5fb!important;color:#555575!important;border:1px solid #e3e4ee!important;}
.sys-tag--pop{background:#fff1f1!important;color:#e52127!important;border-color:rgba(229,33,39,.18)!important;}

/* Service detail: alternating image/text blocks */
.service-feature-story{padding-top:clamp(2.8rem,5vw,4.5rem)!important;}
.service-feature-list{display:grid;gap:clamp(1.4rem,3vw,2rem);}
.service-feature-row{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.5rem,3vw,2.6rem);align-items:center;background:#fff;border:1px solid #e4e5ef;box-shadow:0 18px 50px rgba(4,4,51,.06);}
.service-feature-row.is-reversed{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);}
.service-feature-row.is-reversed .service-feature-row__media{order:2;}
.service-feature-row__media{height:100%;min-height:285px;overflow:hidden;background:#eff1f8;}
.service-feature-row__media img{width:100%;height:100%;object-fit:cover;display:block;}
.service-feature-row__content{padding:clamp(1.5rem,3vw,2.4rem);}
.service-feature-row__icon{width:48px;height:48px;background:#e52127;color:#fff;display:grid;place-items:center;margin-bottom:1rem;}
.service-feature-row__icon svg{width:24px;height:24px;}
.service-feature-row__content h2{font-size:clamp(1.45rem,2.4vw,2rem)!important;margin-bottom:.55rem!important;color:#050538!important;}
.service-feature-row__content p{font-size:1rem;line-height:1.7;color:#414158;margin:0;}
.service-content-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)!important;}
.service-gallery-v17{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.service-gallery-v17 img{aspect-ratio:4/3!important;width:100%!important;height:auto!important;object-fit:cover!important;border:1px solid #e1e2ee!important;background:#f4f5fa!important;}

/* Fire stopping module: make before/after less gimmicky and visually useful */
.ba__frame{background:#fff!important;border:1px solid #e1e2ee!important;box-shadow:0 24px 65px rgba(4,4,51,.08)!important;}
.ba__img{object-fit:cover!important;}
.ba__label{top:1.1rem!important;font-size:.78rem!important;letter-spacing:.12em!important;white-space:normal!important;max-width:min(360px,42%)!important;line-height:1.2!important;}
.ba__label--before{left:1.1rem!important;}
.ba__label--after{right:1.1rem!important;text-align:right!important;}
.hotspot__stage{background:#fff!important;border:1px solid #e1e2ee!important;}
.hotspot__stage img{object-fit:contain!important;background:#f6f7fb!important;}

@media(max-width:1100px){.systems-card-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:860px){
  .hero--v17{min-height:auto!important;padding:4rem 0!important;}
  .systems-card-grid-v18,.service-gallery-v17{grid-template-columns:1fr!important;}
  .service-feature-row,.service-feature-row.is-reversed,.service-content-layout{grid-template-columns:1fr!important;}
  .service-feature-row.is-reversed .service-feature-row__media{order:0;}
  .service-feature-row__media{min-height:220px;}
  .footer-grid{grid-template-columns:1fr!important;}
  .footer-logo-grid--clean{gap:.75rem 1rem!important;}
  .footer-logo-grid--clean .logo-img{height:40px!important;min-height:40px!important;}
  .footer-logo-grid--clean .logo-img img{max-height:36px!important;max-width:105px!important;}
  .content-with-sidebar{grid-template-columns:1fr!important;}
}
@media(max-width:560px){
  .svc-card__body{padding:3.25rem 1.25rem 1.35rem!important;}
  .svc-card__img{height:180px!important;}
  .footer-logo-grid--clean{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* ========================================================================== 
   v2.1 QA polish — footer, projects, blog, services, FAQ and mobile flow
   ========================================================================== */
.site-footer .footer-about{max-width:560px!important;}
.site-footer .footer-about p{font-size:1.02rem!important;line-height:1.75!important;max-width:520px!important;}
.site-footer .footer-grid{align-items:start!important;gap:clamp(2rem,4vw,4rem)!important;}
.site-footer .footer-brand img{width:min(220px,70vw)!important;height:auto!important;}
.site-footer .footer-accreditations{display:none!important;}

.hero__kicker,.hero-trust,.home-hero .hero__meta{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.62)!important;letter-spacing:.15em!important;}

.project-grid--paginated{align-items:stretch!important;row-gap:2rem!important;}
.project-grid--paginated .proj-card{height:auto!important;overflow:visible!important;display:flex!important;min-height:100%!important;}
.project-grid--paginated .proj-card__img{height:220px!important;overflow:hidden!important;}
.project-grid--paginated .proj-card__body{padding:1.45rem 1.45rem 1.55rem!important;display:flex!important;flex-direction:column!important;min-height:230px!important;}
.project-grid--paginated .proj-card__sector{position:static!important;align-self:flex-start!important;margin:-.1rem 0 .75rem!important;line-height:1.2!important;}
.project-grid--paginated .proj-card h3{margin:0 0 .55rem!important;line-height:1.18!important;}
.project-grid--paginated .proj-card p{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;margin:.55rem 0 .85rem!important;line-height:1.55!important;}
.project-grid--paginated .proj-card__loc{margin-top:auto!important;}

.blog-index-v21{background:linear-gradient(180deg,#fff 0%,#f6f7fc 100%)!important;}
.blog-index-v21__head{text-align:left!important;max-width:850px!important;margin-left:0!important;margin-bottom:2rem!important;}
.blog-layout-v21{align-items:start!important;}
.blog-layout-v21 .content-area .grid--2{gap:1.7rem!important;}
.post-card{border-radius:0!important;background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 18px 50px rgba(4,4,51,.07)!important;overflow:hidden!important;}
.post-card__media{aspect-ratio:16/9!important;background:#eef0f7!important;display:block!important;}
.post-card__media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;opacity:1!important;}
.post-card__body{background:#fff!important;padding:1.55rem!important;min-height:240px!important;}
.post-card__meta{display:flex!important;gap:.65rem!important;align-items:center!important;flex-wrap:wrap!important;color:#686881!important;font-size:.72rem!important;letter-spacing:.08em!important;line-height:1.4!important;margin-bottom:.75rem!important;}
.post-card__cat{display:inline-block!important;background:#fff1f1!important;border:1px solid rgba(229,33,39,.16)!important;color:#c9181e!important;padding:.27rem .55rem!important;font-weight:800!important;}
.post-card h3{font-size:clamp(1.18rem,1.65vw,1.42rem)!important;line-height:1.18!important;margin:.2rem 0 .7rem!important;}
.post-card h3 a{color:#050538!important;text-decoration:none!important;}
.post-card h3 a:hover{color:#e52127!important;}
.post-card p{font-size:.96rem!important;line-height:1.62!important;color:#46465f!important;margin-bottom:1rem!important;}
.post-card__link{color:#c9181e!important;font-weight:850!important;}
.sidebar{position:sticky;top:110px;align-self:start;}
.sidebar .widget,.widget{background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 18px 50px rgba(4,4,51,.065)!important;padding:1.35rem!important;margin-bottom:1.25rem!important;}
.widget--navy{background:linear-gradient(135deg,#050538,#13136a)!important;color:#fff!important;border:0!important;}
.widget--navy .widget-title,.widget--navy p{color:#fff!important;}
.widget-title{font-size:.86rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#050538!important;border-bottom:1px solid #e5e6ef!important;padding-bottom:.75rem!important;margin-bottom:.9rem!important;}
.widget ul,.wp-block-latest-posts,.wp-block-latest-comments{list-style:none!important;margin:0!important;padding:0!important;}
.widget li,.wp-block-latest-posts li,.wp-block-latest-comments li{border-bottom:1px solid #eff0f7!important;padding:.7rem 0!important;line-height:1.45!important;}
.widget li:last-child,.wp-block-latest-posts li:last-child,.wp-block-latest-comments li:last-child{border-bottom:0!important;}
.widget a,.wp-block-latest-posts a,.wp-block-latest-comments a{color:#12123f!important;font-weight:700!important;text-decoration:none!important;}
.widget a:hover{color:#e52127!important;}
.search-form{display:flex!important;gap:.5rem!important;}
.search-field{width:100%!important;border:1px solid #dfe0eb!important;padding:.8rem .9rem!important;}
.search-submit{background:#e52127!important;color:#fff!important;border:0!important;padding:.8rem 1rem!important;font-weight:800!important;}

.service-feature-story{padding-top:clamp(3rem,5vw,5rem)!important;}
.service-feature-list{display:grid!important;gap:clamp(1.6rem,3vw,2.4rem)!important;}
.service-feature-row{border:1px solid #e2e3ee!important;box-shadow:0 18px 50px rgba(4,4,51,.06)!important;overflow:hidden!important;}
.service-feature-row__media{min-height:310px!important;background:#eef0f7!important;}
.service-feature-row__media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}
.service-feature-row__content{padding:clamp(1.5rem,3vw,2.35rem)!important;}
.service-feature-row__icon{display:none!important;}
.service-feature-row__content h2{font-size:clamp(1.42rem,2.2vw,1.95rem)!important;line-height:1.12!important;}
.service-content-layout{gap:clamp(1.6rem,3vw,2.6rem)!important;align-items:start!important;}
.service-content-media img{height:360px!important;object-fit:cover!important;}
.service-gallery-section{padding-top:0!important;}
.service-gallery-v17{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.service-gallery-v17 img{height:250px!important;object-fit:cover!important;border:1px solid #e3e4ee!important;background:#f4f5fa!important;}
.service-proof-section{padding:clamp(2.3rem,4vw,3.8rem) 0!important;}
.standard-chip-grid--only{margin-top:0!important;}

body.single-service .ba__frame{aspect-ratio:16/8.5!important;background:#f7f8fc!important;border:1px solid #dfe1eb!important;box-shadow:0 22px 58px rgba(4,4,51,.08)!important;}
body.single-service .ba__img{object-fit:cover!important;padding:0!important;background:#f7f8fc!important;}
body.single-service .ba__label{font-size:.75rem!important;letter-spacing:.1em!important;line-height:1.25!important;max-width:40%!important;}
body.single-service .hotspot__stage{background:#f7f8fc!important;}
body.single-service .hotspot__stage img{object-fit:cover!important;}

.faq{margin-top:0!important;max-width:920px!important;border-top:1px solid #dfe1eb!important;background:#fff!important;}
.faq-item{border-bottom:1px solid #e7e8f0!important;}
.faq-q{padding:1.05rem 0!important;font-size:1rem!important;line-height:1.35!important;}
.faq-a__inner{padding:0 0 1.15rem!important;line-height:1.65!important;}
section:has(.faq) .section-head{margin-bottom:1.35rem!important;}

.systems-v18{background:linear-gradient(180deg,#fff 0%,#f7f8fc 100%)!important;}
.systems-tabs-v18{background:#fff!important;border:1px solid #e0e2ec!important;padding:.75rem!important;box-shadow:0 18px 45px rgba(4,4,51,.06)!important;}
.systems-tab-v18{border-radius:0!important;}
.system-item-v18{border:1px solid #e1e3ed!important;background:#fff!important;box-shadow:0 16px 42px rgba(4,4,51,.055)!important;}
.system-item-v18__icon img{width:62px!important;height:62px!important;object-fit:contain!important;}
.systems-block-v18__head p{max-width:760px!important;}

@media (max-width: 980px){
  .content-with-sidebar,.blog-layout-v21{grid-template-columns:1fr!important;}
  .sidebar{position:static!important;}
  .service-feature-row,.service-feature-row.is-reversed,.service-content-layout{grid-template-columns:1fr!important;}
  .service-feature-row.is-reversed .service-feature-row__media{order:0!important;}
  .service-gallery-v17{grid-template-columns:1fr 1fr!important;}
  .footer-grid{grid-template-columns:1fr 1fr!important;}
}
@media (max-width: 640px){
  .site-footer .footer-grid{grid-template-columns:1fr!important;}
  .site-footer .footer-about p{font-size:.96rem!important;}
  .project-grid--paginated .proj-card__body{min-height:0!important;}
  .service-gallery-v17{grid-template-columns:1fr!important;}
  .service-gallery-v17 img{height:220px!important;}
  .service-feature-row__media{min-height:220px!important;}
  .service-content-media img{height:240px!important;}
  body.single-service .ba__frame{aspect-ratio:4/3!important;}
  body.single-service .ba__label{font-size:.62rem!important;max-width:calc(50% - 48px)!important;}
}

/* ========================================================================== 
   v2.2 review pass — calmer systems, clean footer, blog readability, projects
   ========================================================================== */

/* Footer: no accreditations, no double lines, cleaner balance */
.site-footer{
  background:linear-gradient(180deg,#050538 0%,#030326 100%)!important;
  border-top:0!important;
  padding:clamp(3rem,5vw,4.25rem) 0 1.55rem!important;
}
.site-footer::before{display:none!important;content:none!important;}
.site-footer .footer-accreditations,
.site-footer .footer-logo-grid,
.site-footer .footer-proof-text,
.site-footer .footer-badges{display:none!important;}
.footer-grid{
  grid-template-columns:minmax(280px,1.35fr) minmax(150px,.75fr) minmax(220px,.95fr) minmax(250px,1.05fr)!important;
  gap:clamp(1.6rem,3vw,3rem)!important;
  padding-bottom:2rem!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.footer-brand img{max-height:62px!important;width:auto!important;}
.footer-about p{font-size:.96rem!important;line-height:1.7!important;color:#c9c9e4!important;max-width:520px!important;}
.site-footer h4{font-size:.82rem!important;letter-spacing:.13em!important;color:#fff!important;margin-bottom:.85rem!important;}
.footer-links li{margin-bottom:.42rem!important;}
.footer-links a,.footer-contact a:not(.btn),.footer-contact span{font-size:.88rem!important;color:#c6c6de!important;line-height:1.45!important;}
.footer-contact li{gap:.55rem!important;margin-bottom:.62rem!important;}
.footer-contact svg{width:16px!important;height:16px!important;}
.site-footer .btn{padding:.8rem 1rem!important;font-size:.76rem!important;box-shadow:none!important;}
.footer-bottom{padding-top:1rem!important;border-top:0!important;font-size:.78rem!important;color:#aaaac6!important;}
.footer-legal,.footer-legal-menu{gap:1rem!important;}
.footer-legal a{font-size:.78rem!important;}

/* Home trust line: no box, just readable text on image */
.hero--home .eyebrow--light,
.hero--v17 .eyebrow--light{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
  color:#fff!important;text-shadow:0 3px 22px rgba(0,0,0,.88),0 1px 2px rgba(0,0,0,.92)!important;
  letter-spacing:.13em!important;
}
.hero--home .eyebrow--light::before,
.hero--v17 .eyebrow--light::before{background:#e52127!important;box-shadow:none!important;}

/* Service cards: prevent icon/title collision everywhere */
.svc-card{overflow:visible!important;}
.svc-card__body{position:relative!important;padding:3.25rem 1.6rem 1.6rem!important;overflow:visible!important;}
.svc-card__ico{top:-25px!important;left:1.45rem!important;width:50px!important;height:50px!important;z-index:5!important;}
.svc-card h3{margin-top:0!important;padding-top:.25rem!important;padding-left:0!important;padding-right:2.2rem!important;min-height:auto!important;line-height:1.12!important;}
.svc-card__num{z-index:0!important;opacity:.9!important;pointer-events:none!important;}

/* Projects: make the whole card visible and readable */
.project-grid--paginated{align-items:stretch!important;}
.project-grid--paginated .proj-card{display:flex!important;flex-direction:column!important;height:auto!important;min-height:100%!important;overflow:visible!important;background:#fff!important;}
.project-grid--paginated .proj-card__img{height:225px!important;flex:0 0 auto!important;}
.project-grid--paginated .proj-card__body{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:visible!important;padding:1.35rem 1.35rem 1.45rem!important;}
.project-grid--paginated .proj-card p{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;max-height:none!important;color:#4a4a62!important;}
.project-grid--paginated .proj-card__loc{position:static!important;margin-top:1rem!important;}

/* Systems page: back to original-site feel — emoji cards, muted, not neon/over-bright */
.systems-v18{background:#f6f6fb!important;padding-top:clamp(3rem,5vw,4.5rem)!important;}
.systems-v18 .section-head{text-align:left!important;max-width:900px!important;margin-left:0!important;}
.systems-v18 .section-head h2{font-size:clamp(2rem,4vw,3.4rem)!important;}
.systems-tabs-v18{
  display:flex!important;flex-wrap:wrap!important;gap:.75rem!important;background:transparent!important;border:0!important;
  box-shadow:none!important;padding:0!important;margin:0 0 clamp(2rem,4vw,3rem)!important;
}
.systems-tab-v18{
  display:inline-flex!important;align-items:center!important;gap:.55rem!important;padding:.85rem 1.05rem!important;
  background:#fff!important;border:1px solid #dedfeb!important;color:#050538!important;font-weight:850!important;
  box-shadow:0 10px 28px rgba(4,4,51,.055)!important;text-decoration:none!important;
}
.systems-tab-v18:hover{background:#050538!important;color:#fff!important;border-color:#050538!important;transform:translateY(-2px);}
.system-emoji{font-size:1.15rem;line-height:1;}
.systems-block-v18{
  background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 18px 55px rgba(4,4,51,.06)!important;
  padding:clamp(1.5rem,3vw,2.5rem)!important;margin-bottom:clamp(1.4rem,3vw,2rem)!important;
}
.systems-block-v18__head{display:grid!important;grid-template-columns:auto 1fr!important;gap:1rem!important;align-items:start!important;margin-bottom:1.35rem!important;}
.systems-block-v18__icon,
.system-emoji-large{
  width:58px!important;height:58px!important;border-radius:0!important;display:grid!important;place-items:center!important;
  background:#050538!important;color:#fff!important;font-size:1.75rem!important;box-shadow:none!important;
}
.systems-block-v18__head h3{font-size:clamp(1.55rem,2.4vw,2.2rem)!important;margin:0 0 .25rem!important;color:#050538!important;}
.systems-block-v18__head p{font-size:1rem!important;line-height:1.65!important;color:#57576f!important;max-width:850px!important;}
.systems-card-grid-v18{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.system-item-v18{
  background:#fbfbfe!important;border:1px solid #e1e2ec!important;box-shadow:none!important;padding:1.2rem!important;min-height:230px!important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease!important;
}
.system-item-v18:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(4,4,51,.075)!important;border-color:#cfd1df!important;}
.system-item-v18__top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:.9rem!important;margin-bottom:.9rem!important;}
.system-item-v18__icon--emoji{
  width:48px!important;height:48px!important;display:grid!important;place-items:center!important;background:#fff!important;border:1px solid #e1e2ec!important;
  font-size:1.55rem!important;line-height:1!important;box-shadow:none!important;
}
.system-item-v18__tags{display:flex!important;gap:.35rem!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.sys-tag{font-size:.62rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:800!important;background:#f0f1f8!important;color:#50506a!important;padding:.25rem .4rem!important;}
.sys-tag--pop{background:#fff1f1!important;color:#c9181e!important;}
.system-item-v18 h4{font-size:1.05rem!important;line-height:1.22!important;margin:0 0 .45rem!important;color:#050538!important;}
.system-item-v18 p{font-size:.92rem!important;line-height:1.58!important;color:#55556b!important;}
.system-item-v18__standards{display:flex!important;flex-wrap:wrap!important;gap:.35rem!important;margin-top:.9rem!important;}
.system-item-v18__standards span{font-size:.66rem!important;background:#fff!important;border:1px solid #e1e2ec!important;color:#050538!important;padding:.24rem .42rem!important;font-weight:800!important;}

/* Blog: force clear readable listing/sidebar even with default WP widgets */
body.blog .page-hero, body.archive .page-hero{min-height:360px!important;}
.blog-index-v21{background:#fff!important;}
.blog-index-v21__head h2{color:#050538!important;}
.blog-layout-v21{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:clamp(1.5rem,3vw,2.4rem)!important;}
.blog-layout-v21 .grid--2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.35rem!important;}
.post-card,.blog article.post-card,.archive article.post-card{background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 15px 40px rgba(4,4,51,.055)!important;}
.post-card__body{display:flex!important;flex-direction:column!important;background:#fff!important;color:#050538!important;}
.post-card h2,.post-card h3,.post-card .entry-title{color:#050538!important;background:transparent!important;}
.post-card h2 a,.post-card h3 a,.post-card .entry-title a{color:#050538!important;text-decoration:none!important;text-shadow:none!important;}
.post-card h2 a:hover,.post-card h3 a:hover{color:#e52127!important;}
.post-card__meta,.entry-meta{color:#66677f!important;}
.sidebar .widget,.blog .widget,.archive .widget{background:#fff!important;color:#050538!important;border:1px solid #dedfeb!important;box-shadow:0 15px 40px rgba(4,4,51,.055)!important;}
.sidebar .widget-title,.blog .widget-title,.archive .widget-title{color:#050538!important;background:transparent!important;}
.sidebar a,.blog .widget a,.archive .widget a{color:#050538!important;text-decoration:none!important;}
.sidebar a:hover,.blog .widget a:hover,.archive .widget a:hover{color:#e52127!important;}
.wp-block-latest-comments__comment,.wp-block-latest-posts li{font-size:.9rem!important;color:#55556b!important;}

/* Service pages: more consistent related image/text flow and cleaner FAQ spacing */
.service-feature-row__media img,
.service-content-media img,
.service-gallery-v17 img{filter:none!important;object-fit:cover!important;object-position:center!important;}
.service-feature-row{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;}
.service-feature-row.is-reversed{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;}
.service-feature-row__content{display:flex!important;flex-direction:column!important;justify-content:center!important;}
.service-feature-row__content h2{margin-top:0!important;}
body.single-service .section-head:has(+ .faq){margin-bottom:1rem!important;}
body.single-service section:has(.faq){padding-top:clamp(2.2rem,4vw,3.8rem)!important;}
body.single-service .faq{margin-top:0!important;}

/* Fire stopping: make diagrams fill frame properly and avoid repeated/washed-out look */
body.single-service .service-hero--fire-stopping .page-hero__bg img{object-position:center!important;}
body.single-service .ba__frame{aspect-ratio:16/8!important;}
body.single-service .ba__img{object-fit:cover!important;}
body.single-service .hotspot__stage img{object-fit:contain!important;padding:1rem!important;background:#f6f7fc!important;}
body.single-service .service-hero--fire-stopping::after{background:linear-gradient(100deg,rgba(4,4,51,.80),rgba(4,4,51,.58),rgba(98,7,12,.25))!important;}

@media (max-width: 1100px){
  .systems-card-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .blog-layout-v21{grid-template-columns:1fr!important;}
  .sidebar{position:static!important;}
}
@media (max-width: 860px){
  .footer-grid{grid-template-columns:1fr 1fr!important;}
  .systems-card-grid-v18,.blog-layout-v21 .grid--2{grid-template-columns:1fr!important;}
  .systems-block-v18__head{grid-template-columns:1fr!important;}
  .service-feature-row,.service-feature-row.is-reversed{grid-template-columns:1fr!important;}
  .service-feature-row.is-reversed .service-feature-row__media{order:0!important;}
}
@media (max-width: 600px){
  .footer-grid{grid-template-columns:1fr!important;}
  .footer-bottom{display:grid!important;gap:.75rem!important;}
  .systems-tabs-v18{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .systems-tab-v18{justify-content:center!important;text-align:center!important;font-size:.82rem!important;}
  .system-item-v18{min-height:0!important;}
  body.single-service .ba__frame{aspect-ratio:4/3!important;}
}

/* ==========================================================================
   v2.4 — real patch: footer logo, smooth hero, blog readability, systems modal,
   service image uniformity, FAQ spacing
   ========================================================================== */

/* Smooth homepage hero: no cross-fade freezing, only one accelerated image pan. */
.hero__bg--single{overflow:hidden;will-change:transform;background-size:cover;background-position:center;}
.hero__bg--single .hero-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:.72!important;visibility:visible!important;display:block!important;animation:indigoHeroSlowPan 24s ease-in-out infinite alternate!important;transform-origin:center center;will-change:transform;}
.hero__bg--single::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,51,.70) 0%,rgba(4,4,51,.48) 45%,rgba(4,4,51,.35) 100%);pointer-events:none;}
@keyframes indigoHeroSlowPan{0%{transform:scale(1.04) translate3d(-1.2%,0,0);}100%{transform:scale(1.10) translate3d(1.2%,-.8%,0);}}
.hero--home .eyebrow--light{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-shadow:0 2px 14px rgba(0,0,0,.62);color:#fff!important;letter-spacing:.14em!important;}
.hero--home .eyebrow--light::before{width:52px;height:3px;background:var(--bright-red);box-shadow:0 0 16px rgba(229,33,39,.35);}
@media (prefers-reduced-motion:reduce){.hero__bg--single .hero-slide{animation:none!important;transform:scale(1.06)!important;}}

/* Footer: smaller correct-ratio logo, no accreditation remnants, no double separator. */
.site-footer{padding:clamp(2.8rem,5vw,4.2rem) 0 1.4rem!important;background:#050538!important;border-top:5px solid var(--bright-red)!important;}
.site-footer::before,.site-footer::after{display:none!important;content:none!important;}
.footer-brand{display:inline-block!important;max-width:156px!important;margin-bottom:1.25rem!important;}
.footer-brand img{display:block!important;width:156px!important;max-width:156px!important;height:auto!important;max-height:none!important;object-fit:contain!important;aspect-ratio:auto!important;}
.site-footer .footer-accreditations,.site-footer .footer-logo-grid,.site-footer .footer-proof-text,.site-footer .footer-badges{display:none!important;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13)!important;margin-top:clamp(2rem,4vw,3rem)!important;padding-top:1.45rem!important;}
.footer-grid{gap:clamp(1.75rem,4vw,4rem)!important;}
.footer-about p{font-size:.96rem!important;line-height:1.72!important;max-width:390px!important;}

/* Blog readability: override default widget/card styles aggressively. */
body.blog .site-main,body.archive .site-main,body.single-post .site-main{background:#fff!important;color:#050538!important;}
body.blog .page-hero,body.archive .page-hero{min-height:320px!important;background:#050538!important;}
.blog-index-v21{background:linear-gradient(180deg,#fff 0%,#f7f8fc 100%)!important;padding-top:clamp(2.6rem,5vw,4rem)!important;}
.blog-layout-v21{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;gap:clamp(1.4rem,3vw,2.2rem)!important;align-items:start!important;}
.blog-layout-v21 .grid--2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.35rem!important;}
.post-card,.blog article.post-card,.archive article.post-card{display:flex!important;flex-direction:column!important;background:#fff!important;color:#050538!important;border:1px solid #dedfeb!important;box-shadow:0 18px 48px rgba(4,4,51,.08)!important;overflow:hidden!important;min-height:100%!important;}
.post-card__media{display:block!important;aspect-ratio:16/9!important;background:#eef0f7!important;overflow:hidden!important;}
.post-card__media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;opacity:1!important;}
.post-card__body{display:flex!important;flex-direction:column!important;gap:.55rem!important;background:#fff!important;color:#050538!important;padding:1.35rem!important;min-height:230px!important;}
.post-card__meta{display:flex!important;flex-wrap:wrap!important;gap:.55rem!important;align-items:center!important;color:#66677f!important;font-size:.7rem!important;letter-spacing:.075em!important;line-height:1.35!important;margin:0!important;}
.post-card__cat{display:inline-block!important;background:#fff1f1!important;color:#c9181e!important;border:1px solid rgba(229,33,39,.18)!important;padding:.24rem .5rem!important;font-weight:850!important;}
.post-card h2,.post-card h3,.post-card .entry-title{font-size:clamp(1.12rem,1.55vw,1.35rem)!important;line-height:1.18!important;margin:.15rem 0 .2rem!important;color:#050538!important;background:transparent!important;text-shadow:none!important;}
.post-card h2 a,.post-card h3 a,.post-card .entry-title a{color:#050538!important;text-decoration:none!important;text-shadow:none!important;background:transparent!important;}
.post-card h2 a:hover,.post-card h3 a:hover,.post-card .entry-title a:hover{color:#e52127!important;}
.post-card p{color:#494960!important;font-size:.95rem!important;line-height:1.58!important;margin:0 0 .6rem!important;}
.post-card__link{margin-top:auto!important;color:#c9181e!important;font-weight:850!important;text-decoration:none!important;}
.sidebar .widget,.blog .widget,.archive .widget,.single-post .widget{background:#fff!important;color:#050538!important;border:1px solid #dedfeb!important;box-shadow:0 14px 38px rgba(4,4,51,.07)!important;padding:1.25rem!important;margin:0 0 1rem!important;}
.sidebar .widget-title,.blog .widget-title,.archive .widget-title,.single-post .widget-title{color:#050538!important;font-size:.86rem!important;text-transform:uppercase!important;letter-spacing:.12em!important;margin:0 0 .9rem!important;background:transparent!important;}
.sidebar ul,.widget ul{list-style:none!important;margin:0!important;padding:0!important;}
.sidebar li,.widget li{border-bottom:1px solid #ededf4!important;padding:.55rem 0!important;color:#55556b!important;}
.sidebar li:last-child,.widget li:last-child{border-bottom:0!important;}
.sidebar a,.blog .widget a,.archive .widget a,.single-post .widget a{color:#050538!important;text-decoration:none!important;font-weight:650!important;}
.sidebar a:hover,.blog .widget a:hover,.archive .widget a:hover,.single-post .widget a:hover{color:#e52127!important;}
.search-form,.wp-block-search{display:flex!important;gap:.45rem!important;}
.search-form input,.wp-block-search__input{min-width:0!important;border:1px solid #dfe1ec!important;padding:.75rem!important;color:#050538!important;background:#fff!important;}
.search-form button,.wp-block-search__button{border:0!important;background:#e52127!important;color:#fff!important;padding:.75rem .9rem!important;font-weight:800!important;}
.single-content,.entry-content{color:#24243b!important;}
.single-content h2,.entry-content h2,.single-content h3,.entry-content h3{color:#050538!important;line-height:1.15!important;}
.single-content p,.entry-content p,.single-content li,.entry-content li{color:#33334c!important;line-height:1.75!important;}

/* Systems page: original-site emoji feel, professional dark/navy balance, no image boxes. */
.systems-hero-v24 .page-hero__bg::after{background:linear-gradient(90deg,rgba(4,4,51,.78),rgba(4,4,51,.58));}
.systems-v24{background:#f6f7fc!important;padding:clamp(3rem,5vw,4.5rem) 0!important;}
.systems-v24__intro{max-width:880px;margin-bottom:1.4rem;}
.systems-v24__intro h2{font-size:clamp(2.2rem,4.5vw,4rem);margin:.45rem 0 .55rem;color:#050538;line-height:.98;}
.systems-v24__intro p{max-width:760px;color:#55556b;font-size:1.03rem;line-height:1.7;}
.systems-tabs-v24{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.4rem 0 2rem;}
.systems-tabs-v24 a{display:inline-flex;align-items:center;gap:.48rem;background:#fff;border:1px solid #dedfeb;color:#050538;text-decoration:none;font-family:var(--font-head);font-weight:850;padding:.72rem 1rem;box-shadow:0 10px 25px rgba(4,4,51,.045);}
.systems-tabs-v24 a span{font-size:1.15rem;line-height:1;}
.systems-tabs-v24 a:hover{border-color:rgba(229,33,39,.35);color:#e52127;transform:translateY(-1px);}
.systems-group-v24{background:#fff;border:1px solid #dedfeb;box-shadow:0 24px 70px rgba(4,4,51,.07);padding:clamp(1.25rem,3vw,2rem);margin-bottom:1.4rem;}
.systems-group-v24__head{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;border-bottom:1px solid #ececf4;padding-bottom:1rem;margin-bottom:1rem;}
.systems-group-v24__emoji{width:58px;height:58px;display:grid;place-items:center;border-radius:999px;background:#e52127;color:#fff;font-size:1.85rem;box-shadow:0 14px 30px rgba(229,33,39,.25);}
.systems-group-v24 h3{font-size:clamp(1.65rem,2.5vw,2.35rem);line-height:1;margin:0 0 .35rem;color:#050538;}
.systems-group-v24 p{margin:0;color:#55556b;line-height:1.62;}
.systems-grid-v24{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;}
.system-card-v24{appearance:none;border:1px solid #e2e3ee;background:#fbfbff;color:#050538;text-align:left;padding:1.15rem;min-height:230px;display:flex;flex-direction:column;gap:.55rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;font:inherit;}
.system-card-v24:hover{transform:translateY(-3px);background:#fff;box-shadow:0 20px 48px rgba(4,4,51,.1);border-color:rgba(229,33,39,.35);}
.system-card-v24__emoji{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;background:#fff1f1;color:#e52127;font-size:1.55rem;line-height:1;border:1px solid rgba(229,33,39,.14);}
.system-card-v24__label{font-family:var(--font-head);font-weight:850;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#c9181e;}
.system-card-v24 strong{display:block;font-family:var(--font-head);font-size:1.12rem;line-height:1.18;color:#050538;}
.system-card-v24__text{color:#55556b;font-size:.92rem;line-height:1.58;}
.system-card-v24__standards{margin-top:auto;color:#050538;font-family:var(--font-head);font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;opacity:.72;}
.system-card-v24__more{color:#c9181e;font-family:var(--font-head);font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}
.system-modal-v24[hidden]{display:none!important;}
.system-modal-v24{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;}
.system-modal-v24__overlay{position:absolute;inset:0;background:rgba(3,3,32,.72);backdrop-filter:blur(5px);}
.system-modal-v24__panel{position:relative;background:#fff;color:#050538;width:min(620px,100%);padding:clamp(1.5rem,3vw,2.3rem);box-shadow:0 35px 110px rgba(0,0,0,.34);border-top:5px solid #e52127;}
.system-modal-v24__close{position:absolute;top:.75rem;right:.75rem;width:42px;height:42px;border:1px solid #dedfeb;background:#fff;color:#050538;font-size:1.65rem;line-height:1;cursor:pointer;}
.system-modal-v24__emoji{width:64px;height:64px;border-radius:999px;background:#e52127;color:#fff;display:grid;place-items:center;font-size:2rem;box-shadow:0 14px 30px rgba(229,33,39,.25);margin-bottom:1rem;}
.system-modal-v24 h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;margin:.35rem 0 .8rem;color:#050538;}
.system-modal-v24 p{color:#3c3c55;line-height:1.7;font-size:1.02rem;}
.system-modal-v24__standards{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.1rem 0 1.35rem;}
.system-modal-v24__standards span{background:#f3f4fa;border:1px solid #dedfeb;color:#050538;font-family:var(--font-head);font-weight:850;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;padding:.36rem .6rem;}

/* Service pages: make every media block uniform and remove duplicate gallery pressure. */
.service-feature-list{display:grid!important;gap:clamp(1.25rem,3vw,2rem)!important;}
.service-feature-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 16px 48px rgba(4,4,51,.055)!important;overflow:hidden!important;}
.service-feature-row.is-reversed .service-feature-row__media{order:2;}
.service-feature-row__media{min-height:0!important;aspect-ratio:4/3!important;background:#eef0f7!important;overflow:hidden!important;}
.service-feature-row__media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;opacity:1!important;}
.service-feature-row__content{padding:clamp(1.3rem,3vw,2.2rem)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.service-content-media{background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 16px 48px rgba(4,4,51,.055)!important;overflow:hidden!important;}
.service-content-media img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;}
.svc-card__img{aspect-ratio:16/10!important;background:#eef0f7!important;overflow:hidden!important;}
.svc-card__img img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.service-gallery-section{display:none!important;}
.service-detail-main{padding-top:clamp(2.5rem,5vw,4rem)!important;}
.service-proof-section + .service-detail-main{padding-top:clamp(2.2rem,4vw,3.5rem)!important;}

/* FAQs: remove occasional large gap before heading/accordion. */
.section .section-head:has(+ .faq){margin-bottom:1.15rem!important;}
.faq{margin-top:0!important;}
.faq-q:first-child{margin-top:0!important;}

@media (max-width:980px){
  .systems-grid-v24{grid-template-columns:repeat(2,minmax(0,1fr));}
  .blog-layout-v21{grid-template-columns:1fr!important;}
  .blog-layout-v21 .grid--2{grid-template-columns:1fr!important;}
  .service-feature-row,.service-feature-row.is-reversed{grid-template-columns:1fr!important;}
  .service-feature-row.is-reversed .service-feature-row__media{order:0;}
}
@media (max-width:640px){
  .footer-brand,.footer-brand img{width:138px!important;max-width:138px!important;}
  .systems-grid-v24{grid-template-columns:1fr;}
  .systems-group-v24__head{grid-template-columns:1fr;}
  .systems-group-v24__emoji{width:52px;height:52px;font-size:1.6rem;}
  .system-card-v24{min-height:0;}
  .hero--home .eyebrow--light{font-size:.7rem!important;letter-spacing:.09em!important;}
}

/* === v2.5 refinement pass: footer, blog readability, areas SEO, service rhythm === */
.site-footer{
  background:#050538!important;
  border-top:5px solid var(--bright-red)!important;
  padding:clamp(2.6rem,4.5vw,4rem) 0 1.35rem!important;
}
.site-footer::before{display:none!important;content:none!important;}
.site-footer .footer-grid{border:0!important;padding-bottom:clamp(1.4rem,3vw,2.2rem)!important;}
.site-footer .footer-brand{display:inline-flex!important;align-items:flex-start!important;width:auto!important;max-width:240px!important;}
.site-footer .footer-brand img{display:block!important;width:210px!important;max-width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important;}
.site-footer .footer-about p{font-size:.96rem!important;line-height:1.68!important;max-width:430px!important;}
.site-footer h4{font-size:.78rem!important;letter-spacing:.16em!important;margin-bottom:.9rem!important;}
.site-footer .footer-links li{margin-bottom:.55rem!important;}
.site-footer .footer-links a,.footer-contact a,.footer-contact span{font-size:.95rem!important;line-height:1.45!important;}
.footer-contact-link{display:inline-flex;align-items:center;gap:.55rem;color:#fff!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:.6rem;text-decoration:none;border-bottom:2px solid var(--bright-red);padding-bottom:.25rem;}
.footer-contact-link:hover{color:#ffefef!important;}
.footer-bottom{border-top:0!important;margin-top:0!important;padding-top:1rem!important;box-shadow:none!important;}
.footer-bottom::before,.footer-bottom::after,.site-footer .container-wide::before,.site-footer .container-wide::after{display:none!important;content:none!important;}
.footer-legal{gap:1.1rem!important;}
.footer-legal a{font-size:.86rem!important;}

/* Blog pages must be readable immediately, not giant dark title screens */
.post-hero--readable{min-height:auto!important;padding:clamp(2rem,4.5vw,4rem) 0!important;background:#050538!important;color:#fff!important;}
.post-hero--readable .post-hero__bg img{opacity:.18!important;filter:saturate(.85)!important;}
.post-hero--readable::after{background:linear-gradient(105deg,rgba(5,5,56,.96) 0%,rgba(5,5,56,.88) 48%,rgba(149,17,42,.72) 100%)!important;}
.post-hero__inner-readable{max-width:920px!important;}
.post-hero--readable h1{color:#fff!important;font-size:clamp(2.15rem,5vw,4.7rem)!important;line-height:.98!important;letter-spacing:-.045em!important;margin:.7rem 0 1rem!important;text-shadow:0 2px 18px rgba(0,0,0,.32)!important;}
.post-hero__excerpt{max-width:760px;color:#d7d7eb!important;font-size:clamp(1rem,1.45vw,1.2rem)!important;line-height:1.55!important;margin-bottom:1rem!important;}
.post-meta-bar{display:flex;gap:1rem;flex-wrap:wrap;color:#e6e6f2!important;font-weight:700;}
.blog-single-section{padding-top:clamp(2rem,4vw,3.2rem)!important;}
.blog-single-layout{align-items:start!important;grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;}
.single-content{font-size:1.04rem;line-height:1.78;color:#20203b;}
.single-content h2{font-size:clamp(1.65rem,2.7vw,2.45rem)!important;line-height:1.13!important;color:#050538!important;margin-top:2rem!important;}
.single-content h3{font-size:clamp(1.3rem,2vw,1.75rem)!important;line-height:1.22!important;color:#050538!important;margin-top:1.6rem!important;}
.single-content p,.single-content li{color:#34344f!important;}
.post-inline-cta{margin:2rem 0;padding:clamp(1.25rem,2.5vw,1.8rem);background:#f3f3fb;border-left:5px solid var(--bright-red);display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.post-inline-cta h3{margin:0!important;font-size:1.25rem!important;}
.post-inline-cta p{margin:.3rem 0 0!important;max-width:600px;}

.blog-index-v21 .post-card,.search .post-card,.archive .post-card{background:#fff!important;border:1px solid #e3e4ee!important;box-shadow:0 18px 46px rgba(4,4,51,.07)!important;overflow:hidden!important;}
.post-card__body{background:#fff!important;color:#11113c!important;padding:1.25rem!important;}
.post-card__body h3{font-size:clamp(1.18rem,1.8vw,1.55rem)!important;line-height:1.18!important;margin:.5rem 0 .55rem!important;}
.post-card__body h3 a{color:#07073d!important;text-decoration:none!important;}
.post-card__body h3 a:hover{color:var(--bright-red)!important;}
.post-card__body p{color:#55566d!important;line-height:1.6!important;}
.post-card__meta{font-size:.73rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#666780!important;}
.post-card__cat{color:#e52127!important;font-weight:900!important;}
.post-card__media img{height:220px!important;width:100%!important;object-fit:cover!important;}
.sidebar{position:sticky;top:105px;}
.sidebar .widget,.blog .widget,.archive .widget,.single-post .widget{background:#fff!important;border:1px solid #e1e2ec!important;box-shadow:0 18px 48px rgba(4,4,51,.07)!important;padding:1.25rem!important;margin-bottom:1.2rem!important;color:#11113c!important;}
.sidebar .widget-title,.sidebar .widget h2,.sidebar .wp-block-heading,.blog .widget-title,.single-post .widget-title{font-family:var(--font-head)!important;font-size:1rem!important;line-height:1.2!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#050538!important;margin:0 0 .9rem!important;padding:0 0 .65rem!important;border-bottom:1px solid #e8e9f2!important;}
.sidebar .widget ul,.sidebar .wp-block-latest-posts,.sidebar .wp-block-latest-comments{list-style:none!important;margin:0!important;padding:0!important;}
.sidebar .widget li,.sidebar .wp-block-latest-posts li,.sidebar .wp-block-latest-comments li{padding:.68rem 0!important;border-bottom:1px solid #f0f0f7!important;font-size:.94rem!important;line-height:1.42!important;}
.sidebar .widget a,.sidebar .wp-block-latest-posts__post-title,.sidebar .wp-block-latest-comments__comment-link{color:#11113c!important;font-weight:750!important;text-decoration:none!important;}
.sidebar .widget a:hover{color:#e52127!important;}
.sidebar .wp-block-latest-comments__comment-author,.sidebar .wp-block-latest-comments__comment-link{font-size:.94rem!important;}
.sidebar .wp-block-search__inside-wrapper{display:flex;gap:.5rem;}
.sidebar input[type="search"],.sidebar .wp-block-search__input{min-width:0;border:1px solid #dedfea!important;padding:.8rem!important;}
.sidebar .wp-block-search__button{background:#e52127!important;color:#fff!important;border:0!important;padding:.8rem 1rem!important;font-weight:800!important;}

/* Areas page as a local SEO hub */
.areas-seo-v25{padding-top:clamp(2.5rem,5vw,4rem)!important;}
.local-service-grid-v25{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;}
.local-service-card-v25{background:#fff;border:1px solid #e1e2ec;padding:1.35rem;box-shadow:0 18px 45px rgba(4,4,51,.06);}
.local-service-card-v25 h3{font-size:1.22rem;color:#050538;margin:0 0 .55rem;}
.local-service-card-v25 p{color:#55566d;line-height:1.6;margin:0 0 1rem;}
.local-service-card-v25 a{color:#b7151d;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;text-decoration:none;}
.areas-projects-push-v25{margin-top:1.6rem;background:linear-gradient(135deg,#050538,#111169);color:#fff;padding:clamp(1.35rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1.2rem;}
.areas-projects-push-v25 h3{color:#fff;margin:.25rem 0 .4rem;font-size:clamp(1.35rem,2.3vw,2rem);}
.areas-projects-push-v25 p{color:#d7d7eb;margin:0;max-width:760px;}

/* FAQ spacing fix */
.faq,.faq-list{margin-top:1.2rem!important;}
.section-head + .faq,.section-head + .faq-list{margin-top:1rem!important;}
.faq-section,.service-detail-main + .section{padding-top:clamp(2.5rem,5vw,4rem)!important;}

/* Service page image consistency and avoid repeated clutter */
.service-feature-list{display:grid!important;gap:clamp(1.5rem,3vw,2.2rem)!important;}
.service-feature-row{align-items:stretch!important;}
.service-feature-row__media img,.service-content-media img,.svc-card__img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.service-feature-row__media{min-height:280px!important;max-height:420px!important;overflow:hidden!important;}
.service-content-media{align-self:start!important;}
.service-content-media img{height:360px!important;}
.ba__frame img{object-fit:cover!important;}

@media (max-width: 900px){
  .blog-single-layout,.content-with-sidebar{grid-template-columns:1fr!important;}
  .sidebar{position:static!important;}
  .local-service-grid-v25{grid-template-columns:1fr 1fr;}
  .post-hero--readable h1{font-size:clamp(2rem,10vw,3.1rem)!important;}
}
@media (max-width: 640px){
  .site-footer .footer-brand img{width:170px!important;}
  .site-footer .footer-grid{gap:1.8rem!important;}
  .local-service-grid-v25{grid-template-columns:1fr;}
  .areas-projects-push-v25{display:block;}
  .areas-projects-push-v25 .btn{margin-top:1rem;}
  .post-card__media img{height:190px!important;}
  .post-hero--readable{padding:2rem 0!important;}
  .service-content-media img{height:260px!important;}
}

/* === v2.6 final polish: readable blog, clean footer, calmer systems, real fire stopping visuals === */
.site-footer{padding:clamp(3rem,5vw,4.6rem) 0 1.5rem!important;background:#050538!important;border-top:5px solid var(--bright-red)!important;box-shadow:none!important;overflow:hidden!important;}
.site-footer::before,.site-footer::after,.site-footer .container-wide::before,.site-footer .container-wide::after,.footer-grid::before,.footer-grid::after,.footer-bottom::before,.footer-bottom::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}
.site-footer .container-wide{border:0!important;box-shadow:none!important;}
.site-footer .footer-grid{border:0!important;border-bottom:0!important;box-shadow:none!important;padding-bottom:clamp(1.2rem,3vw,2rem)!important;}
.footer-brand{display:inline-block!important;width:auto!important;max-width:210px!important;line-height:0!important;}
.footer-brand img{display:block!important;height:76px!important;width:auto!important;max-width:210px!important;max-height:76px!important;object-fit:contain!important;aspect-ratio:auto!important;}
.footer-bottom{border-top:0!important;margin-top:.2rem!important;padding-top:1rem!important;box-shadow:none!important;}
.footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;}
.footer-legal,.footer-legal-menu{display:flex!important;gap:1.2rem!important;align-items:center!important;list-style:none!important;margin:0!important;padding:0!important;}

/* Blog listing and single posts should read like articles, not landing pages */
body.blog .page-hero,body.archive .page-hero{min-height:260px!important;padding:clamp(3rem,7vw,5rem) 0!important;}
body.blog .page-hero__inner h1,body.archive .page-hero__inner h1{font-size:clamp(2.5rem,6vw,4.8rem)!important;line-height:.98!important;color:#fff!important;}
body.blog .page-hero__inner p,body.archive .page-hero__inner p{max-width:720px!important;color:#f2f2fb!important;font-size:1.05rem!important;}
.post-readable-header{background:#fff!important;color:#050538!important;padding:clamp(2rem,5vw,4rem) 0 clamp(1.4rem,3vw,2.2rem)!important;border-bottom:1px solid #e6e7ef!important;}
.post-readable-header__inner{max-width:980px!important;}
.post-readable-header .breadcrumbs,.post-readable-header .breadcrumbs a{color:#696982!important;}
.post-readable-header h1{font-size:clamp(2.15rem,5.4vw,5.25rem)!important;line-height:1.02!important;max-width:900px!important;color:#050538!important;margin:.6rem 0 1rem!important;letter-spacing:-.04em!important;}
.post-readable-header__excerpt{font-size:clamp(1.05rem,1.6vw,1.3rem)!important;line-height:1.65!important;color:#55556b!important;max-width:760px!important;margin:0 0 1rem!important;}
.post-meta-bar--readable{display:flex!important;gap:.8rem!important;flex-wrap:wrap!important;color:#55556b!important;font-size:.92rem!important;}
.blog-single-section{padding-top:clamp(1.6rem,3vw,2.4rem)!important;}
.blog-single-layout{display:grid!important;grid-template-columns:minmax(0,760px) minmax(250px,330px)!important;gap:clamp(1.8rem,4vw,3rem)!important;align-items:start!important;}
.single-content{font-size:1.03rem!important;line-height:1.78!important;color:#252547!important;}
.single-content h2{font-size:clamp(1.55rem,3vw,2.3rem)!important;line-height:1.18!important;color:#050538!important;margin:2rem 0 .85rem!important;}
.single-content h3{font-size:clamp(1.25rem,2vw,1.65rem)!important;line-height:1.25!important;color:#050538!important;margin:1.6rem 0 .6rem!important;}
.sidebar .widget,.blog .widget,.archive .widget,.single-post .widget,.wp-block-latest-posts,.wp-block-latest-comments{font-size:1rem!important;line-height:1.55!important;}
.sidebar .widget-title,.sidebar .widget h2,.sidebar .wp-block-heading,.blog .widget-title,.archive .widget-title,.single-post .widget-title{font-family:var(--font-body)!important;font-size:.86rem!important;line-height:1.25!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#050538!important;margin:0 0 .8rem!important;}
.sidebar .wp-block-latest-comments__comment,.sidebar .wp-block-latest-posts__list li,.sidebar li{font-size:.94rem!important;line-height:1.55!important;margin-bottom:.65rem!important;}
.sidebar .wp-block-latest-comments__comment a,.sidebar .wp-block-latest-posts__list a,.sidebar li a{font-size:.95rem!important;line-height:1.45!important;color:#050538!important;font-weight:700!important;}

/* Systems: dark, emoji-led, original-site feel without neon boxes */
.systems-v24{background:#050538!important;color:#fff!important;padding:clamp(3rem,5vw,4.8rem) 0!important;}
.systems-v24__intro h2{color:#fff!important;font-size:clamp(2rem,4vw,3.6rem)!important;}
.systems-v24__intro p{color:#c9c9e4!important;}
.systems-tabs-v24{display:flex!important;flex-wrap:wrap!important;gap:.7rem!important;margin:1.6rem 0 2.2rem!important;}
.systems-tabs-v24 a{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;border-radius:999px!important;padding:.8rem 1rem!important;text-decoration:none!important;}
.systems-tabs-v24 a span{font-size:1.2rem!important;margin-right:.45rem!important;}
.systems-group-v24{border-top:1px solid rgba(255,255,255,.14)!important;padding:clamp(1.8rem,4vw,2.8rem) 0!important;}
.systems-group-v24__head{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:1rem!important;align-items:start!important;margin-bottom:1.2rem!important;}
.systems-group-v24__emoji{width:64px!important;height:64px!important;display:grid!important;place-items:center!important;border-radius:20px!important;background:#e52127!important;font-size:2rem!important;box-shadow:0 18px 35px rgba(229,33,39,.25)!important;}
.systems-group-v24__head h3{font-size:clamp(1.7rem,3vw,2.4rem)!important;color:#fff!important;margin:0 0 .35rem!important;}
.systems-group-v24__head p{color:#c9c9e4!important;max-width:800px!important;}
.systems-grid-v24{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.system-card-v24{background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;text-align:left!important;border-radius:0!important;padding:1.25rem!important;min-height:255px!important;box-shadow:none!important;}
.system-card-v24:hover{transform:translateY(-4px)!important;border-color:rgba(229,33,39,.65)!important;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.065))!important;}
.system-card-v24__emoji{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;background:#e52127!important;border-radius:999px!important;font-size:1.45rem!important;margin-bottom:1rem!important;}
.system-card-v24__label{display:block!important;color:#ff9fa3!important;text-transform:uppercase!important;font-size:.72rem!important;letter-spacing:.14em!important;margin-bottom:.45rem!important;}
.system-card-v24 strong{display:block!important;color:#fff!important;font-size:1.16rem!important;line-height:1.22!important;margin-bottom:.55rem!important;}
.system-card-v24__text{display:block!important;color:#d5d5ea!important;font-size:.95rem!important;line-height:1.6!important;}
.system-card-v24__standards{display:block!important;color:#fff!important;opacity:.72!important;font-size:.76rem!important;margin-top:.9rem!important;}
.system-card-v24__more{display:inline-block!important;color:#fff!important;font-weight:800!important;margin-top:1rem!important;}

/* Real fire-stopping visual treatment */
.firestop-practice{background:#fff!important;}
.firestop-practice__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.firestop-practice__card{background:#fff!important;border:1px solid #e1e2ec!important;box-shadow:0 20px 55px rgba(4,4,51,.08)!important;overflow:hidden!important;}
.firestop-practice__card img{display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;}
.firestop-practice__card div{padding:1.2rem!important;}
.firestop-practice__card span{display:block!important;color:#e52127!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:900!important;font-size:.72rem!important;margin-bottom:.45rem!important;}
.firestop-practice__card h3{font-size:1.18rem!important;line-height:1.22!important;margin:0 0 .55rem!important;color:#050538!important;}
.firestop-practice__card p{color:#55556b!important;line-height:1.62!important;margin:0!important;}
.firestop-checklist__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.9rem!important;}
.firestop-checklist__item{display:flex!important;gap:.75rem!important;align-items:flex-start!important;background:#fff!important;border:1px solid #e1e2ec!important;padding:1rem!important;color:#050538!important;font-weight:700!important;}
.firestop-checklist__item svg{width:20px!important;min-width:20px!important;color:#e52127!important;}

/* Uniform service imagery */
.service-feature-row__media,.service-content-media,.svc-card__img{overflow:hidden!important;background:#f1f2f7!important;}
.service-feature-row__media img{display:block!important;width:100%!important;height:100%!important;min-height:340px!important;aspect-ratio:16/10!important;object-fit:cover!important;}
.service-content-media>img{display:block!important;width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;}
.svc-card__img img{display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;}
.svc-card__body{padding-top:2.2rem!important;}
.svc-card__ico{top:-26px!important;left:1.5rem!important;width:54px!important;height:54px!important;}

.areas-keywords-v26__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;}
.areas-keywords-v26__grid article{background:#fff!important;border:1px solid #e1e2ec!important;box-shadow:0 16px 45px rgba(4,4,51,.06)!important;padding:1.2rem!important;}
.areas-keywords-v26__grid h3{font-size:1.15rem!important;line-height:1.2!important;color:#050538!important;margin:0 0 .55rem!important;}
.areas-keywords-v26__grid p{color:#55556b!important;line-height:1.6!important;margin:0!important;}

@media (max-width: 980px){
  .blog-single-layout,.blog-layout-v21{grid-template-columns:1fr!important;}
  .systems-grid-v24,.firestop-practice__grid,.areas-keywords-v26__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .footer-bottom{display:grid!important;}
}
@media (max-width: 640px){
  .footer-brand img{height:58px!important;}
  .post-readable-header h1{font-size:2rem!important;}
  .systems-grid-v24,.firestop-practice__grid,.firestop-checklist__grid,.areas-keywords-v26__grid{grid-template-columns:1fr!important;}
  .systems-group-v24__head{grid-template-columns:1fr!important;}
  .service-feature-row__media img{min-height:230px!important;}
}

/* ========================================================================== 
   v2.7 — final visual clean-up: footer, blog reading, systems page reset,
   service image consistency, SEO local landing pages
   ========================================================================== */
:root{--indigo-body-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--indigo-head-font:Sora,Inter,system-ui,sans-serif;}
body{font-family:var(--indigo-body-font)!important;text-rendering:optimizeLegibility!important;-webkit-font-smoothing:antialiased!important;}
h1,h2,h3,h4,h5,h6,.main-navigation,.btn,.eyebrow{font-family:var(--indigo-head-font)!important;}

/* Footer — no accreditation row, no double lines, logo locked to natural ratio. */
.site-footer{background:#050538!important;border-top:5px solid #e52127!important;padding:clamp(2.7rem,5vw,4.4rem) 0 1.35rem!important;}
.site-footer *{box-sizing:border-box!important;}
.site-footer::before,.site-footer::after,.footer-bottom::before,.footer-bottom::after{content:none!important;display:none!important;}
.footer-grid{display:grid!important;grid-template-columns:minmax(260px,1.15fr) .8fr 1fr 1fr!important;gap:clamp(1.7rem,4vw,4.2rem)!important;align-items:start!important;border:0!important;}
.footer-brand{display:inline-block!important;width:auto!important;max-width:190px!important;height:auto!important;margin:0 0 1.25rem!important;overflow:visible!important;}
.footer-brand img{display:block!important;width:auto!important;height:auto!important;max-width:190px!important;max-height:86px!important;object-fit:contain!important;object-position:left center!important;aspect-ratio:auto!important;filter:none!important;}
.footer-about p{max-width:380px!important;color:#c7c7df!important;font-size:.98rem!important;line-height:1.74!important;margin:0!important;}
.site-footer h4{color:#fff!important;font-size:.86rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0 0 1rem!important;}
.footer-links{display:grid!important;gap:.55rem!important;margin:0!important;padding:0!important;list-style:none!important;}
.footer-links a,.footer-contact a,.footer-contact span,.footer-bottom,.footer-legal a{color:#c7c7df!important;text-decoration:none!important;font-weight:500!important;}
.footer-links a:hover,.footer-contact a:hover,.footer-legal a:hover{color:#fff!important;}
.footer-contact ul{display:grid!important;gap:.9rem!important;list-style:none!important;margin:0 0 1.4rem!important;padding:0!important;}
.footer-contact li{display:grid!important;grid-template-columns:24px 1fr!important;gap:.75rem!important;align-items:start!important;color:#c7c7df!important;}
.footer-contact svg{width:21px!important;height:21px!important;color:#e52127!important;margin-top:.1rem!important;}
.footer-contact-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#e52127!important;color:#fff!important;padding:.92rem 1.15rem!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.07em!important;}
.footer-bottom{border-top:0!important;box-shadow:none!important;margin-top:clamp(2rem,4vw,3rem)!important;padding-top:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;color:#aaaac7!important;font-size:.92rem!important;}
.footer-legal,.footer-legal-menu{display:flex!important;gap:1.25rem!important;align-items:center!important;list-style:none!important;margin:0!important;padding:0!important;border:0!important;}
.site-footer .footer-accreditations,.site-footer .footer-logo-grid,.site-footer .footer-badges,.site-footer .footer-proof-text{display:none!important;}

/* Blog index/single — readable article-first layout, no massive dark post hero. */
body.blog .page-hero,body.archive .page-hero{min-height:240px!important;padding:clamp(2.8rem,6vw,4.6rem) 0!important;background:#050538!important;}
body.blog .page-hero__bg img,body.archive .page-hero__bg img{opacity:.38!important;filter:none!important;}
body.blog .page-hero__inner,body.archive .page-hero__inner{max-width:900px!important;}
body.blog .page-hero__inner h1,body.archive .page-hero__inner h1{font-size:clamp(2.1rem,5vw,4.2rem)!important;line-height:1.02!important;color:#fff!important;margin:.45rem 0 .75rem!important;letter-spacing:-.045em!important;}
body.blog .page-hero__inner p,body.archive .page-hero__inner p{font-size:1rem!important;line-height:1.65!important;max-width:700px!important;color:#ededf8!important;}
.blog-index-v21__head{text-align:left!important;margin-bottom:1.6rem!important;}
.blog-index-v21__head h2{font-size:clamp(1.8rem,3.2vw,3rem)!important;}
.blog-layout-v21{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:clamp(1.5rem,3.5vw,2.5rem)!important;align-items:start!important;}
.blog-layout-v21 .grid--2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.35rem!important;}
.post-card{background:#fff!important;border:1px solid #dedfeb!important;color:#050538!important;box-shadow:0 16px 42px rgba(4,4,51,.07)!important;overflow:hidden!important;}
.post-card__media{aspect-ratio:16/9!important;background:#e8e9f1!important;display:block!important;overflow:hidden!important;}
.post-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;opacity:1!important;}
.post-card__body{background:#fff!important;color:#050538!important;padding:1.25rem!important;display:flex!important;flex-direction:column!important;gap:.55rem!important;min-height:230px!important;}
.post-card__meta{font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#70708a!important;display:flex!important;gap:.55rem!important;align-items:center!important;flex-wrap:wrap!important;}
.post-card__cat{color:#d71920!important;font-weight:900!important;background:#fff3f3!important;border:1px solid rgba(229,33,39,.18)!important;padding:.2rem .5rem!important;}
.post-card h3,.post-card h2{margin:.1rem 0!important;font-size:clamp(1.1rem,1.5vw,1.35rem)!important;line-height:1.22!important;color:#050538!important;}
.post-card h3 a,.post-card h2 a{color:#050538!important;text-decoration:none!important;}
.post-card p{font-size:.95rem!important;line-height:1.6!important;color:#55556b!important;margin:0!important;}
.post-card__link{margin-top:auto!important;color:#c9151b!important;font-weight:850!important;}
.post-readable-header{background:#fff!important;padding:clamp(1.7rem,4vw,3.2rem) 0 1.3rem!important;border-bottom:1px solid #e5e7ef!important;}
.post-readable-header__inner{max-width:920px!important;}
.post-readable-header h1{font-size:clamp(2rem,4.6vw,4.2rem)!important;line-height:1.05!important;color:#050538!important;margin:.6rem 0 .8rem!important;letter-spacing:-.045em!important;max-width:880px!important;}
.post-readable-header__excerpt{font-size:clamp(1.02rem,1.45vw,1.22rem)!important;line-height:1.62!important;color:#55556b!important;max-width:760px!important;}
.post-readable-header .breadcrumbs,.post-readable-header .breadcrumbs a{font-size:.78rem!important;color:#696982!important;}
.post-meta-bar--readable{display:flex!important;flex-wrap:wrap!important;gap:.8rem!important;color:#66677f!important;font-size:.88rem!important;}
.blog-single-section{padding-top:clamp(1.4rem,3vw,2.1rem)!important;}
.blog-single-layout{display:grid!important;grid-template-columns:minmax(0,760px) 320px!important;gap:clamp(1.6rem,4vw,3rem)!important;align-items:start!important;}
.single-content{font-size:1.03rem!important;line-height:1.78!important;color:#292942!important;}
.single-content h2{font-size:clamp(1.45rem,2.8vw,2.15rem)!important;line-height:1.2!important;margin:1.8rem 0 .75rem!important;color:#050538!important;}
.single-content h3{font-size:clamp(1.22rem,2vw,1.6rem)!important;color:#050538!important;margin:1.45rem 0 .55rem!important;}
.sidebar{position:sticky!important;top:110px!important;align-self:start!important;}
.sidebar .widget{background:#fff!important;border:1px solid #dedfeb!important;box-shadow:0 14px 34px rgba(4,4,51,.06)!important;padding:1.1rem!important;margin:0 0 1rem!important;color:#050538!important;}
.sidebar .widget-title,.sidebar .widget h2,.sidebar .wp-block-heading{font-size:.82rem!important;line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.13em!important;color:#050538!important;margin:0 0 .85rem!important;}
.sidebar ul,.sidebar ol{list-style:none!important;margin:0!important;padding:0!important;}
.sidebar li{font-size:.94rem!important;line-height:1.5!important;padding:.55rem 0!important;border-bottom:1px solid #ececf4!important;}
.sidebar li:last-child{border-bottom:0!important;}
.sidebar a{font-size:.95rem!important;line-height:1.45!important;color:#050538!important;font-weight:700!important;text-decoration:none!important;}
.sidebar a:hover{color:#e52127!important;}

/* Systems v2.7 — replace all previous systems experiments. Dark, calm, emoji cards, modals. */
.systems-page-hero-v27{position:relative;overflow:hidden;background:#050538;color:#fff;padding:clamp(4.2rem,9vw,7rem) 0 clamp(2.4rem,5vw,4rem);border-bottom:5px solid #e52127;}
.systems-page-hero-v27__bg{position:absolute;inset:0;opacity:.22;}
.systems-page-hero-v27__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05);}
.systems-page-hero-v27::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,56,.96),rgba(5,5,56,.82) 52%,rgba(81,10,34,.62));}
.systems-page-hero-v27__inner{position:relative;z-index:1;max-width:1050px!important;}
.systems-page-hero-v27 h1{color:#fff!important;font-size:clamp(2.4rem,5vw,5.2rem)!important;line-height:1!important;letter-spacing:-.055em!important;max-width:880px;margin:.65rem 0 1rem;}
.systems-page-hero-v27 p{color:#d8d8ee!important;font-size:clamp(1.02rem,1.5vw,1.22rem)!important;line-height:1.65!important;max-width:760px;margin:0 0 1.6rem;}
.systems-page-hero-v27__tabs{display:flex;gap:.75rem;flex-wrap:wrap;}
.systems-page-hero-v27__tabs a{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;padding:.78rem 1rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;}
.systems-page-hero-v27__tabs a:hover{background:#e52127;border-color:#e52127;transform:translateY(-2px);}
.systems-page-v27{background:#f6f7fc!important;padding:clamp(2.6rem,5vw,4.6rem) 0!important;}
.systems-group-v27{scroll-margin-top:120px;background:#fff;border:1px solid #dddfea;box-shadow:0 22px 55px rgba(4,4,51,.07);padding:clamp(1.4rem,3vw,2rem);margin-bottom:clamp(1.4rem,3vw,2rem);}
.systems-group-v27__head{display:grid;grid-template-columns:74px minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1.2rem;padding-bottom:1.1rem;border-bottom:1px solid #ececf4;}
.systems-group-v27__emoji{width:64px;height:64px;display:grid;place-items:center;background:#e52127;color:#fff;border-radius:18px;font-size:2.05rem;box-shadow:0 14px 30px rgba(229,33,39,.24);}
.systems-group-v27 h2{font-size:clamp(1.7rem,3vw,2.8rem)!important;color:#050538!important;line-height:1.05;margin:.15rem 0 .45rem;letter-spacing:-.035em;}
.systems-group-v27 p{color:#55556b!important;max-width:790px;line-height:1.65;margin:0;}
.systems-grid-v27{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.system-card-v27{display:flex;flex-direction:column;text-align:left;border:1px solid #e0e1eb;background:#fff;color:#050538;padding:1.2rem;min-height:260px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.system-card-v27:hover{transform:translateY(-4px);border-color:rgba(229,33,39,.45);box-shadow:0 18px 42px rgba(4,4,51,.09);}
.system-card-v27__emoji{width:48px;height:48px;border-radius:999px;background:#f21f26;color:#fff;display:grid;place-items:center;font-size:1.45rem;margin-bottom:1rem;line-height:1;}
.system-card-v27__kicker{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#e52127;font-weight:900;margin-bottom:.45rem;}
.system-card-v27 strong{font-size:1.14rem;line-height:1.22;color:#050538;margin-bottom:.55rem;}
.system-card-v27__copy{font-size:.95rem;line-height:1.62;color:#55556b;}
.system-card-v27__standards{font-size:.76rem;line-height:1.45;color:#6d6d84;margin-top:.9rem;}
.system-card-v27__more{margin-top:auto;color:#b41217;font-weight:850;padding-top:1rem;}
.system-modal-v24__panel{border-top:5px solid #e52127!important;}
.system-modal-v24__emoji{font-size:2.25rem!important;}
.system-modal-v24__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.2rem;}
body.system-modal-open{overflow:hidden;}

/* Service pages: one set of relevant images only, uniform crops. */
.service-feature-row__media,.service-content-media,.svc-card__img{background:#eef0f7!important;overflow:hidden!important;}
.service-feature-row__media img,.service-content-media>img,.svc-card__img img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important;opacity:1!important;}
.service-feature-row__media img{min-height:340px!important;aspect-ratio:16/10!important;}
.service-content-media>img{aspect-ratio:16/10!important;}
.svc-card__img img{aspect-ratio:16/10!important;}
.service-gallery-v17,.service-gallery,.related-service-gallery{display:none!important;}
.svc-card__body{padding-top:2.25rem!important;}
.svc-card__ico{top:-27px!important;left:1.35rem!important;width:54px!important;height:54px!important;z-index:2!important;}
body.single-service section:has(.faq){padding-top:clamp(2rem,4vw,3.4rem)!important;}
body.single-service .section-head:has(+ .faq),.faq-title,.faq-heading{margin-bottom:1rem!important;}
body.single-service .faq{margin-top:0!important;}

@media (max-width: 1100px){
  .footer-grid{grid-template-columns:1fr 1fr!important;}
  .blog-layout-v21,.blog-single-layout{grid-template-columns:1fr!important;}
  .sidebar{position:static!important;}
  .systems-grid-v27{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 720px){
  .footer-grid{grid-template-columns:1fr!important;}
  .footer-bottom{display:grid!important;justify-content:start!important;gap:.8rem!important;}
  .footer-brand img{max-width:160px!important;max-height:74px!important;}
  .blog-layout-v21 .grid--2,.systems-grid-v27{grid-template-columns:1fr!important;}
  .systems-group-v27__head{grid-template-columns:1fr!important;}
  .systems-page-hero-v27__tabs{display:grid;grid-template-columns:1fr 1fr;}
  .systems-page-hero-v27__tabs a{justify-content:center;text-align:center;}
  .post-readable-header h1{font-size:2rem!important;}
  .service-feature-row__media img{min-height:230px!important;}
}

/* Local SEO landing pages */
.local-hero-v27{position:relative;overflow:hidden;background:#050538;color:#fff;padding:clamp(4rem,8vw,6.5rem) 0;border-bottom:5px solid #e52127;}
.local-hero-v27__bg{position:absolute;inset:0;opacity:.36;}
.local-hero-v27__bg img{width:100%;height:100%;object-fit:cover;}
.local-hero-v27::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,56,.92),rgba(5,5,56,.70),rgba(98,7,22,.55));}
.local-hero-v27__inner{position:relative;z-index:1;max-width:980px!important;}
.local-hero-v27 h1{color:#fff!important;font-size:clamp(2.2rem,5vw,4.8rem)!important;line-height:1.03!important;letter-spacing:-.055em!important;margin:.6rem 0 1rem;max-width:850px;}
.local-hero-v27 p{color:#eeeef9!important;font-size:clamp(1.02rem,1.5vw,1.22rem)!important;line-height:1.65!important;max-width:760px;margin:0 0 1.5rem;}
.local-hero-v27__actions{display:flex;flex-wrap:wrap;gap:.8rem;}
.local-page-v27{background:#fff!important;}
.local-page-v27__grid{display:grid;grid-template-columns:minmax(0,760px) 330px;gap:clamp(1.6rem,4vw,3rem);align-items:start;}
.local-page-v27__content{font-size:1.02rem;line-height:1.78;color:#292942;}
.local-page-v27__content h2{font-size:clamp(1.55rem,3vw,2.4rem)!important;line-height:1.14;color:#050538;margin:0 0 .85rem;}
.local-page-v27__content h3{font-size:clamp(1.25rem,2vw,1.7rem)!important;color:#050538;margin:1.6rem 0 .65rem;}
.local-proof-card-v27{background:#f7f8fc;border:1px solid #e1e2ec;box-shadow:0 16px 42px rgba(4,4,51,.06);padding:1.35rem;position:sticky;top:110px;}
.local-proof-card-v27 h2{font-size:1.55rem!important;line-height:1.15;color:#050538;margin:.2rem 0 .9rem;}
@media (max-width: 980px){.local-page-v27__grid{grid-template-columns:1fr}.local-proof-card-v27{position:static;}}

/* ========================================================================== 
   v2.8 — footer hover stability, readable CTAs, cleaner systems emojis,
   local SEO internal linking
   ========================================================================== */
.site-footer{background:#050538!important;color:#ddddef!important;border-top:5px solid #e52127!important;}
.site-footer .footer-grid{border-bottom:0!important;box-shadow:none!important;}
.site-footer .footer-grid::before,.site-footer .footer-grid::after,.site-footer .footer-bottom::before,.site-footer .footer-bottom::after{display:none!important;content:none!important;}
.site-footer .footer-about p,.site-footer .footer-contact li,.site-footer .footer-contact span,.site-footer .footer-contact a:not(.btn),.site-footer .footer-links a,.site-footer .footer-legal a,.site-footer .footer-bottom{color:#d6d6ea!important;}
.site-footer .footer-links a,.site-footer .footer-contact a:not(.btn),.site-footer .footer-legal a{padding-left:0!important;transform:none!important;transition:color .16s ease!important;will-change:auto!important;}
.site-footer .footer-links a:hover,.site-footer .footer-contact a:not(.btn):hover,.site-footer .footer-legal a:hover{color:#fff!important;padding-left:0!important;transform:none!important;letter-spacing:inherit!important;}
.site-footer .footer-brand img{width:auto!important;height:auto!important;max-width:185px!important;max-height:82px!important;object-fit:contain!important;aspect-ratio:auto!important;}
.site-footer .footer-bottom{margin-top:2.2rem!important;padding-top:0!important;border-top:0!important;}
.site-footer .footer-contact-link,.site-footer .btn,.site-footer .btn--primary{color:#fff!important;background:#e52127!important;border-color:#e52127!important;}
.site-footer .footer-contact-link:hover,.site-footer .btn:hover,.site-footer .btn--primary:hover{color:#fff!important;background:#c9151b!important;border-color:#c9151b!important;}

.btn,.btn:visited,.btn--primary,.btn--primary:visited,.btn--ghost,.btn--ghost:visited{color:#fff!important;text-decoration:none!important;}
.btn--primary,.btn--primary:visited{background:#e52127!important;border-color:#e52127!important;color:#fff!important;}
.btn--primary:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;}
.btn--ghost,.btn--ghost:visited{background:rgba(5,5,56,.08)!important;border-color:rgba(5,5,56,.25)!important;color:#050538!important;}
.page-hero .btn--ghost,.local-hero-v27 .btn--ghost,.systems-page-hero-v27 .btn--ghost,.hero .btn--ghost,.hero-v27 .btn--ghost{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.42)!important;color:#fff!important;}
.page-hero .btn--ghost:hover,.local-hero-v27 .btn--ghost:hover,.systems-page-hero-v27 .btn--ghost:hover,.hero .btn--ghost:hover,.hero-v27 .btn--ghost:hover{background:#fff!important;color:#050538!important;}

/* Systems page: keep emoji-led design but remove the harsh red square/circle. */
.systems-page-v27{background:#f7f8fc!important;}
.system-card-v27{background:#fff!important;border:1px solid #e0e1eb!important;box-shadow:0 14px 34px rgba(4,4,51,.055)!important;}
.system-card-v27:hover{transform:translateY(-3px)!important;border-color:rgba(229,33,39,.32)!important;box-shadow:0 20px 48px rgba(4,4,51,.09)!important;}
.system-card-v27__emoji,.systems-group-v27__emoji,.system-modal-v24__emoji{background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;width:auto!important;height:auto!important;display:block!important;font-size:2rem!important;line-height:1!important;margin:0 0 .75rem!important;}
.systems-group-v27__emoji{font-size:2.4rem!important;margin:.1rem .9rem 0 0!important;}
.system-card-v27__kicker{color:#b7151d!important;}
.system-card-v27 strong{color:#050538!important;}
.system-card-v27__copy{color:#505168!important;}
.system-card-v27__more{color:#b7151d!important;}
.system-modal-v24__emoji{font-size:2.5rem!important;margin-bottom:.8rem!important;}

/* Local SEO pages: visible internal links to the core service page. */
.local-service-link-v28{margin:1.8rem 0 0;padding:1.25rem 1.35rem;background:#f7f8fc;border:1px solid #e0e1eb;border-left:4px solid #e52127;box-shadow:0 14px 36px rgba(4,4,51,.055);}
.local-service-link-v28 strong{display:block;font-family:var(--indigo-head-font,Inter,sans-serif);font-size:1.12rem;color:#050538;margin:0 0 .4rem;}
.local-service-link-v28 p{margin:0 0 .65rem!important;color:#55566d!important;line-height:1.62!important;}
.text-link{display:inline-flex;align-items:center;gap:.35rem;color:#b7151d!important;font-weight:850;text-decoration:none!important;}
.text-link:hover{color:#e52127!important;text-decoration:underline!important;text-underline-offset:3px;}
.local-service-card-v25 a,.areas-keywords-v26__grid a{margin-top:.7rem;}

@media (max-width: 780px){
  .site-footer{text-align:left!important;}
  .site-footer .footer-grid{gap:1.8rem!important;}
  .system-card-v27{min-height:auto!important;}
  .systems-group-v27__head{align-items:flex-start!important;}
  .systems-group-v27__emoji{font-size:2rem!important;margin-right:.6rem!important;}
}

/* ========================================================================== 
   v2.9 — CTA, footer, blog and client-logo QA pass
   ========================================================================== */

/* Client logo strip: use colour logos and align the heading dash correctly. */
.bg-lavender .logo-strip .logo-img,
.section--tight.bg-lavender .logo-img{
  filter:none!important;
  opacity:1!important;
  background:#fff!important;
  border:1px solid #dddfea!important;
  box-shadow:0 10px 28px rgba(4,4,51,.045)!important;
}
.bg-lavender .logo-strip .logo-img img,
.section--tight.bg-lavender .logo-img img{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.section--tight.bg-lavender > .container > .eyebrow.text-center{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 1.7rem!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:.65rem!important;
  line-height:1.1!important;
}
.section--tight.bg-lavender > .container > .eyebrow.text-center::before{
  flex:0 0 48px!important;
  width:48px!important;
  height:3px!important;
  transform:none!important;
  margin:0!important;
}

/* Footer: remove line duplication, stop hover jitter, fix contrast and logo ratio. */
.site-footer,
.site-footer *{
  -webkit-font-smoothing:antialiased;
}
.site-footer{background:#050538!important;color:#e5e5f4!important;border-top:5px solid #e52127!important;overflow:hidden!important;}
.site-footer::before,.site-footer::after,
.site-footer .footer-grid::before,.site-footer .footer-grid::after,
.site-footer .footer-bottom::before,.site-footer .footer-bottom::after{
  display:none!important;content:none!important;border:0!important;box-shadow:none!important;
}
.site-footer .footer-grid{border-bottom:1px solid rgba(255,255,255,.11)!important;box-shadow:none!important;padding-bottom:2.2rem!important;}
.site-footer .footer-bottom{border:0!important;box-shadow:none!important;margin-top:1.45rem!important;padding-top:0!important;color:#dcdcf0!important;}
.site-footer .footer-brand{display:inline-flex!important;width:auto!important;height:auto!important;max-width:210px!important;line-height:0!important;overflow:visible!important;}
.site-footer .footer-brand img{
  display:block!important;
  width:185px!important;
  height:auto!important;
  max-width:185px!important;
  max-height:none!important;
  object-fit:contain!important;
  aspect-ratio:360/167!important;
}
.site-footer h4{color:#fff!important;}
.site-footer .footer-about p,
.site-footer .footer-contact li,
.site-footer .footer-contact span,
.site-footer .footer-contact a:not(.btn):not(.footer-contact-link),
.site-footer .footer-links a,
.site-footer .footer-legal a,
.site-footer .footer-bottom{color:#dadaee!important;}
.site-footer .footer-links a,
.site-footer .footer-contact a:not(.btn):not(.footer-contact-link),
.site-footer .footer-legal a{
  display:inline!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  transition:color .16s ease!important;
  will-change:auto!important;
  line-height:1.55!important;
}
.site-footer .footer-links a:hover,
.site-footer .footer-contact a:not(.btn):not(.footer-contact-link):hover,
.site-footer .footer-legal a:hover{
  color:#fff!important;
  transform:none!important;
  padding:0!important;
  margin:0!important;
  text-decoration:none!important;
}
.site-footer .footer-contact-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  min-height:52px!important;
  line-height:1!important;
  box-sizing:border-box!important;
  background:#e52127!important;
  color:#fff!important;
  border:2px solid #e52127!important;
  border-bottom:2px solid #e52127!important;
  padding:1rem 1.35rem!important;
  margin-top:.65rem!important;
  font-family:var(--font-head)!important;
  font-size:.86rem!important;
  font-weight:850!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  transform:none!important;
  box-shadow:none!important;
}
.site-footer .footer-contact-link span{color:#fff!important;line-height:1!important;}
.site-footer .footer-contact-link:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;transform:none!important;box-shadow:none!important;}

/* CTA audit: force readable text on all red/dark CTA variants, including spans/icons. */
.btn--primary,.btn--primary:link,.btn--primary:visited,
button.btn--primary,input[type="submit"],.wpcf7-submit,
.cta-band .btn--primary,.hero__actions .btn--primary,
.footer-contact-link,.post-inline-cta .btn,.local-proof-card-v27 .btn{
  background:#e52127!important;
  border-color:#e52127!important;
  color:#fff!important;
  text-shadow:none!important;
}
.btn--primary *,.btn--primary svg,.btn--primary path,
.footer-contact-link *,.footer-contact-link svg,.footer-contact-link path,
.post-inline-cta .btn *,.local-proof-card-v27 .btn *{
  color:#fff!important;
  stroke:currentColor!important;
}
.btn--primary:hover,button.btn--primary:hover,input[type="submit"]:hover,.wpcf7-submit:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;}
.bg-navy .btn--ghost,.page-hero .btn--ghost,.hero .btn--ghost,.local-hero-v27 .btn--ghost,.systems-page-hero-v27 .btn--ghost{
  color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
  background:rgba(255,255,255,.08)!important;
}
.bg-navy .btn--ghost:hover,.page-hero .btn--ghost:hover,.hero .btn--ghost:hover,.local-hero-v27 .btn--ghost:hover,.systems-page-hero-v27 .btn--ghost:hover{
  background:#fff!important;
  color:#050538!important;
  border-color:#fff!important;
}

/* Blog: make posts readable immediately, not giant dark landing pages. */
.single-post .page-hero{min-height:0!important;padding:2.4rem 0 2.1rem!important;background:#050538!important;}
.single-post .page-hero h1{color:#fff!important;font-size:clamp(1.9rem,4vw,3.2rem)!important;line-height:1.08!important;max-width:880px!important;}
.single-post .page-hero p{color:#f0f0fb!important;}
.post-readable-header{padding:clamp(1.65rem,3.5vw,2.8rem) 0 1.2rem!important;background:#fff!important;}
.post-readable-header h1{font-size:clamp(1.85rem,3.8vw,3.45rem)!important;line-height:1.08!important;max-width:880px!important;color:#050538!important;}
.blog-single-section{padding-top:clamp(1.6rem,3vw,2.8rem)!important;}
.single-content{font-size:1.03rem!important;line-height:1.78!important;}
.sidebar .widget,.single-post .widget,.blog .widget,.archive .widget{
  background:#fff!important;
  border:1px solid #e0e1eb!important;
  box-shadow:0 12px 32px rgba(4,4,51,.055)!important;
  padding:1.1rem!important;
  color:#050538!important;
}
.sidebar .widget-title,.sidebar .widget h2,.sidebar .wp-block-heading,.single-post .widget-title,.blog .widget-title,.archive .widget-title{
  font-size:.82rem!important;
  line-height:1.25!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#050538!important;
  margin:0 0 .75rem!important;
  padding:0 0 .6rem!important;
  border-bottom:1px solid #e8e9f2!important;
}
.sidebar .wp-block-latest-comments__comment,
.sidebar .wp-block-latest-comments li,
.sidebar .wp-block-latest-posts li,
.sidebar .widget li{
  font-size:.92rem!important;
  line-height:1.45!important;
  color:#55566d!important;
  padding:.6rem 0!important;
}
.sidebar .wp-block-latest-comments__comment-link,
.sidebar .wp-block-latest-comments__comment-author,
.sidebar .wp-block-latest-posts__post-title,
.sidebar .widget a{
  color:#050538!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.sidebar .widget a:hover{color:#e52127!important;}

@media (max-width: 760px){
  .section--tight.bg-lavender > .container > .eyebrow.text-center{width:100%!important;font-size:.68rem!important;letter-spacing:.15em!important;}
  .section--tight.bg-lavender > .container > .eyebrow.text-center::before{flex-basis:30px!important;width:30px!important;}
  .site-footer .footer-brand img{width:158px!important;max-width:158px!important;}
  .site-footer .footer-contact-link{width:100%!important;white-space:normal!important;text-align:center!important;}
}

/* ========================================================================== 
   v3.0 — final CTA/search/footer/areas QA pass
   ========================================================================== */

/* Footer: no divider lines, no hover jitter, no cut-off CTA. */
.site-footer{background:#050538!important;color:#eeeeff!important;border-top:5px solid #e52127!important;overflow:visible!important;}
.site-footer::before,.site-footer::after,
.site-footer .container-wide::before,.site-footer .container-wide::after,
.site-footer .footer-grid::before,.site-footer .footer-grid::after,
.site-footer .footer-bottom::before,.site-footer .footer-bottom::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}
.site-footer .footer-grid{border:0!important;border-bottom:0!important;box-shadow:none!important;padding-bottom:clamp(1.6rem,3vw,2.4rem)!important;}
.site-footer .footer-bottom{border:0!important;border-top:0!important;box-shadow:none!important;margin-top:0!important;padding-top:0!important;color:#e1e1f4!important;}
.site-footer .footer-brand{display:inline-flex!important;align-items:flex-start!important;width:auto!important;max-width:190px!important;overflow:visible!important;line-height:0!important;}
.site-footer .footer-brand img{display:block!important;width:auto!important;height:auto!important;max-width:185px!important;max-height:86px!important;object-fit:contain!important;aspect-ratio:auto!important;}
.site-footer .footer-about p,.site-footer .footer-contact li,.site-footer .footer-contact span,.site-footer .footer-contact a:not(.footer-contact-link),.site-footer .footer-links a,.site-footer .footer-legal a,.site-footer .footer-bottom{color:#e1e1f2!important;}
.site-footer .footer-links a,.site-footer .footer-contact a:not(.footer-contact-link),.site-footer .footer-legal a{display:inline!important;padding:0!important;margin:0!important;transform:none!important;letter-spacing:normal!important;text-decoration:none!important;transition:color .15s ease!important;}
.site-footer .footer-links a:hover,.site-footer .footer-contact a:not(.footer-contact-link):hover,.site-footer .footer-legal a:hover{color:#fff!important;transform:none!important;padding:0!important;margin:0!important;letter-spacing:normal!important;}
.site-footer .footer-contact-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.55rem!important;min-width:0!important;width:auto!important;max-width:100%!important;min-height:48px!important;height:auto!important;line-height:1!important;overflow:visible!important;white-space:nowrap!important;text-align:center!important;background:#e52127!important;color:#fff!important;border:2px solid #e52127!important;border-radius:0!important;padding:.9rem 1.05rem!important;margin-top:.75rem!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.07em!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;}
.site-footer .footer-contact-link span{display:inline-block!important;color:#fff!important;line-height:1!important;transform:none!important;}
.site-footer .footer-contact-link:hover,.site-footer .footer-contact-link:focus{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;transform:none!important;box-shadow:none!important;outline:2px solid rgba(255,255,255,.35)!important;outline-offset:3px!important;}

/* CTA buttons: eliminate white boxes / dark inherited text anywhere on the site. */
.btn,.btn:link,.btn:visited,.btn span,.btn svg,.btn path{ text-decoration:none!important; }
.btn--primary,.btn--primary:link,.btn--primary:visited,
button.btn--primary,input[type="submit"],.wpcf7-submit,
.cta-band .btn--light,.cta-band .btn--primary,
.footer-contact-link,.post-inline-cta .btn,.local-proof-card-v27 .btn{background:#e52127!important;border:2px solid #e52127!important;color:#fff!important;text-shadow:none!important;box-shadow:none!important;}
.btn--primary *,.btn--primary svg,.btn--primary path,
.cta-band .btn--light *,.cta-band .btn--light svg,.cta-band .btn--light path,
.cta-band .btn--primary *,.footer-contact-link *{color:#fff!important;stroke:currentColor!important;fill:none;}
.btn--primary:hover,.cta-band .btn--light:hover,.cta-band .btn--primary:hover,button.btn--primary:hover,input[type="submit"]:hover,.wpcf7-submit:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;transform:none!important;box-shadow:none!important;}
.cta-band .btn--outline-light{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.62)!important;}
.cta-band .btn--outline-light *,.cta-band .btn--outline-light svg,.cta-band .btn--outline-light path{color:#fff!important;stroke:currentColor!important;}
.cta-band .btn--outline-light:hover{background:#fff!important;color:#050538!important;border-color:#fff!important;transform:none!important;box-shadow:none!important;}
.cta-band .btn--outline-light:hover *,.cta-band .btn--outline-light:hover svg,.cta-band .btn--outline-light:hover path{color:#050538!important;stroke:currentColor!important;}
.cta-band__actions .btn{min-width:210px!important;justify-content:center!important;}

/* Blog/search widgets: make the search box properly sized and readable. */
.indigo-search-form,.search-form,.wp-block-search{width:100%!important;max-width:100%!important;margin:0!important;}
.indigo-search-form__inner,.search-form > div,.wp-block-search__inside-wrapper{display:flex!important;align-items:stretch!important;gap:.6rem!important;width:100%!important;}
.indigo-search-form .search-field,.search-form input[type="search"],.wp-block-search__input{flex:1 1 auto!important;min-width:0!important;width:100%!important;min-height:48px!important;height:48px!important;margin:0!important;padding:.82rem .95rem!important;border:1px solid #dfe1ec!important;background:#fff!important;color:#050538!important;font-size:.96rem!important;line-height:1.2!important;border-radius:0!important;box-shadow:none!important;}
.indigo-search-form .search-submit,.search-form .search-submit,.wp-block-search__button{flex:0 0 auto!important;min-height:48px!important;height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.82rem 1rem!important;margin:0!important;background:#e52127!important;color:#fff!important;border:2px solid #e52127!important;font-size:.82rem!important;font-weight:900!important;letter-spacing:.04em!important;border-radius:0!important;white-space:nowrap!important;}
.indigo-search-form .search-submit:hover,.search-form .search-submit:hover,.wp-block-search__button:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;}
.sidebar .widget,.single-post .widget{overflow:hidden!important;}
.sidebar .wp-block-search__label{font-size:.82rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#050538!important;font-weight:900!important;margin:0 0 .75rem!important;display:block!important;}

/* Areas/SEO cards: equal height, consistent link position, all cards line up. */
.local-service-grid-v25,.areas-keywords-v26__grid{align-items:stretch!important;}
.local-service-card-v25,.areas-keywords-v26__grid article{display:flex!important;flex-direction:column!important;height:100%!important;min-height:230px!important;padding:1.35rem!important;}
.local-service-card-v25 h3,.areas-keywords-v26__grid h3{margin:0 0 .65rem!important;min-height:2.7em!important;}
.local-service-card-v25 p,.areas-keywords-v26__grid p{margin:0 0 1.1rem!important;line-height:1.62!important;}
.local-service-card-v25 a,.areas-keywords-v26__grid a,.areas-keywords-v26__grid .text-link{margin-top:auto!important;display:inline-flex!important;align-items:center!important;gap:.35rem!important;align-self:flex-start!important;color:#b7151d!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:.78rem!important;text-decoration:none!important;line-height:1.2!important;}
.local-service-card-v25 a:hover,.areas-keywords-v26__grid a:hover{color:#e52127!important;text-decoration:underline!important;text-underline-offset:3px!important;}

/* Client logo heading: align dash with label and keep colour logo assets if available. */
.section--tight.bg-lavender > .container > .eyebrow.text-center{display:flex!important;align-items:center!important;justify-content:center!important;gap:.6rem!important;line-height:1!important;}
.section--tight.bg-lavender > .container > .eyebrow.text-center::before{position:static!important;display:block!important;flex:0 0 48px!important;width:48px!important;height:3px!important;margin:0!important;transform:none!important;}
.logo-strip .logo-img img,.client-logo-strip img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important;}

@media (max-width: 900px){
  .site-footer .footer-grid{grid-template-columns:1fr 1fr!important;}
  .site-footer .footer-contact-link{white-space:normal!important;width:auto!important;}
}
@media (max-width: 640px){
  .site-footer .footer-grid{grid-template-columns:1fr!important;}
  .site-footer .footer-contact-link{width:100%!important;}
  .indigo-search-form__inner,.search-form > div,.wp-block-search__inside-wrapper{flex-direction:column!important;}
  .indigo-search-form .search-submit,.search-form .search-submit,.wp-block-search__button{width:100%!important;}
  .local-service-card-v25,.areas-keywords-v26__grid article{min-height:0!important;}
  .local-service-card-v25 h3,.areas-keywords-v26__grid h3{min-height:0!important;}
}

/* -------------------------------------------------------------------------
   v3.1 final CTA/footer/blog/local SEO polish
   ------------------------------------------------------------------------- */
:root{--indigo-footer-text:#f1f1ff;--indigo-footer-muted:#d7d7ed;}
.site-footer{background:#050538!important;color:var(--indigo-footer-text)!important;border-top:5px solid #e52127!important;box-shadow:none!important;overflow:hidden!important;}
.site-footer::before,.site-footer::after,.site-footer .container-wide::before,.site-footer .container-wide::after,.site-footer .footer-grid::before,.site-footer .footer-grid::after,.site-footer .footer-bottom::before,.site-footer .footer-bottom::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}
.site-footer .footer-grid{border:0!important;border-bottom:0!important;box-shadow:none!important;padding-bottom:clamp(1.25rem,2.5vw,2rem)!important;align-items:flex-start!important;}
.site-footer .footer-bottom{border:0!important;border-top:0!important;box-shadow:none!important;margin-top:.6rem!important;padding-top:0!important;color:var(--indigo-footer-muted)!important;}
.site-footer .footer-brand{display:inline-block!important;width:auto!important;max-width:190px!important;line-height:0!important;overflow:visible!important;}
.site-footer .footer-brand img{display:block!important;width:auto!important;max-width:185px!important;height:auto!important;max-height:88px!important;object-fit:contain!important;aspect-ratio:auto!important;}
.site-footer h4{color:#fff!important;line-height:1.2!important;}
.site-footer .footer-about p,.site-footer .footer-contact li,.site-footer .footer-contact span,.site-footer .footer-contact a:not(.footer-contact-link),.site-footer .footer-links a,.site-footer .footer-legal a{color:var(--indigo-footer-muted)!important;}
.site-footer .footer-links a,.site-footer .footer-contact a:not(.footer-contact-link),.site-footer .footer-legal a{display:inline!important;padding:0!important;margin:0!important;transform:none!important;transition:color .16s ease!important;letter-spacing:normal!important;text-decoration:none!important;background:transparent!important;border:0!important;}
.site-footer .footer-links a:hover,.site-footer .footer-contact a:not(.footer-contact-link):hover,.site-footer .footer-legal a:hover{color:#fff!important;transform:none!important;padding:0!important;margin:0!important;text-decoration:none!important;background:transparent!important;}
.site-footer .footer-contact-link,
.site-footer .footer-contact-link:link,
.site-footer .footer-contact-link:visited{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;max-width:220px!important;min-width:190px!important;min-height:50px!important;height:50px!important;
  padding:0 1.1rem!important;margin-top:.9rem!important;overflow:hidden!important;white-space:nowrap!important;
  background:#e52127!important;border:2px solid #e52127!important;border-radius:0!important;color:#fff!important;
  font-size:.82rem!important;font-weight:900!important;line-height:1!important;letter-spacing:.075em!important;text-transform:uppercase!important;text-decoration:none!important;
  text-align:center!important;box-shadow:none!important;transform:none!important;transition:background .16s ease,border-color .16s ease!important;
}
.site-footer .footer-contact-link:hover,.site-footer .footer-contact-link:focus{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;transform:none!important;box-shadow:none!important;outline:2px solid rgba(255,255,255,.38)!important;outline-offset:3px!important;}
.site-footer .footer-contact-link *{color:#fff!important;fill:currentColor!important;stroke:currentColor!important;}
@media (max-width:720px){.site-footer .footer-contact-link{width:100%!important;max-width:100%!important;}.site-footer .footer-brand img{max-width:160px!important;}}

/* CTA button reset across every template */
.btn--primary,.btn--primary:link,.btn--primary:visited,.cta-primary-link,.cta-primary-link:link,.cta-primary-link:visited,
.cta-band__actions .btn--primary,.cta-band__actions .btn--light,.post-inline-cta .btn,.local-proof-card-v27 .btn,
button.btn--primary,input[type="submit"],.search-submit,.wpcf7-submit{
  background:#e52127!important;border:2px solid #e52127!important;color:#fff!important;text-shadow:none!important;box-shadow:none!important;
}
.btn--primary *,.cta-primary-link *,.cta-band__actions .btn--primary *,.cta-band__actions .btn--light *,.post-inline-cta .btn *,.local-proof-card-v27 .btn *,button.btn--primary *,input[type="submit"] *, .search-submit *{color:#fff!important;stroke:currentColor!important;fill:none!important;}
.btn--primary:hover,.cta-primary-link:hover,.cta-band__actions .btn--primary:hover,.cta-band__actions .btn--light:hover,.post-inline-cta .btn:hover,.local-proof-card-v27 .btn:hover,button.btn--primary:hover,input[type="submit"]:hover,.search-submit:hover,.wpcf7-submit:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;transform:none!important;box-shadow:none!important;}
.cta-band__actions .btn{min-width:210px!important;min-height:54px!important;justify-content:center!important;line-height:1!important;}
.cta-band__actions .btn--outline-light{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.65)!important;}
.cta-band__actions .btn--outline-light:hover{background:#fff!important;color:#050538!important;border-color:#fff!important;}

/* Blog/search readability reset */
.widget_search .indigo-search-form,.sidebar .indigo-search-form{width:100%!important;}
.indigo-search-form__inner{display:flex!important;align-items:stretch!important;gap:.65rem!important;width:100%!important;}
.indigo-search-form input[type="search"],.indigo-search-form .search-field{flex:1 1 auto!important;min-width:0!important;width:100%!important;height:54px!important;padding:0 1rem!important;border:2px solid #dfe1ef!important;background:#fff!important;color:#050538!important;font-size:1rem!important;line-height:1!important;box-shadow:none!important;}
.indigo-search-form .search-submit{flex:0 0 auto!important;height:54px!important;min-width:118px!important;padding:0 1.2rem!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:.95rem!important;line-height:1!important;}
.sidebar .widget,.widget{overflow:visible!important;}
.sidebar .widget h2,.sidebar .widget-title,.wp-block-heading{font-size:clamp(1.05rem,1.4vw,1.35rem)!important;line-height:1.2!important;margin:0 0 1rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
.sidebar .widget_recent_entries li,.sidebar .widget_recent_comments li{font-size:1rem!important;line-height:1.45!important;}
@media (max-width:560px){.indigo-search-form__inner{flex-direction:column!important}.indigo-search-form .search-submit{width:100%!important}}

/* Areas/local SEO cards: uniform and non-spammy looking */
.local-service-grid-v25,.areas-keywords-v26__grid{align-items:stretch!important;}
.local-service-card-v25,.areas-keywords-v26__grid article{display:flex!important;flex-direction:column!important;height:100%!important;min-height:240px!important;}
.local-service-card-v25 p,.areas-keywords-v26__grid article p{flex:1 1 auto!important;}
.local-service-card-v25 a,.areas-keywords-v26__grid article a{margin-top:auto!important;align-self:flex-start!important;}
.areas-projects-push-v25 .btn{white-space:nowrap!important;}

/* Systems: keep the emoji treatment calm and premium */
.system-card-v27__emoji,.systems-group-v27__emoji{background:transparent!important;box-shadow:none!important;border:0!important;color:inherit!important;}
.system-card-v27{background:#fff!important;border:1px solid #e1e3f0!important;color:#050538!important;}
.system-card-v27:hover{transform:translateY(-4px)!important;box-shadow:0 18px 40px rgba(5,5,56,.12)!important;border-color:#c7c9dc!important;}
.system-card-v27__emoji{font-size:2.1rem!important;line-height:1!important;margin-bottom:.65rem!important;}
.system-card-v27 strong{color:#050538!important;}
.system-card-v27__copy{color:#55566b!important;}
.system-card-v27__standards{color:#e52127!important;}

/* Client logo strip heading alignment */
.client-logos .section-head .eyebrow,.client-strip .section-head .eyebrow,.logos-section .section-head .eyebrow{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.65rem!important;line-height:1!important;}
.client-logos .section-head .eyebrow::before,.client-strip .section-head .eyebrow::before,.logos-section .section-head .eyebrow::before{height:4px!important;align-self:center!important;transform:none!important;}


/* -------------------------------------------------------------------------
   v3.2 CTA, footer and blog-search hard reset
   ------------------------------------------------------------------------- */
html body a.btn,
html body button.btn,
html body input[type="submit"],
html body .wpcf7-submit,
html body .search-submit,
html body .footer-contact-link{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  min-height:52px!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  border-radius:0!important;
  transform:none!important;
  box-shadow:none!important;
}
html body .btn--primary,
html body .btn--primary:link,
html body .btn--primary:visited,
html body .cta-band .btn--primary,
html body .cta-band .btn--light,
html body .local-proof-actions__contact,
html body .footer-contact-link,
html body input[type="submit"],
html body .wpcf7-submit,
html body .search-submit{
  background:#e52127!important;
  border:2px solid #e52127!important;
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
  text-shadow:none!important;
}
html body .btn--primary *,
html body .cta-band .btn--primary *,
html body .cta-band .btn--light *,
html body .local-proof-actions__contact *,
html body .footer-contact-link *,
html body input[type="submit"] *,
html body .wpcf7-submit *,
html body .search-submit *{
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}
html body .btn--primary:hover,
html body .cta-band .btn--primary:hover,
html body .cta-band .btn--light:hover,
html body .local-proof-actions__contact:hover,
html body .footer-contact-link:hover,
html body input[type="submit"]:hover,
html body .wpcf7-submit:hover,
html body .search-submit:hover{
  background:#c9151b!important;
  border-color:#c9151b!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Footer CTA: compact, centred, not clipped, no inherited arrow/line weirdness. */
html body .site-footer .footer-contact-link,
html body .site-footer .footer-contact-link:link,
html body .site-footer .footer-contact-link:visited{
  width:auto!important;
  max-width:none!important;
  min-width:176px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 1.05rem!important;
  margin-top:1rem!important;
  font-size:.76rem!important;
  letter-spacing:.07em!important;
  font-weight:900!important;
  color:#fff!important;
  background:#e52127!important;
  border:2px solid #e52127!important;
  text-transform:uppercase!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
html body .site-footer .footer-contact-link::before,
html body .site-footer .footer-contact-link::after{display:none!important;content:none!important;}
html body .site-footer .footer-contact-link:hover,
html body .site-footer .footer-contact-link:focus{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;outline:none!important;}
html body .site-footer .footer-contact-link span{color:#fff!important;line-height:1!important;}
html body .site-footer .footer-contact{min-width:0!important;}
html body .site-footer .footer-contact li{align-items:flex-start!important;}
html body .site-footer .footer-bottom{border:0!important;border-top:0!important;box-shadow:none!important;}

/* Local SEO sidebar CTA card: make buttons intentional, evenly spaced and readable. */
html body .local-proof-card-v27{color:#050538!important;}
html body .local-proof-card-v27 h2{color:#050538!important;}
html body .local-proof-card-v27 .check-list li{color:#11113c!important;}
html body .local-proof-actions{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;margin-top:1.25rem!important;}
html body .local-proof-actions .btn{width:100%!important;min-height:54px!important;height:54px!important;margin:0!important;padding:0 1rem!important;font-size:.88rem!important;letter-spacing:.07em!important;line-height:1!important;white-space:normal!important;text-align:center!important;}
html body .local-proof-actions__service{background:#050538!important;border:2px solid #050538!important;color:#fff!important;}
html body .local-proof-actions__service:hover{background:#111169!important;border-color:#111169!important;color:#fff!important;}
html body .local-proof-actions__contact{background:#e52127!important;border-color:#e52127!important;color:#fff!important;}

/* Blog search widget: fix tiny input / huge awkward button issue for both classic and block widgets. */
html body .sidebar .widget_search,
html body .sidebar .widget_block:has(.wp-block-search){padding:1.15rem!important;}
html body .widget_search .search-form,
html body .sidebar .search-form,
html body .sidebar .wp-block-search{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
html body .widget_search .screen-reader-text,
html body .sidebar .search-form > label.screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
html body .widget_search .indigo-search-form__inner,
html body .sidebar .search-form .indigo-search-form__inner,
html body .sidebar .wp-block-search__inside-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 116px!important;
  align-items:stretch!important;
  gap:.65rem!important;
  width:100%!important;
}
html body .sidebar .search-form > label:not(.screen-reader-text){display:block!important;width:100%!important;min-width:0!important;}
html body .sidebar .search-field,
html body .sidebar input[type="search"],
html body .sidebar .wp-block-search__input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:52px!important;
  min-height:52px!important;
  padding:0 .95rem!important;
  border:2px solid #dfe1ef!important;
  background:#fff!important;
  color:#050538!important;
  font-size:1rem!important;
  line-height:1!important;
  box-sizing:border-box!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body .sidebar .search-submit,
html body .sidebar .wp-block-search__button,
html body .sidebar .wp-element-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:116px!important;
  min-width:116px!important;
  max-width:116px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0 .8rem!important;
  margin:0!important;
  background:#e52127!important;
  border:2px solid #e52127!important;
  color:#fff!important;
  font-size:.92rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  line-height:1!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
html body .sidebar .wp-block-search__label{
  display:block!important;
  margin:0 0 .65rem!important;
  font-size:.86rem!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#050538!important;
  font-weight:900!important;
}
@media (max-width:560px){
  html body .widget_search .indigo-search-form__inner,
  html body .sidebar .search-form .indigo-search-form__inner,
  html body .sidebar .wp-block-search__inside-wrapper{grid-template-columns:1fr!important;}
  html body .sidebar .search-submit,
  html body .sidebar .wp-block-search__button,
  html body .sidebar .wp-element-button{width:100%!important;max-width:100%!important;}
}

/* -------------------------------------------------------------------------
   v3.3 Search visibility safety patch
   -------------------------------------------------------------------------
   Search is only intended for the blog/sidebar/search results/404 context.
   This prevents any orphaned Search submit button from appearing in the
   header/top-right area when WordPress widgets or block markup are injected.
*/
html body .site-header .search-form,
html body .site-header .wp-block-search,
html body .site-header .search-submit,
html body .header-inner .search-form,
html body .header-inner .wp-block-search,
html body .header-inner .search-submit,
html body .header-cta .search-form,
html body .header-cta .wp-block-search,
html body .header-cta .search-submit,
html body .main-nav .search-form,
html body .main-nav .wp-block-search,
html body .main-nav .search-submit{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Keep search styling scoped to actual search areas, not the global header. */
html body:not(.blog):not(.archive):not(.search):not(.single-post):not(.error404) main > .search-form,
html body:not(.blog):not(.archive):not(.search):not(.single-post):not(.error404) main > .wp-block-search{
  display:none!important;
}

/* If a naked Search button gets output by a plugin/widget, do not let it float alone. */
html body > .search-submit,
html body > .wp-block-search__button{
  display:none!important;
}

/* -------------------------------------------------------------------------
   v3.4 final header-search, footer contrast and project hero polish
   ------------------------------------------------------------------------- */
/* Kill the orphan red Search button that can be injected into the top-right/header.
   Search remains allowed in the blog sidebar and real search/404 pages only. */
html body .site-header input[type="submit"][value="Search"],
html body .site-header button.search-submit,
html body .site-header .search-submit,
html body .header-inner input[type="submit"][value="Search"],
html body .header-inner button.search-submit,
html body .header-inner .search-submit,
html body .header-cta input[type="submit"][value="Search"],
html body .header-cta button.search-submit,
html body .header-cta .search-submit,
html body .main-nav input[type="submit"][value="Search"],
html body .main-nav button.search-submit,
html body .main-nav .search-submit{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* If a standalone Search button is injected outside the main content/sidebar, hide it. */
html body > input[type="submit"][value="Search"],
html body > button.search-submit,
html body > .search-submit,
html body .site-header ~ input[type="submit"][value="Search"],
html body .site-header ~ button.search-submit,
html body .site-header ~ .search-submit{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Re-allow search controls only where we actually want them. */
html body .sidebar .search-submit,
html body .sidebar input[type="submit"][value="Search"],
html body .sidebar .wp-block-search__button,
html body.search .site-main .search-submit,
html body.error404 .site-main .search-submit{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Footer readability and stable, non-jumpy links. */
html body .site-footer,
html body .site-footer p,
html body .site-footer li,
html body .site-footer span{
  color:#d7d8ef!important;
}
html body .site-footer a,
html body .footer-links a,
html body .footer-contact a,
html body .footer-legal a{
  color:#f1f2ff!important;
  transform:none!important;
  transition:color .18s ease, opacity .18s ease!important;
}
html body .site-footer a:hover,
html body .footer-links a:hover,
html body .footer-contact a:hover,
html body .footer-legal a:hover{
  color:#ffffff!important;
  opacity:1!important;
  transform:none!important;
  padding-left:0!important;
}
html body .site-footer h4{color:#ffffff!important;}
html body .footer-contact svg{color:#ff343a!important;stroke:#ff343a!important;}
html body .footer-contact-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 1.25rem!important;
  line-height:1!important;
  white-space:nowrap!important;
  color:#fff!important;
  background:#e52127!important;
  border:2px solid #e52127!important;
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-sizing:border-box!important;
}
html body .footer-contact-link:hover{background:#c9151b!important;border-color:#c9151b!important;color:#fff!important;}

/* Project heroes: keep the image visible; remove the overly heavy black/maroon wash. */
html body.single-project .page-hero__bg img{
  opacity:.74!important;
  filter:saturate(1.02) contrast(1.02)!important;
}
html body.single-project .page-hero::after{
  background:linear-gradient(105deg,rgba(4,4,51,.68) 0%,rgba(4,4,51,.44) 56%,rgba(158,23,27,.22) 100%)!important;
}
html body.single-project .page-hero h1,
html body.single-project .page-hero .breadcrumbs,
html body.single-project .page-hero .eyebrow,
html body.single-project .post-meta-bar{
  text-shadow:0 2px 16px rgba(0,0,0,.46)!important;
}

/* v4.1 surgical fixes: accreditation backgrounds + footer CTA hover stability */
/* Accreditation strips: no artificial white tiles/backgrounds. Keep logos on the section background. */
html body .proof-strip-section .logo-img,
html body .proof-strip-section .logo-strip .logo-img,
html body .proof-strip-section .acc-strip .logo-img,
html body .proof-strip-section .acc-strip--logos .logo-img,
html body .proof-strip-section .acc-strip--marquee .logo-img,
html body .bg-lavender .logo-strip .logo-img,
html body .section--tight.bg-lavender .logo-img,
html body .accreditation-strip .logo-img,
html body .acc-strip .logo-img {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: 0 !important;
    filter: none !important;
    opacity: 1 !important;
}
html body .proof-strip-section .logo-img:hover,
html body .proof-strip-section .acc-strip--marquee .logo-img:hover,
html body .proof-strip-section .acc-strip--logos .logo-img:hover {
    transform: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
html body .proof-strip-section .logo-img img,
html body .proof-strip-section .acc-strip .logo-img img,
html body .proof-strip-section .acc-strip--marquee .logo-img img,
html body .proof-strip-section .acc-strip--logos .logo-img img {
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* Footer: stable links and CTA. No movement, no text shift, no width/height change on hover. */
html body .site-footer {
    color: #d6d7ee !important;
}
html body .site-footer p,
html body .site-footer li,
html body .site-footer span,
html body .site-footer .footer-contact span,
html body .site-footer .footer-contact a:not(.footer-contact-link),
html body .site-footer .footer-links a,
html body .site-footer .footer-legal a {
    color: #d6d7ee !important;
}
html body .site-footer .footer-links a,
html body .site-footer .footer-contact a:not(.footer-contact-link),
html body .site-footer .footer-legal a {
    transform: none !important;
    transition: color .16s ease !important;
}
html body .site-footer .footer-links a:hover,
html body .site-footer .footer-contact a:not(.footer-contact-link):hover,
html body .site-footer .footer-legal a:hover {
    color: #ffffff !important;
    transform: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
html body .site-footer .footer-contact-link,
html body .site-footer .footer-contact-link:link,
html body .site-footer .footer-contact-link:visited,
html body .site-footer a.footer-contact-link,
html body .site-footer a.footer-contact-link:link,
html body .site-footer a.footer-contact-link:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .55rem !important;
    min-height: 50px !important;
    height: 50px !important;
    width: auto !important;
    min-width: 210px !important;
    max-width: 100% !important;
    padding: 0 1.25rem !important;
    margin-top: .9rem !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    color: #ffffff !important;
    background: #e52127 !important;
    border: 2px solid #e52127 !important;
    border-radius: 0 !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: translate3d(0,0,0) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
html body .site-footer .footer-contact-link:hover,
html body .site-footer .footer-contact-link:focus,
html body .site-footer a.footer-contact-link:hover,
html body .site-footer a.footer-contact-link:focus {
    color: #ffffff !important;
    background: #c9151b !important;
    border-color: #c9151b !important;
    padding: 0 1.25rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 210px !important;
    height: 50px !important;
    min-height: 50px !important;
    transform: translate3d(0,0,0) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
html body .site-footer .footer-contact-link *,
html body .site-footer .footer-contact-link span,
html body .site-footer .footer-contact-link svg {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    transform: none !important;
    line-height: 1 !important;
}
html body .site-footer .footer-contact-link::before,
html body .site-footer .footer-contact-link::after {
    content: none !important;
    display: none !important;
}
@media (max-width: 720px) {
    html body .site-footer .footer-contact-link,
    html body .site-footer .footer-contact-link:hover,
    html body .site-footer .footer-contact-link:focus {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 1rem !important;
    }
}

/* ========================================================================== 
   v4.2 — footer CTA replacement + project filter anchor
   ========================================================================== */
/* New footer CTA class avoids historic .footer-contact-link cascade entirely. */
html body .site-footer .footer-action-button,
html body .site-footer a.footer-action-button,
html body .site-footer a.footer-action-button:link,
html body .site-footer a.footer-action-button:visited{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:260px!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 1.25rem!important;
    margin:1.35rem 0 0!important;
    box-sizing:border-box!important;
    background:#e52127!important;
    border:2px solid #e52127!important;
    color:#ffffff!important;
    font-family:var(--font-head)!important;
    font-size:.86rem!important;
    font-weight:900!important;
    letter-spacing:.075em!important;
    line-height:1!important;
    text-align:center!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    text-shadow:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease!important;
    overflow:hidden!important;
}
html body .site-footer .footer-action-button:hover,
html body .site-footer .footer-action-button:focus,
html body .site-footer a.footer-action-button:hover,
html body .site-footer a.footer-action-button:focus{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:260px!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 1.25rem!important;
    margin:1.35rem 0 0!important;
    background:#c9151b!important;
    border-color:#c9151b!important;
    color:#ffffff!important;
    line-height:1!important;
    text-align:center!important;
    text-decoration:none!important;
    transform:none!important;
    box-shadow:none!important;
    outline:2px solid rgba(255,255,255,.35)!important;
    outline-offset:3px!important;
}
html body .site-footer .footer-action-button::before,
html body .site-footer .footer-action-button::after{
    content:none!important;
    display:none!important;
}
html body .site-footer .footer-action-button *{
    color:#fff!important;
    transform:none!important;
    line-height:1!important;
}
@media (max-width:720px){
    html body .site-footer .footer-action-button,
    html body .site-footer .footer-action-button:hover,
    html body .site-footer .footer-action-button:focus{
        max-width:100%!important;
        width:100%!important;
    }
}
/* Make filter jumps land at the project controls, not the very top hero. */
html body #projects-list{scroll-margin-top:110px;}


/* ========================================================================== 
   v4.3 — footer CTA final reset
   Turn the footer CTA into a compact stable text link so it cannot jump, shrink,
   crop, stretch, or inherit old red-button rules.
   ========================================================================== */
html body .site-footer .footer-action-button,
html body .site-footer a.footer-action-button,
html body .site-footer a.footer-action-button:link,
html body .site-footer a.footer-action-button:visited,
html body .site-footer .footer-action-button:hover,
html body .site-footer .footer-action-button:focus,
html body .site-footer a.footer-action-button:hover,
html body .site-footer a.footer-action-button:focus{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:0 0 .28rem 0!important;
    margin:1.05rem 0 0!important;
    box-sizing:border-box!important;
    background:transparent!important;
    border:0!important;
    border-bottom:2px solid #e52127!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:none!important;
    transform:none!important;
    opacity:1!important;
    overflow:visible!important;
    color:#ffffff!important;
    font-family:var(--font-head)!important;
    font-size:.82rem!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    line-height:1.2!important;
    text-align:left!important;
    text-decoration:none!important;
    text-shadow:none!important;
    text-transform:uppercase!important;
    white-space:normal!important;
    transition:color .16s ease,border-color .16s ease!important;
}
html body .site-footer .footer-action-button:hover,
html body .site-footer .footer-action-button:focus,
html body .site-footer a.footer-action-button:hover,
html body .site-footer a.footer-action-button:focus{
    color:#ffffff!important;
    border-bottom-color:#ff3b40!important;
    background:transparent!important;
    transform:none!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    margin-right:0!important;
}
html body .site-footer .footer-action-button::before,
html body .site-footer .footer-action-button::after{
    content:none!important;
    display:none!important;
}
@media (max-width:720px){
    html body .site-footer .footer-action-button,
    html body .site-footer a.footer-action-button{
        width:auto!important;
        max-width:100%!important;
    }
}

/* -------------------------------------------------------------------------
   v4.5 header/nav QA polish
   ------------------------------------------------------------------------- */
.site-header,
.site-header *{
        box-sizing:border-box;
}
.site-header{
        width:100%;
}
.header-inner{
        min-height:82px;
        height:82px;
        gap:1.1rem;
}
.site-brand{
        flex:0 0 auto;
        display:flex;
        align-items:center;
        min-width:0;
}
.site-brand a,
.site-brand .custom-logo-link{
        display:flex;
        align-items:center;
        line-height:0;
}
.site-brand img,
.custom-logo{
        display:block;
        width:auto!important;
        height:auto!important;
        max-width:178px;
        max-height:58px;
        object-fit:contain;
}
.main-nav{
        flex:1 1 auto;
        min-width:0;
}
.main-nav .menu{
        justify-content:center;
        align-items:center;
        flex-wrap:nowrap;
}
.main-nav a{
        white-space:nowrap;
}
.header-cta{
        flex:0 0 auto;
        gap:1rem;
}
.header-cta .btn{
        flex:0 0 auto;
        white-space:nowrap;
}
.nav-toggle{
        flex:0 0 46px;
        width:46px;
        height:46px;
        border:1px solid rgba(4,4,51,.14);
        border-radius:999px;
        background:#fff;
        color:var(--navy);
        box-shadow:0 8px 22px -18px rgba(4,4,51,.45);
}
.nav-toggle:hover,
.nav-toggle:focus-visible{
        background:var(--navy);
        border-color:var(--navy);
        outline:none;
}
.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after{
        left:13px;
        width:20px;
        height:2px;
        border-radius:999px;
        background:var(--navy);
}
.nav-toggle span{top:22px;}
.nav-toggle span::before{top:-7px;}
.nav-toggle span::after{top:7px;}
.nav-toggle:hover span,
.nav-toggle:hover span::before,
.nav-toggle:hover span::after,
.nav-toggle:focus-visible span,
.nav-toggle:focus-visible span::before,
.nav-toggle:focus-visible span::after{
        background:#fff;
}
.nav-open .nav-toggle{
        background:var(--bright-red);
        border-color:var(--bright-red);
}
.nav-open .nav-toggle span{background:transparent!important;}
.nav-open .nav-toggle span::before,
.nav-open .nav-toggle span::after{background:#fff!important;}

@media(max-width:1180px){
        .header-inner{
                height:76px;
                min-height:76px;
        }
        .site-brand img,
        .custom-logo{
                max-width:158px;
                max-height:52px;
        }
        .nav-toggle{display:block;}
        .main-nav{
                position:fixed;
                left:0;
                right:0;
                top:76px;
                background:var(--navy);
                max-height:0;
                overflow:hidden;
                transition:max-height .32s ease, box-shadow .32s ease;
                box-shadow:none;
        }
        .nav-open .main-nav{
                max-height:calc(100vh - 76px);
                overflow-y:auto;
                box-shadow:0 24px 50px -34px rgba(0,0,0,.65);
                border-bottom:4px solid var(--bright-red);
        }
        .main-nav .menu{
                flex-direction:column;
                align-items:stretch;
                justify-content:flex-start;
                padding:1rem clamp(1rem,4vw,2rem) 1.25rem;
                gap:0;
        }
        .main-nav li{width:100%;}
        .main-nav a{
                display:flex;
                align-items:center;
                justify-content:space-between;
                width:100%;
                color:#fff;
                padding:1rem .25rem;
                border-bottom:1px solid rgba(255,255,255,.1);
                font-size:.98rem;
        }
        .main-nav a::after{display:none;}
        .main-nav a:hover,
        .main-nav .current-menu-item>a{
                color:#fff;
                background:transparent;
        }
        .main-nav .sub-menu{
                position:static;
                display:block;
                min-width:0;
                background:rgba(255,255,255,.04);
                box-shadow:none;
                padding:.25rem .75rem .5rem;
                margin:0 0 .35rem;
        }
        .main-nav .sub-menu a{
                color:#dfe1f3;
                padding:.75rem .5rem;
                font-size:.9rem;
                border-bottom:1px solid rgba(255,255,255,.06);
        }
        .main-nav .sub-menu a:hover{background:transparent;color:#fff;}
        .header-phone span{display:inline;}
        .header-cta .btn{display:none;}
}

@media(max-width:640px){
        .header-inner{
                height:70px;
                min-height:70px;
                gap:.75rem;
        }
        .site-brand img,
        .custom-logo{
                max-width:140px;
                max-height:46px;
        }
        .main-nav{top:70px;}
        .nav-open .main-nav{max-height:calc(100vh - 70px);}
        .header-phone{
                width:42px;
                height:42px;
                display:inline-flex;
                justify-content:center;
                border:1px solid rgba(4,4,51,.12);
                border-radius:999px;
                background:#fff;
        }
        .header-phone span{display:none;}
        .nav-toggle{
                width:42px;
                height:42px;
                flex-basis:42px;
        }
        .nav-toggle span,
        .nav-toggle span::before,
        .nav-toggle span::after{left:11px;}
        .nav-toggle span{top:20px;}
}


/* -------------------------------------------------------------------------
   v4.6 mobile/tablet navigation cleanup
   Fixes the oversized red-close / full-screen mobile nav treatment.
   ------------------------------------------------------------------------- */
@media (max-width:1180px){
    html body .site-header{
        background:#fff!important;
        border-bottom:1px solid rgba(4,4,51,.10)!important;
        box-shadow:0 10px 30px -28px rgba(4,4,51,.55)!important;
    }
    html body .header-inner{
        height:76px!important;
        min-height:76px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:.9rem!important;
    }
    html body .site-brand img,
    html body .custom-logo{
        max-width:158px!important;
        max-height:52px!important;
        width:auto!important;
        height:auto!important;
        object-fit:contain!important;
    }
    html body .header-cta{
        margin-left:auto!important;
        display:flex!important;
        align-items:center!important;
        gap:.65rem!important;
        flex:0 0 auto!important;
    }
    html body .header-cta > .btn,
    html body .header-cta > a.btn,
    html body .header-cta .btn--primary{
        display:none!important;
        visibility:hidden!important;
        width:0!important;
        height:0!important;
        padding:0!important;
        margin:0!important;
        overflow:hidden!important;
    }
    html body .header-phone{
        height:44px!important;
        min-width:44px!important;
        padding:0 .95rem!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:.55rem!important;
        border:1px solid rgba(4,4,51,.12)!important;
        border-radius:999px!important;
        background:#fff!important;
        color:var(--navy)!important;
        box-shadow:none!important;
        line-height:1!important;
    }
    html body .header-phone:hover{
        color:var(--bright-red)!important;
        transform:none!important;
    }
    html body .header-phone svg{
        width:18px!important;
        height:18px!important;
        color:var(--bright-red)!important;
        flex:0 0 auto!important;
    }
    html body .nav-toggle{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex:0 0 44px!important;
        width:44px!important;
        height:44px!important;
        padding:0!important;
        margin:0!important;
        border-radius:999px!important;
        border:1px solid rgba(4,4,51,.16)!important;
        background:#fff!important;
        color:var(--navy)!important;
        box-shadow:none!important;
        transform:none!important;
    }
    html body .nav-toggle:hover,
    html body .nav-toggle:focus-visible,
    html body.nav-open .nav-toggle{
        background:var(--navy)!important;
        border-color:var(--navy)!important;
        transform:none!important;
        outline:none!important;
    }
    html body .nav-toggle span,
    html body .nav-toggle span::before,
    html body .nav-toggle span::after{
        left:11px!important;
        width:20px!important;
        height:2px!important;
        border-radius:999px!important;
        background:var(--navy)!important;
        transition:transform .18s ease, top .18s ease, background .18s ease!important;
    }
    html body .nav-toggle span{top:21px!important;}
    html body .nav-toggle span::before{top:-7px!important;}
    html body .nav-toggle span::after{top:7px!important;}
    html body .nav-toggle:hover span,
    html body .nav-toggle:hover span::before,
    html body .nav-toggle:hover span::after,
    html body .nav-toggle:focus-visible span,
    html body .nav-toggle:focus-visible span::before,
    html body .nav-toggle:focus-visible span::after,
    html body.nav-open .nav-toggle span::before,
    html body.nav-open .nav-toggle span::after{
        background:#fff!important;
    }
    html body.nav-open .nav-toggle span{background:transparent!important;}
    html body.nav-open .nav-toggle span::before{top:0!important;transform:rotate(45deg)!important;}
    html body.nav-open .nav-toggle span::after{top:0!important;transform:rotate(-45deg)!important;}

    html body .main-nav{
        position:fixed!important;
        top:76px!important;
        left:clamp(12px,3vw,30px)!important;
        right:clamp(12px,3vw,30px)!important;
        width:auto!important;
        max-width:none!important;
        background:var(--navy)!important;
        border:1px solid rgba(255,255,255,.12)!important;
        border-top:3px solid var(--bright-red)!important;
        border-radius:0 0 18px 18px!important;
        box-shadow:0 28px 70px -40px rgba(0,0,0,.7)!important;
        overflow:hidden!important;
        max-height:0!important;
        opacity:0!important;
        pointer-events:none!important;
        transform:translateY(-6px)!important;
        transition:max-height .24s ease, opacity .18s ease, transform .18s ease!important;
        z-index:999!important;
    }
    html body.nav-open .main-nav{
        max-height:calc(100vh - 92px)!important;
        overflow-y:auto!important;
        opacity:1!important;
        pointer-events:auto!important;
        transform:translateY(0)!important;
        border-bottom:0!important;
    }
    html body .main-nav .menu{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:0!important;
        padding:.45rem!important;
        margin:0!important;
        list-style:none!important;
        align-items:stretch!important;
        justify-content:stretch!important;
    }
    html body .main-nav li{width:100%!important;margin:0!important;}
    html body .main-nav a{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        min-height:48px!important;
        padding:.8rem .95rem!important;
        border:1px solid rgba(255,255,255,.08)!important;
        background:rgba(255,255,255,.025)!important;
        color:#fff!important;
        font-family:var(--font-head)!important;
        font-size:.88rem!important;
        font-weight:800!important;
        letter-spacing:.08em!important;
        text-transform:uppercase!important;
        line-height:1.15!important;
        text-decoration:none!important;
    }
    html body .main-nav a::after{display:none!important;}
    html body .main-nav a:hover,
    html body .main-nav a:focus-visible,
    html body .main-nav .current-menu-item > a{
        color:#fff!important;
        background:rgba(229,33,39,.18)!important;
        border-color:rgba(229,33,39,.45)!important;
        transform:none!important;
        outline:none!important;
    }
    html body .main-nav .sub-menu{
        position:static!important;
        display:block!important;
        min-width:0!important;
        width:100%!important;
        margin:0!important;
        padding:.2rem 0 0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    html body .main-nav .sub-menu a{
        min-height:40px!important;
        padding:.65rem .95rem!important;
        font-size:.78rem!important;
        color:#dfe1f3!important;
        background:rgba(255,255,255,.035)!important;
    }
}
@media (max-width:760px){
    html body .header-phone span{display:none!important;}
    html body .header-phone{
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
        padding:0!important;
    }
    html body .main-nav .menu{
        grid-template-columns:1fr!important;
        padding:.4rem!important;
    }
    html body .main-nav a{
        min-height:46px!important;
        padding:.78rem .9rem!important;
    }
}
@media (max-width:480px){
    html body .header-inner{
        height:68px!important;
        min-height:68px!important;
    }
    html body .site-brand img,
    html body .custom-logo{
        max-width:132px!important;
        max-height:44px!important;
    }
    html body .main-nav{top:68px!important;left:0!important;right:0!important;border-radius:0!important;}
    html body.nav-open .main-nav{max-height:calc(100vh - 68px)!important;}
}

/*
   v4.7 mobile/tablet menu polish — cleaner light dropdown, no harsh dark-on-dark menu.
   Keeps desktop unchanged while replacing the cramped navy mobile overlay.
*/
@media (max-width:1180px){
    html body .site-header{
        background:#fff!important;
        box-shadow:0 10px 30px rgba(4,4,51,.08)!important;
    }
    html body .header-inner{
        padding-left:clamp(16px,4vw,34px)!important;
        padding-right:clamp(16px,4vw,34px)!important;
        border-bottom:0!important;
    }
    html body .header-cta{
        gap:.55rem!important;
    }

    /* Replace the two big round icons with practical, readable pills. */
    html body .header-phone,
    html body .nav-toggle{
        height:42px!important;
        min-height:42px!important;
        border-radius:999px!important;
        border:1px solid rgba(4,4,51,.12)!important;
        background:#fff!important;
        color:var(--navy)!important;
        box-shadow:0 8px 24px rgba(4,4,51,.06)!important;
        transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
        transform:none!important;
    }
    html body .header-phone{
        width:auto!important;
        min-width:0!important;
        padding:0 .9rem!important;
        gap:.42rem!important;
        font-size:.82rem!important;
        letter-spacing:.02em!important;
        font-weight:800!important;
    }
    html body .header-phone svg{
        width:17px!important;
        height:17px!important;
        color:var(--bright-red)!important;
    }
    html body .header-phone:hover,
    html body .header-phone:focus-visible{
        background:#fff7f7!important;
        color:var(--navy)!important;
        border-color:rgba(229,33,39,.35)!important;
        box-shadow:0 10px 26px rgba(229,33,39,.12)!important;
    }

    html body .nav-toggle{
        width:auto!important;
        min-width:92px!important;
        flex-basis:auto!important;
        padding:0 1rem 0 2.65rem!important;
        position:relative!important;
        overflow:hidden!important;
    }
    html body .nav-toggle::after{
        content:"Menu";
        display:block;
        color:var(--navy);
        font-family:var(--font-head);
        font-size:.78rem;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
        line-height:1;
    }
    html body.nav-open .nav-toggle::after{content:"Close";color:#fff;}
    html body .nav-toggle span,
    html body .nav-toggle span::before,
    html body .nav-toggle span::after{
        left:15px!important;
        width:18px!important;
        height:2px!important;
        border-radius:999px!important;
        background:var(--bright-red)!important;
    }
    html body .nav-toggle span{top:20px!important;}
    html body .nav-toggle span::before{top:-6px!important;}
    html body .nav-toggle span::after{top:6px!important;}
    html body .nav-toggle:hover,
    html body .nav-toggle:focus-visible{
        background:#fff7f7!important;
        border-color:rgba(229,33,39,.35)!important;
        box-shadow:0 10px 26px rgba(229,33,39,.12)!important;
    }
    html body.nav-open .nav-toggle{
        background:var(--navy)!important;
        color:#fff!important;
        border-color:var(--navy)!important;
        box-shadow:0 12px 28px rgba(4,4,51,.2)!important;
    }
    html body.nav-open .nav-toggle span{background:transparent!important;}
    html body.nav-open .nav-toggle span::before,
    html body.nav-open .nav-toggle span::after{background:#fff!important;}

    /* Clean light dropdown so it doesn't fight the dark hero underneath. */
    html body .main-nav{
        top:76px!important;
        left:clamp(14px,4vw,36px)!important;
        right:clamp(14px,4vw,36px)!important;
        background:#fff!important;
        color:var(--navy)!important;
        border:1px solid rgba(4,4,51,.1)!important;
        border-top:4px solid var(--bright-red)!important;
        border-radius:0 0 22px 22px!important;
        box-shadow:0 32px 80px rgba(4,4,51,.22)!important;
    }
    html body.nav-open .main-nav{
        max-height:calc(100vh - 92px)!important;
    }
    html body .main-nav .menu{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:.55rem!important;
        padding:.85rem!important;
        background:#fff!important;
    }
    html body .main-nav a{
        min-height:54px!important;
        padding:.9rem 1rem .9rem 1.1rem!important;
        border:1px solid rgba(4,4,51,.09)!important;
        border-left:4px solid transparent!important;
        background:#f7f8fc!important;
        color:var(--navy)!important;
        font-size:.86rem!important;
        font-weight:900!important;
        letter-spacing:.08em!important;
        line-height:1.15!important;
        border-radius:10px!important;
        text-decoration:none!important;
        box-shadow:none!important;
    }
    html body .main-nav a:hover,
    html body .main-nav a:focus-visible,
    html body .main-nav .current-menu-item > a{
        background:#fff4f4!important;
        border-color:rgba(229,33,39,.28)!important;
        border-left-color:var(--bright-red)!important;
        color:var(--navy)!important;
        transform:none!important;
        outline:none!important;
    }
    html body .main-nav .sub-menu{
        padding:.45rem 0 0!important;
        background:transparent!important;
    }
    html body .main-nav .sub-menu a{
        min-height:42px!important;
        padding:.7rem .9rem!important;
        border-radius:8px!important;
        background:#fff!important;
        color:#36364f!important;
        font-size:.76rem!important;
        border-left:3px solid rgba(229,33,39,.25)!important;
    }
    html body .main-nav .sub-menu a:hover,
    html body .main-nav .sub-menu a:focus-visible{
        color:var(--navy)!important;
        background:#fff4f4!important;
    }
}
@media (max-width:760px){
    html body .header-inner{
        height:72px!important;
        min-height:72px!important;
    }
    html body .site-brand img,
    html body .custom-logo{
        max-width:150px!important;
        max-height:50px!important;
    }
    html body .header-phone{
        width:42px!important;
        min-width:42px!important;
        padding:0!important;
    }
    html body .header-phone span{display:none!important;}
    html body .nav-toggle{
        min-width:86px!important;
        padding-right:.85rem!important;
        padding-left:2.45rem!important;
    }
    html body .nav-toggle::after{font-size:.72rem!important;}
    html body .main-nav{
        top:72px!important;
        left:10px!important;
        right:10px!important;
        border-radius:0 0 18px 18px!important;
    }
    html body.nav-open .main-nav{max-height:calc(100vh - 82px)!important;}
    html body .main-nav .menu{
        grid-template-columns:1fr!important;
        gap:.45rem!important;
        padding:.65rem!important;
    }
    html body .main-nav a{
        min-height:50px!important;
        padding:.82rem 1rem!important;
        font-size:.84rem!important;
    }
}
@media (max-width:400px){
    html body .site-brand img,
    html body .custom-logo{max-width:128px!important;}
    html body .nav-toggle{min-width:74px!important;padding-left:2.15rem!important;padding-right:.65rem!important;}
    html body .nav-toggle::after{font-size:.66rem!important;letter-spacing:.06em!important;}
    html body .nav-toggle span,
    html body .nav-toggle span::before,
    html body .nav-toggle span::after{left:12px!important;}
}

/* ========================================================================
   v4.8 mobile menu + mobile hero polish
   Clean text-only controls, less chunky dropdown, centred mobile hero.
   ======================================================================== */
@media (max-width:1180px){
  html body .site-header{
    background:#fff!important;
    border-bottom:4px solid var(--bright-red)!important;
    box-shadow:0 10px 30px rgba(4,4,51,.07)!important;
  }
  html body .header-inner{
    height:72px!important;
    min-height:72px!important;
    padding-left:clamp(16px,4vw,30px)!important;
    padding-right:clamp(16px,4vw,30px)!important;
    gap:.55rem!important;
    border:0!important;
  }
  html body .site-brand img,
  html body .custom-logo{
    max-width:clamp(128px,22vw,165px)!important;
    max-height:54px!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
  html body .header-cta{gap:.5rem!important;margin-left:auto!important;display:flex!important;align-items:center!important;}
  html body .header-cta > .btn{display:none!important;}

  /* Text-only header actions: no odd hamburger/cross/phone icon combo. */
  html body .header-phone,
  html body .nav-toggle{
    height:40px!important;
    min-height:40px!important;
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    padding:0 .9rem!important;
    border-radius:999px!important;
    border:1px solid rgba(4,4,51,.14)!important;
    background:#fff!important;
    color:var(--navy)!important;
    box-shadow:none!important;
    transform:none!important;
    font-family:var(--font-head)!important;
    font-size:.76rem!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
    line-height:1!important;
    text-transform:uppercase!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
    overflow:hidden!important;
  }
  html body .header-phone svg,
  html body .header-phone span,
  html body .nav-toggle span,
  html body .nav-toggle span::before,
  html body .nav-toggle span::after{display:none!important;content:none!important;}
  html body .header-phone::after{content:"Call";}
  html body .nav-toggle::after{content:"Menu";color:inherit!important;display:block!important;font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;line-height:1!important;}
  html body.nav-open .nav-toggle::after{content:"Close";}
  html body .header-phone:hover,
  html body .header-phone:focus-visible,
  html body .nav-toggle:hover,
  html body .nav-toggle:focus-visible{
    color:var(--bright-red)!important;
    background:#fff!important;
    border-color:rgba(229,33,39,.35)!important;
    box-shadow:none!important;
    transform:none!important;
    outline:none!important;
  }
  html body.nav-open .nav-toggle{
    background:var(--navy)!important;
    border-color:var(--navy)!important;
    color:#fff!important;
  }

  /* Clean dropdown: light sheet, compact list, no huge card blocks. */
  html body .main-nav{
    position:fixed!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    background:#fff!important;
    border:0!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 24px 55px rgba(4,4,51,.18)!important;
    overflow:hidden!important;
    max-height:0!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:max-height .22s ease, opacity .16s ease, transform .16s ease!important;
    z-index:999!important;
  }
  html body.nav-open .main-nav{
    max-height:calc(100vh - 72px)!important;
    overflow-y:auto!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  html body .main-nav .menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
    list-style:none!important;
  }
  html body .main-nav li{margin:0!important;padding:0!important;}
  html body .main-nav a{
    min-height:52px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:.95rem 1.25rem!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    border-right:1px solid #ececf4!important;
    border-bottom:1px solid #ececf4!important;
    background:#fff!important;
    color:var(--navy)!important;
    font-size:.83rem!important;
    font-weight:900!important;
    letter-spacing:.075em!important;
    line-height:1.2!important;
    text-decoration:none!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html body .main-nav a:hover,
  html body .main-nav a:focus-visible,
  html body .main-nav .current-menu-item > a{
    color:var(--bright-red)!important;
    background:#fbfbfe!important;
    border-left:0!important;
    outline:none!important;
    transform:none!important;
  }
  html body .main-nav .sub-menu{display:none!important;}
}

@media (max-width:760px){
  html body .header-inner{height:68px!important;min-height:68px!important;}
  html body .site-brand img,
  html body .custom-logo{max-width:140px!important;max-height:50px!important;}
  html body .header-phone,
  html body .nav-toggle{height:38px!important;padding:0 .72rem!important;font-size:.7rem!important;letter-spacing:.07em!important;}
  html body .main-nav{top:68px!important;border-radius:0 0 16px 16px!important;}
  html body.nav-open .main-nav{max-height:calc(100vh - 68px)!important;}
  html body .main-nav .menu{grid-template-columns:1fr!important;}
  html body .main-nav a{min-height:50px!important;padding:.9rem 1.15rem!important;font-size:.82rem!important;border-right:0!important;}

  /* Homepage hero: centre the content and buttons properly on mobile. */
  html body .hero--home,
  html body .hero--cinematic,
  html body .hero--v17{
    text-align:center!important;
    padding-top:clamp(3.1rem,12vw,4.6rem)!important;
    padding-bottom:clamp(2.9rem,12vw,4.4rem)!important;
  }
  html body .hero__inner,
  html body .hero__inner--center{
    align-items:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body .hero h1,
  html body .hero--cinematic h1{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:11ch!important;
    text-align:center!important;
  }
  html body .hero__lead{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:31rem!important;
    text-align:center!important;
  }
  html body .hero__actions,
  html body .hero__actions--center{
    justify-content:center!important;
    width:100%!important;
  }
  html body .hero__actions .btn{
    width:100%!important;
    max-width:360px!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media (max-width:390px){
  html body .site-brand img,
  html body .custom-logo{max-width:124px!important;}
  html body .header-phone,
  html body .nav-toggle{padding:0 .58rem!important;font-size:.66rem!important;}
}

/* v4.9 mobile header button polish: icon-only, stable, readable */
@media (max-width:1040px){
  html body .header-cta{gap:.72rem!important;align-items:center!important;}

  html body .header-phone{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    padding:0!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border:1px solid rgba(4,4,51,.14)!important;
    color:var(--bright-red)!important;
    box-shadow:0 8px 22px rgba(4,4,51,.08)!important;
    transform:none!important;
    text-decoration:none!important;
  }
  html body .header-phone span,
  html body .header-phone::after{display:none!important;content:none!important;}
  html body .header-phone svg{
    display:block!important;
    width:21px!important;
    height:21px!important;
    color:var(--bright-red)!important;
    stroke:currentColor!important;
  }
  html body .header-phone:hover,
  html body .header-phone:focus-visible{
    background:#fff!important;
    color:var(--bright-red)!important;
    border-color:rgba(237,29,36,.35)!important;
    box-shadow:0 10px 24px rgba(237,29,36,.10)!important;
    transform:none!important;
    outline:none!important;
  }

  html body .nav-toggle{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    padding:0!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:var(--navy)!important;
    border:1px solid var(--navy)!important;
    color:#fff!important;
    box-shadow:0 12px 26px rgba(4,4,51,.18)!important;
    transform:none!important;
    position:relative!important;
    overflow:hidden!important;
    font-size:0!important;
    letter-spacing:0!important;
    line-height:1!important;
  }
  html body .nav-toggle::after{display:none!important;content:none!important;}
  html body .nav-toggle span,
  html body .nav-toggle span::before,
  html body .nav-toggle span::after{
    display:block!important;
    content:""!important;
    position:absolute!important;
    left:50%!important;
    width:20px!important;
    height:2px!important;
    border-radius:99px!important;
    background:#fff!important;
    transform:translateX(-50%)!important;
    transition:transform .18s ease, top .18s ease, opacity .14s ease!important;
  }
  html body .nav-toggle span{top:50%!important;margin-top:-1px!important;}
  html body .nav-toggle span::before{top:-7px!important;}
  html body .nav-toggle span::after{top:7px!important;}
  html body .nav-toggle:hover,
  html body .nav-toggle:focus-visible{
    background:#070735!important;
    border-color:#070735!important;
    box-shadow:0 12px 26px rgba(4,4,51,.20)!important;
    transform:none!important;
    outline:none!important;
  }
  html body.nav-open .nav-toggle{
    background:var(--navy)!important;
    border-color:var(--navy)!important;
    color:#fff!important;
    transform:none!important;
  }
  html body.nav-open .nav-toggle span{background:transparent!important;}
  html body.nav-open .nav-toggle span::before{
    top:0!important;
    transform:translateX(-50%) rotate(45deg)!important;
    background:#fff!important;
  }
  html body.nav-open .nav-toggle span::after{
    top:0!important;
    transform:translateX(-50%) rotate(-45deg)!important;
    background:#fff!important;
  }
}

@media (max-width:760px){
  html body .header-phone,
  html body .nav-toggle{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
  }
  html body .header-phone svg{width:19px!important;height:19px!important;}
  html body .nav-toggle span,
  html body .nav-toggle span::before,
  html body .nav-toggle span::after{width:18px!important;}
}

@media (max-width:390px){
  html body .header-cta{gap:.5rem!important;}
  html body .header-phone,
  html body .nav-toggle{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
  }
}


/* -------------------------------------------------------------------------
   v5.0 admin-bar search flash fix
   -------------------------------------------------------------------------
   The front-end WP admin toolbar contains a hidden Search submit button.
   Earlier global CTA/search button rules accidentally restyled that hidden
   admin-bar submit as a red button before JS hid it. Reset it at CSS level
   so there is no visible flash. Blog/sidebar search remains unaffected.
*/
html body #wpadminbar #adminbarsearch input[type="submit"],
html body #wpadminbar #adminbarsearch .adminbar-button,
html body #wpadminbar .ab-top-menu input[type="submit"],
html body.admin-bar #wpadminbar input[type="submit"][value="Search"]{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  display:block!important;
  visibility:hidden!important;
  opacity:0!important;
  width:1px!important;
  min-width:0!important;
  height:1px!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
html body #wpadminbar #adminbarsearch input[type="search"],
html body #wpadminbar #adminbarsearch input[type="text"]{
  box-shadow:none!important;
}


/* -------------------------------------------------------------------------
   v5.1 mobile icon + legal page polish
   -------------------------------------------------------------------------
   Some older mobile-menu experiments added "Call", "Menu" and "Close" text
   using pseudo-elements. Keep the final mobile header as icon-only and make
   legal pages read like policies rather than oversized landing pages.
*/
@media (max-width:1040px){
  html body .header-phone,
  html body .nav-toggle{
    font-size:0!important;
    letter-spacing:0!important;
    text-indent:0!important;
    overflow:hidden!important;
  }
  html body .header-phone::before,
  html body .header-phone::after,
  html body .nav-toggle::before,
  html body .nav-toggle::after{
    content:""!important;
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }
  html body .header-phone span{
    display:none!important;
  }
  html body .header-phone svg{
    display:block!important;
    flex:0 0 auto!important;
  }
  html body .nav-toggle span,
  html body .nav-toggle span::before,
  html body .nav-toggle span::after{
    display:block!important;
  }
}

html body .page-hero--legal{
  min-height:0!important;
  padding:clamp(3.8rem, 8vw, 6.4rem) 0!important;
  background:linear-gradient(120deg, rgba(4,4,51,.96), rgba(58,6,42,.92))!important;
}
html body .page-hero--legal h1{
  font-size:clamp(2.4rem, 6vw, 5.2rem)!important;
  line-height:.98!important;
  max-width:11ch!important;
}
html body .page-hero--legal p{
  max-width:44rem!important;
  font-size:clamp(1.05rem, 2.2vw, 1.55rem)!important;
  line-height:1.55!important;
}
html body .page-hero--legal + .section{
  padding-top:clamp(2.4rem, 6vw, 4.5rem)!important;
}
html body .page-hero--legal + .section .single-content{
  max-width:850px!important;
  margin:0 auto!important;
}
html body .page-hero--legal + .section .single-content h2,
html body .page-hero--legal + .section .single-content h3{
  line-height:1.15!important;
  margin-top:1.5em!important;
  margin-bottom:.55em!important;
}
html body .page-hero--legal + .section .single-content p,
html body .page-hero--legal + .section .single-content li{
  font-size:clamp(1rem, 2vw, 1.15rem)!important;
  line-height:1.75!important;
}
@media (max-width:760px){
  html body .page-hero--legal{
    padding:3.2rem 0 3.5rem!important;
  }
  html body .page-hero--legal h1{
    font-size:clamp(2.35rem, 13vw, 3.7rem)!important;
    max-width:100%!important;
  }
  html body .page-hero--legal p{
    font-size:1.12rem!important;
    line-height:1.55!important;
  }
  html body .page-hero--legal + .section{
    padding-top:2.6rem!important;
  }
  html body .page-hero--legal + .section .single-content h2{
    font-size:clamp(1.75rem, 8vw, 2.35rem)!important;
  }
  html body .page-hero--legal + .section .single-content h3{
    font-size:clamp(1.35rem, 6vw, 1.75rem)!important;
  }
  html body .page-hero--legal + .section .single-content p,
  html body .page-hero--legal + .section .single-content li{
    font-size:1.05rem!important;
    line-height:1.7!important;
  }
}
