/* Best RS theme — shared front end + editor styles. Ref CHG-2026-0088 */

:root {
	--brs-r-s: var(--wp--custom--radius--s);
	--brs-r-m: var(--wp--custom--radius--m);
	--brs-r-l: var(--wp--custom--radius--l);
	--brs-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 100px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
::selection { background: var(--wp--preset--color--brand); color: #fff; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--brand);
	outline-offset: 3px;
	border-radius: 4px;
}
p { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }

/* Skip link */
.skip-link.screen-reader-text:focus { background: #fff; color: var(--wp--preset--color--ink); z-index: 1000; }

/* ---------- Header ---------- */
/* The frosted blur sits on a pseudo-layer: backdrop-filter on the header itself would become the
   containing block for the fixed mobile menu overlay and clip it to the header height. */
.brs-header {
	position: sticky; top: 0; z-index: 50;
	isolation: isolate;
	border-bottom: 1px solid transparent;
	transition: border-color .25s, box-shadow .25s;
}
.brs-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
}
.admin-bar .brs-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .brs-header { top: 46px; } }
.brs-header.is-scrolled { border-bottom-color: var(--wp--preset--color--line); box-shadow: 0 6px 24px -18px rgba(11, 18, 32, .35); }
.brs-header .wp-block-site-logo img { width: auto; max-height: 62px; }
.brs-header .wp-block-navigation .wp-block-navigation-item__content { padding: .4rem .1rem; position: relative; }
.brs-header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
	background: var(--wp--preset--color--brand); transform: scaleX(0); transform-origin: left;
	transition: transform .3s var(--brs-ease);
}
.brs-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.brs-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
/* Desktop dropdown only (WP switches to the overlay menu below 600px). */
@media (min-width: 600px) {
	.brs-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
		border: 1px solid var(--wp--preset--color--line) !important;
		border-radius: var(--brs-r-m); padding: .5rem !important;
		box-shadow: var(--wp--preset--shadow--soft); min-width: 300px !important;
	}
	.brs-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .8rem !important; border-radius: var(--brs-r-s); }
}
.brs-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.brs-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--brand-soft); }

/* Mobile overlay menu. */
.brs-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--ink) !important;
	padding: 1.25rem 1.5rem 2rem;
}
.brs-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem !important; }
.brs-header .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; align-items: stretch !important; }
.brs-header .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; border-bottom: 1px solid var(--wp--preset--color--line); }
.brs-header .is-menu-open .wp-block-navigation-item__content { padding: .9rem 0 !important; font-size: 1.15rem; font-weight: 600; }
.brs-header .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.brs-header .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .6rem 1rem !important; gap: 0 !important; }
.brs-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
.brs-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 0 !important; font-size: 1rem; font-weight: 500; color: var(--wp--preset--color--slate); }
.brs-header .is-menu-open .wp-block-navigation__responsive-container-close { top: 1.4rem; right: 1.5rem; }
.brs-header .brs-phone a { text-decoration: none; color: var(--wp--preset--color--ink); font-weight: 650; white-space: nowrap; }
.brs-header .brs-phone a:hover { color: var(--wp--preset--color--brand); }
@media (max-width: 1100px) { .brs-header .brs-phone { display: none; } }
@media (max-width: 600px) { .brs-header .wp-block-navigation { order: 2; } .brs-header .brs-cta .wp-block-button__link { padding: .5rem .9rem !important; font-size: .85rem; } .brs-header .wp-block-site-logo img { max-height: 50px; } }

/* ---------- Eyebrow with the logo's tricolour dots ---------- */
.is-style-brs-eyebrow {
	display: inline-flex; align-items: center; gap: .7rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: .8rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--brand);
}
.is-style-brs-eyebrow::before {
	content: ""; flex: none; width: 26px; height: 6px;
	background:
		radial-gradient(circle at 3px 3px, var(--wp--preset--color--signal-red) 2.6px, transparent 3px) 0 0 / 10px 6px no-repeat,
		radial-gradient(circle at 3px 3px, var(--wp--preset--color--signal-yellow) 2.6px, transparent 3px) 10px 0 / 10px 6px no-repeat,
		radial-gradient(circle at 3px 3px, var(--wp--preset--color--brand) 2.6px, transparent 3px) 20px 0 / 10px 6px no-repeat;
}
.is-style-brs-eyebrow.has-text-align-center { display: flex; justify-content: center; }
.is-style-brs-band .is-style-brs-eyebrow { color: #8fb4ff; }

/* ---------- Card ---------- */
.is-style-brs-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--brs-r-l);
	transition: transform .35s var(--brs-ease), box-shadow .35s var(--brs-ease), border-color .35s;
	position: relative; overflow: hidden;
}
.is-style-brs-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); border-color: #c9d6ec; }
.is-style-brs-card > .wp-block-image:first-child { margin: 0; }
.is-style-brs-card > .wp-block-image:first-child img { border-radius: 0; aspect-ratio: 16 / 10; object-fit: cover; width: 100%; transition: transform .6s var(--brs-ease); }
.is-style-brs-card:hover > .wp-block-image:first-child img { transform: scale(1.04); }
.is-style-brs-card .brs-card-link a { font-family: var(--wp--preset--font-family--display); font-weight: 700; text-decoration: none; }
.is-style-brs-card .brs-card-link a::after { content: " →"; transition: margin .25s; }
.is-style-brs-card:hover .brs-card-link a::after { margin-left: .25rem; }
/* whole card clickable when it has a .brs-card-link */
.is-style-brs-card .brs-card-link a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.is-style-brs-card .brs-card-link a:focus-visible { outline: none; }
.is-style-brs-card:has(.brs-card-link a:focus-visible) { outline: 3px solid var(--wp--preset--color--brand); outline-offset: 3px; }

