:root {
  --paper: #f8fbfd;
  --white: #ffffff;
  --mist: #eef6fa;
  --mint: #e8f6f2;
  --violet-soft: #f0effb;
  --salmon-soft: #fff0f2;
  --ink: #34536c;
  --deep: #274663;
  --muted: #638095;
  --blue: #315fc5;
  --blue-2: #4879da;
  --teal: #168c83;
  --teal-deep: #137e77;
  --rose: #d9617e;
  --line: #d7e6ee;
  --line-strong: #c2d7e4;
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 27px;
  --page-pad: clamp(22px, 3.6vw, 72px);
  --max: 1500px;
  --shadow: 0 18px 55px rgba(63, 105, 145, .08);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font: 16px/1.66 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--paper); }
a { color: inherit; text-decoration: none; }
button, input, summary { font: inherit; }
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 3px solid var(--rose); outline-offset: 4px; border-radius: 4px; }
::selection { background: #cae8e9; color: var(--deep); }
h1, h2, h3, p, ul, ol, dl { margin-top: 0; }
h1, h2, h3 { color: var(--deep); letter-spacing: -.035em; line-height: 1.17; }
h1 { font-size: 40px; font-weight: 760; margin-bottom: 21px; }
h2 { font-size: 28px; font-weight: 745; margin-bottom: 19px; }
h3 { font-size: 21px; font-weight: 725; margin-bottom: 11px; }
p { font-size: 16px; line-height: 1.72; margin-bottom: 18px; }
small { font-size: 13px; }
strong { color: var(--deep); font-weight: 720; }
.site-shell { max-width: var(--max); margin: 0 auto; padding-inline: var(--page-pad); }
.skip { position: absolute; left: 15px; top: -70px; background: var(--white); padding: 9px 14px; z-index: 20; }
.skip:focus { top: 12px; }
.site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); position: relative; z-index: 4; }
.topline { border-bottom: 1px solid var(--line); background: var(--mist); }
.topline-inner { display: flex; justify-content: space-between; align-items: center; padding-block: 7px; gap: 15px; color: var(--muted); font-size: 12px; letter-spacing: .035em; }
.topline strong { color: var(--teal-deep); font-size: 12px; }
.navbar { display: flex; align-items: center; justify-content: space-between; min-height: 80px; gap: 26px; }
.brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-mark { display: grid; place-items: center; width: 41px; height: 41px; border: 2px solid var(--teal); border-radius: 13px 13px 13px 5px; position: relative; background: var(--mint); }
.brand-mark::before { content: ''; width: 10px; height: 18px; border-radius: 9px; border: 2px solid var(--teal); transform: rotate(42deg); }
.brand-mark::after { content: ''; width: 2px; height: 14px; background: var(--teal); position: absolute; transform: rotate(42deg); }
.brand-name { font-weight: 805; font-size: 21px; letter-spacing: -.055em; color: var(--blue); line-height: 1; }
.brand-name em { color: var(--teal); font-style: normal; }
.brand-sub { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .19em; color: var(--muted); margin-top: 6px; font-weight: 750; }
.nav-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 21px; }
.nav-links a { font-size: 13px; font-weight: 720; padding: 9px 0; transition: color .15s; white-space: nowrap; }
.nav-links a:hover, .nav-links a[aria-current='page'] { color: var(--blue); }
.nav-links a[aria-current='page'] { box-shadow: inset 0 -2px 0 var(--teal); }
.mobile-menu { display: none; }
main { overflow: clip; }
.section { padding-block: clamp(48px, 5.1vw, 83px); }
.section-tight { padding-block: clamp(30px, 3vw, 46px); }
.section-soft { background: var(--mist); border-block: 1px solid #e2edf4; }
.section-white { background: var(--white); border-block: 1px solid var(--line); }
.section-mint { background: var(--mint); }
.section-lilac { background: var(--violet-soft); }
.hero { padding-block: clamp(49px, 5.3vw, 87px) clamp(48px, 5.6vw, 83px); background: radial-gradient(circle at 80% 30%, rgba(212,237,239,.7) 0%, rgba(212,237,239,0) 38%), var(--paper); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.34fr) minmax(340px, .93fr); align-items: center; gap: clamp(36px, 5vw, 90px); }
.hero-copy { min-width: 0; }
.kicker { margin-bottom: 20px; display: flex; gap: 12px; align-items: center; color: var(--teal-deep); font-weight: 780; font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.kicker::before { content: ''; display: block; width: 30px; height: 2px; background: var(--teal); }
.lead { max-width: 720px; font-size: 16px; line-height: 1.62; color: var(--ink); margin-bottom: 23px; }
.lead strong { color: var(--blue); }
.hero-copy > p:last-of-type { max-width: 660px; }
.actions { display: flex; align-items: center; gap: 13px 18px; flex-wrap: wrap; margin-top: 25px; }
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 19px; min-height: 45px; border-radius: 9px; border: 1px solid var(--blue); background: var(--blue); color: var(--white); font-size: 13px; font-weight: 760; transition: background .18s, color .18s, border-color .18s; }
.btn:hover { background: #487cda; border-color: #487cda; }
.btn-outline { background: transparent; color: var(--blue); }
.btn-outline:hover { background: #e8effe; color: var(--blue); }
.text-link { color: var(--blue); font-size: 14px; font-weight: 755; text-decoration: underline; text-decoration-color: #9eb7ee; text-underline-offset: 5px; }
.text-link:hover { color: var(--teal-deep); text-decoration-color: var(--teal); }
.meta-line { color: var(--muted); font-size: 13px; margin: 25px 0 0; }
.hero-panel { min-width: 0; background: var(--white); border: 1px solid var(--line); padding: 26px; border-radius: 23px; box-shadow: var(--shadow); position: relative; }
.panel-cap { display: flex; gap: 12px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 17px; }
.micro { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-deep); }
.panel-cap .micro { margin: 0; }
.visual-waves { display: flex; align-items: center; gap: 5px; }
.visual-waves i { width: 7px; height: 7px; display: block; border-radius: 50%; background: var(--teal); }
.visual-waves i:nth-child(2) { width: 13px; height: 13px; background: #8ac7b8; }
.visual-waves i:nth-child(3) { width: 7px; height: 7px; background: var(--blue-2); }
.blueprint { position: relative; margin: 23px 0 15px; background: var(--mist); border: 1px solid #e3edf4; border-radius: 16px; padding: 23px 24px 16px; }
.blueprint::before { content: ''; position: absolute; width: 120px; height: 120px; right: 13px; top: -3px; border: 1px solid rgba(59,116,192,.16); border-radius: 50%; }
.blueprint::after { content: ''; position: absolute; width: 86px; height: 86px; right: 30px; top: 14px; border: 1px dashed rgba(17,143,131,.25); border-radius: 50%; }
.blueprint .panel-big { display: block; font-size: 34px; font-weight: 800; color: var(--blue); line-height: 1; letter-spacing: -.05em; position: relative; z-index: 1; }
.blueprint .panel-desc { display: block; margin-top: 9px; max-width: 210px; line-height: 1.45; font-size: 13px; color: var(--muted); position: relative; z-index: 1; }
.mini-rows { list-style: none; margin: 0; padding: 0; }
.mini-rows li { padding: 13px 0; display: flex; align-items: start; gap: 15px; border-bottom: 1px solid var(--line); }
.mini-rows li:last-child { border-bottom: 0; padding-bottom: 3px; }
.row-number { color: var(--teal); font-weight: 820; font-size: 12px; margin-top: 2px; }
.mini-rows strong { display: block; font-size: 14px; line-height: 1.3; margin-bottom: 2px; }
.mini-rows small { display: block; color: var(--muted); font-size: 12px; line-height: 1.55; }
.eyebrow { color: var(--teal-deep); font-size: 12px; text-transform: uppercase; letter-spacing: .14em; font-weight: 820; margin-bottom: 14px; }
.section-heading { max-width: 780px; margin-bottom: 29px; }
.section-heading p { margin-bottom: 0; }
.section-heading.wide { max-width: 1010px; }
.section-head-row { display: flex; gap: 28px; justify-content: space-between; align-items: end; margin-bottom: 25px; }
.section-head-row h2 { margin-bottom: 0; }
.section-head-row .text-link { flex-shrink: 0; }
.topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.topic { min-width: 0; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 25px 24px 23px; position: relative; display: flex; flex-direction: column; min-height: 250px; transition: border .18s, transform .18s; }
.topic:hover { border-color: #9abed2; transform: translateY(-2px); }
.topic::before { content: ''; display: block; width: 43px; height: 43px; background: var(--mint); border: 1px solid #ccebe2; border-radius: 13px 13px 13px 4px; margin-bottom: 24px; }
.topic:nth-child(4n+2)::before { background: var(--violet-soft); border-color: #d9d7f1; border-radius: 50%; }
.topic:nth-child(4n+3)::before { background: #e5f2ff; border-color: #cce2f8; transform: rotate(-10deg); }
.topic:nth-child(4n+4)::before { background: var(--salmon-soft); border-color: #f3d3db; border-radius: 50% 10px 50% 10px; }
.topic-label { position: absolute; top: 34px; left: 80px; color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 740; }
.topic h3 { font-size: 20px; margin-bottom: 10px; }
.topic p { font-size: 16px; line-height: 1.55; margin-bottom: 19px; }
.topic .topic-go { color: var(--blue); font-weight: 780; font-size: 13px; margin-top: auto; }
.split { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr); gap: clamp(25px, 4vw, 62px); align-items: start; }
.split.reverse { grid-template-columns: minmax(285px, 1fr) minmax(0, 1.62fr); }
.split.half { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.split > * { min-width: 0; }
.aside-note { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
.aside-note.tint { background: var(--mint); border-color: #d2eee5; }
.aside-note h3 { font-size: 20px; }
.aside-note p:last-child { margin-bottom: 0; }
.aside-note .btn { margin-top: 10px; }
.aside-note ul, .simple-list { padding-left: 19px; margin: 10px 0 19px; }
.aside-note li, .simple-list li { padding: 6px 0; }
.tick-list { list-style: none; padding: 0; margin: 0; }
.tick-list li { padding: 13px 0 13px 32px; position: relative; border-bottom: 1px solid var(--line); }
.tick-list li:last-child { border-bottom: 0; }
.tick-list li::before { content: ''; position: absolute; left: 1px; top: 19px; width: 17px; height: 17px; border: 2px solid var(--teal); border-radius: 50%; }
.tick-list li::after { content: ''; position: absolute; left: 7px; top: 25px; width: 5px; height: 5px; border-radius: 50%; background: var(--teal); }
.line-list { border-top: 1px solid var(--line-strong); margin-top: 20px; }
.line-list .line-item { display: grid; grid-template-columns: 154px 1fr; gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.line-list .line-item strong { font-size: 14px; }
.line-list .line-item p { margin: 0; font-size: 16px; }
.paper-panel { background: var(--white); border-radius: var(--radius-lg); border: 1px solid var(--line); padding: clamp(24px, 3vw, 45px); }
.paper-panel.alt { background: var(--mint); }
.sheet-head { display: flex; gap: 10px; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--blue); padding-bottom: 16px; }
.sheet-head b { color: var(--blue); font-size: 14px; }
.sheet-head span { color: var(--muted); font-size: 12px; }
.sheet-rows { display: grid; }
.sheet-rows .sheet-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; padding: 15px 0; border-bottom: 1px solid var(--line); align-items: center; }
.sheet-rows .sheet-row span { font-size: 14px; color: var(--muted); }
.sheet-rows .sheet-row strong { font-size: 15px; }
.sheet-foot { font-size: 12px; color: var(--muted); margin: 20px 0 0; }
.facts-band { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-block: 1px solid var(--line-strong); margin-top: 31px; }
.fact { padding: 26px 25px 22px 0; }
.fact + .fact { padding-left: 25px; border-left: 1px solid var(--line); }
.fact b { display: block; font-size: 14px; color: var(--blue); margin-bottom: 5px; }
.fact p { margin: 0; font-size: 16px; }
.insights { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 23px; }
.insight { border-top: 3px solid var(--teal); padding-top: 19px; }
.insight:nth-child(2) { border-color: var(--blue); }
.insight:nth-child(3) { border-color: var(--rose); }
.insight h3 { font-size: 19px; }
.insight p { font-size: 16px; margin: 0; }
.quote-panel { padding: 32px 37px; border-left: 4px solid var(--teal); background: var(--mint); border-radius: 0 var(--radius) var(--radius) 0; }
.quote-panel p { font-size: 16px; margin: 0; }
.editorial-rows { border-top: 1px solid var(--line-strong); }
.editorial-row { display: grid; grid-template-columns: 56px minmax(130px,.65fr) minmax(0,1.8fr) auto; gap: 16px; align-items: start; border-bottom: 1px solid var(--line); padding: 23px 0; }
.editorial-row .count { color: var(--teal); font-size: 16px; font-weight: 760; }
.editorial-row h3 { font-size: 18px; margin-bottom: 0; }
.editorial-row p { margin: 0; font-size: 16px; }
.editorial-row a { color: var(--blue); font-weight: 760; font-size: 13px; white-space: nowrap; }
.article-intro { padding-top: 53px; padding-bottom: 37px; }
.article-hero { display: grid; grid-template-columns: minmax(0,1.66fr) minmax(280px,.85fr); gap: clamp(27px,4vw,62px); align-items: center; }
.article-hero h1 { max-width: 820px; }
.article-hero .lead { margin-bottom: 12px; }
.article-path { margin-bottom: 23px; color: var(--muted); font-size: 12px; font-weight: 650; }
.article-path a { color: var(--blue); }
.article-note { background: var(--white); border-radius: var(--radius); border: 1px solid var(--line); padding: 25px; position: relative; }
.article-note::before { content: ''; position: absolute; top: 0; left: 25px; width: 70px; height: 4px; background: var(--teal); border-radius: 0 0 4px 4px; }
.article-note h3 { font-size: 20px; margin-bottom: 10px; }
.article-note p { font-size: 16px; margin-bottom: 0; }
.article-note .micro { margin-bottom: 11px; }
.article-rule { height: 1px; background: var(--line); }
.data-table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--blue); font-size: 14px; }
.data-table th, .data-table td { text-align: left; padding: 16px 16px 16px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table thead th { color: var(--blue); font-weight: 800; background: rgba(235,245,251,.42); padding-left: 11px; }
.data-table tbody td:first-child { font-weight: 740; color: var(--deep); padding-left: 11px; }
.data-table td:last-child, .data-table th:last-child { padding-right: 10px; }
.table-scroll { overflow-x: auto; }
.table-scroll table { min-width: 540px; }
.table-caption { margin: 13px 0 0; font-size: 12px; color: var(--muted); }
.source-block { padding: 25px 0 35px; }
.source-block h2 { font-size: 28px; margin-bottom: 12px; letter-spacing: -.01em; }
.sources { list-style: none; padding: 0; margin: 0; }
.sources li { font-size: 13px; line-height: 1.6; color: var(--muted); padding: 5px 0; }
.sources li::before { content: '— '; color: var(--teal); }
.footlinks { display: flex; flex-wrap: wrap; gap: 12px; }
.footlinks a { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #a1bce2; font-size: 14px; font-weight: 735; }
.topic-bottom { background: var(--mist); padding-block: 48px; border-top: 1px solid var(--line); }
.topic-bottom h2 { margin-bottom: 18px; }
.route-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.route-links a { padding: 21px 23px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); color: var(--blue); font-weight: 770; transition: border .15s; }
.route-links a:hover { border-color: var(--blue-2); }
.route-links a small { display: block; color: var(--muted); font-size: 12px; font-weight: 520; margin-top: 4px; }
.pill-stage { background: var(--violet-soft); border: 1px solid #dadbef; border-radius: var(--radius-lg); padding: 29px; min-height: 255px; display: flex; align-items: center; justify-content: center; position: relative; }
.capsule { width: 192px; height: 88px; border-radius: 60px; display: flex; transform: rotate(-28deg); box-shadow: 11px 20px 24px rgba(64,111,173,.12); overflow: hidden; position: relative; z-index: 1; }
.capsule .cap-left { width: 50%; background: linear-gradient(150deg,#82c9be,#26a495); border-radius: 60px 0 0 60px; border: 3px solid #83c9bf; }
.capsule .cap-right { flex: 1; background: linear-gradient(150deg,#ffffff,#cee4f8); border-radius: 0 60px 60px 0; border: 3px solid #bad1ed; }
.pill-stage::after { content: ''; position: absolute; width: 204px; height: 204px; border: 1px dashed rgba(65,112,193,.24); border-radius: 50%; }
.pill-stage .stage-label { position: absolute; bottom: 18px; left: 24px; color: var(--muted); font-size: 12px; font-weight: 750; }
.step-band { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.step { padding: 24px 23px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.step .stepnum { display: block; color: var(--teal); margin-bottom: 20px; font-size: 25px; font-weight: 810; line-height: 1; }
.step h3 { font-size: 19px; }
.step p { font-size: 16px; margin: 0; }
.term-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 22px; }
.term { padding: 17px 0; border-top: 1px solid var(--line-strong); }
.term dt { font-weight: 770; color: var(--deep); margin-bottom: 6px; }
.term dd { margin: 0; font-size: 15px; }
.mini-chart { border-radius: 16px; border: 1px solid var(--line); padding: 26px; background: var(--white); }
.bar-label { display: flex; justify-content: space-between; gap: 12px; color: var(--deep); font-weight: 760; font-size: 13px; margin: 0 0 9px; }
.bar-track { width: 100%; height: 10px; background: var(--mist); border-radius: 8px; overflow: hidden; margin-bottom: 20px; }
.bar-fill { height: 100%; background: var(--teal); border-radius: 8px; }
.bar-fill.blue { background: var(--blue); }
.chart-note { margin: 1px 0 0; font-size: 12px; color: var(--muted); }
.callout { border-radius: var(--radius); background: var(--violet-soft); padding: 24px 26px; border: 1px solid #deddf0; }
.callout h3 { margin-bottom: 10px; }
.callout p:last-child { margin: 0; }
.site-footer { background: #eaf3f8; border-top: 1px solid var(--line-strong); padding-block: 45px 22px; }
.footer-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 35px; padding-bottom: 32px; }
.footer-grid h3 { font-size: 16px; letter-spacing: 0; margin-bottom: 11px; }
.footer-grid p { font-size: 16px; max-width: 370px; margin: 13px 0 0; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; }
.footer-grid li { padding: 5px 0; }
.footer-grid li a { color: var(--ink); font-size: 14px; }
.footer-grid a:hover { color: var(--blue); }
.footer-bottom { border-top: 1px solid var(--line-strong); padding-top: 19px; display: flex; justify-content: space-between; gap: 18px; color: var(--muted); font-size: 12px; }
.footer-bottom span { margin: 0; font-size: 12px; }
.duo-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.duo-cards .aside-note { height: 100%; }
@media (max-width: 1200px) {
 .nav-links { gap: 3px 13px; }
 .brand-name { font-size: 19px; }
 .topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .topic { min-height: 215px; }
 .topic:nth-child(2n+1) { clear: both; }
}
@media (max-width: 980px) {
 .nav-links { display: none; }
 .mobile-menu { display: block; margin-left: auto; position: relative; }
 .mobile-menu summary { cursor: pointer; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--blue); padding: 9px 13px; font-size: 14px; font-weight: 750; list-style: none; }
 .mobile-menu summary::-webkit-details-marker { display: none; }
 .mobile-menu[open] summary { background: var(--mist); }
 .mobile-items { position: absolute; top: calc(100% + 10px); right: 0; z-index: 10; width: min(82vw,310px); background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 10px; box-shadow: var(--shadow); }
 .mobile-items a { display: block; padding: 10px 11px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; }
 .mobile-items a:last-child { border-bottom: 0; }
 .hero-grid, .article-hero { grid-template-columns: 1fr; gap: 27px; }
 .hero-panel { max-width: 710px; }
 .article-note { max-width: 710px; }
 .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; gap: 18px; }
}
@media (max-width: 700px) {
 .topline-inner { font-size: 10px; }
 .topline-inner span:nth-child(2) { display: none; }
 .navbar { min-height: 72px; }
 h1 { font-size: 40px; overflow-wrap: break-word; }
 h2 { font-size: 28px; overflow-wrap: break-word; }
 .lead { font-size: 16px; }
 .section { padding-block: 42px; }
 .hero { padding-block: 45px; }
 .hero-panel { padding: 20px; }
 .split, .split.reverse, .split.half, .duo-cards { grid-template-columns: 1fr; }
 .topic-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
 .topic { padding: 19px; min-height: 252px; }
 .topic-label { top: 27px; left: 70px; font-size: 10px; }
 .topic h3 { font-size: 19px; }
 .topic p { font-size: 16px; }
 .facts-band, .insights, .step-band, .route-links { grid-template-columns: 1fr; }
 .fact, .fact + .fact { padding: 15px 0; border-left: 0; border-top: 1px solid var(--line); }
 .fact:first-child { border-top: 0; }
 .editorial-row { grid-template-columns: 38px 1fr auto; gap: 11px; }
 .editorial-row p { grid-column: 2 / -1; }
 .line-list .line-item { grid-template-columns: 1fr; gap: 4px; }
 .term-grid { grid-template-columns: 1fr; }
 .footer-grid { grid-template-columns: 1fr 1fr; }
 .footer-grid > div:first-child { grid-column: 1 / -1; }
 .footer-bottom { display: block; }
 .footer-bottom span + span { margin-top: 8px; }
 .section-head-row { align-items: start; flex-direction: column; gap: 13px; }
}
@media (max-width: 420px) {
 .brand-name { font-size: 18px; }
 .brand-mark { width: 37px; height: 37px; }
 .site-shell { padding-inline: 17px; }
 .topic-grid { grid-template-columns: 1fr; }
 .topic { min-height: 0; }
 .topic::before { margin-bottom: 13px; }
 .topic h3 { font-size: 20px; }
 .topic p { font-size: 16px; }
 .topic-label { top: 25px; }
 .paper-panel { padding: 22px; }
 .article-intro { padding-top: 34px; }
 .footer-grid { gap: 18px; }
 .footer-grid li a { font-size: 13px; }
 .actions .btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
.bar-width-61 { width: 61%; }
.bar-width-50 { width: 50%; }

.magnez-split .line-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.magnez-split .line-list .line-item { display: block; padding: 13px 0; border-bottom: 0; }
.magnez-split .line-list .line-item strong { display: block; margin-bottom: 8px; }
.etykiety-split .sheet-rows .sheet-row, .index-labels-split .sheet-rows .sheet-row { padding-block: 11px; }
.etykiety-split .paper-panel, .index-labels-split .paper-panel { padding: 27px; }
@media (max-width:700px) {
 .magnez-split .line-list { grid-template-columns: 1fr; gap: 0; }
 .magnez-split .line-list .line-item { padding: 13px 0; border-bottom: 1px solid var(--line); }
}

.index-evidence-split .line-list, .home-checks-split .line-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.index-evidence-split .line-list .line-item, .home-checks-split .line-list .line-item { display: block; padding: 14px 0; border-bottom: 0; }
.index-evidence-split .line-item strong, .home-checks-split .line-item strong { display: block; margin-bottom: 8px; }
.magnez-split { grid-template-columns: minmax(0,2.13fr) minmax(280px,.9fr); }
@media (max-width:700px) {
 .index-evidence-split .line-list, .home-checks-split .line-list { grid-template-columns: 1fr; gap: 0; }
 .index-evidence-split .line-list .line-item, .home-checks-split .line-list .line-item { padding: 13px 0; border-bottom: 1px solid var(--line); }
 .magnez-split { grid-template-columns: 1fr; }
}


.library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(22px,3vw,47px); }
.library-column { border-top: 3px solid var(--teal); padding-top: 18px; }
.library-column:nth-child(2) { border-color: #7297dd; }
.library-column:nth-child(3) { border-color: #c66e90; }
.library-column h3 { margin-bottom: 15px; font-size: 20px; }
.library-entry { padding: 14px 0; border-bottom: 1px solid var(--line); }
.library-entry a { color: var(--blue); font-size: 16px; font-weight: 780; }
.library-entry a:hover { text-decoration: underline; text-underline-offset: 4px; }
.library-entry p { font-size: 16px; margin: 4px 0 0; }
.research-note { overflow: hidden; border-top: 4px solid var(--teal); }
.research-note .hero-orbit { position:absolute; width: 98px; height: 98px; top:-16px; right:-19px; border: 12px double #d2ecf0; border-radius: 50%; opacity:.7; transform:rotate(-23deg); pointer-events:none; }
.research-note .hero-orbit:after { content:''; width: 34px; height: 34px; border: 2px solid #83bdd5; border-radius: 50%; position:absolute; top:19px; left:19px; }
.research-note > h3, .research-note > p { position: relative; }
.hero-keyfacts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; margin-top: 18px; }
.hero-keyfacts > div { border-top: 1px solid var(--line-strong); padding-top: 10px; }
.hero-keyfacts strong { display: block; color: var(--blue); font-size: 16px; letter-spacing: -.035em; line-height:1.28; overflow-wrap: anywhere; }
.hero-keyfacts span { display: block; font-size: 12px; color: var(--muted); line-height:1.48; margin-top:3px; }
.research-note .hero-keyfacts > div:nth-child(3):last-child { grid-column: 1 / -1; }
.analytic-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.analytical-column { border-left: 3px solid #9ec7d9; padding-left: 20px; }
.analytical-column:nth-child(2) { border-color: #77bbab; }
.analytical-column:nth-child(3) { border-color: #a7a5dc; }
.analytical-column h3 { font-size: 20px; }
.analytical-column p:last-child { margin-bottom: 0; }
.compare-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: start; }
.compare-cell { border-top: 3px solid var(--teal); background: var(--paper); padding: 22px; border-radius: 0 0 15px 15px; min-width:0; }
.compare-cell:nth-child(2) { border-color: #6f8ecc; background: #eef5ff; }
.compare-cell:nth-child(3) { border-color: #be83b0; background: #f7f3fc; }
.compare-index { display: inline-block; margin-bottom: 18px; font-size: 12px; letter-spacing: .1em; font-weight: 800; color: var(--teal-deep); }
.compare-cell h3 { margin-bottom: 9px; font-size: 21px; overflow-wrap: anywhere; }
.compare-cell p:last-child { margin-bottom:0; }
.analytical-halves { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(25px,4vw,62px); }
.analytic-half { border-top: 2px solid var(--line-strong); padding-top: 19px; }
.analytic-half.elevated { border-color: var(--teal); }
.analytic-half .simple-list { margin-bottom: 0; }
.process-lines { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:19px; counter-reset: process; }
.step-line { padding: 20px 0 17px; border-top: 2px solid var(--teal); display:flex; gap:13px; }
.step-line:nth-child(2) { border-color: #799adc; }
.step-line:nth-child(3) { border-color: #be83b0; }
.step-index { font-size: 14px; font-weight: 800; color: var(--blue); flex: 0 0 28px; padding-top:2px; }
.step-line h3 { font-size:18px; margin:0 0 9px; }
.step-line p { margin:0; }
.feature-board { background: var(--white); border:1px solid var(--line); padding: 24px; border-radius: var(--radius); }
.feature-board > h3 { margin: 10px 0 12px; }
.feature-board > p:last-child { margin: 15px 0 0; font-size: 16px; }
.feature-row { display: flex; gap: 16px; border-top: 1px solid var(--line); padding: 11px 0; }
.feature-code { color: var(--teal); font-size: 13px; font-weight: 800; flex: 0 0 27px; }
.feature-row strong { display:block; margin-bottom:3px; font-size:15px; }
.feature-row p { margin: 0; font-size: 16px; }
.aside-note .note-item { border-top:1px solid var(--line-strong); margin-top:11px; padding-top:10px; }
.aside-note .note-item strong { display:block; font-size: 14px; }
.aside-note .note-item p { margin: 3px 0 0; }
.data-table { width:100%; }
.mobile-items { max-height: calc(100dvh - 140px); overflow-y:auto; }
@media (max-width: 1000px) {
 .library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .library-column:last-child { grid-column: 1 / -1; }
 .library-column:last-child .library-entry { display:inline-block; width:calc(50% - 8px); vertical-align:top; margin-right:7px; }
 .compare-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .compare-cell:last-child { grid-column:1 / -1; }
 .hero-keyfacts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
 .library-grid, .analytic-columns, .analytical-halves, .compare-grid, .process-lines { grid-template-columns:1fr; }
 .library-column:last-child { grid-column: auto; }
 .library-column:last-child .library-entry { display:block; width:auto; margin-right:0; }
 .compare-cell:last-child { grid-column:auto; }
 .research-note .hero-orbit { width:77px; height:77px; top:-21px; right:-22px; }
 .step-line { padding-block: 14px; }
 .feature-board { padding:20px; }
}

.split.wide-feature { grid-template-columns: 1fr; gap: 22px; }
.split.wide-feature > div:first-child { max-width: 1040px; }
.split.wide-feature .feature-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px 22px; }
.split.wide-feature .feature-board > .micro,
.split.wide-feature .feature-board > h3,
.split.wide-feature .feature-board > p:last-child { grid-column: 1 / -1; }
.split.wide-feature .feature-row { display: block; padding: 16px 0; }
.split.wide-feature .feature-code { display: block; margin-bottom: 10px; }
@media (max-width: 700px) {
 .split.wide-feature .feature-board { grid-template-columns: 1fr; }
 .split.wide-feature .feature-row { padding: 12px 0; }
}

.footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 44px; }
.footer-grid > div:first-child { grid-column: 1 / -1; display: flex; align-items:center; gap: clamp(24px,4vw,65px); padding-bottom: 23px; border-bottom: 1px solid var(--line-strong); }
.footer-grid > div:first-child p { margin: 0; max-width: 540px; }
@media (max-width: 700px) {
 .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .footer-grid > div:first-child { display: block; }
 .footer-grid > div:first-child p { margin: 15px 0 0; }
}


#kalkulator { scroll-margin-top: 18px; }
.cost-calc { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: var(--white); overflow: hidden; }
.cost-calc-form { padding: clamp(24px,3vw,40px); min-width: 0; }
.cost-type { margin: 0 0 27px; padding: 0; border: 0; min-width: 0; }
.cost-type legend { font-weight: 760; color: var(--deep); font-size: 14px; margin-bottom: 11px; }
.cost-type-options { display: flex; flex-wrap: wrap; gap: 9px; }
.cost-type-option { cursor: pointer; position: relative; }
.cost-type-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cost-type-option span { display: block; padding: 10px 15px; background: var(--paper); color: var(--ink); font-weight: 700; font-size: 13px; border: 1px solid var(--line-strong); border-radius: 9px; }
.cost-type-option input:checked + span { background: var(--mint); border-color: var(--teal); color: var(--teal-deep); }
.cost-type-option input:focus-visible + span { outline: 3px solid var(--rose); outline-offset: 3px; }
.cost-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 16px; }
.cost-field { min-width: 0; }
.cost-field-wide { grid-column: 1 / -1; }
.cost-field label { display: block; color: var(--deep); font-weight: 740; font-size: 13px; line-height: 1.4; margin-bottom: 9px; }
.cost-field input, .cost-field select { width: 100%; height: 49px; min-width: 0; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--white); padding: 0 13px; color: var(--deep); font: inherit; font-size: 16px; }
.cost-field input:focus-visible, .cost-field select:focus-visible { outline: 3px solid #a3cedc; outline-offset: 1px; border-color: var(--teal); }
.cost-field input::placeholder { color: #7c96a6; }
.cost-input-combo { display: grid; grid-template-columns: minmax(0,1fr) 82px; gap: 8px; }
.cost-input-combo select { padding: 0 8px; font-weight: 735; }
.cost-reference-input { grid-template-columns: minmax(0,1fr) 64px; }
.cost-reference-input span { display: grid; place-items: center; color: var(--blue); font-size: 15px; font-weight: 775; border-radius: 9px; border: 1px solid var(--line-strong); background: var(--mist); }
.cost-help { margin: 22px 0 17px; font-size: 14px; line-height: 1.58; color: var(--muted); }
.cost-form-actions { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: 16px; }
.cost-form-actions span { color: var(--muted); font-size: 12px; line-height: 1.45; max-width: 270px; }
.cost-clear { appearance: none; cursor: pointer; border: 1px solid var(--blue); background: var(--white); color: var(--blue); font-size: 13px; font-weight: 790; padding: 10px 15px; border-radius: 9px; }
.cost-clear:hover { background: #e9f0ff; }
.cost-results { min-width: 0; padding: clamp(24px,3vw,40px); background: var(--mist); border-left: 1px solid var(--line-strong); display: flex; flex-direction: column; }
.cost-result-head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; font-size: 11px; font-weight: 790; text-transform: uppercase; letter-spacing: .08em; color: var(--teal-deep); }
.cost-result-head span:last-child { text-align: right; letter-spacing: 0; text-transform: none; font-weight: 610; color: var(--muted); }
.cost-primary { border-bottom: 1px solid var(--line-strong); padding: 24px 0 21px; }
.cost-primary > span { display: block; font-size: 14px; font-weight: 690; color: var(--ink); margin-bottom: 7px; }
.cost-primary > strong { font-size: clamp(32px,3.2vw,45px); line-height: 1.15; color: var(--blue); letter-spacing: -.04em; overflow-wrap: anywhere; }
.cost-results-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.cost-stat { border-bottom: 1px solid var(--line-strong); padding: 20px 0 18px; min-width: 0; }
.cost-stat > span { display: block; color: var(--muted); font-size: 13px; line-height: 1.45; min-height: 38px; }
.cost-stat > strong { display: block; margin-top: 8px; font-size: 20px; color: var(--deep); line-height: 1.32; overflow-wrap: anywhere; }
.cost-stat-active > strong { color: var(--teal-deep); }
.cost-status { margin: 18px 0 0; font-size: 14px; font-weight: 725; color: var(--teal-deep); line-height: 1.55; }
.cost-note { margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
@media (max-width: 1020px) {
    .cost-calc { grid-template-columns: 1fr; }
    .cost-results { border-left: 0; border-top: 1px solid var(--line-strong); }
}
@media (max-width: 560px) {
    .cost-fields { grid-template-columns: 1fr; gap: 17px; }
    .cost-field-wide { grid-column: auto; }
    .cost-calc-form, .cost-results { padding: 23px 20px; }
    .cost-result-head { align-items: start; flex-direction: column; gap: 4px; }
    .cost-result-head span:last-child { text-align: left; }
    .cost-primary > strong { font-size: 36px; }
    .cost-stat > strong { font-size: 18px; }
}


#preparaty, #magnez, #omega, #d3 { scroll-margin-top: 22px; }
.prep-waypoints { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.prep-waypoints a { display: flex; flex-direction: column; gap: 9px; padding: 24px 26px; border: 1px solid var(--line-strong); border-top: 3px solid var(--teal); border-radius: var(--radius); background: var(--white); }
.prep-waypoints a:nth-child(2) { border-top-color: var(--blue); }
.prep-waypoints a:nth-child(3) { border-top-color: #9c7bbf; }
.prep-waypoints a:hover { border-color: var(--blue); }
.prep-waypoints a > span { color: var(--teal-deep); font-size: 11px; font-weight: 800; letter-spacing: .07em; }
.prep-waypoints a > strong { font-size: 22px; letter-spacing: -.03em; }
.prep-waypoints a > small { color: var(--muted); font-size: 13px; }
.prep-date { margin: 19px 0 0; color: var(--muted); font-size: 13px; }
.prep-section-head { display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.prep-section-head .section-heading { min-width: 0; }
.prep-section-head .section-heading p:last-child { margin-bottom: 0; }
.prep-sort { flex-shrink: 0; border: 1px solid var(--blue); border-radius: 9px; padding: 12px 17px; background: var(--white); color: var(--blue); cursor: pointer; font-size: 13px; font-weight: 760; margin-bottom: 4px; }
.prep-sort:hover, .prep-sort[aria-pressed="true"] { background: var(--mist); }
.prep-list { border-top: 2px solid var(--blue); margin-top: 28px; }
.prep-row { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1.35fr) minmax(135px,.75fr) minmax(0,.95fr); gap: 18px; align-items: start; padding: 24px 7px 22px; border-bottom: 1px solid var(--line-strong); }
.prep-product, .prep-composition, .prep-price, .prep-figures { min-width: 0; }
.prep-product h3 { font-size: 18px; line-height: 1.3; margin: 8px 0 9px; }
.prep-brand { font-size: 11px; text-transform: uppercase; font-weight: 810; color: var(--teal-deep); letter-spacing: .08em; }
.prep-form { display: block; font-size: 13px; line-height: 1.4; color: var(--muted); }
.prep-caption { display: block; color: var(--muted); font-size: 12px; font-weight: 700; margin-bottom: 7px; }
.prep-composition > strong { display: block; font-size: 18px; line-height: 1.3; margin-bottom: 5px; }
.prep-meter { appearance: none; display: block; width: 100%; height: 5px; border: 0; border-radius: 10px; background: #dcebf2; overflow: hidden; margin: 15px 0 10px; }
.prep-meter::-webkit-progress-bar { background: #dcebf2; border-radius: 10px; }
.prep-meter::-webkit-progress-value { background: var(--teal); border-radius: 10px; }
.prep-meter::-moz-progress-bar { background: var(--teal); border-radius: 10px; }
.prep-detail { display: block; font-size: 12px; line-height: 1.5; color: var(--muted); }
.prep-price label { display: block; font-size: 12px; font-weight: 740; color: var(--deep); margin-bottom: 9px; }
.prep-price input { display: block; width: 100%; min-width: 0; padding: 10px 13px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--white); color: var(--deep); font: inherit; font-size: 16px; }
.prep-price input:focus-visible { outline: 3px solid #a3cedc; border-color: var(--teal); outline-offset: 2px; }
.prep-price input[aria-invalid="true"] { border-color: var(--rose); }
.prep-price small { display: block; color: var(--muted); font-size: 12px; margin-top: 8px; }
.prep-figures > strong { display: block; color: var(--blue); font-size: 23px; line-height: 1.3; overflow-wrap: anywhere; }
.prep-month-label { display: block; font-size: 12px; color: var(--muted); margin-top: 14px; line-height: 1.5; }
.prep-month-label b { color: var(--deep); }
.prep-finding { margin: 22px 0 0; border-left: 3px solid var(--teal); padding: 8px 0 8px 17px; color: var(--deep); font-size: 15px; font-weight: 670; }
@media (max-width: 1140px) {
  .prep-row { grid-template-columns: minmax(0,1.3fr) minmax(0,1.25fr) minmax(120px,.8fr) minmax(0,1fr); gap: 14px; }
  .prep-product h3 { font-size: 17px; }
  .prep-figures > strong { font-size: 19px; }
}
@media (max-width: 880px) {
  .prep-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .prep-section-head { display: block; }
  .prep-sort { margin-top: 9px; }
}
@media (max-width: 580px) {
  .prep-waypoints { grid-template-columns: 1fr; gap: 10px; }
  .prep-waypoints a { padding: 18px 20px; }
  .prep-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 15px 16px; padding: 23px 0; }
  .prep-product { grid-column: 1 / -1; }
  .prep-composition { grid-column: 1 / -1; }
  .prep-meter { margin-block: 10px; }
  .prep-figures > strong { font-size: 21px; }
  .prep-price, .prep-figures { padding-top: 3px; }
}


.evidence-intro .article-hero { grid-template-columns: minmax(0,1.5fr) minmax(300px,.92fr); }
.evidence-intro .article-lead > p { max-width: 805px; }
.evidence-orientation-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 2px solid var(--blue); border-bottom: 1px solid var(--line-strong); }
.evidence-orientation-row > div { padding: 22px clamp(14px,2.2vw,36px) 7px 0; min-width:0; }
.evidence-orientation-row > div + div { border-left: 1px solid var(--line-strong); padding-left: clamp(14px,2.2vw,36px); }
.evidence-orientation-number { display:block; color:var(--blue); font-size:30px; font-weight:810; letter-spacing:-.045em; line-height:1.22; margin-bottom:9px; }
.evidence-orientation-row strong { display:block; font-size:14px; }
.evidence-orientation-row p { color:var(--ink); font-size:14px; line-height:1.6; margin:8px 0 11px; }
.evidence-chapter .section-heading p a, .evidence-analysis-block p a { color:var(--blue); text-decoration: underline; text-decoration-color:#aac4e6; text-underline-offset:3px; }
.evidence-chapter .section-heading p a:hover, .evidence-analysis-block p a:hover { color:var(--teal-deep); }
.evidence-stack { border-top:2px solid var(--blue); }
.evidence-entry { padding:29px 0 24px; border-bottom:1px solid var(--line-strong); }
.evidence-entry-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:16px; }
.evidence-entry-head > div:first-child { min-width:0; max-width:770px; }
.evidence-id { display:block; margin-bottom:9px; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--teal-deep); }
.evidence-entry-head h3 { font-size:22px; line-height:1.26; margin:0; }
.evidence-tags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; max-width:420px; flex-shrink:0; padding-top:2px; }
.evidence-tags span { border:1px solid var(--line); background:var(--paper); border-radius:20px; padding:6px 10px; color:var(--muted); font-size:11px; font-weight:735; line-height:1.3; }
.evidence-entry-grid { display:grid; grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); gap: clamp(26px,4vw,58px); align-items:start; }
.evidence-result, .evidence-interpret { min-width:0; }
.evidence-result { border-radius:12px; padding:19px 22px 17px; background:var(--paper); border:1px solid var(--line); }
.evidence-caption { display:block; font-size:12px; font-weight:740; line-height:1.5; color:var(--muted); margin-bottom:15px; }
.evidence-values { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:14px; }
.evidence-values > div { min-width:0; }
.evidence-values > div + div { padding-left:14px; border-left:1px solid var(--line); }
.evidence-values span { display:block; font-size:12px; font-weight:720; color:var(--ink); }
.evidence-values strong { display:block; color:var(--blue); font-size:clamp(26px,2.9vw,39px); line-height:1.14; letter-spacing:-.05em; margin:8px 0 4px; overflow-wrap:anywhere; }
.evidence-values > div + div strong { color:var(--teal-deep); }
.evidence-values small { display:block; color:var(--muted); font-size:12px; }
.evidence-math { border-top:1px solid var(--line-strong); display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding-top:11px; margin-top:15px; }
.evidence-math strong { color:var(--teal-deep); font-size:22px; }
.evidence-math span { color:var(--muted); font-size:12px; }
.evidence-interpret p { line-height:1.63; margin:0 0 12px; }
.evidence-interpret p:last-child { margin-bottom:0; }
.evidence-source { font-size:12px; color:var(--muted); line-height:1.65; margin:16px 0 0; padding-left:12px; border-left:2px solid var(--line-strong); overflow-wrap:anywhere; }
.evidence-cohort-note { border-left:3px solid var(--teal); background:var(--mint); padding:16px 20px; margin:26px 0 0; }
.evidence-analysis-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(30px,5vw,75px); border-top:2px solid var(--blue); padding-top:24px; }
.evidence-analysis-block { min-width:0; }
.evidence-analysis-block p:last-child { margin-bottom:0; }
.evidence-analysis-index { display:block; color:var(--teal-deep); font-size:12px; font-weight:820; text-transform:uppercase; letter-spacing:.08em; margin-bottom:13px; }
.evidence-interpretation-strip { display:grid; grid-template-columns: minmax(190px,.33fr) minmax(0,1fr); align-items:start; gap:30px; padding:22px 26px; background:var(--mist); border:1px solid var(--line); border-radius:12px; margin-top:29px; }
.evidence-interpretation-strip strong { color:var(--blue); }
.evidence-interpretation-strip p { margin:0; }
.evidence-formula { border-top:2px solid var(--blue); }
.evidence-formula > div { display:grid; grid-template-columns: minmax(250px,.83fr) minmax(0,1.6fr); gap:22px; padding:17px 0; align-items:center; border-bottom:1px solid var(--line-strong); }
.evidence-formula-label { font-size:14px; color:var(--ink); }
.evidence-formula strong { font-weight:735; font-size:17px; overflow-wrap:anywhere; }
.evidence-method-end { font-size:14px; color:var(--muted); margin:20px 0 0; }
@media (max-width: 1100px) {
    .evidence-entry-head { display:block; }
    .evidence-tags { justify-content:flex-start; max-width: none; margin-top:15px; }
}
@media (max-width: 980px) {
    .evidence-intro .article-hero { grid-template-columns:1fr; }
    .evidence-intro .article-note { max-width:none; }
}
@media (max-width: 760px) {
    .evidence-entry-grid, .evidence-analysis-grid, .evidence-interpretation-strip, .evidence-formula > div { grid-template-columns:1fr; }
    .evidence-entry-grid { gap:19px; }
    .evidence-formula > div, .evidence-interpretation-strip { gap:8px; }
    .evidence-entry-head h3 { font-size:20px; }
    .evidence-orientation-row { grid-template-columns:1fr; }
    .evidence-orientation-row > div, .evidence-orientation-row > div + div { border-left:0; padding:15px 0; }
    .evidence-orientation-row > div + div { border-top:1px solid var(--line-strong); }
}
@media (max-width: 430px) {
    .evidence-result { padding:16px 15px; }
    .evidence-values strong { font-size:29px; }
    .evidence-values { gap:8px; }
    .evidence-values > div + div { padding-left:10px; }
    .evidence-tags span { font-size:10px; }
}


/* Stopka: cztery kolumny nawigacji, dwie grupy tematyczne. */
.footer-brand-row {
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 64px);
    padding-bottom: 23px;
    margin-bottom: 26px;
    border-bottom: 1px solid var(--line-strong);
}
.footer-brand-row p {
    margin: 0;
    max-width: 620px;
    font-size: 16px;
}
.footer-link-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 42px;
    padding-bottom: 30px;
}
.footer-link-group {
    min-width: 0;
}
.footer-link-group h3 {
    font-size: 16px;
    letter-spacing: 0;
    margin-bottom: 12px;
}
.footer-link-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
}
.footer-link-columns ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-link-columns li {
    padding: 5px 0;
}
.footer-link-columns a {
    color: var(--ink);
    font-size: 14px;
    overflow-wrap: break-word;
}
.footer-link-columns a:hover {
    color: var(--blue);
}
.source-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 36px;
    align-items: start;
}
.source-column {
    min-width: 0;
}
@media (max-width: 900px) {
    .footer-link-groups {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
@media (max-width: 700px) {
    .footer-brand-row {
        display: block;
    }
    .footer-brand-row p {
        margin: 15px 0 0;
    }
}
@media (max-width: 600px) {
    .source-columns {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
@media (max-width: 420px) {
    .footer-link-columns {
        gap: 8px 12px;
    }
    .footer-link-columns a {
        font-size: 13px;
    }
}

/* Responsive editorial splits and useful side panels. */
.feature-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.88fr) minmax(290px, 1fr);
    gap: clamp(26px, 3.5vw, 55px);
    align-items: start;
}
.feature-content, .utility-panel { min-width: 0; }
.feature-layout .section-heading { max-width: none; }
.utility-panel {
    background: var(--white);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    padding: clamp(22px, 2.4vw, 34px);
}
.utility-panel--research { background: var(--mint); border-color: #cce8e3; }
.utility-panel .micro { margin-bottom: 11px; }
.utility-panel h3 { font-size: 21px; margin-bottom: 13px; }
.utility-panel p { font-size: 16px; margin-bottom: 19px; }
.utility-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 14px; margin-top: 21px; }
.utility-actions .btn { max-width: 100%; }
.utility-illustration {
    height: 108px;
    margin: 0 0 22px;
    border-radius: 14px;
    background: #e8f3fa;
    border: 1px solid #d7e9f2;
    position: relative;
    overflow: hidden;
}
.utility-illustration--dose { background: linear-gradient(120deg, #eef7fb, #e4f3ee); }
.utility-capsule {
    display: flex;
    width: 114px;
    height: 46px;
    border-radius: 38px;
    overflow: hidden;
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-25deg);
    box-shadow: 10px 12px 16px rgba(67, 110, 149, .12);
    border: 2px solid #7fb6b8;
}
.utility-capsule span { width: 50%; background: #2c9c96; }
.utility-capsule span + span { background: #fff; border-left: 2px solid #82bcb9; }
.utility-orbit {
    width: 145px;
    height: 145px;
    border: 1px dashed #a0c5db;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.utility-illustration--research { background: #e5f4f1; border-color: #c6e8e3; }
.utility-page {
    position: absolute;
    width: 82px;
    height: 76px;
    left: calc(50% - 66px);
    top: 13px;
    padding: 17px 12px;
    border: 2px solid #82b5cf;
    border-radius: 6px;
    background: #fff;
    transform: rotate(-10deg);
    box-shadow: 4px 6px 9px rgba(70, 115, 146, .10);
}
.utility-page--second { left: calc(50% + 3px); top: 22px; height: 69px; transform: rotate(11deg); border-color: #85c6b4; }
.utility-page span { display: block; height: 5px; width: 100%; background: #d5e8f3; margin-bottom: 7px; border-radius: 4px; }
.utility-page span:nth-child(2) { width: 73%; background: #acd9d2; }
.utility-page span:nth-child(3) { width: 85%; }
.utility-illustration--mineral { background: #e0f2ed; height: 94px; border-color: #c6e9e0; }
.utility-molecule { width: 100%; height: 100%; position: relative; }
.utility-molecule::before, .utility-molecule::after { content: ''; position: absolute; height: 2px; width: 85px; background: #8abeb5; left: calc(50% - 43px); top: 46px; transform: rotate(-24deg); }
.utility-molecule::after { transform: rotate(26deg); }
.utility-molecule span { position: absolute; width: 23px; height: 23px; border: 3px solid #469c96; background: #d9f2ed; border-radius: 50%; top: 24px; left: calc(50% - 13px); }
.utility-molecule span:nth-child(2) { width: 31px; height: 31px; top: 41px; left: calc(50% + 36px); background: #c0d7f2; border-color: #6d9fd0; }
.utility-molecule span:nth-child(3) { width: 17px; height: 17px; top: 45px; left: calc(50% - 54px); background: #fff; border-color: #83cbb7; }
.utility-molecule span:nth-child(4) { width: 12px; height: 12px; top: 11px; left: calc(50% + 33px); background: #fff; border-color: #83cbb7; }
.prep-overview .prep-waypoints { gap: 11px; }
.prep-overview .prep-waypoints a { padding: 20px 16px; }
.prep-overview .prep-waypoints a > strong { font-size: 19px; }
.evidence-method .evidence-formula > div { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); }
.evidence-method .evidence-formula strong { font-size: 15px; }
@media (max-width: 1060px) {
    .feature-layout { grid-template-columns: 1fr; }
    .utility-panel { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(0, 1.3fr); column-gap: 25px; align-items: start; }
    .utility-panel .utility-illustration { grid-row: span 4; }
    .utility-panel .micro { grid-column: 2; }
    .utility-panel h3, .utility-panel p, .utility-panel .utility-actions { grid-column: 2; }
}
@media (max-width: 650px) {
    .utility-panel { display: block; }
    .feature-layout .prep-waypoints { grid-template-columns: 1fr; }
    .evidence-method .evidence-formula > div { grid-template-columns: 1fr; gap: 7px; }
    .utility-illustration { max-height: 94px; }
}
