.espwa-contact{
background:#fff;
overflow-x:hidden;
max-width:100%;
}

.espwa-contact-wrap{
width:min(1180px,calc(100% - 48px));
max-width:100%;
margin:0 auto;
padding:48px 0 88px;
box-sizing:border-box;
}

.espwa-contact-crumb{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px 8px;
margin:0 0 36px;
color:#98a2b3;
font-family:Montserrat,sans-serif;
font-size:12px;
font-weight:500;
letter-spacing:.02em;
}

.espwa-contact-crumb a{
color:#98a2b3;
text-decoration:none;
}

.espwa-contact-crumb a:hover{
color:#1a1d23;
text-decoration:none;
}

.espwa-contact-crumb span{
color:#c5cad3;
}

.espwa-contact-crumb strong{
color:#1a1d23;
font-weight:600;
}

.espwa-contact-layout,
.espwa-contact-form,
.espwa-contact-aside{
min-width:0;
max-width:100%;
}

.espwa-contact-layout{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(280px,.82fr);
gap:48px 56px;
align-items:start;
}

.espwa-contact-kicker{
margin:0 0 14px;
color:#98a2b3;
font-size:10px;
font-weight:700;
letter-spacing:.14em;
text-transform:uppercase;
}

.espwa-contact-form h1,
.espwa-contact-aside h2,
.espwa-contact-hours h3{
margin:0;
color:#1a1d23;
font-family:"Fraunces",Georgia,serif;
font-weight:500;
letter-spacing:-.03em;
}

.espwa-contact-form h1{
margin:0 0 16px;
font-size:clamp(32px,4.2vw,48px);
line-height:1.12;
}

.espwa-contact-lead{
margin:0 0 28px;
color:#3d4450;
font-size:16px;
line-height:1.75;
max-width:38em;
}

.espwa-contact-lead p{
margin:0 0 1em;
}

.espwa-contact-lead p:last-child{
margin-bottom:0;
}

.espwa-contact-aside{
position:relative;
padding:32px 28px 34px;
border-radius:24px;
background:#f6f7f0;
overflow:hidden;
}

@media screen and (min-width:981px){
.espwa-contact-aside{
position:sticky;
top:108px;
}
}

.espwa-contact-aside::before{
content:"";
position:absolute;
top:-48px;
right:-42px;
width:156px;
height:156px;
border-radius:34px;
background:#e4f28a;
transform:rotate(18deg);
pointer-events:none;
}

.espwa-contact-aside::after{
content:"";
position:absolute;
bottom:-52px;
left:-40px;
width:96px;
height:96px;
border-radius:24px;
background:#c8e24a;
opacity:.38;
transform:rotate(-12deg);
pointer-events:none;
}

.espwa-contact-aside > *{
position:relative;
z-index:1;
}

.espwa-contact-aside h2{
margin:0 0 26px;
font-size:clamp(28px,3vw,38px);
line-height:1.12;
max-width:8em;
}

.espwa-contact-stack{
display:flex;
flex-direction:column;
gap:18px;
}

.espwa-contact-item{
display:flex;
align-items:flex-start;
gap:14px;
margin:0;
color:inherit;
text-decoration:none;
}

a.espwa-contact-item:hover{
color:inherit;
text-decoration:none;
}

a.espwa-contact-item:hover strong{
color:#111;
}

.espwa-contact-icon{
flex:0 0 auto;
width:48px;
height:48px;
border-radius:14px;
background:#e4f28a;
color:#1c1a27;
display:inline-flex;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden;
}

.espwa-contact-icon::before{
content:"";
position:absolute;
top:-22px;
left:-12px;
width:46px;
height:46px;
border-radius:50%;
background:rgba(255,255,255,.62);
}

.espwa-contact-icon svg{
position:relative;
z-index:1;
width:22px;
height:22px;
display:block;
}

