:root{
    --blue:#07589b;
    --navy:#07345c;
    --green:#2d7d32;
    --ink:#102334;
    --muted:#607080;
    --line:#dfe8ec;
    --bg:#f5f9fa;
    --white:#fff;
    --radius:22px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:"DM Sans",sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.6;
}


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

.site-header{
    height:86px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px clamp(20px,5vw,80px);
    border-bottom:1px solid #edf1f3;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(14px);
    position:sticky;
    top:0;
    z-index:20;
}

.brand img{
    width:210px;
    max-height:60px;
    object-fit:contain;
}

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

.nav a{
    color:var(--ink);
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}


/* =========================
   BUTTONS
========================= */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:15px 22px;
    border-radius:10px;
    background:var(--blue);
    color:#fff;
    text-decoration:none;
    border:1px solid var(--blue);
    font-weight:700;
    font-size:14px;
    cursor:pointer;
    transition:.25s;
}

.btn:hover{
    background:var(--navy);
    border-color:var(--navy);
    transform:translateY(-1px);
}

.btn-small{
    padding:11px 18px;
}

.btn-outline{
    background:#fff;
    color:var(--blue);
}

.menu-toggle{
    display:none;
    border:0;
    background:none;
    padding:5px;
}

.menu-toggle span{
    display:block;
    width:23px;
    height:2px;
    background:var(--ink);
    margin:5px;
}


/* =================================================
   HERO SECTION
   FULL BACKGROUND IMAGE
================================================= */

.hero{
    position:relative;

    min-height:calc(100vh - 86px);

    display:flex;
    align-items:center;

    overflow:hidden;

    background:#eef5f7;
}


/* =================================================
   FULL HERO IMAGE
================================================= */

.hero-visual{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    z-index:0;
}


.hero-visual > img{
    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;

    display:block;

    filter:none;

    mix-blend-mode:normal;
}


/* =================================================
   WHITE GRADIENT OVERLAY
   FOR TEXT READABILITY
================================================= */

.hero::before{
    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,

        rgba(255,255,255,.98) 0%,

        rgba(255,255,255,.95) 25%,

        rgba(255,255,255,.82) 42%,

        rgba(255,255,255,.45) 58%,

        rgba(255,255,255,.08) 78%,

        rgba(255,255,255,0) 100%
    );

    z-index:1;
}


/* =================================================
   HERO TEXT CONTENT
================================================= */

.hero-copy{
    position:relative;

    z-index:2;

    width:50%;

    max-width:760px;

    padding:
        clamp(60px,9vw,130px)
        clamp(20px,5vw,90px);

    padding-right:20px;
}


/* =================================================
   EYEBROW
================================================= */

.eyebrow,
.section-label{
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    color:var(--blue);
    display:flex;
    align-items:center;
    gap:9px;
}

.eyebrow span{
    width:36px;
    height:2px;
    background:var(--green);
}


/* =================================================
   HEADINGS
================================================= */

h1,
h2,
h3{
    font-family:"Manrope",sans-serif;
    line-height:1.05;
    margin:0;
}

h1{
    font-size:clamp(45px,6vw,86px);
    letter-spacing:-.055em;
    margin:20px 0 24px;
}

h1 em{
    font-style:normal;
    color:var(--blue);
}


/* =================================================
   HERO DESCRIPTION
================================================= */

.hero-copy > p{
    max-width:590px;
    color:var(--muted);
    font-size:18px;
}


/* =================================================
   HERO ACTIONS
================================================= */

.hero-actions{
    display:flex;
    gap:24px;
    align-items:center;
    margin:32px 0 48px;
}

.text-link,
.arrow-link{
    color:var(--blue);
    font-weight:700;
    text-decoration:none;
}

.text-link b,
.arrow-link span{
    margin-left:8px;
}


/* =================================================
   HERO TRUST
================================================= */

.hero-trust{
    display:flex;
    gap:0;
}

.hero-trust > div{
    padding:0 22px;
    border-left:1px solid var(--line);
}

.hero-trust > div:first-child{
    padding-left:0;
    border:0;
}

