/* DavisAIgov v13.5.5: canonical contact shell, specialist practices, readable tables. */
:root{--dag-ink:#122b49;--dag-muted:#415771;--dag-line:#ccd8e6;--dag-paper:#f6f8fd;--dag-gold:#ffcf69;--dag-link:#174f80}
.dag-contact-document,.dag-services-page .portal-document{max-width:1740px!important;width:100%;margin:auto;padding:32px clamp(18px,3vw,44px) 64px;box-sizing:border-box}
.dag-contact-document *, .dag-practice *, .dag-specialist-intro *{box-sizing:border-box;min-width:0}
.dag-contact-document h1,.dag-services-page .page-intro h1{font-size:clamp(34px,4.5vw,66px)!important;line-height:1.08!important;max-width:1100px!important;letter-spacing:-.04em!important}
.dag-contact-document .page-intro .lede{max-width:800px;font-size:clamp(18px,1.8vw,23px);line-height:1.55}
.dag-credential-line{font-size:13px!important;letter-spacing:.035em!important;line-height:1.65!important;margin:24px 0 0!important}
.dag-contact-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:clamp(24px,3.5vw,52px);align-items:start;margin-top:38px}
.dag-contact-page .dag-contact{margin:0!important;max-width:none!important;background:#fff!important;padding:clamp(24px,3vw,42px)!important;border:1px solid var(--dag-line)!important;border-radius:14px!important;box-shadow:0 14px 32px #142b4910!important}
.dag-contact-page h2{font-size:clamp(27px,2.6vw,40px);line-height:1.16;color:var(--dag-ink);margin:8px 0 18px}
.dag-section-label{font:700 11px/1.65 var(--mono,ui-monospace,monospace)!important;letter-spacing:.13em!important;text-transform:uppercase;color:#50617a!important;margin:0 0 10px}
.dag-contact-page .dag-form-intro{color:var(--dag-muted);font-size:16px;line-height:1.65;max-width:64ch;margin:0 0 24px}
.dag-required-note{color:var(--dag-muted);font-size:13px;line-height:1.6;margin:24px 0 18px}
.dag-contact-page .dag-contact-grid{gap:16px 22px}
.dag-contact-page .dag-field label{font:650 15px/1.5 var(--sans,Arial,sans-serif)!important;color:var(--dag-ink)!important}
.dag-contact-page .dag-field input,.dag-contact-page .dag-field textarea,.dag-contact-page .dag-field select{font:400 16px/1.55 var(--sans,Arial,sans-serif)!important;padding:13px 15px!important;border:1px solid #8096af!important;border-radius:7px!important;color:var(--dag-ink)!important;-webkit-text-fill-color:var(--dag-ink)!important;background:#fff!important;min-height:52px}
.dag-contact-page .dag-field :is(input,textarea)::placeholder{color:#586c84!important;opacity:1!important}
.dag-contact-page .dag-field select{white-space:normal!important;height:auto;min-height:56px;padding-right:28px!important;font-size:15px!important;max-width:100%}
.dag-contact-page .dag-field textarea{min-height:178px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}
.dag-contact-page .dag-field [aria-invalid=true]{border-color:#a02b30!important;background:#fff8f8!important}
.dag-contact-page .dag-error{font-size:13px!important;line-height:1.5!important;color:#98252c!important;margin-top:5px;overflow-wrap:anywhere;min-height:0}
.dag-contact-page .dag-error:empty{display:none}
.dag-contact-page .dag-hint{font-size:12px!important;color:#4c6078!important;line-height:1.5;flex-wrap:wrap;gap:6px 14px}
.dag-contact-page .dag-send,.dag-contact-page .gold-button,.dag-practice .gold-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:normal!important;overflow-wrap:anywhere;max-width:100%;background:#ffcf69!important;color:#13263f!important;-webkit-text-fill-color:#13263f!important;font:750 15px/1.45 var(--sans,Arial,sans-serif)!important;border:1px solid #b58122!important;border-radius:7px!important;padding:14px 20px!important;min-height:50px;text-decoration:none}
.dag-contact-page .dag-send:hover,.dag-contact-page .gold-button:hover,.dag-practice .gold-button:hover{background:#f7bc43!important}
.dag-contact-page .dag-form-actions{align-items:start;margin-top:22px;gap:14px}
.dag-contact-page .dag-form-actions p{font-size:13px!important;line-height:1.6;color:#415771!important;max-width:300px}
.dag-contact-page #dag-form-status{font-size:14px;line-height:1.6;color:#215637}
.dag-contact-page #dag-form-status[data-error=true]{color:#98252c}
.dag-contact-page .dag-contact-legal{border-top:1px solid var(--dag-line);padding-top:20px;margin-top:24px;font-size:13px;line-height:1.7;color:#485b72}
.dag-contact-sidebar{padding:24px 0 0}
.dag-contact-sidebar h2{font-size:clamp(26px,2.1vw,34px);max-width:20ch}
.dag-direct-email{display:inline-block;font-size:clamp(17px,1.8vw,23px);font-weight:700;color:#164d77;overflow-wrap:anywhere;margin-bottom:10px}
.dag-sidebar-entry{border-top:1px solid var(--dag-line);padding:24px 0}
.dag-sidebar-entry h3{font-size:21px;line-height:1.25;margin:5px 0 10px;color:var(--dag-ink)}
.dag-sidebar-entry p{font-size:16px;line-height:1.65;color:var(--dag-muted);max-width:45ch;margin:0 0 12px}
.dag-sidebar-entry a{font-size:14px;font-weight:700;color:#174f80}
.dag-contact-close{padding:40px 0 0;margin-top:46px;border-top:1px solid var(--dag-line)}
.dag-contact-close p{font-size:17px;line-height:1.7;color:var(--dag-muted);max-width:75ch}
.dag-draft-review{margin-top:24px;border:1px solid #a9c6ba;border-left:4px solid #276d4e;border-radius:8px;background:#f2f8f4;padding:24px;scroll-margin-top:110px}
.dag-draft-review[hidden]{display:none!important}.dag-draft-review h3{font-size:24px;line-height:1.3;color:#193d2c;margin:8px 0 16px}
.dag-draft-review p{color:#2b4c3d;overflow-wrap:anywhere;line-height:1.6}
.dag-draft-review pre{font:400 14px/1.7 var(--mono,monospace);background:white;color:#20374d;border:1px solid #ccd8d1;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;margin:18px 0;max-width:100%}
.dag-secondary-button{border:1px solid #637992;background:white;color:#183956;min-height:50px;padding:12px 18px;border-radius:6px;font:650 15px/1.5 var(--sans,Arial,sans-serif)}
.dag-specialist-intro{padding:48px 0 30px;color:var(--dag-ink)}
.dag-specialist-intro h2{font-size:clamp(30px,3.4vw,48px);line-height:1.15;margin:10px 0 18px;max-width:25ch}
.dag-specialist-intro>p:not(.dag-section-label){font-size:19px;line-height:1.65;max-width:77ch;color:var(--dag-muted)}
.dag-practice-jump{display:flex;gap:16px 28px;flex-wrap:wrap;margin-top:24px}
.dag-practice-jump a{color:#174f80;font-weight:700;padding:8px 0;line-height:1.5}
.dag-practice{background:#fff;border:1px solid var(--dag-line);border-radius:14px;padding:clamp(24px,4vw,54px);margin-bottom:28px;box-shadow:0 12px 28px #142b4908;scroll-margin-top:110px}
.dag-practice-heading{display:flex;gap:24px;align-items:flex-start;border-bottom:1px solid #d9e2ed;padding-bottom:30px;margin-bottom:32px}
.dag-practice-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;min-height:56px;background:#0c2340;color:#ffcf69;border-radius:8px;font:650 22px/1.2 var(--mono,monospace)}
.dag-practice h2{font-size:clamp(30px,3.6vw,50px);line-height:1.12;margin:0;color:#112b49;letter-spacing:-.035em}
.dag-practice-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:clamp(24px,4vw,54px);align-items:start}
.dag-practice-copy p{font-size:17px;line-height:1.75;color:#344c67;margin:0 0 22px;max-width:70ch}
.dag-practice-copy .dag-practice-lead{font-size:21px;line-height:1.6;color:#142f4d;font-weight:550}
.dag-practice-proof{background:#0b2340;border-radius:12px;border:1px solid #2a4868;padding:clamp(24px,2.5vw,34px);color:#eaf3fe}
.dag-practice-proof .dag-section-label{color:#ffcf69!important}
.dag-practice-proof h3{font-size:clamp(24px,2.3vw,32px);line-height:1.2;color:#fff;margin:0 0 22px}
.dag-practice-proof p{font-size:16px;line-height:1.75;color:#e1eaf6;margin:0 0 18px}
.dag-practice-proof .dag-proof-limit{font-size:13px;line-height:1.65;color:#c6d7eb;border-top:1px solid #39516b;padding-top:18px;margin-bottom:0}
.dag-practice-quote{margin:30px 0;padding:20px 28px;border-left:3px solid #b17a15;background:#fff9e9;color:#193654}
.dag-practice-quote p{font-size:clamp(21px,2vw,29px);line-height:1.4;letter-spacing:-.025em;margin:0 0 12px}
.dag-practice-quote cite{font-size:13px;color:#594822;font-style:normal;line-height:1.6}
.dag-practice-close{display:flex;align-items:start;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:28px}
.dag-practice-close p{font-size:14px;line-height:1.7;color:#455a72;max-width:73ch;margin:0;flex:1 1 450px}
.dag-source-note{font-size:13px!important;line-height:1.7!important;color:#4b6078!important;margin:22px 0 0!important}
.dag-source-note a{color:#164d77!important;text-decoration:underline}
.dag-home-specialists{border-top:1px solid #d4deea;margin-top:20px;padding:16px 0 0;display:grid;gap:10px}
.dag-home-specialists a{font-size:14px;line-height:1.5;color:#174f80;font-weight:700}
.dag-home-wide{max-width:1640px;margin:24px auto;padding:26px;background:white;border:1px solid #d4deea;border-radius:10px}
/* Shared table readability. Cells grow with content; scroll only the table, never the whole page. */
.dag-table-region{min-width:0!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:auto}
.dag-table-region:focus-visible{outline:3px solid #2871a7!important;outline-offset:4px}
body table th,body table td{padding:18px 20px!important;vertical-align:top!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.6!important;height:auto!important;max-height:none!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important}
body table th{font-size:max(.8rem,12px);letter-spacing:.02em}
body table :is(td,th) :is(p,span,a,code,pre,strong,b,div){max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;height:auto!important;max-height:none!important;line-height:inherit!important}
body table :is(td,th) pre{white-space:pre-wrap!important}
body table :is(td,th) p+p{margin-top:12px!important}
.dag-table-wide{min-width:1180px!important;table-layout:auto!important}
.dag-table-medium{min-width:820px!important;table-layout:auto!important}
.dag-table-compact{min-width:640px}
.dag-service-table{table-layout:fixed!important;min-width:700px!important;width:100%;border-collapse:collapse;font:400 15px/1.65 var(--sans,Arial,sans-serif);color:#243d57}
.dag-service-table caption{caption-side:top;text-align:left;font-size:17px;font-weight:700;line-height:1.6;padding:22px 20px;background:#eef3f9;color:#102d4b;border-bottom:1px solid #cbd8e7}
.dag-service-table thead th{background:#132c4b!important;color:#fff!important;font-size:13px!important;letter-spacing:.03em;text-transform:none;position:static!important}
.dag-service-table tbody th{background:#f6f9fd!important;color:#173754!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;font-weight:650}
.dag-service-table tbody td{background:#fff!important;color:#304b64!important;font-size:15px!important}
.dag-service-table :is(th,td){border-bottom:1px solid #d3dfed!important;text-align:left}
.dag-table-scroll{border:1px solid #cbd8e7;border-radius:10px;margin-top:28px}
@media(max-width:1000px){.dag-contact-layout,.dag-practice-columns{grid-template-columns:1fr}.dag-contact-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;padding-top:0}.dag-contact-sidebar>.dag-section-label,.dag-contact-sidebar>h2,.dag-contact-sidebar>.dag-direct-email{grid-column:1/-1}.dag-contact-sidebar>h2{max-width:none}.dag-contact-sidebar>.dag-direct-email{margin-bottom:6px}.dag-contact-document,.dag-services-page .portal-document{padding:24px 20px 48px}.dag-contact-page .dag-form-actions p{max-width:none}.dag-practice-close p{flex-basis:100%}}
@media(max-width:640px){.dag-contact-document,.dag-services-page .portal-document{padding:16px 14px 42px}.dag-contact-layout{gap:28px;margin-top:24px}.dag-contact-page .dag-contact{padding:24px 18px!important}.dag-contact-page .dag-contact-grid{grid-template-columns:1fr}.dag-contact-sidebar{display:block}.dag-contact-document h1,.dag-services-page .page-intro h1{font-size:clamp(30px,8.5vw,42px)!important}.dag-practice{padding:26px 18px}.dag-practice-heading{gap:15px}.dag-practice-number{flex-basis:38px;width:38px;min-height:40px;font-size:16px}.dag-practice h2{font-size:30px;line-height:1.18}.dag-practice-copy p{font-size:16px;line-height:1.75}.dag-practice-copy .dag-practice-lead{font-size:19px}.dag-practice-quote{margin:22px 0;padding:20px}.dag-practice-proof{padding:24px}.dag-practice-close .gold-button,.dag-contact-page .dag-send{width:100%}.dag-contact-page .dag-draft-review{padding:20px 15px}.dag-contact-page .dag-draft-review pre{padding:14px;font-size:13px}.dag-specialist-intro{padding-top:32px}.dag-practice-jump{display:grid;gap:8px}.dag-contact-page .dag-field select{font-size:14px!important}}
@media print{.dag-practice{box-shadow:none;border:0;padding:20px 0}.dag-practice-columns,.dag-contact-layout{display:block}.dag-practice-proof{background:#fff!important;color:#111!important;border:1px solid #999}.dag-practice-proof :is(h3,p){color:#111!important}.dag-table-region{overflow:visible!important}.dag-table-region table{min-width:0!important;font-size:10px}.dag-service-table :is(th,td){padding:10px!important}.dag-contact-sidebar,.dag-form-actions{display:none!important}}

@media(max-width:820px){.dag-table-region::before{content:"Scroll horizontally to view all columns \2192";display:block;position:sticky;left:0;padding:12px 16px;background:#edf4fc;color:#234565;font:600 12px/1.6 var(--sans,Arial,sans-serif);width:100%;box-sizing:border-box;white-space:normal}}

/* Three-column service comparisons stack on phones. Large engineering matrices keep scroll regions. */
@media(max-width:640px){
 .dag-service-table-region::before{display:none!important}
 .dag-service-table-region{overflow-x:visible!important}
 table.dag-service-table{display:block;min-width:0!important;max-width:100%;width:100%!important;table-layout:auto!important}
 .dag-service-table colgroup,.dag-service-table thead{display:none}
 .dag-service-table caption{display:block;width:100%;padding:20px;font-size:16px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
 .dag-service-table tbody{display:block;width:100%}
 .dag-service-table tbody tr{display:block;width:100%;border-bottom:3px solid #cad9e9}
 .dag-service-table tbody tr:last-child{border-bottom:0}
 .dag-service-table tbody th,.dag-service-table tbody td{display:block;width:100%!important;border-bottom:1px solid #e1e8f2!important}
 .dag-service-table tbody td::before{content:attr(data-label);display:block;font-size:12px;font-weight:750;color:#174f80;line-height:1.6;margin-bottom:8px}
 .dag-service-table tbody th{font-size:16px!important}
}
