:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #303030; background: #fff; --gov-blue: #2461bd; --wine: #c41230; --wine-dark: #9f1027; --line: #d8d8d8; --soft: #f5f5f5; --muted: #626262; }
* { box-sizing: border-box; }
body { margin: 0; background: #fff; }
.brand-row { min-height: 92px; width: min(1120px, calc(100% - 48px)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand-mark { display: flex; align-items: center; }
.dascd-logo { display: block; width: auto; height: 55px; object-fit: contain; }
.header-search { width: min(365px, 42vw); height: 36px; padding: 0 10px 0 15px; border: 1px solid #b9b9b9; border-radius: 18px; color: #6e6e6e; display: flex; justify-content: space-between; align-items: center; font-size: .82rem; }
.header-search b { color: var(--wine); font-size: 1.4rem; line-height: 1; }
main { max-width: 1120px; margin: 0 auto; padding: 34px 24px 70px; border-top: 4px solid var(--wine); }
.breadcrumbs { margin: 0 0 32px; color: var(--wine); font-size: .87rem; }.breadcrumbs span { margin: 0 7px; color: #858585; }
h1 { margin: 0; color: var(--wine); font: 700 clamp(2.25rem, 5vw, 3.3rem)/1 Arial, Helvetica, sans-serif; letter-spacing: -.045em; }
h2 { margin-top: 34px; color: #383838; font-size: 1.1rem; }.eyebrow { color: #666; font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.intro { max-width: 760px; margin: 18px 0 32px; font: 1.12rem/1.55 Arial, Helvetica, sans-serif; color: #414141; }
form, #result, #document-builder { background: #fff; border: 1px solid var(--line); padding: 26px; }
label { display: block; font-weight: 700; margin-bottom: 10px; } textarea, .office-fields input, select { width: 100%; border: 1px solid #a9a9a9; border-radius: 0; background: #fff; color: #303030; font: inherit; }
textarea { resize: vertical; min-height: 125px; padding: 12px; line-height: 1.4; }.office-fields input { margin-top: 6px; padding: 10px; } textarea:focus, .office-fields input:focus, select:focus { border-color: var(--wine); outline: 2px solid #c4123026; }
.query-actions, .document-actions, .document-header { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } button { margin-top: 14px; padding: 11px 17px; border: 1px solid var(--wine); border-radius: 0; color: #fff; background: var(--wine); font: 700 .93rem/1 Arial, Helvetica, sans-serif; cursor: pointer; } button:hover { background: var(--wine-dark); border-color: var(--wine-dark); } button:disabled { opacity: .55; cursor: wait; }
.jurisprudence-toggle { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 10px 13px; border: 1px solid #aaa; cursor: pointer; }.jurisprudence-toggle input { width: 17px; height: 17px; accent-color: var(--wine); }.field-help, .saved-hint { color: var(--muted); font-size: .82rem; line-height: 1.45; }.field-help { margin: 10px 0 0; }.saved-hint { display: block; margin-top: 5px; font-weight: 400; }
.secondary-action { color: var(--wine); background: #fff; border-color: var(--wine); }.secondary-action:hover { color: #fff; background: var(--wine-dark); border-color: var(--wine-dark); } #start-document { margin-top: 28px; }
#document-builder { margin-top: 28px; }.document-header { justify-content: space-between; }.document-header h2 { margin: 4px 0 16px; color: var(--wine); font: 700 1.8rem/1.1 Arial, Helvetica, sans-serif; }.document-header label { font-size: .8rem; color: #555; }.document-header select { display: block; margin-top: 5px; padding: 8px; }
.office-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0 4px; padding: 18px; border: 1px solid var(--line); }.office-fields legend { padding: 0 7px; color: #555; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }.office-fields label { margin: 0; font-size: .84rem; }.office-fields .wide-field { grid-column: 1 / -1; }
.editor-toolbar { display: flex; gap: 6px; padding: 8px; background: #f2f2f2; border: 1px solid var(--line); border-bottom: 0; }.editor-toolbar button { margin: 0; padding: 7px 10px; color: #333; background: #fff; border: 1px solid #aaa; font-size: .8rem; }.editor-toolbar button:hover { color: #fff; background: var(--wine); border-color: var(--wine); }
#document-editor { min-height: 520px; padding: 48px clamp(24px, 8vw, 72px); border: 1px solid var(--line); outline: 0; color: #242424; font: 1rem/1.65 Arial, Helvetica, sans-serif; } #document-editor:focus { border-color: var(--wine); } #document-editor h1 { color: #333; font: 700 2rem/1.1 Arial, Helvetica, sans-serif; letter-spacing: -.02em; } #document-editor h2 { margin-top: 1.6em; font-size: 1.15rem; }.document-actions { margin-top: 14px; }
.disclaimer, .warning { color: var(--muted); font-size: .9rem; line-height: 1.5; }.warning { margin-top: 24px; } #status { min-height: 1.5em; margin: 22px 0; color: #8b4920; font-weight: 600; }
.loading-card { margin-top: 22px; padding: 18px 20px; border: 1px solid #d9c5cb; border-left: 4px solid var(--wine); background: #fffafb; }.loading-heading { display: flex; align-items: center; gap: 10px; color: #4d1521; font-size: .98rem; }.loading-mark { font-size: 1.15rem; }.loading-track { height: 7px; margin: 14px 0 10px; overflow: hidden; background: #eadfe1; }.loading-track span { display: block; width: 32%; height: 100%; background: linear-gradient(90deg, #97182c00, var(--wine), #97182c00); transform: translateX(-130%); }.loading-card p { margin: 0; color: var(--muted); font-size: .82rem; } @keyframes loading-sweep { from { transform: translateX(-130%); } to { transform: translateX(340%); } }
#answer { white-space: normal; font: 1.05rem/1.65 Arial, Helvetica, sans-serif; } #answer h2, #answer h3 { margin: 1.8em 0 .75em; color: #333; text-align: center; } #answer h2 { font-size: 1.15rem; } #answer h3 { font-size: 1.05rem; } #answer p { margin: .7em 0; } #answer ul { margin: .5em 0 1em; } #answer hr { border: 0; border-top: 1px solid var(--line); margin: 1.6em 0; }.citation { color: var(--wine); font: 700 .9em/1 Arial, Helvetica, sans-serif; } ol { padding-left: 20px; } li { margin: 10px 0; line-height: 1.45; } a { color: #9f1027; }
.jurisprudence-summary { margin: 5px 0 0; color: #525252; font-size: .88rem; line-height: 1.45; }
.site-footer { padding: 32px max(24px, calc((100% - 1120px) / 2)); display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 28px; color: #fff; background: #273343; font-size: .82rem; line-height: 1.6; }.site-footer strong { font-size: 1rem; }
@media (max-width: 760px) { .brand-row { width: calc(100% - 32px); min-height: 82px; }.header-search { display: none; }.site-footer { grid-template-columns: 1fr; gap: 12px; } }
@media (max-width: 560px) { main { padding: 20px 16px 45px; }.breadcrumbs { margin-bottom: 22px; } form, #result, #document-builder { padding: 18px; } #document-editor { padding: 28px 20px; }.office-fields { grid-template-columns: 1fr; }.office-fields .wide-field { grid-column: auto; }.dascd-logo { height: 45px; } }
