.contact-banner{position:relative;overflow:hidden;padding:48px 0 42px;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.14),transparent 30%),linear-gradient(135deg,#083985 0%,#0b4db1 54%,#0d5ad0 100%)}
.contact-banner::before,.contact-banner::after{position:absolute;content:'';border-radius:999px;background:rgba(255,255,255,.08)}
.contact-banner::before{top:-140px;left:-80px;width:360px;height:360px}
.contact-banner::after{right:-110px;bottom:-190px;width:420px;height:420px}
.contact-banner-content{position:relative;z-index:1;display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;text-align:center}
.contact-banner-graphic{width:min(100%,360px);color:rgba(255,255,255,.96)}
.contact-banner-graphic-image{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.contact-banner-title{margin:0;font-size:clamp(32px,4vw,40px);font-weight:700;letter-spacing:.08em}
.contact-page-section{padding:34px 0 72px;background:#fff}
.contact-promise-title{margin:0 0 22px;color:#1e3a8a;font-size:32px;font-weight:700;text-align:center}
.contact-promise-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-promise-card{padding:22px 20px;border:1px solid #dbe4f0;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.contact-promise-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.contact-promise-number{display:block;margin:0;color:#0b4db1;font-size:30px;font-weight:800}
.contact-promise-icon{width:42px;height:42px;object-fit:contain}
.contact-promise-card-title{margin:0 0 8px;color:#0f172a;font-size:18px;font-weight:700}
.contact-promise-card-text,.contact-promise-note{margin:0;color:#334155;font-size:16px;line-height:1.7}
.contact-promise-note{margin-top:16px;text-align:center;font-size: 16px; font-weight: 700;}
.contact-layout{display:grid;gap:22px;grid-template-columns:320px minmax(0,1fr);margin-top:34px}
.contact-info-card{display:flex;flex-direction:column;gap:18px;padding:28px 22px;border-radius:18px;background:#12377f;color:#fff}
.contact-info-block{display:flex;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.16)}
.contact-info-block:last-of-type{border-bottom:0;padding-bottom:0}
.contact-info-icon{display:block;width:28px;height:28px;flex:0 0 28px;object-fit:contain;filter:brightness(0) invert(1)}
.contact-info-content{min-width:0}
.contact-info-block h3{margin:0 0 8px;font-size:16px;font-weight:700}
.contact-info-block p,.contact-info-block a{margin:0;color:#eef4ff;font-size:16px;line-height:1.7;text-decoration:none}
.contact-socials{display:flex;justify-content:center;gap:14px;padding-top:10px}
.contact-socials a{display:grid;width:44px;height:44px;place-items:center;color:#fff;text-decoration:none;background:rgba(255,255,255,.1);border-radius:50%;transition:all .3s cubic-bezier(.23,1,.32,1)}
.contact-socials a:hover{transform:translateY(-4px)}
.contact-socials a.social-fb:hover{background:#1877f2;box-shadow:0 8px 16px rgba(24,119,242,.4)}
.contact-socials a.social-yt:hover{background:#f00;box-shadow:0 8px 16px rgba(255,0,0,.4)}
.contact-socials a.social-li:hover{background:#0a66c2;box-shadow:0 8px 16px rgba(10,102,194,.4)}
.contact-socials img{display:block;width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1);transition:transform .3s ease}
.contact-socials a:hover img{transform:scale(1.12)}
.contact-form-panel{padding:4px 0}
.contact-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-field{display:flex;flex-direction:column;gap:8px}
.contact-field--full{grid-column:1/-1}
.contact-field span{color:#0f172a;font-size:16px;font-weight:700}
.contact-field em{color:#dc2626;font-style:normal}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;padding:12px 14px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#0f172a;font-size:16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#0b4db1;box-shadow:0 0 0 3px rgba(11,77,177,.12)}
.contact-field textarea{resize:vertical;min-height:130px}
.contact-form-alert{display:none;padding:12px 14px;border-radius:8px;font-size:16px;line-height:1.6;width: max-content;}
.contact-form-alert.is-success{display:block;background:#ecfdf3;color:#166534}
.contact-form-alert.is-error{display:block;background:#fef2f2;color:#b91c1c}
.contact-captcha-note{margin:0;color:#334155;font-size:12px;line-height:1.7}
.contact-actions{display:flex;justify-content:flex-end}
.contact-actions button{min-width:140px;padding:12px 28px;border:0;border-radius:8px;background:#0b4db1;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s ease,opacity .2s ease}
.contact-actions button:hover{background:#083985}
.contact-actions button:disabled{opacity:.6;cursor:not-allowed}
@media (max-width:991px){.contact-promise-grid,.contact-form-grid,.contact-layout{grid-template-columns:1fr}.contact-info-card{order:2}.contact-form-panel{order:1}}
@media (max-width:640px){.contact-banner{padding:34px 0 28px}.contact-banner-content{min-height:250px}.contact-promise-title{font-size:28px}.contact-actions button{width:100%}}
.aip-back-to-top{bottom:6.5rem}
@media (max-width:640px){.aip-back-to-top{bottom:7rem}}
