/* contact-us: rules only this page uses, plus overrides of site.css. */

.highlight{ background:linear-gradient(100deg,var(--navy) 0%,var(--cyan) 90%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.btn-primary, .tx-btn-primary .elementor-button{ display:inline-flex; align-items:center; justify-content:center; gap:10px; border:none; cursor:pointer; font-family:"Inter",sans-serif; }
.btn-primary:disabled, .tx-btn-primary .elementor-button:disabled{ opacity:.6; cursor:not-allowed; transform:none; }
.btn-primary svg, .tx-btn-primary .elementor-button svg{ width:18px; height:18px; }
.btn-outline-navy, .tx-btn-outline-navy .elementor-button{ justify-content:center; padding:1rem 1.8rem; font-size:1rem; }
.page-hero-inner-center{ max-width:700px; }
.page-hero-sub{ margin:22px auto 0; max-width:540px; }
.page-hero-actions{ margin-top:30px; justify-content:center; }
.contact-section{ background:#fff; padding:clamp(56px,8vw,96px) clamp(20px,4vw,64px) clamp(90px,10vw,120px); }
.contact-inner{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,4vw,56px); align-items:start; }
.contact-form-card{ background:#fff; border-radius:24px; padding:clamp(28px,4vw,44px); border:1px solid rgba(10,30,77,.08); box-shadow:0 20px 50px -30px rgba(10,30,77,.28); scroll-margin-top:calc(var(--nav-h) + 16px); }
.contact-form-card h2{ font-family:"Sora",sans-serif; font-weight:800; font-size:1.4rem; color:var(--navy); margin-bottom:6px; }
.contact-form-card .form-intro{ font-size:.94rem; color:var(--body-text); margin-bottom:28px; line-height:1.6; }
.contact-form-card > p, .contact-form-card > .elementor-widget > p{ font-size:.94rem; color:var(--body-text); margin-bottom:28px; line-height:1.6; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field{ margin-bottom:18px; display:flex; flex-direction:column; gap:8px; }
.form-field label{ font-size:.85rem; font-weight:600; color:var(--navy); }
.form-field input, .form-field textarea{ width:100%; padding:.85rem 1.1rem; border-radius:14px; border:1.5px solid var(--border); font-family:"Inter",sans-serif; font-size:.95rem; color:var(--navy); background:#fff; transition:border-color .25s ease, box-shadow .25s ease; }
.form-field textarea{ resize:vertical; min-height:130px; line-height:1.6; }
.form-field input:focus, .form-field textarea:focus{ outline:none; border-color:var(--cyan); box-shadow:0 0 0 4px rgba(43,163,255,.14); }
.form-field input::placeholder, .form-field textarea::placeholder{ color:var(--muted); }
.form-note{ font-size:.78rem; color:var(--muted); margin-top:14px; line-height:1.5; }
.form-optional{ font-weight:400; color:var(--muted); }
.form-error{ margin-top:14px; font-size:.9rem; line-height:1.5; color:#a12b2b; }
.form-error[hidden]{ display:none; }
.form-success{ display:none; text-align:center; padding:20px 0; }
.form-success.show{ display:block; }
.form-success-icon{ width:56px; height:56px; margin:0 auto 18px; border-radius:50%; background:linear-gradient(150deg,var(--navy),var(--navy-2)); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 26px -10px rgba(10,30,77,.45); }
.form-success-icon svg{ width:24px; height:24px; color:#fff; }
.form-success h3{ font-family:"Sora",sans-serif; font-weight:700; font-size:1.15rem; color:var(--navy); margin-bottom:8px; }
.form-success p{ font-size:.92rem; color:var(--body-text); line-height:1.6; margin-bottom:18px; }
.form-success button{ background:none; border:none; color:var(--cyan); font-weight:600; font-size:.9rem; cursor:pointer; font-family:"Inter",sans-serif; }
.form-success button:hover{ color:var(--navy); }
.contact-info-card{ background:linear-gradient(150deg, rgba(43,163,255,.06), #fff 55%); border-radius:24px; padding:clamp(26px,3.5vw,36px); border:1px solid rgba(43,163,255,.18); }
.contact-info-card h3{ font-family:"Sora",sans-serif; font-weight:700; font-size:1.1rem; color:var(--navy); margin-bottom:22px; }
.contact-info-item{ display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
.contact-info-icon{ flex-shrink:0; width:42px; height:42px; border-radius:12px; background:linear-gradient(150deg,var(--navy),var(--navy-2)); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 20px -10px rgba(10,30,77,.45); }
.contact-info-icon svg{ width:19px; height:19px; color:#fff; }
.contact-info-item span{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:4px; }
.contact-info-item a, .contact-info-item p{ font-size:.94rem; font-weight:600; color:var(--navy); line-height:1.5; }
.contact-info-item a{ transition:color .2s ease; }
.contact-info-item a:hover{ color:var(--cyan); }
.contact-socials{ display:flex; gap:10px; margin-top:8px; padding-top:22px; border-top:1px solid rgba(10,30,77,.08); }
.contact-social-btn{ width:38px; height:38px; border-radius:50%; background:rgba(10,30,77,.05); border:1px solid rgba(10,30,77,.1); display:flex; align-items:center; justify-content:center; color:var(--navy); transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }
.contact-social-btn svg{ width:16px; height:16px; }
.contact-social-btn:hover{ background:var(--cyan); border-color:var(--cyan); color:#fff; transform:translateY(-3px); }
@media (max-width:820px){
  .contact-inner{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  .contact-form-card, .contact-info-card{ padding:24px 20px; }
}
@media (prefers-reduced-motion:reduce){
  .contact-social-btn{ transition:none; }
}
@media (max-width:480px){
  .page-hero-sub{ font-size:1rem; margin-top:16px; }
}
