@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/nunito-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/nunito-latin.woff2") format("woff2");
  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";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/jost-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/jost-latin.woff2") format("woff2");
  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", Arial, sans-serif;
  --font-jost: "Jost", Arial, sans-serif;
}

:root {
  --plum-950: #1c0725;
  --plum-900: #2e1732;
  --plum-800: #390050;
  --plum-700: #632883;
  --plum-500: #780da3;
  --plum-300: #9467bd;
  --plum-100: #f19cff;
  --ink: #08020b;
  --paper: #fbfafc;
  --paper-alt: #f6f2f8;
  --hairline: #f1ecf2;
  --stone-700: #7f7f7f;
  --stone-600: #a2a2a8;
  --radius: 20px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --page: clamp(16px, 3.2vw, 56px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-nunito), Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
::selection { color: var(--paper); background: var(--plum-500); }
:focus-visible { outline: 2px solid var(--plum-500); outline-offset: 4px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 64px;
  padding: 0 var(--page);
  background: var(--paper);
  border-bottom: 1px solid var(--hairline);
}
.logo { display: inline-flex; align-items: center; gap: 8px; width: max-content; min-height: 32px; }
.meter-mark { width: 34px; height: 22px; object-fit: contain; }
.meter-wordmark { width: 86px; height: auto; }
.site-header nav { display: flex; gap: 28px; font-size: 13px; font-weight: 700; line-height: 1.2; }
.site-header nav a { transition: color 200ms var(--ease); }
.site-header nav a:hover { color: var(--plum-500); }

.action { display: inline-flex; justify-self: end; align-items: stretch; gap: 7px; min-height: 44px; width: max-content; font-size: 13px; font-weight: 800; line-height: 1.2; }
.action > span,
.action > i {
  display: grid;
  place-items: center;
  color: var(--paper);
  background: var(--plum-800);
  border: 1px solid var(--plum-800);
  transition: transform 200ms var(--ease), color 200ms var(--ease), background 200ms var(--ease);
}
.action > span { padding: 0 18px; border-radius: var(--radius); }
.action > i { width: 44px; border-radius: 999px; font-size: 19px; font-style: normal; }
.action:hover > * { transform: translateY(-2px); background: var(--plum-950); }
.action.is-ghost > span,
.action.is-ghost > i { color: var(--plum-800); background: transparent; }
.action.is-ghost:hover > * { color: var(--paper); background: var(--plum-800); }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(400px, .8fr);
  gap: 8px;
  padding: 8px var(--page) 0;
}
.hero-copy,
.flow-panel { min-height: 500px; border: 1px solid var(--hairline); border-radius: 20px; }
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(28px, 3.2vw, 50px);
  background: var(--paper-alt);
}
.hero-meta,
.panel-topline,
.section-meta {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: var(--plum-800);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}
.eyebrow {
  margin: 0 0 16px;
  color: var(--plum-500);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}
h1 {
  margin: 0;
  max-width: 940px;
  font-size: clamp(48px, 4.9vw, 78px);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: .96;
}
h1 em { color: var(--plum-500); 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: 22px; }
.hero-bottom p { max-width: 660px; margin: 0; color: var(--stone-700); font-size: 17px; }

.flow-panel {
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 2.4vw, 38px);
  background: var(--paper);
}
.flow-kicker { margin: 24px 0 14px; color: var(--plum-800); font-family: var(--font-jost), sans-serif; font-size: clamp(28px, 2.5vw, 40px); font-weight: 500; line-height: 1.05; }
.mini-flow { display: flex; align-items: center; gap: 6px; margin: 0 0 16px; color: var(--plum-800); font: 500 10px/1.2 var(--font-jost), sans-serif; }
.mini-flow span { padding: 7px 9px; background: var(--paper-alt); border: 1px solid var(--hairline); border-radius: 8px; }
.mini-flow i { color: var(--plum-500); font-style: normal; }
.flow-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--hairline); }
.flow-list li { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; min-height: 55px; border-bottom: 1px solid var(--hairline); }
.flow-list li > span { color: var(--plum-500); font: 500 14px/1.2 var(--font-jost), sans-serif; }
.flow-list strong,
.flow-list small { display: block; }
.flow-list strong { font-size: 16px; }
.flow-list small { margin-top: 3px; color: var(--stone-700); font-size: 12px; }
.flow-list i { color: var(--plum-500); font-style: normal; }
.panel-note { margin: auto 0 0; padding-top: 14px; color: var(--stone-700); font-size: 12px; }

.principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 8px var(--page) 12px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
}
.principles > div { display: grid; grid-template-columns: 28px 132px 1fr; gap: 10px; align-items: center; min-height: 68px; padding: 12px 18px; border-right: 1px solid var(--hairline); }
.principles > div:last-child { border-right: 0; }
.principles span { color: var(--plum-500); font: 500 13px/1.2 var(--font-jost), sans-serif; }
.principles strong { font-size: 15px; }
.principles p { margin: 0; color: var(--stone-700); font-size: 13px; line-height: 1.35; }

