.contact-departments{scroll-margin-top:120px;padding-top:64px;padding-bottom:64px}
.contact-departments .section-heading{align-items:center;margin-bottom:32px;gap:32px}
.contact-departments .section-heading>p{max-width:440px;font-size:15px;line-height:1.8}
.department-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.department-card{position:relative;min-width:0;padding:26px 28px;border:1px solid #e0e7f0;border-radius:16px;background:#fff;box-shadow:0 4px 20px #17304f05;transition:border-color .2s,box-shadow .2s}
.department-card:hover{border-color:#abc3ef;box-shadow:0 8px 24px #17304f0b}
.department-card .public-icon-heading{display:flex;align-items:center;justify-content:flex-start;gap:14px;margin:0 0 14px;min-height:44px}
.department-card .public-icon-heading .service-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;border:0;border-radius:12px;background:#edf3ff;color:#2563eb}
.department-card .public-icon-heading .service-icon svg{width:22px;height:22px}
.department-card .public-icon-heading h3{margin:0;font-size:22px;line-height:1.3;letter-spacing:-.4px}
.department-card>p{margin:0 0 20px;color:#63748c;font-size:14px;line-height:1.7;min-height:48px;max-width:none}
.department-access{display:inline-flex;align-items:center;gap:6px;color:#65758a;background:#f3f6fa;padding:5px 9px;border-radius:6px;font-size:11px;line-height:1.4;margin:0 0 12px}
.department-access svg{width:12px;height:12px}
.department-locked{border-top:1px solid #edf0f5;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.department-locked p{margin:0;font-size:12px;line-height:1.6;color:#748196;max-width:260px}
.department-account-link{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:13px;font-weight:600;color:#245df1;text-decoration:none}
.department-account-link svg{width:16px;height:16px}
.department-card details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border:1px solid #dae5f8;border-radius:10px;list-style:none;background:#fff;color:#245df1;font-size:14px;font-weight:650;cursor:pointer}
.department-card details>summary::-webkit-details-marker{display:none}
.department-card details>summary svg{width:18px;height:18px;flex:none;transition:transform .15s}
.department-card details[open]>summary{background:#eef4ff;border-color:#9ebcff}
.department-card details[open]>summary svg{transform:rotate(180deg)}
.department-card summary:focus-visible{outline:3px solid #99b8ff;outline-offset:3px}
.department-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin-top:26px;padding-top:24px;border-top:1px solid #e0e8f4}
.department-form>label{display:block;min-width:0;margin:0;font-size:13px;font-weight:600;color:#354b69;line-height:1.5}
.department-form>label:has([name=subject]),.department-form>label:has(textarea),.department-form>.help,.department-form>.cf-turnstile,.department-form>.notice{grid-column:1/-1}
.department-form input:not([type=hidden]),.department-form textarea{display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:8px;padding:12px 14px;border:1px solid #cedbec;border-radius:9px;background:white;font:inherit;font-size:15px;font-weight:400;color:#182c47;min-height:46px}
.department-form textarea{resize:vertical;min-height:140px}
.department-form input:focus,.department-form textarea:focus{outline:2px solid #a7c2ff;outline-offset:2px;border-color:#5287f8}
.department-form .help{margin:0;color:#75849a;font-size:12px;line-height:1.7;font-weight:400;overflow-wrap:anywhere}
.department-form .btn{grid-column:1/-1;justify-self:start;min-height:46px;margin:0}
.contact-options .contact-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
@media(max-width:700px){.contact-departments{padding-top:40px;padding-bottom:40px}.contact-departments .section-heading{display:block}.department-grid{grid-template-columns:1fr;gap:18px}.department-card{padding:22px}.department-card>p{min-height:0}.department-form{grid-template-columns:1fr}.department-card .public-icon-heading h3{font-size:22px}}

@media(max-width:700px){.department-locked{align-items:flex-start;flex-direction:column;gap:10px}.department-card>p{min-height:0}.department-card{padding:22px}.department-account-link{min-height:32px}}
/* One routed enquiry form, shared by all configured departments. */
.contact-form-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:72px;align-items:start}
.contact-form-intro h2{font-size:42px;line-height:1.15;margin:18px 0 24px;letter-spacing:-1.5px}
.contact-form-intro>p{font-size:16px;line-height:1.8;color:#697990;max-width:360px}
.contact-form-note{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #e2e8f1;padding-top:24px;margin-top:32px;max-width:360px;color:#6b7c94}
.contact-form-note>svg{width:22px;height:22px;flex:none;color:#2b64f5;margin-top:3px}.contact-form-note p{font-size:13px;line-height:1.8;margin:0}
.contact-form-panel{padding:32px;border:1px solid #dfe6f1;border-radius:18px;background:#fff;box-shadow:0 12px 36px #17304f08}
.contact-form-panel .department-form{margin:0;padding:0;border:0;gap:20px}
.department-choice{grid-column:1/-1}.department-choice select{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #cedbec;border-radius:9px;background:#f8faff;color:#182c47;font:inherit;font-size:15px;min-height:48px}
.department-choice option:disabled{color:#8a96a6}.department-choice select:focus{outline:2px solid #a7c2ff;outline-offset:2px}
.contact-form-panel button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:800px){.contact-form-layout{grid-template-columns:1fr;gap:28px}.contact-form-intro h2{font-size:34px}.contact-form-intro>p{max-width:none}.contact-form-note{max-width:none;margin-top:20px;padding-top:18px}.contact-form-panel{padding:22px}}
.department-form>.choice-field[data-field=department]{grid-column:1/-1;width:100%;min-width:0}
.department-form .choice-field[data-field=department]>span:first-child{font-size:13px;font-weight:600;color:#354b69}
.department-form .choice-field[data-field=department] details{width:100%;margin-top:8px}
/* Compact department menu: one list, without individual option boxes. */
.department-form .choice-field[data-field=department] details>input{display:none}
.department-form .choice-field[data-field=department] details>.field-choices{top:calc(100% + 8px);display:flex;flex-direction:column;gap:0;padding:6px;border:1px solid #dce5f0;border-radius:10px;box-shadow:0 12px 28px #17304f16;min-width:0}
.department-form .choice-field[data-field=department] .field-choices button{width:100%;min-height:42px;margin:0;padding:11px 12px;border:0;border-radius:6px;background:transparent;box-shadow:none;font-size:14px;font-weight:400;color:#34475f;text-align:start}
.department-form .choice-field[data-field=department] .field-choices button[data-value=""]{display:none}
.department-form .choice-field[data-field=department] .field-choices button:hover:not(:disabled),.department-form .choice-field[data-field=department] .field-choices button:focus-visible{background:#f2f6fc;outline:0}
.department-form .choice-field[data-field=department] .field-choices button[aria-pressed=true]{color:#245df1;background:#edf4ff;font-weight:600}
.department-form .choice-field[data-field=department] .field-choices button:disabled{color:#8d98a8;opacity:1;background:transparent}
.department-form .choice-field[data-field=department] .choice-tick{border:0;background:transparent;color:transparent;border-radius:0}
.department-form .choice-field[data-field=department] button[aria-pressed=true]>.choice-tick{color:#245df1;background:transparent;border:0}
