/* Contact shares the site's navy, blue, warm paper and serif headings. */
.contact-page { background:#f8f9fb; color:#17354d; }
.ct-main { padding-top:26px; padding-bottom:72px; }
.ct-crumbs { display:flex; gap:12px; font-size:13px; color:#5c6c7b; margin:12px 0 30px; }
.ct-crumbs a { color:inherit; }
.ct-heading { display:grid; grid-template-columns:1.35fr 1fr; gap:48px; align-items:end; margin-bottom:34px; }
.ct-heading h1 { font-size:clamp(38px,4.4vw,60px); line-height:1.08; letter-spacing:-.04em; margin:12px 0 0; color:#102f49; }
.ct-heading h1 em { font-style:normal; color:#2267ab; }
.ct-heading>p { max-width:410px; font-size:17px; line-height:1.7; color:#546777; margin:0 0 4px; }
.ct-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr); gap:32px; align-items:start; }
.ct-panel { background:#fff; border:1px solid #dce3ea; border-radius:20px; padding:32px; scroll-margin-top:110px; box-shadow:0 8px 30px #10314e06; min-width:0; }
.ct-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ct-panel h2 { font-size:29px; line-height:1.2; letter-spacing:-.025em; margin:0; }
.ct-panel-heading>span { color:#5c7081; font-size:11px; letter-spacing:.04em; border:1px solid #dce5ec; padding:6px 10px; border-radius:20px; white-space:nowrap; }
.ct-intro { color:#546777; font-size:14px; line-height:1.6; margin:9px 0 8px; }
.ct-aside { display:grid; gap:25px; }
.ct-enroll { color:#173a58; border:1px solid #d8e4ef; border-radius:20px; background:#edf3f9; padding:26px; }
.ct-enroll h2,.ct-resource h2 { font-size:25px; line-height:1.25; letter-spacing:-.02em; margin:14px 0 10px; }
.ct-enroll p,.ct-resource p { font-size:14px; line-height:1.7; }
.ct-link { display:flex; justify-content:space-between; gap:12px; margin-top:22px; font-size:14px; font-weight:650; color:#1c5b98; text-underline-offset:4px; }
.ct-resource { padding:0 6px 22px; border-bottom:1px solid #dce3ea; }
.ct-resource h2 { font-size:21px; margin-top:0; }
.ct-resource a { color:#1c5b98; text-underline-offset:4px; font-size:14px; line-height:1.7; }
.ct-notice { background:#fff5e2; border-left:3px solid #b68b37; padding:16px 18px; margin:20px 0; font-size:14px; line-height:1.6; }
.ct-notice p { margin:6px 0 0; }
.ct-notice a { color:inherit; text-decoration:underline; }
#contact-fields { padding:0; border:0; margin:0; min-width:0; }
#contact-form label:not(.ct-consent) { display:block; font-size:14px; font-weight:650; margin:20px 0 7px; color:#294355; }
#contact-form label span { font-weight:400; }
#contact-form input:not([type=checkbox]),#contact-form select,#contact-form textarea { width:100%; box-sizing:border-box; font:inherit; font-size:16px; line-height:1.5; padding:11px 12px; border:1px solid #afc0ce; border-radius:8px; color:#19374c; background:#fff; min-width:0; }
#contact-form select { min-height:48px; text-overflow:ellipsis; padding-right:26px; }
#contact-form textarea { resize:vertical; min-height:140px; }
.contact-page :is(input,select,textarea,button,a,summary,[tabindex]):focus-visible { outline:3px solid #2879c4; outline-offset:3px; }
#contact-form :disabled { opacity:.65; cursor:wait; }
.ct-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ct-help { font-size:12px; line-height:1.6; color:#5c6f7e; margin:8px 0 0; }
.ct-area-help { min-height:20px; color:#345d7c; }
.ct-message-meta { display:flex; gap:10px; justify-content:space-between; font-size:11px; color:#617583; margin-top:7px; }
.ct-consent { display:flex; align-items:flex-start; gap:10px; margin:22px 0 16px; font-size:12px; line-height:1.65; color:#435c6e; }
.ct-consent input { flex:0 0 auto; width:20px; height:20px; margin-top:1px; accent-color:#2468ad; }
.ct-consent a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.ct-verification { border-top:1px solid #e6ebf0; padding-top:12px; margin-top:14px; }
#contact-verification-status { font-size:12px; line-height:1.5; color:#596f80; margin:0 0 8px; }
#contact-verification-status[data-state=ready] { color:#236642; }
#contact-verification-status[data-state=failed] { color:#85461b; }
#contact-challenge { min-width:0; max-width:100%; scroll-margin-top:120px; }
.ct-submit { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:16px; }
.ct-cancel { background:none; border:0; color:#355b7b; text-decoration:underline; min-height:44px; cursor:pointer; }
#contact-status { font-size:14px; line-height:1.7; color:#26537a; overflow-wrap:anywhere; margin:14px 0 0; }
#contact-status:empty { display:none; }
#contact-status[data-error=true] { color:#85461b; }
.ct-recovery { background:#fff8ea; border:1px solid #e9d8b5; border-radius:10px; padding:18px; margin-top:16px; font-size:13px; line-height:1.6; }
.ct-recovery>p { margin:6px 0 10px; }
.ct-recovery-actions { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; }
.ct-recovery button,.ct-recovery a,.ct-reference button { font:inherit; color:#174f83; background:none; border:0; padding:8px 0; min-height:44px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.ct-recovery details { border-top:1px solid #e9d8b5; margin-top:12px; padding-top:10px; }
.ct-recovery summary { cursor:pointer; min-height:30px; }
.ct-recovery details p { font-size:12px; }
.ct-success { padding:24px 0; outline-offset:8px; }
.ct-success h3 { font-size:36px; line-height:1.2; margin:16px 0; }
.ct-success>p { font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.ct-reference { background:#edf4fa; padding:18px; border-radius:10px; margin:22px 0; display:grid; gap:8px; }
.ct-reference>span { font-size:12px; color:#546d80; }
.ct-reference code { font-size:13px; overflow-wrap:anywhere; }
.ct-reference button { justify-self:start; }
.ct-small { font-size:11px; margin-top:14px; }
.ct-trap,.ct-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-page [hidden] { display:none!important; }
@media(max-width:900px) { .ct-layout { gap:24px; grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr); } .ct-panel { padding:24px; } .ct-enroll { padding:22px; } .ct-heading { gap:26px; } }
@media(max-width:720px) { .ct-main { padding-top:18px; padding-bottom:45px; } .ct-crumbs { margin:10px 0 24px; } .ct-heading { display:block; margin-bottom:26px; } .ct-heading h1 { font-size:42px; } .ct-heading>p { margin-top:18px; font-size:15px; } .ct-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; } .ct-panel { padding:22px 20px; } .ct-panel-heading>span { display:none; } .ct-two { grid-template-columns:1fr; gap:0; } .ct-submit .button { width:100%; justify-content:center; } .ct-aside { gap:22px; } }
@media(max-width:360px) { .ct-panel { padding:20px 14px; } .ct-heading h1 { font-size:36px; } .ct-panel h2 { font-size:25px; } }
@media print { .site-header,.reading-progress,.ct-aside,.site-footer,.ct-submit,.ct-verification,.ct-recovery { display:none; } .ct-layout { display:block; } .ct-main { padding:0; } .ct-panel { border:0; box-shadow:none; } }
