
@media only print {.site-header, .site-footer, .hero, .sidebar, .skip-link, .ecg { display: none !important; }body { font-size: 11pt; color: #000; }.page__inner { padding: 0 !important; max-width: none !important; }a { color: #000; }/* RapidWeaver replaces each %colour_...% tag with the colour chosen in   Theme Styles > Colours. Everything else in the theme reads these variables. */:root {--bx-primary: #C3002B;--bx-primary-dark: #8C001F;--bx-ink: #16191D;--bx-surface: #F4F2F1;}/* Page header: None. Your content starts right under the menu. */.hero { display: none; }/* Content width: Full width (best for Stacks pages and bx- sections). */.page__inner { max-width: none; padding: 0; }.page.has-sidebar .page__inner { padding: 0 var(--bx-gutter); }/* Sidebar: Hidden. */.sidebar { display: none; }/* Header style: Dark (default). Styles live in styles.css. */
}

/* ==========================================================================   BEaTS Heart — RapidWeaver Classic theme   Layout inspired by research-institute sites (dark header, full-bleed hero,   image cards, logo walls, multi-column footer). Palette in the spirit of the   University of Ottawa Heart Institute: heart red, deep charcoal, warm greys.   Colours are editable in RapidWeaver (Theme Styles > Colours). The values   below are the defaults; colourtag.css overrides them with your choices.   ========================================================================== *//* Registered so an invalid override is ignored instead of breaking colours */@property --bx-primary      { syntax: '<color>'; inherits: true; initial-value: #c3002b; }@property --bx-primary-dark { syntax: '<color>'; inherits: true; initial-value: #8c001f; }@property --bx-ink          { syntax: '<color>'; inherits: true; initial-value: #16191d; }@property --bx-surface      { syntax: '<color>'; inherits: true; initial-value: #f4f2f1; }:root {--bx-primary: #c3002b;--bx-primary-dark: #8c001f;--bx-ink: #16191d;--bx-surface: #f4f2f1;--bx-text: #2a2e33;--bx-muted: #5c636b;--bx-line: #e2dedc;--bx-white: #ffffff;--bx-on-dark: rgba(255, 255, 255, .78);--bx-font-head: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;--bx-font-body: "Open Sans", "Inter", "Helvetica Neue", Arial, sans-serif;--bx-max: 1240px;--bx-gutter: clamp(16px, 4vw, 40px);--bx-radius: 6px;--bx-header-h: 76px;--bx-shadow: 0 10px 30px rgba(22, 25, 29, .10);--bx-shadow-lg: 0 18px 44px rgba(22, 25, 29, .18);}/* ---------- Base ---------- */*, *::before, *::after { box-sizing: border-box; }html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }body {margin: 0;background: var(--bx-white);color: var(--bx-text);font-family: var(--bx-font-body);font-size: 17px;line-height: 1.65;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;}img, video, iframe { max-width: 100%; }img { height: auto; }a { color: var(--bx-primary); text-underline-offset: .18em; text-decoration-thickness: 1px; }a:hover { color: var(--bx-primary-dark); }:focus-visible { outline: 3px solid var(--bx-primary); outline-offset: 3px; }h1, h2, h3, h4, h5, h6 {font-family: var(--bx-font-head);color: var(--bx-ink);line-height: 1.2;margin: 1.6em 0 .6em;letter-spacing: -.01em;}h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; }h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 700; }h3 { font-size: 1.35rem; font-weight: 700; }h4 { font-size: 1.1rem; font-weight: 700; }h5, h6 { font-size: .9rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }p, ul, ol, dl, table, blockquote { margin: 0 0 1.1em; }hr { border: 0; border-top: 1px solid var(--bx-line); margin: 2.5em 0; }blockquote {margin-left: 0;padding: .4em 0 .4em 1.4em;border-left: 4px solid var(--bx-primary);font-size: 1.15em;color: var(--bx-ink);}table { width: 100%; border-collapse: collapse; font-size: .95em; }th, td { text-align: left; padding: .7em .8em; border-bottom: 1px solid var(--bx-line); vertical-align: top; }th { font-family: var(--bx-font-head); font-size: .8em; text-transform: uppercase; letter-spacing: .08em; color: var(--bx-ink); }.skip-link {position: absolute; left: 12px; top: -60px; z-index: 1000;background: var(--bx-primary); color: #fff; padding: 10px 16px; border-radius: var(--bx-radius);font-weight: 700; text-decoration: none; transition: top .2s;}.skip-link:focus { top: 12px; color: #fff; }/* ---------- Header ---------- */.site-header {position: sticky; top: 0; z-index: 900;background: var(--bx-ink);border-top: 4px solid var(--bx-primary);color: #fff;transition: background-color .3s, box-shadow .3s;}.site-header.is-scrolled { box-shadow: 0 6px 24px rgba(0, 0, 0, .25); }.site-header__inner {max-width: 1440px;margin: 0 auto;padding: 0 var(--bx-gutter);min-height: var(--bx-header-h);display: flex; align-items: center; justify-content: space-between; gap: 24px;}.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; min-width: 0; }.brand:hover { color: #fff; }.brand__logo:empty { display: none; }.brand__logo img { display: block; max-height: 48px; width: auto; }.brand__title {display: block;font-family: var(--bx-font-head);font-weight: 700; font-size: 1.02rem; line-height: 1.25;letter-spacing: .01em;max-width: 22ch;}/* Main navigation (desktop) */.main-nav ul { list-style: none; margin: 0; padding: 0; }.main-nav > ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 2px; }.main-nav > ul > li { position: relative; }.main-nav a {display: block;padding: 10px 9px;font-family: var(--bx-font-head);font-size: .72rem; font-weight: 600;letter-spacing: .08em; text-transform: uppercase;color: var(--bx-on-dark);text-decoration: none;white-space: nowrap;transition: color .2s;}.main-nav > ul > li > a { position: relative; }.main-nav > ul > li > a::after {content: ""; position: absolute; left: 9px; right: 9px; bottom: 4px; height: 2px;background: var(--bx-primary); transform: scaleX(0); transform-origin: left; transition: transform .25s;}.main-nav > ul > li > a:hover,.main-nav > ul > li > a.current,.main-nav > ul > li > a.currentAncestor { color: #fff; }.main-nav > ul > li > a:hover::after,.main-nav > ul > li > a.current::after,.main-nav > ul > li > a.currentAncestor::after { transform: scaleX(1); }/* Dropdowns */.main-nav li.has-children > a { padding-right: 24px; }.main-nav li.has-children > a::before {content: ""; position: absolute; right: 10px; top: 50%; width: 6px; height: 6px; margin-top: -5px;border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); opacity: .7;}.main-nav li ul {position: absolute; left: 0; top: 100%; min-width: 240px;background: #fff; border-top: 3px solid var(--bx-primary); border-radius: 0 0 var(--bx-radius) var(--bx-radius);box-shadow: var(--bx-shadow-lg); padding: 8px 0;opacity: 0; visibility: hidden; transform: translateY(8px);transition: opacity .2s, transform .2s, visibility .2s;}.main-nav li:hover > ul,.main-nav li:focus-within > ul { opacity: 1; visibility: visible; transform: none; }.main-nav li ul a {color: var(--bx-text); text-transform: none; letter-spacing: 0; font-size: .9rem; font-weight: 500; padding: 9px 18px;}.main-nav li ul a:hover, .main-nav li ul a.current { color: var(--bx-primary); background: var(--bx-surface); }.main-nav li ul ul { left: 100%; top: -11px; }/* Toggle (mobile only) */.nav-toggle {display: none; align-items: center; gap: 10px;background: transparent; border: 1px solid rgba(255, 255, 255, .3); border-radius: var(--bx-radius);color: #fff; padding: 9px 12px; cursor: pointer;font-family: var(--bx-font-head); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;}.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after {display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .25s, opacity .25s;}.nav-toggle__bars { position: relative; }.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }.nav-toggle__bars::before { top: -6px; }.nav-toggle__bars::after { top: 6px; }.nav-open .nav-toggle__bars { background: transparent; }.nav-open .nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }.nav-open .nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }@media (max-width: 1180px) {.nav-toggle { display: inline-flex; }.main-nav {position: fixed; left: 0; right: 0; top: var(--bx-nav-top, 80px); bottom: 0;background: var(--bx-ink); overflow-y: auto;padding: 12px var(--bx-gutter) 40px;opacity: 0; visibility: hidden; transform: translateY(-8px);transition: opacity .25s, transform .25s, visibility .25s;}.nav-open .main-nav { opacity: 1; visibility: visible; transform: none; }.main-nav > ul { display: block; }.main-nav a { font-size: .9rem; padding: 14px 4px; border-bottom: 1px solid rgba(255, 255, 255, .08); white-space: normal; }.main-nav > ul > li > a::after { display: none; }.main-nav > ul > li > a.current, .main-nav > ul > li > a.currentAncestor { color: #fff; box-shadow: inset 3px 0 0 var(--bx-primary); padding-left: 14px; }.main-nav li.has-children > a::before { display: none; }.main-nav li ul {position: static; opacity: 1; visibility: visible; transform: none;background: transparent; box-shadow: none; border: 0; padding: 0 0 0 16px; min-width: 0;}.main-nav li ul a { color: var(--bx-on-dark); font-size: .9rem; }.main-nav li ul a:hover, .main-nav li ul a.current { background: transparent; color: #fff; }body.nav-open { overflow: hidden; }}/* ---------- Heroes (shown by Theme Styles > Page header) ---------- */.hero { display: none; position: relative; overflow: hidden; color: #fff; background: var(--bx-ink); isolation: isolate; }.hero__media {position: absolute; inset: 0; z-index: -2;background-size: cover; background-position: center;}.hero__shade {position: absolute; inset: 0; z-index: -1;background:linear-gradient(100deg, color-mix(in srgb, var(--bx-ink) 92%, transparent) 0%, color-mix(in srgb, var(--bx-ink) 70%, transparent) 45%, color-mix(in srgb, var(--bx-ink) 20%, transparent) 100%),linear-gradient(0deg, color-mix(in srgb, var(--bx-primary) 35%, transparent) 0%, transparent 45%);}.hero__inner {max-width: var(--bx-max);margin: 0 auto;padding: 0 var(--bx-gutter);position: relative;}.hero__eyebrow {font-family: var(--bx-font-head);font-size: .8rem;font-weight: 700;letter-spacing: .22em;text-transform: uppercase;color: rgba(255, 255, 255, .85);margin: 0 0 18px;display: flex;align-items: center;gap: 14px;}.hero__eyebrow::before {content: "";width: 42px;height: 3px;background: var(--bx-primary);flex: none;}.hero__title {color: #fff;margin: 0;}/* Large */.hero--large .hero__inner {min-height: clamp(460px, 78vh, 760px);display: flex;flex-direction: column;justify-content: center;padding-top: 60px;padding-bottom: 110px;}.hero--large .hero__title {font-size: clamp(2.4rem, 6.2vw, 4.6rem);font-weight: 800;line-height: 1.04;max-width: 15ch;letter-spacing: -.02em;}.hero__scroll {margin-top: 40px;align-self: flex-start;display: inline-flex;align-items: center;gap: 12px;font-family: var(--bx-font-head);font-size: .78rem;font-weight: 700;letter-spacing: .16em;text-transform: uppercase;color: #fff;text-decoration: none;padding: 15px 26px;background: var(--bx-primary);border-radius: 999px;transition: background-color .2s, transform .2s;}.hero__scroll::after {content: "\2193";font-size: 1.1em;}.hero__scroll:hover {background: var(--bx-primary-dark);color: #fff;transform: translateY(-2px);}/* Heartbeat line */.ecg {display: block;width: 100%;fill: none;stroke: var(--bx-primary);stroke-width: 2.5;stroke-linejoin: round;stroke-linecap: round;}.ecg--hero {position: absolute;left: 0;right: 0;bottom: 18px;height: 70px;opacity: .9;}.ecg path {stroke-dasharray: 1600;stroke-dashoffset: 1600;animation: bx-ecg 4.2s ease-in-out .3s infinite;}@keyframes bx-ecg {0% { stroke-dashoffset: 1600;}55% {stroke-dashoffset: 0;}80% {stroke-dashoffset: 0;opacity: 1;}100% {stroke-dashoffset: 0;opacity: 0;}}/* Band */.hero--band .hero__inner {padding-top: clamp(48px, 8vw, 90px);padding-bottom: clamp(40px, 6vw, 70px);}.hero--band .hero__title {font-size: clamp(2rem, 4.4vw, 3.2rem);font-weight: 800;}.hero--band::after {content: "";position: absolute;left: 0;bottom: 0;width: min(240px, 40%);height: 5px;background: var(--bx-primary);}/* Breadcrumb */.crumbs ul {list-style: none;margin: 0 0 14px;padding: 0;display: flex;flex-wrap: wrap;gap: 4px 0;}.crumbs li {font-family: var(--bx-font-head);font-size: .74rem;font-weight: 600;letter-spacing: .12em;text-transform: uppercase;color: rgba(255, 255, 255, .7);}.crumbs li + li::before {content: "/";margin: 0 10px;color: var(--bx-primary);}.crumbs a {color: rgba(255, 255, 255, .85);text-decoration: none;}.crumbs a:hover {color: #fff;text-decoration: underline;}@media (prefers-reduced-motion: reduce) {.ecg path { animation: none;stroke-dashoffset: 0;}html {scroll-behavior: auto;}}/* ---------- Page layout ---------- */.page__inner {max-width: var(--bx-max);margin: 0 auto;padding: clamp(36px, 6vw, 72px) var(--bx-gutter);}.content > :first-child {margin-top: 0;}.content::after {content: "";display: table;clear: both;}.sidebar {display: none;}.sidebar__title {margin-top: 0;font-size: .8rem;text-transform: uppercase;letter-spacing: .14em;color: var(--bx-primary);}.sidebar__title:empty {display: none;}.sidebar ul {padding-left: 1.1em;}/* ---------- Footer ---------- */.site-footer {position: relative;background: var(--bx-ink);color: var(--bx-on-dark);font-size: .95rem;margin-top: 0;}.ecg--footer {height: 44px;opacity: .85;}.ecg--footer path {animation-duration: 6s;}.site-footer__inner {max-width: var(--bx-max);margin: 0 auto;padding: 40px var(--bx-gutter) 48px;display: grid;grid-template-columns: 1.2fr 1fr 1.6fr;gap: 40px;}.footer-title {font-family: var(--bx-font-head);font-weight: 700;font-size: 1.15rem;color: #fff;margin: 0 0 8px;}.footer-slogan {margin: 0;}.footer-slogan::before {content: "";display: block;width: 36px;height: 3px;background: var(--bx-primary);margin: 14px 0;}.footer-heading {font-family: var(--bx-font-head);font-size: .74rem;font-weight: 700;letter-spacing: .18em;text-transform: uppercase;color: #fff;margin: 0 0 12px;}.footer-nav ul {list-style: none;margin: 0;padding: 0;columns: 2;column-gap: 24px;}.footer-nav li {break-inside: avoid;}.footer-nav ul ul {display: none;}.footer-nav a {display: inline-block;padding: 4px 0;color: var(--bx-on-dark);text-decoration: none;}.footer-nav a:hover, .footer-nav a.current {color: #fff;}.footer-col--text a {color: #fff;}.footer-col--text p:last-child {margin-bottom: 0;}.site-footer__bottom {max-width: var(--bx-max);margin: 0 auto;padding: 18px var(--bx-gutter) 28px;border-top: 1px solid rgba(255, 255, 255, .1);display: flex;justify-content: space-between;gap: 16px;flex-wrap: wrap;font-size: .8rem;color: rgba(255, 255, 255, .55);}.to-top {color: rgba(255, 255, 255, .8);text-decoration: none;font-family: var(--bx-font-head);font-weight: 600;letter-spacing: .1em;text-transform: uppercase;font-size: .72rem;}.to-top:hover {color: #fff;}@media (max-width: 860px) {.site-footer__inner { grid-template-columns: 1fr;gap: 28px;}}/* ---------- RapidWeaver built-in page types ---------- */.blog-entry {padding-bottom: 2em;margin-bottom: 2em;border-bottom: 1px solid var(--bx-line);}.blog-entry-title {margin-top: 0;}.blog-entry-title a {color: var(--bx-ink);text-decoration: none;}.blog-entry-title a:hover {color: var(--bx-primary);}.blog-entry-date, .blog-entry-category, .blog-entry-comments {font-size: .82rem;color: var(--bx-muted);}.thumbnail-wrap {display: inline-block;margin: 0 12px 16px 0;}.thumbnail-frame img {border-radius: var(--bx-radius);}input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], textarea, select {width: 100%;max-width: 560px;font: inherit;color: var(--bx-text);padding: 12px 14px;border: 1px solid var(--bx-line);border-radius: var(--bx-radius);background: #fff;}input:focus, textarea:focus, select:focus {border-color: var(--bx-primary);outline: none;box-shadow: 0 0 0 3px color-mix(in srgb, var(--bx-primary) 20%, transparent);}input[type="submit"], button[type="submit"] {font-family: var(--bx-font-head);font-weight: 700;font-size: .8rem;letter-spacing: .12em;text-transform: uppercase;background: var(--bx-primary);color: #fff;border: 0;border-radius: 999px;padding: 14px 28px;cursor: pointer;}input[type="submit"]:hover, button[type="submit"]:hover {background: var(--bx-primary-dark);}/* ==========================================================================   Building blocks — paste the snippets (see README) into an HTML stack or an   HTML page. All classes start with bx- so they won't clash with Stacks.   ========================================================================== *//* Sections */.bx-section {padding: clamp(56px, 8vw, 104px) 0;}.bx-section--tight {padding: clamp(36px, 5vw, 56px) 0;}.bx-section--alt {background: var(--bx-surface);}.bx-section--dark {background: var(--bx-ink);color: var(--bx-on-dark);}.bx-section--dark h1, .bx-section--dark h2, .bx-section--dark h3, .bx-section--dark h4 {color: #fff;}.bx-section--red {background: var(--bx-primary);color: rgba(255, 255, 255, .9);}.bx-section--red h1, .bx-section--red h2, .bx-section--red h3 {color: #fff;}.bx-wrap {max-width: var(--bx-max);margin: 0 auto;padding: 0 var(--bx-gutter);}.bx-wrap--narrow {max-width: 860px;}.bx-center {text-align: center;}/* Inside the contained layout, let a section run edge to edge */.bx-bleed {width: 100vw;position: relative;left: 50%;margin-left: -50vw;}/* Section heading group */.bx-eyebrow {display: inline-flex;align-items: center;gap: 12px;font-family: var(--bx-font-head);font-size: .76rem;font-weight: 700;letter-spacing: .2em;text-transform: uppercase;color: var(--bx-primary);margin: 0 0 14px;}.bx-eyebrow::before {content: "";width: 28px;height: 3px;background: currentColor;}.bx-section--dark .bx-eyebrow, .bx-section--red .bx-eyebrow {color: #fff;}.bx-center .bx-eyebrow::after {content: "";width: 28px;height: 3px;background: currentColor;}.bx-title {font-size: clamp(1.8rem, 3.6vw, 2.7rem);font-weight: 800;margin: 0 0 18px;letter-spacing: -.015em;}.bx-lead {font-size: clamp(1.08rem, 1.6vw, 1.3rem);line-height: 1.6;color: var(--bx-muted);max-width: 62ch;}.bx-center .bx-lead {margin-left: auto;margin-right: auto;}.bx-section--dark .bx-lead, .bx-section--red .bx-lead {color: inherit;}.bx-head {margin-bottom: clamp(28px, 4vw, 48px);}/* Statement */.bx-statement {font-family: var(--bx-font-head);font-weight: 700;color: var(--bx-ink);font-size: clamp(1.6rem, 3.4vw, 2.6rem);line-height: 1.25;letter-spacing: -.015em;max-width: 24ch;margin: 0 auto;}.bx-statement em {font-style: normal;color: var(--bx-primary);}/* Buttons */.bx-btn {display: inline-flex;align-items: center;gap: 10px;font-family: var(--bx-font-head);font-size: .78rem;font-weight: 700;letter-spacing: .14em;text-transform: uppercase;text-decoration: none;padding: 14px 26px;border-radius: 999px;border: 2px solid var(--bx-primary);background: var(--bx-primary);color: #fff;transition: background-color .2s, color .2s, transform .2s;}.bx-btn:hover {background: var(--bx-primary-dark);border-color: var(--bx-primary-dark);color: #fff;transform: translateY(-2px);}.bx-btn--ghost {background: transparent;color: var(--bx-primary);}.bx-btn--ghost:hover {background: var(--bx-primary);color: #fff;}.bx-section--dark .bx-btn--ghost, .bx-section--red .bx-btn--ghost {color: #fff;border-color: #fff;}.bx-section--red .bx-btn {background: #fff;color: var(--bx-primary);border-color: #fff;}.bx-arrow {text-decoration: none;font-family: var(--bx-font-head);font-weight: 700;font-size: .8rem;letter-spacing: .12em;text-transform: uppercase;}.bx-arrow::after {content: " \2192";transition: margin .2s;}.bx-arrow:hover::after {margin-left: 4px;}/* Image cards (research areas / platforms) */.bx-cards {display: grid;grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));gap: 18px;}.bx-card {position: relative;display: block;overflow: hidden;border-radius: var(--bx-radius);aspect-ratio: 3 / 4;background: var(--bx-ink);color: #fff;text-decoration: none;isolation: isolate;}.bx-card img {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: -2;transition: transform .6s ease;}.bx-card::before {content: "";position: absolute;inset: 0;z-index: -1;background: linear-gradient(0deg, color-mix(in srgb, var(--bx-ink) 92%, transparent) 0%, color-mix(in srgb, var(--bx-ink) 10%, transparent) 60%);transition: background .3s;}.bx-card::after {content: "";position: absolute;left: 0;bottom: 0;height: 4px;width: 0;background: var(--bx-primary);transition: width .35s ease;}.bx-card__body {position: absolute;left: 0;right: 0;bottom: 0;padding: 22px;}.bx-card__title {font-family: var(--bx-font-head);font-weight: 700;font-size: 1.15rem;line-height: 1.25;margin: 0;color: #fff;}.bx-card__text {font-size: .9rem;color: rgba(255, 255, 255, .8);margin: 8px 0 0;max-height: 0;opacity: 0;overflow: hidden;transition: max-height .4s ease, opacity .3s;}.bx-card:hover, .bx-card:focus-visible {color: #fff;}.bx-card:hover img, .bx-card:focus-visible img {transform: scale(1.06);}.bx-card:hover::after, .bx-card:focus-visible::after {width: 100%;}.bx-card:hover .bx-card__text, .bx-card:focus-visible .bx-card__text {max-height: 8em;opacity: 1;}@media (hover: none) {.bx-card__text { max-height: none;opacity: 1;} }/* People */.bx-people {display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 28px;}.bx-person {background: #fff;border-radius: var(--bx-radius);overflow: hidden;box-shadow: var(--bx-shadow);display: flex;flex-direction: column;transition: transform .25s, box-shadow .25s;}.bx-person:hover {transform: translateY(-4px);box-shadow: var(--bx-shadow-lg);}.bx-person__photo {aspect-ratio: 1 / 1;background: var(--bx-surface);overflow: hidden;}.bx-person__photo img {width: 100%;height: 100%;object-fit: cover;display: block;}.bx-person__body {padding: 22px 24px 26px;border-top: 4px solid var(--bx-primary);flex: 1;}.bx-person__name {font-family: var(--bx-font-head);font-size: 1.2rem;font-weight: 700;margin: 0 0 4px;}.bx-person__name a {color: var(--bx-ink);text-decoration: none;}.bx-person__name a:hover {color: var(--bx-primary);}.bx-person__role {font-size: .9rem;color: var(--bx-muted);margin: 0 0 14px;}.bx-person__links {list-style: none;margin: 0;padding: 0;font-size: .88rem;}.bx-person__links li + li {margin-top: 6px;}/* News */.bx-news {display: grid;grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));gap: 28px;}.bx-news__item {display: flex;flex-direction: column;background: #fff;border-radius: var(--bx-radius);overflow: hidden;box-shadow: var(--bx-shadow);}.bx-news__media {aspect-ratio: 16 / 10;overflow: hidden;background: var(--bx-surface);}.bx-news__media img {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform .5s;}.bx-news__item:hover .bx-news__media img {transform: scale(1.04);}.bx-news__body {padding: 22px 24px 26px;display: flex;flex-direction: column;gap: 10px;flex: 1;}.bx-news__tag {font-family: var(--bx-font-head);font-size: .7rem;font-weight: 700;letter-spacing: .16em;text-transform: uppercase;color: var(--bx-primary);}.bx-news__title {font-family: var(--bx-font-head);font-size: 1.15rem;font-weight: 700;line-height: 1.3;margin: 0;color: var(--bx-ink);}.bx-news__title a {color: inherit;text-decoration: none;}.bx-news__title a:hover {color: var(--bx-primary);}.bx-news__text {font-size: .95rem;color: var(--bx-muted);margin: 0;}.bx-news__body .bx-arrow {margin-top: auto;padding-top: 8px;}/* Cards keep dark text even inside dark or red sections */.bx-section--dark .bx-news__title, .bx-section--red .bx-news__title,.bx-section--dark .bx-person__name, .bx-section--red .bx-person__name {color: var(--bx-ink);}.bx-section--dark .bx-person__name a, .bx-section--red .bx-person__name a {color: var(--bx-ink);}.bx-section--dark .bx-news__text, .bx-section--dark .bx-person__role {color: var(--bx-muted);}/* Stats */.bx-stats {display: grid;grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));gap: 0;}.bx-stat {padding: 10px 24px;border-left: 3px solid var(--bx-primary);}.bx-stat__num {font-family: var(--bx-font-head);font-weight: 800;font-size: clamp(2.2rem, 4vw, 3.2rem);line-height: 1;color: var(--bx-ink);display: block;}.bx-section--dark .bx-stat__num, .bx-section--red .bx-stat__num {color: #fff;}.bx-stat__label {display: block;margin-top: 8px;font-size: .9rem;}.bx-section--red .bx-stat {border-color: #fff;}/* Logo wall (funders / partners) */.bx-logos {display: grid;grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));gap: 16px;align-items: stretch;}.bx-logos a, .bx-logos > div {display: flex;align-items: center;justify-content: center;min-height: 104px;padding: 18px;background: #fff;border: 1px solid var(--bx-line);border-radius: var(--bx-radius);transition: border-color .2s, box-shadow .2s;}.bx-logos a, .bx-logos > div {text-decoration: none;color: var(--bx-ink);font-family: var(--bx-font-head);font-weight: 700;text-align: center;}.bx-logos a:hover {color: var(--bx-primary);}.bx-logos img {max-height: 64px;width: auto;filter: grayscale(1);opacity: .75;transition: filter .3s, opacity .3s;}.bx-logos a:hover {border-color: var(--bx-primary);box-shadow: var(--bx-shadow);}.bx-logos a:hover img {filter: none;opacity: 1;}/* Split (image + text) */.bx-split {display: grid;grid-template-columns: 1fr 1fr;gap: clamp(28px, 5vw, 72px);align-items: center;}.bx-split--reverse > :first-child {order: 2;}.bx-split__media {position: relative;}.bx-split__media img {display: block;width: 100%;border-radius: var(--bx-radius);}.bx-split__media::after {content: "";position: absolute;left: -14px;bottom: -14px;width: 40%;height: 40%;border-left: 4px solid var(--bx-primary);border-bottom: 4px solid var(--bx-primary);z-index: -1;}@media (max-width: 820px) {.bx-split { grid-template-columns: 1fr;} .bx-split--reverse > :first-child {order: 0;} }/* Call-to-action band */.bx-band {display: flex;align-items: center;justify-content: space-between;gap: 24px;flex-wrap: wrap;}.bx-band__title {font-family: var(--bx-font-head);font-weight: 800;font-size: clamp(1.4rem, 2.8vw, 2rem);margin: 0;color: #fff;max-width: 30ch;}/* Land acknowledgement / notes */.bx-note {border-left: 4px solid var(--bx-primary);background: var(--bx-surface);padding: 22px 26px;border-radius: 0 var(--bx-radius) var(--bx-radius) 0;font-size: .95rem;}.bx-note p:last-child {margin-bottom: 0;}.bx-section--dark .bx-note {background: rgba(255, 255, 255, .05);}/* Social links (text or icons) */.bx-social {display: flex;flex-wrap: wrap;gap: 10px;list-style: none;padding: 0;margin: 0;}.bx-social a {display: inline-flex;align-items: center;justify-content: center;min-width: 42px;height: 42px;padding: 0 14px;border: 1px solid currentColor;border-radius: 999px;text-decoration: none;font-family: var(--bx-font-head);font-size: .72rem;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;}.bx-social a:hover {background: var(--bx-primary);border-color: var(--bx-primary);color: #fff;}/* Map / video embeds */.bx-embed {position: relative;aspect-ratio: 16 / 9;border-radius: var(--bx-radius);overflow: hidden;background: var(--bx-surface);}.bx-embed iframe, .bx-embed video {position: absolute;inset: 0;width: 100%;height: 100%;border: 0;}/* Reveal on scroll (added by beats.js) */.bx-reveal {opacity: 0;transform: translateY(18px);transition: opacity .7s ease, transform .7s ease;}.bx-reveal.is-visible {opacity: 1;transform: none;}@media (prefers-reduced-motion: reduce) {.bx-reveal { opacity: 1;transform: none;transition: none;} }/* RapidWeaver replaces each %colour_...% tag with the colour chosen in   Theme Styles > Colours. Everything else in the theme reads these variables. */:root {--bx-primary: #C3002B;--bx-primary-dark: #8C001F;--bx-ink: #16191D;--bx-surface: #F4F2F1;}/* Page header: None. Your content starts right under the menu. */.hero {display: none;}/* Content width: Full width (best for Stacks pages and bx- sections). */.page__inner {max-width: none;padding: 0;}.page.has-sidebar .page__inner {padding: 0 var(--bx-gutter);}/* Sidebar: Hidden. */.sidebar {display: none;}/* Header style: Dark (default). Styles live in styles.css. */#rapidweaver_privacy_message {position: fixed;bottom: 0;background-color: #FFF;color: rgba(0,0,0,.85);width: 100%;padding: 0;z-index: 5000;text-align: center;box-shadow: -2px 0 4px rgba(0,0,0,.1);display: flex;justify-content: space-between;align-items: center;}@supports (display: flex) {	#rapidweaver_privacy_message {        display: flex;justify-content: space-between;align-items: center;}    #rapidweaver_privacy_message p {margin: 20px;}}#rapidweaver_privacy_message button {margin: 20px;border-radius: 3px;background-color: #424147;color: #fff;border: none;filter: saturate(100%);font-weight: bold;cursor: pointer;padding: 5px 15px;}#rapidweaver_privacy_message button:hover {filter: saturate(90%);}/* BEaTS: latest-episode badge (Safari fix) */.bx-eps--feature .bx-ep::before{content:none!important;display:none!important}.bx-ep.bx-ep--latest{position:relative}.bx-eps--feature .bx-ep.bx-ep--latest::after{content:"Latest episode";position:absolute;top:-11px;left:26px;z-index:2;padding:5px 12px;border-radius:999px;background:#c3002b;color:#fff;font:700 .66rem/1 Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}/* BEaTS: research topic pop-up */html.bx-noscroll{overflow:hidden}.bx-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(10px,4vw,48px);background:rgba(22,25,29,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}.bx-modal.is-open{opacity:1}.bx-modal__box{position:relative;-webkit-overflow-scrolling:touch;width:min(1100px,100%);height:min(88vh,1000px);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translateY(16px);transition:transform .25s ease}.bx-modal.is-open .bx-modal__box{transform:none}.bx-modal__frame{display:block;width:100%;height:100%;border:0}.bx-modal__close{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:#16191d;color:#fff;font:400 28px/44px Arial,sans-serif;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}.bx-modal__close:hover{background:#c3002b}.bx-modal__close:focus-visible{outline:3px solid #ff8a9c;outline-offset:2px}@media (prefers-reduced-motion:reduce){.bx-modal,.bx-modal__box{transition:none}}html.bx-in-modal .site-header,html.bx-in-modal .site-footer,html.bx-in-modal .skip-link{display:none!important}