/* Shared production shell, derived from the approved offset-square prototype. */
:root {--modern-blue:#4ea1c3; --modern-red:#d76747; --modern-yellow:#f2b05a; --modern-green:#859451; --modern-action:#147b9e; --modern-section:#859451;}
body#bases {--modern-section:#d76747;}
body#general, body#child {--modern-section:#f2b05a;}
body#oncohematology, body#adult {--modern-section:#4ea1c3;}
body {background:#fff; -webkit-font-smoothing:antialiased;}
:where(:is(#main, #openwin), #openwin) a:link, :where(:is(#main, #openwin), #openwin) a:visited, :where(:is(#main, #openwin), #openwin) a:active {color:#147b9e;}
:is(#main, #openwin) {width:calc(100% - 72px); max-width:1408px;}
:is(#main, #openwin) .modern-sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.modern-skip {position:fixed; top:8px; left:16px; z-index:10000; padding:14px; background:white; transform:translateY(-180%);}
.modern-skip:focus {transform:translateY(0);}
:is(#main, #openwin) .modern-icon {display:inline-block; width:24px; height:24px; margin:0; float:none; flex-shrink:0; vertical-align:middle;}
:is(#main, #openwin) #header.modern-header {min-height:92px; height:auto; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:32px; padding:0;}
:is(#main, #openwin) #header.modern-header #logo {width:min(43%,590px); margin:0; float:none;}
:is(#main, #openwin) #header.modern-header #logo a, :is(#main, #openwin) #header.modern-header #logo img {display:block; width:100%;}
:is(#main, #openwin) .modern-header-actions {display:flex; gap:28px; align-items:center; min-width:0;}
:is(#main, #openwin) .modern-search-trigger {box-sizing:border-box; display:flex; align-items:center; gap:12px; width:300px; min-height:46px; padding:10px 14px; border:1px solid #9c9c9c; border-radius:4px; background:white; color:#555; text-decoration:none; font:19px Arial, Helvetica, sans-serif;}
:is(#main, #openwin) .modern-search-trigger:hover {border-color:#147b9e; background:#f4f8fa;}
:is(#main, #openwin) #header.modern-header #regBtn {width:auto; margin:0; float:none;}
:is(#main, #openwin) #header.modern-header .registration-button {width:auto; min-height:46px; height:auto; padding:10px 24px; gap:16px; background:var(--modern-action); color:white; font:700 20px Arial, Helvetica, sans-serif;}
:is(#main, #openwin) .registration-button .modern-icon {filter:brightness(0) invert(1);}
:is(#main, #openwin) #header.modern-header .registration-button:hover {background:#106681;}
:is(#main, #openwin) .modern-directions {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:10px 0 32px;}
:is(#main, #openwin) .modern-direction {box-sizing:border-box; position:relative; display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:76px; padding:14px 18px; background:var(--modern-blue); color:#102f40; font:700 17px/1.25 Arial, Helvetica, sans-serif; text-decoration:none;}
:is(#main, #openwin) .modern-direction.theory {background:var(--modern-red); color:#27170e;}
:is(#main, #openwin) .modern-direction.general {background:var(--modern-yellow); color:#30220e;}
:is(#main, #openwin) .modern-direction.info {background:var(--modern-green); color:#17210c;}
:is(#main, #openwin) .modern-direction:hover {text-decoration:underline; text-underline-offset:4px;}
:is(#main, #openwin) .modern-direction[aria-current] {outline:2px solid currentColor; outline-offset:4px;}
:is(#main, #openwin) #content {gap:40px; padding-bottom:20px;}
:is(#main, #openwin) #content > #cont-left {flex-basis:230px; border:0; border-top:3px solid var(--modern-section); padding:12px 8px 16px; background:#faf9f8; font-size:14px; line-height:1.5;}
:is(#main, #openwin) #cont-left h2 {font:700 19px/1.3 Arial, Helvetica, sans-serif; margin:14px 12px;}
/* Old menu fragments set pale heading colors inline. Keep their section border. */
:is(#main, #openwin) #cont-left h2 {color:#333 !important;}
:is(#main, #openwin) #cont-left a.menu-3 {color:#147b9e;}
:is(#main, #openwin) #cont-left ul.menu-2 {margin:0 12px;}
:is(#main, #openwin) #cont-left .menu-2 li {background:none; padding:0;}
:is(#main, #openwin) #cont-left a.menu-2 {display:block; padding:9px 0; text-decoration:none; color:#444;}
:is(#main, #openwin) #cont-left a.menu-2:hover {text-decoration:underline; color:#147b9e;}
:is(#main, #openwin) #cont-left ul.submenu {width:auto; float:none; margin:0 0 8px; padding:0 0 4px 8px;}
:is(#main, #openwin) #cont-left .submenu li {font-size:13px; line-height:1.5; padding-bottom:10px;}
:is(#main, #openwin) #content > #cont-cent {min-width:0; padding:0 0 28px; font-size:16px; line-height:1.6;}
:is(#main, #openwin) h1 {font-family:Arial, Helvetica, sans-serif; font-size:40px; line-height:1.15; letter-spacing:-.025em; margin:0 0 28px; text-align:left;}
:is(#main, #openwin) #cont-cent > h1, :is(#main, #openwin) #content.responsive-article > h1 {border-top:5px solid var(--modern-section); padding-top:24px;}
:is(#main, #openwin) h2 {font-family:Arial, Helvetica, sans-serif; line-height:1.3;}
:is(#main, #openwin) #cont-cent p[align='justify'], :is(#main, #openwin) .modern-article-body p[align='justify'] {text-align:left;}
:is(#main, #openwin) #cont-cent > p.pdf, :is(#main, #openwin) #cont-cent > p.iexp {padding:22px 0 22px 28px; margin:0; background-position:0 26px; border-bottom:1px solid #ddd; line-height:1.5;}
:is(#main, #openwin) #cont-cent > p.pdf > a:first-child, :is(#main, #openwin) #cont-cent > p.iexp > a:first-child {font:600 20px/1.4 Arial, Helvetica, sans-serif; color:#1d566c;}
:is(#main, #openwin) #cont-cent > p.pdf > i, :is(#main, #openwin) #cont-cent > p.iexp > i {font-size:14px; color:#666;}
:is(#main, #openwin) .modern-topic-hero {position:relative; flex:0 0 calc(100% - 8px); box-sizing:border-box; padding:30px 38px; margin:0 0 2px 8px; background:var(--modern-section); isolation:isolate; overflow:visible;}
:is(#main, #openwin) .modern-topic-hero::before {content:''; position:absolute; inset:-10px 16px 16px -12px; border:2px solid var(--modern-section); z-index:-1;}
:is(#main, #openwin) .modern-topic-hero h1 {margin:0 0 12px; max-width:75%; font-size:48px;}
:is(#main, #openwin) .modern-topic-hero .modern-eyebrow {position:relative; z-index:1; margin:0 0 14px;}
:is(#main, #openwin) .modern-topic-description {font:18px/1.5 Arial, Helvetica, sans-serif; margin:0 0 18px; max-width:75%;}
:is(#main, #openwin) .modern-topic-meta {font:14px/1.5 Arial, Helvetica, sans-serif; margin:0;}
:is(#main, #openwin) .modern-topic-hero img {position:absolute; width:260px; height:100%; right:0; bottom:0; object-fit:cover; object-position:right 58%; z-index:-1; margin:0;}
:is(#main, #openwin) .modern-catalog-tools {display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center; margin-bottom:16px;}
:is(#main, #openwin) .modern-catalog-filters {display:flex; flex-wrap:wrap; gap:8px;}
:is(#main, #openwin) .modern-catalog-tools button, :is(#main, #openwin) .modern-load-more, :is(#main, #openwin) .modern-catalog-reset {font:15px Arial, sans-serif; min-height:44px; padding:10px 16px; border:1px solid #a6b4ba; border-radius:3px; background:#fff; color:#1d566c; cursor:pointer;}
:is(#main, #openwin) .modern-catalog-tools button[aria-pressed='true'] {background:#fff2d5; border-color:#aa791e; color:#392b13; font-weight:700;}
:is(#main, #openwin) .modern-catalog-query {box-sizing:border-box; display:block; width:290px; max-width:100%; min-height:46px; padding:10px 12px; border:1px solid #aaa; border-radius:3px; font:16px Arial, sans-serif;}
:is(#main, #openwin) .modern-catalog-status {font-size:14px; color:#666;}
:is(#main, #openwin) .modern-topic-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:28px;}
:is(#main, #openwin) .modern-topic-grid a {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px; min-height:96px; border:1px solid #d9c19a; border-left:5px solid var(--modern-yellow); color:#392b13; background:#fffbf3; text-decoration:none; font:600 20px/1.4 Arial, sans-serif;}
:is(#main, #openwin) .modern-topic-grid a:hover {background:#fff2d5; text-decoration:underline;}
:is(#main, #openwin) .modern-load-more {width:100%; margin-top:28px; font-weight:700;}
:is(#main, #openwin) .modern-article-tools {display:flex; gap:12px; align-items:center; font:14px Arial, sans-serif; margin-bottom:26px; color:#666;}
:is(#main, #openwin) .modern-article-tools button {margin-left:auto; min-height:44px; padding:8px 18px; border:1px solid #b7c6cc; border-radius:3px; background:white; color:#1d566c; font:inherit; cursor:pointer;}
:is(#main, #openwin) #content.modern-reading {display:grid; grid-template-columns:minmax(0,880px) minmax(210px,280px); align-items:start; justify-content:center; gap:64px;}
:is(#main, #openwin) .modern-article-body {min-width:0; font:16px/1.75 Verdana, Arial, Helvetica, sans-serif; overflow-wrap:anywhere;}
:is(#main, #openwin) .modern-article-body > h1 {border-top:5px solid var(--modern-section); padding-top:24px;}
:is(#main, #openwin) .modern-article-body > h2:first-child {font-size:32px; border-top:5px solid var(--modern-section); padding-top:24px; margin-top:0; text-align:left;}
:is(#main, #openwin) .modern-article-body:only-child {max-width:980px; margin:auto;}
:is(#main, #openwin) .events-calendar > h1 {border-top:5px solid var(--modern-section); padding-top:24px;}
:is(#main, #openwin) .modern-article-body p {margin:0 0 24px;}
:is(#main, #openwin) .modern-article-body h2, :is(#main, #openwin) .modern-article-heading {font:700 25px/1.3 Arial, Helvetica, sans-serif; margin:40px 0 20px; color:#23596c; scroll-margin-top:24px;}
/* Legacy subsection paragraphs carry inline uppercase and centered alignment. */
:is(#main, #openwin) .modern-article-body .modern-article-heading {text-align:left !important; text-transform:none !important;}
:is(#main, #openwin) .modern-article-body table {font-size:14px; line-height:1.5;}
:is(#main, #openwin) .modern-article-body td, :is(#main, #openwin) .modern-article-body th {padding:12px;}
:is(#main, #openwin) .modern-article-body th {background:#e6f1f5; color:#1d495b;}
:is(#main, #openwin) .modern-article-body tr:nth-child(even) {background:#fafcfd;}
:is(#main, #openwin) .modern-article-body ol {font-size:14px; line-height:1.7;}
:is(#main, #openwin) .modern-toc {box-sizing:border-box; position:sticky; top:24px; background:#f5f8f9; border:1px solid #d8e3e8; padding:24px; margin-top:5px; max-height:calc(100vh - 48px); overflow:auto;}
:is(#main, #openwin) .modern-toc summary {font:700 16px Arial, sans-serif; cursor:pointer;}
:is(#main, #openwin) .modern-toc nav {display:flex; flex-direction:column; margin-top:12px;}
:is(#main, #openwin) .modern-toc nav a {font-size:14px; line-height:1.45; padding:12px 0; border-bottom:1px solid #dce4e8; color:#23596c; text-decoration:none;}
:is(#main, #openwin) .modern-toc nav a:hover {text-decoration:underline;}
:is(#main, #openwin) .modern-search-page {display:block; min-height:360px; font-size:16px;}
:is(#main, #openwin) .modern-search-results {float:none; width:100%; text-align:left; margin:24px 0;}
:is(#main, #openwin) #search.modern-search-results [hidden] {display:none;}
:is(#main, #openwin) .modern-search-results .cookie-search-notice {padding:24px; background:#f4f8fa; border-left:4px solid var(--modern-blue); line-height:1.6;}
:is(#main, #openwin) .modern-search-results button[data-cookie-settings] {min-height:44px; padding:10px 16px; background:#147b9e; border:0; color:#fff; border-radius:3px; font:inherit; cursor:pointer;}
/* Homepage proportions deliberately follow the approved prototype. */
:is(#main, #openwin).modern-home #content {display:block; padding:0;}
.modern-home .modern-blood-banner {height:142px; margin:0 -14px; overflow:hidden;}
:is(#main, #openwin) .modern-blood-banner img {display:block; width:100%; height:100%; object-fit:cover; object-position:center 51%;}
.modern-home-directions {display:flex; align-items:flex-start; padding:44px 0 0 14px; margin-bottom:50px; isolation:isolate;}
.modern-tile {width:calc((100% + 48px) / 3); flex-shrink:0; position:relative; --modern-tile:var(--modern-blue); color:white;}
.modern-tile + .modern-tile {margin-left:-24px;}
.modern-tile.theory {--modern-tile:var(--modern-red); margin-top:50px;}
.modern-tile.general {--modern-tile:var(--modern-yellow); margin-top:110px; color:#191919;}
.modern-tile::before {content:''; position:absolute; inset:-18px 18px 20px -16px; border:2px solid var(--modern-tile); z-index:-1; pointer-events:none;}
.modern-tile-content {box-sizing:border-box; position:relative; aspect-ratio:1.07; background:var(--modern-tile); overflow:hidden; padding:48px 28px 28px;}
:is(#main, #openwin) .modern-tile-image {width:100%; height:100%; object-fit:cover; position:absolute; inset:0; filter:brightness(.93); margin:0;}
:is(#main, #openwin) .modern-tile.general .modern-tile-image {filter:none;}
.modern-tile.theory .modern-tile-content {background:#cc6946;}
:is(#main, #openwin) .modern-tile.theory .modern-tile-image {transform:translateY(100px); filter:brightness(1.05);}
:is(#main, #openwin) .modern-tile h2 {font:700 clamp(26px,3.05vw,44px)/1.07 Arial, Helvetica, sans-serif; letter-spacing:-.025em; position:relative; margin:0 0 28px;}
:is(#main, #openwin) .modern-tile h2 a {color:inherit; text-decoration:none;}
:is(#main, #openwin) .modern-tile h2 a:hover {text-decoration:underline; text-underline-offset:6px;}
.modern-tile ul {position:relative; padding:0; margin:0; list-style:none; max-width:94%;}
.modern-tile li + li {margin-top:10px;}
:is(#main, #openwin) .modern-tile li a {display:flex; align-items:baseline; gap:12px; font:clamp(18px,1.8vw,26px)/1.28 Arial, Helvetica, sans-serif; width:fit-content; min-height:44px; color:inherit; text-decoration:none;}
:is(#main, #openwin) .modern-tile li a:hover span {text-decoration:underline; text-underline-offset:5px;}
:is(#main, #openwin) .modern-tile .modern-icon {align-self:flex-start; margin-top:4px;}
:is(#main, #openwin) .modern-tile:not(.general) .modern-icon {filter:brightness(0) invert(1);}
.modern-information {position:relative; margin:0 0 30px 8px; color:white; isolation:isolate;}
.modern-information::before {content:''; position:absolute; inset:-8px 8px 10px -12px; border:2px solid var(--modern-green); z-index:-1;}
.modern-info-content {box-sizing:border-box; position:relative; min-height:145px; display:flex; align-items:center; gap:35px; padding:22px 240px 22px 34px; background:var(--modern-green); overflow:hidden;}
:is(#main, #openwin) .modern-info-image {position:absolute; width:300px; height:200px; object-fit:cover; object-position:right center; top:-35px; right:0; margin:0;}
:is(#main, #openwin) .modern-information h2 {position:relative; flex:0 0 36%; margin:0; font:700 clamp(28px,3vw,43px)/1.04 Arial, Helvetica, sans-serif; letter-spacing:-.025em;}
:is(#main, #openwin) .modern-information a {color:inherit; text-decoration:none;}
:is(#main, #openwin) .modern-information a:hover {text-decoration:underline; text-underline-offset:5px;}
.modern-information nav {position:relative; display:flex; align-items:center; gap:24px; flex:1; padding-left:30px; border-left:1px solid #ffffffab;}
.modern-information nav a {display:flex; align-items:center; gap:8px; font:600 23px Arial, Helvetica, sans-serif; min-height:44px; white-space:nowrap;}
:is(#main, #openwin) .modern-information .modern-icon {filter:brightness(0) invert(1);}
.modern-topic-dialog {box-sizing:border-box; width:min(620px,calc(100% - 32px)); max-height:85dvh; padding:28px; border:0; border-top:5px solid var(--modern-action); border-radius:4px; color:#272727; box-shadow:0 12px 80px #16354935; font:16px/1.5 Verdana, Arial, sans-serif; text-align:left;}
.modern-topic-dialog:not([open]) {display:none;}
.modern-topic-dialog::backdrop {background:#102b3f7a;}
.modern-topic-dialog h2 {margin:0 54px 24px 0; font:700 28px/1.2 Arial, Helvetica, sans-serif;}
:is(#main, #openwin) .modern-dialog-close {position:absolute; right:24px; top:24px; width:44px; height:44px; display:grid; place-items:center; border:1px solid #ddd; background:#fff; border-radius:3px; cursor:pointer;}
.modern-topic-dialog .menu-2 {list-style:none; margin:0; padding:0;}
.modern-topic-dialog .menu-2 li {background:none; padding:0; border-bottom:1px solid #ddd;}
.modern-topic-dialog a.menu-2 {display:block; padding:14px 0; font-size:18px; text-decoration:none; color:#12627f;}
.modern-topic-dialog a.menu-2:hover {text-decoration:underline;}
.modern-topic-dialog .modern-all-topics {display:flex; gap:12px; align-items:center; margin-top:24px; min-height:44px; font-weight:700;}
/* Existing legal text remains available; its styling follows the new shell. */
:is(#main, #openwin) #footer.site-footer {max-width:none; margin:30px 0 0; padding:22px 0 20px; border:0; border-top:2px solid var(--modern-blue); background:white;}
:is(#main, #openwin) #footer.site-footer::before {display:none;}
:is(#main, #openwin) #footer .site-footer-brand {font-size:24px;}
:is(#main, #openwin) #footer .site-footer-information {gap:40px; margin:18px 0;}
:is(#main, #openwin) #footer .site-footer-details {font-size:12px;}
:is(#main, #openwin) #footer .site-footer-links {font-size:12px;}
:is(#main, #openwin) :focus-visible {outline:3px solid #102f40; outline-offset:4px;}
@media screen and (max-width:1200px) {
  :is(#main, #openwin) {width:calc(100% - 52px);}
  :is(#main, #openwin) #header.modern-header {gap:20px; min-height:84px;} :is(#main, #openwin) .modern-header-actions {gap:14px;}
  :is(#main, #openwin) .modern-search-trigger {width:200px;} :is(#main, #openwin) #header.modern-header .registration-button {font-size:17px; padding:10px 18px;}
  :is(#main, #openwin) .modern-direction {font-size:15px; padding:12px;} :is(#main, #openwin) .modern-direction .modern-icon {display:none;}
  :is(#main, #openwin) #content {gap:28px;} :is(#main, #openwin) #content > #cont-left {flex-basis:210px;}
  :is(#main, #openwin) #content.modern-reading {grid-template-columns:minmax(0,1fr) 230px; gap:32px;}
  .modern-tile-content {padding:34px 24px 20px; aspect-ratio:.92;} :is(#main, #openwin) .modern-tile h2 {margin-bottom:22px;}
  .modern-info-content {padding-right:175px; gap:20px;} :is(#main, #openwin) .modern-information h2 {flex-basis:40%;}
  .modern-information nav {gap:12px; padding-left:16px; flex-wrap:wrap;} .modern-information nav a {font-size:19px;}
}
@media screen and (max-width:850px) {
  :is(#main, #openwin) #header.modern-header {flex-wrap:wrap; padding:20px 0; gap:18px;} :is(#main, #openwin) #header.modern-header #logo {width:100%; max-width:500px;}
  :is(#main, #openwin) .modern-header-actions {width:100%; justify-content:space-between;} :is(#main, #openwin) .modern-search-trigger {width:50%;}
  :is(#main, #openwin) .modern-directions {gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:6px 0 28px;}
  :is(#main, #openwin) .modern-direction {font-size:16px; min-height:64px; padding:14px 16px;} :is(#main, #openwin) .modern-direction .modern-icon {display:block;}
  :is(#main, #openwin) #content > #cont-left {flex-basis:100%; padding:0;}
  :is(#main, #openwin) #content > #cont-cent, :is(#main, #openwin) #content.responsive-three-columns > #cont-cent {flex-basis:100%;}
  :is(#main, #openwin) .modern-topic-hero {padding:26px 28px;} :is(#main, #openwin) .modern-topic-hero img {width:220px;}
  :is(#main, #openwin) #content.modern-reading {display:flex; flex-direction:column; gap:24px;}
  :is(#main, #openwin) .modern-article-body {order:2; width:100%;} :is(#main, #openwin) .modern-toc {order:1; position:static; width:100%; max-height:none; padding:16px 20px;}
  :is(#main, #openwin).modern-home #content {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; padding-bottom:30px;}
  :is(#main, #openwin).modern-home #content > .modern-blood-banner {grid-column:1 / -1; height:120px; margin:0;}
  .modern-home-directions {display:contents;}
  .modern-tile {width:100%; margin-left:10px;} .modern-tile + .modern-tile {margin-left:0;} .modern-tile.theory {margin-top:28px;} .modern-tile.general {margin-top:0;}
  .modern-tile-content {aspect-ratio:.95;} :is(#main, #openwin) .modern-tile h2 {font-size:30px;} :is(#main, #openwin) .modern-tile li a {font-size:20px; font-weight:600;}
  .modern-information {margin:0; align-self:stretch;} .modern-info-content {height:100%; min-height:300px; padding:30px 22px; display:block;} :is(#main, #openwin) .modern-information h2 {font-size:30px;}
  .modern-information nav {border:0; padding:14px 0 0; gap:4px; flex-direction:column; align-items:flex-start;} :is(#main, #openwin) .modern-info-image {width:100%; height:100%; top:0; left:0; right:auto; object-position:78% center; opacity:.35;}
}
@media screen and (max-width:560px) {
  :is(#main, #openwin) {width:calc(100% - 40px);}
  :is(#main, #openwin) #header.modern-header {padding:20px 0 18px;} :is(#main, #openwin) .modern-header-actions {gap:12px;}
  :is(#main, #openwin) .modern-search-trigger {flex:1; width:auto; font-size:16px; min-width:0;} :is(#main, #openwin) #header.modern-header .registration-button {font-size:16px; padding:10px 14px; gap:10px;}
  :is(#main, #openwin) .modern-directions {gap:8px; margin-bottom:24px;} :is(#main, #openwin) .modern-direction {min-height:68px; font-size:14px; padding:10px 12px;} :is(#main, #openwin) .modern-direction .modern-icon {display:none;}
  :is(#main, #openwin) h1 {font-size:30px; margin-bottom:24px;} :is(#main, #openwin) #cont-cent > h1 {padding-top:20px;}
  :is(#main, #openwin) .modern-topic-hero {flex-basis:calc(100% - 6px); margin-left:6px; padding:24px 22px; margin-bottom:0;} :is(#main, #openwin) .modern-topic-hero h1 {font-size:40px; max-width:100%;} :is(#main, #openwin) .modern-topic-hero img {display:none;} :is(#main, #openwin) .modern-topic-description {max-width:100%; font-size:16px;}
  :is(#main, #openwin) .modern-catalog-tools {display:block;} :is(#main, #openwin) .modern-catalog-query {width:100%; margin-top:16px;}
  :is(#main, #openwin) .modern-topic-grid {grid-template-columns:1fr; gap:16px;} :is(#main, #openwin) .modern-topic-grid a {font-size:18px; padding:20px;}
  :is(#main, #openwin) #cont-cent > p.pdf > a:first-child, :is(#main, #openwin) #cont-cent > p.iexp > a:first-child {font-size:19px;}
  :is(#main, #openwin) .modern-article-body h1 {font-size:30px;} :is(#main, #openwin) .modern-article-body {font-size:16px; line-height:1.7;} :is(#main, #openwin) .modern-article-heading {font-size:23px;}
  :is(#main, #openwin).modern-home #content {display:block; padding:0;}
  :is(#main, #openwin).modern-home #content > .modern-blood-banner {height:100px;} :is(#main, #openwin) .modern-blood-banner img {object-position:48% center;}
  .modern-home-directions {display:flex; flex-direction:column; gap:28px; padding:30px 0 0 7px; margin-bottom:30px;}
  .modern-tile {width:100%; margin-left:0;} .modern-tile.theory, .modern-tile.general {margin-top:0;} .modern-tile::before {inset:-10px 10px 12px -10px;}
  .modern-tile-content {aspect-ratio:1.06; padding:26px 22px;}
  :is(#main, #openwin) .modern-tile h2 {font-size:clamp(24px,7.5vw,30px); margin-bottom:20px;} :is(#main, #openwin) .modern-tile li a {font-size:20px; gap:10px;} .modern-tile li + li {margin-top:4px;}
  .modern-information {margin-left:7px;} .modern-info-content {min-height:250px; padding:24px 20px;} :is(#main, #openwin) .modern-info-image {object-position:75% center; opacity:.42;}
  :is(#main, #openwin) .modern-information h2 {font-size:30px;} .modern-information nav {gap:0; padding-top:16px;} .modern-information nav a {font-size:20px;}
  :is(#main, #openwin) #footer .site-footer-information {grid-template-columns:1fr; gap:20px;}
  .modern-topic-dialog {padding:24px;} .modern-topic-dialog h2 {font-size:25px;} :is(#main, #openwin) .modern-dialog-close {top:20px; right:20px;}
}
@media screen and (max-width:360px) {
  :is(#main, #openwin) {width:calc(100% - 32px);}
  :is(#main, #openwin) .modern-header-actions {gap:8px;} :is(#main, #openwin) #header.modern-header .registration-button {font-size:14px; gap:8px; padding:10px;}
  :is(#main, #openwin) .modern-search-trigger {font-size:15px; padding:10px; gap:8px;} :is(#main, #openwin) .modern-header-actions .modern-icon {width:20px; height:20px;}
  :is(#main, #openwin) .modern-direction {font-size:13px; padding:10px;}
}
@media print {
  :is(#main, #openwin) {width:100%; max-width:none;} :is(#main, #openwin) #content {width:100%; display:block;} :is(#main, #openwin) #cont-cent {width:100%;}
  .modern-header, .modern-directions, .modern-article-tools, .modern-toc, .modern-topic-dialog, .modern-skip, .modern-catalog-tools, .modern-load-more, .modern-catalog-status, .modern-catalog-empty, .modern-registration-aside {display:none !important;}
  :is(#main, #openwin) #content.modern-reading {display:block;} :is(#main, #openwin) .modern-article-body {font-size:10pt;} :is(#main, #openwin) h1, :is(#main, #openwin) .modern-article-body h1 {font-size:22pt; border:0;}
  :is(#main, #openwin) .modern-article-body h2 {break-after:avoid;} :is(#main, #openwin) .responsive-table {overflow:visible;} :is(#main, #openwin) .modern-article-body table {min-width:0; width:100%; font-size:8pt;} :is(#main, #openwin) .modern-article-body td, :is(#main, #openwin) .modern-article-body th {padding:5px;}
  :is(#main, #openwin) #cont-cent > p.pdf, :is(#main, #openwin) #cont-cent > p.iexp {display:block !important;}
}
/* Registration: existing server contract, new accessible field layout. */
:is(#main, #openwin) #content.modern-registration-page {display:block;}
.modern-registration-hero {border-left:12px solid var(--modern-green); background:#f4f6ef; padding:28px 32px; margin-bottom:36px;}
:is(#main, #openwin) .modern-registration-hero h1 {margin:0 0 16px;}
.modern-registration-hero p {font-size:18px; line-height:1.5; margin:0;}
.modern-eyebrow {font:700 12px/1.5 Arial, sans-serif; text-transform:uppercase; letter-spacing:.05em; margin:0 0 12px;}
.modern-registration-layout {display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:start;}
:is(#main, #openwin) #mailform.modern-registration-form {margin:0; padding:0; min-width:0; font:16px/1.5 Verdana, Arial, sans-serif;}
.modern-registration-form fieldset {border:0; border-bottom:1px solid #ddd; margin:0 0 28px; padding:0 0 28px; min-width:0;}
.modern-registration-form legend {font:700 24px/1.3 Arial, Helvetica, sans-serif; margin-bottom:24px; padding:0;}
.modern-fields-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.modern-form-field {min-width:0; margin-bottom:12px;}
.modern-form-field > label {display:block; font-size:14px; font-weight:700; margin-bottom:8px;}
:is(#main, #openwin) #mailform.modern-registration-form .modern-form-field input, :is(#main, #openwin) #mailform.modern-registration-form select {box-sizing:border-box; width:100% !important; min-width:0; min-height:48px; padding:10px 12px; border:1px solid #aaa; border-radius:3px; background:white; color:#222; font:16px Verdana, sans-serif;}
.modern-phone {display:flex; align-items:center;}
.modern-phone > span {display:grid; flex:0 0 auto; white-space:nowrap; align-items:center; height:48px; padding:0 12px; border:1px solid #aaa; border-right:0; border-radius:3px 0 0 3px; background:#f7f7f4;}
.modern-phone > span[hidden] {display:none;}
.modern-interest-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px;}
.modern-check {display:flex; flex-wrap:wrap; align-items:baseline; column-gap:8px; padding:10px 0; min-height:44px; font-size:14px; line-height:1.5; cursor:pointer;}
.modern-check input {width:18px; height:18px; flex-shrink:0; margin:0; accent-color:#5c6e2e;}
.modern-check-all {font-weight:700; border-bottom:1px solid #ddd; margin-bottom:10px;}
:is(#main, #openwin) #mailform p.modern-form-note {font-size:13px; line-height:1.6; color:#666; margin-bottom:24px;}
.modern-captcha {display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:24px 0; font-size:14px;}
.modern-captcha button, .modern-form-actions button {font:600 16px Arial, sans-serif; min-height:48px; padding:12px 18px; border:1px solid #a6b4ba; background:#fff; color:#1d566c; border-radius:3px; cursor:pointer;}
.modern-form-actions {display:flex; flex-wrap:wrap; gap:16px;}
.modern-form-actions .modern-primary {display:inline-flex; align-items:center; gap:14px; border-color:#147b9e; background:#147b9e; color:white;}
.modern-form-actions .modern-primary .modern-icon {filter:brightness(0) invert(1);}
.modern-form-actions button:disabled {opacity:.6; cursor:wait;}
:is(#main, #openwin) .modern-registration-form .modern-form-status {padding:16px; background:#f4f8fa; border-left:3px solid #147b9e; margin-bottom:24px; overflow-wrap:anywhere;}
:is(#main, #openwin) .modern-registration-form .modern-form-status.is-error {border-color:#a32d2d; color:#8a2929; background:#fff6f3;}
.modern-registration-aside {position:sticky; top:24px; font:14px/1.6 Verdana, sans-serif; color:#666;}
.modern-newsletter {position:relative; padding:28px 24px; background:var(--modern-green); color:#18210d; isolation:isolate; margin:0 0 24px 8px; min-height:330px;}
.modern-newsletter::before {content:''; position:absolute; inset:-10px 12px 14px -12px; border:2px solid var(--modern-green); z-index:-1;}
.modern-newsletter h2 {font:700 32px/1.15 Arial, Helvetica, sans-serif; margin:30px 0 28px; letter-spacing:-.02em;}
.modern-newsletter ul {padding-left:18px;} .modern-newsletter li {margin:12px 0;}
@media screen and (max-width:1100px) {.modern-registration-layout {gap:32px; grid-template-columns:minmax(0,1fr) 250px;} .modern-fields-grid {grid-template-columns:1fr;}}
@media screen and (max-width:850px) {.modern-registration-layout {display:block;} .modern-registration-aside {position:static; margin-top:40px;} .modern-fields-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .modern-newsletter {min-height:0;} .modern-newsletter h2 {margin:20px 0;}}
@media screen and (max-width:560px) {.modern-registration-hero {padding:22px 18px; border-left-width:8px;} .modern-registration-hero p {font-size:16px;} .modern-fields-grid, .modern-interest-grid {grid-template-columns:1fr;} .modern-form-actions {flex-direction:column;} .modern-form-actions button {width:100%;} .modern-registration-form legend {font-size:22px;}}
