* { box-sizing: border-box; }
body.department-page { margin: 0; background: var(--white); color: var(--ink); }
.department-hero { padding: clamp(62px, 8vw, 96px) 24px; color: var(--paper); background: var(--department-color, var(--ink)); }
.department-shell { width: min(1120px, 100%); margin: 0 auto; }
.department-eyebrow { margin: 0 0 16px; font: 700 10px/1.4 var(--font-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--department-accent, #f0c962); }
.department-hero h1 { max-width: 800px; margin: 0; font: 900 clamp(44px, 7vw, 76px)/.98 var(--font-display); letter-spacing: -.04em; }
.department-hero p:not(.department-eyebrow) { max-width: 720px; margin: 24px 0 0; color: rgba(245,240,232,.75); font-size: clamp(17px, 2vw, 20px); line-height: 1.65; }
.department-main { padding: 64px 24px 88px; }
.department-intro { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 56px; margin-bottom: 52px; }
.department-intro h2, .department-section h2 { margin: 0; font: 900 clamp(32px, 4.5vw, 50px)/1.05 var(--font-display); }
.department-intro p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.72; }
.department-tool-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.department-tool { display: flex; min-height: 250px; flex-direction: column; padding: 28px; border: 1px solid var(--rule); border-top: 5px solid var(--department-accent, var(--teal)); background: #fff; }
.department-tool-label { margin-bottom: 28px; color: var(--department-color, var(--teal-dk)); font: 700 9px/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.department-tool h3 { margin: 0 0 12px; font: 700 28px/1.1 var(--font-display); }
.department-tool p { margin: 0; color: var(--muted); line-height: 1.65; }
.department-tool dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 18px 0 0; font-size: 12px; }
.department-tool dt { color: var(--muted); font-weight: 700; }
.department-tool dd { margin: 0; }
.department-tool a { align-self: flex-start; margin-top: auto; padding-top: 24px; color: var(--department-color, var(--teal-dk)); font-weight: 800; }
.department-note { margin-top: 44px; padding: 22px 24px; border-left: 5px solid var(--department-accent, var(--gold)); background: var(--paper); color: #4f4a44; line-height: 1.65; }
.department-related { margin-top: 72px; padding-top: 46px; border-top: 1px solid var(--rule); }
.department-related-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.department-related-links a { padding: 11px 14px; border: 1px solid var(--rule); color: var(--ink); text-decoration: none; font-weight: 700; }
.department-related-links a:hover { border-color: var(--department-color, var(--teal)); }
.department-documentation { --department-color: #243b5a; --department-accent: #e0ae39; }
.documentation-workspace-shell { display:grid; grid-template-columns:minmax(0,420px) minmax(520px,1fr); gap:24px; align-items:start; }
.documentation-workspace-shell > .ai-tool-privacy-note { grid-column:1; grid-row:1; margin:0; }
.documentation-workspace { display:grid; grid-column:1; grid-row:2; gap:30px; padding:clamp(22px,3vw,32px); border:1px solid var(--rule); background:#f8fafc; }
.documentation-step { min-width:0; margin:0; padding:0 0 28px; border:0; border-bottom:1px solid var(--rule); }
.documentation-step:last-of-type { padding-bottom:0; border-bottom:0; }
.documentation-step legend { width:100%; padding:0; }
.documentation-step legend strong, .documentation-step > h2 { display:block; margin:0 0 14px; font:700 24px/1.15 var(--font-display); }
.documentation-step .department-eyebrow { margin-bottom:8px; color:var(--department-color); }
.documentation-hint { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.6; }
.documentation-setting-choices, .documentation-choices { display:grid; gap:10px; }
.documentation-setting-choices label, .documentation-choices label { display:flex; gap:12px; padding:15px; border:1px solid var(--rule); background:#fff; cursor:pointer; }
.documentation-setting-choices label:has(input:checked), .documentation-choices label:has(input:checked) { border:2px solid var(--department-color); background:#eef3f8; }
.documentation-setting-choices input, .documentation-choices input { margin-top:4px; }
.documentation-setting-choices small, .documentation-choices small { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }
.documentation-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.documentation-role-grid { margin-top:16px; }
.documentation-option-grid label, .documentation-format-choice { display:grid; gap:7px; font-size:13px; font-weight:700; }
.documentation-option-grid select, .documentation-format-choice select, .documentation-workspace input[type="text"], .documentation-zip-group input { width:100%; padding:11px; border:1px solid #9aa6b5; border-radius:5px; background:#fff; color:var(--ink); font:inherit; }
.documentation-format-choice { margin-top:16px; }
.documentation-zip-group { margin-top:18px; padding:16px; border-left:4px solid var(--department-accent); background:#fff8e8; }
.documentation-zip-group label { display:block; margin-bottom:8px; }
.documentation-zip-group input { max-width:150px; }
.documentation-zip-group p, .documentation-selection-note { margin:8px 0 0; color:#5e5a50; font-size:12px; line-height:1.5; }
.documentation-selection-note { padding:12px 14px; border-left:4px solid var(--department-accent); background:#fff8e8; }
.documentation-question { display:grid; gap:4px; margin-bottom:9px; }
.documentation-question span, .documentation-fact-grid label > span, .documentation-conditional-questions label > span { color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; }
.documentation-workspace textarea { width:100%; box-sizing:border-box; padding:14px; border:1px solid #9aa6b5; border-radius:5px; background:#fff; color:var(--ink); font:inherit; line-height:1.55; resize:vertical; }
.documentation-workspace textarea:focus, .documentation-workspace select:focus, .documentation-workspace input:focus { outline:3px solid rgba(224,174,57,.3); border-color:var(--department-color); }
.documentation-fact-grid { display:grid; gap:14px; }
.documentation-common-facts { margin-top:18px; }
.documentation-fact-grid label, .documentation-conditional-questions > label { display:grid; gap:6px; padding:15px; border:1px solid #dce2e9; background:#fff; }
.documentation-conditional-questions { margin:22px 0 0; padding:18px; border:1px solid #ccd5df; background:#f1f5f9; }
.documentation-conditional-questions legend { width:auto; padding:0 8px; color:var(--department-color); font:700 17px/1.2 var(--font-display); }
.documentation-privacy-notice { margin:0; padding:15px 17px; border-left:4px solid var(--department-accent); background:#fff8e8; color:#4f4a44; font-size:13px; line-height:1.55; }
.documentation-primary { justify-self:start; padding:14px 20px; border:0; border-radius:5px; background:var(--department-color); color:#fff; font:800 15px var(--font-sans); cursor:pointer; }
.documentation-primary:disabled { opacity:.62; cursor:wait; }
.documentation-status { min-height:1.4em; margin:0; color:var(--department-color); font-size:13px; font-weight:700; line-height:1.5; }
.documentation-status[data-type="error"] { color:#9b2c22; }
.documentation-preview-pane { position:sticky; top:20px; grid-column:2; grid-row:1 / span 2; min-width:0; padding:24px; border:1px solid #cad3dd; border-top:5px solid var(--department-accent); background:#eef1f5; scroll-margin-top:20px; }
.documentation-preview-heading { display:grid; grid-template-columns:1fr; }
.documentation-preview-heading .department-eyebrow { margin-bottom:7px; color:var(--department-color); }
.documentation-preview-heading h2 { margin:0; font:700 29px/1.15 var(--font-display); }
.documentation-preview-heading > p:last-child { margin:9px 0 20px; color:var(--muted); font-size:13px; line-height:1.55; }
.documentation-preview-placeholder { display:grid; min-height:620px; place-items:center; align-content:center; gap:18px; border:1px dashed #aab5c2; background:#fff; color:var(--muted); text-align:center; }
.documentation-preview-placeholder > span { display:grid; width:72px; height:90px; place-items:center; border:2px solid #aab5c2; color:var(--department-color); font:700 11px var(--font-mono); letter-spacing:.12em; }
.documentation-preview-placeholder p { margin:0; max-width:310px; font-size:13px; line-height:1.6; }
.documentation-pdf-preview { display:block; width:100%; height:760px; border:1px solid #aeb8c4; background:#fff; }
.documentation-preview-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.documentation-preview-actions button { padding:10px 13px; border:1px solid var(--department-color); background:#fff; color:var(--department-color); font-weight:800; cursor:pointer; }
.documentation-preview-actions button:first-child { background:var(--department-color); color:#fff; }
.documentation-preview-actions .documentation-clear { margin-left:auto; border-color:transparent; background:transparent; color:var(--muted); text-decoration:underline; }
.documentation-accessible { margin-top:16px; border-top:1px solid #cbd4de; padding-top:14px; }
.documentation-accessible summary { cursor:pointer; color:var(--department-color); font-weight:800; }
.documentation-accessible-document, .documentation-accessible-resources { margin-top:16px; padding:18px; border:1px solid var(--rule); background:#fff; }
.documentation-accessible-document h3, .documentation-accessible-resources h3 { margin:0 0 4px; font:700 24px/1.15 var(--font-display); }
.documentation-accessible-document h4, .documentation-accessible-resources h4 { margin:20px 0 6px; color:var(--department-color); font:700 17px/1.2 var(--font-display); }
.documentation-accessible-document p, .documentation-accessible-resources p { white-space:pre-wrap; font-size:13px; line-height:1.7; }
.documentation-accessible-subtitle { margin-top:0; color:var(--muted); }
.documentation-accessible-notice { padding:12px; background:#fff8e8; font-weight:700; }
.documentation-accessible-resources article + article { margin-top:20px; padding-top:20px; border-top:1px solid var(--rule); }
.documentation-input-review { margin:16px 0 0; padding:18px; border:1px solid #d6b76b; border-left:5px solid var(--department-accent); background:#fffaf0; line-height:1.6; }
.documentation-input-review h3 { margin:0 0 8px; font:700 20px/1.2 var(--font-display); }
.documentation-input-review ul { margin:0; padding-left:20px; }
.documentation-prefill-notice { margin:0 0 20px; padding:14px 16px; border-left:4px solid #e0ae39; background:#fff8e8; color:#243b5a; line-height:1.5; }
.documentation-prefill-notice a { color:inherit; font-weight:700; }
.department-practice { --department-color: #245b54; --department-accent: #e6a75a; }
@media (max-width: 760px) {
  .department-intro, .department-tool-list, .documentation-option-grid { grid-template-columns: 1fr; }
  .department-intro { gap: 18px; }
  .department-tool { min-height: auto; }
  .documentation-pdf-preview { height:70vh; min-height:520px; }
}
@media (max-width: 1000px) {
  .documentation-workspace-shell { grid-template-columns:1fr; }
  .documentation-workspace-shell > .ai-tool-privacy-note, .documentation-workspace, .documentation-preview-pane { grid-column:1; grid-row:auto; }
  .documentation-preview-pane { position:static; }
}