/* Icon tile used inside service cards */
.brs-icon img, .brs-icon svg {
	width: 52px !important; height: 52px; padding: 12px; border-radius: 14px;
	background: var(--wp--preset--color--brand-soft);
}
.brs-icon { margin-bottom: .25rem !important; }

/* ---------- Dark "control room" band ---------- */
.is-style-brs-band {
	background-color: var(--wp--preset--color--navy) !important;
	color: var(--wp--preset--color--on-navy);
	position: relative; overflow: hidden; isolation: isolate;
}
.is-style-brs-band::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(60% 70% at 85% 10%, rgba(0, 85, 212, .45), transparent 60%),
		radial-gradient(40% 50% at 0% 100%, rgba(101, 152, 229, .18), transparent 70%),
		linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px) 0 0 / 44px 44px,
		linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px) 0 0 / 44px 44px;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
}
.is-style-brs-band :where(h1, h2, h3, h4) { color: #f3f6fb; }
.is-style-brs-band :where(p, li) { color: var(--wp--preset--color--on-navy); }
.is-style-brs-band .has-slate-color { color: var(--wp--preset--color--on-navy-muted) !important; }
.is-style-brs-band a:where(:not(.wp-element-button)) { color: #9ec0ff; }
.is-style-brs-band .is-style-brs-card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .12); }
.is-style-brs-band .is-style-brs-card:hover { border-color: rgba(143, 180, 255, .5); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .6); }
.is-style-brs-band .wp-block-button.is-style-outline .wp-block-button__link { color: #f3f6fb; border-color: rgba(255, 255, 255, .45); }
.is-style-brs-band .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .08); border-color: #fff; }

/* Stat figures */
.brs-stat { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; }
.is-style-brs-band .brs-stat { border-top-color: rgba(255, 255, 255, .16); }
.brs-stat .brs-stat-num { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: clamp(2.2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.03em; margin: 0; }
.is-style-brs-band .brs-stat .brs-stat-num { color: #fff; }
.brs-stat .brs-stat-num em { font-style: normal; color: #8fb4ff; }
.brs-stat p:last-child { margin-top: .4rem; font-size: .95rem; }

/* ---------- Viewfinder image (CCTV-style corners) ---------- */
.wp-block-image.is-style-brs-viewfinder { position: relative; }
.wp-block-image.is-style-brs-viewfinder img { border-radius: var(--brs-r-l); display: block; width: 100%; object-fit: cover; }
.wp-block-image.is-style-brs-viewfinder::after {
	--c: rgba(255, 255, 255, .92); --l: 28px; --t: 3px; --i: 18px;
	content: ""; position: absolute; inset: var(--i); pointer-events: none;
	background:
		linear-gradient(var(--c), var(--c)) top left / var(--l) var(--t),
		linear-gradient(var(--c), var(--c)) top left / var(--t) var(--l),
		linear-gradient(var(--c), var(--c)) top right / var(--l) var(--t),
		linear-gradient(var(--c), var(--c)) top right / var(--t) var(--l),
		linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--t),
		linear-gradient(var(--c), var(--c)) bottom left / var(--t) var(--l),
		linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--t),
		linear-gradient(var(--c), var(--c)) bottom right / var(--t) var(--l);
	background-repeat: no-repeat;
}
.wp-block-image.is-style-brs-rounded img { border-radius: var(--brs-r-l); }

/* Live chip (REC dot + clock added by JS) */
.brs-live {
	display: inline-flex !important; align-items: center; gap: .55rem;
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: .78rem !important; letter-spacing: .06em; font-weight: 600;
	background: rgba(10, 22, 48, .78); color: #fff !important;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	padding: .45rem .8rem !important; border-radius: 999px; margin: 0 !important;
}
.brs-live::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%;
	background: var(--wp--preset--color--signal-red);
	box-shadow: 0 0 0 0 rgba(212, 0, 0, .7); animation: brs-pulse 1.8s infinite;
}
.brs-live .brs-clock { opacity: .75; }
@keyframes brs-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 60, 60, .7); } 70% { box-shadow: 0 0 0 9px rgba(255, 60, 60, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 60, 60, 0); } }
@media (prefers-reduced-motion: reduce) { .brs-live::before { animation: none; } }

