/* Contact page specific styles; inherits base from news.css */
:root{
  --main:#154994;
  --accent:#218CD9;
  --text:#444C55;
  --bg:#F2F3F4;
}

/* Breadcrumb (override) */
.breadcrumb{font-size:12px;color:#7f8da3;padding:10px 0 10px 24px}
.breadcrumb a{color:#7f8da3;text-decoration:none}
.breadcrumb a:hover{color:#5f7392}

/* Hero */
.contact-hero{position:relative;overflow:hidden;background:transparent}
.contact-hero::before{content:"";position:absolute;left:-10%;top:-140px;width:140%;height:230px;background:linear-gradient(135deg, rgba(210,225,244,.65) 0%, rgba(255,255,255,.92) 70%);transform:rotate(8deg);}
.contact-hero::after{content:"";position:absolute;right:-12%;top:40px;width:140%;height:230px;background:linear-gradient(315deg, rgba(210,225,244,.55) 0%, rgba(255,255,255,.95) 70%);transform:rotate(-8deg)}
.contact-header{position:relative;z-index:1;padding:28px 0 0 24px}
.contact-title{font-size:52px;color:var(--main);font-weight:700;letter-spacing:2px}
.contact-sub{font-size:18px;color:var(--main);font-weight:600;margin-top:6px}
.contact-underline{height:1px;width:100%;background:linear-gradient(to right, var(--main) 18%, #dbe3ee 82%);margin:22px 0 36px}

/* Phone card */
.phone-section{padding:32px 0 44px;position:relative}
/* subtle ambient glow above and below the card */
.phone-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(1200px 160px at 50% -40px, rgba(21,73,148,.08), transparent 70%),
  radial-gradient(1200px 160px at 50% 100%, rgba(21,73,148,.08), transparent 70%)}

.phone-card{background:#fff;border-radius:12px;box-shadow:0 18px 36px rgba(21,73,148,.15), 0 2px 6px rgba(0,0,0,.06);padding:44px 56px;max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px}
.phone-lead{font-size:22px;color:#3f4d63;font-weight:700;letter-spacing:.4px;text-align:center;margin:0;position:relative}
.phone-lead::after{content:"";display:block;width:48px;height:3px;background:var(--main);border-radius:2px;margin:12px auto 0}
.phone-line{display:flex;align-items:center;gap:16px;margin-top:8px}
.phone-icon{display:inline-grid;place-items:center;color:var(--main)}
.phone-svg{width:42px;height:42px}
.phone-number{font-size:48px;color:var(--main);font-weight:800;letter-spacing:.5px;text-decoration:none}
.phone-number:hover{opacity:.92}
.phone-hours{font-size:14px;color:var(--main);font-weight:600;margin-left:8px}

/* Mail form */

.mail-section{padding:28px 0 120px;background:linear-gradient(135deg,#ecf3fa 0%, #f8fbff 100%)}
.mail-title{font-size:18px;color:var(--main);text-align:center;margin-bottom:6px;font-weight:700}
.mail-note{font-size:12px;color:#71819a;text-align:center;margin-bottom:24px;line-height:1.8}

.contact-form{max-width:720px;margin:0 auto;background:transparent}
.form-row{display:grid;grid-template-columns:170px 1fr;column-gap:14px;row-gap:6px;margin:12px 0;align-items:center}
.form-row.inline{display:grid;grid-template-columns:170px 1fr}
.inline-col{all:unset}
.inline-col.flex{all:unset}

.form-label{font-size:13px;color:#3a4a5b;font-weight:700;display:flex;align-items:center;gap:8px;white-space:nowrap}
.badge-required{display:inline-block;background:var(--main);color:#fff;border-radius:14px;padding:2px 8px;font-size:11px;margin-left:auto}

.radio-group{display:flex;gap:16px;align-items:center}
.radio{display:flex;align-items:center;gap:6px;font-size:13px;color:#3a4a5b}
.radio input{appearance:none;width:14px;height:14px;border:2px solid #b6c5d8;border-radius:50%;display:inline-block;position:relative}
.radio input:checked{border-color:var(--main)}
.radio input:checked::after{content:'';position:absolute;left:3px;top:3px;width:6px;height:6px;background:var(--main);border-radius:50%}

.input,.textarea{width:100%;padding:12px 10px;border:1px solid #cfd8e6;border-radius:6px;font-size:14px;color:var(--text);background:transparent;box-shadow:0 1px 2px rgba(21,73,148,.05)}
.input::placeholder,.textarea::placeholder{color:#9aabbd}
.input:focus,.textarea:focus{outline:none;border-color:var(--main);box-shadow:0 0 0 3px rgba(21,73,148,.12)}
.textarea{resize:vertical}

.form-row.agree{margin-top:12px;grid-column:1 / -1;display:flex;justify-content:center}
.checkbox{font-size:13px;color:#546577;display:flex;align-items:center;gap:8px}
.checkbox input{width:16px;height:16px}

.form-actions{display:flex;justify-content:center;margin-top:22px}
.submit-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:16px 44px;border:none;border-radius:999px;background:linear-gradient(180deg,#1d56a5 0%, #103e86 100%);color:#fff;font-weight:700;letter-spacing:.2px;min-width:260px;cursor:pointer;text-shadow:0 1px 0 rgba(0,0,0,.15);box-shadow:0 12px 24px rgba(16,62,134,.25), 0 0 0 3px rgba(158,180,206,.65), 0 0 0 6px rgba(16,62,134,.08)}
.submit-btn::before{content:"";width:30px;height:30px;margin-right:18px}
.submit-btn:hover{filter:none;background:linear-gradient(180deg,#2261b5 0%, #114991 100%)}
.arrow-circle{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid #fff;color:#fff;font-size:18px;background:transparent}

/* Responsive */
@media (max-width: 768px){
  .contact-title{font-size:40px}
  .phone-card{padding:26px 22px}
  .phone-lead{font-size:18px}
  .phone-lead::after{width:36px;height:2px;margin-top:10px}
  .phone-svg{width:32px;height:32px}
  .phone-number{font-size:32px}
  .phone-hours{font-size:12px}
  .contact-form{max-width:100%;padding:0 16px}
  .form-row{grid-template-columns:1fr}
  .form-row.inline{grid-template-columns:1fr}
}
