.gi-contact-page .gi-page-hero{background:linear-gradient(135deg,var(--gi-navy) 0%,var(--gi-blue) 58%,var(--gi-teal) 100%)}
.gi-contact-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}
.gi-contact-card{border:1px solid var(--gi-border);border-radius:var(--gi-radius);padding:26px;background:#fff;box-shadow:var(--gi-shadow)}
.gi-contact-card-primary{border-top:4px solid var(--gi-teal)}
.gi-contact-card:nth-child(2){border-top:4px solid var(--gi-gold)}
.gi-contact-card:nth-child(3){border-top:4px solid var(--gi-green)}
.gi-contact-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gi-muted)}
.gi-contact-card h3{margin:7px 0 10px;color:var(--gi-navy);font-size:25px;line-height:1.2}
.gi-contact-card h3 a{text-decoration:none;color:inherit}
.gi-contact-card h3 a:hover,.gi-contact-card h3 a:focus{text-decoration:underline}
.gi-contact-card p{color:var(--gi-muted)}
.gi-contact-card .gi-button{margin-top:8px}
.gi-contact-help{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start;margin-top:44px;padding:30px;border:1px solid #d6e8e5;border-radius:var(--gi-radius);background:#eef8f7}
.gi-contact-help h2{margin:0;color:var(--gi-navy);font-size:30px;line-height:1.15}
.gi-contact-help p{color:var(--gi-muted)}
.gi-contact-topics{margin-top:44px}
.gi-contact-topics .gi-service-card{border-top-width:4px}
.gi-contact-topics .gi-service-card:nth-child(4n+1){border-top-color:var(--gi-blue-2)}
.gi-contact-topics .gi-service-card:nth-child(4n+2){border-top-color:var(--gi-teal)}
.gi-contact-topics .gi-service-card:nth-child(4n+3){border-top-color:var(--gi-gold)}
.gi-contact-topics .gi-service-card:nth-child(4n){border-top-color:var(--gi-green)}
.gi-contact-final{margin-top:44px;padding:34px;border:1px solid #eadab7;border-radius:var(--gi-radius);background:var(--gi-warm);text-align:center}
.gi-contact-final h2{margin:0 0 8px;color:var(--gi-navy);font-size:32px}
.gi-contact-final p{margin:0 auto;color:var(--gi-muted);max-width:720px}
.gi-contact-final .gi-contact-actions{margin-top:20px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:900px){.gi-contact-grid{grid-template-columns:1fr 1fr}.gi-contact-card-primary{grid-column:1/3}.gi-contact-help{grid-template-columns:1fr}}
@media(max-width:620px){.gi-contact-grid{grid-template-columns:1fr}.gi-contact-card-primary{grid-column:auto}.gi-contact-final{padding:26px 18px}.gi-contact-final .gi-contact-actions{flex-direction:column}.gi-contact-final .gi-button{width:100%}}

.gi-contact-form-wrap{margin-top:52px;padding:10px 0}
.gi-contact-form-card{position:relative;max-width:940px;margin:0 auto;border:1px solid #cfdbe6;border-radius:20px;background:#fff;box-shadow:0 24px 55px rgba(13,47,82,.15),0 6px 18px rgba(13,47,82,.07);overflow:hidden}
.gi-contact-form-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--gi-blue-2),var(--gi-teal),var(--gi-green),var(--gi-gold))}
.gi-contact-form-head{margin:0;padding:34px 42px 28px;text-align:left;background:linear-gradient(135deg,#f8fbfe 0%,#eef6fc 58%,#edf7f4 100%);border-bottom:1px solid #d7e3ec}
.gi-contact-form-head .gi-card-kicker{margin-bottom:11px;background:#fff;border:1px solid #ccdae6;box-shadow:0 2px 7px rgba(13,47,82,.05)}
.gi-contact-form-head h2{margin:0;color:var(--gi-navy);font-size:34px;line-height:1.1;letter-spacing:-.02em}
.gi-contact-form-head p{max-width:680px;margin:10px 0 0;color:#566779;font-size:16px}
.gi-contact-required-note{margin-top:14px;color:#6a7887;font-size:12px;font-weight:700}
.gi-contact-required-note span,.gi-required{color:#a9472f}
.gi-contact-form{display:grid;gap:0;padding:22px 42px 34px}
.gi-form-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f5}
.gi-form-row:last-of-type{border-bottom:none}
.gi-form-row label{color:#243b53;font-size:14px;font-weight:800;line-height:1.25;text-align:right}
.gi-form-row-message{align-items:start;padding-top:16px}
.gi-form-row-message label{padding-top:14px}
.gi-contact-form input,.gi-contact-form select,.gi-contact-form textarea{width:100%;font:inherit;color:var(--gi-text);background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);border:1px solid #b9c8d6;border-radius:12px;padding:13px 15px;box-shadow:0 3px 9px rgba(13,47,82,.06),inset 0 1px 2px rgba(13,47,82,.03);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease}
.gi-contact-form input,.gi-contact-form select{min-height:50px}
.gi-contact-form select{appearance:none;padding-right:44px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#5e7183 50%),linear-gradient(135deg,#5e7183 50%,transparent 50%),linear-gradient(to right,#d7e0e8,#d7e0e8);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px,calc(100% - 42px) 10px;background-size:6px 6px,6px 6px,1px 30px;background-repeat:no-repeat}
.gi-contact-form input::placeholder,.gi-contact-form textarea::placeholder{color:#8b99a8}
.gi-contact-form input:hover,.gi-contact-form select:hover,.gi-contact-form textarea:hover{border-color:#8fa8bc;box-shadow:0 5px 14px rgba(13,47,82,.09),inset 0 1px 2px rgba(13,47,82,.03)}
.gi-contact-form input:focus,.gi-contact-form select:focus,.gi-contact-form textarea:focus{outline:none;border-color:var(--gi-blue-2);background:#fff;box-shadow:0 0 0 4px rgba(31,115,183,.12),0 8px 18px rgba(13,47,82,.10)}
.gi-contact-form textarea{resize:vertical;min-height:190px;line-height:1.5}
.gi-contact-form-actions{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start;padding-top:22px}
.gi-contact-form-action-content{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gi-contact-form-action-content .gi-button{min-width:185px;min-height:50px;padding:13px 24px;border-radius:11px;background:linear-gradient(180deg,var(--gi-blue-2),var(--gi-blue-dark));border:1px solid var(--gi-blue-dark);box-shadow:0 7px 16px rgba(20,93,160,.22);letter-spacing:.01em}
.gi-contact-form-action-content .gi-button:hover,.gi-contact-form-action-content .gi-button:focus{background:linear-gradient(180deg,#216fae,#0c477d);box-shadow:0 10px 20px rgba(20,93,160,.28);transform:translateY(-1px)}
.gi-contact-form-status{font-size:14px;color:var(--gi-muted)}
.gi-contact-form-status.success,.gi-contact-form-status.error{display:block;flex:1;min-width:250px;padding:11px 14px;border-radius:10px;font-weight:700;box-shadow:0 3px 10px rgba(13,47,82,.05)}
.gi-contact-form-status.success{color:#245a41;background:#edf7f0;border:1px solid #c9e2d1}
.gi-contact-form-status.error{color:#8d1e1e;background:#fff2f2;border:1px solid #e7c4c4}
.gi-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gi-contact-form button:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}
@media(max-width:760px){
  .gi-contact-form-head{padding:28px 24px 23px}
  .gi-contact-form{padding:18px 24px 28px}
  .gi-form-row,.gi-contact-form-actions{grid-template-columns:1fr;gap:7px}
  .gi-form-row{padding:11px 0 15px}
  .gi-form-row label{text-align:left}
  .gi-form-row-message label{padding-top:0}
  .gi-contact-form-actions>span{display:none}
}
@media(max-width:620px){
  .gi-contact-form-wrap{margin-top:40px}
  .gi-contact-form-card{border-radius:15px}
  .gi-contact-form-head{padding:25px 18px 21px}
  .gi-contact-form{padding:16px 18px 24px}
  .gi-contact-form-head h2{font-size:29px}
  .gi-contact-form-action-content{align-items:stretch;flex-direction:column}
  .gi-contact-form-action-content .gi-button{width:100%}
  .gi-contact-form-status.success,.gi-contact-form-status.error{width:100%;min-width:0}
}