.hero-trust strong,
.hero-trust span{
    display:block;
}

.hero-trust strong{
    font-size:14px;
}

.hero-trust span{
    font-size:12px;
    color:var(--muted);
}


/* =================================================
   REMOVE OLD HERO ORBS
================================================= */

.orb{
    display:none;
}


/* =================================================
   HERO BADGE
================================================= */

.hero-badge{
    position: absolute;

    z-index: 10;

    right: 8%;
    bottom: 9%;

    display: flex;
    align-items: center;
    gap: 16px;

    padding: 22px 26px;

    background: #ffffff;

    border-radius: 18px;

    opacity: 1;

    filter: none;

    isolation: isolate;

    box-shadow:
        0 18px 50px
        rgba(7, 52, 92, 0.18);
}

.hero-badge span{
    font-family: "Manrope", sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    color: var(--green);
    opacity: 1;
}

.hero-badge p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--muted);
    opacity: 1;
}

.hero-badge b {
    color: var(--ink);
    font-weight: 800;
    opacity: 1;
}


/* =================================================
   INTRO STRIP
================================================= */

.intro-strip{
    padding: 70px clamp(20px, 7vw, 130px);

    background: var(--navy);

    color: #fff;
}


.intro-strip .section-label{
    color: #7cc6ee;
}


.intro-grid{
    display: grid;

    grid-template-columns: 1.1fr .9fr;

    gap: 60px;

    margin-top: 18px;

    align-items: center;
}


.intro-grid h2,
.section-heading h2,
.contact-info h2{
    font-size: clamp(34px, 4.2vw, 60px);

    letter-spacing: -.045em;

    line-height: 1.05;
}


.intro-grid h2 span,
.section-heading h2 span,
.contact-info h2 span,
.visual-cta h2 span{
    color: #54b25a;
}


.intro-grid p{
    color: #bfd0dc;

    font-size: 17px;

    line-height: 1.7;

    margin: 0 0 20px;
}


.intro-grid .arrow-link{
    color: #fff;
}

/* =================================================
   GENERAL SECTION
================================================= */

.section{
    padding: 75px clamp(20px, 7vw, 130px);
}

.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:48px;
}

.section-heading > p{
    max-width:400px;
    color:var(--muted);
    margin:0;
}


/* =================================================
   SOLUTIONS
================================================= */

.solution-grid{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    gap:18px;
}

.solution-card{
    min-height:380px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    background:#fff;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}

.solution-card.featured{
    padding:0;
}

.solution-card.featured img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.solution-card.featured::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            0deg,
            rgba(7,35,57,.92),
            rgba(7,35,57,.04) 70%
        );
}

.solution-content{
    position:relative;
    z-index:2;
    color:#fff;
    padding:30px;
}

.solution-content span,
.solution-card > span{
    font-size:12px;
    color:var(--green);
    font-weight:800;
}

.solution-content h3,
.solution-card h3{
    font-size:27px;
    margin:10px 0;
}

.solution-content p,
.solution-card p{
    font-size:14px;
    color:var(--muted);
    max-width:460px;
}

.solution-content p{
    color:#d7e3e9;
}

.solution-content a{
    color:#fff;
    font-weight:700;
    text-decoration:none;
    font-size:14px;
}

.solution-card:not(.featured){
    background:
        linear-gradient(
            160deg,
            #f7fbfc,
            #fff
        );
}

.solution-card .icon{
    font-size:40px;
    color:var(--blue);
    margin-bottom:auto;
}


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

.products{
    background:var(--bg);
    padding-top: 65px;
}

.product-showcase{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    background:#fff;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
}

.product-image{
    min-height:500px;
    background:#eef7fa;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.product-copy{
    padding:clamp(30px,5vw,65px);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.number{
    font-weight:800;
    color:var(--green);
}

.product-copy h3{
    font-size:42px;
    margin:12px 0;
}

.product-copy p{
    color:var(--muted);
}

.capacity-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:18px 0 28px;
}

