/* baware.ai page layer on top of styles.css (design system v1.3). Built by ops/build_release_v1.py; edit the source in recreate_v0. */
.nav__sub-toggle { padding: 0 8px; margin-left: -8px; }
.megamenu--compact { width: 260px; grid-template-columns: 1fr; padding: 8px; }
@media (min-width: 1024px) and (max-width: 1199px) {
  .nav { display: none; }
  .drawer-toggle { display: inline-grid; }
}
.drawer__sub { list-style: none; margin: 0 0 8px; padding: 0 0 0 16px; }
.drawer__sub > li { border-top: 1px solid var(--hairline); }
.drawer__link--sub { min-height: 44px; padding: 8px 0; font-size: 16px; font-weight: 400; color: var(--body); }
.home-hero { padding: 40px 0 56px; }
.home-hero .display-xl { margin: 0 0 20px; max-width: 22ch; }
.home-hero .lead { max-width: 60ch; margin: 0; }
.home-hero .quote { margin-top: 28px; }
.video-wrap { margin-top: 40px; max-width: 1040px; }
.video-embed { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); overflow: hidden; background: var(--ink); }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.story { padding-block: 56px; border-top: 1px solid var(--hairline); }
.story h2 { margin: 0 0 24px; }
@media (min-width: 1024px) {
  .home-hero { padding-top: 64px; }
  .story { padding-block: 72px; }
}
.jrow { display: flex; flex-wrap: wrap; gap: 16px; }
.jrow > figure { flex: var(--ar, 1) 1 0%; min-width: 0; margin: 0; }
.jrow img { width: 100%; height: auto; border-radius: var(--radius-lg); background: var(--surface-2); }
.jrow--narrow { max-width: 900px; }
@media (max-width: 639px) {
  .jrow > figure { flex-basis: 100%; }
}
.masonry { columns: 3 240px; column-gap: 16px; }
.masonry > figure { break-inside: avoid; margin: 0 0 16px; }
.masonry img { width: 100%; height: auto; border-radius: var(--radius-lg); background: var(--surface-2); }
.grid--3 { display: grid; gap: 16px; }
@media (min-width: 900px) {
  .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
.grid--3 > .card p { font-size: 15.5px; line-height: 1.55; }
.grid--3 > .card p:last-child { margin-bottom: 0; }
.grid--3 > .card h3 { font: 600 19px/1.3 var(--font-sans); margin: 0 0 10px; }
.person__photo--natural img { aspect-ratio: auto; }
.team--single { grid-template-columns: 1fr !important; }
.partner-logos { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; margin: 24px 0 0; padding: 0; }
.partner-logos a { display: grid; place-items: center; min-height: 128px; padding: 16px 24px; background: var(--card); border: 1px solid var(--hairline); border-radius: var(--radius-lg); }
.partner-logos a:hover { border-color: var(--hairline-strong); }
.partner-logos img { max-height: 96px; width: auto; max-width: min(280px, 70vw); }
.ethics-icon { width: 64px; height: 64px; margin: 0 0 16px; }
.footer__acronym { font: 500 13px/1.4 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin: -4px 0 16px; max-width: 34ch; }
.video-band { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 340px) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.video-band__side { margin: 0; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface); }
.video-band__side img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video-portrait { position: relative; aspect-ratio: 9 / 16; border-radius: var(--radius-lg); overflow: hidden; background: var(--ink); }
.video-portrait__crop { position: absolute; inset: 0; }
.video-portrait__crop iframe { position: absolute; top: 50%; left: 50%; width: 316%; height: 100%; transform: translate(-50%, -50%); border: 0; }
@media (max-width: 767px) {
  .video-band { grid-template-columns: 1fr; }
  .video-portrait { order: -1; max-width: 340px; margin: 0 auto; width: 100%; }
  .video-band__side { aspect-ratio: 16 / 9; }
}
.nav__sub-toggle--label { padding: 0 12px; margin-left: 0; display: inline-flex; align-items: center; gap: 6px; }
.megamenu--quick { width: 320px; }
.drawer__link--label { color: var(--muted); cursor: default; }
.hero-grid { display: grid; gap: 28px; align-items: start; }
@media (min-width: 1024px) {
  .hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 40px; }
}
.home-hero .lead { max-width: none; }
.home-hero .quote p { max-width: none; }
.hero-grid__logo { margin: 0; justify-self: end; width: 100%; max-width: 600px; }
.hero-grid__logo img { width: 100%; height: auto; display: block; }
.home-hero .display-xl { max-width: none; }
.jrow > figure, .jrow img, .video-band__side, .video-portrait, .hero-grid__logo { border-radius: var(--radius-lg); overflow: hidden; }
.jrow img { display: block; }
.jrow--narrow { max-width: none; }
.card__list { margin: 0 0 12px; padding-left: 22px; }
.card__list li { margin: 0 0 8px; }
.steps { counter-reset: step; list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
@media (min-width: 768px) {
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
}
.steps li { position: relative; padding: 16px 16px 16px 60px; background: var(--card); border: 1px solid var(--hairline); border-radius: var(--radius-lg); font: 400 var(--lead)/1.5 var(--font-sans); color: var(--body); }
.steps li::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-500); color: #fff; font: 600 14px/1 var(--font-sans); }
.steps--compact { grid-template-columns: 1fr !important; gap: 10px; }
.steps--compact li { padding: 10px 12px 10px 52px; background: transparent; border: 0; }
.card__list--bullets { list-style: disc; }
.figure--welfare { margin: 28px 0 0; max-width: 560px; }
.figure--welfare img { border-radius: var(--radius-lg); }
.solution-label { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font: 600 12px/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-700); }
.solution-label img { width: 28px; height: 28px; }
.bubbles { display: grid; gap: 20px; align-items: center; }
@media (min-width: 900px) {
  .bubbles { grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) minmax(0, 1fr); gap: 24px; }
}
.bubbles__col { display: grid; gap: 22px; }
.bubble { position: relative; background: var(--card); border: 1px solid var(--hairline); border-radius: 18px; padding: 18px 18px 18px 22px; }
.bubble p { margin: 0; font: 400 15.5px/1.5 var(--font-sans); color: var(--body); }
.bubble__num { position: absolute; top: -12px; left: -12px; width: 28px; height: 28px; border-radius: 50%; background: var(--gold-500); color: #fff; font: 600 13px/28px var(--font-sans); text-align: center; }
.bubble__icon { float: right; width: 34px; height: 34px; margin: -2px 0 8px 10px; }
.bubble--tail-right::after, .bubble--tail-left::after { content: ""; position: absolute; top: 50%; width: 16px; height: 16px; background: var(--card); transform: translateY(-50%) rotate(45deg); }
.bubble--tail-right::after { right: -9px; border-right: 1px solid var(--hairline); border-top: 1px solid var(--hairline); }
.bubble--tail-left::after { left: -9px; border-left: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
@media (max-width: 899px) {
  .bubbles__photo { order: -1; max-width: 340px; margin: 0 auto; }
  .bubble--tail-right::after, .bubble--tail-left::after { display: none; }
}
.bubbles__photo { margin: 0; border-radius: var(--radius-lg); overflow: hidden; }
.bubbles__photo img { width: 100%; height: auto; display: block; }
.card__title-icon { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.card__title-icon img { width: 28px; height: 28px; }
.li-num { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--gold-500); color: #fff; font: 600 11px/1 var(--font-sans); margin-right: 8px; vertical-align: middle; }
.deck-tagline { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.deck-tagline img { width: 34px; height: 34px; }
.deck-head { display: grid; gap: 24px; margin-bottom: 32px; }
@media (min-width: 900px) {
  .deck-head { grid-template-columns: minmax(0, 1fr) 300px; align-items: center; }
}
.deck-head__photo { margin: 0; border-radius: var(--radius-lg); overflow: hidden; }
.deck-head__photo img { width: 100%; height: auto; display: block; }
.card__partner { height: 26px; width: auto; margin-top: 16px; opacity: .85; }
.welfare-row { display: grid; gap: 20px; align-items: stretch; margin-top: 28px; }
@media (min-width: 768px) {
  .welfare-row { grid-template-columns: 1fr auto 1fr; }
}
.welfare-fig { margin: 0; background: var(--card); border: 1px solid var(--hairline); border-radius: var(--radius-lg); padding: 18px; display: grid; grid-template-columns: 1fr; justify-items: center; align-content: start; gap: 12px; }
.welfare-fig img { max-height: 300px; width: auto; max-width: 100%; }
.welfare-fig--pair { grid-template-columns: 1fr 1fr; align-items: center; }
.welfare-fig figcaption { grid-column: 1 / -1; font: 500 15px/1.45 var(--font-sans); color: var(--ink); text-align: center; }
.welfare-arrow { align-self: center; width: 0; height: 0; border-top: 22px solid transparent; border-bottom: 22px solid transparent; border-left: 26px solid var(--gold-400); }
@media (max-width: 767px) {
  .welfare-arrow { display: none; }
}
.page-audience { margin: 10px 0 0; font: 400 14px/1.5 var(--font-sans); color: var(--muted); }
.prose--long { max-width: 72ch; }
.prose--long h2 { margin-top: 40px; }
.prose--long h3 { margin-top: 28px; }
.prose--long table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; }
.prose--long th, .prose--long td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--hairline); }
.prose--long th { font-weight: 600; color: var(--ink); background: var(--surface); }
.prose--long .sources-title ~ ol { font-size: 13.5px; color: var(--muted); }
mark.verify { background: var(--gold-200); color: var(--gold-900); padding: 0 4px; border-radius: 4px; font: 500 12px/1.4 var(--font-mono, monospace); }
.figure--intro img { border-radius: var(--radius-lg); }
.figure--intro figcaption { margin-top: 10px; }
.deck-link { margin: 28px 0 0; font: 500 16px/1.5 var(--font-sans); }
.deck-link a { color: var(--gold-700); }
.device-split { padding: 0; overflow: hidden; }
.device-split > h3 { padding: 20px 24px 0; }
.device-split__half { padding: 16px 24px 18px; }
.device-split__half--baware { background: var(--card); }
.device-split__half--druid { background: #f0f5fa; border-top: 1px solid rgba(0,0,0,.06); }
.device-split__who { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font: 600 12px/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; }
.device-split__half--baware .device-split__who { color: var(--gold-700); }
.device-split__half--druid .device-split__who { color: #2b7a8c; }
.device-split__who img { height: 22px; width: auto; }
.device-split .steps--compact { counter-reset: step var(--start, 0); }
.device-split__half--druid .steps--compact { --start: 2; }
.device-split__half--druid .steps li { color: #2b7a8c; }
.device-split__half--druid .steps li::before { background: #69becb; }
.device-split__note { margin: 0; padding: 12px 24px 18px; font: 400 13.5px/1.5 var(--font-sans); color: var(--muted); background: #f0f5fa; }
.people-pair { display: grid; gap: 48px; }
@media (min-width: 768px) {
  .people-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
}
.people-pair__photo { margin: 0 0 20px; }
.people-pair__photo img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--radius-lg); background: var(--surface-2); }
.people-pair .person__name { font-size: var(--display-md); font-variation-settings: "opsz" 36; margin: 0 0 12px; }
.people-pair__text p { margin: 0 0 12px; font-size: var(--body-lg); line-height: 1.55; max-width: 60ch; }
.news-sub { font: 600 20px/1.35 var(--font-sans); color: var(--ink); margin: 28px 0 12px; }
.news-more { margin: 16px 0 0; color: var(--body); }
.link-list { list-style: none; margin: 0; padding: 0; max-width: 760px; }
.link-list > li { padding: 14px 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.link-list > li > a { font-weight: 500; }
.link-list > li > span { display: block; margin-top: 4px; font-size: 14px; color: var(--muted); }
.press-items { display: grid; gap: 16px; margin-top: 24px; }
@media (min-width: 900px) {
  .press-items { grid-template-columns: 3fr 2fr; align-items: start; }
}
.press-item > * { margin: 0; }
.press-item > * + * { margin-top: 8px; }
.press-item__source { font-size: 13px; color: var(--muted); }
.press-item__title { font: 450 22px/1.3 var(--font-display); color: var(--ink); }
.press-item__alt { font-size: 15px; color: var(--body); }
.press-item__by { font-size: 14px; color: var(--muted); }
.press-item .cluster { margin-top: 16px; }
.kit-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 8px 0 16px; max-width: 880px; }
@media (min-width: 640px) {
  .kit-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.kit-strip img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-lg); background: var(--surface-2); }
.kit-logos { display: grid; gap: 16px; margin-top: 8px; max-width: 880px; }
@media (min-width: 640px) {
  .kit-logos { grid-template-columns: 2fr 1fr; }
}
.kit-logo { margin: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
.kit-logo img { display: block; height: 110px; width: auto; max-width: 100%; object-fit: contain; margin: 0 auto; }
.kit-logo figcaption { font-size: 14px; color: var(--body); }
.sound-bites { max-width: 760px; margin: 0; padding-left: 1.2em; }
.sound-bites > li { margin: 0 0 10px; font-size: var(--body-lg); line-height: 1.55; }
.news-item { margin-top: 8px; }
.news-photo { margin: 0; }
.news-photo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 560px; margin: 0 auto; border-radius: var(--radius-lg); background: var(--surface-2); }
.news-photo figcaption { text-align: center; }
.news-photo figcaption { margin-top: 8px; font-size: 14px; color: var(--muted); }
.wwlf-cta { margin: 32px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: var(--body-lg); }
.megamenu__group-label { margin: 0; padding: 10px 12px 2px; color: var(--ink); }
.megamenu__group-label strong { display: block; font-weight: 500; font-size: 14.5px; }
.megamenu__group-label span { display: block; font-size: 13px; color: var(--muted); line-height: 1.4; margin-top: 2px; }
.megamenu .megamenu__sub { margin: 2px 0 4px 12px; padding-left: 4px; border-left: 2px solid var(--hairline); }
.drawer__link--group { color: var(--body); cursor: default; }
.drawer__sub--nested { margin: 0 0 4px; }
.photo-pop { position: relative; overflow: hidden; border-radius: var(--radius-lg); outline-offset: 3px; cursor: pointer; }
.photo-pop img { display: block; }
.photo-pop .photo-pop__text { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 10px 12px; font-size: 13px; line-height: 1.45; color: #fff; background: rgba(17, 17, 17, .84); opacity: 0; transition: opacity .15s ease-out; pointer-events: none; }
.photo-pop:hover .photo-pop__text, .photo-pop:focus .photo-pop__text, .photo-pop:focus-within .photo-pop__text { opacity: 1; }
.photo-pop .photo-pop__credit { position: absolute; right: 6px; bottom: 6px; padding: 1px 6px; font-size: 11px; line-height: 1.5; color: #fff; background: rgba(17, 17, 17, .55); border-radius: 3px; text-decoration: none; }
.photo-pop:hover .photo-pop__credit, .photo-pop:focus .photo-pop__credit { opacity: 0; }
.masonry figcaption { margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--muted); }
@media (max-width: 559px) {
  .btn { white-space: normal; text-align: center; line-height: 1.3; padding-top: 10px; padding-bottom: 10px; }
}
.prose, .prose li, .card { overflow-wrap: anywhere; }
.page-updated { margin: 6px 0 0; font: 400 13px/1.5 var(--font-sans); color: var(--muted); }
.prose a.cite { text-decoration: none; white-space: nowrap; }
.prose ol.sources li { scroll-margin-top: 96px; }
.prose .table-scroll { overflow-x: auto; margin: 20px 0; }
.prose .table-scroll table { margin: 0; min-width: 640px; }
.prose .table-scroll th, .prose .table-scroll td { overflow-wrap: normal; word-break: normal; }
@media (max-width: 639px) {
  .prose .table-scroll { overflow-x: visible; }
  .prose .table-scroll table { min-width: 0; }
  .prose .table-scroll thead { display: none; }
  .prose .table-scroll table, .prose .table-scroll tbody, .prose .table-scroll tr, .prose .table-scroll td { display: block; }
  .prose .table-scroll tr { padding: 14px 0; border-bottom: 1px solid var(--hairline); }
  .prose .table-scroll td { padding: 0; border: 0; }
  .prose .table-scroll td:nth-child(1) { font-weight: 600; color: var(--ink); }
  .prose .table-scroll td:nth-child(2), .prose .table-scroll td:nth-child(3) { display: inline; font-size: 14px; color: var(--muted); }
  .prose .table-scroll td:nth-child(2)::after { content: " · "; }
  .prose .table-scroll td:nth-child(4) { margin-top: 6px; }
}
.prose ol.sources li:target { background: var(--surface); outline: 1px solid var(--hairline-strong); outline-offset: 4px; }
.video-portrait__crop .video-facade { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border: 0; padding: 0; border-radius: 0; cursor: pointer; background: var(--ink); }
.video-portrait__crop .video-facade__poster { object-fit: cover; object-position: 50% 50%; }
.video-portrait__crop .video-facade:focus-visible { outline: 3px solid var(--gold-500, #B8862B); outline-offset: -3px; }
.video-portrait__crop .video-portrait__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: var(--ink); display: block; }
@media (max-width: 639px) {
  .prose .table-scroll--3 td:nth-child(2) { display: block; }
  .prose .table-scroll--3 td:nth-child(2)::after { content: none; }
  .prose .table-scroll--3 td:nth-child(3) { display: block; margin-top: 6px; font-size: inherit; color: inherit; }
}
.prose--long h4 { font: 600 var(--title-md)/1.35 var(--font-sans); color: var(--ink); margin: 32px 0 8px; }
.lang-switch { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 10px; border-radius: var(--radius-pill); color: var(--ink); font: 500 14px/1 var(--font-sans); letter-spacing: .02em; text-decoration: none; white-space: nowrap; }
.lang-switch:hover { background: var(--surface); color: var(--ink); }
.lang-switch img { display: block; width: 21px; height: 14px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(26, 24, 20, .18); }
html[lang="fr"] a[hreflang="en"]:not(.lang-switch):not(.nav__link):not(:has(> strong))::after { content: "EN"; display: inline-block; margin-left: 5px; padding: 1px 4px; border: 1px solid var(--hairline-strong); border-radius: 4px; font: 500 10px/1.3 var(--font-mono); letter-spacing: .04em; color: var(--muted); vertical-align: 2px; }
html[lang="fr"] a[hreflang="en"] > strong::after { content: "EN"; display: inline-block; margin-left: 5px; padding: 1px 4px; border: 1px solid var(--hairline-strong); border-radius: 4px; font: 500 10px/1.3 var(--font-mono); letter-spacing: .04em; color: var(--muted); vertical-align: 2px; }
html[lang="fr"] .nav__link { padding: 0 9px; font-size: 14.5px; }
html[lang="fr"] .nav__item--menu { display: flex; align-items: center; }
@media (min-width: 1024px) and (max-width: 1279px) {
  html[lang="fr"] .nav { display: none; }
  html[lang="fr"] .drawer-toggle { display: inline-grid; }
}
