#contact_hero,
#contact_channels,
#contact_connect,
#contact_map,
#contact_cta{
padding-top:40px;
padding-bottom:40px;
}

#contact_hero{
background:
radial-gradient(circle at 16% 12%, rgba(27, 127, 71, 0.12) 0%, rgba(27, 127, 71, 0) 24%),
radial-gradient(circle at 88% 18%, rgba(53, 153, 91, 0.12) 0%, rgba(53, 153, 91, 0) 24%),
linear-gradient(180deg, #f8fcfc 0%, #eef8f8 100%);
}

.contact_kicker,
.contact_label{
display:inline-block;
font-size:12px;
font-weight:800;
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--theme-accent-deep);
margin-bottom:18px;
}

.contact_hero_panel,
.contact_signal_card,
.contact_form_panel,
.contact_office_panel,
.contact_map_frame,
.contact_cta_inner{
border-radius:30px;
box-shadow:var(--theme-shadow-soft);
}

.contact_hero_panel{
background:linear-gradient(145deg, rgba(255,255,255,0.95), rgba(239,248,248,0.92));
border:1px solid rgba(183, 211, 191, 0.7);
padding:42px 40px;
}

.contact_hero_copy h1,
.contact_connect_head h2,
.contact_map_head h2,
.contact_cta_copy h2{
font-size:50px;
line-height:1.06;
margin-top:0;
color:var(--theme-ink);
font-weight:800;
}

.contact_hero_copy p,
.contact_signal_card p,
.contact_connect_head p,
.contact_form_panel p,
.contact_office_panel p,
.contact_map_head p,
.contact_cta_copy p{
font-size:17px;
line-height:1.8;
color:var(--theme-ink-soft);
}

.contact_hero_grid,
.contact_cta_inner{
display:flex;
align-items:stretch;
}

.contact_hero_copy,
.contact_hero_stats{
height:100%;
}

.contact_hero_actions{
margin-top:30px;
display:flex;
flex-wrap:wrap;
gap:14px;
}

.contact_hero_actions .button,
.contact_hero_actions .button_1,
.contact_cta_actions .button,
.contact_cta_actions .button_1{
margin:0;
}

.contact_hero_stats{
background:linear-gradient(160deg, #314657 0%, #42586a 54%, #1b7f47 100%);
padding:28px;
border-radius:26px;
color:#fff;
}

.contact_stat_item{
padding:18px 0;
border-bottom:1px solid rgba(255,255,255,0.16);
}

.contact_stat_item:first-child{
padding-top:0;
}

.contact_stat_item:last-child{
border-bottom:none;
padding-bottom:0;
}

.contact_stat_item strong,
.contact_stat_item span{
display:block;
}

.contact_stat_item strong{
font-size:14px;
letter-spacing:0.18em;
text-transform:uppercase;
opacity:0.76;
}

.contact_stat_item span{
margin-top:8px;
font-size:24px;
line-height:1.35;
font-weight:700;
color:#fff;
}

#contact_channels{
background:#fff;
}

.contact_signal_card{
background:#fff;
border:1px solid var(--theme-line);
padding:28px 24px;
height:100%;
}

.contact_signal_icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:58px;
height:58px;
border-radius:18px;
background:linear-gradient(135deg, var(--theme-accent) 0%, var(--theme-accent-strong) 100%);
color:#fff;
font-size:22px;
margin-bottom:18px;
}

.contact_signal_card h4,
.contact_form_panel h3,
.contact_office_panel h3,
.contact_map_head h2,
.contact_cta_copy h2{
color:var(--theme-ink);
font-weight:700;
}

.contact_signal_card a,
.contact_office_panel a,
.contact_map_tag a{
color:var(--theme-accent-deep);
font-weight:700;
}

.contact_signal_card a:hover,
.contact_office_panel a:hover,
.contact_map_tag a:hover{
color:var(--theme-accent-strong);
}

#contact_connect{
background:
radial-gradient(circle at 14% 20%, rgba(27, 127, 71, 0.08) 0%, rgba(27, 127, 71, 0) 25%),
linear-gradient(180deg, #fbfefe 0%, #f2fafa 100%);
}

.contact_connect_head{
max-width:860px;
margin:0 auto 28px;
text-align:center;
}

.contact_form_panel{
background:#fff;
border:1px solid var(--theme-line);
padding:34px 32px;
height:100%;
}

.contact_form_grid .col-sm-6,
.contact_form_grid .col-sm-12{
margin-top:18px;
}

.contact_form_grid .col-sm-6:nth-child(-n+2),
.contact_form_grid .col-sm-12:first-child{
margin-top:0;
}

.contact_form_panel h6{
margin-top:0;
margin-bottom:10px;
font-size:13px;
font-weight:800;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--theme-accent-deep);
}

.contact_form_panel .form-control{
height:54px;
border-radius:16px;
border:1px solid rgba(183, 211, 191, 0.9);
background:rgba(247, 250, 251, 0.92);
box-shadow:none;
font-size:16px;
color:var(--theme-ink);
padding:14px 16px;
}

.contact_form_panel textarea.form-control{
height:200px;
resize:vertical;
}

.contact_honeypot{
display:none!important;
}

.contact_success_notice{
display:none;
margin-top:18px;
margin-bottom:4px;
padding:16px 18px;
border:1px solid rgba(27, 127, 71, 0.18);
border-radius:18px;
background:linear-gradient(135deg, rgba(209, 250, 229, 0.7), rgba(236, 253, 245, 0.92));
color:var(--theme-accent-deep);
font-size:15px;
font-weight:700;
line-height:1.7;
}