.capacity-row span{
    padding:8px 12px;
    border-radius:7px;
    background:#eef6f8;
    color:var(--blue);
    font-size:12px;
    font-weight:800;
}

/* PRODUCT GRID */

.product-list{

    display:grid;

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

    gap:14px;

    margin-top:14px;

}


/* CARD */

.product-list .product-card{

    background:#fff;

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

    border-radius:15px;

    overflow:hidden;

    padding:0;

    transition:transform .3s ease, box-shadow .3s ease;

}


/* IMAGE AREA */

.product-card-image{

    width:100%;

    height:180px;

    overflow:hidden;

    background:#eef7fa;

}

.product-card-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:transform .5s ease;

}


/* CONTENT AREA */

.product-card-content{

    padding:22px 24px 24px;

}


/* NUMBER */

.product-card-content > span{

    display:block;

    font-size:11px;

    font-weight:800;

    color:var(--green);

    margin-bottom:8px;

}


/* TITLE */

.product-card-content h3{

    font-size:19px;

    margin:0 0 8px;

}


/* DESCRIPTION */

.product-card-content p{

    font-size:13px;

    color:var(--muted);

    margin:0;

    line-height:1.6;

}


/* HOVER */

.product-list .product-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 30px rgba(20,50,70,.08);

}

.product-list .product-card:hover img{

    transform:scale(1.05);

}


/* =================================================
   PROCESS BAND
================================================= */

.process-band{
    background:var(--blue);
    color:#fff;
    padding:55px clamp(20px,7vw,130px);

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

    gap:30px;
}

.process-band div{
    border-left:1px solid rgba(255,255,255,.28);
    padding-left:20px;
}

.process-band span{
    font-size:11px;
    color:#7ce08a;
    font-weight:800;
}

.process-band h3{
    font-size:21px;
    margin:8px 0;
}

.process-band p{
    font-size:13px;
    color:#d7e8f2;
    margin:0;
}


/* =================================================
   INDUSTRIES
================================================= */

.industries{
    padding-bottom:95px;
}

.industry-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

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

.industry-grid span{
    padding:24px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    font-weight:700;
}


/* =================================================
   VISUAL CTA
================================================= */

.visual-cta{
    min-height:650px;
    position:relative;
    color:#fff;

    display:grid;
    grid-template-columns:1fr 1fr;

    align-items:center;

    overflow:hidden;

    background:#092e4b;
}

.visual-cta > img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    opacity:.34;
}

.visual-cta > div{
    position:relative;

    grid-column:2;

    padding:
        80px
        clamp(25px,7vw,130px)
        80px
        30px;
}

.visual-cta .section-label{
    color:#91c7e5;
}

.visual-cta h2{
    font-size:clamp(36px,4.5vw,62px);
    letter-spacing:-.05em;
    margin:16px 0;
}

.visual-cta p{
    color:#c7d7df;
    max-width:540px;
}

.visual-cta .btn{
    margin-top:18px;
    background:#fff;
    color:var(--navy);
    border-color:#fff;
}


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

.contact-section{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;

    padding:110px clamp(20px,7vw,130px);

    background:#f6fafb;
}

.contact-info > p{
    color:var(--muted);
    max-width:500px;
}

.contact-items{
    margin-top:35px;
    display:grid;
    gap:18px;
}

