
:root{
    --primary:#012a64;
    --secondary:#0075d9;
    --accent:#feb004;
    --text:#172b4d;
    --muted:#62748a;
    --light:#f6f9ff;
}


/* =========================
   PAGE HERO
========================= */

.contact-hero{
    padding:75px 20px 70px;
    background:
        radial-gradient(500px 250px at 15% 10%,rgba(0,117,217,.14),transparent),
        radial-gradient(500px 300px at 85% 30%,rgba(254,176,4,.18),transparent),
        linear-gradient(180deg,#f0f7ff,#fff);
    border-bottom:1px solid #dbe6f3;
    text-align:center;
}

.contact-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 15px;
    border:1px solid #c8d9f0;
    border-radius:100px;
    background:#fff;
    color:var(--secondary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    box-shadow:0 4px 12px rgba(1,42,100,.05);
}

.contact-label i{
    color:var(--accent);
}

.contact-hero h1{
    margin:18px auto 12px;
    max-width:800px;
    font-size:clamp(38px,5vw,58px);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.035em;
    color:var(--primary);
}

.contact-hero h1 span{
    color:var(--secondary);
}

.contact-hero p{
    max-width:650px;
    margin:auto;
    color:#62748a;
    font-size:16px;
    line-height:1.7;
}


/* =========================
   MAIN CONTACT
========================= */

.contact-section{
    padding:65px 0;
    background:#fff;
}

.contact-wrapper{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:30px;
    align-items:start;
}


/* =========================
   FORM CARD
========================= */

.contact-form-card{
    background:rgba(255,255,255,.96);
    border:1px solid #dbe6f3;
    border-radius:26px;
    padding:30px;
    box-shadow:
        0 20px 55px rgba(1,42,100,.10),
        0 0 0 1px rgba(255,255,255,.8) inset;
}

.form-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:25px;
}

.form-title-icon{
    width:50px;
    height:50px;
    border-radius:14px;
    background:var(--accent);
    color:var(--primary);
    display:grid;
    place-items:center;
    font-size:20px;
    box-shadow:0 8px 18px rgba(254,176,4,.28);
}

.form-title h2{
    margin:0;
    color:var(--primary);
    font-size:22px;
    font-weight:800;
}

.form-title p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px;
}

.contact-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.form-group{
    min-width:0;
}

.form-group.full{
    grid-column:1/-1;
}

.form-group label{
    display:block;
    margin-bottom:7px;
    color:var(--primary);
    font-size:12px;
    font-weight:800;
}

.field{
    position:relative;
}

.field i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:var(--secondary);
    font-size:13px;
    z-index:2;
}

.field textarea + i{
    top:18px;
    transform:none;
}

.form-input{
    width:100%;
    height:48px;
    padding:0 14px 0 40px;
    border:1.5px solid #dbe6f3;
    border-radius:12px;
    background:#f8fbff;
    color:var(--primary);
    font-family:inherit;
    font-size:13px;
    outline:none;
    transition:.25s;
}

textarea.form-input{
    height:105px;
    padding-top:14px;
    resize:vertical;
}

.form-input:focus{
    border-color:var(--secondary);
    background:#fff;
    box-shadow:0 0 0 4px rgba(0,117,217,.10);
}

.quote-btn{
    width:100%;
    height:54px;
    margin-top:4px;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,#0075d9,#012a64);
    color:#fff;
    font-family:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    box-shadow:0 10px 24px rgba(0,117,217,.28);
    transition:.3s;
}

.quote-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 15px 30px rgba(1,42,100,.30);
}

.form-security{
    margin:10px 0 0;
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
    color:#7a8ca3;
    font-size:10px;
}

.form-security i{
    margin-right:4px;
}


/* =========================
   RIGHT CONTACT CARD
========================= */

.contact-right{
    display:grid;
    gap:20px;
}

.team-card{
    background:
        radial-gradient(400px 220px at 90% 0%,rgba(0,117,217,.30),transparent),
        linear-gradient(135deg,#001734,#012a64 65%,#013a8a);
    color:#fff;
    border-radius:26px;
    padding:30px;
    overflow:hidden;
    position:relative;
    box-shadow:0 20px 50px rgba(1,42,100,.25);
}

.team-card h2{
    margin:10px 0 10px;
    color:#fff;
    font-size:30px;
    line-height:1.1;
    font-weight:800;
}

.team-card h2 span{
    color:var(--accent);
}

.team-card > p{
    color:rgba(255,255,255,.65);
    font-size:13px;
    line-height:1.7;
    margin:0;
}

.team-label{
    color:var(--accent);
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:800;
}

.contact-details{
    margin-top:25px;
    display:grid;
    gap:12px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:13px;
    padding:12px;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    text-decoration:none;
    transition:.25s;
}

.contact-item:hover{
    background:rgba(255,255,255,.11);
    transform:translateX(3px);
}

.contact-item-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:11px;
    background:var(--accent);
    color:var(--primary);
    display:grid;
    place-items:center;
}

.contact-item small{
    display:block;
    color:rgba(255,255,255,.48);
    font-size:10px;
    margin-bottom:3px;
}

.contact-item strong{
    display:block;
    color:#fff;
    font-size:13px;
    line-height:1.4;
}

.response-box{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:20px;
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
}

.response-box i{
    color:var(--accent);
    font-size:20px;
}

.response-box strong{
    display:block;
    color:#fff;
    font-size:13px;
}

.response-box span{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.6);
    font-size:11px;
}