.contact-submitted .contact_success_notice{
display:block;
}

.contact_mailto_note{
margin-top:18px;
margin-bottom:4px;
padding:16px 18px;
border:1px solid rgba(27, 127, 71, 0.12);
border-radius:18px;
background:linear-gradient(135deg, rgba(244, 250, 247, 0.92), rgba(250, 253, 251, 0.96));
color:var(--theme-ink-soft);
font-size:15px;
line-height:1.7;
}

.contact_form_panel .form-control:focus{
border-color:var(--theme-accent-strong);
box-shadow:0 0 0 3px rgba(53, 153, 91, 0.12);
}

.contact_form_actions{
margin-top:24px;
}

.contact_form_actions .button{
display:inline-block;
padding:15px 30px;
border:none;
border-radius:8px;
background:linear-gradient(135deg, var(--theme-accent) 0%, var(--theme-accent-strong) 100%);
box-shadow:0 12px 28px rgba(27, 127, 71, 0.22);
color:#fff;
font-size:16px;
font-weight:700;
line-height:1.2;
text-align:center;
text-decoration:none;
cursor:pointer;
appearance:none;
-webkit-appearance:none;
}

.contact_form_actions .button:hover,
.contact_form_actions .button:focus,
.contact_form_actions .button:active{
background:linear-gradient(135deg, var(--theme-accent-deep) 0%, var(--theme-accent-strong) 100%)!important;
color:#fff;
transform:translateY(-2px);
box-shadow:0 14px 30px rgba(53, 153, 91, 0.24);
}

.contact_office_panel{
background:linear-gradient(160deg, #314657 0%, #42586a 54%, #1b7f47 100%);
padding:34px 30px;
height:100%;
color:#fff;
}

.contact_office_panel h3,
.contact_office_panel p,
.contact_office_panel a,
.contact_office_panel li,
.contact_office_panel .contact_label{
color:#fff;
}

.contact_office_panel .contact_label{
opacity:0.76;
}

.contact_office_panel .contact_label,
.contact_cta_copy .contact_label{
margin-bottom:16px;
}

.contact_info_block{
padding:18px 0;
border-top:1px solid rgba(255,255,255,0.16);
}

.contact_info_block:first-of-type{
border-top:none;
padding-top:0;
}

.contact_info_block h5{
margin-top:0;
font-size:18px;
color:#fff;
}

.contact_info_block p{
margin-top:10px;
color:rgba(255,255,255,0.86);
}

.contact_meta_list{
margin-top:16px;
}

.contact_meta_list li{
position:relative;
padding-left:26px;
margin-top:12px;
font-size:16px;
line-height:1.7;
color:rgba(255,255,255,0.86);
}

.contact_meta_list li:before{
content:"\f058";
font-family:'FontAwesome';
position:absolute;
left:0;
top:1px;
color:#9ef0dd;
}

#contact_map{
background:#fff;
padding-top:10px;
padding-bottom:50px;
}

.contact_map_head{
max-width:860px;
margin:0 auto 28px;
text-align:center;
}

.contact_map_frame{
overflow:hidden;
border:1px solid var(--theme-line);
background:#fff;
}

.contact_map_frame iframe{
display:block;
width:100%;
height:480px;
border:0;
}

.contact_map_tag{
padding:20px 24px;
border-top:1px solid var(--theme-line);
background:rgba(247, 250, 251, 0.84);
}

#contact_cta{
padding-top:0;
padding-bottom:50px;
}

.contact_cta_inner{
background:linear-gradient(135deg, #274457 0%, #35586a 58%, #178d8d 100%);
padding:40px 42px;
}

.contact_cta_copy h2,
.contact_cta_copy p,
.contact_cta_copy .contact_label{
color:#fff;
}

.contact_cta_copy .contact_label{
opacity:0.76;
}

.contact_cta_actions{
display:flex;
height:100%;
justify-content:flex-end;
align-items:center;
}

@media screen and (max-width : 767px){
#contact_hero,
#contact_channels,
#contact_connect,
#contact_map,
#contact_cta{
text-align:center;
}
.contact_hero_grid,
.contact_cta_inner{
display:block;
}
.contact_hero_panel,
.contact_form_panel,
.contact_office_panel,
.contact_cta_inner{
padding:28px 18px;
}
.contact_hero_copy h1,
.contact_connect_head h2,
.contact_map_head h2,
.contact_cta_copy h2{
font-size:34px;
line-height:1.05;
}
.contact_hero_stats,
.contact_office_panel,
.contact_signal_card,
.contact_cta_actions{
margin-top:18px;
}
.contact_hero_actions,
.contact_cta_actions{
justify-content:center;
}
.contact_cta_actions{
height:auto;
}
.contact_form_grid .col-sm-6,
.contact_form_grid .col-sm-12{
margin-top:16px;
}
.contact_map_frame iframe{
height:360px;
}
}

@media (min-width:768px) and (max-width:991px) {
.contact_hero_copy h1,
.contact_connect_head h2,
.contact_map_head h2,
.contact_cta_copy h2{
font-size:40px;
}
.contact_hero_stats,
.contact_office_panel{
margin-top:24px;
}
.contact_cta_actions{
justify-content:flex-start;
margin-top:20px;
}
}
