:root {
  color-scheme: light;
  --ink: #303a40;
  --body: #49525a;
  --muted: #68717a;
  --bhoc-blue: #344047;
  --bhoc-red: #f65c00;
  --accent: #f65c00;
  --accent-strong: #cf4d00;
  --accent-soft: #ffd4bd;
  --accent-pale: #fff2ea;
  --accent-wash: #fff7f2;
  --line: #e6e0dc;
  --paper: #fff;
  --charcoal: #394247;
  --font-body: Arial, Helvetica, sans-serif;
  --font-display: Georgia, 'Times New Roman', serif;
  --gutter: clamp(20px, 2.4vw, 42px);
  --page-width: 1600px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--body);
  font: 16px/1.5 var(--font-body);
}

.site-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  background: var(--paper);
  overflow: clip;
}

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 5px; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; opacity: .3; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4, p, figure { margin: 0; }

h1, h2 {
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.035em;
}

h3, h4 { color: var(--ink); }
p { overflow-wrap: break-word; }

svg {
  width: 24px;
  height: 24px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon-definitions {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 12px;
  padding: 12px;
  transform: translateY(-180%);
  background: white;
}

.skip-link:focus { transform: none; }

:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}

[hidden] { display: none !important; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 46px;
  padding: 11px 25px;
  border: 1px solid var(--accent);
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 8px 20px #f65c0024;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .045em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.button svg { width: 18px; height: 18px; }

.button:hover {
  border-color: var(--accent-strong);
  background: var(--accent-strong);
  box-shadow: 0 10px 24px #d84f0030;
  text-decoration: none;
  transform: translateY(-1px);
}

.button-outline {
  border-color: var(--accent);
  background: transparent;
  box-shadow: none;
  color: var(--accent-strong);
}

.button-outline:hover { color: #fff; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--accent-strong);
  font-size: 14px;
  font-weight: 600;
}

.eyebrow {
  color: var(--ink);
  font: 700 13px/1.3 var(--font-body);
  letter-spacing: .055em;
}

.round-control,
.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 8px;
  border: 1px solid #d9d2cd;
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
}

.round-control svg { width: 19px; height: 19px; }
.round-control:hover:not(:disabled), .icon-button:hover { background: var(--accent-wash); }
.section-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
section { scroll-margin-top: 24px; }
.oxygen-initial { color: var(--bhoc-red); }
.noscript-note { padding: 24px; }
.small-copy { color: var(--muted); font-size: 14px; }

.site-footer {
  border-top: 6px solid var(--accent);
  background: var(--charcoal);
  color: #fff;
}

.footer-primary {
  display: grid;
  grid-template-columns: minmax(245px, .7fr) minmax(0, 2.3fr);
  gap: clamp(32px, 5vw, 80px);
  padding: clamp(36px, 4vw, 54px) var(--gutter) 32px;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}

.footer-brand-heading {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
}

.footer-wordmark {
  display: flex;
  flex: none;
  flex-direction: column;
  font-weight: 400;
}

.footer-bhoc {
  color: #fff;
  font: 400 39px/.86 'Times New Roman', serif;
  letter-spacing: -.045em;
}

.footer-veterinary {
  margin-top: 7px;
  color: #fff;
  font: 700 9px/1.2 var(--font-body);
  letter-spacing: .3em;
}

.footer-expansion {
  max-width: 150px;
  padding-top: 2px;
  color: #d9d9d9;
  font-size: 12px;
  line-height: 1.45;
}

.footer-directory {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: clamp(18px, 3vw, 42px);
}

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

.footer-column h2 {
  margin-bottom: 5px;
  color: var(--accent-soft);
  font: 700 12px/1.3 var(--font-body);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.footer-column a {
  color: #f2f2f2;
  font-size: 13px;
  line-height: 1.35;
}

.footer-column a:hover { color: var(--accent-soft); }

.footer-secondary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 13px 34px;
  align-items: start;
  padding: 20px var(--gutter) 22px;
  border-top: 1px solid #ffffff25;
  color: #cacaca;
  font-size: 12px;
}

.footer-project { max-width: 890px; }
.project-attribution { color: #fff; }
.footer-note { margin-top: 6px; line-height: 1.45; }

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 11px 20px;
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}

