@font-face {
  font-family: "Nunito Sans";
  src: url("fonts/nunito-sans-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("fonts/nunito-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Jost";
  src: url("fonts/jost-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Jost";
  src: url("fonts/jost-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-nunito: "Nunito Sans";
  --font-jost: "Jost";
  --plum-950: #1c0725;
  --plum-800: #390050;
  --plum-600: #780da3;
  --ink: #08020b;
  --paper: #fbfafc;
  --paper-alt: #f6f2f8;
  --line: #ece5ee;
  --muted: #727078;
  --page: clamp(16px, 3.2vw, 56px);
}

html.is-embedded {
  scroll-padding-top: 0;
}

html.is-embedded,
html.is-embedded body,
html.is-embedded main {
  height: auto;
  min-height: 0;
}

html.is-embedded .hero {
  padding-top: 0;
}

.site-header,
.series-nav,
.final-cta,
.site-footer {
  display: none !important;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 17px/1.5 var(--font-nunito), Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
:focus-visible { outline: 2px solid var(--plum-600); outline-offset: 4px; }

.site-header { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 72px; padding: 0 var(--page); background: rgba(251,250,252,.96); border-bottom: 1px solid var(--line); }
.logo { display: inline-flex; align-items: center; gap: 8px; width: max-content; }
.site-header nav { display: flex; gap: 26px; font-size: 12px; font-weight: 800; }
.site-header nav a:hover { color: var(--plum-600); }
.action { display: inline-flex; justify-self: end; align-items: stretch; gap: 7px; min-height: 46px; width: max-content; font-size: 12px; font-weight: 800; }
.action > * { display: grid; place-items: center; color: var(--paper); background: var(--plum-800); border: 1px solid var(--plum-800); }
.action span { padding: 0 17px; border-radius: 18px; }
.action i { width: 46px; border-radius: 999px; font: 400 19px/1 var(--font-jost), sans-serif; }

.hero { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(390px, .82fr); gap: 12px; padding: 12px var(--page) 0; }
.hero-copy, .evidence-panel { min-height: 610px; border: 1px solid var(--line); border-radius: 24px; }
.hero-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 4.5vw, 72px); background: var(--paper-alt); }
.hero-meta, .panel-topline { display: flex; justify-content: space-between; gap: 20px; color: var(--plum-800); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow { margin: 0 0 15px; color: var(--plum-600); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
h1 { max-width: 920px; margin: 0; font-size: clamp(50px, 5.3vw, 86px); font-weight: 700; letter-spacing: -.045em; line-height: .96; }
h1 em { display: block; color: var(--plum-600); font-family: var(--font-jost), sans-serif; font-weight: 500; }
.hero-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 28px; }
.hero-bottom > p { max-width: 650px; margin: 0; color: var(--muted); font-size: 18px; }
.hero-actions { display: grid; justify-items: end; gap: 14px; }
.hero-actions > a:last-child { color: var(--plum-800); font-size: 11px; font-weight: 800; }

.evidence-panel { display: flex; flex-direction: column; padding: clamp(28px, 3.2vw, 52px); background: #fff; }
.evidence-panel h2 { max-width: 520px; margin: 48px 0 30px; color: var(--plum-800); font: 500 clamp(28px, 2.7vw, 42px)/1.06 var(--font-jost), sans-serif; letter-spacing: -.025em; }
.evidence-flow { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.evidence-flow li { position: relative; display: grid; grid-template-columns: 96px 1fr; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); }
.evidence-flow li:not(:last-child)::after { content: "↓"; position: absolute; right: 0; bottom: -12px; z-index: 2; color: var(--plum-600); background: #fff; padding: 2px 5px; font-size: 12px; }
.evidence-flow span { color: var(--plum-600); font: 500 10px/1.2 var(--font-jost), sans-serif; text-transform: uppercase; }
.evidence-flow strong { font-size: 17px; }
.evidence-flow small { grid-column: 2; margin-top: -20px; color: var(--muted); font-size: 13px; }
.truth-strip { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 22px; }
.truth-strip span { padding: 7px 9px; color: var(--plum-800); background: var(--paper-alt); border-radius: 8px; font-size: 10px; font-weight: 800; }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); margin: 12px var(--page) 24px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.principles div { display: grid; grid-template-columns: 32px 1fr; align-items: center; min-height: 84px; padding: 18px 22px; border-right: 1px solid var(--line); }
.principles div:last-child { border-right: 0; }
.principles span { color: var(--plum-600); font: 500 12px/1 var(--font-jost), sans-serif; }
.principles strong { font-size: 15px; line-height: 1.35; }

.action.is-ghost > * { color: var(--plum-800); background: transparent; }
.action:hover > * { color: #fff; background: var(--plum-950); transform: translateY(-1px); }
.action > * { transition: 180ms ease; }

.section-meta { display: flex; justify-content: space-between; gap: 24px; color: var(--plum-800); font-size: 10px; font-weight: 800; letter-spacing: .11em; line-height: 1.2; text-transform: uppercase; }
.series-nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 var(--page) 24px; }
.series-nav a { display: grid; grid-template-columns: 32px 1fr; align-items: center; min-height: 64px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; transition: 180ms ease; }
.series-nav a:hover { border-color: var(--plum-600); transform: translateY(-1px); }
.series-nav a.is-current { color: #fff; background: var(--plum-800); border-color: var(--plum-800); }
.series-nav span { color: var(--plum-600); font: 500 11px/1 var(--font-jost), sans-serif; }
.series-nav .is-current span { color: #f2a6ff; }
.series-nav strong { font-size: 12px; line-height: 1.25; }

.article-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; margin: 0 var(--page); padding: clamp(68px, 7vw, 104px) 0; border-top: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: minmax(0, .68fr) minmax(280px, .32fr); gap: 16px clamp(34px, 5vw, 82px); align-items: end; }
.section-heading .section-meta { grid-column: 1 / -1; }
.section-heading h2 { grid-column: 1; }
.section-heading > p { grid-column: 2; margin-top: 0; }
.section-heading h2, .process-intro h2, .limits-intro h2, .privacy-copy h2, .faq-intro h2, .final-cta h2 { margin: 22px 0 0; font-size: clamp(36px, 3.5vw, 55px); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.section-heading > p, .process-intro > p, .limits-intro > p, .faq-intro > p { max-width: 560px; margin: 22px 0 0; color: var(--muted); font-size: 17px; line-height: 1.5; }
.section-heading > p { margin-top: 0; }
.section-content { min-width: 0; }

.source-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.source-card { display: flex; flex-direction: column; min-height: 430px; padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.source-card:nth-child(4n+2), .source-card:nth-child(4n+3) { background: var(--paper-alt); }
.source-card > span, .source-rule > span, .evidence-takeaway > span, .validation-card > span, .report-checklist > span { color: var(--plum-600); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.source-card h3 { margin: 28px 0 22px; font-size: 22px; letter-spacing: -.025em; line-height: 1.1; }
.source-card dl { margin: auto 0 0; }
.source-card dl > div { padding: 13px 0; border-top: 1px solid var(--line); }
.source-card dt { margin-bottom: 6px; color: var(--plum-800); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.source-card dd { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.source-card .is-limit dt { color: #aa4c00; }
.source-rule { display: grid; grid-template-columns: 190px 1fr; gap: 24px; margin-top: 10px; padding: 24px 26px; border: 1px solid var(--plum-800); border-radius: 18px; }
.source-rule p { margin: 0; color: var(--plum-800); font-size: 16px; line-height: 1.5; }

.process-section { margin: 0 var(--page); padding: clamp(38px, 5vw, 72px); color: #fff; background: var(--plum-950); border-radius: 28px; }
.process-intro { display: grid; grid-template-columns: minmax(0, .68fr) minmax(280px, .32fr); gap: 16px 44px; align-items: end; padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,.16); }
.process-intro .section-meta { grid-column: 1 / -1; align-self: start; color: #f2a6ff; }
.process-intro h2 { grid-column: 1; margin: 0; }
.process-intro > p { grid-column: 2; max-width: 680px; margin-top: 0; color: #c8bfc9; }
.process-body { padding-top: 16px; }
.process-example { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 18px 0 34px; }
.process-example span { padding: 8px 10px; color: var(--plum-950); background: #fff; border-radius: 8px; font: 500 11px/1.2 var(--font-jost), sans-serif; }
.process-example i { color: #f2a6ff; font-style: normal; }
.process-phase { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px 0 24px; border-top: 1px solid rgba(255,255,255,.12); }
.process-phase > header { display: grid; grid-template-columns: 30px 1fr; align-content: start; gap: 8px; padding: 0; }
.process-phase > header span { color: #f2a6ff; font: 500 13px/1 var(--font-jost), sans-serif; }
.process-phase > header h3 { margin: 0; font-size: 16px; line-height: 1.25; }
.process-phase ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.process-phase:last-of-type ol { grid-template-columns: repeat(2, 1fr); }
.process-phase li { min-height: 220px; padding: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; }
.process-phase li > div { display: flex; justify-content: space-between; gap: 10px; }
.process-phase li > div span { color: #f2a6ff; font: 500 14px/1 var(--font-jost), sans-serif; }
.process-phase li small { color: #cdb6d1; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.process-phase h4 { margin: 40px 0 12px; font-size: 19px; line-height: 1.15; }
.process-phase p { margin: 0; color: #c8bfc9; font-size: 14px; line-height: 1.5; }
.method-note { max-width: 900px; margin: 24px 0 0; color: #a99fab; font-size: 13px; line-height: 1.5; }

.evidence-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.evidence-legend span { padding: 8px 10px; border-radius: 8px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.evidence-legend .is-observed { color: #fff; background: var(--plum-800); }
.evidence-legend .is-calculated { color: var(--plum-800); border: 1px solid var(--plum-800); }
.evidence-legend .is-modeled { color: #5b2b67; background: #ead7ee; }
.evidence-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; }
.evidence-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.evidence-table th { padding: 17px 18px; color: var(--plum-800); background: var(--paper-alt); font-size: 13px; text-align: left; }
.evidence-table th:nth-child(2), .evidence-table td:nth-child(2) { background: #fcf9fd; }
.evidence-table th:nth-child(3), .evidence-table td:nth-child(3) { background: #f4eaf6; }
.evidence-table td { padding: 20px 18px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); font-size: 14px; line-height: 1.5; vertical-align: top; }
.evidence-table td:last-child { border-right: 0; }
.evidence-takeaway { display: grid; grid-template-columns: 170px 1fr; gap: 28px; align-items: center; margin-top: 10px; padding: 24px 26px; border: 1px solid var(--plum-800); border-radius: 18px; }
.evidence-takeaway strong { color: var(--plum-800); font-size: 16px; line-height: 1.4; }

.limits-section { margin: 0 var(--page); padding: clamp(68px, 7vw, 104px) 0; border-top: 1px solid var(--line); }
.limits-intro { display: grid; grid-template-columns: minmax(0, .68fr) minmax(280px, .32fr); gap: 16px clamp(34px, 5vw, 82px); align-items: end; margin-bottom: 34px; }
.limits-intro .section-meta { grid-column: 1 / -1; align-self: start; }
.limits-intro h2 { grid-column: 1; }
.limits-intro > p { grid-column: 2; margin-top: 0; }
.limits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.limits-grid article { min-height: 230px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; }
.limits-grid article:nth-child(even) { background: var(--paper-alt); }
.limits-grid span { color: var(--plum-600); font: 500 12px/1 var(--font-jost), sans-serif; }
.limits-grid h3 { margin: 54px 0 12px; font-size: 20px; line-height: 1.15; }
.limits-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.assurance-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 10px; margin-top: 10px; }
.validation-card, .report-checklist { padding: 30px; border-radius: 20px; }
.validation-card { background: #fff4df; border: 1px solid #f0d5a9; }
.validation-card > span { color: #a45d00; }
.validation-card h3, .report-checklist h3 { margin: 32px 0 14px; font-size: 25px; line-height: 1.1; }
.validation-card p { margin: 0; color: #67450f; font-size: 16px; line-height: 1.5; }
.validation-card small { display: block; margin-top: 28px; padding-top: 18px; color: #86642e; border-top: 1px solid #eccd9a; font-size: 13px; line-height: 1.5; }
.report-checklist { border: 1px solid var(--line); }
.report-checklist ol { margin: 0; padding: 0; list-style: none; }
.report-checklist li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; min-height: 50px; border-top: 1px solid var(--line); }
.report-checklist li span { color: var(--plum-600); font: 500 11px/1 var(--font-jost), sans-serif; }
.report-checklist li p { margin: 0; font-size: 14px; line-height: 1.4; }

.privacy-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; margin: 0 var(--page); padding: clamp(42px, 5vw, 72px); color: #fff; background: var(--plum-800); border-radius: 28px; }
.privacy-copy { display: grid; grid-template-columns: minmax(0, .68fr) minmax(280px, .32fr); gap: 16px clamp(34px, 5vw, 72px); align-items: end; }
.privacy-copy .section-meta { color: #f2a6ff; }
.privacy-copy .section-meta { grid-column: 1 / -1; }
.privacy-copy h2 { grid-column: 1; margin-top: 0; }
.privacy-copy > p { grid-column: 2; margin: 0; color: #cdbbd2; font-size: 16px; line-height: 1.5; }
.privacy-points { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.privacy-points article { min-height: 210px; padding: 22px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; }
.privacy-points span { color: #f2a6ff; font: 500 12px/1 var(--font-jost), sans-serif; }
.privacy-points strong { display: block; margin: 42px 0 10px; font-size: 19px; }
.privacy-points p { margin: 0; color: #cdbbd2; font-size: 14px; line-height: 1.5; }

.faq-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; margin: 0 var(--page); padding: clamp(68px, 7vw, 104px) 0; }
.faq-intro { position: static; display: grid; grid-template-columns: minmax(0, .68fr) minmax(280px, .32fr); gap: 16px clamp(34px, 5vw, 82px); align-items: end; }
.faq-intro .section-meta { grid-column: 1 / -1; }
.faq-intro h2 { grid-column: 1; }
.faq-intro > p { grid-column: 2; margin-top: 0; }
.faq-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.faq-groups > section { align-self: start; padding: 24px; border: 1px solid var(--line); border-radius: 18px; }
.faq-groups > section:nth-child(2), .faq-groups > section:nth-child(3) { background: var(--paper-alt); }
.faq-groups h3 { margin: 0 0 18px; color: var(--plum-800); font-size: 22px; }
.faq-groups details { border-top: 1px solid var(--line); }
.faq-groups summary { display: grid; grid-template-columns: 1fr 20px; gap: 14px; align-items: center; padding: 18px 0; cursor: pointer; font-size: 15px; font-weight: 700; line-height: 1.4; list-style: none; }
.faq-groups summary::-webkit-details-marker { display: none; }
.faq-groups summary i { color: var(--plum-600); font: 500 20px/1 var(--font-jost), sans-serif; text-align: center; transition: transform 180ms ease; }
.faq-groups details[open] summary i { transform: rotate(45deg); }
.faq-groups details p { margin: 0 0 14px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.faq-groups details > a { display: inline-block; margin-bottom: 18px; color: var(--plum-600); font-size: 12px; font-weight: 800; }

.final-cta { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 6vw, 100px); margin: 0 var(--page); padding: clamp(48px, 6vw, 86px); color: #fff; background: var(--plum-950); border-radius: 28px; }
.final-cta .eyebrow { color: #f2a6ff; }
.cta-copy > p { max-width: 600px; margin: 0; color: #c8bfc9; font-size: 17px; line-height: 1.5; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.cta-actions .action > * { color: var(--plum-950); background: #fff; border-color: #fff; }
.cta-actions .action.is-ghost > * { color: #fff; background: transparent; border-color: rgba(255,255,255,.7); }
.cta-actions > a:not(.action) { display: grid; place-items: center; min-height: 46px; padding: 0 12px; color: #f2a6ff; font-size: 11px; font-weight: 800; }

.sources { display: grid; grid-template-columns: .3fr .7fr; gap: 52px; margin: 0 var(--page); padding: 64px 0; border-bottom: 1px solid var(--line); }
.sources > div span { color: var(--plum-600); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sources h2 { margin: 12px 0 0; font-size: 31px; }
.sources ol { margin: 0; padding-left: 20px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.sources > p { grid-column: 2; margin: -20px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.site-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 100px; padding: 0 var(--page); }
.site-footer p { margin: 0; color: var(--muted); font-size: 11px; }
.site-footer > a:last-child { justify-self: end; color: var(--plum-600); font-size: 12px; font-weight: 800; }

@media (max-width: 1120px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .article-section, .faq-section { grid-template-columns: 1fr; }
  .section-heading, .faq-intro { grid-template-columns: minmax(0, .64fr) minmax(260px, .36fr); gap: 16px 32px; }
  .process-phase { grid-template-columns: 1fr; }
  .method-note { margin-left: 0; }
  .privacy-points { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; }
  .hero-copy, .evidence-panel { min-height: 560px; }
  .series-nav { grid-template-columns: 1fr 1fr; }
  .section-heading, .process-intro, .limits-intro, .privacy-copy, .faq-intro { grid-template-columns: 1fr; }
  .section-heading .section-meta, .process-intro .section-meta, .limits-intro .section-meta, .privacy-copy .section-meta, .faq-intro .section-meta,
  .section-heading h2, .process-intro h2, .limits-intro h2, .privacy-copy h2, .faq-intro h2,
  .section-heading > p, .process-intro > p, .limits-intro > p, .privacy-copy > p, .faq-intro > p { grid-column: 1; }
  .section-heading > p, .process-intro > p, .limits-intro > p, .privacy-copy > p, .faq-intro > p { margin-top: 6px; }
  .process-intro h2, .process-intro > p { grid-column: 1; }
  .process-phase { grid-template-columns: 1fr; }
  .process-phase > header { grid-template-columns: 30px 1fr; padding-top: 0; }
  .method-note { margin-left: 0; }
  .limits-grid { grid-template-columns: 1fr 1fr; }
  .privacy-section { grid-template-columns: 1fr; }
  .privacy-copy h2 { margin-top: 24px; }
  .final-cta { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .source-grid, .assurance-grid, .faq-groups, .privacy-points { grid-template-columns: 1fr; }
  .source-card:nth-child(4n+2), .source-card:nth-child(4n+3) { background: #fff; }
  .source-card:nth-child(even) { background: var(--paper-alt); }
  .source-rule, .evidence-takeaway { grid-template-columns: 1fr; }
  .process-phase ol, .process-phase:last-of-type ol { grid-template-columns: 1fr; }
  .process-phase li { min-height: 190px; }
  .limits-grid { grid-template-columns: 1fr; }
  .privacy-points article { min-height: 180px; }
  .sources { grid-template-columns: 1fr; gap: 28px; }
  .sources > p { grid-column: 1; margin-top: 0; }
  .site-footer { grid-template-columns: 1fr auto; }
  .site-footer p { display: none; }
}

@media (max-width: 640px) {
  body { font-size: 17px; }
  .site-header .action span { display: none; }
  .site-header .action { gap: 0; }
  .hero-copy, .evidence-panel { min-width: 0; min-height: auto; }
  .hero-copy { gap: 72px; padding: 28px 24px; }
  h1 { overflow-wrap: anywhere; font-size: clamp(46px, 13vw, 60px); }
  .hero-meta, .panel-topline { flex-wrap: wrap; }
  .hero-bottom { grid-template-columns: 1fr; }
  .hero-bottom, .hero-actions, .hero-actions .action { min-width: 0; max-width: 100%; }
  .hero-actions { justify-items: start; }
  .evidence-panel { padding: 28px 24px; }
  .evidence-flow li { grid-template-columns: minmax(82px, 96px) minmax(0, 1fr); }
  .evidence-flow strong, .evidence-flow small { min-width: 0; overflow-wrap: anywhere; }
  .truth-strip { margin-top: 28px; }
  .principles { grid-template-columns: 1fr; }
  .principles div { border-right: 0; border-bottom: 1px solid var(--line); }
  .principles div:last-child { border-bottom: 0; }
  .series-nav { grid-template-columns: 1fr; }
  .article-section { gap: 34px; }
  .section-heading, .faq-intro { display: block; }
  .section-heading h2, .faq-intro h2 { margin-top: 22px; }
  .source-card { min-height: 390px; padding: 22px; }
  .process-section, .privacy-section, .final-cta { margin-right: 8px; margin-left: 8px; padding: 30px 22px; border-radius: 22px; }
  .process-example { gap: 5px; }
  .process-example span { padding: 7px; font-size: 9px; }
  .limits-grid article { min-height: 210px; }
  .faq-groups > section { padding: 20px; }
  .cta-actions { align-items: flex-start; flex-direction: column; }
  .cta-actions .action { width: 100%; }
  .cta-actions .action span { flex: 1; }
}

@media print {
  .site-header, .hero-actions, .series-nav, .final-cta, .site-footer { display: none !important; }
  body { color: #000; background: #fff; font-size: 10pt; }
  .hero, .article-section, .process-section, .limits-section, .privacy-section, .faq-section, .sources { margin: 0; padding: 22px 0; }
  .hero { display: block; }
  .hero-copy, .evidence-panel { min-height: auto; margin-bottom: 10px; }
  .process-section, .privacy-section { color: #000; background: #fff; border: 1px solid #bbb; }
  .process-phase li, .privacy-points article { color: #000; background: #fff; border-color: #bbb; }
  .process-phase p, .privacy-points p, .privacy-copy > p { color: #444; }
  details { break-inside: avoid; }
  details > * { display: block !important; }
}