.contact-items > *{
    display:grid;
    grid-template-columns:150px 1fr;

    text-decoration:none;
    color:var(--ink);

    padding-bottom:16px;

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

.contact-items b{
    font-size:13px;
}

.contact-items span{
    color:var(--muted);
}


/* =================================================
   QUOTE FORM
================================================= */

.quote-form{
    background:#fff;

    border-radius:20px;

    padding:clamp(25px,4vw,50px);

    box-shadow:
        0 18px 60px
        rgba(7,52,92,.08);
}

.form-top{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:start;
    margin-bottom:25px;
}

.form-top h3{
    font-size:30px;
    margin-top:8px;
}

.form-status{
    font-size:13px;
    color:var(--green);
    font-weight:700;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

label{
    display:grid;
    gap:8px;

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

    color:#34485a;

    margin-bottom:18px;
}

input,
textarea,
select{
    width:100%;

    border:1px solid #d8e2e6;

    border-radius:9px;

    padding:13px;

    font:inherit;

    color:var(--ink);

    background:#fff;

    outline:none;
}

input:focus,
textarea:focus,
select:focus{
    border-color:var(--blue);

    box-shadow:
        0 0 0 3px
        rgba(7,88,155,.08);
}

.submit-btn{
    width:100%;
    font-size:15px;
}

.privacy-note{
    font-size:11px;
    color:#8b98a2;
    text-align:center;
    margin:13px 0 0;
}

/* =================================================
   FORM VALIDATION
================================================= */

.quote-form label{
    position:relative;
}


.field-error{
    display:block;

    min-height:16px;

    margin-top:5px;

    color:#c84242;

    font-size:11px;

    font-weight:600;
}


.input-error{
    border-color:#d9534f !important;

    outline:none;

    box-shadow:
        0 0 0 3px
        rgba(217,83,79,.10);
}


.form-status{
    font-size:12px;

    font-weight:700;

    color:var(--green);
}


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

footer{
    background:#082a45;
    color:#fff;
}

/* Main Footer */

.footer-main{
    padding:55px clamp(20px,7vw,130px) 45px;

    display:grid;
    grid-template-columns:1.5fr .8fr 1fr;

    gap:70px;

    align-items:start;
}

/* Brand */

.footer-brand img{
    width:190px;
    background:#fff;
    border-radius:10px;
    padding:6px;
}

.footer-brand p{
    margin:14px 0 0;
    color:#a8c0cf;
    font-size:14px;
}

.footer-brand .footer-description{
    max-width:330px;
    line-height:1.7;
    margin-top:12px;
    color:#8faab9;
    font-size:13px;
}

/* Footer Columns */

.footer-title{
    display:block;

    margin-bottom:18px;

    font-size:11px;
    font-weight:800;

    letter-spacing:.14em;

    color:#6fc17b;
}

/* Links */

.footer-links{
    display:flex;
    flex-direction:column;

    gap:12px;
}

.footer-links a,
.footer-contact a{
    color:#d9e6ed;
    text-decoration:none;

    font-size:14px;

    transition:.2s ease;
}

.footer-links a:hover,
.footer-contact a:hover{
    color:#6fc17b;
}

/* Contact */

.footer-contact{
    display:flex;
    flex-direction:column;

    gap:12px;

    color:#a8c0cf;

    font-size:14px;
}

.footer-contact span{
    color:#a8c0cf;
}

/* Bottom Footer */

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);

    padding:20px clamp(20px,7vw,130px);

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

    gap:20px;
}

.footer-bottom p,
.footer-bottom span{
    margin:0;

    color:#8faab9;

    font-size:12px;
}


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

.mobile-bar{
    display:none;
}


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