.footer-links a:hover { color: var(--accent-soft); text-decoration: none; }
.footer-links svg { width: 18px; height: 18px; }
.footer-publication { display:flex; align-items:center; flex-wrap:wrap; gap:6px; line-height:1.5; }
.footer-inline-socials { display:inline-flex; align-items:center; gap:7px; margin-left:0; vertical-align:middle; }
.footer-inline-social { display:inline-flex; align-items:center; justify-content:center; width:29px; height:29px; border:1px solid currentColor; border-radius:8px; text-decoration:none; }
.footer-inline-social:hover { opacity:.82; transform:translateY(-1px); text-decoration:none; }
.footer-inline-social svg { width:17px; height:17px; }
.footer-inline-linkedin { color:#0a66c2; }
.footer-inline-youtube { color:#ff0000; }
.footer-copyright { justify-self: end; text-align: right; }

@media (max-width: 1100px) {
  .footer-primary { grid-template-columns: 1fr; }
  .footer-directory { grid-template-columns: repeat(3, minmax(135px, 1fr)); }
}

@media (max-width: 760px) {
  .footer-directory { grid-template-columns: repeat(2, minmax(125px, 1fr)); }
  .footer-secondary { grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
  .footer-copyright { justify-self: start; text-align: left; }
}

@media (max-width: 440px) {
  .footer-primary { padding: 32px 20px 27px; }
  .footer-brand { gap: 8px; }
  .footer-brand-heading { gap: 14px; }
  .footer-bhoc { font-size: 34px; }
  .footer-expansion { max-width: 132px; font-size: 11px; }
  .footer-directory { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .footer-secondary { padding: 19px 20px 22px; }
  .footer-publication { line-height: 1.65; }
  .footer-separator { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

.site-header {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 30px);
  min-height: 84px;
  padding: 10px var(--gutter) 9px;
  background: #fff;
  border-bottom: 4px solid var(--accent);
}

.wordmark {
  display: flex;
  flex: none;
  width: clamp(205px, 17vw, 250px);
  flex-direction: column;
  color: var(--bhoc-blue);
  text-decoration: none !important;
}

.wordmark-top {
  font-family: 'Times New Roman', serif;
  font-size: 46px;
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.05em;
}

.wordmark-top em {
  color: var(--bhoc-red);
  font-style: normal;
}

.wordmark-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 6px;
}

.wordmark-division {
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .31em;
}

.wordmark-expansion {
  margin-top: 4px;
  color: #4f4f4f;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .015em;
}

.primary-nav {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(11px, 1.45vw, 24px);
  min-width: 0;
}

.primary-nav a {
  position: relative;
  padding: 13px 0;
  color: #585858;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
  white-space: nowrap;
}

.primary-nav a:hover {
  color: var(--accent-strong);
  text-decoration: none;
}

.primary-nav .nav-initiative-entry {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  margin-right: auto;
  padding: 5px 15px 5px 6px;
  border: 1px solid #e5ded9;
  border-radius: 999px;
  background: #fff;
  box-shadow: none;
  color: #585858;
}

.nav-initiative-logo {
  display: block;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}

.primary-nav .nav-initiative-entry:hover,
.primary-nav .nav-initiative-entry:focus-visible {
  border-color: var(--accent);
  background: #fff;
  color: var(--accent-strong);
}

.primary-nav .active::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 3px;
  background: var(--accent);
}

.page-route {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  color: #777;
  font-size: 12px;
}

body[data-page="home"] .page-route { display: none; }

.page-route a {
  color: #585858;
  font-weight: 700;
  text-decoration: none;
}

.page-route [aria-current="page"] {
  padding: 4px 10px;
  border: 1px solid #ffd2b8;
  border-radius: 999px;
  background: #fff7f2;
  color: var(--accent-strong);
  font-weight: 800;
}

.search-toggle {
  flex: none;
  width: 38px;
  height: 38px;
  border-color: #d8d1cc;
  background: #fff;
}

.menu-toggle {
  display: none;
  flex: none;
  flex-direction: column;
  gap: 5px;
  border-color: #d8d1cc;
  background: #fff;
}

.menu-toggle span {
  width: 20px;
  height: 2px;
  background: var(--ink);
}

.site-network-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 32px;
  padding: 3px var(--gutter);
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.network-title { display: none; }

.network-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  max-width: 100%;
}

.network-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid #e0dad6;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none !important;
}

.network-link svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.network-link-enabled {
  background: #fff;
  color: var(--accent-strong);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.network-link-enabled:hover,
.network-link-enabled:focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

.network-link-disabled {
  border-color: #e5e0dc;
  background: #f5f3f2;
  color: #858585;
  cursor: not-allowed;
}

.network-label-compact { display: none; }

@media (max-width: 1220px) {
  .site-header { gap: 14px; }
  .wordmark { width: 220px; }
  .primary-nav { gap: 14px; }
  .primary-nav a { font-size: 13px; }
}

@media (max-width: 1260px) {
  .site-header { padding: 13px 24px; }
  .wordmark { margin-right: auto; }
  .menu-toggle { display: flex; order: 4; }
  .primary-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    justify-content: flex-start;
    gap: 8px 27px;
    padding: 18px 24px 21px;
    border-top: 1px solid #e6e0dc;
    background: #fffaf7;
    box-shadow: 0 12px 26px #58585818;
    flex-wrap: wrap;
  }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { font-size: 14px; }
  .primary-nav .nav-initiative-entry {
    flex: 0 0 100%;
    justify-content: flex-start;
    min-height: 44px;
    margin: -3px 0 6px;
    padding: 5px 14px 10px 5px;
    border-width: 0 0 1px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .site-network-bar { padding-right: 24px; padding-left: 24px; }
}

@media (max-width: 600px) {
  .site-header {
    min-height: 76px;
    padding: 11px 16px;
    gap: 10px;
  }
  .wordmark {
    width: auto;
    max-width: calc(100% - 88px);
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }
  .wordmark-top { font-size: 36px; line-height: 1; }
  .wordmark-meta { max-width: 138px; margin-top: 0; }
  .wordmark-division { font-size: 8px; letter-spacing: .25em; }
  .wordmark-expansion { margin-top: 3px; font-size: 9px; line-height: 1.15; }
  .search-toggle, .menu-toggle { width: 34px; height: 34px; padding: 7px; }
  .site-network-bar { justify-content: center; padding: 4px 10px; }
  .network-links { width: 100%; justify-content: center; gap: 6px; }
  .network-link { min-width: 0; padding: 4px 7px; font-size: 10px; }
  .network-label-wide { display: none; }
  .network-label-compact { display: inline; }
}

@media (max-width: 360px) {
  .site-header { padding-right: 11px; padding-left: 11px; gap: 7px; }
  .wordmark { max-width: calc(100% - 76px); gap: 7px; }
  .wordmark-top { font-size: 31px; }
  .wordmark-meta { max-width: 103px; }
  .wordmark-division { font-size: 7px; letter-spacing: .2em; }
  .wordmark-expansion { font-size: 8px; }
  .search-toggle, .menu-toggle { width: 32px; height: 32px; padding: 6px; }
  .network-link { gap: 4px; padding-right: 5px; padding-left: 5px; font-size: 9px; }
  .network-link svg { width: 12px; height: 12px; }
}

.block-audience{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(18px,2.5vw,34px);align-items:center;padding:18px var(--gutter) 12px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fff 0%,#fff 58%,#fff5ee 100%);overflow:hidden}
.audience-copy{position:relative;z-index:2;max-width:650px}
.block-audience .eyebrow{color:var(--accent-strong);font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.block-audience h1{margin-top:7px;color:var(--ink);font:500 clamp(36px,3.1vw,48px)/1.04 var(--font-display);letter-spacing:-.04em}
.audience-heading-line{display:block}
@media(min-width:901px){.audience-heading-line:first-child{white-space:nowrap}}
.audience-lead{max-width:590px;margin-top:10px;color:var(--body);font:400 clamp(18px,1.45vw,23px)/1.24 var(--font-display)}
.audience-text{max-width:600px;margin-top:8px;color:var(--body);font-size:clamp(14px,.92vw,16px);line-height:1.45}
.audience-links{display:flex;align-items:center;flex-wrap:wrap;gap:9px 17px;margin-top:13px}
.audience-links .button{min-height:42px;padding:9px 18px}
.audience-text-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent-strong);font-weight:750}
.audience-text-link svg{width:15px;height:15px}
.audience-carousel{position:relative;height:308px;min-height:0;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fff 72%,#fff5ef 100%)}
.audience-slides,.audience-art{position:absolute;inset:0}
.audience-art{margin:0;display:grid;place-items:center;overflow:hidden}
.audience-art[hidden]{display:none!important}
.audience-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
.audience-dots{position:absolute;z-index:4;left:50%;bottom:6px;display:flex;gap:8px;transform:translateX(-50%)}
.audience-dots button{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:#cfc8c4;box-shadow:0 1px 5px #0002}
.audience-dots button[aria-current="true"]{background:var(--accent)}
@media(max-width:900px){
 .block-audience{grid-template-columns:1fr;padding:24px 22px 10px}
 .audience-carousel{height:300px}
}
@media(max-width:520px){
 .block-audience{padding-top:20px}
 .audience-links{align-items:flex-start;flex-direction:column}
 .audience-carousel{height:250px;border-radius:12px}
}

.block-initiative-intro {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(105deg,#fff 0%,#fff 68%,#fff7f2 100%);
}

.initiative-intro-inner {
  display: grid;
  grid-template-columns: clamp(96px, 8vw, 128px) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(16px, 2.4vw, 32px);
  width: 100%;
  padding: clamp(16px, 1.5vw, 23px) var(--gutter);
}

.initiative-intro-logo {
  display: block;
  width: 100%;
  border-radius: 8px;
}

.initiative-intro-logo:hover { text-decoration: none; }

.initiative-intro-logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 318 / 317;
  object-fit: contain;
  mix-blend-mode: multiply;
  mask-image: linear-gradient(to right, transparent, #000 2%, #000 98%, transparent), linear-gradient(to bottom, transparent, #000 2%, #000);
  mask-composite: intersect;
}

.initiative-intro-copy { min-width: 0; }

.initiative-intro-copy h2 {
  color: var(--ink);
  font: 700 clamp(15px, 1.25vw, 21px)/1.25 var(--font-body);
  letter-spacing: .015em;
  text-transform: uppercase;
}

.initiative-intro-tagline {
  margin-top: 6px;
  color: var(--accent);
  font: 400 clamp(21px, 1.85vw, 29px)/1.15 var(--font-display);
  letter-spacing: -.03em;
}

.initiative-intro-promise {
  margin-top: 4px;
  color: var(--body);
  font-size: clamp(15px, 1.2vw, 19px);
  line-height: 1.35;
}

.initiative-intro-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  color: var(--accent-strong);
  font-size: clamp(15px, 1.2vw, 19px);
  font-weight: 700;
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
}

.initiative-intro-link svg { width: 20px; height: 20px; transition: transform .2s ease; }
.initiative-intro-link:hover { color: #b84400; }
.initiative-intro-link:hover svg { transform: translateX(4px); }

@media (max-width: 980px) {
  .initiative-intro-inner { grid-template-columns: 96px minmax(0, 1fr); }
  .initiative-intro-link { grid-column: 2; justify-self: start; }
}

@media (max-width: 620px) {
  .initiative-intro-inner {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 14px;
    padding: 18px 20px 20px;
  }
  .initiative-intro-copy h2 { font-size: 13px; }
  .initiative-intro-tagline { font-size: 19px; }
  .initiative-intro-promise { font-size: 14px; }
  .initiative-intro-link { grid-column: 1 / -1; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .initiative-intro-link svg { transition: none; }
}

.block-companion{padding:10px 0;background:#fff;border-bottom:1px solid var(--line)}
.companion-stage{position:relative;width:100%;height:calc(clamp(305px,23vw,340px) + 66px);margin:0;overflow:hidden;background:#fff}
.companion-banner{position:absolute;inset:66px 0 0;height:calc(100% - 66px);margin:0}
.companion-banner-art{display:block;width:100%;height:100%;object-fit:contain;object-position:right 2vw bottom 8px}
.companion-fade{position:absolute;inset:0 auto 0 0;width:53%;background:linear-gradient(90deg,#fff 0%,#fff 62%,rgba(255,255,255,.97) 74%,rgba(255,255,255,.82) 85%,transparent 100%);pointer-events:none}
.companion-copy{position:absolute;z-index:2;left:max(4%,var(--gutter));top:26px;width:min(43%,590px)}
.companion-copy h2{margin:0;color:var(--ink);font:400 clamp(36px,3.4vw,54px)/.98 var(--font-display);letter-spacing:-.045em}
.companion-subtitle{max-width:520px;margin-top:10px;color:var(--ink);font-size:clamp(13px,.95vw,16px);line-height:1.35}
.companion-supporting{max-width:520px;margin-top:6px;color:var(--accent-strong);font:italic 400 clamp(14px,1.05vw,18px)/1.25 var(--font-display)}
.companion-links{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:12px}
.companion-links a{display:inline-flex;align-items:center;gap:5px;color:var(--accent-strong);font-size:12px;font-weight:750;line-height:1.25}
.companion-links a svg{width:13px;height:13px}
.companion-signature{position:absolute;z-index:2;left:max(4%,var(--gutter));bottom:22px;display:flex;align-items:center;gap:14px}
.companion-signature-mark{width:72px;height:80px;object-fit:contain;mix-blend-mode:multiply}
.companion-signature p{max-width:220px;margin:0;color:#5e6266;font:400 15px/1.25 var(--font-display);letter-spacing:.045em;text-transform:uppercase}
.companion-quote{position:absolute;z-index:2;top:12px;right:clamp(16px,2vw,40px);width:min(32vw,430px);margin:0;color:#303436;text-align:right}
.companion-quote p{margin:0;white-space:nowrap;font:italic 400 clamp(16px,1.35vw,21px)/1.12 var(--font-display)}
.companion-quote cite{display:block;margin-top:7px;color:#666;font:italic 400 clamp(11px,.85vw,13px)/1.25 var(--font-display)}
@media(max-width:900px) and (min-width:641px){
 .companion-stage{height:401px}
 .companion-fade{width:65%}
 .companion-copy{width:52%}
 .companion-copy h2{font-size:40px}
 .companion-signature-mark{width:60px;height:67px}
 .companion-signature p{font-size:13px}
 .companion-quote{right:2%;width:min(46vw,420px)}
}
@media(max-width:640px){
 .block-companion{padding:8px 0 10px}
 .companion-stage{height:520px}
 .companion-banner{position:absolute;top:auto;right:0;bottom:0;left:0;height:100%;overflow:hidden}
 .companion-banner-art{width:100%;max-width:none;object-position:center bottom;transform:none}
 .companion-fade{display:none}
 .companion-copy{left:0;top:0;width:100%;min-height:220px;padding:24px 6% 16px;background:#fff}
 .companion-copy h2{font-size:clamp(32px,8.5vw,43px)}
 .companion-subtitle{font-size:12px}
 .companion-supporting{font-size:13px}
 .companion-links{gap:7px 13px;margin-top:12px}
 .companion-links a{font-size:12px}
 .companion-signature{left:6%;top:168px;bottom:auto;gap:7px;padding:0;background:transparent}
 .companion-signature-mark{width:38px;height:42px}
 .companion-signature p{max-width:145px;font-size:9px}
 .companion-quote{top:232px;right:5%;width:90%;padding:8px 10px;background:rgba(255,255,255,.88);border-radius:10px}
 .companion-quote p{font-size:clamp(11px,3.5vw,14px)}
 .companion-quote cite{margin-top:4px;font-size:10px}
}

/* RBC compatibility banner */
.compatibility-banner{margin:18px var(--gutter) 30px;padding:clamp(24px,3vw,42px);border:1px solid #ead8cd;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fffaf7 100%);box-shadow:0 12px 30px rgba(83,55,37,.06)}
.compatibility-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1.1fr);gap:clamp(24px,4vw,58px);align-items:end;margin-bottom:24px}
.compatibility-eyebrow{margin:0 0 8px;color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.compatibility-head h2{margin:0;color:var(--ink);font:400 clamp(31px,3.5vw,52px)/1.02 var(--font-display);letter-spacing:-.035em}
.compatibility-intro{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.compatibility-rbc{overflow:hidden;border:1px solid #f1b58f;border-radius:12px;background:#fff}
.compatibility-rbc-title{padding:11px 16px;border-bottom:1px solid #f5d4bf;color:var(--accent-strong);font-size:21px;font-weight:800}
.compatibility-rbc-title span{margin-left:8px;color:#56636b;font-size:11px;font-weight:700}
.compatibility-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 15px}
.compatibility-fact{min-width:0;padding:0 15px;border-left:1px solid var(--line)}
.compatibility-fact:first-child{border-left:0}
.compatibility-fact small{display:block;color:var(--accent-strong);font-size:9px;font-weight:900;letter-spacing:.13em}
.compatibility-fact b{display:block;margin-top:8px;color:var(--bhoc-red);font:400 25px/1 var(--font-display)}
.compatibility-fact strong{display:block;margin-top:4px;color:var(--ink);font-size:10px;line-height:1.25}
.compatibility-fact span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.compatibility-bhoc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:25px;margin-top:14px;padding:23px 20px;border:1px solid #d9d2cd;border-radius:12px;background:linear-gradient(110deg,#fff7f2,#fff)}
.compatibility-bhoc h3{margin:0;color:var(--ink);font:400 clamp(25px,2.4vw,31px)/1.07 var(--font-display)}
.compatibility-bhoc h3 span{display:block;color:var(--accent-strong)}
.compatibility-claim{margin-top:12px;color:var(--ink);font-size:14px;font-weight:800;line-height:1.4}
.compatibility-body{margin:0;color:#56636b;font-size:12px;line-height:1.5}
.compatibility-bhoc-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}
.compatibility-bhoc-fact{padding:12px;border:1px solid #e7ddd6;border-radius:8px;background:#fff}
.compatibility-bhoc-fact b{display:block;color:var(--accent-strong);font-size:10px;line-height:1.2}
.compatibility-bhoc-fact span{display:block;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.3}
@media(max-width:900px){
 .compatibility-head,.compatibility-bhoc{grid-template-columns:1fr}
 .compatibility-head{gap:14px}
 .compatibility-facts{grid-template-columns:1fr 1fr;gap:18px 0}
 .compatibility-fact:nth-child(3){border-left:0}
 .compatibility-bhoc-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .compatibility-banner{margin:14px 14px 24px;padding:22px 16px;border-radius:14px}
 .compatibility-head h2{font-size:34px}
 .compatibility-rbc-title{font-size:18px}
 .compatibility-rbc-title span{display:block;margin:5px 0 0}
 .compatibility-facts{padding:16px 8px}
 .compatibility-fact{padding:0 10px}
 .compatibility-fact b{font-size:23px}
 .compatibility-bhoc{padding:20px 16px}
}


.block-species{padding:11px var(--gutter) 13px;background:linear-gradient(#fff 58%,#fff7f2)}
.block-species .eyebrow{text-transform:uppercase}
.species-carousel{position:relative;margin-top:10px}
.species-track{display:flex;gap:14px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none;scroll-snap-type:x mandatory}
.species-track::-webkit-scrollbar{display:none}
.species-card{flex:0 0 calc((100% - 70px)/6);min-width:0;border:0;background:none;font-family:var(--font-body);text-align:center;scroll-snap-align:start}
.species-card .portrait{display:flex;align-items:end;justify-content:center;height:84px;margin-bottom:4px}
.species-card img{width:auto;max-width:100%;height:80px;object-fit:contain;mix-blend-mode:multiply;transform:scale(.88);transform-origin:center bottom;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 82%,transparent);mask-composite:intersect}
.species-card h3{margin-bottom:2px;font-size:15px;font-weight:600;line-height:1.25}
.species-card p{max-width:160px;margin:auto;font-size:12px;line-height:1.2}
.species-prev,.species-next{position:absolute;z-index:2;top:43px;width:32px;height:32px}
.species-prev{left:-34px}.species-next{right:-34px}.species-prev svg{transform:rotate(180deg)}
.species-prev:disabled,.species-next:disabled{visibility:hidden}
.species-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:1px;margin-top:4px}
.species-dots button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent}
.species-dots button span{width:6px;height:6px;border-radius:50%;background:#d7d0cb}
.species-dots button[aria-current="true"] span{background:var(--accent)}
.species-dots button:hover span{background:var(--ink)}
@media(max-width:900px){.species-card{flex-basis:calc((100% - 42px)/4)}.species-card .portrait{height:90px}.species-prev{left:-18px}.species-next{right:-18px}}
@media(max-width:600px){.block-species{padding:16px 22px 18px}.species-track{gap:14px}.species-card{flex-basis:calc((100% - 14px)/2)}.species-card .portrait{height:92px}.block-species .section-topline{gap:8px}.block-species .eyebrow,.block-species .text-link{font-size:12px}.species-prev{left:-14px}.species-next{right:-14px}}

.block-science-bridge{overflow:hidden;border-bottom:1px solid var(--line);background:#f7f5f3}
.science-bridge-carousel{position:relative;max-width:1460px;margin:0 auto}
.science-bridge-slide{display:grid;grid-template-columns:38% 35% 27%;width:100%;height:400px;min-height:400px;max-height:400px;overflow:hidden}
.science-bridge-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(24px,3vw,46px) clamp(22px,2.6vw,44px);background:#fff7f2}
.science-bridge-eyebrow{margin-bottom:10px;color:var(--accent-strong);font-size:clamp(11px,.8vw,15px);font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.science-bridge-copy h2{color:#585858;font-size:clamp(32px,2.6vw,48px);line-height:1.02;letter-spacing:-.04em}
.science-bridge-description{max-width:590px;margin-top:12px;color:#666;font-size:clamp(13px,.9vw,17px);line-height:1.42}
.science-bridge-action{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:16px;padding:10px 21px;border:2px solid var(--accent);border-radius:999px;background:var(--accent);color:#fff;font-weight:800}
.science-bridge-action svg{width:17px;height:17px}
.science-bridge-photo{min-width:0;overflow:hidden;background:#f3f1ef}.science-bridge-photo img{width:100%;height:100%;object-fit:cover}
.science-bridge-side{display:grid;grid-template-rows:62% 38%;min-width:0}
.science-bridge-comparison{overflow:hidden;background:#fff}.science-bridge-comparison img{width:100%;height:100%;object-fit:contain;padding:10px}
.science-bridge-claims{display:flex;flex-direction:column;justify-content:center;padding:14px 20px;background:#585858;color:#fff}
.science-bridge-claims ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.science-bridge-claims li{position:relative;padding-left:18px;font-size:clamp(11px,.75vw,14px);font-weight:700;line-height:1.3}
.science-bridge-claims li:before{position:absolute;top:.45em;left:0;width:7px;height:7px;border:2px solid #f65c00;border-radius:50%;content:''}
.science-bridge-claims>p{margin-top:9px;font-size:clamp(9px,.65vw,11px);font-weight:700;line-height:1.3;text-transform:uppercase}
.science-bridge-controls{position:absolute;z-index:5;left:50%;bottom:10px;display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;background:#585858e8;transform:translateX(-50%)}
.science-bridge-controls button{display:grid;place-items:center;width:28px;height:28px;padding:6px;border:0;border-radius:50%;background:transparent;color:#fff}
.science-bridge-controls svg{width:14px;height:14px}.science-bridge-prev svg{transform:rotate(180deg)}
.science-bridge-dots{display:flex;gap:0}.science-bridge-dots button{width:21px}
.science-bridge-dots button:before{width:6px;height:6px;border-radius:50%;background:#ffffff73;content:''}
.science-bridge-dots button[aria-current="true"]:before{background:#fff}
@media(max-width:1050px){.science-bridge-slide{grid-template-columns:56% 44%;height:auto;min-height:0;max-height:none}.science-bridge-copy{grid-column:1/-1;padding:34px var(--gutter)}.science-bridge-photo{aspect-ratio:4/3}.science-bridge-side{grid-template-rows:auto auto}.science-bridge-comparison{aspect-ratio:4/3}.science-bridge-claims{min-height:170px}}
@media(max-width:650px){.science-bridge-slide{display:block}.science-bridge-copy{padding:30px 22px 34px}.science-bridge-copy h2{font-size:clamp(34px,9.5vw,44px)}.science-bridge-photo{aspect-ratio:4/3}.science-bridge-comparison{aspect-ratio:4/3}.science-bridge-claims{min-height:170px;padding:24px 22px}.science-bridge-controls{bottom:8px}}
@media(prefers-reduced-motion:reduce){.science-bridge-carousel{scroll-behavior:auto}}

.block-science{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.7fr) auto;
  gap:18px;
  align-items:center;
  padding:14px var(--gutter);
  border-bottom:1px solid var(--line);
  background:#fff
}
.science-strip-heading{min-width:0}
.science-strip-heading .eyebrow{display:block;color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.science-strip-heading p{max-width:300px;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.science-strip-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.science-strip-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:11px;align-items:center;min-height:82px;padding:7px 10px;border:1px solid #e4ded9;border-radius:8px;background:#fffaf7}
.science-strip-card:hover{text-decoration:none;border-color:#ffc5a3;background:#fff7f2}
.science-strip-card img{width:92px;height:66px;object-fit:contain}
.science-strip-card strong{display:block;color:#585858;font-size:14px}
.science-strip-card small{display:block;margin-top:3px;color:#707070;font-size:11px;line-height:1.25}
.science-strip-action{justify-self:end}
.science-strip-action .button{min-width:190px;white-space:nowrap}
@media(max-width:900px){
 .block-science{grid-template-columns:1fr;gap:12px;padding:18px 22px}
 .science-strip-heading p{max-width:none}
 .science-strip-action{justify-self:stretch}
 .science-strip-action .button{width:100%}
}
@media(max-width:560px){
 .science-strip-items{grid-template-columns:1fr}
 .science-strip-card{grid-template-columns:78px 1fr}
 .science-strip-card img{width:78px;height:58px}
}

.block-mission{position:relative;padding:12px var(--gutter) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.mission-carousel{position:relative;max-width:1460px;margin:0 auto;overflow:hidden;border-radius:14px;background:#f6f4f2}
.mission-slides{aspect-ratio:2.8/1}
.mission-banner{position:relative;width:100%;height:100%;margin:0;overflow:hidden;background:#fff}
.mission-banner img{display:block;width:100%;height:100%;object-fit:cover}
.mission-hotspot{position:absolute;z-index:2;top:var(--hotspot-top);left:var(--hotspot-left);width:var(--hotspot-width);height:var(--hotspot-height);border-radius:999px;cursor:pointer}
.mission-hotspot:hover{box-shadow:0 0 0 3px #ffffffb8,0 8px 24px #0003;text-decoration:none}
.mission-hotspot-visible{display:flex;align-items:center;justify-content:center;border:2px solid #f26a21;background:rgba(255,255,255,.94);box-shadow:0 7px 22px #17354a24;color:#c95010;font-size:clamp(10px,1vw,16px);font-weight:750;letter-spacing:.02em;text-transform:uppercase}
.mission-hotspot-visible:hover,.mission-hotspot-visible:focus-visible{background:#fff;color:#a9410b}
.mission-controls{position:absolute;z-index:3;left:50%;bottom:12px;display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:999px;background:#585858d9;transform:translateX(-50%)}
.mission-controls button{display:grid;place-items:center;width:30px;height:30px;padding:6px;border:0;border-radius:50%;background:transparent;color:#fff}
.mission-controls svg{width:14px;height:14px}.mission-prev svg{transform:rotate(180deg)}
.mission-dots{display:flex}.mission-dots button{width:22px;padding:0}.mission-dots button:before{width:7px;height:7px;border-radius:50%;background:#ffffff73;content:''}.mission-dots button[aria-current="true"]:before{background:#fff}
.mission-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1460px;margin:0 auto;padding:9px 0 12px;background:#fff}
.mission-bottom p{color:var(--ink);font:400 clamp(15px,1.15vw,19px)/1.3 var(--font-display)}
.mission-bottom .button{flex:0 0 auto;min-height:44px;padding:10px 20px}
@media(max-width:680px){.block-mission{padding:8px 0 0}.mission-carousel{border-radius:0}.mission-slides{aspect-ratio:2.55/1}.mission-hotspot-visible{border-width:1px;font-size:7px}.mission-controls{bottom:7px}.mission-bottom{align-items:flex-start;flex-direction:column;padding:10px 22px 14px}.mission-bottom .button{width:100%}}
@media(prefers-reduced-motion:reduce){.mission-carousel{scroll-behavior:auto}}

.block-pillars{
  display:grid;
  grid-template-columns:minmax(150px,.55fr) minmax(0,3.45fr);
  gap:16px;
  align-items:stretch;
  padding:11px var(--gutter) 14px;
  border-bottom:1px solid var(--line);
  background:#fff
}
.pillars-label{
  display:flex;
  align-items:center;
  color:#176f9e;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase
}
.pillars-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pillar-card{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 16px;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:7px;
  border:1px solid #e5ecef;
  border-radius:7px;
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease
}
.pillar-card:hover{
  border-color:#f0b28e;
  box-shadow:0 5px 18px #123b5a0d;
  text-decoration:none;
  transform:translateY(-1px)
}
.pillar-photo{
  display:block;
  width:76px;
  height:58px;
  overflow:hidden;
  border-radius:5px;
  background:#f4f6f7
}
.pillar-photo img{width:100%;height:100%;object-fit:cover}
.pillar-copy{min-width:0}
.pillar-copy strong{display:block;color:var(--bhoc-blue);font-size:13px;line-height:1.2}
.pillar-copy small{display:block;margin-top:4px;color:#577084;font-size:10px;line-height:1.28}
.pillar-arrow{display:flex;align-items:center;color:var(--accent-strong)}
.pillar-arrow svg{width:14px;height:14px}
@media(max-width:1050px){
 .block-pillars{grid-template-columns:1fr}
 .pillars-label{padding:0 2px}
 .pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .block-pillars{padding:15px 18px 19px}
 .pillars-grid{grid-template-columns:1fr}
 .pillar-card{grid-template-columns:84px minmax(0,1fr) 18px}
 .pillar-photo{width:84px;height:64px}
 .pillar-copy strong{font-size:14px}
 .pillar-copy small{font-size:11px}
}

.subpage-main {
  min-height: 70vh;
  background: linear-gradient(180deg, #fff8f3 0, #fff 370px);
}


.page-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(38px, 7vw, 100px);
  align-items: end;
  overflow: hidden;
  padding: clamp(48px, 7vw, 92px) var(--gutter) clamp(42px, 5vw, 68px);
  border-bottom: 1px solid var(--line);
}

.page-hero::after {
  content: '';
  position: absolute;
  top: -250px;
  right: -205px;
  width: 420px;
  height: 420px;
  border: 1px solid #f3a779;
  border-radius: 50%;
  box-shadow: 0 0 0 46px #fff0e6, 0 0 0 47px #f2b38d66;
  pointer-events: none;
}

.page-hero > div,
.page-index { position: relative; z-index: 1; }

.page-eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-hero h1 { max-width: 820px; font-size: clamp(43px, 5.1vw, 72px); }

.page-hero p {
  max-width: 770px;
  margin-top: 22px;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.55;
}

.page-index {
  display: grid;
  gap: 0;
  border-top: 1px solid #dfbca6;
}

.page-index a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 4px;
  border-bottom: 1px solid #dfbca6;
  color: var(--ink);
  font-size: 14px;
}

.page-index a::after { content: '→'; margin-left: auto; color: var(--accent); }
.page-index a span { color: var(--accent-strong); font-size: 12px; }
.page-index a:hover { color: var(--accent-strong); text-decoration: none; }

.page-section { padding: clamp(48px, 6vw, 82px) var(--gutter); }
.section-heading { max-width: 760px; margin-bottom: 32px; }

.section-heading h2,
.section-copy h2,
.platform-band h2,
.regulatory-feature h2,
.page-cta h2,
.product-boundary h2 {
  font-size: clamp(34px, 4vw, 54px);
}

.section-copy p {
  max-width: 760px;
  margin-top: 20px;
  font-size: 17px;
  line-height: 1.7;
}

.foundation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(310px, .88fr);
  gap: clamp(38px, 7vw, 95px);
  align-items: start;
  border-top: 1px solid var(--line);
}

.insight-stack { display: grid; gap: 18px; }

.insight-card {
  padding: 27px;
  border: 1px solid #efc4aa;
  border-radius: 12px;
  background: #fff8f3;
}

.insight-card.warm { border-color: #f3a574; background: var(--accent-pale); }

.insight-icon,
.application-icon,
.news-icon,
.direct-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  border: 1px solid var(--accent-soft);
  border-radius: 50%;
  color: var(--accent-strong);
}

.insight-card h3,
.application-card h3,
.news-card h3 { font: 400 25px/1.15 var(--font-display); }

.insight-card p,
.application-card p,
.news-card p { margin-top: 13px; line-height: 1.65; }

.platform-band {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 45px;
  align-items: center;
  padding: clamp(44px, 6vw, 76px) var(--gutter);
  border-top: 6px solid var(--accent);
  background: var(--charcoal);
  color: #ebebeb;
}

.platform-band h2 { max-width: 780px; color: #fff; }
.platform-band p { max-width: 720px; margin-top: 18px; font-size: 17px; line-height: 1.6; }
.platform-band .page-eyebrow { color: var(--accent-soft); }
.platform-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.light-link { color: #fff; }
.light-link svg:first-child { width: 22px; height: 22px; }

.platform-library-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 0;
  border-bottom: 1px solid var(--accent-soft);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.platform-library-link:hover { border-color: #fff; text-decoration: none; }
.platform-library-link svg { width: 18px; height: 18px; }
.source-section { border-bottom: 1px solid var(--line); }

.source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.source-card,
.publication-link {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 21px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.source-card:hover,
.publication-link:hover {
  border-color: var(--accent);
  box-shadow: 0 10px 26px #a9490d14;
  text-decoration: none;
  transform: translateY(-2px);
}

.source-card strong,
.publication-link strong { display: block; color: var(--ink); line-height: 1.3; }

.source-card small,
.publication-link small {
  display: block;
  margin-top: 9px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.source-card > svg,
.publication-link > svg { width: 18px; height: 18px; margin-top: 2px; color: var(--accent); }

.science-page .block-science { padding-top: 54px; padding-bottom: 58px; background: #fff; }
.science-page .science-copy > .button { min-width: 0; }

.application-grid,
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.application-card,
.news-card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 34px #7d42100c;
}

.regulatory-feature {
  display: grid;
  grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr);
  gap: clamp(35px, 7vw, 90px);
  align-items: start;
  padding: clamp(48px, 6vw, 82px) var(--gutter);
  background: var(--accent-pale);
}

.regulatory-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 170px;
  aspect-ratio: 1;
  border: 2px solid var(--accent);
  border-radius: 50%;
  color: var(--ink);
  text-align: center;
}

.regulatory-marker span { font: 400 44px/1 var(--font-display); }
.regulatory-marker small { max-width: 110px; margin-top: 10px; font-size: 12px; line-height: 1.3; }
.regulatory-copy { max-width: 820px; }
.regulatory-copy > p { margin-top: 18px; font-size: 17px; line-height: 1.65; }

.inline-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 26px;
  margin-top: 28px;
}

.page-cta,
.product-boundary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: clamp(42px, 5vw, 68px) var(--gutter);
  background: #fff8f3;
}

.page-cta p,
.product-boundary p { max-width: 800px; margin-top: 13px; line-height: 1.6; }
.page-cta > .button,
.product-boundary > .button { flex: none; }

.publication-groups { padding: 0 var(--gutter); }

.publication-group {
  display: grid;
  grid-template-columns: minmax(290px, .8fr) minmax(0, 1.2fr);
  gap: clamp(35px, 6vw, 80px);
  padding: clamp(48px, 6vw, 76px) 0;
  border-bottom: 1px solid var(--line);
}

.publication-group header { display: flex; align-items: flex-start; gap: 22px; }
.group-number, .option-number { color: var(--accent-strong); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.publication-group h2 { font-size: clamp(30px, 3.3vw, 45px); }
.publication-group header p { margin-top: 15px; line-height: 1.65; }
.publication-links { display: grid; gap: 12px; }

.evidence-note {
  max-width: 900px;
  margin: 0 var(--gutter);
  padding: 28px 0 55px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.news-card { display: flex; flex-direction: column; min-height: 290px; }
.news-card .text-link { margin-top: auto; padding-top: 24px; }
.news-icon svg[aria-hidden] { width: 23px; height: 23px; }

.contact-page .contact-page-hero {
  grid-template-columns: 1fr;
  max-width: 1080px;
  margin: 0 auto;
  padding: 34px 24px 18px;
  border-bottom: 0;
}

.contact-page .contact-page-hero::after { display: none; }
.contact-page .contact-page-hero h1 { max-width: 720px; font-size: clamp(36px, 4vw, 54px); }
.contact-page .contact-page-hero p { max-width: 680px; margin-top: 10px; font-size: 16px; line-height: 1.5; }

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr);
  gap: 18px;
  align-items: start;
  max-width: 1080px;
  margin: 0 auto 54px;
  padding: 0 24px;
}

.contact-form-panel,
.direct-contact {
  padding: 26px 28px;
  border-radius: 14px;
}

.contact-form-panel {
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 10px 30px #7d42100a;
}

.contact-form-panel h2,
.direct-contact h2 {
  margin: 7px 0 18px;
  color: var(--ink);
  font: 400 clamp(28px, 3vw, 40px)/1.05 var(--font-display);
}

.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.field-row { display: flex; flex-direction: column; gap: 6px; }
.field-row label { color: var(--ink); font-size: 13px; font-weight: 600; }
.contact-message-row { grid-column: 1/-1; }

.field-row input,
.field-row select,
.field-row textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #caa88f;
  border-radius: 7px;
  background: #fff;
  color: var(--body);
  font: 16px/1.4 var(--font-body);
}

.field-row input,
.field-row select { min-height: 44px; }

.field-row textarea { min-height: 112px; resize: vertical; }

.contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.contact-human-check {
  grid-column: 1/-1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  min-height: 40px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.contact-human-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.contact-submit-row {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 18px;
}

.contact-form .button { justify-self: start; }
.form-note,
.form-status { max-width: 680px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.form-note { grid-column: 1/-1; margin-top: -2px; }
.form-status:not(:empty) { color: var(--ink); font-weight: 600; }

.direct-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 0;
  border-top: 4px solid var(--accent);
  background: var(--charcoal);
  color: #e7e7e7;
}

.direct-contact h2 { color: #fff; }
.direct-contact > p { max-width: 360px; font-size: 14px; line-height: 1.55; }
.direct-contact .option-number { color: var(--accent-soft); }
.direct-contact .direct-icon { margin: 18px 0 0; border-color: var(--accent-soft); color: var(--accent-soft); }
.direct-contact .button { margin-top: 20px; }
.direct-contact .button-outline { border-color: var(--accent-soft); color: #fff; }
.contact-email-link { margin-top: 18px; color: #fff; overflow-wrap: anywhere; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.heart-fill { fill: none; }


.contact-success {
  padding: 24px 2px 4px;
}
.contact-success h2 {
  margin: 8px 0 10px;
  color: var(--ink);
  font: 400 clamp(30px, 3vw, 40px)/1.05 var(--font-display);
}
.contact-success p {
  max-width: 560px;
  margin-bottom: 20px;
  color: var(--body);
  font-size: 15px;
  line-height: 1.55;
}
.contact-submit-row .button:disabled {
  opacity: .55;
  cursor: wait;
}

/* Product */
.product-definition {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 105px);
  align-items: center;
}

.product-name-card {
  padding: 34px;
  border: 1px solid #efbd9f;
  border-top: 6px solid var(--accent);
  border-radius: 14px;
  background: var(--accent-wash);
}

.product-name-card > strong {
  display: block;
  color: var(--bhoc-blue);
  font: 700 clamp(42px, 5vw, 64px)/1 var(--font-display);
  letter-spacing: -.035em;
}

.product-name-card p { margin-top: 17px; color: var(--ink); font: 400 22px/1.3 var(--font-display); }
.product-name-card p strong { color: var(--accent-strong); font-weight: 700; }
.product-objectives { border-top: 1px solid var(--line); background: #fffaf7; }
.product-objective-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-boundary { border-top: 1px solid var(--line); }

/* Initiative */
.initiative-purpose {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  gap: clamp(42px, 7vw, 105px);
  align-items: center;
}

.initiative-page-mark {
  max-width: 300px;
  padding: 22px;
  border: 1px solid #efc2a8;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 18px 50px #a74e1714;
}

.initiative-page-mark img { width: 100%; height: auto; mix-blend-mode: multiply; }
.initiative-commitments { border-top: 1px solid var(--line); background: #fffaf7; }
.conservation-context { border-top: 1px solid var(--line); }
.conservation-context .section-heading p { margin-top: 16px; line-height: 1.65; }
.conservation-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1000px) {
  .product-objective-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .page-hero { grid-template-columns: 1fr; gap: 30px; }
  .page-index { grid-template-columns: 1fr 1fr; }
  .foundation-layout, .platform-band, .publication-group, .contact-layout, .product-definition, .initiative-purpose { grid-template-columns: 1fr; }
  .source-grid, .application-grid, .news-grid { grid-template-columns: 1fr 1fr; }
  .platform-actions { flex-flow: row wrap; align-items: center; }
  .publication-group { gap: 28px; }
  .contact-form-panel, .direct-contact { padding-inline: var(--gutter); }
  .direct-contact { min-height: 360px; }
  .product-name-card { max-width: 520px; }
  .initiative-page-mark { max-width: 250px; }
}

@media (max-width: 600px) {
  .page-hero { padding: 42px 22px 36px; }
  .page-hero h1 { font-size: 40px; }
  .page-hero p { font-size: 17px; }
  .page-index { grid-template-columns: 1fr; }
  .page-section { padding: 44px 22px; }
  .foundation-layout { gap: 30px; }
  .platform-band, .regulatory-feature, .page-cta, .product-boundary { grid-template-columns: 1fr; padding: 44px 22px; }
  .source-grid, .application-grid, .news-grid, .product-objective-grid, .conservation-source-grid { grid-template-columns: 1fr; }
  .regulatory-marker { width: 128px; }
  .regulatory-marker span { font-size: 36px; }
  .page-cta, .product-boundary { align-items: flex-start; }
  .publication-groups { padding: 0 22px; }
  .publication-group { grid-template-columns: 1fr; }
  .publication-group header { display: block; }
  .group-number { display: block; margin-bottom: 12px; }
  .contact-form-panel, .direct-contact { padding: 44px 22px; }
  .contact-form { grid-template-columns: 1fr; }
  .field-row:nth-child(4), .field-row:nth-child(5) { grid-column: auto; }
  .platform-actions, .inline-actions { flex-direction: column; align-items: flex-start; }
  .science-page .block-science { padding-top: 42px; }
  .product-name-card { padding: 27px; }
  .product-name-card p { font-size: 19px; }
  .initiative-page-mark { max-width: 210px; }
}
.news-page .story-media-initiative-pair {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);min-height:260px;background:#fff}
.news-page .story-media-initiative-pair .story-media-scene {min-width:0;overflow:hidden}
.news-page .story-media-initiative-pair .story-media-scene img {width:100%;height:100%;min-height:260px;object-fit:cover}
.news-page .story-media-initiative-pair .story-media-mark {display:flex;align-items:center;justify-content:center;padding:10px;min-width:0;background:#fff}
.news-page .story-media-initiative-pair .story-media-mark img {width:100%;height:auto;min-height:0;max-height:190px;object-fit:contain}

.feline-article-hero { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 24px var(--gutter) 22px; }
.feline-article-hero > div { width: min(100%, 1160px); margin: 0 auto; }
.feline-article-hero .page-eyebrow { margin-bottom: 10px; }
.feline-article-hero h1 { max-width: none; font-size: clamp(29px, 3.2vw, 44px); line-height: 1.12; }
.feline-article-hero p { max-width: none; margin-top: 12px; font-size: 17px; line-height: 1.45; }
.feline-article-meta { margin-top: 12px; color: var(--muted); font-size: 13px; }
.feline-article-body { width: 100%; max-width: calc(1160px + 2 * var(--gutter)); margin: 0 auto; padding: 24px var(--gutter) 32px; }
.feline-article-body > section + section { margin-top: 24px; }
.feline-article-body h2 { font-size: clamp(23px, 2.1vw, 28px); line-height: 1.2; }
.feline-article-body p { margin-top: 10px; font-size: 16px; line-height: 1.55; }
.feline-article-body .feline-article-sources { font-size: 13px; line-height: 1.5; }
.feline-article-sources a { display: inline-flex; align-items: center; gap: 6px; }
.feline-article-sources svg,.feline-article-references svg { width: 16px; height: 16px; flex-shrink: 0; }
.feline-article-evidence { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 24px; margin: 24px 0; }
.feline-article-document { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.feline-article-document img { display: block; width: 100%; height: auto; }
.feline-article-document figcaption { padding: 9px 12px; font-size: 12px; line-height: 1.5; }
.feline-article-context { margin: 0; padding: 18px 20px; border-left: 3px solid #4e8b70; background: #f5f8f5; }
.feline-article-context h2 { font-size: 22px; }
.feline-article-context p { margin-top: 10px; font-size: 15px; }
.feline-article-references { padding-top: 20px; border-top: 1px solid var(--line); }
.feline-reference-groups { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-top: 18px; }
.feline-article-references h3 { margin-top: 0; font-size: 17px; }
.feline-article-references ul { padding-left: 22px; margin-top: 8px; font-size: 14px; line-height: 1.5; }
.feline-article-references li + li { margin-top: 7px; }
.feline-article-body a { color: var(--teal); }
.feline-article-return { display: flex; flex-wrap: wrap; gap: 14px 30px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
@media(max-width:700px) { .feline-article-body { padding-right: 20px; padding-left: 20px; }.feline-article-evidence,.feline-reference-groups { grid-template-columns: minmax(0, 1fr); gap: 18px; }.feline-article-context { padding: 18px; }.feline-article-return { display: grid; } }

dialog {
  width: min(680px, calc(100vw - 36px));
  max-height: calc(100dvh - 48px);
  padding: 38px;
  border: 1px solid var(--line);
  border-top: 5px solid var(--accent);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 24px 100px #3a3a3a38;
  color: var(--body);
}

dialog::backdrop { background: #2d2d2d80; backdrop-filter: blur(3px); }

.dialog-close {
  float: right;
  width: 44px;
  height: 44px;
  margin: -20px -20px 0 10px;
  border: 0;
  background: none;
  font-size: 30px;
  line-height: 1;
}

.dialog-close:hover { border-radius: 50%; background: var(--accent-wash); }
dialog h2 { margin: 14px 0 22px; font-size: 38px; line-height: 1.1; }
dialog h3 { margin-top: 22px; font-size: 20px; line-height: 1.25; }
dialog p { margin: 16px 0; }
dialog .eyebrow { font-size: 13px; }
dialog a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
dialog .button { margin: 15px 0; }
.dialog-feature { margin: 25px 0; padding-left: 20px; border-left: 2px solid var(--accent); }
.reference-list { padding-left: 22px; }
.reference-list li { padding: 8px 0; }
.reference-list p { margin: 7px 0 15px; font-size: 14px; }
.all-species-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 25px 0; }
.all-species-grid button { padding: 14px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff8f3; font-size: 14px; }
.species-detail-visual { max-width: 160px; margin: 0 auto 20px; }
.species-detail-visual img { width: auto; height: 120px; object-fit: contain; }
#search-dialog label { display: block; font-size: 14px; }
#site-search { width: 100%; min-height: 48px; margin: 12px 0; padding: 12px; border: 1px solid #caa88f; border-radius: 5px; }
#search-results { display: grid; gap: 8px; max-height: 50vh; overflow-y: auto; }
#search-results button { display: flex; justify-content: space-between; gap: 20px; padding: 14px; border: 1px solid var(--line); border-radius: 5px; background: #fff; text-align: left; }
#search-results button small { color: var(--muted); }

@media (max-width: 500px) {
  dialog { padding: 28px 24px; }
  dialog h2 { font-size: 32px; }
  .dialog-close { margin: -16px -13px 0 10px; }
  .all-species-grid { grid-template-columns: repeat(2, 1fr); }
}
