/*
Theme Name: Fumecare Theme
Author: Fumecare
Description: Custom WordPress theme for Fumecare website.
Version: 1.0
*/


/* =========================
   BASIC VARIABLES
========================= */

:root{
    --navy:#023a80;
    --blue:#0354b0;
    --blue-bright:#0f6bd6;
    --blue-pale:#e7f0fb;

    --sky:#7ab6ff;
    --ink:#13294a;
    --grey:#5a6b83;
    --line:#d9e4f2;

    --paper:#ffffff;
    --paper-soft:#f4f8fd;
    --white:#ffffff;

    --maxw:1200px;

    --shadow:
        0 18px 50px -22px rgba(3,58,128,.32);
}


/* =========================
   RESET
========================= */

*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    overflow-x:hidden;
}

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


/* =========================
   GLOBAL WRAPPER
========================= */

.wrap{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 28px;
}


/* =========================
   BUTTON
========================= */

.btn{
    display:inline-flex;
    align-items:center;
    gap:9px;

    font-weight:500;
    font-size:1.05rem;

    padding:13px 24px;

    border-radius:10px;
    border:1px solid transparent;

    cursor:pointer;

    transition:.25s ease;

    white-space:nowrap;
}

.btn-primary{
    background:var(--blue-bright);
    color:#fff;

    box-shadow:
        0 10px 24px -12px rgba(15,107,214,.9);
}

.btn-primary:hover{
    background:var(--blue);
    transform:translateY(-2px);
}


/* =========================
   TOP UTILITY BAR
========================= */

.util{
    background:var(--blue);
    color:#dbeaf7;

    font-size:.82rem;
}

.util .wrap{
    display:flex;

    justify-content:flex-end;
    align-items:center;

/*    height:40px;*/

    gap:20px;
}
.site-logo img.custom-logo {
    width: 200px;
}
.util-left{
    display:flex;

    gap:26px;
}

.util a{
    display:inline-flex;

    align-items:center;

    gap:7px;

    color:#dbeaf7;

    transition:.2s;
}

.util a:hover{
    color:#fff;
}


/* =========================
   MAIN HEADER
========================= */

header.nav{
    position:sticky;

    top:0;

    z-index:50;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(12px);

    border-bottom:1px solid var(--line);
}


/* =========================
   HEADER INNER
========================= */

.nav .wrap{
    display:flex;

    align-items:center;

    justify-content:space-between;

    height:108px;

    max-width:100%;

    padding:0 40px;
}


/* =========================
   LOGO
========================= */

.logo{
    font-weight:700;

    font-size:2.3rem;

    letter-spacing:.02em;

    color:var(--navy);

    display:flex;

    align-items:center;

    gap:2px;
}


.logo .mark{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:38px;

    height:44px;

    margin:0 3px;

    border:2px solid var(--navy);

    border-radius:4px;

    position:relative;
}


.logo .mark::after{
    content:"";

    width:7px;

    height:15px;

    background:
        linear-gradient(
            180deg,
            var(--sky),
            var(--blue)
        );

    border-radius:
        50% 50% 50% 50%
        /
        60% 60% 40% 40%;

    transform:rotate(-8deg);
}


/* =========================
   NAVIGATION
========================= */

nav.main{
    display:flex;

    gap:2px;

    align-items:center;
}


nav.main a{
    font-size:1.13rem;

    font-weight:500;

    color:var(--ink);

    padding:10px 14px;

    border-radius:8px;

    transition:.2s;

    white-space:nowrap;
}


nav.main a:hover{
    color:var(--blue);

    background:var(--blue-pale);
}


nav.main a.active{
    color:var(--blue);
    font-weight:500;
}


/* =========================
   GET A QUOTE BUTTON
========================= */

.nav-cta{
    margin-left:10px;
}


nav.main a.nav-cta,
nav.main a.nav-cta:hover{
    color:#fff;

    background:var(--blue-bright);

    font-size:1.05rem;

    padding:12px 22px;
}


nav.main a.nav-cta:hover{
    background:var(--blue);
}


/* =========================
   MOBILE BURGER
========================= */

.burger{
    display:none;

    flex-direction:column;

    gap:5px;

    background:none;

    border:0;

    cursor:pointer;

    padding:8px;
}


.burger span{
    width:24px;

    height:2px;

    background:var(--navy);

    transition:.3s;
}


/* =========================
   RESPONSIVE HEADER
========================= */





/* =========================
   FOOTER
========================= */

footer{
    background:var(--navy);
    color:#9db4cc;
    padding:66px 0 26px;
    font-size:.92rem;
}

.foot-grid{
    display:grid;
    grid-template-columns:1.7fr 1fr 1.1fr;
    gap:56px;

    padding-bottom:44px;

    border-bottom:1px solid rgba(255,255,255,.09);
}


/* BRAND */

.foot-brand .logo{
    color:#fff;
    margin-bottom:16px;
}

.foot-brand .logo .mark{
    border-color:#fff;
}

.foot-brand p{
    max-width:340px;
    color:#9fb6cf;
    font-size:.92rem;
}


/* ACCREDITATIONS */

.foot-accred{
    display:flex;
    gap:10px;
    margin-top:20px;
    flex-wrap:wrap;
}

.foot-accred span{
    font-size:.72rem;
    font-weight:600;

    color:#bcd2ea;

    border:1px solid rgba(255,255,255,.14);

    padding:6px 11px;

    border-radius:7px;
}


/* FOOTER HEADINGS */

footer h4{
    color:#fff;

    font-size:.82rem;

    letter-spacing:.14em;

    text-transform:uppercase;

    margin-bottom:18px;

    font-weight:600;
}


/* FOOTER LINKS */

footer ul{
    list-style:none;

    display:grid;

    gap:11px;

    padding:0;
    margin:0;
}

footer ul a{
    color:#9db4cc;

    transition:.2s;
}

footer ul a:hover{
    color:#fff;

    padding-left:4px;
}


/* CONTACT */

.foot-contact a{
    color:#9db4cc;

    transition:.2s;

    display:block;

    margin-bottom:11px;
}

.foot-contact a:hover{
    color:#fff;
}


/* LINKEDIN */

.foot-linkedin{
    display:inline-flex !important;

    align-items:center;

    gap:9px;

    margin-top:8px;

    color:#bcd2ea !important;

    border:1px solid rgba(255,255,255,.16);

    padding:9px 15px;

    border-radius:9px;

    transition:.25s;

    font-weight:500;

    font-size:.86rem;
}

.foot-linkedin:hover{
    background:var(--blue);

    border-color:var(--blue);

    color:#fff !important;
}


/* FOOTER BOTTOM */

.foot-bottom{
    display:flex;

    justify-content:space-between;

    gap:16px;

    flex-wrap:wrap;

    padding-top:24px;

    color:#6f88a1;

    font-size:.82rem;
}

.site-logo img.custom-logo {
    width: 250px;
}
/* =========================
   FOOTER RESPONSIVE
========================= */






/* =========================
   WORDPRESS DYNAMIC MENU FIX
========================= */

nav.main .primary-menu{
    display:flex;
    align-items:center;
    gap:2px;

    list-style:none;

    margin:0;
    padding:0;
}

nav.main .primary-menu li{
    list-style:none;

    margin:0;
    padding:0;
}

nav.main .primary-menu li a{
    display:block;

    font-family:"Sora", sans-serif;

    font-size:1.1rem;
    font-weight:500;

    color:var(--ink);

    padding:10px 14px;

    border-radius:8px;

    transition:.2s;

    white-space:nowrap;

    text-decoration:none;
}

nav.main .primary-menu li a:hover{
    color:var(--blue);

    background:var(--blue-pale);
}

nav.main .primary-menu .current-menu-item > a{
    color:var(--blue);
}


/* =========================
   MOBILE MENU
========================= */



/* =========================
   FOOTER LOGO
========================= */

.footer-logo{
    display:inline-flex;
    align-items:center;
    margin-bottom:16px;
}

.footer-logo img{
    width:auto;
    height:55px;
    max-width:240px;
    object-fit:contain;
}


/* =========================
   DYNAMIC FOOTER MENU
========================= */

.footer-menu{
    list-style:none;
    margin:0;
    padding:0;

    display:grid;
    gap:11px;
}

.footer-menu li{
    list-style:none;
    margin:0;
    padding:0;
}

.footer-menu li a{
    color:#9db4cc;
    text-decoration:none;
    transition:.2s;
}

.footer-menu li a:hover{
    color:#fff;
    padding-left:4px;
}

.cat-ico img{
    width:24px;
    height:24px;
    object-fit:contain;
}

/* =========================================================
   PRODUCT CATEGORY PAGE
========================================================= */

.product-category-page{
    background:#f4f8fd;
    min-height:100vh;
}

.product-category-page .prod{
    padding:70px 0 90px;
}

.product-category-page .sec-head{
    max-width:760px;
    margin:0 auto 40px;
    text-align:center;
}

.product-category-page .sec-head .eyebrow{
    display:inline-block;
    margin-bottom:12px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#0b66d4;
}

.product-category-page .sec-head h1{
    margin:0 0 14px;
    font-size:42px;
    line-height:1.15;
    color:#003f8f;
}

.product-category-page .sec-head p{
    max-width:650px;
    margin:0 auto;
    font-size:16px;
    line-height:1.7;
    color:#5f6f85;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.product-category-page .cat-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.product-category-page .cat{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #d8e4f1;
    border-radius:14px;
    padding:20px;
    text-decoration:none;
    color:inherit;
    transition:all .25s ease;
}

