/* Mobile-first readability. Copy and application behavior remain unchanged. */
html { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
body { line-height:1.55; }
p, li, dd, blockquote, textarea, input, select { font-size:max(1rem, 1em); line-height:1.55; }
small, label, figcaption, caption, th, td { font-size:max(.875rem, 1em); }
button, [role="button"], summary { font-size:max(.875rem, 1em); }
p, li, dd, blockquote, figcaption, h1, h2, h3, h4, label { overflow-wrap:break-word; }
img, video { max-width:100%; }
main, article, section, form, .container, .wrap, .shell { min-width:0; }
pre { max-width:100%; overflow-x:auto; }
@media (max-width:700px) {
 html { font-size:16px; }
 main, article, section, form, .container, .wrap, .shell { max-width:100%; box-sizing:border-box; }
 input, textarea, select { font-size:max(1rem, 1em); }
 button, [role="button"], summary { min-height:44px; }
 h1 { font-size:clamp(2rem,8vw,3.5rem); line-height:1.12; }
 h2 { font-size:clamp(1.5rem,6vw,2.5rem); line-height:1.2; }
 h3 { line-height:1.25; }
}
@media (max-width:700px) {
 *, *::before, *::after { box-sizing:border-box; }
 nav, header > .inner, header > .header-inner, .header-links { flex-wrap:wrap; }
 nav { row-gap:10px; }
 main > section { margin-block:32px; }
 code { overflow-wrap:anywhere; }
 table { display:block; max-width:100%; overflow-x:auto; }
 .grid, .cards, .card-grid, .channel-card, .channel-body { min-width:0; }
}
:root:root:root :is(p,li,dd,blockquote,textarea,input,select) { font-size:max(1rem,1em)!important; line-height:1.55!important; }
:root:root:root :is(small,label,figcaption,caption,th,td,button,summary) { font-size:max(.875rem,1em)!important; }
@media (max-width:700px) {
 main > section { padding-block:clamp(24px,7vw,40px)!important; }
 footer { padding-block:24px; }
}
@media (max-width:700px) {
 .hero, .page-hero, .enterprise-hero, .broadcast-hero.hero { min-height:0!important; height:auto!important; padding-block:32px!important; }
 .broadcast-hero.hero { max-height:none!important; }
}
/* Compact heading scales keep mobile copy and controls in view. */
@media (max-width:700px) {
 :root:root h1 { font-size:clamp(32px,8vw,40px)!important; line-height:1.12!important; letter-spacing:-.025em; }
 :root:root h2 { font-size:clamp(24px,6vw,32px)!important; line-height:1.2!important; }
 :root:root h3 { line-height:1.25!important; }
}
@media (max-width:700px) {
 :root:root :is(h1,h2,h3) { white-space:normal!important; max-width:100%!important; }
}
/* Published edge navigation/footer and late-loaded presentation states. */
:root:root:root #bs-institution-links a { font-size:14px!important; line-height:1.5!important; }
:root:root:root header nav a, :root:root:root footer, :root:root:root footer a { font-size:14px!important; line-height:1.5!important; }
:root:root:root #memory-graph [style*="opacity:0.5"] { opacity:.85!important; color:#eeeae2!important; }
:root:root:root .bs-press-v1 .masthead .wordmark, :root:root:root .bs-press-v1 .masthead .wordmark span, :root:root:root .bs-press-v1 .masthead summary { color:#1b1610!important; }
@media(max-width:700px) {
 header.bar { flex-wrap:wrap!important; gap:12px!important; padding-inline:20px!important; }
 header.bar > * { min-width:0!important; max-width:100%!important; overflow-wrap:anywhere; }
}
:root:root:root .bs-press-v1 .masthead nav a { color:#1b1610!important; }
:root:root:root #story .which-one > :is(p,h3), :root:root:root #story .which-one > p span { color:#1b1610!important; }
:root:root:root #active-prompt time { font-size:14px!important; }
:root:root:root #active-prompt .prompt-label { color:#ffb2c0!important; }
:root:root:root #submit label em { font-size:14px!important; line-height:1.5!important; }
/* Retain readable ink above older per-document nth-of-type overrides. */
:root:root:root #story#story .which-one > p, :root:root:root #story#story .which-one > p span { color:#1b1610!important; }
