/* =========================================================
   TWENTY TWENTY-ONE RESET
========================================================= */

/* Hide default page titles only */
.singular .entry-header,
.entry-header,
.page-header {
    display: none !important;
}

html,
body {
    margin:0 !important;
    padding:0 !important;
}

#page,
.site,
.site-main,
#primary,
#main,
article,
.hentry,
.entry-content {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.entry-content > *,
.entry-content > .wp-block-html,
.wp-block-html {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}


/* =========================================================
   GLOBAL
========================================================= */

.zm2,
.zm2 * {
    box-sizing:border-box;
}

.zm2 {
    --cream:#f7f9fc;
    --cream2:#edf3fb;
    --olive:#dce8f8;
    --olive2:#b9d0ef;
    --dark:#0033a0;
    --dark2:#36557f;
    --text:#17263b;
    --muted:#66758a;
    --white:#fff;
    --line:#dbe5f2;

    width:100%;
    overflow:hidden;

    background:var(--cream);
    color:var(--text);

    font-family:"DM Sans",sans-serif;
}

.zm2 h1,
.zm2 h2,
.zm2 h3,
.zm2 h4,
.zm2 p {
    margin-top:0;
}

.zm2 a {
    text-decoration:none !important;
}

.zm2-container {
    width:calc(100% - 50px);
    max-width:1280px;
    margin:0 auto;
}

.zm2-kicker {
    margin-bottom:12px;

    color:#5f7390;

    font-size:10px;
    font-weight:700;

    text-transform:uppercase;
    letter-spacing:2px;
}

.zm2-title {
    margin-bottom:16px;

    font-family:"Manrope",sans-serif;

    color:var(--text);

    font-size:clamp(34px,4vw,50px);
    font-weight:700;

    line-height:1.05;
    letter-spacing:-2.2px;
}

.zm2-copy {
    color:var(--muted);

    font-size:13px;
    line-height:1.75;
}

.zm2-btn {
    min-height:42px;

    padding:0 19px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:#0033a0;

    color:#fff !important;

    font-size:10px;
    font-weight:700;

    transition:.2s;
}

.zm2-btn:hover {
    transform:translateY(-2px);
}

.zm2-btn-light {
    background:#fff;

    color:#0033a0 !important;
}


/* =========================================================
   HERO
========================================================= */

.zm2-hero {
    min-height:670px;

    position:relative;

    padding-top:28px;

    background:
        linear-gradient(
            90deg,
            rgba(12,43,88,.72),
            rgba(29,77,153,.12)
        ),
        url("https://images.unsplash.com/photo-1621905252507-b35492cc74b4?auto=format&fit=crop&w=2000&q=85")
        center 35% / cover no-repeat;
}

.zm2-header {
    width:calc(100% - 50px);
    max-width:1280px;

    min-height:58px;

    margin:0 auto;

    padding:0 20px;

    position:relative;
    z-index:20;

    display:flex;
    align-items:center;
    justify-content:space-between;

    border-radius:8px;

    background:#fff;

    box-shadow:0 8px 25px rgba(0,0,0,.07);
}

.zm2-logo {
    display:flex;
    align-items:center;

    gap:5px;

    color:#17263b !important;

    font-family:"Manrope",sans-serif;

    font-size:18px;
    font-weight:800;
}

.zm2-logo-mark {
    width:20px;
    height:20px;

    position:relative;

    display:inline-block;

    border:2px solid #0033a0;
    border-radius:50%;
}

.zm2-logo-mark:after {
    content:"";

    width:5px;
    height:5px;

    position:absolute;
    left:50%;
    top:50%;

    border-radius:50%;

    background:#0033a0;

    transform:translate(-50%,-50%);
}

.zm2-nav {
    display:flex;
    align-items:center;

    gap:27px;
}

.zm2-nav a {
    color:#253b59 !important;

    font-size:10px;
    font-weight:600;
}

.zm2-header-cta {
    padding:10px 17px;

    border-radius:18px;

    background:#0033a0;

    color:#fff !important;

    font-size:9px;
    font-weight:700;
}

.zm2-hero-inner {
    min-height:580px;

    position:relative;

    z-index:5;

    display:flex;
    align-items:center;
}

.zm2-hero-content {
    max-width:590px;

    color:#fff;
}

.zm2-hero-label {
    margin-bottom:16px;

    font-size:10px;
    font-weight:600;

    text-transform:uppercase;
    letter-spacing:2px;
}

.zm2-hero h1 {
    margin-bottom:24px;

    font-family:"Manrope",sans-serif;

    color:#fff;

    font-size:clamp(48px,6vw,76px);
    font-weight:700;

    line-height:.97;
    letter-spacing:-4px;
}

.zm2-hero-text {
    max-width:450px;

    margin-bottom:23px;

    color:rgba(255,255,255,.85);

    font-size:12px;
    line-height:1.7;
}

.zm2-hero-buttons {
    display:flex;

    gap:9px;
}

.zm2-hero-card {
    width:230px;

    position:absolute;

    right:35px;
    bottom:45px;

    overflow:hidden;

    border:5px solid #fff;
    border-radius:6px;

    background:#fff;

    box-shadow:0 20px 45px rgba(0,0,0,.20);
}

.zm2-hero-card img {
    width:100%;
    height:145px;

    display:block;

    object-fit:cover;
}

.zm2-hero-card-content {
    padding:15px;
}

.zm2-hero-card-content h3 {
    margin-bottom:7px;

    font-size:13px;
}

.zm2-hero-card-content p {
    margin:0;

    color:var(--muted);

    font-size:9px;
    line-height:1.5;
}


/* =========================================================
   MODERN TECHNOLOGY
========================================================= */

.zm2-tech {
    padding:100px 0 110px;
}

.zm2-center-head {
    max-width:620px;

    margin:0 auto 45px;

    text-align:center;
}

.zm2-tech-layout {
    max-width:900px;

    margin:0 auto;

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:18px;
}

.zm2-tech-left img,
.zm2-tech-right img {
    width:100%;

    display:block;

    object-fit:cover;

    border-radius:3px;
}

.zm2-tech-left img {
    height:275px;
}

.zm2-tech-right img {
    height:390px;
}

.zm2-tech-description {
    margin-top:17px;

    color:var(--muted);

    font-size:11px;
    line-height:1.7;
}

.zm2-tech-description .zm2-btn {
    margin-top:12px;
}

.zm2-stats {
    margin-top:27px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;
}

.zm2-stat strong {
    display:block;

    margin-bottom:4px;

    color:#163b73;

    font-family:"Manrope",sans-serif;

    font-size:27px;
    font-weight:700;
}

.zm2-stat span {
    color:#687a92;

    font-size:9px;
}


/* =========================================================
   EXPERTISE
========================================================= */

.zm2-expertise {
    padding:20px 0 90px;
}

.zm2-expertise-grid {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:35px;

    align-items:center;
}

.zm2-expertise-image img {
    width:100%;
    height:500px;

    display:block;

    object-fit:cover;

    border-radius:3px;
}

.zm2-expertise-cards {
    margin-top:25px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;
}

.zm2-expertise-card {
    min-height:130px;

    padding:19px;

    background:#dce8f8;
}

.zm2-small-icon {
    width:32px;
    height:32px;

    margin-bottom:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(29,77,153,.35);
    border-radius:50%;

    font-size:13px;
}

.zm2-expertise-card h3 {
    margin-bottom:5px;

    font-size:12px;
}

.zm2-expertise-card p {
    margin:0;

    color:#5c6f88;

    font-size:9px;
    line-height:1.5;
}


/* =========================================================
   TRUST STRIP
========================================================= */

.zm2-trust {
    padding:30px 0 90px;
}

.zm2-trust-inner {
    max-width:900px;

    margin:auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    color:#687a92;

    font-size:10px;
    font-weight:700;
}

.zm2-trust-item {
    display:flex;
    align-items:center;

    gap:6px;
}

.zm2-trust-item span {
    width:19px;
    height:19px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:1px solid #8ba9d1;
    border-radius:50%;

    font-size:8px;
}


/* =========================================================
   SERVICES
========================================================= */

.zm2-services {
    padding:85px 0 105px;
}

.zm2-services-head {
    max-width:900px;

    margin:0 auto 32px;

    display:grid;

    grid-template-columns:1.3fr .7fr;

    gap:70px;

    align-items:end;
}

.zm2-services-grid {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:12px;
}

.zm2-service {
    min-height:235px;

    padding:13px;

    background:#dce8f8;
}

.zm2-service-image {
    width:100%;
    height:125px;

    margin-bottom:15px;

    overflow:hidden;

    position:relative;
}

.zm2-service-image img {
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.zm2-service-arrow {
    width:26px;
    height:26px;

    position:absolute;

    right:8px;
    top:8px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#0033a0;

    color:#fff;

    font-size:11px;
}

.zm2-service h3 {
    margin-bottom:7px;

    font-size:13px;
}

.zm2-service p {
    margin:0;

    color:#5c6f88;

    font-size:9px;
    line-height:1.55;
}


/* =========================================================
   PROCESS
========================================================= */

.zm2-process {
    padding:95px 0;

    background:
        linear-gradient(
            rgba(10,40,84,.72),
            rgba(10,40,84,.72)
        ),
        url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=85")
        center / cover no-repeat;
}

.zm2-process-head {
    max-width:550px;

    margin:0 auto 38px;

    text-align:center;
}

.zm2-process-head .zm2-kicker,
.zm2-process-head .zm2-title,
.zm2-process-head p {
    color:#fff;
}

.zm2-process-head p {
    font-size:11px;
}

.zm2-process-grid {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:12px;
}

.zm2-process-card {
    min-height:175px;

    padding:20px;

    border-radius:4px;

    background:#fff;
}

.zm2-process-no {
    margin-bottom:28px;

    color:#6881a5;

    font-size:9px;
    font-weight:700;
}

.zm2-process-card h3 {
    margin-bottom:8px;

    font-size:12px;
}

.zm2-process-card p {
    margin:0;

    color:#68788e;

    font-size:9px;
    line-height:1.55;
}


/* =========================================================
   PROJECTS
========================================================= */

.zm2-projects {
    padding:100px 0;
}

.zm2-project-head {
    max-width:900px;

    margin:0 auto 35px;

    display:grid;

    grid-template-columns:1.3fr .7fr;

    gap:70px;

    align-items:end;
}

.zm2-project-list {
    max-width:900px;

    margin:auto;

    border-top:1px solid var(--line);
}

.zm2-project {
    padding:15px 0;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:30px;

    align-items:center;

    border-bottom:1px solid var(--line);
}

.zm2-project img {
    width:100%;
    height:245px;

    display:block;

    object-fit:cover;
}

.zm2-project-content {
    padding:20px 25px 20px 0;
}

.zm2-project-content h3 {
    margin-bottom:10px;

    font-size:16px;
}

.zm2-project-content p {
    color:var(--muted);

    font-size:10px;
    line-height:1.7;
}

.zm2-checks {
    margin:15px 0;

    display:grid;

    gap:6px;

    color:#536a87;

    font-size:9px;
}


/* =========================================================
   PACKAGES
========================================================= */

.zm2-packages {
    padding:80px 0 100px;
}

.zm2-packages-head {
    max-width:800px;

    margin:0 auto 35px;

    text-align:center;
}

.zm2-package-grid {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:12px;
}

.zm2-package {
    min-height:380px;

    padding:25px;

    border:1px solid #cfddf0;

    background:#f1f6fc;
}

.zm2-package.featured {
    background:#d7e5f7;
}

.zm2-package h3 {
    margin-bottom:10px;

    font-size:13px;
}

.zm2-package p {
    min-height:45px;

    color:#5e718a;

    font-size:9px;
}

.zm2-price {
    margin:20px 0;

    color:#153b75;

    font-family:"Manrope",sans-serif;

    font-size:38px;
    font-weight:700;
}

.zm2-price small {
    font-size:10px;
    font-weight:500;
}

.zm2-package ul {
    min-height:115px;

    margin:0 0 20px;
    padding:0;

    list-style:none;
}

.zm2-package li {
    margin-bottom:8px;

    color:#536a87;

    font-size:9px;
}

.zm2-package li:before {
    content:"\f00c";
    font-family:"Font Awesome 6 Free";
    font-weight:900;

    margin-right:7px;
}


/* =========================================================
   CTA
========================================================= */

.zm2-cta {
    padding:20px 25px 90px;
}

.zm2-cta-box {
    max-width:1280px;
    min-height:320px;

    margin:auto;

    padding:55px 25px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;

    border-radius:4px;

    background:#0033a0;

    color:#fff;
}

.zm2-cta-box .zm2-kicker {
    color:#d5d6c7;
}

.zm2-cta-box h2 {
    max-width:600px;

    margin-bottom:17px;

    color:#fff;

    font-family:"Manrope",sans-serif;

    font-size:clamp(35px,4vw,49px);

    line-height:1;
    letter-spacing:-2px;
}

.zm2-cta-box p {
    max-width:530px;

    margin-bottom:22px;

    color:rgba(255,255,255,.75);

    font-size:10px;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.zm2-testimonials {
    padding:20px 0 100px;
}

.zm2-testimonial-layout {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:.8fr 1.2fr;

    gap:45px;
}

.zm2-testimonial-grid {
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;
}

.zm2-testimonial {
    min-height:230px;

    padding:23px;

    background:#dce8f8;
}

.zm2-stars {
    margin-bottom:20px;

    font-size:9px;
}

.zm2-testimonial p {
    color:#525542;

    font-size:10px;
    line-height:1.65;
}

.zm2-person {
    margin-top:25px;

    display:flex;
    align-items:center;

    gap:10px;
}

.zm2-person img {
    width:34px;
    height:34px;

    object-fit:cover;

    border-radius:50%;
}

.zm2-person strong {
    display:block;

    font-size:9px;
}

.zm2-person span {
    color:#5e718a;

    font-size:8px;
}


/* =========================================================
   FAQ
========================================================= */

.zm2-faq {
    padding:30px 0 105px;
}

.zm2-faq-grid {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:.85fr 1.15fr;

    gap:35px;

    align-items:center;
}

.zm2-faq-image img {
    width:100%;
    height:430px;

    display:block;

    object-fit:cover;
}

.zm2-faq-list {
    margin-top:25px;
}

.zm2-faq details {
    margin-bottom:7px;

    border:1px solid #a9c1e2;

    background:#dce8f8;
}

.zm2-faq summary {
    padding:12px 15px;

    cursor:pointer;

    list-style:none;

    font-size:10px;
    font-weight:600;
}

.zm2-faq summary::-webkit-details-marker {
    display:none;
}

.zm2-faq summary:after {
    content:"+";

    float:right;

    font-size:13px;
}

.zm2-faq details[open] summary:after {
    content:"−";
}

.zm2-faq details p {
    padding:0 15px 14px;

    margin:0;

    color:#536a87;

    font-size:9px;
    line-height:1.6;
}


/* =========================================================
   ARTICLES
========================================================= */

.zm2-articles {
    padding:50px 0 110px;
}

.zm2-articles-head {
    margin-bottom:35px;

    text-align:center;
}

.zm2-article-grid {
    max-width:900px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:12px;
}

.zm2-article {
    background:#dce8f8;
}

.zm2-article img {
    width:100%;
    height:175px;

    display:block;

    object-fit:cover;
}

.zm2-article-content {
    padding:20px;
}

.zm2-article-content span {
    color:#5e718a;

    font-size:8px;
}

.zm2-article-content h3 {
    margin:10px 0 12px;

    font-size:13px;
    line-height:1.3;
}

.zm2-article-content a {
    color:#0033a0!important;

    font-size:9px;
    font-weight:700;
}


/* =========================================================
   FOOTER
========================================================= */

.zm2-footer {
    padding-top:65px;

    background:#0f2f62;

    color:rgba(255,255,255,.70);
}

.zm2-footer-grid {
    padding-bottom:50px;

    display:grid;

    grid-template-columns:1.4fr .65fr .8fr 1fr;

    gap:50px;
}

.zm2-footer-logo {
    margin-bottom:18px;

    display:inline-flex;
    align-items:center;

    gap:5px;

    color:#fff !important;

    font-family:"Manrope",sans-serif;

    font-size:27px;
    font-weight:800;
}

.zm2-footer-about {
    max-width:260px;

    color:rgba(255,255,255,.60);

    font-size:9px;
    line-height:1.7;
}

.zm2-newsletter {
    margin-top:20px;

    display:flex;
}

.zm2-newsletter input {
    width:170px;
    height:34px;

    padding:0 10px;

    border:0;

    background:#fff;

    font-family:inherit;
    font-size:9px;
}

.zm2-newsletter button {
    height:34px;

    padding:0 13px;

    border:0;

    background:#0033a0;

    color:#fff;

    font-size:8px;
}

.zm2-footer h4 {
    margin-bottom:18px;

    color:#fff;

    font-size:10px;
}

.zm2-footer-links {
    display:flex;

    flex-direction:column;

    gap:8px;
}

.zm2-footer-links a {
    color:rgba(255,255,255,.65) !important;

    font-size:9px;
}

.zm2-footer p {
    margin-bottom:6px;

    font-size:9px;
}

.zm2-social {
    margin-top:15px;

    display:flex;

    gap:6px;
}

.zm2-social span {
    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(255,255,255,.13);

    font-size:8px;
}

.zm2-footer-bottom {
    min-height:55px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    border-top:1px solid rgba(255,255,255,.12);

    font-size:8px;
}



/* =========================================================
   ZOOMACAD BRAND + TEAM
========================================================= */
.zm2-logo-img{
    display:block;
    width:auto;
    height:42px;
    object-fit:contain;
}
.zm2-footer-logo-img{
    display:block;
    width:auto;
    max-width:220px;
    height:58px;
    object-fit:contain;
}
.zm2-btn:hover,
.zm2-header-cta:hover{
    background:#0033a0;
}
.zm2-team{
    padding:100px 0 110px;
    background:#edf3fb;
}
.zm2-team-head{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}
.zm2-team-grid{
    max-width:1280px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.zm2-team-card{
    position:relative;
    overflow:hidden;
    min-height:480px;
    background:#fff;
    box-shadow:0 12px 32px rgba(18,55,111,.08);
}
.zm2-team-card img{
    width:100%;
    height:390px;
    display:block;
    object-fit:cover;
}
.zm2-team-info{
    min-height:90px;
    padding:20px 22px;
    position:relative;
    background:#fff;
}
.zm2-team-info:before{
    content:"";
    width:42px;
    height:4px;
    position:absolute;
    top:0;
    left:22px;
    background:#0033a0;
}
.zm2-team-info h3{
    margin:0 0 5px;
    color:#17263b;
    font-family:"Manrope",sans-serif;
    font-size:18px;
}
.zm2-team-info p{
    margin:0;
    color:#0033a0;
    font-size:12px;
    font-weight:700;
}
.zm2-team-note{
    max-width:1280px;
    margin:20px auto 0;
    color:#708096;
    font-size:11px;
    text-align:center;
}
@media(max-width:900px){
    .zm2-team-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:700px){
    .zm2-team{padding:75px 0;}
    .zm2-team-grid{grid-template-columns:1fr;}
    .zm2-team-card{min-height:auto;}
    .zm2-team-card img{height:420px;}
    .zm2-logo-img{height:35px;}
    .zm2-footer-logo-img{height:50px;}
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:900px) {

    .zm2-nav {
        display:none;
    }

    .zm2-services-grid {
        grid-template-columns:1fr 1fr;
    }

    .zm2-process-grid {
        grid-template-columns:1fr 1fr;
    }

    .zm2-footer-grid {
        grid-template-columns:1fr 1fr;
    }
}


@media(max-width:700px) {

    .zm2-container,
    .zm2-header {
        width:calc(100% - 30px);
    }

    .zm2-hero {
        min-height:720px;
    }

    .zm2-hero-inner {
        align-items:flex-start;

        padding-top:110px;
    }

    .zm2-hero h1 {
        font-size:49px;
    }

    .zm2-hero-card {
        right:15px;
        bottom:25px;

        width:190px;
    }

    .zm2-tech-layout,
    .zm2-expertise-grid,
    .zm2-services-head,
    .zm2-project-head,
    .zm2-testimonial-layout,
    .zm2-faq-grid {
        grid-template-columns:1fr;

        gap:30px;
    }

    .zm2-tech-right img {
        height:300px;
    }

    .zm2-trust-inner {
        flex-wrap:wrap;

        justify-content:center;
    }

    .zm2-project {
        grid-template-columns:1fr;
    }

    .zm2-project-content {
        padding:10px;
    }

    .zm2-package-grid {
        grid-template-columns:1fr;
    }

    .zm2-testimonial-grid {
        grid-template-columns:1fr;
    }

    .zm2-article-grid {
        grid-template-columns:1fr;
    }
}


@media(max-width:500px) {

    .zm2-logo {
        font-size:15px;
    }

    .zm2-header-cta {
        padding:9px 12px;
    }

    .zm2-services-grid,
    .zm2-process-grid,
    .zm2-expertise-cards,
    .zm2-stats {
        grid-template-columns:1fr;
    }

    .zm2-footer-grid {
        grid-template-columns:1fr;
    }

    .zm2-footer-bottom {
        display:block;

        padding:18px 0;
    }
}
/* =========================================================
   DESKTOP SCALE FIX
   Makes the design look normal on 1440px / 1600px screens
========================================================= */

@media (min-width: 1100px) {

    .zm2-container {
        width: calc(100% - 100px);
        max-width: 1280px;
    }

    /* General typography */

    .zm2-kicker {
        font-size: 12px;
        letter-spacing: 2px;
        margin-bottom: 14px;
    }

    .zm2-title {
        font-size: 48px;
        line-height: 1.05;
    }

    .zm2-copy {
        font-size: 16px;
        line-height: 1.7;
    }

    .zm2-btn {
        min-height: 48px;
        padding: 0 24px;
        font-size: 13px;
    }


    /* HEADER */

    .zm2-header {
        width: calc(100% - 100px);
        max-width: 1280px;
        min-height: 70px;
        padding: 0 28px;
    }

    .zm2-logo {
        font-size: 21px;
    }

    .zm2-logo-mark {
        width: 24px;
        height: 24px;
    }

    .zm2-nav {
        gap: 34px;
    }

    .zm2-nav a {
        font-size: 13px;
    }

    .zm2-header-cta {
        padding: 12px 22px;
        font-size: 12px;
    }


    /* HERO */

    .zm2-hero {
        min-height: 760px;
    }

    .zm2-hero-inner {
        min-height: 660px;
    }

    .zm2-hero-content {
        max-width: 680px;
    }

    .zm2-hero-label {
        font-size: 12px;
    }

    .zm2-hero h1 {
        font-size: 72px;
    }

    .zm2-hero-text {
        max-width: 540px;
        font-size: 16px;
    }

    .zm2-hero-card {
        width: 280px;
        right: 20px;
    }

    .zm2-hero-card img {
        height: 175px;
    }

    .zm2-hero-card-content {
        padding: 20px;
    }

    .zm2-hero-card-content h3 {
        font-size: 17px;
    }

    .zm2-hero-card-content p {
        font-size: 12px;
    }


    /* TECHNOLOGY */

    .zm2-tech-layout {
        max-width: 1280px;
        gap: 28px;
    }

    .zm2-center-head {
        max-width: 700px;
    }

    .zm2-tech-left img {
        height: 350px;
    }

    .zm2-tech-right img {
        height: 490px;
    }

    .zm2-tech-description {
        font-size: 14px;
    }

    .zm2-stat strong {
        font-size: 34px;
    }

    .zm2-stat span {
        font-size: 12px;
    }


    /* EXPERTISE */

    .zm2-expertise-grid {
        max-width: 1280px;
        gap: 50px;
    }

    .zm2-expertise-image img {
        height: 570px;
    }

    .zm2-expertise-cards {
        gap: 14px;
    }

    .zm2-expertise-card {
        min-height: 155px;
        padding: 22px;
    }

    .zm2-expertise-card h3 {
        font-size: 15px;
    }

    .zm2-expertise-card p {
        font-size: 12px;
    }


    /* TRUST */

    .zm2-trust-inner {
        max-width: 1280px;
        font-size: 13px;
    }


    /* SERVICES */

    .zm2-services-head {
        max-width: 1280px;
    }

    .zm2-services-grid {
        max-width: 1280px;
        gap: 16px;
    }

    .zm2-service {
        min-height: 300px;
        padding: 16px;
    }

    .zm2-service-image {
        height: 165px;
    }

    .zm2-service h3 {
        font-size: 17px;
    }

    .zm2-service p {
        font-size: 12px;
        line-height: 1.6;
    }


    /* PROCESS - section shown in your screenshot */

    .zm2-process {
        padding: 110px 0;
    }

    .zm2-process-head {
        max-width: 680px;
        margin-bottom: 50px;
    }

    .zm2-process-head p {
        font-size: 14px;
    }

    .zm2-process-grid {
        max-width: 1280px;
        gap: 18px;
    }

    .zm2-process-card {
        min-height: 220px;
        padding: 28px;
    }

    .zm2-process-no {
        margin-bottom: 35px;
        font-size: 11px;
    }

    .zm2-process-card h3 {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .zm2-process-card p {
        font-size: 12px;
        line-height: 1.65;
    }


    /* PROJECTS */

    .zm2-project-head,
    .zm2-project-list {
        max-width: 1280px;
    }

    .zm2-project {
        gap: 45px;
        padding: 20px 0;
    }

    .zm2-project img {
        height: 310px;
    }

    .zm2-project-content h3 {
        font-size: 21px;
    }

    .zm2-project-content p {
        font-size: 14px;
    }

    .zm2-checks {
        font-size: 12px;
        gap: 9px;
    }


    /* PACKAGES */

    .zm2-packages-head {
        max-width: 800px;
    }

    .zm2-package-grid {
        max-width: 1280px;
        gap: 16px;
    }

    .zm2-package {
        min-height: 440px;
        padding: 30px;
    }

    .zm2-package h3 {
        font-size: 17px;
    }

    .zm2-package p {
        font-size: 12px;
    }

    .zm2-price {
        font-size: 42px;
    }

    .zm2-price small {
        font-size: 12px;
    }

    .zm2-package li {
        font-size: 12px;
    }


    /* CTA */

    .zm2-cta-box {
        max-width: 1280px;
        min-height: 380px;
    }

    .zm2-cta-box h2 {
        max-width: 700px;
        font-size: 52px;
    }

    .zm2-cta-box p {
        max-width: 620px;
        font-size: 14px;
    }


    /* TESTIMONIALS */

    .zm2-testimonial-layout {
        max-width: 1280px;
    }

    .zm2-testimonial {
        min-height: 270px;
        padding: 28px;
    }

    .zm2-testimonial p {
        font-size: 13px;
    }

    .zm2-person strong {
        font-size: 12px;
    }

    .zm2-person span {
        font-size: 11px;
    }


    /* FAQ */

    .zm2-faq-grid {
        max-width: 1280px;
        gap: 50px;
    }

    .zm2-faq-image img {
        height: 500px;
    }

    .zm2-faq summary {
        padding: 15px 18px;
        font-size: 13px;
    }

    .zm2-faq details p {
        padding: 0 18px 17px;
        font-size: 12px;
    }


    /* ARTICLES */

    .zm2-article-grid {
        max-width: 1280px;
        gap: 16px;
    }

    .zm2-article img {
        height: 220px;
    }

    .zm2-article-content {
        padding: 24px;
    }

    .zm2-article-content span {
        font-size: 10px;
    }

    .zm2-article-content h3 {
        font-size: 17px;
    }

    .zm2-article-content a {
        font-size: 12px;
    }


    /* FOOTER */

    .zm2-footer h4 {
        font-size: 13px;
    }

    .zm2-footer-about,
    .zm2-footer-links a,
    .zm2-footer p {
        font-size: 12px;
    }

    .zm2-footer-bottom {
        font-size: 11px;
    }

}


/* =========================================================
   CLIENT REVISION: LOGO + CONSISTENT PICTOGRAMS
========================================================= */
.zm2-header{
    min-height:82px;
}
.zm2-logo-img{
    height:58px !important;
    max-width:250px;
}
.zm2-footer-logo-img{
    height:78px !important;
    max-width:290px;
}
.zm2-small-icon,
.zm2-trust-item span{
    color:#0033a0;
    background:#fff;
    border-color:rgba(29,77,153,.28);
}
.zm2-small-icon{
    width:42px;
    height:42px;
    font-size:17px;
}
.zm2-small-icon i,
.zm2-trust-item i,
.zm2-service-arrow i,
.zm2-checks i,
.zm2-social i{
    line-height:1;
}
.zm2-trust-item span{
    width:30px;
    height:30px;
    font-size:12px;
}
.zm2-service-arrow{
    font-size:10px;
}
.zm2-checks span{
    display:flex;
    align-items:center;
    gap:7px;
}
.zm2-checks i{
    color:#0033a0;
}
.zm2-social span{
    font-size:11px;
}
@media(max-width:700px){
    .zm2-header{min-height:68px;}
    .zm2-logo-img{height:45px !important;max-width:190px;}
    .zm2-footer-logo-img{height:62px !important;max-width:230px;}
}


/* =========================================================
   FINAL REFERENCE-CLOSE SCALE / 1280 CONTAINER / CONTENT DENSITY
========================================================= */
.zm2-container,
.zm2-header,
.zm2-tech-layout,
.zm2-expertise-grid,
.zm2-trust-inner,
.zm2-services-head,
.zm2-services-grid,
.zm2-process-grid,
.zm2-project-head,
.zm2-project-list,
.zm2-package-grid,
.zm2-testimonial-layout,
.zm2-faq-grid,
.zm2-article-grid,
.zm2-team-grid {
    max-width:1280px !important;
}
.zm2-container{width:calc(100% - 64px)!important}
.zm2-header{width:calc(100% - 64px)!important;min-height:88px!important;padding:0 30px!important}
.zm2-logo-img{height:68px!important;max-width:300px!important}
.zm2-nav a{font-size:14px!important}
.zm2-header-cta{font-size:13px!important;padding:13px 24px!important}

.zm2-kicker{font-size:13px!important;letter-spacing:2px!important;margin-bottom:14px!important}
.zm2-title{font-size:clamp(42px,4vw,58px)!important;line-height:1.04!important;letter-spacing:-2.2px!important}
.zm2-copy{font-size:17px!important;line-height:1.75!important}
.zm2-btn{font-size:14px!important;min-height:50px!important;padding:0 26px!important}

.zm2-hero{min-height:820px!important}
.zm2-hero-inner{min-height:720px!important}
.zm2-hero-content{max-width:760px!important}
.zm2-hero-label{font-size:14px!important}
.zm2-hero h1{font-size:clamp(62px,6vw,86px)!important;line-height:.96!important}
.zm2-hero-text{max-width:620px!important;font-size:18px!important;line-height:1.65!important}
.zm2-hero-card{width:320px!important}
.zm2-hero-card img{height:195px!important}
.zm2-hero-card-content{padding:22px!important}
.zm2-hero-card-content h3{font-size:20px!important}
.zm2-hero-card-content p{font-size:14px!important;line-height:1.6!important}

.zm2-tech{padding:120px 0!important}
.zm2-center-head{max-width:820px!important;margin-bottom:58px!important}
.zm2-tech-layout{grid-template-columns:1.05fr .95fr!important;gap:32px!important}
.zm2-tech-left img{height:390px!important}
.zm2-tech-right img{height:550px!important}
.zm2-tech-description{font-size:16px!important;line-height:1.8!important}
.zm2-stat strong{font-size:38px!important}
.zm2-stat span{font-size:13px!important}

.zm2-expertise{padding:35px 0 115px!important}
.zm2-expertise-grid{gap:60px!important}
.zm2-expertise-image img{height:620px!important}
.zm2-expertise-card{min-height:190px!important;padding:28px!important}
.zm2-small-icon{width:50px!important;height:50px!important;font-size:23px!important;margin-bottom:20px!important}
.zm2-expertise-card h3{font-size:18px!important;margin-bottom:9px!important}
.zm2-expertise-card p{font-size:14px!important;line-height:1.65!important}

.zm2-trust{padding:32px 0 105px!important}
.zm2-trust-inner{font-size:14px!important}
.zm2-trust-item span{width:36px!important;height:36px!important;font-size:14px!important}

.zm2-services{padding:105px 0 125px!important}
.zm2-services-head{margin-bottom:45px!important;gap:100px!important}
.zm2-services-grid{gap:20px!important}
.zm2-service{min-height:365px!important;padding:18px!important}
.zm2-service-image{height:205px!important;margin-bottom:20px!important}
.zm2-service h3{font-size:20px!important;margin-bottom:10px!important}
.zm2-service p{font-size:14px!important;line-height:1.7!important}
.zm2-service-arrow{width:34px!important;height:34px!important;font-size:12px!important}

.zm2-process{padding:125px 0!important}
.zm2-process-head{max-width:760px!important;margin-bottom:55px!important}
.zm2-process-head p{font-size:16px!important;line-height:1.7!important}
.zm2-process-grid{gap:20px!important}
.zm2-process-card{min-height:250px!important;padding:30px!important}
.zm2-process-no{font-size:12px!important;margin-bottom:40px!important}
.zm2-process-card h3{font-size:19px!important;margin-bottom:12px!important}
.zm2-process-card p{font-size:14px!important;line-height:1.7!important}

.zm2-projects{padding:120px 0!important}
.zm2-project-head{margin-bottom:50px!important;gap:100px!important}
.zm2-project{gap:55px!important;padding:28px 0!important}
.zm2-project img{height:350px!important}
.zm2-project-content h3{font-size:25px!important}
.zm2-project-content p{font-size:16px!important;line-height:1.75!important}
.zm2-checks{font-size:14px!important;gap:10px!important}

.zm2-packages{padding:100px 0 120px!important}
.zm2-packages-head{max-width:820px!important;margin-bottom:48px!important}
.zm2-package-grid{gap:20px!important}
.zm2-package{min-height:500px!important;padding:34px!important}
.zm2-package h3{font-size:21px!important}
.zm2-package p{font-size:14px!important;line-height:1.7!important;min-height:70px!important}
.zm2-price{font-size:44px!important}
.zm2-price small{font-size:13px!important}
.zm2-package li{font-size:14px!important;margin-bottom:11px!important}

.zm2-cta{padding:25px 32px 110px!important}
.zm2-cta-box{max-width:1280px!important;min-height:420px!important}
.zm2-cta-box h2{font-size:58px!important;max-width:800px!important}
.zm2-cta-box p{font-size:16px!important;max-width:700px!important;line-height:1.7!important}

.zm2-testimonials{padding:30px 0 120px!important}
.zm2-testimonial-layout{grid-template-columns:.75fr 1.25fr!important;gap:60px!important}
.zm2-testimonial{min-height:310px!important;padding:32px!important}
.zm2-testimonial p{font-size:15px!important;line-height:1.75!important}
.zm2-person strong{font-size:14px!important}
.zm2-person span{font-size:12px!important}

.zm2-faq{padding:50px 0 125px!important}
.zm2-faq-grid{gap:60px!important}
.zm2-faq-image img{height:560px!important}
.zm2-faq summary{padding:18px 20px!important;font-size:15px!important}
.zm2-faq details p{padding:0 20px 20px!important;font-size:14px!important;line-height:1.7!important}

.zm2-articles{padding:65px 0 125px!important}
.zm2-articles-head{margin-bottom:45px!important}
.zm2-article-grid{gap:20px!important}
.zm2-article img{height:250px!important}
.zm2-article-content{padding:28px!important}
.zm2-article-content span{font-size:12px!important}
.zm2-article-content h3{font-size:20px!important;line-height:1.4!important}
.zm2-article-content p{font-size:14px!important;line-height:1.7!important}
.zm2-article-content a{font-size:13px!important}

.zm2-team{padding:115px 0 125px!important}
.zm2-team-head{max-width:820px!important;margin-bottom:50px!important}
.zm2-team-card img{height:430px!important}
.zm2-team-info h3{font-size:21px!important}
.zm2-team-info p{font-size:14px!important}
.zm2-team-note{font-size:13px!important}

.zm2-footer{padding-top:80px!important}
.zm2-footer-logo-img{height:90px!important;max-width:330px!important}
.zm2-footer-about,.zm2-footer-links a,.zm2-footer p{font-size:14px!important;line-height:1.7!important}
.zm2-footer h4{font-size:16px!important}
.zm2-footer-bottom{font-size:12px!important}

@media(max-width:900px){
 .zm2-container,.zm2-header{width:calc(100% - 36px)!important}
 .zm2-title{font-size:40px!important}
 .zm2-copy{font-size:16px!important}
 .zm2-logo-img{height:54px!important}
 .zm2-services-grid,.zm2-process-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
 .zm2-container,.zm2-header{width:calc(100% - 28px)!important}
 .zm2-header{min-height:70px!important;padding:0 15px!important}
 .zm2-logo-img{height:44px!important}
 .zm2-title{font-size:36px!important}
 .zm2-copy{font-size:16px!important}
 .zm2-hero h1{font-size:52px!important}
 .zm2-hero-text{font-size:16px!important}
 .zm2-tech-layout,.zm2-expertise-grid,.zm2-services-head,.zm2-project-head,.zm2-testimonial-layout,.zm2-faq-grid{grid-template-columns:1fr!important}
 .zm2-services-grid,.zm2-process-grid{grid-template-columns:1fr!important}
 .zm2-service p,.zm2-process-card p,.zm2-project-content p,.zm2-package p,.zm2-package li,.zm2-testimonial p,.zm2-faq details p{font-size:15px!important}
}


/* =========================================================
   FINAL ICON NORMALIZATION — REFERENCE PROPORTIONS
========================================================= */

/* Expertise pictograms */
.zm2-small-icon{
    width:32px !important;
    height:32px !important;
    margin-bottom:18px !important;
    font-size:13px !important;
    border-width:1px !important;
}

/* Property / trust strip pictograms */
.zm2-trust-item span{
    width:19px !important;
    height:19px !important;
    font-size:8px !important;
    flex:0 0 19px !important;
}

/* Service card arrow pictograms */
.zm2-service-arrow{
    width:26px !important;
    height:26px !important;
    right:8px !important;
    top:8px !important;
    font-size:10px !important;
}

/* Project checklist pictograms */
.zm2-checks i{
    width:14px !important;
    font-size:12px !important;
    text-align:center !important;
    flex:0 0 14px !important;
}

/* Footer social pictograms */
.zm2-social span{
    width:24px !important;
    height:24px !important;
    font-size:10px !important;
}

/* Keep FA glyphs optically centered */
.zm2-small-icon i,
.zm2-trust-item i,
.zm2-service-arrow i,
.zm2-checks i,
.zm2-social i{
    line-height:1 !important;
}

/* Mobile: keep same visual hierarchy instead of enlarging icons */
@media(max-width:700px){
    .zm2-small-icon{
        width:32px !important;
        height:32px !important;
        font-size:13px !important;
    }
    .zm2-trust-item span{
        width:19px !important;
        height:19px !important;
        font-size:8px !important;
        flex-basis:19px !important;
    }
    .zm2-service-arrow{
        width:26px !important;
        height:26px !important;
        font-size:10px !important;
    }
}


/* =========================================================
   GEOTRA-INSPIRED MOTION SYSTEM
   Original implementation for Zoomacad
========================================================= */
html{scroll-behavior:smooth}

/* Initial states are only enabled when JS is active */
.js .zm-reveal{
    opacity:0;
    transform:translate3d(0,34px,0);
    transition:
        opacity .75s cubic-bezier(.22,.61,.36,1),
        transform .75s cubic-bezier(.22,.61,.36,1);
    will-change:opacity,transform;
}
.js .zm-reveal.zm-from-left{transform:translate3d(-42px,0,0)}
.js .zm-reveal.zm-from-right{transform:translate3d(42px,0,0)}
.js .zm-reveal.zm-scale{transform:scale(.965)}
.js .zm-reveal.is-visible{
    opacity:1;
    transform:none;
}
.js .zm-delay-1{transition-delay:.08s}
.js .zm-delay-2{transition-delay:.16s}
.js .zm-delay-3{transition-delay:.24s}
.js .zm-delay-4{transition-delay:.32s}
.js .zm-delay-5{transition-delay:.40s}

/* Header entrance */
/* Global header is rendered by header.php on all pages.
   Avoid hiding it while waiting for an entrance animation. */
.js .zm2-header{
    opacity:1;
    transform:none;
    animation:none;
}
@keyframes zmHeaderIn{
    to{opacity:1;transform:none}
}

/* Hero entrance */
.js .zm2-hero-label,
.js .zm2-hero h1,
.js .zm2-hero-text,
.js .zm2-hero-actions{
    opacity:0;
    transform:translateY(28px);
    animation:zmHeroIn .78s cubic-bezier(.22,.61,.36,1) forwards;
}
.js .zm2-hero-label{animation-delay:.20s}
.js .zm2-hero h1{animation-delay:.30s}
.js .zm2-hero-text{animation-delay:.42s}
.js .zm2-hero-actions{animation-delay:.54s}
.js .zm2-hero-card{
    opacity:0;
    transform:translate(24px,24px) scale(.97);
    animation:zmHeroCardIn .85s .58s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes zmHeroIn{to{opacity:1;transform:none}}
@keyframes zmHeroCardIn{to{opacity:1;transform:none}}

/* Image motion / card hover */
.zm2-tech img,
.zm2-expertise-image img,
.zm2-project img,
.zm2-faq-image img,
.zm2-article img,
.zm2-team-card img{
    transition:transform .65s cubic-bezier(.22,.61,.36,1);
}
.zm2-tech-left,
.zm2-tech-right,
.zm2-expertise-image,
.zm2-project,
.zm2-faq-image,
.zm2-article,
.zm2-team-card{
    overflow:hidden;
}
.zm2-tech-left:hover img,
.zm2-tech-right:hover img,
.zm2-expertise-image:hover img,
.zm2-faq-image:hover img,
.zm2-article:hover img,
.zm2-team-card:hover img{
    transform:scale(1.035);
}

.zm2-service,
.zm2-expertise-card,
.zm2-process-card,
.zm2-package,
.zm2-testimonial,
.zm2-article,
.zm2-team-card{
    transition:
        transform .32s ease,
        box-shadow .32s ease,
        border-color .32s ease;
}
.zm2-service:hover,
.zm2-expertise-card:hover,
.zm2-process-card:hover,
.zm2-package:hover,
.zm2-testimonial:hover,
.zm2-article:hover,
.zm2-team-card:hover{
    transform:translateY(-7px);
    box-shadow:0 18px 42px rgba(18,55,111,.12);
}

/* Buttons */
.zm2-btn,
.zm2-header-cta,
.zm2-service-arrow{
    transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}
.zm2-btn:hover,
.zm2-header-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(29,77,153,.18);
}
.zm2-service:hover .zm2-service-arrow{
    transform:rotate(45deg);
}

/* Process section subtle background movement */
.zm2-process{
    background-attachment:fixed;
}

/* Accordion */
.zm2-faq details{
    transition:background .25s ease,transform .25s ease;
}
.zm2-faq details[open]{
    transform:translateX(4px);
}

/* Counter visual */
.zm2-stat strong{
    font-variant-numeric:tabular-nums;
}

/* Accessibility */
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .js .zm-reveal,
    .js .zm2-header,
    .js .zm2-hero-label,
    .js .zm2-hero h1,
    .js .zm2-hero-text,
    .js .zm2-hero-actions,
    .js .zm2-hero-card{
        opacity:1!important;
        transform:none!important;
        animation:none!important;
        transition:none!important;
    }
    .zm2-process{background-attachment:scroll}
}
@media(max-width:900px){
    .zm2-process{background-attachment:scroll}
}


/* =========================================================
   GEOTRA-CLOSE FINAL PASS
   Match hierarchy/proportions closely while keeping Zoomacad identity.
========================================================= */
.zm2{
  --ref-bg:#f7f7f2;
  --ref-card:#e8eadb;
  --ref-card2:#d9ddc8;
  --ref-dark:#3f433d;
}
.zm2-container{max-width:1280px!important}
.zm2-kicker{font-size:12px!important;line-height:1.2!important;letter-spacing:1.7px!important}
.zm2-title{font-size:clamp(42px,4vw,56px)!important;line-height:1.03!important;letter-spacing:-2.4px!important}
.zm2-copy{font-size:16px!important;line-height:1.72!important}
.zm2-btn{font-size:13px!important;min-height:48px!important;padding:0 24px!important;border-radius:24px!important}
.zm2-small-icon{width:40px!important;height:40px!important;font-size:16px!important;margin-bottom:18px!important}
.zm2-service-arrow{width:30px!important;height:30px!important;font-size:11px!important}

/* Header/logo */
.zm2-header{min-height:76px!important;padding:0 24px!important}
.zm2-logo-img{height:58px!important;max-width:270px!important}
.zm2-nav a{font-size:13px!important}
.zm2-header-cta{font-size:12px!important;padding:12px 21px!important;border-radius:22px!important}

/* Hero */
.zm2-hero{min-height:780px!important}
.zm2-hero-inner{min-height:680px!important}
.zm2-hero-content{max-width:720px!important}
.zm2-hero-label{font-size:13px!important}
.zm2-hero h1{font-size:clamp(60px,6vw,84px)!important;line-height:.96!important}
.zm2-hero-text{font-size:17px!important;max-width:610px!important}
.zm2-hero-card{width:300px!important;right:28px!important;bottom:36px!important}
.zm2-hero-card img{height:185px!important}
.zm2-hero-card-content{padding:20px!important}
.zm2-hero-card-content h3{font-size:18px!important}
.zm2-hero-card-content p{font-size:13px!important}

/* Main sections */
.zm2-tech,.zm2-services,.zm2-projects,.zm2-packages,.zm2-team{padding-top:110px!important;padding-bottom:110px!important}
.zm2-tech-layout,.zm2-expertise-grid,.zm2-services-head,.zm2-services-grid,.zm2-process-grid,.zm2-project-head,.zm2-project-list,.zm2-package-grid,.zm2-testimonial-layout,.zm2-faq-grid,.zm2-article-grid,.zm2-team-grid{max-width:1280px!important}
.zm2-tech-layout{gap:28px!important}
.zm2-tech-left img{height:380px!important}
.zm2-tech-right img{height:530px!important}
.zm2-tech-description{font-size:15px!important}
.zm2-stat strong{font-size:38px!important}
.zm2-stat span{font-size:12px!important}

.zm2-expertise-grid{gap:54px!important}
.zm2-expertise-image img{height:610px!important}
.zm2-expertise-card{min-height:180px!important;padding:26px!important}
.zm2-expertise-card h3{font-size:17px!important}
.zm2-expertise-card p{font-size:13px!important;line-height:1.6!important}

/* logo strip */
.zm2-brand-strip{padding:28px 0 90px}
.zm2-brand-strip-inner{
  max-width:1280px;margin:auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(6,1fr);gap:18px;align-items:center;
}
.zm2-brand-logo{
  min-height:66px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:#fff;border-radius:4px;
  color:#6f7c8c;font:700 12px "Manrope",sans-serif;letter-spacing:.5px;
  transition:.25s ease;
}
.zm2-brand-logo i{font-size:19px;margin-right:8px;color:#0033a0}
.zm2-brand-logo:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(18,55,111,.09)}

/* Services */
.zm2-services-grid{gap:18px!important}
.zm2-service{min-height:350px!important;padding:17px!important}
.zm2-service-image{height:195px!important}
.zm2-service h3{font-size:19px!important}
.zm2-service p{font-size:13px!important;line-height:1.65!important}

/* Process */
.zm2-process{padding:120px 0!important}
.zm2-process-head{max-width:760px!important}
.zm2-process-head p{font-size:15px!important}
.zm2-process-grid{gap:18px!important}
.zm2-process-card{min-height:235px!important;padding:28px!important}
.zm2-process-no{font-size:11px!important}
.zm2-process-card h3{font-size:18px!important}
.zm2-process-card p{font-size:13px!important;line-height:1.65!important}

/* Projects */
.zm2-project{gap:48px!important;padding:28px 0!important}
.zm2-project img{height:340px!important}
.zm2-project-content h3{font-size:24px!important}
.zm2-project-content p{font-size:15px!important}
.zm2-checks{font-size:13px!important}

/* Pricing */
.zm2-package-grid{gap:18px!important}
.zm2-package{min-height:490px!important;padding:32px!important}
.zm2-package h3{font-size:20px!important}
.zm2-package p,.zm2-package li{font-size:13px!important}
.zm2-price{font-size:42px!important}

/* Testimonials carousel */
.zm2-testimonials{padding:105px 0!important;overflow:hidden}
.zm2-testimonial-layout{grid-template-columns:.72fr 1.28fr!important;gap:55px!important;align-items:center}
.zm2-testimonial-carousel{position:relative;overflow:hidden}
.zm2-testimonial-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.zm2-testimonial-slide{min-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.zm2-testimonial{
  min-height:330px!important;padding:0!important;overflow:hidden!important;
  display:grid;grid-template-rows:145px 1fr;background:#fff;
}
.zm2-testimonial-cover{width:100%;height:145px;object-fit:cover;display:block}
.zm2-testimonial-body{padding:25px}
.zm2-testimonial p{font-size:14px!important;line-height:1.7!important}
.zm2-testimonial-nav{display:flex;gap:8px;margin-top:22px}
.zm2-testimonial-nav button{
  width:42px;height:42px;border:1px solid #cad8e9;border-radius:50%;background:#fff;
  color:#0033a0;cursor:pointer;font-size:13px;transition:.2s;
}
.zm2-testimonial-nav button:hover{background:#0033a0;color:#fff}
.zm2-testimonial-dots{display:flex;gap:7px;margin-top:16px}
.zm2-testimonial-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#b7c4d6;cursor:pointer}
.zm2-testimonial-dot.active{width:22px;border-radius:10px;background:#0033a0}

/* FAQ/articles/team */
.zm2-faq-grid{gap:55px!important}
.zm2-faq-image img{height:550px!important}
.zm2-faq summary{font-size:15px!important;padding:18px 20px!important}
.zm2-faq details p{font-size:13px!important}
.zm2-article img{height:245px!important}
.zm2-article-content{padding:25px!important}
.zm2-article-content h3{font-size:19px!important}
.zm2-article-content p{font-size:13px!important}
.zm2-team-card img{height:410px!important}
.zm2-team-info h3{font-size:19px!important}
.zm2-team-info p{font-size:13px!important}

/* responsive */
@media(max-width:900px){
  .zm2-brand-strip-inner{grid-template-columns:repeat(3,1fr)}
  .zm2-testimonial-layout{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .zm2-title{font-size:36px!important}
  .zm2-copy{font-size:15px!important}
  .zm2-hero h1{font-size:50px!important}
  .zm2-brand-strip-inner{grid-template-columns:repeat(2,1fr)}
  .zm2-testimonial-slide{grid-template-columns:1fr}
  .zm2-testimonial{grid-template-rows:135px 1fr}
}


/* =========================================================
   UNSPLASH SURVEYING IMAGE PASS
========================================================= */
.zm2-service-image img,
.zm2-project img,
.zm2-tech img,
.zm2-expertise-image img,
.zm2-faq-image img,
.zm2-article img,
.zm2-team-card img,
.zm2-testimonial-cover{
    object-position:center center;
    filter:saturate(.92) contrast(1.02);
}
.zm2-service-image:after,
.zm2-project:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(18,55,111,0) 55%,rgba(18,55,111,.08));
}
.zm2-service-image{position:relative}
.zm2-project{position:relative}
.zm2-project > *{position:relative;z-index:1}


/* =========================================================
   FINAL ZOOMACAD / GEOTRA-INSPIRED RESPONSIVE PASS
   Desktop proportions corrected for 1440–1920px screens.
========================================================= */
.zm2{
 --cream:#f8fafc!important;
 --cream2:#eef4fb!important;
 --olive:#dce8f8!important;
 --olive2:#c5d8f1!important;
 --dark:#0033a0!important;
 --dark2:#36557f!important;
 --text:#17263b!important;
 --muted:#66758a!important;
 --line:#dbe5f2!important;
 background:#f8fafc!important;
 color:#17263b!important;
}
.zm2-container{
 width:calc(100% - 64px)!important;
 max-width:1280px!important;
 margin-left:auto!important;margin-right:auto!important;
}
.zm2-kicker{font-size:12px!important;line-height:1.2!important;letter-spacing:1.8px!important;margin-bottom:12px!important}
.zm2-title{font-size:clamp(40px,3.5vw,56px)!important;line-height:1.04!important;letter-spacing:-2.2px!important;margin-bottom:18px!important}
.zm2-copy{font-size:16px!important;line-height:1.72!important}
.zm2-btn{min-height:46px!important;padding:0 23px!important;border-radius:24px!important;font-size:13px!important;background:#0033a0!important}
.zm2-btn-light{background:#fff!important;color:#0033a0!important}

/* HEADER */
.zm2-header{
 width:calc(100% - 64px)!important;max-width:1280px!important;
 min-height:72px!important;padding:0 24px!important;border-radius:40px!important;
}
.zm2-logo-img{height:52px!important;width:auto!important;max-width:230px!important}
.zm2-nav{gap:30px!important}
.zm2-nav a{font-size:16px!important;color:#253b59!important}
.zm2-header-cta{padding:11px 20px!important;border-radius:40px!important;font-size:12px!important;background:#0033a0!important}

/* HERO */
.zm2-hero{min-height:760px!important;padding-top:26px!important}
.zm2-hero-inner{min-height:660px!important}
.zm2-hero-content{max-width:720px!important}
.zm2-hero-label{font-size:12px!important;letter-spacing:1.8px!important;margin-bottom:16px!important}
.zm2-hero h1{font-size:clamp(58px,5.6vw,82px)!important;line-height:.96!important;letter-spacing:-4px!important;margin-bottom:24px!important}
.zm2-hero-text{max-width:570px!important;font-size:16px!important;line-height:1.7!important;margin-bottom:25px!important}
.zm2-hero-buttons{gap:10px!important}
.zm2-hero-card{width:280px!important;right:24px!important;bottom:35px!important;border-width:5px!important}
.zm2-hero-card img{height:175px!important}
.zm2-hero-card-content{padding:18px!important}
.zm2-hero-card-content h3{font-size:17px!important;margin-bottom:7px!important}
.zm2-hero-card-content p{font-size:12px!important;line-height:1.55!important}

/* ABOUT / TECHNOLOGY */
.zm2-tech{padding:105px 0 115px!important}
.zm2-center-head{max-width:720px!important;margin:0 auto 48px!important}
.zm2-tech-layout{max-width:1280px!important;grid-template-columns:1.05fr .95fr!important;gap:26px!important}
.zm2-tech-left img{height:350px!important}
.zm2-tech-right img{height:500px!important}
.zm2-tech-description{font-size:15px!important;line-height:1.7!important;margin-top:18px!important}
.zm2-stats{margin-top:28px!important;gap:24px!important}
.zm2-stat strong{font-size:38px!important;color:#163b73!important}
.zm2-stat span{font-size:12px!important}

/* EXPERTISE */
.zm2-expertise{padding:25px 0 100px!important}
.zm2-expertise-grid{max-width:1280px!important;grid-template-columns:.92fr 1.08fr!important;gap:52px!important}
.zm2-expertise-image img{height:670px!important}
.zm2-expertise-cards{margin-top:28px!important;gap:14px!important}
.zm2-expertise-card{min-height:170px!important;padding:25px!important;background:#dce8f8!important}
.zm2-small-icon{width:50px!important;height:50px!important;font-size:26px!important;margin-bottom:18px!important}
.zm2-expertise-card h3{font-size:19px!important;font-weight: 600;margin-bottom:8px!important}
.zm2-expertise-card p{font-size:13px!important;line-height:1.6!important}

/* TRUST */
.zm2-trust{padding:28px 0 95px!important}
.zm2-trust-inner{max-width:1280px!important;font-size:12px!important;gap:20px!important}
.zm2-trust-item span{width:28px!important;height:28px!important;font-size:11px!important}

/* SERVICES */
.zm2-services{padding:100px 0 115px!important}
.zm2-services-head{max-width:1280px!important;grid-template-columns:1.25fr .75fr!important;gap:70px!important;margin-bottom:38px!important}
.zm2-services-grid{max-width:1280px!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.zm2-service{min-height:355px!important;padding:16px!important;background:#dce8f8!important}
.zm2-service-image{height:205px!important;margin-bottom:18px!important}
.zm2-service-arrow{width:32px!important;height:32px!important;font-size:12px!important;right:9px!important;top:9px!important;background:#0033a0!important}
.zm2-service h3{font-size:19px!important;margin-bottom:8px!important;font-weight: 600;}
.zm2-service p{font-size:13px!important;line-height:1.6!important}

/* PROCESS */
.zm2-process{padding:110px 0!important}
.zm2-process-head{max-width:700px!important;margin-bottom:42px!important}
.zm2-process-head p{font-size:15px!important;line-height:1.65!important}
.zm2-process-grid{max-width:1280px!important;grid-template-columns:repeat(4,1fr)!important;gap:15px!important}
.zm2-process-card{min-height:225px!important;padding:26px!important}
.zm2-process-no{font-size:11px!important;margin-bottom:28px!important}
.zm2-process-card h3{font-size:19px!important;margin-bottom:9px!important;font-weight: 600;}
.zm2-process-card p{font-size:13px!important;line-height:1.6!important}

/* PROJECTS */
.zm2-projects{padding:105px 0!important}
.zm2-project-head{max-width:1280px!important;gap:70px!important;margin-bottom:40px!important}
.zm2-project-list{max-width:1280px!important}
.zm2-project{grid-template-columns:1fr 1fr!important;gap:46px!important;padding:22px 0!important}
.zm2-project img{height:330px!important}
.zm2-project-content{padding:20px 25px 20px 0!important}
.zm2-project-content h3{font-size:24px!important;margin-bottom:12px!important}
.zm2-project-content p{font-size:15px!important;line-height:1.7!important}
.zm2-checks{font-size:13px!important;gap:8px!important;margin:16px 0!important}

/* PACKAGES */
.zm2-packages{padding:95px 0 110px!important}
.zm2-packages-head{max-width:800px!important;margin-bottom:40px!important}
.zm2-package-grid{max-width:1280px!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.zm2-package{min-height:480px!important;padding:30px!important;background:#f1f6fc!important;border-color:#cfddf0!important}
.zm2-package.featured{background:#d7e5f7!important}
.zm2-package h3{font-size:19px!important}
.zm2-package p,.zm2-package li{font-size:13px!important;line-height:1.6!important}
.zm2-price{font-size:40px!important;color:#153b75!important}
.zm2-package ul{min-height:135px!important}

/* CTA */
.zm2-cta{padding:15px 32px 100px!important}
.zm2-cta-box{max-width:1280px!important;min-height:390px!important;padding:60px 30px!important;background:#0033a0!important}
.zm2-cta-box .zm2-title{color:#fff!important}

/* TESTIMONIALS */
.zm2-testimonials{padding:95px 0 110px!important}
.zm2-testimonial-layout{max-width:1280px!important;grid-template-columns:.72fr 1.28fr!important;gap:55px!important}
.zm2-testimonial-slide{grid-template-columns:1fr 1fr!important;gap:16px!important}
.zm2-testimonial{min-height:350px!important;grid-template-rows:155px 1fr!important;background:#dce8f8!important}
.zm2-testimonial-cover{height:155px!important}
.zm2-testimonial-body{padding:25px!important}
.zm2-stars{font-size:13px!important}
.zm2-testimonial p{font-size:14px!important;line-height:1.7!important}
.zm2-person img{width:42px!important;height:42px!important}
.zm2-person strong{font-size:12px!important}
.zm2-person span{font-size:11px!important}
.zm2-testimonial-nav button{width:42px!important;height:42px!important;font-size:13px!important;color:#0033a0!important}
.zm2-testimonial-dot.active{background:#0033a0!important}

/* FAQ */
.zm2-faq{padding:95px 0 110px!important}
.zm2-faq-grid{max-width:1280px!important;grid-template-columns:.9fr 1.1fr!important;gap:55px!important}
.zm2-faq-image img{height:540px!important}
.zm2-faq summary{font-size:15px!important;padding:18px 20px!important;background:#dce8f8!important}
.zm2-faq details p{font-size:13px!important;line-height:1.65!important;padding:14px 20px!important}

/* ARTICLES */
.zm2-articles{padding:95px 0 110px!important}
.zm2-articles-head{max-width:700px!important;margin-bottom:40px!important}
.zm2-article-grid{max-width:1280px!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.zm2-article{background:#dce8f8!important}
.zm2-article img{height:240px!important}
.zm2-article-content{padding:24px!important}
.zm2-article-content span{font-size:10px!important}
.zm2-article-content h3{font-size:19px!important;line-height:1.25!important}
.zm2-article-content a{font-size:12px!important}

/* TEAM — last before footer */
.zm2-team{padding:95px 0 110px!important}
.zm2-team-head{max-width:700px!important}
.zm2-team-grid{max-width:1280px!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.zm2-team-card img{height:410px!important}
.zm2-team-info{padding:20px!important}
.zm2-team-info h3{font-size:18px!important}
.zm2-team-info p{font-size:13px!important}

/* FOOTER */
.zm2-footer{background:#0033a0!important;padding-top:75px!important}
.zm2-footer .zm2-container{max-width:1280px!important}
.zm2-footer-logo-img{height:75px!important;width:auto!important}
.zm2-footer-about,.zm2-footer a,.zm2-footer p{font-size:12px!important;line-height:1.7!important}
.zm2-footer h4{font-size:14px!important}

/* TABLET */
@media(max-width:1024px){
 .zm2-container,.zm2-header{width:calc(100% - 40px)!important}
 .zm2-nav{gap:17px!important}
 .zm2-nav a{font-size:11px!important}
 .zm2-hero h1{font-size:60px!important}
 .zm2-hero-card{width:235px!important}
 .zm2-tech-layout,.zm2-expertise-grid{max-width:860px!important}
}

/* MOBILE */
@media(max-width:760px){
 .zm2-container,.zm2-header{width:calc(100% - 24px)!important}
 .zm2-header{min-height:62px!important;padding:0 12px!important}
 .zm2-logo-img{height:42px!important}
 .zm2-nav{display:none!important}
 .zm2-header-cta{font-size:10px!important;padding:9px 13px!important}
 .zm2-hero{min-height:720px!important}
 .zm2-hero-inner{min-height:620px!important;align-items:flex-start!important;padding-top:100px!important}
 .zm2-hero h1{font-size:48px!important;letter-spacing:-2.5px!important}
 .zm2-hero-text{font-size:14px!important;max-width:92%!important}
 .zm2-hero-card{width:205px!important;right:12px!important;bottom:20px!important}
 .zm2-hero-card img{height:120px!important}
 .zm2-title{font-size:36px!important}
 .zm2-copy{font-size:15px!important}
 .zm2-tech-layout,.zm2-expertise-grid,.zm2-services-head,.zm2-project-head,.zm2-project,.zm2-testimonial-layout,.zm2-faq-grid{grid-template-columns:1fr!important}
 .zm2-services-grid,.zm2-package-grid,.zm2-article-grid,.zm2-team-grid{grid-template-columns:1fr!important}
 .zm2-process-grid{grid-template-columns:1fr 1fr!important}
 .zm2-tech-left img,.zm2-tech-right img,.zm2-expertise-image img,.zm2-faq-image img{height:360px!important}
 .zm2-service{min-height:auto!important}
 .zm2-service-image{height:230px!important}
 .zm2-project img{height:260px!important}
 .zm2-testimonial-slide{grid-template-columns:1fr!important}
 .zm2-testimonial{grid-template-rows:145px 1fr!important}
 .zm2-team-card img{height:360px!important}
}
@media(max-width:480px){
 .zm2-process-grid{grid-template-columns:1fr!important}
 .zm2-hero h1{font-size:42px!important}
 .zm2-title{font-size:32px!important}
}


/* =========================================================
   CLIENT MOBILE HERO FIX — THEME-LIKE FIRST SCREEN
========================================================= */
.zm2-mobile-menu{
    display:none;
    width:46px;
    height:40px;
    padding:0;
    border:0;
    border-radius:4px;
    background:#0033a0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
}
.zm2-mobile-menu span{
    width:24px;
    height:2px;
    display:block;
    background:#fff;
}

@media(max-width:760px){

    /* Header like reference: rounded white pill + logo + hamburger */
    .zm2-hero{
        min-height:920px!important;
        padding-top:16px!important;
        background-position:61% center!important;
    }
    .zm2-hero:before{
        content:"";
        position:absolute;
        inset:0;
        background:rgba(8,25,45,.25);
        pointer-events:none;
    }
    .zm2-header{
        width:calc(100% - 32px)!important;
        min-height:60px!important;
        padding:0 16px 0 18px!important;
        position:relative!important;
        z-index:30!important;
        border-radius:32px!important;
        background:#fff!important;
    }
    .zm2-logo-img{
        height:40px!important;
        max-width:150px!important;
    }
    .zm2-nav,
    .zm2-header-cta{
        display:none!important;
    }
    .zm2-mobile-menu{
        display:flex!important;
    }

    /* Main copy centered and positioned like Geotra mobile */
    .zm2-hero-inner{
        width:100%!important;
        min-height:830px!important;
        padding:72px 16px 0!important;
        display:block!important;
    }
    .zm2-hero-content{
        width:100%!important;
        max-width:none!important;
        margin:0 auto!important;
        text-align:center!important;
    }
    .zm2-hero-label{
        margin-bottom:24px!important;
        font-size:12px!important;
        line-height:1.3!important;
        letter-spacing:2.4px!important;
    }
    .zm2-hero h1{
        max-width:390px!important;
        margin:0 auto 24px!important;
        font-size:42px!important;
        line-height:1.03!important;
        letter-spacing:-2px!important;
    }
    .zm2-hero-text{
        max-width:390px!important;
        margin:0 auto 24px!important;
        font-size:15px!important;
        line-height:1.65!important;
    }
    .zm2-hero-buttons{
        justify-content:center!important;
        gap:12px!important;
    }
    .zm2-hero-buttons .zm2-btn{
        min-height:44px!important;
        padding:0 22px!important;
        font-size:12px!important;
    }

    /* Feature card below buttons, wide like reference */
    .zm2-hero-card{
        width:auto!important;
        left:16px!important;
        right:16px!important;
        bottom:28px!important;
        border:0!important;
        border-radius:7px!important;
        padding:16px!important;
        background:#fff!important;
        box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
    }
    .zm2-hero-card img{
        width:100%!important;
        height:190px!important;
        border-radius:6px!important;
        object-fit:cover!important;
    }
    .zm2-hero-card-content{
        padding:18px 2px 4px!important;
        text-align:left!important;
    }
    .zm2-hero-card-content h3{
        margin-bottom:8px!important;
        font-size:18px!important;
        line-height:1.25!important;
    }
    .zm2-hero-card-content p{
        font-size:13px!important;
        line-height:1.6!important;
    }

    /* First section begins cleanly after hero */
    .zm2-tech{
        padding-top:72px!important;
    }
    .zm2-center-head{
        margin-bottom:34px!important;
    }
}

@media(max-width:430px){
    .zm2-hero{min-height:900px!important}
    .zm2-hero-inner{min-height:810px!important;padding-top:125px!important}
    .zm2-hero h1{font-size:39px!important}
    .zm2-hero-text{font-size:14px!important}
    .zm2-hero-card img{height:180px!important}
}


/* =========================================================
   FUNCTIONAL OFF-CANVAS MOBILE MENU
========================================================= */
.zm2-mobile-overlay,
.zm2-mobile-drawer{display:none}

@media(max-width:760px){
    body.zm2-menu-open{overflow:hidden!important}

    .zm2-mobile-overlay{
        display:block;
        position:fixed;
        inset:0;
        z-index:9997;
        background:rgba(10,17,24,.58);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .32s ease,visibility .32s ease;
    }
    .zm2-mobile-overlay.is-open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    .zm2-mobile-drawer{
        width:min(83vw,355px);
        height:100dvh;
        padding:92px 20px 30px;
        display:block;
        position:fixed;
        left:0;
        top:0;
        z-index:9998;
        overflow-y:auto;
        background:#fff;
        transform:translateX(-105%);
        box-shadow:15px 0 40px rgba(0,0,0,.14);
        transition:transform .36s cubic-bezier(.4,0,.2,1);
    }
    .zm2-mobile-drawer.is-open{transform:translateX(0)}

    .zm2-mobile-close{
        width:45px;
        height:40px;
        position:absolute;
        right:14px;
        top:22px;
        border:0;
        border-radius:3px;
        background:#0033a0;
        color:#fff;
        font-family:Arial,sans-serif;
        font-size:22px;
        font-weight:700;
        line-height:1;
        cursor:pointer;
    }

    .zm2-mobile-drawer-nav{
        display:flex;
        flex-direction:column;
    }
    .zm2-mobile-drawer-nav > a,
    .zm2-mobile-pages-toggle{
        width:100%;
        min-height:47px;
        padding:0;
        display:flex;
        align-items:center;
        border:0;
        background:transparent;
        color:#171717!important;
        font-family:"DM Sans",sans-serif;
        font-size:18px;
        font-weight:600;
        text-align:left;
        cursor:pointer;
    }
    .zm2-mobile-drawer-nav > a.active{color:#0033a0!important}

    .zm2-mobile-pages-toggle{
        justify-content:space-between;
    }
    .zm2-mobile-pages-toggle i{
        width:38px;
        height:38px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid #0033a0;
        border-radius:50%;
        color:#0033a0;
        font-size:11px;
        transition:transform .25s ease;
    }
    .zm2-mobile-pages.is-open .zm2-mobile-pages-toggle i{
        transform:rotate(180deg);
    }

    .zm2-mobile-submenu{
        max-height:0;
        overflow:hidden;
        padding-left:15px;
        transition:max-height .3s ease;
    }
    .zm2-mobile-pages.is-open .zm2-mobile-submenu{
        max-height:180px;
    }
    .zm2-mobile-submenu a{
        min-height:38px;
        display:flex;
        align-items:center;
        color:#4b5870!important;
        font-size:15px;
        font-weight:500;
    }
}
.widget-area {
 display: none !important;
}
/* Page-only additions; approved global zm2 design stays unchanged */
.zm2 .zd-hero{position:relative;min-height:480px;display:flex;align-items:center;padding:85px 0;background:linear-gradient(90deg,rgba(10,37,81,.94),rgba(10,37,81,.42)),url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1800&q=85") center/cover}
.zm2 .zd-hero h1{max-width:840px;color:#fff;font:700 clamp(38px,5.2vw,67px)/1.06 Manrope,sans-serif;letter-spacing:-2px;margin:18px 0}
.zm2 .zd-hero p{max-width:700px;color:#e6efff;font-size:14px;line-height:1.8}
.zm2 .zd-hero .zm2-kicker{color:#bcd3ff}
.zm2 .zd-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.zm2 .zd-section{padding:85px 0}
.zm2 .zd-soft{background:#edf3fb}
.zm2 .zd-inner{max-width:1050px;margin:auto}
.zm2 .zd-intro{max-width:780px;margin-bottom:32px}
.zm2 .zd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.zm2 .zd-card{padding:27px;background:#fff;border:1px solid #dbe5f2;border-radius:5px}
.zm2 .zd-card h3{font:700 17px/1.35 Manrope,sans-serif;margin:12px 0}
.zm2 .zd-card p{margin:0}
.zm2 .zd-icon{width:42px;height:42px;display:grid;place-items:center;background:#dce8f8;color:#0033a0;border-radius:50%;font-size:17px}
.zm2 .zd-split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.zm2 .zd-split img{width:100%;height:410px;object-fit:cover;border-radius:5px}
.zm2 .zd-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.zm2 .zd-pair .zd-card{background:#dce8f8;padding:34px}
.zm2 .zd-pair .zd-card:nth-child(2){background:#fff}
.zm2 .zd-list{display:grid;gap:13px;padding:0;list-style:none;margin:22px 0}
.zm2 .zd-list li{display:flex;gap:11px;align-items:flex-start;color:#36557f;font-size:13px;line-height:1.7}
.zm2 .zd-list i{color:#0033a0;margin-top:5px}
.zm2 .zd-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.zm2 .zd-step{padding:25px;background:#fff;border-radius:5px}
.zm2 .zd-step b{font-size:11px;color:#0033a0}
.zm2 .zd-step h3{font-size:15px;margin:18px 0 9px}
.zm2 .zd-step p{margin:0}
.zm2 .zd-note{margin-top:28px;padding:26px;background:#dce8f8;border-left:4px solid #0033a0;border-radius:3px}
.zm2 .zd-note p{margin:0 0 15px}
.zm2 .zd-faq details{border-bottom:1px solid #cbd9ed;padding:18px 0}
.zm2 .zd-faq summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.zm2 .zd-faq summary:after{content:'+';color:#0033a0;font-size:22px}
.zm2 .zd-faq details[open] summary:after{content:'−'}
.zm2 .zd-faq details p{padding-top:12px;margin:0}
.zm2 .zd-contact{padding:65px 0;background:#0033a0;color:#fff}
.zm2 .zd-contact h2{color:#fff}
.zm2 .zd-contact p,.zm2 .zd-contact a:not(.zm2-btn){color:#e3edff}
.zm2 .zd-contact-lines{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:25px;font-size:13px}
.zm2 .zd-reviews{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.zm2 .zd-review{padding:27px;background:#dce8f8}
.zm2 .zd-review strong{display:block;margin-top:18px}
.zm2 .zd-stars{color:#0033a0;letter-spacing:2px}
@media(max-width:900px){.zm2 .zd-grid,.zm2 .zd-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.zm2 .zd-section{padding:55px 0}.zm2 .zd-hero{min-height:420px;padding:65px 0}.zm2 .zd-grid,.zm2 .zd-steps,.zm2 .zd-pair,.zm2 .zd-split,.zm2 .zd-reviews,.zm2 .zd-contact-lines{grid-template-columns:1fr}.zm2 .zd-split img{height:260px}.zm2 .zd-card{padding:22px}}

/* =========================================================
   GLOBAL HEADER: IDENTICAL ON HOMEPAGE AND INNER PAGES
   Header is outside the homepage hero in header.php.
   Overlay it without adding a white strip above the hero.
   Keep the existing approved header sizing, colors and radius.
========================================================= */
#page.site {
    position: relative;
}

body .zm2.zm2-global-header {
    position: absolute !important;
    top: 26px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    z-index: 9990 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Do not restyle the pill: existing .zm2-header rules apply everywhere. */
body .zm2-global-header > .zm2-header {
    margin-left: auto !important;
    margin-right: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
}

/* Keep the overlay above the page while the mobile drawer is open. */
body .zm2-global-header .zm2-mobile-overlay {
    z-index: 9997;
}
body .zm2-global-header .zm2-mobile-drawer {
    z-index: 9998;
}

/* The header overlays the hero, without moving the hero down. */
body.home .zm2-hero,
body.front-page .zm2-hero {
    margin-top: 0 !important;
}

@media (max-width: 760px) {
    body .zm2.zm2-global-header {
        top: 16px !important;
    }
}

/* ========================================
   ZOOMACAD SERVICES DROPDOWN
======================================== */

/* Desktop dropdown */
.zm2-global-header .zm2-nav {
    overflow: visible;
}

.zm2-nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.zm2-nav-dropdown-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.zm2-nav-dropdown-link i {
    font-size: 10px;
    transition: transform .2s ease;
}

.zm2-nav-submenu {
    position: absolute;
    top: 100%;
    left: -18px;
    width: 300px;
    padding: 12px 0;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 15px 40px rgba(0, 30, 80, .15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease,
                transform .2s ease,
                visibility .2s ease;
    z-index: 99999;
}

.zm2-nav-submenu a {
    display: block;
    padding: 13px 18px;
    color: #17263b !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.5;
    white-space: normal;
}

.zm2-nav-submenu a:hover,
.zm2-nav-submenu a:focus-visible {
    background: #edf3fb;
    color: #0033a0 !important;
}

.zm2-nav-dropdown:hover .zm2-nav-submenu,
.zm2-nav-dropdown:focus-within .zm2-nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.zm2-nav-dropdown:hover .zm2-nav-dropdown-link i,
.zm2-nav-dropdown:focus-within .zm2-nav-dropdown-link i {
    transform: rotate(180deg);
}

/* Mobile services */
.zm2-mobile-services {
    width: 100%;
}

.zm2-mobile-services summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
}

.zm2-mobile-services summary::-webkit-details-marker {
    display: none;
}

.zm2-mobile-services summary i {
    font-size: 12px;
    transition: transform .2s ease;
}

.zm2-mobile-services[open] summary i {
    transform: rotate(180deg);
}

.zm2-mobile-services-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 8px 0 8px 14px;
    border-left: 2px solid #dbe5f2;
}

.zm2-mobile-services-links a {
    display: block;
    padding: 11px 8px;
    font-size: 13px;
    line-height: 1.5;
}