.product-category-page .cat:hover{
    transform:translateY(-5px);
    box-shadow:0 14px 35px rgba(0, 63, 143, .12);
    border-color:#b9d2ec;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-card-image{
    width:100%;
    height:230px;
    margin-bottom:18px;
    border-radius:11px;
    overflow:hidden;
    background:#f3f7fc;

    display:flex;
    align-items:center;
    justify-content:center;
}

.product-card-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}


/* =========================================================
   PRODUCT NAME
========================================================= */

.product-category-page .cat h3{
    margin:0 0 8px;
    font-size:18px;
    line-height:1.35;
    color:#003f8f;
}


/* =========================================================
   SKU
========================================================= */

.product-sku{
    display:block;
    margin-bottom:10px;
    font-size:12px;
    font-weight:600;
    color:#0b66d4;
}


/* =========================================================
   PRODUCT DESCRIPTION
========================================================= */

.product-category-page .cat p{
    margin:0 0 18px;
    font-size:14px;
    line-height:1.65;
    color:#5f6f85;
}


/* =========================================================
   VIEW PRODUCT LINK
========================================================= */

.product-category-page .cat .arrow{
    margin-top:auto;
    font-size:13px;
    font-weight:700;
    color:#0b66d4;
}


/* =========================================================
   NO PRODUCTS
========================================================= */

.no-products{
    grid-column:1 / -1;
    background:#fff;
    border:1px solid #d8e4f1;
    border-radius:14px;
    padding:60px 30px;
    text-align:center;
}

.no-products h3{
    margin:0 0 10px;
    font-size:24px;
    color:#003f8f;
}

.no-products p{
    margin:0;
    color:#5f6f85;
}


/* =========================================================
   RESPONSIVE
========================================================= */





/* =========================================================
   SERVICES PAGE
========================================================= */

/* HERO */
.shero{
    padding:70px 0 40px;
    background:linear-gradient(160deg,var(--blue-pale),var(--white));
}

.shero .wrap{
    max-width:860px;
}

.shero .eyebrow{
    margin-bottom:14px;
}

.shero h1{
    font-family:"Sora",sans-serif;
    font-size:clamp(2rem,4.5vw,3.1rem);
    line-height:1.08;
    color:var(--navy);
    font-weight:700;
    letter-spacing:-.02em;
    margin:0;
}

.shero .tagline{
    font-family:"Sora",sans-serif;
    font-size:1.1rem;
    color:var(--blue);
    font-weight:600;
    margin-top:12px;
}

.shero p.lead{
    font-size:1.12rem;
    color:var(--grey);
    margin-top:16px;
    line-height:1.65;
}

.shero .shero-cta{
    margin-top:26px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}


/* CORE SERVICES */
.core-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.util {
    padding: 15px 0px;
    background: var(--blue);
    color: #dbeaf7;
    font-size: .82rem;
}
.about-points li {
    font-size: 15px;
 
}
section#filters a.btn.btn-outline {
    background: #0f6bd6;
    color: #fff;
}
section.blk .services-cta.reveal.in, .resources-cta {
    margin-top: 40px;
    text-align: center;
}
section#filters a.btn.btn-outline:hover {
        background: #0354b0;
    transform: translateY(-2px);
}
.core-card{
    min-height: 275px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--r);
    padding:32px 30px;
    box-shadow:var(--shadow-sm);
    transition:.22s;
}

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

.core-card .ico{
    width:56px;
    height:56px;
    border-radius:14px;
    background:var(--blue-pale);
    color:var(--blue);
    display:grid;
    place-items:center;
    margin-bottom:16px;
}

.core-card .ico svg{
    width:28px !important;
    height:28px !important;
}

.core-card h3{
    font-family:"Sora",sans-serif;
    font-size:1.28rem;
    color:var(--navy);
    margin-bottom:10px;
}

.core-card p{
    color:var(--grey);
    font-size:.96rem;
    line-height:1.6;
}


/* ALSO AVAILABLE */
.also{
    background:var(--paper-soft);
}

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

.also-item{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--r);
    padding:24px 22px;
    text-align:center;
    transition:.2s;
}

.also-item:hover{
    box-shadow:var(--shadow-sm);
    transform:translateY(-3px);
}

.also-item .ico{
    width:44px;
    height:44px;
    border-radius:11px;
    background:var(--blue-pale);
    color:var(--blue);
    display:grid;
    place-items:center;
    margin:0 auto 12px;
}

.also-item .ico svg{
    width:22px !important;
    height:22px !important;
}

.also-item h4{
    font-family:"Sora",sans-serif;
    font-size:1rem;
    color:var(--navy);
    margin-bottom:5px;
}

.also-item p{
    color:var(--grey);
    font-size:.86rem;
}


/* STATS STRIP */
.svc-stats{
    background:linear-gradient(120deg,var(--blue),var(--navy));
    color:#fff;
}

.svc-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    text-align:center;
}

.svc-stats .v{
    font-family:"Sora",sans-serif;
    font-size:1.7rem;
    font-weight:700;
    line-height:1.1;
}

.svc-stats .k{
    color:#c7dcf2;
    font-size:.9rem;
    margin-top:6px;
}


/* WHAT WE SERVICE IMAGE */
.wservice-media{
    margin-top:8px;
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    background:linear-gradient(160deg,var(--blue-pale),#fff);
    box-shadow:var(--shadow-sm);
}

.wservice-media img{
    width:100%;
    border-radius:12px;
    display:block;
}


/* EQUIPMENT */
.equip-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.equip-item{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:12px;
    padding:20px 16px;
    text-align:center;
    transition:.2s;
}

.equip-item:hover{
    box-shadow:var(--shadow-sm);
    transform:translateY(-3px);
    border-color:#cfe0f5;
}

.equip-item .ico{
    width:40px;
    height:40px;
    border-radius:10px;
    background:var(--blue-pale);
    color:var(--blue);
    display:grid;
    place-items:center;
    margin:0 auto 10px;
}

.equip-item .ico svg{
    width:21px !important;
    height:21px !important;
}

.equip-item h4{
    font-family:"Sora",sans-serif;
    font-size:.92rem;
    color:var(--navy);
    line-height:1.3;
}


/* TESTING LIST */
.test-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:6px;
}

.test-row{
    min-height: 160px;
    display:flex;
    gap:15px;
    align-items:flex-start;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
    box-shadow:var(--shadow-sm);
}

.test-row .ic{
    flex:none;
    width:44px;
    height:44px;
    border-radius:11px;
    background:var(--blue-pale);
    color:var(--blue);
    display:grid;
    place-items:center;
}

.test-row .ic svg{
    width:22px !important;
    height:22px !important;
}

.test-row h4{
    font-family:"Sora",sans-serif;
    font-size:1.02rem;
    color:var(--navy);
    margin-bottom:4px;
}

.test-row p{
    color:var(--grey);
    font-size:.9rem;
    line-height:1.55;
}


/* COSHH CALLOUT */
.coshh{
    background:var(--blue-pale);
    border:1px solid #cfe0f5;
    border-radius:var(--r);
    padding:26px 28px;
    margin-top:26px;
    display:flex;
    gap:18px;
    align-items:flex-start;
}

.coshh .ic{
    flex:none;
    width:46px;
    height:46px;
    border-radius:12px;
    background:#fff;
    color:var(--blue);
    display:grid;
    place-items:center;
    box-shadow:var(--shadow-sm);
}

.coshh .ic svg{
    width:24px !important;
    height:24px !important;
}

.coshh h4{
    font-family:"Sora",sans-serif;
    color:var(--navy);
    font-size:1.05rem;
    margin-bottom:5px;
}

.coshh p{
    color:var(--grey);
    font-size:.93rem;
    line-height:1.6;
}


/* SECTORS */
.sectors{
    background:var(--paper-soft);
}

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

.sector-item{
        min-height: 134px;
    display:flex;
    gap:14px;
    align-items:flex-start;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
    transition:.2s;
}

.sector-item:hover{
    box-shadow:var(--shadow-sm);
    transform:translateY(-3px);
    border-color:#cfe0f5;
}

.sector-item .ic{
    flex:none;
    width:44px;
    height:44px;
    border-radius:11px;
    background:var(--blue-pale);
    color:var(--blue);
    display:grid;
    place-items:center;
}

.sector-item .ic svg{
    width:22px !important;
    height:22px !important;
}

.sector-item h4{
    font-family:"Sora",sans-serif;
    font-size:1rem;
    color:var(--navy);
    margin-bottom:4px;
}

.sector-item p{
    color:var(--grey);
    font-size:.87rem;
    line-height:1.5;
}


/* SEMPER */
.semper{
    background:linear-gradient(120deg,var(--blue),var(--navy));
    color:#fff;
    position:relative;
    overflow:hidden;
}

.semper-lines{
    position:absolute;
    inset:0;
    opacity:.4;
    background:repeating-linear-gradient(
        60deg,
        transparent 0 40px,
        rgba(120,180,255,.05) 40px 41px
    );
}

.semper .wrap{
    position:relative;
}

.semper-grid{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:46px;
    align-items:center;
}

.semper h2{
    color:#fff;
}

.semper .eyebrow{
    color:var(--sky);
}

.semper .eyebrow::before{
    background:var(--sky);
}

.semper p{
    color:#c7dcf2;
}

.semper-media{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    padding:14px;
}

.semper-media img{
    width:100%;
    border-radius:10px;
    display:block;
}

.semper-chips{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:18px;
}

.semper-chips span{
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.2);
    border-radius:20px;
    padding:6px 13px;
    font-size:.83rem;
    color:#e4eefb;
}

.semper-note{
    margin-top:16px;
    font-size:.82rem;
    color:#9fbde4;
}