/* Hero media composition */
.brs-hero-media { position: relative; }
.brs-hero-media > .wp-block-image { margin: 0 !important; }
.brs-hero-media > .wp-block-image img { aspect-ratio: 4 / 4.4; }
.brs-hero-media > .brs-live { position: absolute; top: 34px; left: 34px; z-index: 2; }
.brs-hero-media > .brs-float {
	position: absolute; z-index: 2; left: -28px; bottom: 40px; max-width: 290px;
	background: #fff; border-radius: var(--brs-r-m); box-shadow: var(--wp--preset--shadow--lift);
	border: 1px solid var(--wp--preset--color--line);
}
.brs-float .brs-float-title { display: flex; align-items: center; gap: .5rem; }
.brs-float .brs-float-title::before {
	content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%;
	background: #16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 13px no-repeat;
}
@media (max-width: 781px) {
	.brs-hero-media > .wp-block-image img { aspect-ratio: 4 / 3; }
	.brs-hero-media > .brs-float { position: relative; left: auto; bottom: auto; margin: -2.5rem 1rem 0 !important; max-width: none; }
	.brs-hero-media > .brs-live { top: 26px; left: 26px; }
}

/* Hero helpers */
.brs-hero h1 em { font-style: normal; color: var(--wp--preset--color--brand); }
.brs-trust { gap: .5rem 1.4rem !important; }
.brs-trust p { display: inline-flex; align-items: center; gap: .45rem; margin: 0; font-size: .92rem; color: var(--wp--preset--color--slate); }
.brs-trust p::before {
	content: ""; width: 18px; height: 18px; flex: none; border-radius: 50%;
	background: var(--wp--preset--color--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230055d4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* Soft blue wash behind the hero */
.brs-hero { position: relative; isolation: isolate; }
.brs-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(50% 60% at 100% 0%, rgba(0, 85, 212, .10), transparent 70%),
		radial-gradient(40% 50% at 0% 100%, rgba(101, 152, 229, .10), transparent 70%);
}

/* ---------- Check list ---------- */
ul.is-style-brs-checks { list-style: none; padding-left: 0; }
ul.is-style-brs-checks li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
ul.is-style-brs-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.3rem; height: 1.3rem; border-radius: 50%;
	background: var(--wp--preset--color--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230055d4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.is-style-brs-band ul.is-style-brs-checks li::before { background-color: rgba(143, 180, 255, .16); }

/* ---------- Process steps (auto-numbered) ---------- */
.brs-steps { counter-reset: brs-step; }
.brs-steps .brs-step { counter-increment: brs-step; position: relative; }
.brs-steps .brs-step::before {
	content: counter(brs-step, decimal-leading-zero);
	display: block; font-family: var(--wp--preset--font-family--display); font-weight: 800;
	font-size: .9rem; letter-spacing: .1em; color: var(--wp--preset--color--brand);
	padding-bottom: .9rem; margin-bottom: 1rem; border-bottom: 2px solid var(--wp--preset--color--brand);
	width: 100%;
}

/* ---------- FAQ (details) ---------- */
.wp-block-details.is-style-brs-faq summary {
	list-style: none; cursor: pointer; position: relative; padding-right: 2.5rem;
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.1rem;
}
.wp-block-details.is-style-brs-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-brs-faq summary::after {
	content: ""; position: absolute; right: 0; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%;
	background: var(--wp--preset--color--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230055d4' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .3s var(--brs-ease);
}
.wp-block-details.is-style-brs-faq[open] summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-brs-faq > :not(summary) { color: var(--wp--preset--color--slate); margin-top: .75rem; }

/* ---------- Page header (default page template) ---------- */
.brs-page-header { position: relative; isolation: isolate; overflow: hidden; }
.brs-page-header::after {
	content: ""; position: absolute; right: -120px; top: -160px; width: 520px; height: 520px; border-radius: 50%; z-index: -1;
	border: 70px solid rgba(0, 85, 212, .06);
}
.brs-page-header .wp-block-post-excerpt__excerpt { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--slate); max-width: 62ch; }
.brs-page-header .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Footer ---------- */
.brs-footer a { color: var(--wp--preset--color--ink); text-decoration: none; }
.brs-footer a:hover { color: var(--wp--preset--color--brand); text-decoration: underline; }
.brs-footer .wp-block-site-logo img { max-height: 76px; width: auto; }
.brs-footer h2 { font-size: .8rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--slate); }
.brs-footer ul { list-style: none; padding: 0; margin: 0; }
.brs-footer ul li { margin-bottom: .45rem; }
.brs-credit a { font-weight: 600; }

/* ---------- Forms ---------- */
.brs-form { display: grid; gap: 1.1rem; }
.brs-form .brs-row { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.brs-form label, .brs-form legend { display: block; font-weight: 600; font-size: .95rem; margin-bottom: .4rem; }
.brs-form fieldset { border: 0; padding: 0; margin: 0; }
.brs-form input[type=text], .brs-form input[type=email], .brs-form input[type=tel], .brs-form textarea, .brs-form select {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--wp--preset--color--ink);
	background: #fff; border: 1.5px solid #c8d2e1; border-radius: var(--brs-r-s); padding: .8rem 1rem;
	transition: border-color .2s, box-shadow .2s;
}
.brs-form textarea { min-height: 150px; resize: vertical; }
.brs-form :is(input, textarea, select):focus { outline: none; border-color: var(--wp--preset--color--brand); box-shadow: 0 0 0 4px rgba(0, 85, 212, .15); }
.brs-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.brs-chips label { margin: 0; font-weight: 500; }
.brs-chips input { position: absolute; opacity: 0; pointer-events: none; }
.brs-chips span {
	display: inline-block; padding: .6rem 1rem; border-radius: 999px; cursor: pointer;
	border: 1.5px solid #c8d2e1; background: #fff; transition: all .2s;
}
.brs-chips input:checked + span { background: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand); color: #fff; }
.brs-chips input:focus-visible + span { outline: 3px solid var(--wp--preset--color--brand); outline-offset: 2px; }
.brs-form .brs-consent { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400; font-size: .92rem; color: var(--wp--preset--color--slate); }
.brs-form .brs-consent input { margin-top: .3rem; width: 18px; height: 18px; accent-color: var(--wp--preset--color--brand); flex: none; }
.brs-form .brs-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.brs-form button {
	justify-self: start; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1rem;
	background: var(--wp--preset--color--brand); color: #fff; border: 0; border-radius: 999px; padding: .95rem 1.8rem; cursor: pointer;
	transition: background .2s;
}
.brs-form button:hover { background: var(--wp--preset--color--brand-deep); }
.brs-notice { padding: 1rem 1.2rem; border-radius: var(--brs-r-s); margin-bottom: 1.2rem; font-weight: 500; }
.brs-notice.is-ok { background: #e8f6ee; color: #14532d; border: 1px solid #b7e2c7; }
.brs-notice.is-err { background: #fdecec; color: #7f1d1d; border: 1px solid #f5c2c2; }

/* ---------- Scroll reveal (only when JS is running; content is visible without JS) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.brs-js .brs-rv { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--brs-ease), transform .7s var(--brs-ease); }
	.brs-js .brs-rv.is-in { opacity: 1; transform: none; }
}

/* ---------- Blog cards ---------- */
.brs-post-card { height: 100%; }
.brs-post-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; }

/* Utilities */
.brs-maxch { max-width: 60ch; }
.brs-nowrap { white-space: nowrap; }

/* ---------- Template glue ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
main > .wp-block-post-content > .alignfull:first-child { margin-block-start: 0; }
main > .wp-block-post-content > .alignfull:last-child { margin-block-end: 0; }
main > .wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.brs-page-content > :first-child:not(.alignfull) { margin-block-start: var(--wp--preset--spacing--50); }
.brs-page-content > :last-child:not(.alignfull) { margin-block-end: var(--wp--preset--spacing--60); }
.brs-page-content > h2:not(:first-child) { margin-block-start: var(--wp--preset--spacing--40); }

/* Wide media variant (dark band) */
.brs-media-wide > .wp-block-image img { aspect-ratio: 4 / 3 !important; }
.brs-hero-media > .brs-live:last-child { top: auto; bottom: 30px; }

/* Headings follow the section text colour when a section sets one (e.g. blue CTA band) */
.has-base-color :where(h1, h2, h3, h4, h5, h6) { color: inherit; }

/* Arrow link used outside cards too */
.brs-card-link a { font-family: var(--wp--preset--font-family--display); font-weight: 700; text-decoration: none; }
.brs-card-link a::after { content: " →"; }
.brs-card-link a:hover { text-decoration: underline; text-underline-offset: .2em; }