@media(max-width:900px){

    .site-header{
        position:sticky;
        top:0;
        z-index:100;
        width:100%;
        height:72px;
    }

    .brand img{
        width:175px;
    }

    .menu-toggle{
        display:block;
    }

    .nav{
        position:absolute;

        left:0;
        right:0;
        top:72px;
        z-index:200;
        background:#fff;

        padding:22px;

        display:none;

        flex-direction:column;

        align-items:stretch;

        box-shadow:
            0 16px 30px
            rgba(0,0,0,.08);
    }

    .nav.open{
        display:flex;
    }

    .nav a{
        text-align:center;
    }


/* =========================
   MOBILE HERO - COMPACT
========================= */


    .hero {
        position: relative;

        min-height: auto;
        height: auto;

        padding-bottom: 0;

        overflow: hidden;
    }


    /* BACKGROUND IMAGE */

    .hero-visual {
        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        z-index: 0;
    }


    .hero-visual > img {
        width: 100%;
        height: 100%;

        object-fit: cover;

        object-position: 72% center;
    }


    /* WHITE FADE */

    .hero::before {
        content: "";

        position: absolute;

        inset: 0;

        z-index: 1;

        background: linear-gradient(
            90deg,
            rgba(255,255,255,.96) 0%,
            rgba(255,255,255,.88) 48%,
            rgba(255,255,255,.52) 75%,
            rgba(255,255,255,.18) 100%
        );
    }


    /* CONTENT */

    .hero-copy {
        position: relative;

        z-index: 2;

        width: 100%;

        padding:
            58px
            26px
            150px;
    }


    /* HEADING */

    .hero h1 {
        font-size: 48px;

        line-height: 1.08;

        margin:
            16px
            0
            16px;

        max-width: 340px;
    }


    /* DESCRIPTION */

    .hero-copy > p {
        font-size: 16px;

        line-height: 1.6;

        max-width: 340px;

        margin-bottom: 22px;
    }


    /* ACTIONS */

    .hero-actions {
        display: flex;

        align-items: center;

        gap: 24px;

        margin-bottom: 42px;
    }


    /* TRUST POINTS */

    .hero-trust {
        display: grid;

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

        gap: 0;

        width: 100%;

        margin: 0;

        position: relative;

        z-index: 1;
    }


    .hero-trust > div {
        padding: 0 12px;

        border-left:
            1px solid
            rgba(30,65,92,.12);
    }


    .hero-trust > div:first-child {
        padding-left: 0;

        border-left: none;
    }


    .hero-trust strong {
        font-size: 15px;

        white-space: nowrap;
    }


    .hero-trust span {
        font-size: 12px;

        white-space: nowrap;
    }


    /* CUSTOMER BADGE */

      .hero-badge {
        position: absolute !important;

        z-index: 20 !important;

        opacity: 1 !important;

        filter: none !important;

        isolation: isolate;

        background: #ffffff !important;

        right: 12px;

        bottom: 14px;

        box-shadow:
            0 10px 30px
            rgba(10, 45, 70, 0.18);
    }


    .hero-badge::before,
    .hero-badge::after {
        display: none !important;
    }


    .hero-badge span {
        position: relative;
        z-index: 21;
        opacity: 1 !important;
        color: #6d9f77 !important;
    }


    .hero-badge p,
    .hero-badge b {
        position: relative;

        z-index: 21;

        opacity: 1 !important;

        color: #2b4052 !important;
    }

    /* =========================
       OTHER SECTIONS
    ========================= */

    .intro-grid,
    .contact-section{
        grid-template-columns:1fr;
        gap:35px;
    }

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

    .solution-card.featured{
        grid-column:span 2;
    }

    .product-showcase{
        grid-template-columns:1fr;
    }

    .product-image{
        min-height:380px;
    }

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

    .process-band{
        grid-template-columns:1fr 1fr;
    }

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

    .visual-cta{
        grid-template-columns:1fr;
    }

    .visual-cta > div{
        grid-column:1;
        padding:80px 24px;
    }

    .visual-cta > img{
        opacity:.22;
    }

    .contact-section{
        padding:80px 24px;
    }

 /* =========================
   MOBILE FOOTER - COMPACT
========================= */
footer{
        padding:0 !important;

        display:block !important;
    }


    /* MAIN FOOTER AREA */

    .footer-main{
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:22px !important;

        padding:28px 24px 22px !important;

        align-items:start !important;
    }


    /* BRAND */

    .footer-brand{
        margin:0 !important;
        padding:0 !important;
    }

    .footer-brand img{
        width:125px !important;

        display:block;

        margin:0 0 8px !important;

        padding:4px;
    }

    .footer-brand p{
        margin:0 !important;

        font-size:11px;

        line-height:1.5;
    }

    .footer-brand .footer-description{
        margin-top:8px !important;

        max-width:280px;

        line-height:1.55;
    }


    /* FOOTER COLUMNS */

    .footer-column{
        margin:0 !important;
        padding:0 !important;
    }


    /* TITLES */

    .footer-title{
        display:block;

        margin:0 0 10px !important;

        font-size:9px;

        font-weight:800;

        letter-spacing:.14em;

        color:#78a979;
    }


    /* QUICK LINKS */

    .footer-links{
        display:grid !important;

        grid-template-columns:1fr 1fr !important;

        gap:10px 25px !important;

        margin:0 !important;

        padding:0 !important;
    }

    .footer-links a{
        padding:0 !important;

        border:none !important;

        font-size:11px;
    }


    /* CONTACT */

    .footer-contact{
        display:flex !important;

        flex-direction:column !important;

        align-items:flex-start !important;

        gap:7px !important;

        margin:0 !important;

        padding:0 !important;
    }

    .footer-contact a,
    .footer-contact span{
        margin:0 !important;

        font-size:11px;

        line-height:1.4;
    }

    /* CONTACT NUMBER LIGHT - NOT GREEN */

    .footer-contact a{
        color:#d9e6ed !important;
    }

    .footer-contact span{
        color:#a8c0cf !important;
    }


    /* FOOTER BOTTOM */

    .footer-bottom{
        display:flex !important;

        justify-content:space-between !important;

        align-items:flex-start !important;

        gap:20px;

        border-top:1px solid rgba(255,255,255,.10);

        padding:14px 24px 16px !important;

        margin:0 !important;
    }

    .footer-bottom p,
    .footer-bottom span{
        margin:0 !important;

        font-size:9px;

        line-height:1.5;

        color:#8fa8b7;
    }

    .footer-bottom p{
        max-width:170px;
    }



    /* COPYRIGHT */

    .copyright{
        margin:0 !important;

        padding:10px 0 0 !important;

        min-height:0 !important;

        border-top:1px solid rgba(255,255,255,.10);
    }




    /* =========================
       STICKY MOBILE BAR
    ========================= */

    .mobile-bar{
        position:fixed;

        display:grid;

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

        bottom:0;
        left:0;
        right:0;

        z-index:30;

        background:#fff;

        box-shadow:
            0 -6px 24px
            rgba(0,0,0,.12);
    }

    .mobile-bar a{
        text-align:center;

        padding:14px 5px;

        color:var(--blue);

        font-size:12px;

        font-weight:800;

        text-decoration:none;

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

    body{
        padding-bottom:48px;
    }
}


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

@media(max-width:560px){

    h1{
        font-size:47px;
    }


    /* =========================
   SMALL MOBILE HERO
========================= */

.hero-copy {
        padding:
            52px
            26px
            135px;
    }


    .hero h1 {
        font-size: 45px;

        line-height: 1.08;

        max-width: 330px;

        margin-top: 14px;
    }


    .hero-copy > p {
        font-size: 15px;

        line-height: 1.55;

        max-width: 330px;
    }


    .hero-actions {
        margin-bottom: 36px;

        gap: 18px;
    }


    .hero-trust strong {
        font-size: 14px;
    }


    .hero-trust span {
        font-size: 11px;
    }


    .hero-badge {
        right: 16px;

        bottom: 18px;

        padding:
            12px
            15px;
    }


    .hero-badge span {
        font-size: 26px;
    }

    /* =========================
       SECTIONS
    ========================= */

    .section{
        padding:75px 20px;
    }

    .section-heading{
        display:block;
    }

    .section-heading > p{
        margin-top:16px;
    }

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

    .solution-card.featured{
        grid-column:auto;
    }

    .solution-card{
        min-height:320px;
    }

    .product-copy h3{
        font-size:34px;
    }

    .product-list,
    .form-grid{
        grid-template-columns:1fr;
    }

    .process-band{
        grid-template-columns:1fr 1fr;
        padding:40px 20px;
    }

    .process-band div{
        padding-left:13px;
    }

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

    .contact-items > *{
        grid-template-columns:1fr;
        gap:4px;
    }

    .intro-strip{
        padding:70px 20px;
    }

    .visual-cta{
        min-height:580px;
    }

    .visual-cta > div{
        padding:65px 20px;
    }
    footer{
    padding:
        40px
        20px
        24px;
}

footer img{
    width:170px;
}

.footer-links a{
    font-size:12px;

    padding:13px 6px;
}
}