/* QUOTE */
.quote{
    background:var(--paper-soft);
}

.quote-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:40px;
    align-items:start;
}

.qform{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:38px;
    box-shadow:var(--shadow-sm);
}

.qform h3{
    font-size:1.15rem;
    margin:0 0 18px;
    padding-bottom:12px;
    border-bottom:1px solid var(--line);
}

.qform h3:not(:first-of-type){
    margin-top:34px;
}

.fgroup{
    margin-bottom:18px;
}

.fgroup label{
    display:block;
    font-family:"Sora",sans-serif;
    font-weight:500;
    font-size:.9rem;
    color:var(--navy);
    margin-bottom:7px;
}

.fgroup input[type=text],
.fgroup input[type=email],
.fgroup input[type=tel],
.fgroup input[type=number],
.fgroup textarea,
.fgroup select{
    width:100%;
    border:1px solid var(--line);
    border-radius:9px;
    padding:12px 14px;
    font-family:"Inter",sans-serif;
    font-size:.96rem;
    color:var(--ink);
    background:#fff;
    box-sizing:border-box;
}

.fgroup input:focus,
.fgroup textarea:focus,
.fgroup select:focus{
    outline:0;
    border-color:var(--blue-bright);
    box-shadow:0 0 0 3px rgba(15,107,214,.12);
}

.fgroup textarea{
    min-height:96px;
    resize:vertical;
}

.frow{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.req{
    color:#d23b3b;
}

.filter-lab{
    display:block;
    font-family:"Sora",sans-serif;
    font-weight:600;
    font-size:.95rem;
    color:var(--navy);
    margin-bottom:10px;
}

.filter-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    align-items:stretch;
}

.filter-opt{
    position:relative;
    cursor:pointer;
    display:flex;
}

.filter-opt input{
    position:absolute;
    opacity:0;
}

.filter-opt .fb{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    border:2px solid var(--line);
    border-radius:10px;
    padding:12px 10px;
    text-align:center;
    background:#fff;
    font-family:"Sora",sans-serif;
    font-weight:600;
    font-size:.9rem;
    color:var(--navy);
}

.filter-opt .fb small{
    display:block;
    font-family:"Inter",sans-serif;
    font-weight:400;
    font-size:.72rem;
    color:var(--grey);
    margin-top:2px;
}

.filter-opt input:checked + .fb{
    border-color:var(--blue-bright);
    background:var(--blue-pale);
}

.consent{
    display:flex;
    gap:11px;
    align-items:flex-start;
    margin:22px 0 4px;
    padding:14px 16px;
    background:var(--paper-soft);
    border:1px solid var(--line);
    border-radius:10px;
}

.consent input{
    margin-top:3px;
    width:17px;
    height:17px;
    accent-color:var(--blue-bright);
    flex:none;
}

.consent label{
    font-size:.86rem;
    color:var(--grey);
    line-height:1.5;
}

.consent a{
    color:var(--blue);
    text-decoration:underline;
}

.qsubmit{
    margin-top:26px;
    display:flex;
    gap:14px;
    align-items:center;
    flex-wrap:wrap;
}

.qnote{
    color:var(--grey);
    font-size:.84rem;
}

.qside{
    background:linear-gradient(155deg,var(--blue),var(--navy));
    border-radius:18px;
    padding:34px;
    color:#fff;
    box-shadow:var(--shadow);
    position:sticky;
    top:130px;
}

.qside h3{
    color:#fff;
    font-size:1.3rem;
    margin-bottom:12px;
}

.qside p{
    color:#cadcf2;
    font-size:.95rem;
    margin-bottom:20px;
}

.qside .qrow{
    display:flex;
    gap:12px;
    align-items:center;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.14);
}

.qside .qrow:last-child{
    border-bottom:0;
}

.qside .qrow .ic{
    width:36px;
    height:36px;
    border-radius:9px;
    background:rgba(122,182,255,.16);
    display:grid;
    place-items:center;
    color:var(--sky);
    flex:none;
}

.qside .qrow .ic svg{
    width:18px !important;
    height:18px !important;
}

.qside .qrow .v{
    font-family:"Sora",sans-serif;
    font-weight:500;
    font-size:.98rem;
}


/* FINAL CTA */
.scta{
    background:var(--paper-soft);
    text-align:center;
}

.scta .wrap{
    max-width:720px;
}

.scta h2{
    color:var(--navy);
}

.scta p{
    color:var(--grey);
    margin:14px 0 24px;
    font-size:1.05rem;
}

.scta .btn-row{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
}


/* KEEP SERVICES CONTENT VISIBLE */
.services-page .reveal,
.services-page .reveal.in{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}


/* RESPONSIVE */
















/* ==========================================
   GLOBAL WPBAKERY SECTION CONTAINER
========================================== */

/* section full width */
.default-page .vc_section{
    width:100% !important;
    max-width:none !important;
    left:0 !important;
    right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

/* section ke andar direct row = 1200px container */
.default-page .vc_section > .vc_row{
    width:calc(100% - 48px) !important;
    max-width:1200px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    left:auto !important;
    right:auto !important;

    padding-left:0 !important;
    padding-right:0 !important;

    box-sizing:border-box !important;
}
.eyebrow {
    font-family: "Sora",sans-serif;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--blue-bright);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* tablet */


/* mobile */


/* =========================================================
   CONTACT US PAGE
========================================================= */

/* ---------------------------------------------------------
   GLOBAL CONTACT PAGE CONTAINER
--------------------------------------------------------- */

.contact-page section{
    width:100%;
    box-sizing:border-box;
}

.contact-page section > .wrap{
    width:100%;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
    padding-left:28px;
    padding-right:28px;
    box-sizing:border-box;
}


/* WPBAKERY - section full width, row = 1200px container */
.contact-page .vc_section{
    width:100% !important;
    max-width:none !important;
    left:0 !important;
    right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

.contact-page .vc_section > .vc_row{
    width:calc(100% - 48px) !important;
    max-width:1200px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    left:auto !important;
    right:auto !important;

    padding-left:0 !important;
    padding-right:0 !important;

    box-sizing:border-box !important;
}


/* ---------------------------------------------------------
   COMMON SECTION SPACING
--------------------------------------------------------- */

.contact-page section.blk{
    padding:80px 0;
}

.contact-page .sec-head{
    max-width:720px;
    margin-bottom:46px;
}

.contact-page .sec-head.center{
    margin-inline:auto;
    text-align:center;
}

.contact-page .sec-head h2{
    font-family:"Sora",sans-serif;
    font-size:clamp(1.8rem,3.4vw,2.5rem);
    line-height:1.14;

    color:var(--navy);

    margin:14px 0;
}

.contact-page .sec-head p{
    color:var(--grey);

    font-size:1.05rem;
    line-height:1.65;
}


/* ---------------------------------------------------------
   EYEBROW
--------------------------------------------------------- */

.contact-page .eyebrow{
    font-family:"Sora",sans-serif;

    font-size:.72rem;
    font-weight:600;

    letter-spacing:.22em;

    text-transform:uppercase;

    color:var(--blue-bright);

    display:inline-flex;

    align-items:center;

    gap:10px;
}

.contact-page .eyebrow::before{
    content:"";

    width:26px;
    height:1px;

    background:var(--blue-bright);

    display:inline-block;

    flex:none;
}


/* =========================================================
   CONTACT HERO
========================================================= */

.chero{
    position:relative;

    overflow:hidden;

    min-height:360px;
}


.chero-media{
    position:absolute;

    inset:0;
}


.chero-media img{
    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    display:block;
}


/*.chero-media::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            120deg,
            rgba(2,58,128,.92) 0%,
            rgba(3,84,176,.72) 46%,
            rgba(3,84,176,.12) 100%
        );
}*/


.chero-inner{
    position:relative;

    z-index:2;

    padding:82px 0 74px;
}


/*
   IMPORTANT:
   Outer container 1200px rahega.
   Sirf text column 640px rahega.
*/

.chero-copy{
    max-width:640px;
}


.chero .eyebrow{
    color:var(--sky);
}


.chero .eyebrow::before{
    background:var(--sky);
}


.chero h1{
    font-family:"Sora",sans-serif;

    font-size:clamp(2rem,4.6vw,3.2rem);

    line-height:1.07;

    color:#fff;

    font-weight:700;

    letter-spacing:-.02em;

    margin:14px 0 0;
}


.chero p.lead{
    max-width:620px;

    font-size:1.14rem;

    color:#e4eefb;

    margin-top:16px;

    line-height:1.62;
}


/* =========================================================
   CONTACT METHOD CARDS
========================================================= */

.cmeth-section{
    position:relative;

    z-index:4;

    padding-top:0 !important;
}


.cmeth-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;

    margin-top:-54px;

    position:relative;

    z-index:3;
}


.cmeth{
    background:#fff;

    border:1px solid var(--line);

    border-radius:var(--r);

    padding:28px 26px;

    box-shadow:var(--shadow);

    transition:.22s;
}


.cmeth:hover{
    transform:translateY(-4px);
}


.cmeth .ico{
    width:50px;
    height:50px;

    border-radius:13px;

    background:var(--blue-pale);

    color:var(--blue);

    display:grid;

    place-items:center;

    margin-bottom:14px;
}


.cmeth .ico svg{
    width:25px !important;
    height:25px !important;

    max-width:25px !important;
    max-height:25px !important;
}


.cmeth h3{
    font-family:"Sora",sans-serif;

    font-size:1.1rem;

    color:var(--navy);

    margin-bottom:6px;
}


.cmeth p{
    color:var(--grey);

    font-size:.92rem;

    margin-bottom:10px;

    line-height:1.5;
}


.cmeth a.big{
    font-family:"Sora",sans-serif;

    font-weight:600;

    color:var(--blue);

    font-size:1.06rem;

    text-decoration:none;

    word-break:break-word;
}


.cmeth a.big:hover{
    text-decoration:underline;
}


/* =========================================================
   CONTACT FORM SECTION
========================================================= */

.contact-form-section{
    background:#fff;
}


.cform-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(300px,.85fr);

    gap:44px;

    align-items:start;
}


