.tf-contact-page{margin:0;background:#f5f8fc}
.tf-contact-page .tf-standard-banner,.tf-contact-page .tf-footer{width:100%;margin-inline:0}
.tf-contact-page .tf-contact-hero{position:relative;isolation:isolate;align-items:flex-start;background:linear-gradient(105deg,#102a45 0%,#153d61 68%,#1a4f7b 100%);color:#fff;overflow:hidden}
.tf-contact-page .tf-contact-hero::before{content:"";position:absolute;inset:0;background:url("science-pattern.svg") right center/560px no-repeat;opacity:.18;pointer-events:none;z-index:-1}
.tf-contact-page .tf-contact-hero-inner{position:relative;z-index:1}
.tf-contact-page .tf-contact-hero .tf-eyebrow{color:#f3a42a!important}
.tf-contact-page .tf-contact-hero h1{max-width:850px;color:#fff}
.tf-contact-page .tf-contact-hero-inner>p:not(.tf-eyebrow){max-width:650px;color:#d5e1ed}
.tf-contact-hero-links{display:flex;flex-wrap:wrap;gap:26px;margin-top:30px}
.tf-contact-hero-links a{display:inline-flex;gap:12px;align-items:center;color:#fff;border-bottom:1px solid #ffffff75;padding-bottom:8px}
.tf-contact-hero-links a span{color:#f3a42a}
.tf-contact-content{padding:clamp(40px,5vw,64px) 0;background:#f5f8fc}
.tf-contact-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,4vw,56px);align-items:stretch}
.tf-contact-information{padding-top:8px}
.tf-contact-information>.tf-eyebrow,.tf-contact-form-heading>.tf-eyebrow{color:#c77b00!important}
.tf-contact-information h2{max-width:560px;margin:0 0 12px;color:#112b46}
html body .tf-contact-page .tf-contact-information h2{font-size:var(--tf-type-subheading)!important;line-height:1.25!important}
.tf-contact-intro{max-width:62ch;color:#5a7087;margin:12px 0 22px;line-height:1.5!important}
.tf-contact-details{border-top:1px solid #d7e1eb}
.tf-contact-detail{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid #d7e1eb}
.tf-contact-detail-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d1deea;border-radius:50%;color:#b87900;font-weight:700}
.tf-contact-detail h3,.tf-contact-hours h3{margin:0 0 7px;color:#112b46}
html body .tf-contact-page .tf-contact-detail h3{font-size:var(--tf-type-intro)!important;line-height:1.35!important}
.tf-contact-detail p,.tf-contact-detail a{display:block;margin:0;color:#5a7087;overflow-wrap:anywhere}
.tf-contact-detail a:hover{color:#0b63b6}
.tf-contact-detail p{margin-top:4px}
.tf-contact-hours{margin-top:22px;padding:18px 20px;background:#eaf1f7;border-radius:12px}
.tf-contact-hours h3{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.tf-contact-hours h3 span{color:#71869b;font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif);font-weight:500}
.tf-contact-hours>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-top:1px solid #d2deea;color:#5a7087}
.tf-contact-hours strong{color:#183550;font-weight:600;text-align:right}
.tf-contact-form-card{background:#fff;border:1px solid #d9e3ed;border-radius:16px;box-shadow:0 14px 38px #132e4810;overflow:hidden}
.tf-contact-form-heading{padding:30px 34px 25px;border-bottom:1px solid #e2eaf1}
.tf-contact-form-heading .tf-eyebrow{margin-bottom:9px!important}
.tf-contact-form-heading h2{margin:0 0 8px;color:#112b46}
.tf-contact-form-heading>p:last-child{margin:0;color:#667d93}
.tf-contact-form-card form{display:grid;gap:18px;padding:28px 34px 32px}
.tf-contact-form-card label{display:grid;gap:7px;color:#233f5a;font-weight:600}
.tf-contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tf-contact-form-card input,.tf-contact-form-card select,.tf-contact-form-card textarea{width:100%;min-width:0;padding:12px 14px;border:1px solid #c9d7e4;border-radius:7px;background:#fff;color:#183550;outline:none}
.tf-contact-form-card :is(input,select,textarea):focus{border-color:#0b63b6;box-shadow:0 0 0 3px #0b63b620}
.tf-contact-form-card textarea{resize:vertical;min-height:140px}
.tf-contact-submit{justify-self:start}
.tf-contact-submit:disabled{opacity:.7;cursor:wait;transform:none}
.tf-contact-form-status{display:none;margin:0;padding:12px 14px;border-radius:7px}
.tf-contact-form-status:not(:empty){display:block}
.tf-contact-form-status[data-state="success"]{background:#eaf7ef;color:#17633a}
.tf-contact-form-status[data-state="error"]{background:#fff0ed;color:#8d2c1b}
.tf-contact-privacy{margin:0;color:#71869b}
.tf-contact-map{width:100%;background:#fff;border-top:1px solid #d9e3ed}
.tf-contact-map-heading{padding:clamp(34px,5vw,58px) 0;background:#f5f8fc}
.tf-contact-map-heading-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.tf-contact-map-heading .tf-eyebrow{margin:0 0 10px;color:#c77b00!important}
.tf-contact-map-heading h2{max-width:720px;margin:0 0 10px;color:#112b46}
.tf-contact-map-heading-inner>div>p:last-child{max-width:68ch;margin:0;color:#5a7087}
.tf-contact-map-heading .tf-link{flex:0 0 auto}
.tf-contact-map-frame{display:block;width:100%;height:clamp(380px,58vh,680px);border:0;background:#eaf1f7}
@media(max-width:850px){.tf-contact-grid{grid-template-columns:1fr}.tf-contact-information{padding-top:0}.tf-contact-form-card{max-width:720px;width:100%;justify-self:center}}
@media(max-width:600px){.tf-contact-hero::before{background-size:420px;opacity:.12}.tf-contact-hero-links{flex-direction:column;align-items:flex-start;gap:14px}.tf-contact-form-heading{padding:24px 22px 20px}.tf-contact-form-card form{padding:22px;gap:16px}.tf-contact-form-row{grid-template-columns:1fr;gap:16px}.tf-contact-hours{padding:20px}.tf-contact-hours>div{align-items:flex-start;flex-direction:column;gap:2px}.tf-contact-hours strong{text-align:left}.tf-contact-map-heading-inner{align-items:flex-start;flex-direction:column;gap:20px}.tf-contact-map-frame{height:420px}}

/* Light-blue contact banner with navy copy for accessible contrast. */
.tf-contact-page .tf-contact-hero{background:linear-gradient(115deg,#eaf3fb 0%,#deecf8 58%,#d4e6f5 100%);color:#112b46}
.tf-contact-page .tf-contact-hero::before{opacity:.1}
.tf-contact-page .tf-contact-hero .tf-eyebrow{color:#a56800!important}
.tf-contact-page .tf-contact-hero h1{color:#112b46}
.tf-contact-page .tf-contact-hero-inner>p:not(.tf-eyebrow){color:#4e6881}

/* Use only the solid TIFS brand blue swatch in the contact banner. */
.tf-contact-page .tf-contact-hero{background:#0b63b6;color:#fff}
.tf-contact-page .tf-contact-hero::before{display:none}
.tf-contact-page .tf-contact-hero .tf-eyebrow{color:#ffcf57!important}
.tf-contact-page .tf-contact-hero h1{color:#fff}
.tf-contact-page .tf-contact-hero-inner>p:not(.tf-eyebrow){color:#fff}
