.tn-contact-body { background: #fff; }
.contact-page { color: #071a55; --contact-blue: #075af5; --contact-ink: #071a55; --contact-muted: #5d6f9d; --contact-line: #cddcf2; }
.contact-page button, .contact-page input, .contact-page textarea { font: inherit; }
.contact-page b { color: #ef334c; }

.contact-hero { min-height: 352px; position: relative; overflow: hidden; background: linear-gradient(105deg,#f7fcff 0%,#e9f7ff 52%,#dff2ff 100%); border-bottom: 1px solid #dceaf7; }
.contact-hero::after { content:""; position:absolute; width:260px; height:390px; right:-92px; bottom:-155px; background: repeating-linear-gradient(105deg,rgba(32,111,51,.8) 0 8px,rgba(72,154,75,.65) 8px 18px,transparent 18px 28px); border-radius: 70% 0 0 0; transform:rotate(-11deg); opacity:.55; }
.contact-hero__landmarks { position:absolute; inset:auto 0 0; height:100px; opacity:.22; background: linear-gradient(90deg,transparent 0 2%,#9dc8ed 2% 2.3%,transparent 2.3% 4%,#9dc8ed 4% 4.5%,transparent 4.5% 7%,#9dc8ed 7% 8.2%,transparent 8.2% 100%); clip-path: polygon(0 70%,2% 70%,2.4% 34%,2.9% 70%,4% 70%,4.4% 45%,4.9% 70%,7% 70%,7.6% 18%,8.3% 70%,19% 70%,20% 49%,21% 70%,32% 70%,33% 30%,34% 70%,100% 70%,100% 100%,0 100%); }
.contact-hero__inner { min-height:352px; position:relative; display:grid; grid-template-columns: 56% 44%; align-items:center; z-index:1; }
.contact-hero__copy { padding: 28px 0 38px; }
.contact-breadcrumbs { display:flex; gap:12px; align-items:center; margin-bottom:38px; color:#6680aa; font-size:13px; }
.contact-breadcrumbs [aria-current="page"] { color:var(--contact-ink); font-weight:700; }
.contact-kicker { margin:0 0 9px; color:#416097; font-size:13px; font-weight:700; letter-spacing:.02em; }
.contact-hero h1 { margin:0; font-size:clamp(48px,5.4vw,75px); letter-spacing:-.055em; line-height:.98; font-weight:900; color:var(--contact-ink); }
.contact-hero__lead { max-width:610px; margin:13px 0 27px; color:#475f91; font-size:20px; line-height:1.42; }
.contact-hero__trust { display:flex; flex-wrap:wrap; gap:36px; color:#304c84; font-size:14px; }
.contact-hero__trust span { display:inline-flex; align-items:center; gap:10px; }
.contact-hero__trust i { color:#075cf4; font-size:25px; }
.contact-hero__art { position:relative; height:300px; }
.contact-orbit { position:absolute; width:255px; height:195px; left:35px; top:48px; border:2px dashed #1b75ed; border-radius:50%; transform:rotate(-13deg); opacity:.8; }
.contact-art-icon { position:absolute; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#1e67ff,#0053e1); box-shadow:0 8px 20px rgba(0,78,211,.18); }
.contact-art-icon.is-message { left:0; top:55px; width:72px; height:65px; border-radius:18px; font-size:32px; }
.contact-art-icon.is-pin { left:158px; top:18px; width:62px; height:62px; border-radius:50%; background:linear-gradient(145deg,#12a9b9,#078ea5); font-size:31px; }
.contact-art-icon.is-pen { left:238px; top:105px; width:65px; height:59px; border-radius:14px; font-size:28px; }
.contact-art-icon.is-shield { left:130px; top:178px; color:#1161cf; background:#fff; box-shadow:none; font-size:58px; }
.contact-hero__art em { position:absolute; right:-3px; top:142px; color:#315db1; font-family:cursive; font-size:23px; line-height:1.05; transform:rotate(-8deg); }

.contact-main-grid { display:grid; grid-template-columns:minmax(0, 2fr) minmax(315px,1.13fr); gap:24px; padding-top:25px; padding-bottom:30px; align-items:start; }
.contact-form-card,.contact-side-card { border:1px solid #c8d9f0; border-radius:10px; background:#fff; }
.contact-form-card { padding:20px 24px 24px; box-shadow:0 7px 20px rgba(17,63,130,.04); }
.contact-form-card > header h2 { margin:0 0 2px; color:var(--contact-ink); font-size:32px; letter-spacing:-.035em; }
.contact-form-card > header p { margin:0 0 18px; color:#61739a; font-size:13px; }
.contact-form-card > header b,.contact-reasons legend b,.contact-field label b { color:#e63451; }
.contact-reasons { min-width:0; padding:0; margin:0 0 19px; border:0; }
.contact-reasons legend { width:100%; margin:0 0 8px; font-size:13px; font-weight:800; }
.contact-reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.contact-reason { min-height:80px; border:1px solid #d5e0ef; border-radius:7px; position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; text-align:center; color:#18336d; font-size:13px; cursor:pointer; transition:border-color .15s,background .15s,box-shadow .15s; }
.contact-reason:hover { border-color:#78a8f5; background:#f7fbff; }
.contact-reason.is-selected { border:2px solid #1464ff; background:#f1f7ff; box-shadow:0 0 0 2px rgba(20,100,255,.06); color:#004bd6; }
.contact-reason input { position:absolute; opacity:0; pointer-events:none; }
.contact-reason > i:not(.contact-reason__check) { color:#0c5bf0; font-size:24px; }
.contact-reason__check { display:none; position:absolute; right:7px; top:7px; color:#0c5bf0; }
.contact-reason.is-selected .contact-reason__check { display:block; }
.contact-account-note { display:flex; align-items:flex-start; gap:11px; margin:-5px 0 16px; padding:12px 14px; border:1px solid #f0c36a; border-radius:7px; background:#fff9ea; color:#633d05; }
.contact-account-note[hidden] { display:none; }
.contact-account-note > i { margin-top:2px; color:#d17d00; }
.contact-account-note p { margin:0; font-size:13px; line-height:1.45; }
.contact-field { margin-bottom:14px; }
.contact-field label { display:block; margin:0 0 7px; font-size:13px; font-weight:800; }
.contact-field input,.contact-field textarea { width:100%; border:1px solid #bdcde3; border-radius:6px; outline:none; color:#132d63; background:#fff; padding:0 14px; transition:border-color .15s,box-shadow .15s; }
.contact-field input { height:42px; }
.contact-field textarea { min-height:96px; padding-top:12px; resize:vertical; line-height:1.45; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#8290b0; }
.contact-field input:focus,.contact-field textarea:focus { border-color:#1564f8; box-shadow:0 0 0 3px rgba(21,100,248,.1); }
.contact-field small { display:block; margin-top:6px; color:#7182a4; font-size:11px; }
.contact-correction { margin:5px 0 16px; padding:16px 16px 14px; border-radius:7px; background:linear-gradient(110deg,#eff9ff,#f2f7fd); }
.contact-correction[hidden] { display:none; }
.contact-correction h3 { margin:0 0 4px; font-size:15px; }
.contact-correction > p { margin:0 0 12px; color:#64779e; font-size:12px; }
.contact-correction .contact-field { margin-bottom:13px; }
.contact-upload-row { display:grid; grid-template-columns:105px 1fr; gap:10px; align-items:start; }
.contact-upload-label { padding-top:9px; font-size:13px; font-weight:800; }
.contact-upload { min-height:84px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px dashed #8fb7e6; border-radius:7px; background:#fff; cursor:pointer; color:#395887; text-align:center; }
.contact-upload:hover { border-color:#075cf4; background:#fafdff; }
.contact-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.contact-upload > span { display:flex; gap:9px; align-items:center; font-size:12px; }
.contact-upload > span i { color:#315da0; font-size:18px; }
.contact-upload small { color:#7284a7; font-size:11px; }
.contact-copy { display:inline-flex; gap:10px; align-items:center; color:#61749c; font-size:12px; cursor:pointer; }
.contact-copy input { width:18px; height:18px; margin:0; accent-color:#0c5cf3; }
.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-privacy { display:flex; gap:18px; align-items:center; margin:17px 0 11px; padding:13px 18px; border-radius:7px; background:#f5f8fd; color:#5f7198; }
.contact-privacy > i { color:#075cf4; font-size:23px; }
.contact-privacy p { margin:0; font-size:12px; line-height:1.45; }
.contact-privacy a { color:#075cf4; text-decoration:underline; }
.contact-spam { display:flex; gap:10px; align-items:center; margin:0 0 13px; color:#6d7fa4; font-size:12px; }
.contact-spam i { color:#075cf4; font-size:19px; }
.contact-form-error { margin:0 0 12px; padding:11px 13px; border:1px solid #ef9a9a; border-radius:6px; background:#fff2f2; color:#8b1820; font-size:13px; }
.contact-form-error[hidden] { display:none; }
.contact-submit { width:100%; height:48px; display:flex; justify-content:center; align-items:center; gap:16px; border:0; border-radius:7px; background:linear-gradient(90deg,#0a5bf4,#176bff); color:#fff; font-weight:800; box-shadow:0 8px 18px rgba(9,91,245,.18); cursor:pointer; }
.contact-submit:hover { background:linear-gradient(90deg,#064ed5,#0b58db); }
.contact-submit:disabled { opacity:.7; cursor:wait; }

.contact-sidebar { display:grid; gap:20px; }
.contact-side-card { padding:17px 18px 16px; }
.contact-side-card h2,.contact-emergency h2 { display:flex; align-items:center; gap:12px; margin:0 0 15px; font-size:21px; letter-spacing:-.025em; }
.contact-side-card h2 > i { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#075cf4; font-size:23px; }
.contact-side-item { display:grid; grid-template-columns:42px 1fr; gap:11px; align-items:start; margin-top:15px; }
.contact-side-item > i { width:42px; height:42px; display:grid; place-items:center; border-radius:7px; background:#edf7ff; color:#075cf4; font-size:22px; }
.contact-side-item p { margin:1px 0 0; line-height:1.35; }
.contact-side-item strong,.contact-side-item span,.contact-side-item a { display:block; }
.contact-side-item strong { font-size:13px; }
.contact-side-item span { color:#64769c; font-size:12px; }
.contact-side-item a { margin-top:2px; color:#075cf4; font-size:12px; font-weight:700; }
.contact-times dl { margin:0; border:1px solid #d6e1ef; border-radius:7px; overflow:hidden; }
.contact-times dl div { display:grid; grid-template-columns:42% 58%; border-bottom:1px solid #dbe5f1; }
.contact-times dl div:last-child { border-bottom:0; }
.contact-times dt,.contact-times dd { margin:0; padding:10px 9px; font-size:11px; line-height:1.3; }
.contact-times dt { font-weight:800; }
.contact-times dd { color:#64769c; border-left:1px solid #dbe5f1; }
.contact-times > p { margin:11px 0 0; color:#64769c; font-size:11px; }
.contact-emergency { padding:18px 20px; border:2px solid #f0a400; border-radius:9px; background:linear-gradient(135deg,#fffdf5,#fff9e9); color:#2b2650; }
.contact-emergency h2 { color:#7b1d10; }
.contact-emergency h2 i { color:#ef9400; font-size:29px; }
.contact-emergency p { margin:9px 0; font-size:13px; line-height:1.42; }
.contact-emergency a { margin-top:13px; min-height:42px; display:flex; align-items:center; justify-content:center; gap:13px; border:1px solid #f0a400; border-radius:6px; background:#fff; color:#075cf4; font-size:13px; font-weight:800; }

.contact-next { padding:8px 0 19px; background:linear-gradient(105deg,#eaf8ff,#f7fcff); }
.contact-next h2 { margin:0 0 13px; text-align:center; font-size:25px; letter-spacing:-.03em; }
.contact-steps { display:grid; grid-template-columns:1fr 35px 1fr 35px 1fr; align-items:center; margin-bottom:16px; }
.contact-steps > div { display:grid; grid-template-columns:58px 1fr; gap:13px; align-items:center; }
.contact-steps > div > b { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#cfe5ff; color:#064bbf; font-size:23px; }
.contact-steps p { display:flex; flex-direction:column; margin:0; }
.contact-steps strong { font-size:13px; }
.contact-steps span { color:#60759e; font-size:12px; line-height:1.35; }
.contact-steps > i { color:#1261eb; font-size:21px; }
.contact-success { display:none; border:1px solid #41bf8a; border-radius:7px; padding:13px 22px 17px; background:rgba(255,255,255,.72); }
.contact-success.is-visible { display:block; }
.contact-success__eyebrow { margin:0 0 8px; color:#167553; font-size:12px; font-weight:800; }
.contact-success__grid { display:grid; grid-template-columns:48px 1fr 250px; gap:16px; align-items:center; }
.contact-success__grid > i { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#27a979; color:#fff; font-size:27px; }
.contact-success h3 { margin:0 0 2px; font-size:17px; }
.contact-success p { margin:0 0 6px; color:#61749a; font-size:12px; }
.contact-success code { display:block; width:max-content; padding:6px 14px; border-radius:18px; background:#edf5ff; color:#112e63; font-family:inherit; font-size:11px; }
.contact-success small { display:block; margin-top:5px; color:#7183a5; font-size:10px; }
.contact-success__actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.contact-success__actions a { min-height:39px; display:grid; place-items:center; border-radius:5px; background:#075cf4; color:#fff; font-size:12px; font-weight:800; }
.contact-success__actions button { border:0; background:transparent; color:#075cf4; text-decoration:underline; cursor:pointer; font-size:12px; }

.contact-self-service { padding-top:18px; padding-bottom:34px; }
.contact-self-service header h2 { margin:0; font-size:28px; letter-spacing:-.035em; }
.contact-self-service header p { margin:2px 0 13px; color:#64769c; font-size:13px; }
.contact-resource-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.contact-resource-grid > a { min-height:120px; display:grid; grid-template-columns:44px 1fr; gap:10px; padding:14px 12px; border:1px solid #d6e2f2; border-radius:7px; }
.contact-resource-grid > a:hover { border-color:#82acf0; box-shadow:0 6px 18px rgba(29,82,156,.08); }
.contact-resource-grid > a > i { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#eaf6ff; color:#075cf4; font-size:21px; }
.contact-resource-grid span { display:flex; flex-direction:column; align-items:flex-start; }
.contact-resource-grid strong { font-size:12px; line-height:1.3; }
.contact-resource-grid small { min-height:44px; margin-top:4px; color:#64769c; font-size:11px; line-height:1.35; }
.contact-resource-grid em { color:#075cf4; font-style:normal; font-size:11px; font-weight:700; }

@media (max-width:1050px) {
    .contact-hero__inner { grid-template-columns:62% 38%; }
    .contact-hero__art { transform:scale(.85); transform-origin:center; }
    .contact-main-grid { grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr); }
    .contact-resource-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:780px) {
    .contact-hero,.contact-hero__inner { min-height:430px; }
    .contact-hero__inner { display:block; }
    .contact-hero__copy { padding-top:22px; }
    .contact-breadcrumbs { margin-bottom:25px; }
    .contact-hero__art { display:none; }
    .contact-hero__trust { gap:16px 24px; }
    .contact-main-grid { display:flex; flex-direction:column; width:min(100% - 28px,1160px); }
    .contact-form-card { width:100%; padding:18px 16px 20px; }
    .contact-sidebar { width:100%; }
    .contact-steps { grid-template-columns:1fr; gap:15px; }
    .contact-steps > i { display:none; }
    .contact-success__grid { grid-template-columns:48px 1fr; }
    .contact-success__actions { grid-column:1 / -1; }
}

@media (max-width:540px) {
    .contact-hero h1 { font-size:49px; }
    .contact-hero__lead { font-size:17px; }
    .contact-hero__trust { display:grid; grid-template-columns:1fr 1fr; font-size:12px; }
    .contact-reason-grid { grid-template-columns:repeat(2,1fr); }
    .contact-upload-row { grid-template-columns:1fr; }
    .contact-upload-label { padding:0; }
    .contact-resource-grid { grid-template-columns:1fr; }
    .contact-self-service { width:min(100% - 28px,1160px); }
    .contact-success { padding:13px; }
    .contact-success__grid { display:flex; flex-direction:column; align-items:stretch; }
    .contact-success__grid > i { align-self:flex-start; }
}
