:root{
    --zc-navy:#044C48;
    --zc-dark:#044C48;
    --zc-gold:#dda928;
    --zc-gold-dark:#c58f18;
    --zc-text:#315B57;
    --zc-muted:#687d8b;
    --zc-line:#dfe7eb;
    --zc-soft:#f5f7f8;
    --zc-white:#fff;
}

.zpc-page{
    font-family:'Manrope',Arial,sans-serif;
    color:var(--zc-text);
    background:#fff;
}

.zpc-page *,
.zpc-page *::before,
.zpc-page *::after{
    box-sizing:border-box;
}

.zpc-container{
    width:min(1240px,calc(100% - 48px));
    margin:auto;
}


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

.zpc-hero{
    position:relative;
    min-height:455px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2000&q=90')
        center 52% / cover no-repeat;
}

.zpc-hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(4,32,57,.96),
            rgba(4,40,69,.80),
            rgba(4,40,69,.30)
        );
}

.zpc-hero-inner{
    position:relative;
    z-index:2;

    padding:80px 0;
}

.zpc-eyebrow{
    display:block;

    margin-bottom:14px;

    color:#e7b234;

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

    letter-spacing:2px;
}

.zpc-hero h1{
    max-width:780px;

    margin:0;

    color:#fff;

    font-size:54px;
    line-height:1.1;

    letter-spacing:-2px;

    font-weight:800;
}

.zpc-hero h1 span{
    display:block;
    color:var(--zc-gold);
}

.zpc-hero p{
    max-width:650px;

    margin:20px 0 0;

    color:#dbe5eb;

    font-size:15px;
    line-height:1.85;
}


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

.zpc-contact{
    padding:100px 0 115px;
    background:#fff;
}


/* FLASH */

.zpc-success{
    margin-bottom:28px;
    padding:17px 20px;

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

    border:1px solid #acd9bd;
    border-radius:10px;

    background:#eaf7ef;
    color:#205d3a;

    font-size:13px;
}

.zpc-errors{
    margin-bottom:28px;
    padding:18px 22px;

    border:1px solid #efc5c5;
    border-radius:10px;

    background:#fff2f2;
    color:#8b3434;

    font-size:12px;
}


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

.zpc-heading{
    margin-bottom:50px;

    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;

    gap:80px;

    align-items:end;
}

.zpc-heading span,
.zpc-bottom span{
    color:#c99219;

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

    letter-spacing:1.8px;
}

.zpc-heading h2{
    max-width:690px;

    margin:12px 0 0;

    color:var(--zc-navy);

    font-size:43px;
    line-height:1.15;

    letter-spacing:-1.7px;

    font-weight:800;
}

.zpc-heading h2 em,
.zpc-bottom h2 em{
    display:block;

    color:#537080;

    font-style:normal;
    font-weight:600;
}

.zpc-heading > p{
    margin:0;

    color:var(--zc-muted);

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


/* ==========================================================
   INFO CARDS
========================================================== */

.zpc-info-grid{
    margin-bottom:32px;

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

    gap:15px;
}

.zpc-info-card{
    position:relative;

    min-height:145px;

    padding:25px;

    display:flex;
    align-items:center;

    gap:17px;

    border:1px solid var(--zc-line);
    border-radius:14px;

    background:#fff;

    color:var(--zc-text);

    text-decoration:none;

    transition:.25s ease;
}

a.zpc-info-card:hover{
    transform:translateY(-3px);

    border-color:#d9b45d;

    box-shadow:
        0 14px 35px
        rgba(6,43,79,.07);
}

.zpc-info-icon{
    width:48px;
    height:48px;

    flex:none;

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

    border-radius:50%;

    background:#fff6df;
    color:#c99115;

    font-size:17px;
}

.zpc-info-card small{
    display:block;

    margin-bottom:5px;

    color:#8a99a3;

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

    letter-spacing:1px;
}

.zpc-info-card strong{
    display:block;

    color:var(--zc-navy);

    font-size:14px;
    font-weight:800;
}

.zpc-info-card span{
    display:block;

    margin-top:5px;

    color:#7a8b96;

    font-size:10px;
}

.zpc-info-arrow{
    position:absolute;

    right:20px;
    top:20px;

    color:#c9951e;

    font-size:10px;
}


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

.zpc-main-grid{
    display:grid;

    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);

    gap:28px;

    align-items:stretch;
}


/* ==========================================================
   MAP
========================================================== */