/* =========================
   QUICK INFO
========================= */

.quick-card{
    padding:25px;
    background:#fff;
    border:1px solid #dbe6f3;
    border-radius:22px;
    box-shadow:0 10px 30px rgba(1,42,100,.07);
}

.quick-card h3{
    color:var(--primary);
    font-size:18px;
    margin:0 0 18px;
}

.quick-list{
    display:grid;
    gap:12px;
}

.quick-list div{
    display:flex;
    align-items:center;
    gap:11px;
    color:#4a5f7a;
    font-size:12px;
}

.quick-list i{
    width:30px;
    height:30px;
    border-radius:9px;
    background:#eef6ff;
    color:var(--secondary);
    display:grid;
    place-items:center;
}


/* =========================
   SERVICE STRIP
========================= */

.contact-services{
    padding:60px 0;
    background:
        radial-gradient(400px 200px at 15% 20%,rgba(0,117,217,.08),transparent),
        radial-gradient(400px 200px at 85% 80%,rgba(254,176,4,.12),transparent),
        #f6f9ff;
    border-top:1px solid #e3ecf7;
    border-bottom:1px solid #e3ecf7;
}

.contact-heading{
    max-width:700px;
    margin:0 auto 35px;
    text-align:center;
}

.contact-heading h2{
    color:var(--primary);
    font-size:clamp(28px,4vw,40px);
    line-height:1.1;
    margin:12px 0;
    font-weight:800;
}

.contact-heading h2 span{
    color:var(--secondary);
}

.contact-heading p{
    color:var(--muted);
    font-size:14px;
    line-height:1.7;
}

.contact-service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.contact-service-card{
    padding:23px;
    background:#fff;
    border:1px solid #e2ebf7;
    border-radius:18px;
    box-shadow:0 8px 24px rgba(1,42,100,.06);
    transition:.3s;
}

.contact-service-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(1,42,100,.12);
}

.contact-service-icon{
    width:48px;
    height:48px;
    margin-bottom:15px;
    border-radius:13px;
    display:grid;
    place-items:center;
    background:#eaf4ff;
    color:var(--secondary);
    font-size:18px;
}

.contact-service-card h3{
    margin:0 0 7px;
    color:var(--primary);
    font-size:15px;
    font-weight:800;
}

.contact-service-card p{
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.65;
}


/* =========================
   CTA
========================= */

.contact-cta{
    padding:55px 0;
}

.contact-cta-box{
    position:relative;
    overflow:hidden;
    padding:45px 35px;
    border-radius:28px;
    text-align:center;
    background:linear-gradient(135deg,#012a64,#0075d9,#012a64);
    color:#fff;
    box-shadow:0 20px 50px rgba(1,42,100,.25);
}

.contact-cta-box h2{
    position:relative;
    z-index:1;
    margin:0;
    color:#fff;
    font-size:clamp(27px,4vw,40px);
    font-weight:800;
}

.contact-cta-box p{
    position:relative;
    z-index:1;
    max-width:600px;
    margin:10px auto 20px;
    color:rgba(255,255,255,.75);
    font-size:14px;
}

.contact-cta-box .btn{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:13px 25px;
    background:var(--accent);
    color:var(--primary);
    border-radius:100px;
    text-decoration:none;
    font-weight:800;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:980px){

    .contact-wrapper{
        grid-template-columns:1fr;
    }

    .contact-service-grid{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:600px){

    .contact-hero{
        padding:55px 18px;
    }

    .contact-hero h1{
        font-size:38px;
    }

    .contact-form-card{
        padding:22px 18px;
        border-radius:20px;
    }

    .contact-form{
        grid-template-columns:1fr;
    }

    .form-group.full{
        grid-column:auto;
    }

    .team-card{
        padding:24px 20px;
    }

    .quick-card{
        padding:20px;
    }

    .contact-service-grid{
        grid-template-columns:1fr;
    }

    .contact-cta-box{
        padding:35px 20px;
    }

}
.footer-modern{background:linear-gradient(180deg,#001734 0%,#000f22 100%);color:#fff;margin-top:60px;border-radius:32px 32px 0 0;overflow:hidden;position:relative;}
        .footer-modern::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#0075d9,#feb004,transparent);}
        .footer-contact-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:36px;}
        .contact-pill{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:14px;backdrop-filter:blur(10px);transition:.3s;}
        .contact-pill:hover{background:rgba(255,255,255,.12);border-color:rgba(254,176,4,.4);transform:translateY(-2px);}
        .contact-pill .icon-box{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:16px;}
        .contact-pill.phone .icon-box{background:#feb004;color:#012a64;}
        .contact-pill.location .icon-box{background:#0075d9;color:#fff;}
        .contact-pill.web .icon-box{background:#fff;color:#012a64;}
        .footer-modern-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr;gap:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);}
        .footer-modern h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px;font-weight:800;}
        .footer-modern .f-links{display:grid;gap:9px;}
        .footer-modern .f-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:14px;}
        @media(max-width:980px){.hero-new{grid-template-columns:1fr;}.grid-6{grid-template-columns:1fr 1fr;}.sec-why-inner{grid-template-columns:1fr;}.pricing-grid{grid-template-columns:1fr;}.area-modern{grid-template-columns:1fr;}.footer-contact-row{grid-template-columns:1fr;}}
        @media(max-width:600px){.grid-6{grid-template-columns:1fr;}.hero-new{padding:28px 0 40px;}}