:root {
  color-scheme: light;
  --ink: #17212b;
  --muted: #5d6a75;
  --paper: #ffffff;
  --soft: #f4f7f5;
  --line: #d9e0dc;
  --navy: #16324a;
  --green: #176b55;
  --green-soft: #e7f3ee;
  --amber: #a75d17;
  --amber-soft: #fff2df;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--soft);
  font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.62;
  letter-spacing: 0;
}
a { color: #155f88; text-underline-offset: 3px; }
a:hover { color: #0e435f; }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #d18422;
  outline-offset: 3px;
}
img { max-width: 100%; height: auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 20; background: #fff; padding: 10px 14px; }
.wrap { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-head { background: var(--paper); border-bottom: 1px solid var(--line); }
.head-row { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 800; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; color: #fff; background: var(--green); border-radius: 6px; font-family: Georgia, serif; }
.site-nav { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 700; }
.site-nav a { color: var(--muted); text-decoration: none; }
.site-nav a:hover { color: var(--ink); }
.nav-cta { padding: 8px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
.intro-band { padding: 54px 0 44px; background: var(--navy); color: #fff; }
.intro-band .eyebrow { color: #9fd4c2; }
.intro-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .75fr); gap: 52px; align-items: end; }
.eyebrow { margin: 0 0 8px; color: var(--green); font-size: 12px; font-weight: 800; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; line-height: 1.18; letter-spacing: 0; }
h1 { max-width: 900px; margin-bottom: 16px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 5vw, 58px); font-weight: 700; }
h2 { margin-bottom: 14px; font-family: Georgia, "Times New Roman", serif; font-size: 30px; }
h3 { margin-bottom: 8px; font-size: 18px; }
.lead { max-width: 760px; margin: 0; color: #dbe7e3; font-size: 18px; }
.intro-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 1px solid transparent; border-radius: 6px; font-weight: 800; text-decoration: none; }
.button.primary { color: #fff; background: var(--green); }
.button.secondary { color: var(--ink); background: #fff; border-color: var(--line); }
.intro-stat { border-left: 1px solid rgba(255,255,255,.24); padding-left: 28px; }
.intro-stat strong { display: block; font-family: Georgia, serif; font-size: 40px; line-height: 1; }
.intro-stat span { display: block; margin-top: 8px; color: #c9d8d3; font-size: 14px; }
.breadcrumbs { padding: 16px 0; color: var(--muted); font-size: 13px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 7px; color: #9aa4aa; }
.page { padding: 42px 0 68px; }
.section { padding: 44px 0; border-top: 1px solid var(--line); }
.section:first-child { padding-top: 0; border-top: 0; }
.section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .55fr); gap: 30px; align-items: end; margin-bottom: 24px; }
.section-head p { margin: 0; color: var(--muted); }
.category-grid, .topic-grid, .task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.category-card, .topic-card, .task-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }
.category-card a, .topic-card a, .task-card a { color: var(--ink); text-decoration: none; }
.category-card a:hover, .topic-card a:hover, .task-card a:hover { color: var(--green); }
.category-card p, .topic-card p, .task-card p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.count { display: inline-block; margin-top: 13px; color: var(--green); font-size: 12px; font-weight: 800; }
.topic-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.topic-link, .chip { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 12px; text-decoration: none; }
.topic-link:hover { border-color: #9db7aa; color: var(--green); }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .65fr); gap: 42px; }
.prose { min-width: 0; }
.prose p { max-width: 76ch; }
.prose ul, .prose ol { padding-left: 22px; }
.prose li + li { margin-top: 7px; }
.aside-block { align-self: start; padding: 20px; border-left: 4px solid var(--green); background: var(--green-soft); }
.aside-block h2, .aside-block h3 { font-family: inherit; font-size: 16px; }
.aside-block p:last-child { margin-bottom: 0; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 24px 0; }
.metric { padding: 15px; border: 1px solid var(--line); background: var(--paper); }
.metric strong { display: block; font-size: 22px; }
.metric span { color: var(--muted); font-size: 12px; }
.task-card .meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 9px; }
.task-card h3 { font-family: Georgia, serif; font-size: 18px; }
.task-card .meta span { color: var(--muted); font-size: 11px; font-weight: 700; }
.task-card-preview { position: relative; max-height: 174px; margin-top: 10px; overflow: hidden; }
.task-card-preview::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 42px; pointer-events: none; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); }
.task-card .card-math { margin: 0; font-size: 14px; line-height: 1.5; }
.task-card .card-math .katex-display { margin: 8px 0; overflow: hidden; text-align: left; }
.task-card-link { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 800; }
.task-page { padding: 32px 0 72px; }
.task-heading { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.task-heading h1 { max-width: 980px; color: var(--ink); font-size: clamp(30px, 4vw, 46px); }
.task-heading .lead { color: var(--muted); font-size: 16px; }
.task-body { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 34px; margin-top: 28px; }
.task-content { min-width: 0; }
.task-section { margin-bottom: 16px; padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.task-section h2 { font-family: inherit; font-size: 18px; }
.math-source { white-space: pre-wrap; overflow-wrap: anywhere; font-family: Georgia, "Times New Roman", serif; font-size: 17px; line-height: 1.65; }
.math-source .katex-display { overflow-x: auto; overflow-y: hidden; padding: 7px 0; }
.math-source .katex { font-size: 1em; }
.task-panels details { margin-top: 10px; border: 1px solid var(--line); background: var(--paper); }
.task-panels summary { cursor: pointer; padding: 14px 18px; font-weight: 800; }
.task-panels details[open] summary { border-bottom: 1px solid var(--line); }
.panel-content { padding: 18px; }
.exercise-list { display: grid; gap: 18px; }
.pagination { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0; }
.pagination a, .pagination span { display: grid; min-width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--navy); font-size: 13px; font-weight: 800; text-decoration: none; }
.pagination a:hover { border-color: var(--green); background: var(--green-soft); }
.pagination span[aria-current="page"] { border-color: var(--green); background: var(--green); color: #fff; }
.exercise { scroll-margin-top: 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }
.exercise:target { border-color: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.exercise-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 18px 22px 14px; border-bottom: 1px solid var(--line); }
.exercise-head .eyebrow { margin-bottom: 4px; }
.exercise-head h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 22px; }
.exercise-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.exercise-meta span { padding: 3px 7px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 11px; font-weight: 700; }
.exercise-question { padding: 22px; }
.task-visual { margin: 22px 0 0; padding: 14px; border: 1px solid var(--line); background: #fff; text-align: center; }
.task-visual-image { display: block; width: auto; max-width: 100%; max-height: 900px; margin: 0 auto; object-fit: contain; }
.task-visual figcaption { margin-top: 9px; color: var(--muted); font-family: system-ui, sans-serif; font-size: 12px; text-align: left; }
.exercise-panels { border-top: 1px solid var(--line); }
.exercise-panels details + details { border-top: 1px solid var(--line); }
.exercise-panels summary { cursor: pointer; padding: 12px 22px; color: var(--navy); font-size: 14px; font-weight: 800; }
.exercise-panels details[open] summary { background: #f7faf8; border-bottom: 1px solid var(--line); }
.exercise-panels .panel-content { padding: 18px 22px 22px; }
.exercise-panels .editorial-hint { border-left: 3px solid var(--amber); background: #fffdf8; }
.exercise-panels .editorial-solution { border-left: 3px solid var(--green); background: #fbfefc; }
.exercise-panels .editorial-solution h4 { margin: 16px 0 5px; color: var(--navy); font-size: 13px; text-transform: uppercase; }
.exercise-panels .editorial-solution h4:first-child { margin-top: 0; }
.exercise-foot { display: flex; justify-content: space-between; gap: 16px; padding: 10px 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.exercise-foot a { color: var(--muted); }
.source-note { color: var(--muted); font-size: 13px; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list summary { cursor: pointer; padding: 15px 0; font-weight: 800; }
.faq-list p { margin: -3px 0 16px; color: var(--muted); }
.notice { padding: 18px; border: 1px solid #edc796; background: var(--amber-soft); }
.site-foot { padding: 32px 0; border-top: 1px solid var(--line); background: var(--paper); color: var(--muted); font-size: 13px; }
.foot-row { display: flex; justify-content: space-between; gap: 26px; }
.foot-links { display: flex; flex-wrap: wrap; gap: 16px; }
.foot-links a { color: var(--muted); }
@media (max-width: 900px) {
  .intro-grid, .section-head, .content-grid, .task-body { grid-template-columns: 1fr; }
  .intro-stat { border-left: 0; border-top: 1px solid rgba(255,255,255,.24); padding: 20px 0 0; }
  .category-grid, .topic-grid, .task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .wrap { width: min(calc(100% - 28px), var(--max)); }
  .head-row { align-items: flex-start; padding: 14px 0; }
  .site-nav { gap: 12px; font-size: 12px; }
  .site-nav .nav-optional { display: none; }
  .intro-band { padding: 38px 0 34px; }
  h1 { font-size: 36px; }
  .category-grid, .topic-grid, .task-grid, .metric-row { grid-template-columns: 1fr; }
  .task-section { padding: 18px; }
  .exercise-head { align-items: stretch; flex-direction: column; gap: 10px; padding: 16px; }
  .exercise-meta { justify-content: flex-start; }
  .exercise-question { padding: 18px 16px; }
  .exercise-panels summary, .exercise-panels .panel-content { padding-inline: 16px; }
  .foot-row { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

.rich-text {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.72;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.task-card-preview .rich-text {
  display: -webkit-box;
  max-height: 8.2em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.exercise-question .rich-text {
  font-size: 1.04rem;
}

.task-verb {
  color: #173f32;
  font-weight: 800;
}

.task-focus {
  color: #173f32;
  font-weight: 750;
}

.content-label {
  display: inline-block;
  margin: 0.65rem 0 0.15rem;
  color: #244f40;
  font-size: 0.84rem;
  text-transform: uppercase;
}

.score-label {
  color: #244f40;
  font-weight: 800;
}

.rubric-intro {
  margin: 0 0 0.75rem;
  line-height: 1.55;
}

.rubric-note {
  margin-top: 0.85rem;
}

.task-table-wrap {
  max-width: 760px;
  margin-top: 1.25rem;
  overflow-x: auto;
  border: 1px solid #b9c9c1;
  border-radius: 5px;
  background: #fff;
}

.task-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.task-table th,
.task-table td {
  border-right: 1px solid #d4dfda;
  border-bottom: 1px solid #d4dfda;
  padding: 0.8rem 0.9rem;
  text-align: left;
  vertical-align: top;
}

.task-table th:last-child,
.task-table td:last-child {
  border-right: 0;
}

.task-table tbody tr:last-child td {
  border-bottom: 0;
}

.task-table th {
  background: #eef5f1;
  color: #274c3e;
  font-size: 0.8rem;
  font-weight: 800;
}

.task-table td:first-child {
  width: 45%;
  font-weight: 650;
}

.task-table .answer-cell {
  min-width: 12rem;
  height: 3.2rem;
  background: repeating-linear-gradient(0deg, #fff, #fff 25px, #edf2ef 26px);
}

.task-table[aria-label^="Ocena"] th:not(:first-child),
.task-table[aria-label^="Ocena"] td:not(:first-child) {
  width: 3.25rem;
  min-width: 3.25rem;
  text-align: center;
}

.task-table[aria-label^="Ocena"] .answer-cell {
  min-width: 3.25rem;
}

.task-table[aria-label^="Klasyfikacja"] th,
.task-table[aria-label^="Klasyfikacja"] td {
  width: 50%;
}

.task-table[aria-label^="Klasyfikacja"] .answer-cell {
  min-width: 0;
  height: 7rem;
}

.task-table-numbered th:first-child,
.task-table-numbered td:first-child {
  width: 3rem;
  min-width: 3rem;
  text-align: center;
}

.task-table[aria-label*="uzupełnienie znaczeń" i] th:nth-child(2),
.task-table[aria-label*="uzupełnienie znaczeń" i] td:nth-child(2) {
  width: 58%;
}

.task-table[aria-label*="uzupełnienie znaczeń" i] .answer-cell {
  min-width: 0;
}

.task-table[aria-label^="Fragmenty tekstu Józefa Tischnera"] th:first-child,
.task-table[aria-label^="Fragmenty tekstu Józefa Tischnera"] td:first-child,
.task-table[aria-label^="Zdania z tekstu Marcina Zdrenki"] th:first-child,
.task-table[aria-label^="Zdania z tekstu Marcina Zdrenki"] td:first-child,
.task-table[aria-label="Poprawne przyporządkowanie funkcji wypowiedzi"] th:first-child,
.task-table[aria-label="Poprawne przyporządkowanie funkcji wypowiedzi"] td:first-child {
  width: 68%;
}

.task-table[aria-label^="Fragmenty tekstu Józefa Tischnera"] .answer-cell,
.task-table[aria-label^="Zdania z tekstu Marcina Zdrenki"] .answer-cell {
  min-width: 0;
}

.choice-bank {
  max-width: 760px;
  margin-top: 1.15rem;
}

.choice-bank > strong {
  display: block;
  color: #244f40;
  font-size: 0.82rem;
  text-transform: uppercase;
}

.choice-bank ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

.choice-bank li {
  padding: 0.38rem 0.55rem;
  border: 1px solid #c9d8d1;
  border-radius: 4px;
  background: #f7faf8;
  color: #203f34;
  font-size: 0.9rem;
}

.panel-content .rich-text {
  font-size: 0.96rem;
}

.requirements-heading,
.requirements-domain,
.requirements-candidate {
  display: block;
  margin-top: 0.7rem;
  color: #244f40;
  font-weight: 800;
}

.requirements-heading {
  margin-top: 0;
  font-size: 0.82rem;
  text-transform: uppercase;
}

.requirements-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0.8rem 0 0.45rem;
}

.requirements-pair span {
  padding: 0.42rem 0.62rem;
  border: 1px solid #c9dbd3;
  background: #f5f9f7;
  color: #244f40;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 480px) {
  .requirements-pair {
    grid-template-columns: 1fr;
  }
}

.shared-context {
  margin: 2.25rem 0 0.8rem;
  overflow: hidden;
  border: 1px solid #b9cec4;
  border-radius: 6px;
  background: #f2f7f4;
}

.shared-context-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.25rem 1.4rem 1rem;
  border-bottom: 1px solid #ceddd6;
}

.shared-context-head .eyebrow {
  margin: 0 0 0.2rem;
  color: #42695a;
}

.shared-context-head h3 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.15;
}

.shared-context-head nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.shared-context-head nav a {
  min-width: 2.6rem;
  border: 1px solid #9ebcae;
  border-radius: 4px;
  padding: 0.3rem 0.55rem;
  background: #fff;
  color: #274d3e;
  font-size: 0.8rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.shared-context details,
.shared-context summary {
  border: 0;
}

.shared-context summary {
  padding: 0.8rem 1.4rem;
  color: #315b4b;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
}

.shared-context-body {
  padding: 1.2rem 1.4rem 1.55rem;
  border-top: 1px solid #dbe7e1;
  background: #fff;
}

.shared-context-body .rich-text {
  max-width: 78ch;
  font-size: 1rem;
  line-height: 1.74;
}

.shared-context-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
  border-left: 3px solid #6e9b87;
  padding: 0.65rem 0.8rem;
  background: #f2f7f4;
  color: #4b6259;
  font-size: 0.82rem;
}

.shared-context-notice a {
  color: #285343;
  font-weight: 750;
}

.shared-context-notice span {
  color: #60746c;
  white-space: nowrap;
}

.exercise-figure {
  margin: 1.25rem 0 0;
}

.exercise-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 760px;
  border: 1px solid var(--line);
  background: #fff;
  object-fit: contain;
}

.exercise-figure figcaption {
  margin-top: 0.45rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.answer-note {
  margin: 0;
  color: var(--muted);
  font-style: italic;
}

.sample-answers h4 {
  margin: 0 0 0.65rem;
  color: #173f32;
  font-size: 0.95rem;
}

.sample-answers ol {
  margin: 0;
  padding-left: 1.4rem;
}

.sample-answers li {
  padding: 0.75rem 0 0.9rem 0.25rem;
  border-bottom: 1px solid #d9e2dd;
}

.sample-answers li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sample-answers p {
  margin: 0;
  line-height: 1.68;
}

.word-count {
  display: block;
  margin-top: 0.45rem;
  color: #52645c;
  font-size: 0.82rem;
  font-weight: 700;
}

.task-followup {
  margin: 0.85rem 0 0;
}

.task-followup .rich-text {
  font-weight: 650;
}

.exercise-meta .missing-key {
  border-color: #d6a39d;
  background: #fff1ee;
  color: #8d352e;
}

.polish-scope {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.polish-scope span {
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 0.28rem 0.55rem;
  color: #fff;
  font-size: 0.78rem;
}

@media (max-width: 720px) {
  .shared-context {
    margin-top: 1.6rem;
  }

  .shared-context-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1rem;
  }

  .shared-context-head nav {
    justify-content: flex-start;
  }

  .shared-context summary,
  .shared-context-body {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .shared-context-notice {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .shared-context-notice span {
    white-space: normal;
  }

  .exercise-question .rich-text {
    font-size: 0.98rem;
  }

  .exercise-figure img {
    max-height: 520px;
  }
}

/* Szerokość i rytm zgodne z bazą maturalną serwisu. */
.nkml-site-header,.nkml-site-footer{font-family:'Nunito',system-ui,sans-serif}

.search-controls{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr));gap:14px;margin:18px 0}.search-controls label{font-weight:700}.search-controls input,.search-controls select{display:block;width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}.search-controls input:focus,.search-controls select:focus{outline:3px solid #d18422;outline-offset:2px}#task-more{margin-top:18px;cursor:pointer}@media(max-width:700px){.search-controls{grid-template-columns:1fr}}

/* Samodzielne omówienie biologii; układ zgodny z działami maturalnymi serwisu. */
.bio-hero{background:#16324a;color:#fff;padding:55px 0 59px}
.bio-hero h1{color:#fff;font-family:Quicksand,Nunito,sans-serif;font-size:clamp(2.15rem,4vw,3.55rem);line-height:1.12;max-width:950px;margin:9px 0 16px}
.bio-hero .eyebrow{color:#afe2cf;letter-spacing:.12em}
.bio-hero .lead{max-width:780px;color:#e0ebe7}
.bio-hero .bio-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.bio-hero .bio-actions a{display:inline-flex;align-items:center;min-height:46px;padding:10px 17px;border-radius:10px;font-weight:800;text-decoration:none}
.bio-hero .bio-actions .primary{color:#13384b;background:#f5b94f}.bio-hero .bio-actions .secondary{color:#fff;border:1px solid #aac7c4}
.bio-wrap{width:min(calc(100% - 36px),1100px);margin:auto}
.bio-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0}
.bio-fact,.bio-card,.bio-step,.bio-source{background:#fff;border:1px solid #d9e0dc;border-radius:16px;box-shadow:0 6px 22px rgba(19,50,74,.05)}
.bio-fact{padding:19px}.bio-fact strong{display:block;font-family:Quicksand,Nunito,sans-serif;color:#16324a;font-size:1.55rem}.bio-fact span{display:block;color:#536374;font-size:.9rem}
.bio-main{padding:8px 0 52px}.bio-section{margin:38px 0}.bio-section h2{font-family:Quicksand,Nunito,sans-serif;font-size:clamp(1.55rem,3vw,2rem);color:#16324a;margin:0 0 12px}.bio-section>p{max-width:78ch;margin:0 0 20px}
.bio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bio-card,.bio-step,.bio-source{padding:23px}.bio-card h3,.bio-step h3{font-family:Quicksand,Nunito,sans-serif;color:#16324a;margin:0 0 11px}.bio-card p,.bio-step p{margin:0 0 11px}.bio-card p:last-child,.bio-step p:last-child{margin-bottom:0}
.bio-kicker{font-size:.75rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#176b55;margin-bottom:12px!important}.bio-note{background:#e7f3ee;border-left:5px solid #176b55;border-radius:0 12px 12px 0;padding:20px 22px;max-width:850px;margin:20px 0}
.bio-note p:last-child{margin-bottom:0}.bio-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bio-step ol{margin:0;padding-left:22px}.bio-step li{margin:9px 0}.bio-source{max-width:900px}.bio-source ul{margin:0;padding-left:22px}.bio-source li{margin:8px 0}.bio-muted{font-size:.92rem;color:#5d6a75}.bio-copyright{border-top:1px solid #d9e0dc;padding-top:15px;margin-top:18px;color:#536374}
@media(max-width:790px){.bio-grid{grid-template-columns:1fr}.bio-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.bio-steps{grid-template-columns:1fr}}
@media(max-width:460px){.bio-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.bio-fact{padding:14px}.bio-fact strong{font-size:1.25rem}.bio-card,.bio-step,.bio-source{padding:18px}}