.espwa-contact-item span:not(.espwa-contact-icon){
display:block;
margin:0 0 4px;
color:#7a8290;
font-size:11px;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.espwa-contact-item p,
.espwa-contact-item strong{
margin:0;
color:#1a1d23;
font-size:14.5px;
font-weight:500;
line-height:1.55;
}

.espwa-contact-item strong{
font-weight:600;
word-break:break-word;
}

.espwa-contact-maps{
display:inline-flex;
align-items:center;
gap:12px;
margin-top:24px;
padding:6px 6px 6px 16px;
border-radius:14px;
background:#c8e24a;
color:#1c1a27 !important;
font-family:Montserrat,sans-serif;
font-size:11px;
font-weight:700;
letter-spacing:.06em;
line-height:1.2;
text-transform:uppercase;
text-decoration:none !important;
max-width:100%;
}

.espwa-contact-maps:hover{
color:#1c1a27 !important;
text-decoration:none !important;
background:#d4eb63;
}

.espwa-contact-maps span:first-child{
min-width:0;
}

.espwa-contact-maps-icon{
flex:0 0 36px;
width:36px;
height:36px;
border-radius:10px;
background:#fff;
color:#1c1a27;
display:inline-flex;
align-items:center;
justify-content:center;
}

.espwa-contact-maps-icon svg{
width:15px;
height:15px;
display:block;
}

.espwa-contact-hours{
margin-top:28px;
padding-top:24px;
border-top:1px solid rgba(26,29,35,.1);
}

.espwa-contact-hours h3{
margin:0 0 14px;
font-size:28px;
line-height:1.15;
}

.espwa-contact-hours-status{
margin:0 0 12px;
color:#1a1d23;
font-size:11px;
font-weight:700;
letter-spacing:.12em;
text-transform:uppercase;
}

.espwa-contact-hours-main span{
display:block;
color:#3d4450;
font-size:14.5px;
line-height:1.4;
margin-bottom:4px;
}

.espwa-contact-hours-main strong{
display:block;
color:#1a1d23;
font-family:"Fraunces",Georgia,serif;
font-size:28px;
font-weight:500;
letter-spacing:-.03em;
line-height:1.15;
}

.espwa-contact-hours ul{
list-style:none;
margin:18px 0 0;
padding:16px 0 0;
border-top:1px solid rgba(26,29,35,.1);
display:flex;
flex-direction:column;
gap:12px;
}

.espwa-contact-hours li{
margin:0;
color:#1a1d23;
font-size:14px;
line-height:1.35;
}

.espwa-contact-hours li span{
display:block;
font-weight:700;
}

.espwa-contact-hours li em{
display:block;
margin-top:2px;
color:#6b7380;
font-size:13px;
font-style:normal;
font-weight:400;
}

.espwa-contact .form-wrapper .form-control,
.espwa-contact .custom-form-container .form-control{
border-radius:12px;
border-color:#e4e7ee;
min-height:52px;
box-shadow:none;
}

.espwa-contact .form-wrapper textarea.form-control{
min-height:140px;
}

.espwa-contact .form-wrapper .label-show{
display:block;
margin:0 0 12px;
color:#1a1d23;
font-size:13px;
font-weight:700;
}

.espwa-contact .form-wrapper .checkbox-option{
display:flex;
align-items:center;
gap:10px;
margin:0 0 8px;
}

.espwa-contact .form-wrapper .checkbox-option input{
width:18px;
height:18px;
margin:0;
accent-color:#c8e24a;
}

.espwa-contact .form-wrapper .checkbox-option label,
.espwa-contact .form-wrapper .checkbox-label{
margin:0;
color:#3d4450;
font-size:14.5px;
font-weight:500;
}

.espwa-contact .form-wrapper,
.espwa-contact .custom-form-container,
.espwa-contact .quform,
.espwa-contact .quform-elements{
max-width:100%;
min-width:0;
overflow-x:hidden;
}

.espwa-contact .form-wrapper .row{
margin-left:0;
margin-right:0;
max-width:100%;
}

.espwa-contact .form-wrapper [class*="col-"]{
min-width:0;
max-width:100%;
box-sizing:border-box;
}

.espwa-contact .form-wrapper .form-control,
.espwa-contact .form-wrapper .call-to-action-btn{
max-width:100%;
}

@media screen and (max-width:980px){
.espwa-contact-layout{
grid-template-columns:1fr;
gap:36px;
}
}

@media screen and (max-width:680px){
.espwa-contact-wrap{
width:calc(100% - 32px);
max-width:100%;
padding:32px 0 64px;
}

.espwa-contact .form-wrapper .col-6{
flex:0 0 100%;
width:100%;
max-width:100%;
padding-left:0;
padding-right:0;
}

.espwa-contact .form-wrapper [class*="col-"]{
padding-left:0;
padding-right:0;
}

.espwa-contact-aside{
padding:26px 20px 28px;
}

.espwa-contact-aside h2{
font-size:30px;
}

.espwa-contact-hours-main strong,
.espwa-contact-hours h3{
font-size:24px;
}

.espwa-contact-maps{
white-space:normal;
}
}