.article-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin: 0 var(--page);
  padding: clamp(42px, 4.4vw, 66px) 0;
  border-top: 1px solid var(--hairline);
}
.section-heading { display: block; max-width: 1080px; }
.section-heading h2,
.final-cta h2 {
  margin: 14px 0 0;
  font-size: clamp(34px, 3.2vw, 50px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.02;
}
.section-heading > p { max-width: 760px; margin: 14px 0 0; color: var(--stone-700); font-size: 15px; line-height: 1.48; }
.section-content { min-width: 0; }
.section-content > .action { margin-top: 16px; }

.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.role-card,
.metric-card,
.compare-card,
.use-grid > article,
.detail-grid > a {
  padding: 20px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
}
.is-tinted { background: var(--paper-alt) !important; }
.role-card > span,
.use-grid > article > span,
.detail-grid > a > span,
.compare-card > div,
.comparison-note > span {
  color: var(--plum-500);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.role-card h3,
.metric-card h3,
.compare-card h3,
.use-grid h3,
.detail-grid h3,
.logic-notes h3,
.dedupe-copy h3,
.report-copy h3,
.meter-steps h3,
.method-principles h3 { margin: 18px 0 9px; font-size: 21px; letter-spacing: -.02em; line-height: 1.15; }
.role-card p,
.metric-card p,
.use-grid p,
.detail-grid p,
.logic-notes p,
.dedupe-copy p,
.report-copy p,
.meter-steps p,
.method-principles p { margin: 0; color: var(--stone-700); font-size: 14px; line-height: 1.48; }
.statement { grid-column: 1 / -1; display: grid; grid-template-columns: .75fr 1.25fr; gap: 24px; align-items: center; margin-top: 0; padding: 18px 22px; border: 1px solid var(--plum-800); border-radius: var(--radius); }
.statement p { margin: 0; color: var(--stone-700); font-size: 14px; }
.statement strong { color: var(--plum-800); font-size: 18px; line-height: 1.3; }

.logic-track { display: grid; grid-template-columns: repeat(7, 1fr); margin: 0; padding: 0; list-style: none; border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.logic-track li { position: relative; min-height: 124px; padding: 17px 18px; border-right: 1px solid var(--hairline); }
.logic-track li:last-child { border-right: 0; }
.logic-track li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50px; right: -10px; display: grid; place-items: center; width: 20px; height: 20px; color: var(--plum-500); background: var(--paper); font-size: 12px; }
.logic-track span { color: var(--plum-500); font: 500 13px/1.2 var(--font-jost), sans-serif; }
.logic-track strong { display: block; margin-top: 20px; font-size: 15px; line-height: 1.2; }
.logic-track p { margin: 7px 0 0; color: var(--stone-700); font-size: 12px; line-height: 1.4; }
.logic-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.logic-notes > div { padding: 18px 20px; background: var(--paper-alt); border-radius: var(--radius); }
.logic-notes h3 { margin-top: 0; }
.dedupe-card { display: grid; grid-template-columns: .78fr 1.22fr; gap: 20px; align-items: center; margin-top: 10px; padding: 22px; border: 1px solid var(--hairline); border-radius: var(--radius); }
.dedupe-copy h3 { margin-top: 16px; color: var(--plum-800); font-family: var(--font-jost), sans-serif; font-size: clamp(29px, 3vw, 44px); }
.dedupe-visual { position: relative; min-height: 220px; }
.circle { position: absolute; top: 4px; display: grid; place-items: center; align-content: center; width: 180px; height: 180px; border: 2px solid var(--plum-800); border-radius: 999px; }
.circle span,
.overlap span,
.dedupe-result span { color: var(--stone-700); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.circle strong { margin-top: 3px; color: var(--plum-800); font: 700 30px/1 var(--font-jost), sans-serif; }
.circle-a { left: 9%; background: var(--paper-alt); }
.circle-b { right: 9%; background: rgba(251,250,252,.88); }
.overlap { position: absolute; z-index: 3; top: 64px; left: 50%; display: grid; place-items: center; width: 88px; min-height: 62px; padding: 9px; transform: translateX(-50%); color: var(--paper); background: var(--plum-800); border-radius: 12px; }
.overlap span { color: var(--plum-100); }
.overlap strong { font: 700 20px/1 var(--font-jost), sans-serif; }
.dedupe-result { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: baseline; gap: 12px; padding-top: 12px; border-top: 1px solid var(--hairline); }
.dedupe-result strong { color: var(--plum-800); font: 700 24px/1 var(--font-jost), sans-serif; }

.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.metric-card { min-height: 220px; }
.metric-card > div { display: flex; justify-content: space-between; gap: 12px; color: var(--plum-500); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.metric-card small { color: var(--stone-700); text-align: right; }
.metric-card h3 { margin-top: 32px; color: var(--plum-800); font-family: var(--font-jost), sans-serif; font-size: 28px; }
.metric-rule { display: grid; grid-template-columns: repeat(7, auto); justify-content: space-between; align-items: center; gap: 8px; margin-top: 10px; padding: 16px 20px; border: 1px solid var(--hairline); border-radius: var(--radius); }
.metric-rule div { display: grid; gap: 2px; }
.metric-rule span { color: var(--plum-500); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.metric-rule strong { font-size: 13px; }
.metric-rule i { color: var(--plum-500); font-style: normal; }

.campaign-track { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.campaign-track article { position: relative; min-height: 220px; padding: 22px; border-right: 1px solid var(--hairline); }
.campaign-track article:last-child { border-right: 0; }
.campaign-track article::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--plum-800); }
.campaign-track article:nth-child(2)::before { background: var(--plum-500); }
.campaign-track article:nth-child(3)::before { background: var(--plum-300); }
.campaign-track span { color: var(--stone-700); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-track strong { display: block; margin-top: 32px; color: var(--plum-800); font: 700 25px/1.1 var(--font-jost), sans-serif; }
.campaign-track p { margin: 12px 0 0; color: var(--stone-700); font-size: 14px; }
.comparison-note { display: grid; grid-template-columns: 160px 1fr; gap: 22px; align-items: center; margin-top: 10px; padding: 17px 20px; background: var(--paper-alt); border-radius: var(--radius); }
.comparison-note p { margin: 0; color: var(--stone-700); font-size: 14px; }

.compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.compare-card { min-height: 260px; }
.compare-card > div { display: flex; justify-content: space-between; }
.compare-card h3 { margin-top: 30px; color: var(--plum-800); font: 700 31px/1.1 var(--font-jost), sans-serif; }
.compare-card ul { margin: 16px 0 0; padding: 0; list-style: none; }
.compare-card li { position: relative; padding: 8px 0 8px 22px; border-top: 1px solid var(--hairline); color: var(--stone-700); font-size: 14px; }
.compare-card li::before { content: ""; position: absolute; top: 16px; left: 2px; width: 7px; height: 7px; border: 2px solid var(--plum-500); border-radius: 999px; }
.bridge-note { grid-column: 1 / -1; display: grid; grid-template-columns: .7fr 1.3fr; gap: 22px; align-items: center; padding: 18px 22px; border: 1px solid var(--plum-800); border-radius: var(--radius); }
.bridge-note strong { color: var(--plum-800); font-size: 19px; }
.bridge-note p { margin: 0; color: var(--stone-700); font-size: 14px; }
.bridge-note small { grid-column: 2; color: var(--stone-600); font-size: 11px; }

.meter-steps { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.meter-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 10px; min-height: 132px; padding: 18px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.meter-steps li:nth-child(2n) { border-right: 0; }
.meter-steps li:nth-last-child(-n+2) { border-bottom: 0; }
.meter-steps > li > span { color: var(--plum-500); font: 500 18px/1 var(--font-jost), sans-serif; }
.meter-steps h3 { margin: 0 0 10px; color: var(--plum-800); }
.method-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.method-principles article { padding: 18px; background: var(--paper-alt); border-radius: var(--radius); }
.method-principles span { color: var(--plum-500); font: 500 13px/1.2 var(--font-jost), sans-serif; }
.method-principles h3 { margin: 18px 0 8px; font-size: 18px; }

.use-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.use-grid > article { min-height: 220px; }
.use-grid h3 { margin-top: 30px; }
.use-grid small { display: block; margin-top: 16px; padding-top: 12px; color: var(--plum-700); border-top: 1px solid var(--hairline); font-size: 11px; line-height: 1.4; }
.report-sample { grid-column: 1 / -1; display: grid; grid-template-columns: .75fr 1.25fr; gap: 24px; padding: 22px; background: var(--paper-alt); border: 1px solid var(--hairline); border-radius: var(--radius); }
.report-copy h3 { margin-top: 18px; color: var(--plum-800); font: 700 31px/1.1 var(--font-jost), sans-serif; }
.report-copy small { display: block; margin-top: 16px; color: var(--stone-600); font-size: 10px; }
.report-numbers { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--hairline); border-radius: 16px; overflow: hidden; }
.report-numbers div { display: flex; flex-direction: column; justify-content: space-between; min-height: 100px; padding: 16px; background: var(--paper); border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.report-numbers div:nth-child(2) { border-right: 0; }
.report-numbers div:last-child { grid-column: 1 / -1; min-height: 82px; border-right: 0; border-bottom: 0; }
.report-numbers span { color: var(--stone-700); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.report-numbers strong { color: var(--plum-800); font: 700 clamp(25px, 2.4vw, 39px)/1 var(--font-jost), sans-serif; }

.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.detail-grid > a { position: relative; min-height: 235px; transition: border-color 200ms var(--ease), transform 200ms var(--ease); }
.detail-grid > a:hover { transform: translateY(-2px); border-color: var(--plum-300); }
.detail-grid h3 { margin-top: 32px; }
.detail-grid i { position: absolute; right: 24px; bottom: 22px; color: var(--plum-500); font-size: 22px; font-style: normal; }

.final-cta { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 4vw, 68px); margin: 12px var(--page) 0; padding: clamp(30px, 3.5vw, 50px); background: var(--paper-alt); border: 1px solid var(--plum-800); border-radius: 20px; }
.final-cta h2 { color: var(--plum-800); }
.cta-copy { display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.cta-copy > p { margin: 0; color: var(--stone-700); font-size: 16px; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cta-actions .action { justify-self: start; }
.plain-link { color: var(--plum-500); font-size: 13px; font-weight: 800; }
.plain-link:hover { color: var(--plum-800); }

.sources { display: grid; grid-template-columns: .35fr .65fr; gap: clamp(28px, 3.5vw, 58px); margin: 0 var(--page); padding: 46px 0; border-bottom: 1px solid var(--hairline); }
.sources > div > span { color: var(--plum-500); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.sources h2 { margin: 14px 0 0; font-size: 38px; letter-spacing: -.03em; }
.sources ol { margin: 0; padding-left: 20px; color: var(--stone-700); font-size: 12px; }
.sources li { padding: 7px 0; }
.sources > p { grid-column: 2; margin: 0; color: var(--stone-600); font-size: 11px; }

.site-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 78px; padding: 0 var(--page); font-size: 12px; }
.site-footer p { color: var(--stone-700); }
.site-footer > a:last-child { justify-self: end; color: var(--plum-500); font-weight: 800; }

@media (max-width: 1180px) {
  .site-header nav { display: none; }
  .principles > div { grid-template-columns: 28px 1fr; }
  .principles p { grid-column: 2; }
  .metric-card { min-height: 210px; }
}

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .hero-copy,
  .flow-panel { min-height: 460px; }
  .role-grid,
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .role-card:last-of-type { grid-column: 1 / -1; }
  .logic-track { grid-template-columns: repeat(4, 1fr); }
  .logic-track li { border-bottom: 1px solid var(--hairline); }
  .logic-track li:nth-child(4) { border-right: 0; }
  .logic-track li:nth-last-child(-n+3) { border-bottom: 0; }
  .campaign-track { grid-template-columns: 1fr; }
  .campaign-track article { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .campaign-track article:last-child { border-bottom: 0; }
  .campaign-track strong { margin-top: 26px; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-grid > a { min-height: 190px; }
  .detail-grid h3 { margin-top: 24px; }
  .final-cta { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  :root { --page: 16px; }
  body { font-size: 16px; }
  .site-header { grid-template-columns: 1fr auto; min-height: 64px; }
  .site-header .action > span { display: none; }
  .hero { padding-top: 8px; }
  .hero-copy,
  .flow-panel { min-height: auto; padding: 28px 22px; border-radius: var(--radius); }
  .hero-copy { gap: 34px; }
  h1 { font-size: clamp(43px, 13vw, 62px); }
  .hero-bottom { grid-template-columns: 1fr; }
  .hero-bottom .action { justify-self: start; }
  .flow-kicker { margin-top: 24px; }
  .panel-note { margin-top: 16px; }
  .principles { grid-template-columns: 1fr; margin-bottom: 8px; }
  .principles > div { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .principles > div:last-child { border-bottom: 0; }
  .article-section { padding: 38px 0; }
  .section-heading { display: block; }
  .section-heading h2,
  .final-cta h2 { margin-top: 12px; font-size: 34px; }
  .section-heading > p { margin-top: 12px; }
  .role-grid,
  .metric-grid,
  .logic-notes,
  .compare-grid,
  .meter-steps,
  .method-principles,
  .use-grid,
  .report-sample { grid-template-columns: 1fr; }
  .role-card:last-of-type { grid-column: auto; }
  .statement,
  .bridge-note { grid-template-columns: 1fr; }
  .bridge-note small { grid-column: 1; }
  .logic-track { grid-template-columns: 1fr; }
  .logic-track li { display: grid; grid-template-columns: 36px 1fr; min-height: auto; border-right: 0; border-bottom: 1px solid var(--hairline) !important; }
  .logic-track li:last-child { border-bottom: 0 !important; }
  .logic-track li::after { display: none !important; }
  .logic-track strong { margin-top: 0; }
  .dedupe-card { grid-template-columns: 1fr; padding: 20px; }
  .dedupe-visual { min-height: 220px; }
  .circle { width: 175px; height: 175px; }
  .circle-a { left: 0; }
  .circle-b { right: 0; }
  .overlap { top: 64px; }
  .metric-card { min-height: auto; }
  .metric-card h3 { margin-top: 28px; }
  .metric-rule { grid-template-columns: 1fr auto; }
  .metric-rule i { display: none; }
  .comparison-note { grid-template-columns: 1fr; }
  .compare-card { min-height: auto; }
  .bridge-note { grid-column: auto; }
  .meter-steps li { border-right: 0; border-bottom: 1px solid var(--hairline) !important; }
  .meter-steps li:last-child { border-bottom: 0 !important; }
  .report-sample { grid-column: auto; }
  .report-numbers { grid-template-columns: 1fr; }
  .report-numbers div,
  .report-numbers div:nth-child(2),
  .report-numbers div:last-child { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .report-numbers div:last-child { border-bottom: 0; }
  .final-cta { margin-top: 6px; padding: 24px 20px; border-radius: var(--radius); }
  .cta-actions { display: grid; justify-items: start; }
  .sources { grid-template-columns: 1fr; gap: 18px; padding: 38px 0; }
  .sources > p { grid-column: 1; }
  .site-footer { grid-template-columns: 1fr auto; }
  .site-footer p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition-duration: .01ms !important; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  body { color: #000; background: #fff; font-size: 9.5pt; }
  .site-header,
  .site-footer,
  .hero .action,
  .section-content > .action,
  .final-cta,
  .detail-grid { display: none !important; }
  .hero,
  .article-section,
  .sources { display: block; margin: 0; padding: 8mm 0; }
  .hero-copy,
  .flow-panel { min-height: auto; margin-bottom: 4mm; padding: 7mm; }
  h1 { font-size: 34pt; }
  .section-heading h2 { font-size: 22pt; }
  .section-heading > p { max-width: none; }
  .section-content { margin-top: 6mm; }
  .role-card,
  .metric-card,
  .compare-card,
  .use-grid > article { break-inside: avoid; min-height: auto; padding: 5mm; }
  .metric-grid,
  .use-grid { grid-template-columns: 1fr 1fr; }
  .principles { margin: 4mm 0; }
}

.campaign-page { --campaign-accent: #780da3; }
.cycle-breadcrumb { display: flex; align-items: center; gap: 11px; padding: 20px var(--page) 4px; color: var(--stone-700); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cycle-breadcrumb a { color: var(--plum-500); }
.cycle-breadcrumb strong { margin-left: auto; color: var(--plum-800); }
.campaign-hero { padding-top: 8px; }
.campaign-hero .hero-copy { min-height: 520px; padding: clamp(32px, 3.4vw, 54px); background: linear-gradient(145deg, var(--paper-alt), #fbf7fd 58%, #f4edf8); }
.campaign-hero .flow-panel { min-height: 520px; padding: clamp(28px, 2.8vw, 42px); background: linear-gradient(180deg, var(--paper), #faf6fc); }
.campaign-hero .flow-kicker { margin: 28px 0 12px; font-size: clamp(30px, 2.65vw, 42px); }
.campaign-hero .panel-note { margin-top: 18px; padding-top: 14px; }
.campaign-hero .flow-list li { min-height: 72px; }
.campaign-menu .flow-list a { color: var(--plum-500); font-size: 20px; line-height: 1; }
.campaign-menu .flow-list li[aria-current="step"] { background: rgba(120, 13, 163, .06); }
.campaign-menu .flow-list li[aria-current="step"] strong { color: var(--plum-500); }
.campaign-menu .flow-list li[aria-current="step"] > span { display: grid; place-items: center; width: 28px; height: 28px; color: var(--paper); background: var(--plum-500); border-radius: 999px; }
.campaign-menu-stage { margin: 12px var(--page) 0; padding: 14px 18px; background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--radius); }
.campaign-menu-stage .panel-topline { margin-bottom: 10px; }
.campaign-menu-stage .flow-list { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--hairline); border-radius: 14px; overflow: hidden; }
.campaign-menu-stage .flow-list li { min-height: 66px; padding: 0 16px; border-right: 1px solid var(--hairline); border-bottom: 0; }
.campaign-menu-stage .flow-list li:last-child { border-right: 0; }
.campaign-page .principles { margin-top: 10px; margin-bottom: 10px; }
.campaign-page .principles > div { min-height: 70px; padding: 12px 18px; }
.campaign-page .article-section { gap: clamp(26px, 3.6vw, 56px); padding: clamp(40px, 4.4vw, 64px) 0; }
.campaign-page .section-heading h2 { margin-top: 15px; font-size: clamp(33px, 3.15vw, 49px); }
.campaign-page .section-heading > p { margin-top: 16px; font-size: 15px; line-height: 1.48; }
.campaign-principles strong { color: var(--plum-800); }
.campaign-intro { border-top: 0; }

.campaign-passport { border: 1px solid var(--plum-800); border-radius: 22px; overflow: hidden; }
.passport-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 17px 20px; color: var(--paper); background: var(--plum-800); }
.passport-top span { color: var(--plum-100); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.passport-top strong { font: 500 19px/1.2 var(--font-jost), sans-serif; }
.campaign-passport dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.campaign-passport dl > div { min-height: 88px; padding: 16px 18px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.campaign-passport dl > div:nth-child(3n) { border-right: 0; }
.campaign-passport dl > div:nth-last-child(-n+3) { border-bottom: 0; }
.campaign-passport dt { color: var(--plum-500); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-passport dd { margin: 12px 0 0; color: var(--plum-800); font-size: 14px; font-weight: 700; line-height: 1.35; }
.storyline { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: center; margin-top: 10px; }
.storyline article { min-height: 154px; padding: 19px; background: var(--paper-alt); border-radius: var(--radius); }
.storyline article:nth-of-type(2) { background: #f3eafa; border: 1px solid rgba(120, 13, 163, .14); }
.storyline > i { color: var(--plum-500); font-style: normal; }
.storyline span { color: var(--plum-500); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.storyline strong { display: block; margin-top: 24px; color: var(--plum-800); font-size: 18px; line-height: 1.2; }
.storyline p { margin: 12px 0 0; color: var(--stone-700); font-size: 13px; line-height: 1.5; }

.stage-section { position: relative; padding-top: clamp(28px, 3.1vw, 44px) !important; padding-bottom: clamp(34px, 3.7vw, 52px) !important; border-top: 0; scroll-margin-top: 80px; }
.stage-section::before { display: none; }
.question-card { display: grid; grid-template-columns: 145px 1fr; gap: 20px; align-items: center; margin-bottom: 10px; padding: 15px 19px; border: 1px solid var(--plum-800); border-radius: var(--radius); }
.question-card span { color: var(--plum-500); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.question-card p { margin: 0; color: var(--plum-800); font: 500 21px/1.3 var(--font-jost), sans-serif; }
.question-card.is-accent { color: var(--paper); background: var(--plum-800); }
.question-card.is-accent span { color: var(--plum-100); }
.question-card.is-accent p { color: var(--paper); }
.decision-grid, .result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.decision-grid article, .result-grid article { min-height: 158px; padding: 19px; background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--radius); }
.decision-grid article:nth-child(2), .decision-grid article:nth-child(3), .result-grid article:nth-child(2), .result-grid article:nth-child(5) { background: var(--paper-alt); }
.decision-grid span, .result-grid span { color: var(--plum-500); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.decision-grid h3, .result-grid h3 { margin: 27px 0 9px; color: var(--plum-800); font-size: 21px; line-height: 1.1; }
.decision-grid p, .result-grid p { margin: 0; color: var(--stone-700); font-size: 13px; line-height: 1.5; }

.scenario-compare { display: grid; grid-template-columns: .75fr 1.25fr; gap: 22px; margin-top: 10px; padding: 21px; background: var(--paper-alt); border-radius: var(--radius); }
.scenario-copy h3, .adcheck-copy h3, .report-intro h3, .download-card h3 { margin: 18px 0 12px; color: var(--plum-800); font-size: 27px; line-height: 1.12; }
.scenario-copy p, .adcheck-copy p, .report-intro p, .download-card p { margin: 0; color: var(--stone-700); font-size: 14px; line-height: 1.55; }
.scenario-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.scenario-cards article { padding: 16px; background: var(--paper); border: 1px solid var(--hairline); border-radius: 16px; }
.scenario-cards article.is-selected { border-color: var(--plum-500); box-shadow: inset 0 4px 0 var(--plum-500); }
.scenario-cards article > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: var(--plum-500); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.scenario-cards article b { color: var(--stone-700); font-weight: 700; }
.scenario-cards article > strong { display: block; min-height: 42px; margin-top: 24px; color: var(--plum-800); font-size: 17px; line-height: 1.25; }
.scenario-cards small { display: block; margin-top: 14px; color: var(--stone-700); font-size: 10px; line-height: 1.4; }
.meter-bar { height: 7px; margin-top: 16px; background: var(--hairline); border-radius: 99px; overflow: hidden; }
.meter-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--plum-300), var(--plum-500)); border-radius: inherit; }
.stage-note { display: grid; grid-template-columns: 200px 1fr; gap: 20px; align-items: center; margin-top: 10px; padding: 16px 20px; border: 1px solid var(--plum-800); border-radius: var(--radius); }
.stage-note strong { color: var(--plum-800); font-size: 16px; }
.stage-note p { margin: 0; color: var(--stone-700); font-size: 13px; line-height: 1.5; }

.control-board { border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.control-head, .control-board > div:not(.control-head) { display: grid; grid-template-columns: .75fr 1.15fr 1.1fr; gap: 17px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--hairline); }
.control-board > div:last-child { border-bottom: 0; }
.control-head { color: var(--paper); background: var(--plum-800); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.control-board strong { color: var(--plum-800); font-size: 13px; }
.control-board p { margin: 0; color: var(--stone-700); font-size: 12px; line-height: 1.4; }
.control-board b { color: var(--plum-700); font-size: 11px; line-height: 1.4; }
.adcheck-figure { display: grid; grid-template-columns: .65fr 1.35fr; gap: 22px; margin: 10px 0 0; padding: 21px; color: var(--paper); background: var(--plum-950); border-radius: var(--radius); }
.adcheck-copy { align-self: center; }
.adcheck-copy h3 { color: var(--paper); }
.adcheck-copy p { color: #c8bacc; }
.adcheck-copy small { display: block; margin-top: 16px; color: #9d8ba3; font-size: 10px; line-height: 1.5; }
.evidence-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.evidence-tags span { padding: 7px 9px; color: var(--plum-100); border: 1px solid rgba(241, 156, 255, .25); border-radius: 99px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.adcheck-shot { align-self: center; padding: 9px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; }
.adcheck-shot img { width: 100%; height: auto; border-radius: 12px; }
.latency-note { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; margin-top: 10px; padding: 16px 20px; background: var(--paper-alt); border-radius: var(--radius); }
.latency-note > div { display: grid; gap: 7px; }
.latency-note span { color: var(--plum-500); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.latency-note strong { color: var(--plum-800); font-size: 13px; }
.latency-note i { color: var(--plum-500); font: 500 24px/1 var(--font-jost), sans-serif; }

.result-grid { grid-template-columns: repeat(3, 1fr); }
.result-grid article { min-height: 150px; }
.result-grid h3 { margin-top: 24px; }
.report-window { display: grid; grid-template-columns: .72fr 1.28fr; gap: 22px; margin-top: 10px; padding: 21px; background: var(--paper-alt); border: 1px solid var(--hairline); border-radius: var(--radius); }
.report-intro small { display: block; margin-top: 16px; color: var(--stone-600); font-size: 9px; }
.report-metrics { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--hairline); border-radius: 16px; overflow: hidden; }
.report-metrics > div { display: flex; flex-direction: column; justify-content: space-between; min-height: 105px; padding: 16px; background: var(--paper); border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.report-metrics > div:nth-child(2) { border-right: 0; }
.report-metrics > div:last-child { grid-column: 1 / -1; min-height: 78px; border-right: 0; border-bottom: 0; }
.report-metrics span { color: var(--stone-700); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.report-metrics strong { color: var(--plum-800); font: 700 clamp(24px, 2.1vw, 37px)/1 var(--font-jost), sans-serif; }
.plan-fact-mini { margin-top: 10px; border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.plan-fact-mini > div { display: grid; grid-template-columns: 170px 1fr; gap: 20px; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--hairline); }
.plan-fact-mini > div:last-child { border-bottom: 0; }
.plan-fact-mini .mini-head { color: var(--paper); background: var(--plum-800); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.plan-fact-mini strong { color: var(--plum-800); font-size: 12px; }
.plan-fact-mini p { margin: 0; color: var(--stone-700); font-size: 12px; }

.evidence-ladder { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.evidence-ladder article { position: relative; min-height: 220px; padding: 19px; border-right: 1px solid var(--hairline); }
.evidence-ladder article:last-child { border-right: 0; }
.evidence-ladder article::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--plum-300); }
.evidence-ladder article.is-primary { background: var(--paper-alt); }
.evidence-ladder article.is-primary::before { background: var(--plum-500); }
.evidence-ladder span { color: var(--plum-500); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.evidence-ladder .is-primary span { color: var(--plum-500); }
.evidence-ladder h3 { margin: 39px 0 13px; color: var(--plum-800); font: 700 22px/1.1 var(--font-jost), sans-serif; }
.evidence-ladder .is-primary h3 { color: var(--plum-800); }
.evidence-ladder p { margin: 0; color: var(--stone-700); font-size: 12px; line-height: 1.5; }
.evidence-ladder .is-primary p { color: var(--stone-700); }
.responsibility-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; margin-top: 10px; }
.responsibility-flow div { padding: 15px 17px; background: var(--paper-alt); border-radius: 14px; }
.responsibility-flow span, .responsibility-flow strong { display: block; }
.responsibility-flow span { color: var(--plum-500); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.responsibility-flow strong { margin-top: 7px; color: var(--plum-800); font-size: 13px; }
.responsibility-flow i { color: var(--plum-500); font-style: normal; }

.deliverable-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.deliverable-grid article { min-height: 172px; padding: 19px; background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--radius); }
.deliverable-grid article:nth-child(even) { background: var(--paper-alt); }
.deliverable-grid span { color: var(--plum-500); font: 500 13px/1 var(--font-jost), sans-serif; }
.deliverable-grid h3 { margin: 29px 0 10px; color: var(--plum-800); font-size: 20px; line-height: 1.15; }
.deliverable-grid p { margin: 0; color: var(--stone-700); font-size: 12px; line-height: 1.5; }
.checklist-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; }
.checklist-grid li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; min-height: 64px; padding: 11px 15px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.checklist-grid li:nth-child(2n) { border-right: 0; }
.checklist-grid li:nth-last-child(-n+2) { border-bottom: 0; }
.checklist-grid span { display: grid; place-items: center; width: 30px; height: 30px; color: var(--plum-500); border: 1px solid var(--plum-300); border-radius: 999px; font: 500 10px/1 var(--font-jost), sans-serif; }
.checklist-grid p { margin: 0; color: var(--plum-800); font-size: 12px; font-weight: 700; line-height: 1.35; }
.download-card { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin-top: 10px; padding: 21px; color: var(--paper); background: var(--plum-950); border-radius: var(--radius); }
.download-card h3 { color: var(--paper); }
.download-card p { color: #c8bacc; }
.download-card .action > span, .download-card .action > i { color: var(--plum-800); background: var(--paper); border-color: var(--paper); }

.faq-list details { border-top: 1px solid var(--hairline); }
.faq-list details:last-child { border-bottom: 1px solid var(--hairline); }
.faq-list summary { display: grid; grid-template-columns: 44px 1fr auto; gap: 16px; align-items: center; min-height: 70px; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--plum-500); font: 500 13px/1 var(--font-jost), sans-serif; }
.faq-list summary strong { color: var(--plum-800); font-size: 16px; }
.faq-list summary i { display: grid; place-items: center; width: 34px; height: 34px; color: var(--plum-500); border: 1px solid var(--hairline); border-radius: 999px; font-style: normal; transition: transform 180ms var(--ease); }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list details > p { margin: -2px 48px 18px 60px; color: var(--stone-700); font-size: 13px; line-height: 1.55; }
.campaign-cta { margin-top: 24px; padding: clamp(32px, 4vw, 56px); }
.cycle-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 10px var(--page) 0; }
.cycle-nav a { position: relative; min-height: 118px; padding: 19px; background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--radius); transition: transform 180ms var(--ease), border-color 180ms var(--ease); }
.cycle-nav a:hover { transform: translateY(-2px); border-color: var(--plum-300); }
.cycle-nav span { color: var(--plum-500); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cycle-nav strong { display: block; margin-top: 28px; color: var(--plum-800); font-size: 16px; line-height: 1.25; }

@media (max-width: 1180px) {
  .campaign-passport dl { grid-template-columns: 1fr 1fr; }
  .campaign-passport dl > div:nth-child(3n) { border-right: 1px solid var(--hairline); }
  .campaign-passport dl > div:nth-child(2n) { border-right: 0; }
  .campaign-passport dl > div:nth-last-child(-n+3) { border-bottom: 1px solid var(--hairline); }
  .campaign-passport dl > div:nth-last-child(-n+2) { border-bottom: 0; }
  .evidence-ladder { grid-template-columns: 1fr 1fr; }
  .evidence-ladder article { border-bottom: 1px solid var(--hairline); }
  .evidence-ladder article:nth-child(2n) { border-right: 0; }
  .evidence-ladder article:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 900px) {
  .storyline { grid-template-columns: 1fr; }
  .storyline > i { display: none; }
  .storyline article { min-height: 140px; }
  .storyline strong { margin-top: 22px; }
  .scenario-compare, .adcheck-figure, .report-window { grid-template-columns: 1fr; }
  .result-grid, .deliverable-grid { grid-template-columns: 1fr 1fr; }
  .control-head, .control-board > div:not(.control-head) { grid-template-columns: .8fr 1.2fr; }
  .control-head span:last-child, .control-board b { grid-column: 2; }
  .cycle-nav { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .cycle-breadcrumb { padding-top: 15px; }
  .cycle-breadcrumb strong { display: none; }
  .campaign-hero .hero-copy, .campaign-hero .flow-panel { min-height: auto; }
  .campaign-hero .flow-kicker { margin-top: 28px; }
  .campaign-menu-stage { padding: 14px; }
  .campaign-menu-stage .flow-list { grid-template-columns: 1fr; }
  .campaign-menu-stage .flow-list li { padding: 0 12px; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .campaign-menu-stage .flow-list li:last-child { border-bottom: 0; }
  .passport-top { display: grid; gap: 8px; }
  .campaign-passport dl, .decision-grid, .scenario-cards, .result-grid, .evidence-ladder, .deliverable-grid, .checklist-grid { grid-template-columns: 1fr; }
  .campaign-passport dl > div, .campaign-passport dl > div:nth-child(3n), .campaign-passport dl > div:nth-child(2n), .campaign-passport dl > div:nth-last-child(-n+2) { min-height: 94px; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .campaign-passport dl > div:last-child { border-bottom: 0; }
  .question-card, .stage-note { grid-template-columns: 1fr; gap: 12px; }
  .question-card p { font-size: 18px; }
  .scenario-compare, .adcheck-figure, .report-window { padding: 22px; }
  .control-head { display: none; }
  .control-board > div:not(.control-head) { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
  .control-board b { grid-column: auto; }
  .latency-note, .responsibility-flow { grid-template-columns: 1fr; }
  .latency-note i, .responsibility-flow > i { display: none; }
  .report-metrics { grid-template-columns: 1fr; }
  .report-metrics > div, .report-metrics > div:nth-child(2), .report-metrics > div:last-child { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .report-metrics > div:last-child { border-bottom: 0; }
  .plan-fact-mini > div { grid-template-columns: 1fr; gap: 7px; }
  .evidence-ladder article, .evidence-ladder article:nth-child(2n), .evidence-ladder article:nth-last-child(-n+2) { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .evidence-ladder article:last-child { border-bottom: 0; }
  .evidence-ladder h3 { margin-top: 30px; }
  .checklist-grid li, .checklist-grid li:nth-child(2n), .checklist-grid li:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .checklist-grid li:last-child { border-bottom: 0; }
  .download-card { grid-template-columns: 1fr; }
  .download-card .action { justify-self: start; }
  .faq-list summary { grid-template-columns: 36px 1fr auto; gap: 10px; min-height: 96px; }
  .faq-list summary strong { font-size: 14px; }
  .faq-list details > p { margin: 0 44px 24px 46px; }
  .cycle-nav { margin-top: 8px; }
}
@media print {
  .cycle-breadcrumb, .cycle-nav, .download-card { display: none !important; }
  .campaign-passport, .scenario-compare, .adcheck-figure, .report-window, .evidence-ladder, .checklist-grid { break-inside: avoid; }
}

html.is-embedded {
  scroll-padding-top: 0;
}
html.is-embedded,
html.is-embedded body,
html.is-embedded .campaign-page {
  height: auto;
  min-height: 0;
  overflow-y: visible;
}
html.is-embedded body {
  background: transparent;
}