/* =========================================================
   CONTACT FORM CARD
========================================================= */

.contact-page .qform{
    width:100%;

    background:#fff;

    border:1px solid var(--line);

    border-radius:18px;

    padding:38px;

    box-shadow:var(--shadow-sm);

    box-sizing:border-box;
}


.contact-page .qform h3{
    font-family:"Sora",sans-serif;

    font-size:1.15rem;

    color:var(--navy);

    margin:0 0 18px;

    padding-bottom:12px;

    border-bottom:1px solid var(--line);
}


.contact-page .qform h3:not(:first-of-type){
    margin-top:34px;
}


/* ---------------------------------------------------------
   FORM GROUPS
--------------------------------------------------------- */

.contact-page .fgroup{
    margin-bottom:18px;
}


.contact-page .fgroup label,
.contact-page .filter-lab{
    display:block;

    font-family:"Sora",sans-serif;

    font-weight:500;

    font-size:.9rem;

    color:var(--navy);

    margin-bottom:7px;
}


.contact-page .req{
    color:#d23b3b;
}


/* Contact Form 7 wrapper */
.contact-page .wpcf7-form-control-wrap{
    display:block;

    width:100%;
}


/* ---------------------------------------------------------
   INPUTS
--------------------------------------------------------- */

.contact-page .qform input[type="text"],
.contact-page .qform input[type="email"],
.contact-page .qform input[type="tel"],
.contact-page .qform input[type="number"],
.contact-page .qform textarea,
.contact-page .qform select{
    width:100%;

    border:1px solid var(--line);

    border-radius:9px;

    padding:12px 14px;

    font-family:"Inter",sans-serif;

    font-size:.96rem;

    color:var(--ink);

    background:#fff;

    box-sizing:border-box;

    transition:.2s;
}


.contact-page .qform input:focus,
.contact-page .qform textarea:focus,
.contact-page .qform select:focus{
    outline:0;

    border-color:var(--blue-bright);

    box-shadow:
        0 0 0 3px
        rgba(15,107,214,.12);
}


.contact-page .qform textarea{
    min-height:110px;

    resize:vertical;
}


/* ---------------------------------------------------------
   TWO COLUMN FIELDS
--------------------------------------------------------- */

.contact-page .frow{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;
}


/* =========================================================
   CONTACT TOPIC SELECTOR
========================================================= */

.contact-page .filter-lab{
    font-weight:600;

    font-size:.95rem;

    margin-bottom:10px;
}


.contact-page .filter-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;
}


.contact-page .filter-opt{
    position:relative;

    cursor:pointer;

    display:flex;
}


.contact-page .filter-opt input{
    position:absolute;

    opacity:0;
}


.contact-page .filter-opt .fb{
    width:100%;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    border:2px solid var(--line);

    border-radius:10px;

    padding:12px 10px;

    text-align:center;

    transition:.2s;

    background:#fff;

    font-family:"Sora",sans-serif;

    font-weight:600;

    font-size:.9rem;

    color:var(--navy);
}


.contact-page .filter-opt .fb small{
    display:block;

    font-family:"Inter",sans-serif;

    font-weight:400;

    font-size:.72rem;

    color:var(--grey);

    margin-top:2px;
}


.contact-page .filter-opt input:checked + .fb{
    border-color:var(--blue-bright);

    background:var(--blue-pale);
}


/* =========================================================
   CONSENT
========================================================= */

.contact-page .consent{
    display:flex;

    gap:11px;

    align-items:flex-start;

    margin:22px 0 4px;

    padding:14px 16px;

    background:var(--paper-soft);

    border:1px solid var(--line);

    border-radius:10px;
}


.contact-page .consent input{
    margin-top:3px;

    width:17px !important;
    height:17px;

    accent-color:var(--blue-bright);

    flex:none;
}


.contact-page .consent label{
    font-size:.86rem;

    color:var(--grey);

    line-height:1.5;
}


.contact-page .consent a{
    color:var(--blue);

    text-decoration:underline;
}


/* =========================================================
   SUBMIT
========================================================= */

.contact-page .qsubmit{
    margin-top:26px;

    display:flex;

    gap:14px;

    align-items:center;

    flex-wrap:wrap;
}


.contact-page .qsubmit .btn,
.contact-page .qsubmit .wpcf7-submit{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    border:0;

    border-radius:10px;

    background:var(--blue-bright);

    color:#fff;

    padding:13px 24px;

    font-family:"Sora",sans-serif;

    font-weight:500;

    font-size:1rem;

    cursor:pointer;

    transition:.25s ease;

    box-shadow:
        0 10px 24px -12px
        rgba(15,107,214,.9);
}


.contact-page .qsubmit .btn:hover,
.contact-page .qsubmit .wpcf7-submit:hover{
    background:var(--blue);

    transform:translateY(-2px);
}


.contact-page .qnote{
    color:var(--grey);

    font-size:.84rem;
}


/* =========================================================
   RIGHT CONTACT INFORMATION PANEL
========================================================= */

.cinfo{
    background:
        linear-gradient(
            160deg,
            var(--blue-pale),
            #fff
        );

    border:1px solid var(--line);

    border-radius:var(--r);

    padding:30px 28px;

    box-shadow:var(--shadow-sm);
}


.cinfo h3{
    font-family:"Sora",sans-serif;

    color:var(--navy);

    font-size:1.15rem;

    margin-bottom:6px;
}


.cinfo p.sub{
    color:var(--grey);

    font-size:.92rem;

    margin-bottom:18px;
}


.cinfo-row{
    display:flex;

    gap:13px;

    align-items:flex-start;

    padding:13px 0;

    border-bottom:1px solid var(--line);
}


.cinfo-row:last-of-type{
    border-bottom:none;
}


.cinfo-row .ic{
    flex:none;

    width:40px;
    height:40px;

    border-radius:10px;

    background:#fff;

    color:var(--blue);

    display:grid;

    place-items:center;

    box-shadow:var(--shadow-sm);
}


.cinfo-row .ic svg{
    width:20px !important;
    height:20px !important;

    max-width:20px !important;
    max-height:20px !important;
}


.cinfo-row .k{
    font-family:"Sora",sans-serif;

    font-weight:600;

    color:var(--navy);

    font-size:.9rem;
}


.cinfo-row .v{
    color:var(--grey);

    font-size:.9rem;

    margin-top:2px;
}


.cinfo-row a{
    color:var(--blue);

    text-decoration:none;
}


.cinfo-row a:hover{
    text-decoration:underline;
}


.cinfo-badges{
    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-top:18px;
}


.cinfo-badges span{
    background:#fff;

    border:1px solid var(--line);

    border-radius:20px;

    padding:6px 12px;

    font-size:.78rem;

    color:var(--blue);

    font-family:"Sora",sans-serif;

    font-weight:500;
}


/* =========================================================
   CONTACT FORM 7 MESSAGES
========================================================= */

.contact-page .wpcf7-not-valid-tip{
    font-size:.78rem;

    margin-top:5px;
}


.contact-page .wpcf7-response-output{
    margin:20px 0 0 !important;

    padding:12px 14px !important;

    border-radius:8px;

    font-size:.85rem;
}


/* =========================================================
   REVEAL FIX
   Content visible even without animation JS
========================================================= */

.contact-page .reveal,
.contact-page .reveal.in{
    opacity:1 !important;

    visibility:visible !important;

    transform:none !important;
}


/* =========================================================
   TABLET
========================================================= */




/* CONTACT CARDS STACK */




/* HERO MOBILE */




/* =========================================================
   MOBILE
========================================================= */




/* SMALL MOBILE */



/* =====================================================
   CONTACT HERO - WPBAKERY BACKGROUND IMAGE + OVERLAY
===================================================== */

.chero{
    position:relative !important;
    overflow:hidden !important;

    /* WPBakery background image ko proper cover karega */
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;

    min-height:445px;
}

/* BLUE GRADIENT OVERLAY */
.chero::before{
    content:"";
    position:absolute;
    inset:0;
    width:100%;
    height:100%;

    background:linear-gradient(
        120deg,
        rgba(2, 58, 128, .92) 0%,
        rgba(3, 84, 176, .72) 46%,
        rgba(3, 84, 176, .12) 100%
    );

    z-index:1;
    pointer-events:none;
}

/* WPBakery row/content overlay ke upar */
.chero > .vc_row{
    position:relative !important;
    z-index:2 !important;
}

/* HERO CONTENT */
.chero .chero-inner{
    position:relative;
    z-index:2;

    min-height:445px;

    display:flex;
    align-items:center;
}

/* 1200px CONTENT CONTAINER */
.chero .wrap{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 28px;
    box-sizing:border-box;
}

.chero .chero-copy{
    max-width:640px;
}

/* TEXT */
.chero .eyebrow{
    color:#79b9ff;
}

.chero .eyebrow::before{
    background:#79b9ff;
}

.chero h1{
    color:#fff !important;
    opacity:1 !important;
}

.chero .lead{
    color:#e8f2ff !important;
    opacity:1 !important;
}

/* MOBILE */

.chero{
    position:relative !important;
    z-index:1 !important;
    overflow:visible !important;
}

.chero::before{
    z-index:1;
}




