/* Cancer Biology Laboratory only. Existing shared styles are unchanged. */
html:has(body.cancer-lab-page) { scroll-behavior:auto; }
.cancer-lab-page .boxed_wrapper { overflow:clip!important; }
.cb-main { --cb-blue:#2e6199; --cb-deep:#234c77; --cb-ink:#27384b; --cb-muted:#52647a; --cb-border:#dce5ed; color:var(--cb-ink); }
.cb-main p,.cb-main li { font-size:16px; line-height:1.8; }
.cb-main h1,.cb-main h2,.cb-main h3 { color:var(--cb-blue); }
.cb-main a { color:var(--cb-blue); }
.cb-main a:hover { text-decoration:underline; }
.cb-main a:focus-visible,.cb-skip-link:focus-visible { outline:3px solid #235a91; outline-offset:4px; border-radius:3px; }
.cb-skip-link { position:fixed; top:10px; left:16px; padding:12px 18px; z-index:99999; background:#fff; color:#234c77; transform:translateY(-180%); border:2px solid #234c77; }
.cb-skip-link:focus { transform:translateY(0); }
.cb-hero { padding:36px 0 56px; background:linear-gradient(110deg,#f0f5fa,#fbfdfe); border-bottom:1px solid var(--cb-border); }
.cb-breadcrumb { display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:13px; line-height:1.65; margin-bottom:32px; color:var(--cb-muted); }
.cb-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:center; }
.cb-eyebrow { color:var(--cb-muted); font-weight:600; letter-spacing:1.4px; text-transform:uppercase; font-size:12px!important; margin:0 0 8px; }
.cb-main h1 { font-size:clamp(34px,4vw,50px); line-height:1.18; font-weight:500; margin-bottom:18px; }
.cb-subtitle { color:var(--cb-muted); font-size:19px!important; line-height:1.6!important; margin:0; max-width:690px; }
.cb-framework-note { border-left:3px solid var(--cb-blue); padding:4px 0 4px 20px; }
.cb-framework-note p { font-size:14px; line-height:1.7; margin:13px 0; }
.cb-framework-note a { font-size:14px; font-weight:600; }
.cb-badge { display:inline-block; padding:4px 10px; border-radius:4px; background:#e2edf7; color:#244f7c; font-size:12px; line-height:1.6; font-weight:600; }
.cb-badge-outsource { background:#e8f4f2; color:#205d57; margin-bottom:12px; }
.cb-content-layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:48px; align-items:start; padding-top:48px; padding-bottom:72px; }
.cb-sidebar { position:sticky; top:120px; }
.cb-sidebar nav { padding:20px 18px; border:1px solid var(--cb-border); border-radius:6px; background:#fbfcfe; }
.cb-sidebar h2 { font-size:19px; line-height:1.4; margin-bottom:14px; }
.cb-sidebar ol { list-style:none; margin:0; padding:0; }
.cb-sidebar li { margin:0; }
.cb-sidebar a { display:flex; gap:10px; padding:6px 0; font-size:13px; line-height:1.55; color:#354e68; }
.cb-sidebar a span { color:#788ba0; font-size:11px; padding-top:2px; }
.cb-sidebar-note { margin:16px 5px 0; font-size:12px!important; color:var(--cb-muted); }
.cb-section { scroll-margin-top:130px; padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid var(--cb-border); }
.cb-section:last-child { margin-bottom:0; border-bottom:0; padding-bottom:0; }
.cb-section-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:22px; }
.cb-section-index { flex-shrink:0; color:#6d859c; font-size:12px; line-height:1.5; border:1px solid var(--cb-border); border-radius:4px; padding:5px 7px; margin-top:5px; }
.cb-main h2 { font-size:30px; line-height:1.35; font-weight:500; }
.cb-main h3 { font-size:21px; line-height:1.4; font-weight:500; margin-bottom:13px; }
.cb-section-body>p { margin-bottom:18px; }
.cb-card { border:1px solid var(--cb-border); border-radius:6px; padding:25px; margin-bottom:20px; background:#fff; }
.cb-list { list-style:disc; padding-left:20px; margin:0; }
.cb-list li { list-style:disc; padding-left:4px; margin-bottom:7px; color:var(--cb-ink); }
.cb-list li:last-child { margin-bottom:0; }
.cb-focus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cb-focus-grid .cb-card { margin:0; padding:23px; }
.cb-focus-grid .cb-card h3 { font-size:20px; }
.cb-focus-grid li { font-size:15px; line-height:1.75; }
.cb-service-note { padding:20px 22px; border-left:4px solid #397b72; background:#f0f7f5; margin-bottom:22px; border-radius:0 5px 5px 0; }
.cb-service-note strong { color:#245b54; font-size:16px; }
.cb-service-note p { font-size:14px; margin:8px 0 0; }
.cb-outsourced-card { border-top:3px solid #397b72; }
.cb-governance { padding:20px 22px; background:#f1f5fa; border-left:3px solid var(--cb-blue); border-radius:0 5px 5px 0; }
.cb-clarification { color:var(--cb-muted); font-size:14px!important; }
.cb-hero-art { margin-top:32px; }
.cb-illustration { margin:0; min-width:0; }
.cb-illustration img { display:block; width:100%; height:auto; border-radius:6px; }
.cb-illustration figcaption { margin-top:9px; font-size:12px; line-height:1.6; color:var(--cb-muted); }
.cb-image-note { font-size:12px!important; line-height:1.65!important; margin:7px 0 0; color:var(--cb-muted); }
.cb-visual-pair { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px; align-items:start; }
.cb-visual-pair .cb-section-body { min-width:0; }
.cb-visual-pair>.cb-illustration { padding:14px; background:#f5f8fb; border:1px solid var(--cb-border); border-radius:6px; }
.cb-visual-pair>.cb-illustration img { border-radius:4px; }
@media (max-width:1199px) { .cb-visual-pair { grid-template-columns:minmax(0,1fr) 230px; gap:20px; } }
@media (max-width:991px) { .cb-visual-pair { grid-template-columns:minmax(0,1fr) 260px; } }
@media (max-width:600px) { .cb-visual-pair { grid-template-columns:1fr; } .cb-visual-pair>.cb-illustration { grid-row:1; } .cb-hero-art { margin-top:26px; } }
@media (prefers-reduced-motion:reduce) { .cancer-lab-page *, .cancer-lab-page *::before, .cancer-lab-page *::after { animation-duration:0.01ms!important; transition-duration:0.01ms!important; scroll-behavior:auto!important; } }
.cancer-lab-page .main-menu .navigation>li.dropdown:focus-within>ul { opacity:1; visibility:visible; top:100%; }
@media (max-width:1199px) { .cb-content-layout { grid-template-columns:205px minmax(0,1fr); gap:28px; } .cb-hero-grid { gap:28px; } .cb-focus-grid { grid-template-columns:1fr; } }
@media (max-width:991px) { .cb-hero-grid { grid-template-columns:1fr; gap:24px; } .cb-framework-note { max-width:660px; } .cb-content-layout { grid-template-columns:1fr; gap:30px; } .cb-sidebar { position:static; } .cb-sidebar ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px 16px; } .cb-sidebar-note { display:none; } .cb-focus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .cb-hero { padding:24px 0 34px; } .cb-breadcrumb { margin-bottom:24px; gap:7px; font-size:12px; } .cb-subtitle { font-size:17px!important; } .cb-content-layout { padding-top:28px; padding-bottom:40px; } .cb-sidebar ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .cb-sidebar nav { padding:18px 16px; } .cb-focus-grid { grid-template-columns:1fr; } .cb-main h2 { font-size:26px; } .cb-main h3 { font-size:21px; } .cb-card,.cb-focus-grid .cb-card { padding:20px; } .cb-section { scroll-margin-top:30px; padding-bottom:30px; margin-bottom:30px; } .cb-section-heading { gap:10px; } .cb-main p,.cb-main li { overflow-wrap:break-word; } }
@media print { .cb-sidebar,.cb-skip-link,.main-header,.footer-style-three { display:none!important; } .cb-content-layout { display:block; padding:0; } .cb-hero { background:none; padding:0 0 24px; } .cb-framework-note { border:1px solid #999; padding:12px; } .cb-main h1 { font-size:28px; } .cb-main h2 { font-size:22px; } .cb-card { break-inside:avoid; } .cb-section { scroll-margin-top:0; } }

/* Research Team directory only; no shared page rules changed. */
.cb-team-section .cb-team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.cb-team-section .cb-team-card { list-style:none; margin:0; padding:20px 22px; border:1px solid #dce5ed; border-radius:6px; background:#f8fafc; min-width:0; }
.cb-team-section .cb-team-name { margin:0 0 9px; font-size:20px; line-height:1.4; overflow-wrap:break-word; }
.cb-team-section .cb-team-role { margin:0 0 5px; color:#234c77; font-size:14px; font-weight:600; line-height:1.6; }
.cb-team-section .cb-team-qualification { margin:0; color:#52647a; font-size:14px; line-height:1.6; overflow-wrap:break-word; }
@media (max-width:600px) { .cb-team-section .cb-team-grid { grid-template-columns:1fr; gap:12px; } .cb-team-section .cb-team-card { padding:20px; } }
@media print { .cb-team-section .cb-team-card { break-inside:avoid; } }
