.gw-client-form{

    --blue:#2456C4;
    --navy:#0A0E1A;
    --silver:#A8ADB5;
    --white:#FFFFFF;
    --bg:#F4F6FB;
    --error:#C4243A;
    --success:#1E8E4F;
  
}
.gw-client-form *{
box-sizing:border-box;
}
.gw-client-form{

    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);
    color:var(--navy);
  
}
.gw-client-form .header{

    background:var(--navy);
    padding:24px 20px;
    text-align:center;
  
}
.gw-client-form .header img{

    max-width:220px;
    width:100%;
    height:auto;
  
}
.gw-client-form .wrap{

    max-width:600px;
    margin:0 auto;
    padding:32px 20px 80px;
  
}
.gw-client-form .intro{

    text-align:center;
    margin-bottom:32px;
  
}
.gw-client-form .intro h1{

    color:var(--navy);
    font-size:28px;
    margin:0 0 8px;
  
}
.gw-client-form .intro p{

    color:#4a5164;
    font-size:15px;
    line-height:1.5;
    margin:0;
  
}
.gw-client-form .tagline{

    color:var(--blue);
    font-weight:600;
    font-size:14px;
    letter-spacing:.3px;
    margin-bottom:6px;
  
}
.gw-client-form form{

    background:var(--white);
    border-radius:14px;
    padding:32px;
    box-shadow:0 4px 24px rgba(10,14,26,0.08);
  
}
.gw-client-form fieldset{

    border:none;
    padding:0;
    margin:0 0 8px;
  
}
.gw-client-form legend{

    font-size:18px;
    font-weight:700;
    color:var(--blue);
    padding:0 0 12px;
    border-bottom:2px solid var(--blue);
    width:100%;
    margin-bottom:16px;
  
}
.gw-client-form label{

    display:block;
    font-size:14px;
    font-weight:600;
    color:var(--navy);
    margin:16px 0 6px;
  
}
.gw-client-form label.req::after{

    content:" *";
    color:var(--error);
  
}
.gw-client-form input[type=text], .gw-client-form input[type=email], .gw-client-form input[type=tel], .gw-client-form textarea{

    width:100%;
    padding:11px 12px;
    border:1px solid #d5d9e3;
    border-radius:8px;
    font-size:15px;
    font-family:inherit;
    color:var(--navy);
    background:var(--white);
  
}
.gw-client-form input:focus, .gw-client-form textarea:focus{

    outline:none;
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(36,86,196,0.15);
  
}
.gw-client-form textarea{
min-height:90px;resize:vertical;
}
.gw-client-form .row2{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  
}
@media (max-width:520px){
.gw-client-form .row2{
grid-template-columns:1fr;
}
.gw-client-form form{
padding:22px;
}
}
.gw-client-form .agreement{

    background:var(--bg);
    border-radius:10px;
    padding:16px;
    font-size:13px;
    color:#4a5164;
    line-height:1.6;
    margin-top:20px;
  
}
.gw-client-form .agreement label{

    display:flex;
    align-items:flex-start;
    gap:10px;
    font-weight:600;
    color:var(--navy);
    margin:0;
  
}
.gw-client-form .agreement input{
width:auto;margin-top:3px;
}
.gw-client-form button[type=submit]{

    width:100%;
    background:var(--blue);
    color:var(--white);
    border:none;
    padding:16px;
    font-size:16px;
    font-weight:700;
    border-radius:10px;
    cursor:pointer;
    margin-top:20px;
    transition:background .15s;
  
}
.gw-client-form button[type=submit]:hover{
background:#1c439a;
}
.gw-client-form button[type=submit]:disabled{
background:#9aa7c7;cursor:not-allowed;
}
.gw-client-form .status-msg{

    margin-top:16px;
    padding:14px 16px;
    border-radius:10px;
    font-size:14px;
    display:none;
  
}
.gw-client-form .status-msg.success{
display:block;background:#e7f6ec;color:var(--success);border:1px solid #bfe6cc;
}
.gw-client-form .status-msg.error{
display:block;background:#fbe9ec;color:var(--error);border:1px solid #f2c1ca;
}
.gw-client-form .footer{

    text-align:center;
    font-size:12.5px;
    color:#8a90a3;
    margin-top:24px;
  
}
.gw-client-form .footer a{
color:var(--blue);text-decoration:none;
}

/* Embedded variant (2026-08-30, PP1) — the same form inside a section card on
   the homepage rather than standing alone on /contact-us/.
   `.wrap` is page chrome: max-width:600px centres the form on a bare landing
   template, and padding:32px 20px 80px gives it air before the footer. Both are
   wrong one level in — measured on the homepage before this rule, the outer
   card ran 113px past the form's bottom edge (form bottom 750px, card bottom
   863px at 1440), i.e. a visibly empty band inside the card. The host card
   already supplies its own padding and width, so the embedded variant hands
   those back to it and keeps everything else — including the form's own white
   card, which is what the section is meant to show. */
.gw-client-form.gw-form-embedded .wrap{
max-width:none;padding:0;
}