/* =========================================================
   MOBILE MENU - FULL SCREEN FIX
========================================================= */





/* =========================================================
   MOBILE MENU - OPEN / CLOSE WITHOUT SLIDE
========================================================= */






/* =========================================================
   CONTACT FORM 7 - EXACT CONTACT FORM DESIGN ADAPTER
   Existing CSS above is preserved unchanged.
========================================================= */

.qform .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.qform .filter-grid .wpcf7-radio{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:10px !important;
    width:100% !important;
}
.qform.reveal.in.contact-form .filter-grid {
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 10px;
    align-items: stretch;
}
.qform .filter-grid .wpcf7-list-item{
    width:100% !important;
    margin:0 !important;
}

.qform .filter-grid .wpcf7-list-item label{
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    cursor:pointer !important;
}

.qform .filter-grid input[type="radio"]{
    position:absolute !important;
    opacity:0 !important;
    width:1px !important;
    height:1px !important;
    pointer-events:none !important;
}

.qform .filter-grid .wpcf7-list-item-label{
    display:block !important;
    width:100% !important;
    min-height:66px !important;
    padding:12px 10px !important;
    border:2px solid var(--line) !important;
    border-radius:10px !important;
    background:#fff !important;
    color:var(--navy) !important;
    text-align:center !important;
    font-family:"Sora",sans-serif !important;
    font-size:.9rem !important;
    font-weight:600 !important;
    line-height:1.35 !important;
    box-sizing:border-box !important;
    transition:.2s !important;
}

.qform .filter-grid .wpcf7-list-item-label::after{
    display:block;
    margin-top:2px;
    color:var(--grey);
    font-family:"Inter",sans-serif;
    font-size:.72rem;
    font-weight:400;
    line-height:1.4;
}

.qform .filter-grid .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after{
    content:"New equipment";
}

.qform .filter-grid .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after{
    content:"Testing & repair";
}

.qform .filter-grid .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after{
    content:"Replacements";
}

.qform .filter-grid .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after{
    content:"General enquiry";
}

.qform .filter-grid input[type="radio"]:checked + .wpcf7-list-item-label{
    border-color:var(--blue-bright) !important;
    background:var(--blue-pale) !important;
}

.qform .filter-grid label:hover .wpcf7-list-item-label{
    border-color:var(--blue-bright) !important;
}

.qform input[type="text"],
.qform input[type="email"],
.qform input[type="tel"],
.qform input[type="number"],
.qform textarea,
.qform select{
    width:100% !important;
    box-sizing:border-box !important;
}

.qform .consent .wpcf7-list-item{
    margin:0 !important;
}

.qform .consent label{
/*    display:flex !important;*/
    align-items:flex-start !important;
    gap:11px !important;
    margin:0 !important;
}

.qform .consent input[type="checkbox"]{
    width:17px !important;
    min-width:17px !important;
    height:17px !important;
    margin-top:3px !important;
    padding:0 !important;
    flex:none !important;
    accent-color:var(--blue-bright);
}

.qform .qsubmit .wpcf7-submit{
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid transparent !important;
    border-radius:10px !important;
    padding:13px 24px !important;
    background:var(--blue-bright) !important;
    color:#fff !important;
    font-family:"Sora",sans-serif !important;
    font-size:1.05rem !important;
    font-weight:500 !important;
    line-height:1.4 !important;
    cursor:pointer !important;
    white-space:nowrap !important;
    box-shadow:0 10px 24px -12px rgba(15,107,214,.9) !important;
    transition:.25s ease !important;
}

.qform .qsubmit .wpcf7-submit:hover{
    background:var(--blue) !important;
    transform:translateY(-2px);
}

.qform .wpcf7-spinner{
    margin:0 !important;
}

.qform .wpcf7-not-valid-tip{
    display:block;
    margin-top:5px;
    font-size:.78rem;
    line-height:1.4;
}

.qform .wpcf7-response-output{
    margin:20px 0 0 !important;
    padding:12px 14px !important;
    border-radius:8px;
    font-size:.85rem;
}
.contact-form.filter-grid {
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 10px;
    align-items: stretch;
}




/* =========================================================
   SERVICES PAGE - CONTACT FORM 7 ADAPTER
   Existing CSS above is preserved.
   This block affects ONLY forms using .services-form.
========================================================= */

.services-form{
    width:100%;
    min-width:0;
}

.services-form .wpcf7-form-control-wrap{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
}

/* SERVICE RADIO CARDS */
.services-form .filter-grid{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
}

.services-form .filter-grid .wpcf7-form-control-wrap{
    display:block !important;
    width:100% !important;
}

.services-form .filter-grid .wpcf7-radio{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    align-items:stretch !important;
}

.services-form .filter-grid .wpcf7-list-item{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
}

.services-form .filter-grid .wpcf7-list-item label{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:100% !important;
    margin:0 !important;
    cursor:pointer !important;
}

.services-form .filter-grid input[type="radio"]{
    position:absolute !important;
    opacity:0 !important;
    width:1px !important;
    height:1px !important;
    margin:0 !important;
    padding:0 !important;
    pointer-events:none !important;
}

.services-form .filter-grid .wpcf7-list-item-label{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:78px !important;
    height:100% !important;

    padding:10px 8px !important;
    box-sizing:border-box !important;

    border:2px solid var(--line) !important;
    border-radius:10px !important;

    background:#fff !important;
    color:var(--navy) !important;

    text-align:center !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;

    font-family:"Sora",sans-serif !important;
    font-size:.82rem !important;
    font-weight:600 !important;
    line-height:1.25 !important;

    transition:.2s !important;
}

/* Service option subtext */
.services-form .filter-grid .wpcf7-list-item-label::after{
    display:block;
    margin-top:3px;

    font-family:"Inter",sans-serif;
    font-size:.68rem;
    font-weight:400;
    line-height:1.3;

    color:var(--grey);
    white-space:normal;
    word-break:normal;
    overflow-wrap:normal;
}

