/* Reading-first legal document, within DSMS's tactical gold palette. */
:root { --text-secondary:#535b67; --legal-body:#303842; }
html.dark { --text-secondary:#a9b2bf; --legal-body:#cbd2dc; }
html { scroll-padding-top:110px; }
nav { position:sticky;top:0; }
.scroll-reveal { opacity:1!important;transform:none!important;transition:none!important; }
.scanline-beam { display:none; }
.page-wrapper { max-width:1200px; padding:36px 24px 72px; }
:is(.terms-hero,.privacy-hero) { padding:32px 36px;box-shadow:none;border-left-width:2px; }
:is(.terms-hero,.privacy-hero) h1 { font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:.5px; margin:14px 0 16px; }
:is(.terms-hero,.privacy-hero)>p { font:1rem/1.75 system-ui,sans-serif;color:var(--legal-body);max-width:74ch; }
.hero-tag { font-size:.75rem;letter-spacing:1.5px;color:var(--gold-dark); }
html.dark .hero-tag { color:var(--gold); }
.meta-bar { gap:14px 24px;padding-top:20px;margin-top:24px;border-top-style:solid; }
.meta-item { font-size:.75rem;line-height:1.6;color:var(--text-secondary); }
.meta-item span { color:var(--text-primary); }
.action-btn { min-height:40px; padding:8px 12px;font-size:.75rem; }
.controls-card { padding:16px 20px;gap:14px;box-shadow:none; }
.search-box { min-width:0; }
.search-box input { font: .9rem/1.5 system-ui,sans-serif;min-height:44px;color:var(--text-primary); }
.search-box input::placeholder { color:var(--text-secondary);opacity:1; }
.search-box:focus-within { outline:2px solid var(--gold);outline-offset:3px; }
.search-box input:focus-visible { outline:none; }
.badge-status { white-space:nowrap;font-size:.75rem;color:var(--text-secondary);border:0;background:transparent;padding:0; }
:is(.terms-grid,.privacy-grid) { grid-template-columns:240px minmax(0,1fr);gap:28px; }
.quick-nav { padding:20px;box-shadow:none;top:100px; }
.quick-nav-header { font-size:.8rem;letter-spacing:1px; }
.quick-nav-link { min-height:40px;align-items:center;font-size:.875rem;line-height:1.4;color:var(--text-secondary);text-align:left;gap:14px; }
.quick-nav-link.active { color:var(--text-primary);background:var(--bg-primary); }
.quick-nav-num { font-size:.75rem;flex:0 0 24px; }
.clause-card { padding:28px;box-shadow:none;scroll-margin-top:110px; }
.clause-header { gap:14px;margin-bottom:20px;padding-bottom:18px; }
.clause-title-group { min-width:0;gap:14px;align-items:center; }
.clause-title { font-size:1.5rem;line-height:1.3;letter-spacing:.3px;text-wrap:balance; }
.clause-num { font-size:.8rem;flex-shrink:0; }
.clause-icon { opacity:.4;font-size:1rem; }
.clause-body { font:1rem/1.8 system-ui,sans-serif;color:var(--legal-body);overflow-wrap:anywhere; }
.clause-body p,.clause-body ul { max-width:72ch; }
.clause-body li { line-height:1.8;margin-bottom:8px; }
.clause-body a { color:var(--text-primary);text-decoration:underline;text-underline-offset:3px; }
.info-box,.warning-box { padding:18px 20px;box-shadow:none; }
.info-title,.warning-title { font-size:.75rem;letter-spacing:1px; }
.legal-search-empty { padding:32px;border:1px solid var(--line-dark);font:1rem/1.7 system-ui,sans-serif;color:var(--text-secondary); }
.legal-share-status { font: .8rem/1.5 system-ui,sans-serif;color:var(--text-secondary);margin:12px 0 0; }
.nav-links { align-items:center; }
.nav-links .dm-toggle { position:relative;inset:auto;width:40px;height:40px;min-width:40px;padding:0;box-shadow:none;border-radius:6px; }
.nav-links .dm-toggle::before,.nav-links .dm-toggle::after { content:none; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid var(--gold);outline-offset:4px; }
[hidden] { display:none!important; }
@media(max-width:992px) { :is(.terms-grid,.privacy-grid) { grid-template-columns:1fr; } .quick-nav { position:static; } .quick-nav-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px; } }
@media(max-width:600px) {
 nav { padding:16px;flex-wrap:wrap;gap:14px; } .nav-links { flex-wrap:wrap;justify-content:flex-start;gap:14px;font-size:.75rem; }
 .page-wrapper { padding:24px 16px 48px; } :is(.terms-hero,.privacy-hero),.clause-card { padding:22px 20px; }
 .meta-bar { align-items:flex-start; } .action-btns { width:100%;margin:0; }
 .controls-card { flex-direction:column;align-items:stretch;padding:14px; } .badge-status { align-self:flex-start; }
 .clause-title { font-size:1.3rem; } .clause-title-group { gap:10px; } .clause-icon { display:none; }
 .quick-nav { padding:16px; } .quick-nav-list { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
@media print {
 nav,.bg-lines,.right-gold-bar,.quick-nav,.controls-card,.action-btns,.cyber-footer,.dm-toggle,.page-transition-overlay,.legal-share-status { display:none!important; }
 html,html.dark { --bg-primary:#fff;--bg-secondary:#fff;--text-primary:#111;--legal-body:#222;--text-secondary:#444; }
 body { background:white!important;color:#111!important; } .page-wrapper { padding:0;max-width:none; } :is(.terms-grid,.privacy-grid) { display:block; }
 .clause-card[hidden] { display:block!important; } .clause-card { break-inside:avoid;border:0;border-top:1px solid #bbb;margin:20px 0;box-shadow:none; }
 :is(.terms-hero,.privacy-hero) { border:0;background:white; } .clause-body { font-size:11pt; } .clause-title { color:#111; }
}