.zpc-left{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.zpc-map-card{
    overflow:hidden;

    border:1px solid var(--zc-line);
    border-radius:16px;

    background:#fff;
}

.zpc-map-head{
    min-height:95px;

    padding:20px 23px;

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

    gap:20px;
}

.zpc-map-head span{
    color:#c68f16;

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

    letter-spacing:1.3px;
}

.zpc-map-head h3{
    margin:5px 0 0;

    color:var(--zc-navy);

    font-size:21px;
}

.zpc-map-head a{
    color:var(--zc-navy);

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

    text-decoration:none;
}

.zpc-map{
    height:430px;
    background:#e8eef1;
}


/* ==========================================================
   WHATSAPP CARD
========================================================== */

.zpc-help{
    padding:30px;

    border-radius:16px;

    background:var(--zc-navy);

    color:#fff;
}

.zpc-help > span{
    color:#e3ad29;

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

    letter-spacing:1.4px;
}

.zpc-help h3{
    margin:10px 0 8px;

    color:#fff;

    font-size:23px;
}

.zpc-help p{
    max-width:480px;

    margin:0;

    color:#cbd8df;

    font-size:12px;
    line-height:1.8;
}

.zpc-help a{
    width:max-content;

    min-height:44px;

    margin-top:20px;

    padding:0 16px;

    display:inline-flex;
    align-items:center;

    gap:8px;

    border-radius:7px;

    background:#fff;

    color:var(--zc-navy);

    text-decoration:none;

    font-size:10px;
    font-weight:800;
}

.zpc-help a i{
    color:#1da851;
    font-size:16px;
}


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

.zpc-form-card{
    padding:38px;

    border:1px solid var(--zc-line);
    border-radius:16px;

    background:#f8fafb;
}

.zpc-form-label{
    color:#c69018;

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

    letter-spacing:1.5px;
}

.zpc-form-card h2{
    margin:8px 0;

    color:var(--zc-navy);

    font-size:32px;
    line-height:1.2;

    font-weight:800;
}

.zpc-form-card > p{
    margin:0 0 28px;

    color:var(--zc-muted);

    font-size:12px;
    line-height:1.75;
}

.zpc-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:18px;
}

.zpc-field label{
    display:block;

    margin-bottom:7px;

    color:#29465b;

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

.zpc-field input,
.zpc-field select,
.zpc-field textarea{
    width:100%;

    border:1px solid #d9e2e7;
    border-radius:8px;

    background:#fff;

    color:var(--zc-text);

    font-family:inherit;

    outline:0;

    transition:.2s ease;
}

.zpc-field input,
.zpc-field select{
    height:52px;

    padding:0 13px;
}

.zpc-field textarea{
    min-height:165px;

    padding:13px;

    resize:vertical;
}

.zpc-field input:focus,
.zpc-field select:focus,
.zpc-field textarea:focus{
    border-color:var(--zc-gold);

    box-shadow:
        0 0 0 3px
        rgba(221,169,40,.10);
}

.zpc-full{
    grid-column:1/-1;
}

.zpc-submit{
    width:100%;

    min-height:54px;

    margin-top:20px;

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

    gap:10px;

    border:0;
    border-radius:8px;

    background:var(--zc-gold);

    color:var(--zc-navy);

    font-family:inherit;

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

    cursor:pointer;

    transition:.2s ease;
}

.zpc-submit:hover{
    background:#c9951c;
}

.zpc-form-note{
    margin-top:14px;

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

    gap:7px;

    color:#84939d;

    font-size:9px;
}


/* ==========================================================
   BOTTOM CTA
========================================================== */

.zpc-bottom{
    padding:90px 0;

    background:#f4f7f8;
}

.zpc-bottom-grid{
    display:grid;

    grid-template-columns:minmax(0,1fr) 430px;

    align-items:center;

    gap:90px;
}

.zpc-bottom h2{
    margin:10px 0 0;

    color:var(--zc-navy);

    font-size:42px;
    line-height:1.15;

    letter-spacing:-1.5px;

    font-weight:800;
}

.zpc-bottom p{
    margin:0;

    color:var(--zc-muted);

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

.zpc-bottom a{
    margin-top:20px;

    display:inline-flex;
    align-items:center;

    gap:10px;

    color:var(--zc-navy);

    text-decoration:none;

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


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

@media(max-width:950px){

    .zpc-heading,
    .zpc-bottom-grid{
        grid-template-columns:1fr;

        gap:20px;
    }

    .zpc-info-grid{
        grid-template-columns:1fr 1fr;
    }

    .zpc-main-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:650px){

    .zpc-container{
        width:calc(100% - 28px);
    }

    .zpc-hero{
        min-height:420px;
    }

    .zpc-hero h1{
        font-size:38px;
    }

    .zpc-contact{
        padding:70px 0 80px;
    }

    .zpc-heading h2{
        font-size:33px;
    }

    .zpc-info-grid{
        grid-template-columns:1fr;
    }

    .zpc-form-card{
        padding:25px 20px;
    }

    .zpc-form-grid{
        grid-template-columns:1fr;
    }

    .zpc-full{
        grid-column:auto;
    }

    .zpc-map{
        height:320px;
    }

    .zpc-bottom{
        padding:70px 0;
    }

    .zpc-bottom h2{
        font-size:32px;
    }

}