.services-form .filter-grid .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after{
    content:"Thorough exam & test";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after{
    content:"Planned or emergency";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after{
    content:"Maintenance contract";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after{
    content:"All makes";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::after{
    content:"HEPA integrity";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::after{
    content:"Manufacture & fitting";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(7) .wpcf7-list-item-label::after{
    content:"& commissioning";
}
.services-form .filter-grid .wpcf7-list-item:nth-child(8) .wpcf7-list-item-label::after{
    content:"& biohazard clean";
}

.services-form .filter-grid input[type="radio"]:checked + .wpcf7-list-item-label{
    border-color:var(--blue-bright) !important;
    background:var(--blue-pale) !important;
}

.services-form .filter-grid label:hover .wpcf7-list-item-label{
    border-color:var(--blue-bright) !important;
}

/* FIELDS */
.services-form input[type="text"],
.services-form input[type="email"],
.services-form input[type="tel"],
.services-form input[type="number"],
.services-form textarea,
.services-form select{
    width:100% !important;
    max-width:100% !important;
    border:1px solid var(--line) !important;
    border-radius:9px !important;
    padding:12px 14px !important;
    font-family:"Inter",sans-serif !important;
    font-size:.96rem !important;
    color:var(--ink) !important;
    background:#fff !important;
    box-sizing:border-box !important;
    transition:.2s !important;
}

.services-form input:focus,
.services-form textarea:focus,
.services-form select:focus{
    outline:0 !important;
    border-color:var(--blue-bright) !important;
    box-shadow:0 0 0 3px rgba(15,107,214,.12) !important;
}

.services-form textarea{
    min-height:96px !important;
    resize:vertical !important;
}

.services-form .frow{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:16px !important;
    width:100% !important;
}

/* CONSENT */
.services-form .consent .wpcf7-list-item{
    margin:0 !important;
}

.services-form .consent label{
    display:flex !important;
    align-items:flex-start !important;
    gap:11px !important;
    margin:0 !important;
    font-family:"Inter",sans-serif !important;
    font-size:.86rem !important;
    font-weight:400 !important;
    line-height:1.5 !important;
    color:var(--grey) !important;
}

.services-form .consent input[type="checkbox"]{
    width:17px !important;
    min-width:17px !important;
    height:17px !important;
    margin-top:3px !important;
    padding:0 !important;
    flex:none !important;
    accent-color:var(--blue-bright);
}

/* SUBMIT */
.services-form .qsubmit .wpcf7-submit{
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid transparent !important;
    border-radius:10px !important;
    padding:13px 24px !important;
    background:var(--blue-bright) !important;
    color:#fff !important;
    font-family:"Sora",sans-serif !important;
    font-size:1.05rem !important;
    font-weight:500 !important;
    line-height:1.4 !important;
    cursor:pointer !important;
    white-space:nowrap !important;
    box-shadow:0 10px 24px -12px rgba(15,107,214,.9) !important;
    transition:.25s ease !important;
}

.services-form .qsubmit .wpcf7-submit:hover{
    background:var(--blue) !important;
    transform:translateY(-2px);
}

.services-form .wpcf7-spinner{
    margin:0 !important;
}

.services-form .wpcf7-not-valid-tip{
    display:block;
    margin-top:5px;
    font-size:.78rem;
    line-height:1.4;
}

.services-form .wpcf7-response-output{
    margin:20px 0 0 !important;
    padding:12px 14px !important;
    border-radius:8px;
    font-size:.85rem;
}

/* TABLET */


/* MOBILE */





/* =========================================================
   FILTERS PAGE - CONTACT FORM 7 ADAPTER
   Existing CSS above is preserved unchanged.
   This block affects ONLY forms using .filters-form.
========================================================= */

.filters-form{
    width:100%;
    min-width:0;
}

.filters-form .wpcf7-form-control-wrap{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
}

/* ---------------------------------------------------------
   FILTER GRADE RADIO CARDS
--------------------------------------------------------- */

.filters-form .filter-grid{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
}

.filters-form .filter-grid .wpcf7-form-control-wrap{
    display:block !important;
    width:100% !important;
}

.filters-form .filter-grid .wpcf7-radio{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
    align-items:stretch !important;
}

.filters-form .filter-grid .wpcf7-list-item{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}

.filters-form .filter-grid .wpcf7-list-item label{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    cursor:pointer !important;
}

.filters-form .filter-grid input[type="radio"]{
    position:absolute !important;
    opacity:0 !important;
    width:1px !important;
    height:1px !important;
    margin:0 !important;
    padding:0 !important;
    pointer-events:none !important;
}

.filters-form .filter-grid .wpcf7-list-item-label{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    min-height:66px !important;
    height:100% !important;

    padding:12px 10px !important;
    box-sizing:border-box !important;

    border:2px solid var(--line) !important;
    border-radius:10px !important;

    background:#fff !important;
    color:var(--navy) !important;

    text-align:center !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;

    font-family:"Sora",sans-serif !important;
    font-size:.9rem !important;
    font-weight:600 !important;
    line-height:1.3 !important;

    transition:.2s !important;
}

/* Filter grade subtext */
.filters-form .filter-grid .wpcf7-list-item-label::after{
    display:block;
    margin-top:2px;

    font-family:"Inter",sans-serif;
    font-size:.72rem;
    font-weight:400;
    line-height:1.35;

    color:var(--grey);
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after{
    content:"General purpose";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after{
    content:"Aldehyde";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after{
    content:"Acid";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after{
    content:"Ammonia";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::after{
    content:"Education";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::after{
    content:"Particulates";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(7) .wpcf7-list-item-label::after{
    content:"Combination";
}

.filters-form .filter-grid .wpcf7-list-item:nth-child(8) .wpcf7-list-item-label::after{
    content:"Blended";
}

.filters-form .filter-grid input[type="radio"]:checked + .wpcf7-list-item-label{
    border-color:var(--blue-bright) !important;
    background:var(--blue-pale) !important;
}

.filters-form .filter-grid label:hover .wpcf7-list-item-label{
    border-color:var(--blue-bright) !important;
}

/* ---------------------------------------------------------
   FIELDS - KEEP ORIGINAL FILTER FORM DESIGN
--------------------------------------------------------- */

.filters-form input[type="text"],
.filters-form input[type="email"],
.filters-form input[type="tel"],
.filters-form input[type="number"],
.filters-form textarea,
.filters-form select{
    width:100% !important;
    max-width:100% !important;
    border:1px solid var(--line) !important;
    border-radius:9px !important;
    padding:12px 14px !important;
    font-family:"Inter",sans-serif !important;
    font-size:.96rem !important;
    color:var(--ink) !important;
    background:#fff !important;
    box-sizing:border-box !important;
    transition:.2s !important;
}

.filters-form input:focus,
.filters-form textarea:focus,
.filters-form select:focus{
    outline:0 !important;
    border-color:var(--blue-bright) !important;
    box-shadow:0 0 0 3px rgba(15,107,214,.12) !important;
}

.filters-form textarea{
    min-height:96px !important;
    resize:vertical !important;
}

.filters-form .frow{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:16px !important;
    width:100% !important;
}

/* ---------------------------------------------------------
   CONSENT
--------------------------------------------------------- */

.filters-form .consent .wpcf7-list-item{
    margin:0 !important;
}

.filters-form .consent label{
    display:flex !important;
    align-items:flex-start !important;
    gap:11px !important;
    margin:0 !important;

    font-family:"Inter",sans-serif !important;
    font-size:.86rem !important;
    font-weight:400 !important;
    line-height:1.5 !important;
    color:var(--grey) !important;
}

.filters-form .consent input[type="checkbox"]{
    width:17px !important;
    min-width:17px !important;
    height:17px !important;
    margin-top:3px !important;
    padding:0 !important;
    flex:none !important;
    accent-color:var(--blue-bright);
}

/* ---------------------------------------------------------
   SUBMIT
--------------------------------------------------------- */

.filters-form .qsubmit .wpcf7-submit{
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid transparent !important;
    border-radius:10px !important;

    padding:13px 24px !important;

    background:var(--blue-bright) !important;
    color:#fff !important;

    font-family:"Sora",sans-serif !important;
    font-size:1.05rem !important;
    font-weight:500 !important;
    line-height:1.4 !important;

    cursor:pointer !important;
    white-space:nowrap !important;

    box-shadow:0 10px 24px -12px rgba(15,107,214,.9) !important;
    transition:.25s ease !important;
}

.filters-form .qsubmit .wpcf7-submit:hover{
    background:var(--blue) !important;
    transform:translateY(-2px);
}

.filters-form .wpcf7-spinner{
    margin:0 !important;
}

.filters-form .wpcf7-not-valid-tip{
    display:block;
    margin-top:5px;
    font-size:.78rem;
    line-height:1.4;
}

.filters-form .wpcf7-response-output{
    margin:20px 0 0 !important;
    padding:12px 14px !important;
    border-radius:8px;
    font-size:.85rem;
}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */






/* =========================================================
   FILTERS FORM - FINAL GRADE SUBTEXT FIX
   Keeps all existing CSS untouched.
   Prevents Contact form topic text from appearing here.
========================================================= */

/* Works when filters-form class is present */
.filters-form .filter-grid .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after{
    content:"General purpose" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after{
    content:"Aldehyde" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after{
    content:"Acid" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after{
    content:"Ammonia" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::after{
    content:"Education" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::after{
    content:"Particulates" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(7) .wpcf7-list-item-label::after{
    content:"Combination" !important;
}
.filters-form .filter-grid .wpcf7-list-item:nth-child(8) .wpcf7-list-item-label::after{
    content:"Blended" !important;
}

/* Extra-safe CF7 targeting by field name */
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after{
    content:"General purpose" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after{
    content:"Aldehyde" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after{
    content:"Acid" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after{
    content:"Ammonia" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::after{
    content:"Education" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::after{
    content:"Particulates" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(7) .wpcf7-list-item-label::after{
    content:"Combination" !important;
}
.wpcf7-form-control-wrap[data-name="filter-grade"] .wpcf7-list-item:nth-child(8) .wpcf7-list-item-label::after{
    content:"Blended" !important;
}

/* =========================================================
   RESPONSIVE MEDIA QUERIES
   Consolidated in one place.
   Existing responsive rules are preserved; same breakpoints
   are combined so @media(max-width:640px), etc. appear once.
========================================================= */

@media (max-width:1080px){
nav.main{

        position:fixed;

        inset:0 0 0 auto;

        width:min(80vw,340px);

        background:#fff;

        flex-direction:column;

        justify-content:flex-start;

        padding:100px 26px 40px;

        gap:6px;

        transform:translateX(100%);

        transition:.35s;

        box-shadow:var(--shadow);

        align-items:stretch;
    }


    nav.main.open{
        transform:translateX(0);
    }


    nav.main a{
        font-size:1.05rem;

        padding:13px 16px;
    }


    .nav-cta{
        margin:14px 0 0;
    }


    .burger{
        display:flex;

        z-index:60;
    }


    .burger.open span:nth-child(1){
        transform:
            translateY(7px)
            rotate(45deg);
    }


    .burger.open span:nth-child(2){
        opacity:0;
    }


    .burger.open span:nth-child(3){
        transform:
            translateY(-7px)
            rotate(-45deg);
    }
nav.main .primary-menu{
        flex-direction:column;
        align-items:stretch;

        width:100%;

        gap:6px;
    }

    nav.main .primary-menu li{
        width:100%;
    }

    nav.main .primary-menu li a{
        width:100%;

        padding:13px 16px;
    }
header.nav{
        position:sticky;
        z-index:9999;
    }

    nav.main{
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        inset:0 !important;
        width:100vw !important;
        max-width:100vw !important;
        height:100vh !important;
        min-height:100vh !important;
        background:#fff !important;
        padding:100px 26px 40px !important;
        flex-direction:column !important;
        justify-content:flex-start !important;
        align-items:stretch !important;
        gap:6px !important;
        transform:translateX(100%) !important;
        transition:transform .35s ease !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        box-shadow:none !important;
        z-index:9998 !important;
        box-sizing:border-box !important;
    }

    nav.main.open{
        transform:translateX(0) !important;
    }

    nav.main .primary-menu{
        width:100% !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:6px !important;
    }

    nav.main .primary-menu li{
        width:100% !important;
    }

    nav.main .primary-menu li a,
    nav.main > a{
        display:block !important;
        width:100% !important;
        padding:13px 16px !important;
        box-sizing:border-box !important;
    }

    nav.main a.nav-cta{
        width:100% !important;
        margin:14px 0 0 !important;
        padding:14px 18px !important;
        text-align:center !important;
        color:#fff !important;
        background:var(--blue-bright) !important;
    }

    .burger{
        display:flex !important;
        position:relative;
        z-index:10000 !important;
    }
nav.main{
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:0 !important;

        width:100% !important;
        max-width:100% !important;
        height:100dvh !important;

        background:#fff !important;

        padding:100px 30px 40px !important;

        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;

        overflow-y:auto !important;
        overflow-x:hidden !important;

        z-index:9998 !important;

        transform:none !important;
        transition:none !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    nav.main.open{
        transform:none !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    nav.main .primary-menu{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        gap:6px !important;
    }

    nav.main .primary-menu li{
        width:100% !important;
    }

    nav.main .primary-menu li a{
        display:block !important;
        width:100% !important;
        padding:13px 16px !important;
    }

    nav.main a.nav-cta{
        width:100% !important;
        margin:14px 0 0 !important;

        padding:14px 18px !important;

        text-align:center !important;

        color:#fff !important;
        background:var(--blue-bright) !important;
    }

    .burger{
        display:flex !important;
        position:relative !important;
        z-index:10000 !important;
    }
}

@media (max-width:640px){
.util-left{
        gap:10px !important;
        flex-wrap:wrap;
        justify-content:space-between;
        width: 100%;
    }
.util-left span{
        display: none;
    }
    .site-logo img.custom-logo{
        width: 180px;
    }
    .footer-logo img{
        max-width: 180px;
    }
    footer{
      padding: 20px 0 26px !important;
    }
    footer h4{
        border-bottom: 1px solid #ffffff3b;
        padding-bottom: 8px;
    }
    .footer-menu {
        display: flex;
        gap: 5px;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .footer-menu li {
        width: 47%;
    }
    .util .wrap{
        height:auto;
        padding-top:8px;
        padding-bottom:8px;
        justify-content: space-between;
        gap: 0px !important;
    }
    .nav .wrap{
        height:70px !important;
        padding:0 20px;
    }


    .logo{
        font-size:1.7rem;
    }


    .logo .mark{
        width:30px;

        height:35px;
    }
.frow{
        grid-template-columns:1fr;
        gap:0;
    }

    .filter-grid{
        grid-template-columns:1fr 1fr;
    }
.default-page .vc_section > .vc_row{
        width:calc(100% - 32px) !important;
    }
.contact-page .vc_section > .vc_row{
        width:calc(100% - 32px) !important;
    }

    .contact-page section > .wrap{
        padding-left:20px;
        padding-right:20px;
    }

    .contact-page section.blk{
        padding:60px 0;
    }

    .contact-page .qform{
        padding:24px 18px;
    }

    .contact-page .frow{
        grid-template-columns:1fr;

        gap:0;
    }

    .contact-page .filter-grid{
        grid-template-columns:1fr 1fr;
    }
nav.main{
        padding:90px 20px 30px !important;
    }
nav.main{
        padding:90px 20px 30px !important;
    }
.qform .filter-grid .wpcf7-radio{
        grid-template-columns:1fr 1fr !important;
    }

    .qform .frow{
        grid-template-columns:1fr !important;
        gap:0 !important;
    }
.services-form .frow{
        grid-template-columns:1fr !important;
        gap:0 !important;
    }
.filters-form .filter-grid .wpcf7-radio{
        grid-template-columns:1fr 1fr !important;
    }

    .filters-form .frow{
        grid-template-columns:1fr !important;
        gap:0 !important;
    }
    .shero h1{
        font-size: clamp(1.4rem, 4.5vw, 3.1rem);
    }
    .shero-cta .btn{
        font-size: 0.8rem;
        padding: 10px 10px;
    }
    .shero {
        padding: 20px 0px;
    }
    .shero .tagline{
        font-size: 1rem;
    }
    section.blk .sec-head.center h2{
        font-size: clamp(1.3rem, 3.6vw, 2.7rem);
    }
    .sector-item{
        padding: 15px;
    }
    .test-row{
        padding: 15px;
        flex-direction: column;
    }
    .coshh {
    padding: 15px;
    flex-direction: column;
    }
    .core-card.reveal.in{
        padding: 15px !important;
    }
    .core-card.reveal.in h3{
        font-size: 1.1rem;
    }
    section.blk.semper.reveal.in h2{
        margin: 15px 0;
        font-size: 1.2rem;
    }
    .semper-chips{
        justify-content: space-between;
    }
    .semper-chips span {
        font-size: .8rem;
        width: 48%;
    }
    .also-item{
        padding: 15px;
    }
    .svc-stats .v{
        font-size: 1rem;
    }
    section.blk.quote.reveal.in .sec-head h2{
        font-size: clamp(1.4rem, 3.6vw, 2.7rem);
    }
    .qform.reveal.in.services-form h3{
       padding: 12px; 
    }
    .qform.reveal.in.services-form .filter-lab{
       padding: 0 12px 12px 12px;
    }
    .qform.reveal.in.services-form{
       padding: 15px;
    }
    .qside.reveal.in{
        padding: 15px;
    }
    .qside.reveal.in h3{
        font-size: 1.1rem;
    }
    .qside.reveal.in .qrow .v{
        font-size: .8rem;

    }
    section.blk.scta.reveal.in{
        padding: 0 !important;
    }
}

@media (max-width:820px){
.foot-grid{
        grid-template-columns:1fr 1fr;
        gap:34px;
    }
.core-grid{
        grid-template-columns:1fr;
    }

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

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

@media (max-width:520px){
.foot-grid{
        grid-template-columns:1fr;
    }
.also-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:1000px){
.product-category-page .cat-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media (max-width:700px){
.product-category-page .prod{
        padding:50px 0 70px;
    }

    .product-category-page .sec-head h1{
        font-size:32px;
    }

    .product-category-page .cat-grid{
        grid-template-columns:1fr;
    }

    .product-card-image{
        height:210px;
    }
}

@media (max-width:900px){
.semper-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .semper-media{
        max-width:440px;
        margin-inline:auto;
    }

    .quote-grid{
        grid-template-columns:1fr;
        gap:28px;
    }

    .qside{
        position:static;
    }
.default-page .vc_section > .vc_row{
        width:calc(100% - 40px) !important;
    }
.contact-page .vc_section > .vc_row{
        width:calc(100% - 40px) !important;
    }

    .cform-grid{
        grid-template-columns:1fr;

        gap:32px;
    }
.services-form .filter-grid .wpcf7-radio{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
}

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

    .sector-grid{
        grid-template-columns:1fr 1fr;
    }
.cmeth-grid{
        grid-template-columns:1fr;

        margin-top:-40px;
    }
}

@media (max-width:720px){
.svc-stats-grid{
        grid-template-columns:1fr 1fr;
        gap:26px;
    }
}

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

@media (max-width:420px){
.filter-grid{
        grid-template-columns:1fr;
    }
.contact-page .filter-grid{
        grid-template-columns:1fr;
    }
.qform .filter-grid .wpcf7-radio{
        grid-template-columns:1fr !important;
    }
.services-form .filter-grid .wpcf7-radio{
        grid-template-columns:1fr !important;
    }
.filters-form .filter-grid .wpcf7-radio{
        grid-template-columns:1fr !important;
    }
}

@media (max-width:760px){
.chero-media::after{
        background:
            linear-gradient(
                180deg,
                rgba(2,58,128,.9),
                rgba(3,84,176,.75)
            );
    }

    .chero-inner{
        padding:60px 0 54px;
    }
}

@media (max-width:767px){
.chero,
    .chero .chero-inner{
        min-height:400px;
    }

    .chero::before{
        background:linear-gradient(
            120deg,
            rgba(2,58,128,.94) 0%,
            rgba(3,84,176,.82) 65%,
            rgba(3,84,176,.55) 100%
        );
    }

    .chero .wrap{
        padding:0 20px;
    }
}

/* =============================================
   FUMECARE PRIVACY POLICY
============================================= */

.fc-privacy-page {
    background: #fff;
    color: #182f3c;
}

.fc-privacy-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* HERO */

.fc-privacy-hero {
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    background: #023a80;
}

.fc-privacy-hero::before {
    content: "";
    position: absolute;
    width: 440px;
    height: 440px;
    right: -120px;
    top: -220px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 50%;
}

.fc-privacy-hero::after {
    content: "";
    position: absolute;
    width: 270px;
    height: 270px;
    right: 80px;
    bottom: -180px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 50%;
}

.fc-privacy-hero-content {
    position: relative;
    z-index: 2;
    max-width: 750px;
}

.fc-privacy-eyebrow {
    display: block;
    margin-bottom: 17px;
    color: #65c8eb;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.fc-privacy-hero h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.05;
}

.fc-privacy-hero p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.75;
}

.fc-privacy-updated {
    display: inline-block;
    margin-top: 27px;
    padding: 8px 14px;
    color: rgba(255,255,255,.75);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 30px;
    font-size: 12px;
}


/* CONTENT */

.fc-privacy-content {
    padding: 80px 0 95px;
}

.fc-privacy-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 65px;
    align-items: start;
}


/* SIDEBAR */

.fc-privacy-sidebar {
    position: sticky;
    top: 110px;
}

.fc-privacy-side-card {
    padding: 25px;
    background: #f5f8fa;
    border: 1px solid #e3eaee;
    border-radius: 8px;
}

.fc-privacy-side-title {
    display: block;
    margin-bottom: 15px;
    color: #8999a2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.fc-privacy-side-card nav {
    display: flex;
    flex-direction: column;
}

.fc-privacy-side-card nav a {
    padding: 9px 0 9px 14px;
    color: #526a77;
    border-left: 2px solid #dce5e9;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
    transition: all .2s ease;
}

.fc-privacy-side-card nav a:hover {
    padding-left: 18px;
    color: #0785b7;
    border-left-color: #25a8d7;
}


/* INTRO BOX */

.fc-privacy-intro {
    display: flex;
    gap: 20px;
    margin-bottom: 50px;
    padding: 27px;
    background: #eff9fc;
    border-left: 4px solid #28a9d8;
    border-radius: 5px;
}

.fc-privacy-intro-icon {
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    color: #178ebd;
}

.fc-privacy-intro-icon svg {
    width: 100%;
    height: 100%;
}

.fc-privacy-intro h2 {
    margin: 0 0 8px;
    color: #153b4d;
    font-size: 20px;
}

.fc-privacy-intro p {
    margin: 0;
    color: #596f7a;
    font-size: 15px;
    line-height: 1.75;
}


/* POLICY SECTIONS */

.fc-privacy-section {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 20px;
    margin-bottom: 38px;
    padding-bottom: 38px;
    border-bottom: 1px solid #e4ebee;
    scroll-margin-top: 120px;
}

.fc-privacy-number {
    padding-top: 4px;
    color: #20a2d2;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}

.fc-privacy-section h2 {
    margin: 0 0 12px;
    color: #15394a;
    font-size: 23px;
    line-height: 1.3;
}

.fc-privacy-section p {
    margin: 0;
    color: #596f7a;
    font-size: 15px;
    line-height: 1.85;
}


/* CONTACT BOX */

.fc-privacy-contact {
    margin-top: 15px;
    padding: 38px;
    background: #023a80;
    border-radius: 8px;
    scroll-margin-top: 120px;
}

.fc-privacy-contact-label {
    display: block;
    margin-bottom: 9px;
    color: #67caed;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.fc-privacy-contact h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 29px;
}

.fc-privacy-contact > p {
    max-width: 620px;
    margin: 0;
    color: rgba(255,255,255,.74);
    font-size: 15px;
    line-height: 1.7;
}

.fc-privacy-contact-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 25px;
}

.fc-privacy-contact-links a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 245px;
    padding: 14px 17px;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 5px;
    text-decoration: none;
    transition: .2s ease;
}

.fc-privacy-contact-links a:hover {
    color: #fff;
    background: rgba(255,255,255,.14);
}

.fc-privacy-contact-links small {
    display: block;
    margin-bottom: 2px;
    color: #8bd8f3;
    font-size: 11px;
}

.fc-privacy-contact-links strong {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

.fc-contact-icon {
    font-size: 20px;
}


/* BOTTOM CTA */

.fc-privacy-cta {
    padding: 60px 0;
    background: #f3f7f9;
    border-top: 1px solid #e4ebee;
}

.fc-privacy-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.fc-privacy-cta-inner > div > span {
    display: block;
    margin-bottom: 7px;
    color: #148dbb;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.fc-privacy-cta h2 {
    margin: 0 0 7px;
    color: #14394a;
    font-size: 31px;
}

.fc-privacy-cta p {
    margin: 0;
    color: #647985;
    font-size: 15px;
}

.fc-privacy-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 25px;
    color: #fff !important;
    background: #168fbd;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: .2s ease;
}

.fc-privacy-btn:hover {
    color: #fff !important;
    background: #0878a3;
    transform: translateY(-2px);
}


/* FORM PRIVACY POLICY LINKS
   Client requested Privacy Policy to be underlined
============================================= */

.consent a[href*="privacy-policy"] {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .fc-privacy-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .fc-privacy-sidebar {
        position: static;
    }

    .fc-privacy-side-card nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 20px;
    }

    .fc-privacy-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}


@media (max-width: 600px) {

    .fc-privacy-container {
        width: calc(100% - 30px);
    }

    .fc-privacy-hero {
        padding: 60px 0;
    }

    .fc-privacy-hero h1 {
        font-size: 39px;
    }

    .fc-privacy-hero p {
        font-size: 15.5px;
    }

    .fc-privacy-content {
        padding: 55px 0 65px;
    }

    .fc-privacy-side-card nav {
        grid-template-columns: 1fr;
    }

    .fc-privacy-intro {
        flex-direction: column;
        padding: 22px;
    }

    .fc-privacy-section {
        grid-template-columns: 1fr;
        gap: 7px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .fc-privacy-section h2 {
        font-size: 21px;
    }

    .fc-privacy-contact {
        padding: 27px 21px;
    }

    .fc-privacy-contact-links {
        flex-direction: column;
    }

    .fc-privacy-contact-links a {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .fc-privacy-cta {
        padding: 48px 0;
    }

    .fc-privacy-btn {
        width: 100%;
        box-sizing: border-box;
    }
}


/* =========================================================
   FUMECARE PRODUCTS PAGE - DESIGN IMPROVEMENTS START
   ========================================================= */


/* =========================
   MAIN PRODUCTS AREA
   ========================= */

.fumecare-all-products {
    background: linear-gradient(180deg, #f8fbff 0%, #f3f7fc 100%);
    padding: 75px 20px 95px;
}

.fumecare-all-products .products-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================
   PAGE HEADING
   ========================= */

.fumecare-all-products .products-heading {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 38px;
}

.fumecare-all-products .products-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: #0b66d4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.fumecare-all-products .products-heading h1 {
    margin: 0 0 15px;
    font-size: 46px;
    line-height: 1.15;
    color: #003f8f;
}

.fumecare-all-products .products-heading p {
    margin: 0 auto;
    max-width: 720px;
    color: #607086;
    font-size: 16px;
    line-height: 1.7;
}


/* =========================
   PRODUCT FILTER
   ========================= */

.fumecare-all-products .products-filter {
    display: flex;
    justify-content: center;
    margin: 0 auto 42px;
}

.fumecare-all-products .products-filter select {
    width: 100%;
    max-width: 440px;
    min-height: 52px;
    padding: 0 45px 0 18px;

    background: #ffffff;
    border: 1px solid #cdddeb;
    border-radius: 10px;

    color: #003f8f;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
    outline: none;

    box-shadow: 0 5px 18px rgba(0, 63, 143, 0.06);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.fumecare-all-products .products-filter select:hover,
.fumecare-all-products .products-filter select:focus {
    border-color: #0b66d4;
    box-shadow: 0 7px 22px rgba(0, 63, 143, 0.10);
}


/* =========================
   PRODUCT GRID
   ========================= */

.fumecare-all-products .products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}


/* =========================
   PRODUCT CARD
   ========================= */

.fumecare-all-products .product-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;

    padding: 16px 16px 20px;

    background: #ffffff;
    border: 1px solid #dce6f0;
    border-radius: 16px;

    color: inherit;
    text-decoration: none;

    box-shadow: 0 5px 20px rgba(27, 65, 98, 0.05);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.fumecare-all-products .product-card:hover {
    transform: translateY(-5px);
    border-color: #b8d2ec;
    box-shadow: 0 16px 38px rgba(0, 63, 143, 0.12);
}


/* =========================
   PRODUCT IMAGE BOX
   ========================= */

.fumecare-all-products .product-card-image {
    width: 100%;
    height: 260px;

    margin-bottom: 20px;
    padding: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: #f7f9fc;
    border: 1px solid #edf1f5;
    border-radius: 12px;

    box-sizing: border-box;
}


/* =========================
   PRODUCT IMAGE
   NO HOVER / NO ZOOM
   ========================= */

.fumecare-all-products .product-card-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;

    transform: none !important;
    transition: none !important;
}


/* Make sure image never moves on hover */

.fumecare-all-products .product-card:hover .product-card-image img {
    transform: none !important;
}


/* =========================
   NO IMAGE PLACEHOLDER
   ========================= */

.fumecare-all-products .product-placeholder {
    color: #8a9bb0;
    font-size: 14px;
}


/* =========================
   PRODUCT NAME
   ========================= */

.fumecare-all-products .product-card h3 {
    margin: 0 0 9px;

    color: #003f8f;

    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
}


/* =========================
   PRODUCT SKU
   ========================= */

.fumecare-all-products .product-sku {
    display: inline-block;
    align-self: flex-start;

    margin-bottom: 12px;
    padding: 4px 8px;

    background: #eef6ff;
    border-radius: 5px;

    color: #0b66d4;

    font-size: 11px;
    font-weight: 700;
}


/* =========================
   PRODUCT DESCRIPTION
   ========================= */

.fumecare-all-products .product-description {
    margin: 0 0 20px;

    color: #607086;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================
   VIEW PRODUCT BUTTON
   ========================= */

.fumecare-all-products .view-product {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;

    min-height: 42px;
    margin-top: auto;
    padding: 0 18px;

    background: #0b66d4;
    border: 1px solid #0b66d4;
    border-radius: 8px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    box-shadow: 0 5px 14px rgba(11, 102, 212, 0.18);

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.fumecare-all-products .product-card:hover .view-product {
    background: #003f8f;
    border-color: #003f8f;
    color: #ffffff;

    box-shadow: 0 7px 18px rgba(0, 63, 143, 0.22);
}


/* =========================
   NO PRODUCTS
   ========================= */

.fumecare-all-products .no-products {
    grid-column: 1 / -1;

    padding: 60px 30px;

    background: #ffffff;
    border: 1px solid #d8e4f1;
    border-radius: 14px;

    text-align: center;
}

.fumecare-all-products .no-products h3 {
    margin: 0 0 10px;
    color: #003f8f;
    font-size: 24px;
}


/* =========================
   TABLET
   ========================= */

@media (max-width: 1000px) {

    .fumecare-all-products .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 700px) {

    .fumecare-all-products {
        padding: 50px 16px 70px;
    }

    .fumecare-all-products .products-heading {
        margin-bottom: 30px;
    }

    .fumecare-all-products .products-heading h1 {
        font-size: 34px;
    }

    .fumecare-all-products .products-heading p {
        font-size: 15px;
    }

    .fumecare-all-products .products-filter {
        margin-bottom: 30px;
    }

    .fumecare-all-products .products-filter select {
        max-width: 100%;
    }

    .fumecare-all-products .products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .fumecare-all-products .product-card-image {
        height: 240px;
    }

}


/* =========================================================
   FUMECARE PRODUCTS PAGE - DESIGN IMPROVEMENTS END
   ========================================================= */