.ex-contact-intro { padding:72px 0 52px; background:radial-gradient(ellipse at 85% 15%,#ddf1ec 0,transparent 56%),#f6f9f8; }
.ex-contact-intro h1 { margin:18px 0 24px; max-width:890px; font-size:clamp(38px,4.8vw,62px); line-height:1.06; letter-spacing:-.045em; }
.ex-contact-lead { max-width:790px; margin:0; font-size:18px; line-height:1.65; color:#526565; }
.ex-contact-section { padding:54px 0 96px; background:#f6f8f7; scroll-margin-top:110px; }
.ex-contact-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; gap:36px; }
.ex-contact-panel { padding:34px; border:1px solid #dce6e3; border-radius:18px; background:#fff; box-shadow:0 10px 30px #142d2910; }
.ex-contact-panel h2 { margin:12px 0; font-size:clamp(27px,2.8vw,36px); line-height:1.15; letter-spacing:-.035em; }
.ex-contact-panel .ex-eyebrow,.ex-contact-context .ex-eyebrow { font-size:10px; }
.ex-contact-description { margin:0 0 26px; color:#546666; font-size:14px; line-height:1.65; }
.ex-contact-helper { margin:0 0 20px; color:#677574; font-size:11px; line-height:1.5; }
#contact-fields { min-width:0; padding:0; margin:0; border:0; }
.ex-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 18px; }
.ex-contact-field { display:flex; flex-direction:column; min-width:0; gap:8px; }
.ex-contact-field-wide { grid-column:1/-1; }
.ex-contact-field label { font-size:12px; font-weight:650; color:#243d3a; line-height:1.45; }
.ex-contact-field label span,.ex-contact-schedule summary span { font-weight:400; color:#73817f; font-size:11px; }
.ex-contact-field input,.ex-contact-field select,.ex-contact-field textarea { box-sizing:border-box; width:100%; min-width:0; min-height:47px; border:1px solid #bccdca; border-radius:8px; background:#fff; color:#243d3a; padding:12px 13px; font:inherit; font-size:14px; line-height:1.4; transition:border-color .15s,box-shadow .15s; }
.ex-contact-field textarea { resize:vertical; min-height:108px; }
.ex-contact-field input::placeholder,.ex-contact-field textarea::placeholder { color:#7c8c89; opacity:1; }
.ex-contact-field input:focus,.ex-contact-field select:focus,.ex-contact-field textarea:focus { border-color:#008874; outline:2px solid #00887424; outline-offset:1px; }
.ex-contact-field [aria-invalid=true] { border-color:#bf3a37; }
#contact-fields:disabled input,#contact-fields:disabled select,#contact-fields:disabled textarea { background:#f5f8f7; opacity:.8; }
.ex-contact-hint { color:#71817e; font-size:10px; line-height:1.5; }
.ex-contact-hint:empty { display:none; }
.ex-contact-retry { align-self:flex-start; padding:7px 0; border:0; background:transparent; color:#007965; font:inherit; font-size:12px; font-weight:600; text-decoration:underline; cursor:pointer; }
.ex-contact-retry[hidden] { display:none; }
.ex-contact-retry:focus-visible { outline:2px solid #008874; outline-offset:3px; }
.ex-contact-schedule { border-top:1px solid #e0e8e5; border-bottom:1px solid #e0e8e5; margin:24px 0; padding:16px 0; }
.ex-contact-schedule summary { color:#284e46; font-size:13px; font-weight:600; cursor:pointer; }
.ex-contact-schedule .ex-contact-fields { padding-top:18px; }
.ex-contact-schedule p { margin:12px 0 0; color:#677a74; font-size:11px; line-height:1.5; }
body.ex-public .ex-contact-submit { width:100%; min-height:49px; justify-content:center; gap:12px; border:0; cursor:pointer; }
.ex-contact-submit:disabled { cursor:default; opacity:.75; }
.ex-contact-submit[aria-busy=true] .ex-contact-submit-arrow { display:none; }
.ex-contact-spinner { width:16px; height:16px; border:2px solid #ffffff66; border-top-color:#fff; border-radius:50%; animation:ex-contact-spin .8s linear infinite; }
.ex-contact-spinner[hidden],.ex-contact-feedback[hidden] { display:none; }
.ex-contact-feedback { padding:14px; margin:0 0 18px; border-radius:8px; border:1px solid #a7d8c5; background:#edf8f1; color:#205741; font-size:13px; line-height:1.6; }
.ex-contact-feedback[data-state=error] { background:#fff4f2; border-color:#edc0bb; color:#8c302b; }
.ex-contact-feedback:focus { outline:2px solid #008874; outline-offset:2px; }
.ex-contact-privacy { margin:14px 0 0; color:#71817d; font-size:10px; line-height:1.6; }
.ex-contact-privacy a { color:#46665e; text-decoration:underline; }
.ex-contact-context { padding:15px 0; }
.ex-contact-process h2 { font-size:32px; line-height:1.1; letter-spacing:-.035em; margin:18px 0 22px; }
.ex-contact-process ol { list-style:none; padding:0; margin:0; }
.ex-contact-process li { display:flex; gap:16px; border-top:1px solid #d6e1dc; padding:22px 0; }
.ex-contact-process li>span { color:#008775; font-size:12px; font-weight:650; padding-top:3px; }
.ex-contact-process h3 { margin:0 0 8px; font-size:16px; line-height:1.3; }
.ex-contact-process li p { margin:0; font-size:13px; line-height:1.65; color:#60726c; }
.ex-contact-method { margin:0 0 28px; color:#60726c; font-size:12px; line-height:1.7; }
.ex-contact-channel { padding:25px; border:1px solid #cfe1db; border-radius:14px; background:#eaf3ef; }
.ex-contact-channel h3 { margin:0 0 12px; font-size:20px; letter-spacing:-.025em; line-height:1.2; }
.ex-contact-channel p { color:#5a7167; font-size:13px; line-height:1.65; margin:0 0 20px; }
body.ex-public .ex-contact-channel .ex-button { width:100%; justify-content:center; gap:14px; box-sizing:border-box; }
.ex-contact-channel-number { display:block; margin:10px 0 0; text-align:center; color:#4f6b60; font-size:11px; }
.ex-contact-channel dl { margin:25px 0 0; padding-top:18px; border-top:1px solid #cbded5; display:grid; gap:12px; }
.ex-contact-channel dl>div { display:flex; flex-wrap:wrap; gap:5px 14px; justify-content:space-between; font-size:12px; }
.ex-contact-channel dt { color:#6b8177; }
.ex-contact-channel dd { margin:0; }
.ex-contact-channel dd a { color:#294d3d; text-decoration:none; }
.ex-contact-channel dd a:hover { text-decoration:underline; }
.ex-contact-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes ex-contact-spin { to { transform:rotate(360deg); } }
@media(max-width:1000px) { .ex-contact-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; } .ex-contact-panel { padding:25px; } }
@media(max-width:780px) { .ex-contact-layout { grid-template-columns:1fr; } .ex-contact-context { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:24px; } .ex-contact-intro { padding:48px 0 38px; } .ex-contact-intro h1 { font-size:44px; } .ex-contact-lead { font-size:16px; } .ex-contact-section { padding:30px 0 60px; } }
@media(max-width:560px) { .ex-contact-fields,.ex-contact-context { grid-template-columns:1fr; } .ex-contact-field input,.ex-contact-field select,.ex-contact-field textarea { font-size:16px; } .ex-contact-panel { padding:23px 19px; border-radius:12px; } .ex-contact-intro h1 { font-size:36px; } .ex-contact-intro .ex-eyebrow { font-size:9px; letter-spacing:.09em; } .ex-contact-section>.ex-container { width:calc(100% - 28px); } .ex-contact-process { padding:10px 8px; } .ex-contact-process h2 { font-size:29px; } }
@media(prefers-reduced-motion:reduce) { .ex-contact-spinner { animation:none; } .ex-contact-field input,.ex-contact-field select,.ex-contact-field textarea { transition:none; } }
