@font-face {
  font-family: "DM Sans Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 100 1000;
  src: url("https://cdn.jsdelivr.net/fontsource/fonts/dm-sans:vf@5.2.8/latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 100 1000;
  src: url("https://cdn.jsdelivr.net/fontsource/fonts/dm-sans:vf@5.2.8/latin-wght-normal.woff2") format("woff2-variations");
  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: "DM Serif Display";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("https://cdn.jsdelivr.net/fontsource/fonts/dm-serif-display@5.2.8/latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DM Serif Display";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("https://cdn.jsdelivr.net/fontsource/fonts/dm-serif-display@5.2.8/latin-400-normal.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 {
  --canvas: #f7f6f0;
  --surface: #fffef9;
  --ink: #192723;
  --green: #183c35;
  --green-2: #244e46;
  --muted: #66736e;
  --border: #d7ddd3;
  --field-border: #7f9187;
  --placeholder: #66736d;
  --sage: #edf0e7;
  --sage-deep: #dfe6da;
  --gold: #d59a54;
  --gold-light: #f1d7b2;
  --success: #25755c;
  --warning: #a16825;
  --danger: #a8463e;
  --shadow-sm: 0 1px 2px rgba(25, 39, 35, .08);
  --shadow-lg: 0 20px 50px rgba(32, 55, 45, .13);
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans Variable", "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --radius: 16px;
  --header-height: 88px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body, input, textarea, button { font-family: var(--sans); }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, blockquote, dl, dd { margin: 0; }
ul, ol { margin: 0; padding: 0; }
button { color: inherit; }
svg { display: block; }
::selection { background: var(--gold-light); color: var(--ink); }
:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; box-shadow: 0 0 0 2px var(--surface); }
[hidden] { display: none !important; }
[x-cloak] { display: none !important; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 1000;
  transform: translateY(-160%);
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--green);
  box-shadow: var(--shadow-lg);
  font-weight: 600;
}
.skip-link:focus { transform: translateY(0); }
.icon { width: 1.1em; height: 1.1em; flex: 0 0 auto; }
.shell { width: min(100% - 48px, 1024px); margin-inline: auto; }
.shell--wide { max-width: 1280px; }
.shell--hero { max-width: 1024px; }
.shell--medium { max-width: 1024px; }
.shell--form { max-width: 780px; }
.shell--report { max-width: 1040px; }
.shell--auth { max-width: 520px; }
.shell--checkout { max-width: 1100px; }
.shell--editorial { max-width: 860px; }
.shell--legal { max-width: 1120px; }

.site-header { position: relative; z-index: 50; background: rgba(247, 246, 240, .96); }
.site-header__inner { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 20px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand__mark { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: #fffdf7; }
.brand__mark .icon { width: 17px; height: 17px; }
.brand__name { font-family: var(--serif); font-size: 24px; line-height: 1.3; letter-spacing: -.02em; }
.desktop-nav { display: flex; align-items: center; gap: 32px; margin-left: auto; margin-right: auto; }
.desktop-nav a, .site-footer a { color: color-mix(in srgb, var(--ink) 70%, transparent); font-size: 14px; transition: color .18s ease; }
.desktop-nav a:hover, .site-footer a:hover { color: var(--ink); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-signout { display: flex; }
.lang-switcher { position: relative; }
.language-menu { position: relative; color: var(--ink); }
.language-menu summary {
  min-width: 82px;
  height: 38px;
  padding: 0 11px;
  border: 1px solid color-mix(in srgb, var(--border) 82%, var(--green));
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: color-mix(in srgb, var(--surface) 92%, var(--sage));
  box-shadow: 0 1px 2px rgba(25, 39, 35, .05);
  cursor: pointer;
  list-style: none;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu summary:hover, .language-menu[open] summary { border-color: color-mix(in srgb, var(--green) 48%, var(--border)); background: var(--surface); box-shadow: var(--shadow-sm); }
.language-menu summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 2px; }
.language-menu__globe { width: 16px; height: 16px; color: var(--green); }
.language-menu__code { min-width: 20px; font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-align: center; }
.language-menu__chevron { width: 14px; height: 14px; color: var(--muted); transition: transform .18s ease; }
.language-menu[open] .language-menu__chevron { transform: rotate(180deg); }
.language-menu__panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 80;
  width: 228px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 18px 44px rgba(25, 39, 35, .16);
}
.language-menu__panel::before { content: ""; position: absolute; top: -5px; right: 29px; width: 9px; height: 9px; border-left: 1px solid var(--border); border-top: 1px solid var(--border); background: var(--surface); transform: rotate(45deg); }
.language-menu__label { padding: 5px 9px 8px; color: var(--muted); font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.language-menu__options { display: grid; gap: 2px; }
.language-menu__option {
  width: 100%;
  min-height: 39px;
  padding: 8px 9px;
  border: 0;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.language-menu__option:hover { background: var(--sage); color: var(--green); }
.language-menu__option:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.language-menu__option[aria-current="true"] { background: color-mix(in srgb, var(--sage) 78%, var(--surface)); color: var(--green); font-weight: 600; cursor: default; opacity: 1; }
.language-menu__option-meta { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); }
.language-menu__option-meta small { font-family: var(--mono); font-size: 9px; letter-spacing: .08em; }
.language-menu__option-meta .icon { width: 14px; height: 14px; color: var(--green); }
.mobile-lang {
  padding: 16px 2px 4px;
  border-top: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  margin-top: 4px;
}
.language-menu--mobile summary { width: 100%; height: 44px; justify-content: flex-start; padding-inline: 13px; border-radius: 12px; }
.language-menu--mobile .language-menu__chevron { margin-left: auto; }
.language-menu--mobile .language-menu__panel { position: static; width: 100%; margin-top: 8px; box-shadow: var(--shadow-sm); }
.language-menu--mobile .language-menu__panel::before { display: none; }
.menu-button { display: none; width: 42px; height: 42px; border: 0; background: transparent; border-radius: 50%; place-items: center; cursor: pointer; }
.menu-button:hover { background: var(--sage); }
.menu-button .icon { width: 22px; height: 22px; }
.mobile-nav { display: none; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }
.mobile-nav nav { display: grid; padding-block: 8px 18px; }
.mobile-nav a { padding: 13px 2px; border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent); font-weight: 500; }
.mobile-signout button { width: 100%; padding: 13px 2px; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent); background: transparent; color: var(--ink); font-weight: 500; text-align: left; cursor: pointer; }
.mobile-signout button:hover { color: var(--green); }
.demo-banner { border-block: 1px solid #d9bd91; background: #fff6e8; color: #5b3b18; }
.demo-banner > div { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 9px; font-size: 13px; text-align: center; }
.demo-banner .icon { color: #8c581e; }
.credit-pill { min-width: 42px; height: 34px; padding-inline: 10px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; background: var(--gold-light); color: #4a331b; font-size: 13px; font-weight: 600; }

.button {
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: transparent;
  color: var(--green);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, opacity .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:disabled, .button[aria-busy="true"] { cursor: wait; opacity: .62; transform: none; }
.button--primary { background: var(--green); color: #fffdf7; }
.button--primary:hover { background: var(--green-2); }
.button--quiet { color: color-mix(in srgb, var(--ink) 75%, transparent); padding-inline: 12px; }
.button--quiet:hover { background: var(--sage); color: var(--ink); }
.button--outline { border-color: rgba(24, 60, 53, .22); background: transparent; }
.button--outline:hover { background: var(--surface); border-color: rgba(24, 60, 53, .38); }
.button--gold { background: var(--gold); color: #1b2b27; }
.button--gold:hover { background: #e0a55f; }
.button--light { background: #fffdf7; color: var(--green); }
.button--danger { border-color: rgba(168, 70, 62, .25); color: var(--danger); }
.button--danger:hover { background: #fff1ee; }
.button--block { width: 100%; }
.button--small { min-height: 34px; padding: 6px 11px; font-size: 12px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--green); font-size: 14px; font-weight: 600; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.back-link { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 14px; font-weight: 500; }
.back-link + .back-link { margin-left: 18px; }
.back-link:hover { color: var(--green); }
.text-button { padding: 0; border: 0; background: transparent; color: var(--green); font-weight: 600; cursor: pointer; }
.text-button:hover { text-decoration: underline; text-underline-offset: 3px; }

.kicker, .eyebrow-pill, .micro-copy, .step-number, .report-meta, .source-count {
  font-family: var(--mono);
  font-size: 10px;
  line-height: 15px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.kicker { color: var(--muted); }
.kicker--center { text-align: center; }
.eyebrow-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: 1px solid rgba(24, 60, 53, .15); border-radius: 999px; background: var(--surface); color: var(--green); box-shadow: var(--shadow-sm); }
.eyebrow-pill > span { width: 6px; height: 6px; border-radius: 50%; background: #00a86f; }
.round-icon { width: 48px; height: 48px; border: 1px solid rgba(24, 60, 53, .14); border-radius: 50%; display: grid; place-items: center; background: var(--surface); color: var(--green); }
.round-icon .icon { width: 22px; height: 22px; }
.round-icon--gold { background: var(--gold); border-color: transparent; color: var(--ink); }
.round-icon--success { background: #dceee7; color: var(--success); }
.round-icon--error { background: #fae7e4; color: var(--danger); }

.flash-region { position: relative; z-index: 60; }
.flash { max-width: 780px; margin: 12px auto 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: center; gap: 10px; background: var(--surface); box-shadow: var(--shadow-sm); font-size: 14px; }
.flash--success { background: #eaf5f0; border-color: #b8d6ca; }
.flash--error { background: #fff0ee; border-color: #e2b8b3; }
.flash__close { margin-left: auto; padding: 5px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.flash__close:hover { background: rgba(25, 39, 35, .07); }

.site-footer { border-top: 1px solid var(--border); background: var(--green); color: #fffdf7; }
.site-footer__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 28px; }
.site-footer__brand { display: flex; align-items: center; gap: 8px; font-family: var(--serif); font-size: 20px; }
.site-footer__brand small { padding-left: 4px; color: rgba(255, 253, 247, .5); font-family: var(--sans); font-size: 12px; }
.site-footer nav { display: flex; align-items: center; gap: 22px; }
.site-footer a { color: rgba(255, 253, 247, .66); }
.site-footer :focus-visible, .price-card--featured :focus-visible, .report-claim-header :focus-visible, .unlock-card :focus-visible, .full-report :focus-visible { outline-color: #ffd58a; box-shadow: 0 0 0 2px var(--green), 0 0 0 5px #ffd58a; }
.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 100; }

/* Landing page */
.hero { position: relative; overflow: hidden; text-align: center; }
.hero.is-transitioning-out .shell--hero { animation: workflow-stage-out .28s ease-in both; }
.hero__glow { position: absolute; left: 50%; top: 350px; width: 720px; height: 240px; transform: translateX(-8%); opacity: .48; filter: blur(55px); background: radial-gradient(ellipse, rgba(216, 178, 114, .58) 0%, rgba(221, 232, 211, .58) 40%, rgba(247, 246, 240, 0) 74%); pointer-events: none; }
.hero .shell { position: relative; min-height: 767px; display: flex; flex-direction: column; align-items: center; padding: 112px 24px 94px; }
.hero h1 { max-width: 896px; margin-top: 28px; font-family: var(--serif); font-size: clamp(58px, 6.25vw, 80px); font-weight: 400; line-height: .98; letter-spacing: -.035em; text-wrap: balance; }
.hero__lede { max-width: 590px; margin-top: 28px; color: var(--muted); font-size: 18px; line-height: 28px; text-wrap: balance; }
.claim-composer { width: min(100%, 768px); margin-top: 44px; padding: 11px; border: 1px solid rgba(24, 60, 53, .15); border-radius: 22px; background: var(--surface); box-shadow: 0 18px 40px rgba(32, 55, 45, .15); text-align: left; }
.claim-composer textarea { width: 100%; min-height: 111px; padding: 12px 16px; resize: vertical; border: 0; border-radius: 14px; background: transparent; color: var(--ink); font-size: 16px; line-height: 24px; }
.claim-composer textarea::placeholder { color: var(--placeholder); }
.claim-composer textarea:focus { outline: 0; }
.claim-composer:focus-within { border-color: var(--green); box-shadow: 0 18px 44px rgba(32, 55, 45, .18), 0 0 0 3px var(--green); }
.claim-composer__bar { min-height: 50px; padding: 9px 8px 0; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 12px; }
.micro-copy { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); letter-spacing: .1em; }
.character-count { margin-left: auto; color: var(--muted); font-family: var(--mono); font-size: 10px; }
.claim-privacy { max-width: 700px; margin-top: 13px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--muted); font-size: 12px; line-height: 18px; }
.claim-privacy a { color: var(--green); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.trust-row { min-height: 35px; padding-top: 20px; display: flex; justify-content: center; gap: 20px; color: var(--muted); list-style: none; }
.trust-row li { display: flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.trust-row .icon { width: 12px; height: 12px; }
.section { padding: 96px 0; }
.section--border { border-top: 1px solid var(--border); }
.section--sage { background: var(--sage); }
.section-heading { margin-top: 12px; }
.section-heading h2, .methodology-teaser h2, .pricing h2 { font-family: var(--serif); font-size: 48px; font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
.section-heading--split { display: grid; grid-template-columns: minmax(0, 576px) minmax(280px, 384px); align-items: end; justify-content: space-between; gap: 48px; }
.section-heading--split > p { color: var(--muted); font-size: 14px; line-height: 24px; }
.steps-card { margin-top: 48px; border: 1px solid var(--border); border-radius: var(--radius); display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: var(--border); gap: 1px; list-style: none; }
.steps-card li { min-height: 244px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; background: var(--surface); }
.step-number { color: var(--muted); }
.step-icon { width: 24px; height: 24px; margin-top: 36px; color: var(--green); }
.steps-card h3 { margin-top: 20px; font-size: 18px; line-height: 28px; }
.steps-card p { max-width: 320px; margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 24px; }
.methodology-teaser { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.methodology-teaser .kicker { margin-top: 24px; }
.methodology-teaser h2 { max-width: 580px; margin-top: 12px; }
.methodology-teaser__copy p { margin-bottom: 20px; color: var(--muted); line-height: 28px; }
.pricing { text-align: left; }
.pricing__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); align-items: end; gap: 48px; }
.pricing__header h2 { max-width: 620px; margin-top: 12px; }
.pricing__header-copy { padding: 16px 0 3px 24px; border-left: 2px solid var(--gold); color: var(--muted); font-size: 14px; line-height: 24px; }
.report-tier-grid { width: 100%; margin: 52px auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.report-tier-card { min-height: 322px; padding: 28px; border: 1px solid var(--border); border-radius: 18px; display: flex; flex-direction: column; background: var(--surface); box-shadow: var(--shadow-sm); }
.report-tier-card--full { border-color: color-mix(in srgb, var(--green) 62%, var(--border)); background: linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--sage) 76%, var(--surface))); box-shadow: 0 10px 28px rgba(32, 55, 45, .09); }
.report-tier-card__heading { padding-bottom: 22px; border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; gap: 14px; }
.report-tier-card__heading .round-icon { margin: 0; }
.report-tier-card__heading > div { min-width: 0; padding-top: 1px; }
.report-tier-card__heading strong { display: block; margin-top: 6px; color: var(--green); font-size: 15px; line-height: 20px; }
.report-tier-card > p { min-height: 46px; margin-top: 18px; color: var(--muted); font-size: 14px; line-height: 23px; }
.report-tier-card .feature-list { margin-top: auto; margin-bottom: 0; }
.pricing-free-note { width: 100%; margin: 20px auto 0; padding: 15px 0; border-block: 1px solid color-mix(in srgb, var(--gold) 38%, var(--border)); display: flex; align-items: flex-start; gap: 9px; color: #6b4a24; font-size: 13px; line-height: 20px; }
.pricing-free-note .icon { margin-top: 2px; color: var(--warning); }
.pricing__purchase-heading { margin-top: 52px; padding-top: 20px; border-top: 1px solid var(--border); }
.pricing-grid { width: 100%; margin: 20px auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.credit-pack-grid { width: 100%; }
.price-card { min-height: 348px; padding: 29px; border: 1px solid var(--border); border-radius: 18px; display: flex; flex-direction: column; background: var(--surface); box-shadow: var(--shadow-sm); }
.price { margin-top: 18px; font-family: var(--serif); font-size: 52px; line-height: 1; letter-spacing: -.02em; }
.price-card__description { margin-top: 9px; color: var(--muted); font-size: 14px; }
.feature-list { margin: 28px 0; padding-top: 24px; border-top: 1px solid var(--border); display: grid; gap: 12px; list-style: none; }
.feature-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; }
.feature-list .icon { width: 16px; height: 16px; margin-top: 2px; color: var(--green); }
.price-card > .button, .price-card > form { margin-top: auto; }
.price-card--featured { border: 2px solid var(--green); background: linear-gradient(145deg, var(--surface), var(--sage)); box-shadow: 0 14px 30px rgba(32, 55, 45, .13); }
.price-card--featured .kicker { color: var(--green); }
.price-card--featured .feature-list { border-color: color-mix(in srgb, var(--green) 24%, var(--border)); }
.price-card--featured .feature-list .icon { color: var(--gold); }
.pricing-note { width: 100%; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--border); display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.rate-limit-credit-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.rate-limit-credit-options .button { width: 100%; }

/* Shared application forms */
.page-app { background: linear-gradient(180deg, var(--canvas), #f3f3eb); }
.app-section { min-height: calc(100vh - var(--header-height) - 92px); padding: 60px 0 96px; }
.analysis-workflow-section { min-height: calc(100vh - var(--header-height) - 92px); padding: 60px 0 96px; overflow: hidden; }
.progress-steps { margin: 0 auto 50px; display: flex; justify-content: center; align-items: center; gap: 64px; color: var(--muted); list-style: none; }
.progress-steps--workflow { margin-bottom: 42px; }
.progress-steps > li { position: relative; display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; letter-spacing: .03em; }
.progress-steps > li:not(:last-child)::after { content: ""; position: absolute; left: calc(100% + 14px); width: 36px; height: 1px; background: var(--border); }
.progress-steps > li > span:first-child { width: 26px; height: 26px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; background: var(--surface); font-size: 11px; }
.progress-steps .is-current { color: var(--green); }
.progress-steps .is-current > span:first-child { border-color: var(--green); background: var(--green); color: #fff; }
.progress-steps .is-complete > span:first-child { border-color: var(--green); color: var(--green); }
.progress-steps .icon { width: 13px; height: 13px; }
.progress-steps--workflow > li { animation: workflow-step-in .48s cubic-bezier(.2, .8, .2, 1) both; }
.progress-steps--workflow > li:nth-child(2) { animation-delay: .08s; }
.progress-steps--workflow > li:nth-child(3) { animation-delay: .16s; }
.progress-steps--workflow > li:not(:last-child)::after { transform: scaleX(0); transform-origin: left center; animation: workflow-connector-in .55s .16s ease-out forwards; }
@keyframes workflow-step-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes workflow-connector-in { to { transform: scaleX(1); } }
.app-heading { max-width: 680px; margin: 0 auto 32px; text-align: center; }
.app-heading--compact { margin-bottom: 24px; }
.app-heading--compact h1 { font-size: 43px; }
.app-heading h1, .processing-heading h1, .history-heading h1, .auth-card h1, .result-card h1, .error-card h1 { margin-top: 12px; font-family: var(--serif); font-size: 48px; font-weight: 400; line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.app-heading > p:last-child, .processing-heading > p:last-child, .auth-card > p, .result-card > p, .error-card > p { max-width: 590px; margin: 18px auto 0; color: var(--muted); line-height: 27px; }
.card { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: 0 12px 34px rgba(32, 55, 45, .08); }
.claim-quote { position: relative; margin: 0 0 20px; padding: 22px 24px; border-left: 3px solid var(--gold); border-radius: 4px 14px 14px 4px; background: var(--sage); }
.claim-quote blockquote { margin-top: 7px; font-family: var(--serif); font-size: 21px; line-height: 1.45; }
.claim-quote .icon-button { position: absolute; top: 14px; right: 14px; }
.claim-quote--compact { padding-block: 17px; }
.claim-quote--compact blockquote { max-width: calc(100% - 44px); font-size: 18px; }
.context-form { padding: 26px; }
.field-grid { display: grid; gap: 22px; }
.field-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid--context { grid-template-columns: minmax(0, 1.45fr) minmax(180px, .55fr); }
.field + .field, .field-grid + .field { margin-top: 22px; }
.field label, .field-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--ink); font-size: 14px; font-weight: 600; }
.field label span { color: var(--muted); font-size: 11px; font-weight: 400; }
.field-label { display: inline-flex; align-items: center; gap: 7px; color: var(--ink) !important; font-size: 14px !important; font-weight: 600 !important; }
.field-label .icon { color: var(--green); }
.field input, .field textarea { width: 100%; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--field-border); border-radius: 11px; background: #fff; color: var(--ink); font-size: 15px; line-height: 22px; transition: border-color .15s ease, box-shadow .15s ease; }
.field input { min-height: 46px; }
.field textarea { resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: var(--placeholder); }
.field input:focus, .field textarea:focus { border-color: var(--green); outline: 3px solid var(--green); outline-offset: 2px; box-shadow: 0 0 0 2px var(--surface); }
.field-help { margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 18px; }
.field-errors { margin-top: 6px; color: var(--danger); font-size: 12px; }
.field-errors ul { padding-left: 18px; }
.form-alert { margin-bottom: 20px; padding: 12px 14px; border: 1px solid #e2b8b3; border-radius: 10px; background: #fff0ee; color: #7c302b; font-size: 13px; }
.form-actions { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 10px; }
.form-actions--between { justify-content: space-between; }
.form-actions--between > div { display: flex; gap: 10px; }
.form-actions--context { justify-content: flex-end; flex-wrap: wrap; }
.timed-button { min-width: 218px; justify-content: space-between; }
.timed-button__count { min-width: 28px; height: 28px; padding-inline: 6px; border: 1px solid rgba(255, 253, 247, .34); border-radius: 50%; display: inline-grid; place-items: center; background: rgba(255, 253, 247, .12); font-family: var(--mono); font-size: 11px; line-height: 1; }
.timed-button__hint { width: 100%; margin: -2px 0 0; display: flex; align-items: center; justify-content: flex-end; gap: 6px; color: var(--muted); font-size: 11px; }
.timed-button__hint .icon { color: var(--gold); }
.context-discard { margin-top: 18px; display: flex; justify-content: center; }
.context-discard .text-button { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.privacy-note { margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--muted); font-size: 12px; }
.privacy-note a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.icon-button { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; background: transparent; color: var(--muted); cursor: pointer; }
.icon-button:hover { background: rgba(24, 60, 53, .08); color: var(--green); }

/* Processing */
.processing-section { min-height: calc(100vh - var(--header-height) - 92px); padding: 60px 0 96px; }
.analysis-stage { animation: workflow-stage-in .62s cubic-bezier(.2, .8, .2, 1) both; }
.analysis-workflow-section[data-workflow-stage="research"] .analysis-stage { animation-name: workflow-stage-in-research; }
.analysis-workflow-section.is-transitioning-out .analysis-stage { animation: workflow-stage-out .28s ease-in both; }
.analysis-workflow-section.is-transitioning-out .progress-steps { animation: workflow-progress-out .28s ease-in both; }
@keyframes workflow-stage-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes workflow-stage-in-research { from { opacity: 0; transform: translateX(22px); } to { opacity: 1; transform: translateX(0); } }
@keyframes workflow-stage-out { to { opacity: 0; transform: translateX(-18px); } }
@keyframes workflow-progress-out { to { opacity: 0; transform: translateY(-8px); } }
.processing-heading { text-align: center; }
.research-orbit { position: relative; width: 92px; height: 92px; margin: 0 auto 28px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; background: var(--surface); }
.research-orbit::before, .research-orbit::after { content: ""; position: absolute; border: 1px solid rgba(24, 60, 53, .12); border-radius: 50%; }
.research-orbit::before { inset: 9px; }
.research-orbit::after { inset: 19px; }
.research-orbit > .icon { position: relative; z-index: 2; width: 25px; height: 25px; color: var(--green); }
.research-orbit > span { position: absolute; z-index: 3; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); animation: orbit 2.4s linear infinite; }
.research-orbit > span:nth-child(2) { animation-delay: -.8s; background: var(--green); }
.research-orbit > span:nth-child(3) { animation-delay: -1.6s; background: #88a095; }
@keyframes orbit { from { transform: rotate(0deg) translateX(42px) rotate(0deg); } to { transform: rotate(360deg) translateX(42px) rotate(-360deg); } }
.processing-claim { margin: 34px 0 18px; padding: 20px 24px; border-radius: 14px; background: var(--sage); color: var(--ink); font-family: var(--serif); font-size: 19px; line-height: 1.45; text-align: center; }
.analysis-progress-notice { margin: 0 0 18px; padding: 16px 18px; border: 1px solid #d9bd91; border-radius: 14px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; background: #fff8ed; }
.analysis-progress-notice__icon { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #f4dfbf; color: #7e511f; }
.analysis-progress-notice strong { display: block; font-size: 13px; }
.analysis-progress-notice p { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 18px; }
.analysis-progress-notice .button { white-space: nowrap; }
.research-status { padding: 28px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); }
.research-timeline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; list-style: none; }
.research-timeline li { display: flex; gap: 12px; opacity: .55; }
.research-timeline li > span { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: var(--muted); }
.research-timeline li > span .icon { width: 16px; height: 16px; }
.research-timeline strong, .research-timeline small { display: block; }
.research-timeline strong { font-size: 13px; }
.research-timeline small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 17px; }
.research-timeline .is-complete, .research-timeline .is-active { opacity: 1; }
.research-timeline .is-complete > span { border-color: #acd1c2; background: #e5f2ec; color: var(--success); }
.research-timeline .is-active > span { border-color: var(--gold); background: #fff7ec; color: var(--warning); animation: pulse 1.7s ease-in-out infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 7px rgba(213, 154, 84, .12); } }
.status-progress { height: 3px; margin-top: 28px; overflow: hidden; border-radius: 99px; background: var(--sage); }
.status-progress span { display: block; width: 38%; height: 100%; border-radius: inherit; background: var(--green); animation: progress 2s ease-in-out infinite; }
@keyframes progress { 0% { transform: translateX(-105%); } 100% { transform: translateX(300%); } }
.status-error, .status-ready { display: flex; align-items: flex-start; gap: 16px; }
.status-error h2, .status-ready h2 { font-family: var(--serif); font-size: 28px; font-weight: 400; }
.status-error p, .status-ready p { margin: 5px 0 14px; color: var(--muted); }
.poll-error { margin-top: 14px; color: var(--danger); font-size: 12px; text-align: center; }
.info-panel { margin-top: 20px; padding: 18px 20px; border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: flex-start; gap: 12px; background: rgba(255, 254, 249, .56); color: var(--muted); font-size: 13px; line-height: 21px; }
.info-panel > .icon { margin-top: 2px; color: var(--green); }
.info-panel strong { display: block; margin-bottom: 3px; color: var(--ink); }

/* Reports */
.report-page { padding: 42px 0 100px; }
.report-toolbar { margin-bottom: 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.report-toolbar__actions { display: flex; align-items: center; gap: 8px; }
.report-recovery { margin: -10px 0 22px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: center; gap: 10px; background: rgba(255, 254, 249, .72); color: var(--muted); font-size: 12px; }
.report-recovery > .icon { color: var(--green); }
.report-recovery .text-link { margin-left: auto; white-space: nowrap; }
.report-claim-header { padding: 42px 48px; border-radius: 18px 18px 0 0; background: var(--green); color: #fffdf7; }
.report-meta { display: flex; align-items: center; gap: 18px; color: rgba(255, 253, 247, .58); }
.report-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.report-claim-header h1 { max-width: 880px; margin-top: 18px; font-family: var(--serif); font-size: 42px; font-weight: 400; line-height: 1.13; letter-spacing: -.02em; }
.context-strip { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(255, 253, 247, .16); display: flex; flex-wrap: wrap; gap: 22px 38px; }
.context-strip div { display: grid; gap: 2px; }
.context-strip dt { color: rgba(255, 253, 247, .5); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.context-strip dd { font-size: 13px; }
.report-claim-header + .research-status { border-radius: 0 0 18px 18px; }
.report-section { padding: 42px 48px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); border-left: 1px solid var(--border); background: var(--surface); }
.report-summary { padding-top: 0; }
.verdict-card { margin: 0 -48px; padding: 34px 48px; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.4fr); gap: 40px; background: var(--sage); }
.verdict-card__label { min-width: 0; }
.verdict-card__label h2 { margin-top: 8px; font-family: var(--serif); font-size: clamp(36px, 3.45vw, 44px); font-weight: 400; line-height: 1.02; overflow-wrap: break-word; hyphens: auto; }
.confidence { margin-top: 16px; display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.confidence i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.confidence-note { max-width: 260px; margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 17px; }
.confidence-note a { color: var(--green); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.verdict-card__explanation > p:first-child { font-size: 17px; line-height: 28px; }
.preliminary-note { margin-top: 14px; padding: 11px 12px; border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; background: rgba(255, 254, 249, .72); color: var(--muted); font-size: 12px; line-height: 19px; }
.preliminary-note .icon { margin-top: 2px; color: var(--green); }
.limitation { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(25, 39, 35, .12); display: flex; align-items: flex-start; gap: 9px; color: var(--muted); font-size: 13px; line-height: 20px; }
.limitation .icon { margin-top: 2px; }
.limitation ul { margin-top: 4px; padding-left: 17px; }
.verdict--true .verdict-card__label, .verdict--mostly-true .verdict-card__label { color: var(--success); }
.verdict--mixed .verdict-card__label, .verdict--unverifiable .verdict-card__label, .verdict--not-fact-checkable .verdict-card__label { color: var(--warning); }
.verdict--false .verdict-card__label, .verdict--mostly-false .verdict-card__label { color: var(--danger); }
.report-columns { padding-top: 44px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 48px; }
.report-section__heading h2 { margin-top: 6px; font-family: var(--serif); font-size: 32px; font-weight: 400; line-height: 1.1; }
.report-section__heading--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.finding-list, .fact-list, .source-list, .deep-claims { margin-top: 24px; display: grid; list-style: none; }
.finding-list li { padding: 18px 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: 32px 1fr; gap: 14px; }
.finding-list li > span, .deep-claims li > span { color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }
.finding-list h3 { font-size: 15px; line-height: 22px; }
.finding-list p { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 21px; }
.mini-verdict { display: inline-flex; margin-top: 8px; padding: 3px 7px; border-radius: 999px; background: var(--sage); color: var(--green); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.citation-links { margin-left: 8px; display: inline-flex; flex-wrap: wrap; gap: 4px; font-family: var(--mono); font-size: 10px; }
.citation-links a, .quality-list strong a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.fact-list { gap: 10px; }
.fact-list li { padding: 14px; border-radius: 10px; display: flex; align-items: flex-start; gap: 10px; background: #eef4ef; font-size: 13px; line-height: 20px; }
.fact-list li > .icon { margin-top: 2px; color: var(--success); }
.fact-list .fact--contradicting { background: #faefed; }
.fact-list .fact--contradicting > .icon { color: var(--danger); }
.fact-list .fact--context, .fact-list .fact--contextual { background: #f4f1e7; }
.fact-list small { color: var(--muted); font-size: 10px; }
.sources-section { border-radius: 0 0 18px 18px; }
.source-count { color: var(--muted); }
.source-list li { padding: 20px 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: 34px 1fr; gap: 14px; }
.source-number { width: 30px; height: 30px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: var(--muted); font-family: var(--mono); font-size: 9px; }
.source-list a { display: inline-flex; align-items: center; gap: 6px; color: var(--green); font-weight: 600; line-height: 22px; }
.source-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.source-list a .icon { width: 14px; height: 14px; }
.source-list li p { margin-top: 3px; color: var(--muted); font-size: 12px; }
.source-list blockquote { margin-top: 9px; padding-left: 12px; border-left: 2px solid var(--border); color: var(--muted); font-size: 12px; line-height: 19px; }
.source-excerpt { margin-top: 10px; }
.source-excerpt summary { display: inline-flex; align-items: center; gap: 6px; color: var(--green); font-size: 12px; font-weight: 600; cursor: pointer; }
.source-excerpt summary .icon { width: 14px; height: 14px; }
.source-note { margin-top: 20px; padding: 14px; border-radius: 10px; display: flex; gap: 9px; background: var(--sage); color: var(--muted); font-size: 12px; }
.source-note .icon { margin-top: 2px; color: var(--green); }
.empty-inline { color: var(--muted); font-size: 13px; }
.unlock-card { position: relative; margin-top: 24px; min-height: 440px; overflow: hidden; border: 1px solid rgba(24, 60, 53, .2); border-radius: 18px; background: var(--green); color: #fffdf7; box-shadow: var(--shadow-lg); }
.unlock-card__preview { position: absolute; inset: 0; padding: 40px; opacity: .12; filter: blur(3px); display: grid; gap: 18px; }
.unlock-card__preview div { height: 34px; border-radius: 5px; background: linear-gradient(90deg, white 70%, transparent 70%); }
.unlock-card__preview div:nth-child(2) { width: 75%; }
.unlock-card__preview div:nth-child(3) { height: 100px; }
.unlock-card__content { position: relative; z-index: 1; width: min(100% - 48px, 640px); margin: 58px auto; padding: 36px; border: 1px solid rgba(255, 253, 247, .2); border-radius: 16px; background: rgba(24, 60, 53, .92); text-align: center; backdrop-filter: blur(8px); }
.unlock-card__content .round-icon { margin: 0 auto 20px; }
.unlock-card__content .kicker { color: rgba(255, 253, 247, .55); }
.unlock-card__content h2 { margin-top: 9px; font-family: var(--serif); font-size: 38px; font-weight: 400; line-height: 1.08; }
.unlock-card__content > p:not(.kicker) { margin-top: 15px; color: rgba(255, 253, 247, .7); line-height: 25px; }
.feature-list--inline { margin: 22px 0; padding: 0; border: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 20px; color: rgba(255, 253, 247, .86); }
.feature-list--inline .icon { color: var(--gold); }
.unlock-card__content form { display: grid; justify-content: center; gap: 8px; }
.unlock-card__content small { color: rgba(255, 253, 247, .55); }
.full-progress-card { margin-top: 24px; padding: 28px; border: 1px solid #d7bd99; border-radius: 18px; background: #fff8ed; }
.full-progress-card__heading { margin-bottom: 20px; display: flex; align-items: center; gap: 16px; }
.full-progress-card__heading h2 { margin-top: 3px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.full-progress-card__heading p:last-child { margin-top: 5px; color: var(--muted); font-size: 13px; }
.full-progress-card .research-status { background: var(--surface); }
.full-report { margin-top: 24px; overflow: hidden; border-radius: 18px; background: var(--green); color: #fffdf7; box-shadow: var(--shadow-lg); }
.full-report__header { padding: 38px 44px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.full-report__header .kicker { color: var(--gold-light); }
.full-report__header h2 { margin-top: 6px; font-family: var(--serif); font-size: 44px; font-weight: 400; }
.full-report__header p:last-child { margin-top: 8px; color: rgba(255, 253, 247, .65); }
.full-report__body { padding: 46px 48px; border-radius: 18px 18px 0 0; background: var(--surface); color: var(--ink); }
.full-report__body h3 { margin-top: 7px; font-family: var(--serif); font-size: 32px; font-weight: 400; }
.full-verdict { padding: 26px; border-radius: 14px; display: grid; grid-template-columns: minmax(190px, .7fr) 1.3fr; align-items: center; gap: 32px; background: var(--sage); }
.full-verdict h3 { font-size: 40px; line-height: 1; }
.full-verdict > p { color: #40514c; font-size: 16px; line-height: 27px; }
.full-verdict.verdict--true > div, .full-verdict.verdict--mostly-true > div { color: var(--success); }
.full-verdict.verdict--mixed > div, .full-verdict.verdict--unverifiable > div, .full-verdict.verdict--not-fact-checkable > div { color: var(--warning); }
.full-verdict.verdict--false > div, .full-verdict.verdict--mostly-false > div { color: var(--danger); }
.analysis-prose > p:not(.kicker) { margin-top: 16px; color: #40514c; font-size: 16px; line-height: 29px; }
.full-report__body > section + section, .full-report__body > section + .analysis-grid, .analysis-grid + section { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--border); }
.deep-claims li { padding: 22px 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: 36px 1fr; gap: 18px; }
.deep-claims h4 { font-size: 17px; }
.deep-claims p { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 24px; }
.evidence-note { margin-top: 14px; padding: 13px 15px; border-left: 3px solid var(--success); background: #eef4ef; font-size: 13px; }
.evidence-note--counter { border-color: var(--danger); background: #faefed; }
.evidence-note p { margin-top: 3px; }
.evidence-columns { margin-top: 24px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.evidence-columns > div { padding: 20px; border: 1px solid var(--border); border-radius: 13px; background: var(--canvas); }
.evidence-columns h4 { font-size: 15px; }
.evidence-list { margin-top: 12px; display: grid; gap: 10px; list-style: none; }
.evidence-list li { padding: 12px; border-left: 3px solid var(--success); background: #eef4ef; color: var(--muted); font-size: 13px; line-height: 20px; }
.evidence-list--counter li { border-left-color: var(--danger); background: #faefed; }
.evidence-list small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.analysis-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.analysis-grid > section { padding: 24px; border: 1px solid var(--border); border-radius: 14px; background: var(--canvas); }
.analysis-grid .round-icon { width: 40px; height: 40px; margin-bottom: 18px; }
.analysis-grid .round-icon .icon { width: 18px; height: 18px; }
.analysis-grid h3 { font-size: 25px; }
.analysis-grid section > p:last-child { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 24px; }
.quality-list { margin-top: 12px; display: grid; gap: 9px; list-style: none; }
.quality-list li { padding-top: 9px; border-top: 1px solid var(--border); display: grid; gap: 3px; }
.quality-list strong { color: var(--green); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.quality-list span { color: var(--muted); font-size: 13px; line-height: 20px; }
.uncertainty-panel { padding: 24px; border-radius: 14px; display: flex; align-items: flex-start; gap: 16px; background: #f4f1e7; }
.uncertainty-panel > .icon { margin-top: 4px; color: var(--warning); }
.uncertainty-panel p:not(.kicker) { margin-top: 10px; color: var(--muted); line-height: 24px; }
.uncertainty-panel ul { margin-top: 12px; padding-left: 18px; color: var(--muted); }
.revision-note { padding: 24px; border: 1px solid #d7bd99; border-radius: 14px; background: #fff7ec; }
.revision-note p:last-child { margin-top: 10px; color: var(--muted); }
.method-note { margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--border); color: var(--muted); font-size: 13px; line-height: 21px; }
.method-note strong { color: var(--ink); }
.method-note p { margin: 4px 0 10px; }
.report-menu { margin-top: 24px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255, 254, 249, .58); }
.report-menu summary { padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 13px; cursor: pointer; list-style: none; }
.report-menu summary::-webkit-details-marker { display: none; }
.report-menu[open] summary .icon { transform: rotate(180deg); }
.report-menu > div { padding: 18px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.report-menu p { color: var(--muted); font-size: 13px; }

/* History */
.history-heading { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; }
.history-heading h1 { margin-top: 8px; }
.history-heading > div:first-child > p:last-child { margin-top: 10px; color: var(--muted); }
.balance-card { min-width: 340px; padding: 18px; border-radius: 14px; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; background: var(--green); color: #fffdf7; }
.balance-card > span { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 253, 247, .12); color: var(--gold); }
.balance-card strong, .balance-card small { display: block; }
.balance-card strong { font-family: var(--serif); font-size: 28px; line-height: 1; }
.balance-card small { margin-top: 3px; color: rgba(255, 253, 247, .6); font-size: 11px; }
.history-toolbar { margin-top: 48px; padding-bottom: 14px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.history-toolbar p { color: var(--muted); font-size: 13px; }
.report-list { display: grid; list-style: none; }
.report-list li { border-bottom: 1px solid var(--border); }
.report-list a { position: relative; padding: 25px 56px 25px 0; display: block; }
.report-list a:hover h2 { color: var(--green-2); }
.report-list__meta { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; }
.report-list__meta .mini-verdict { margin-top: 0; align-items: center; gap: 4px; }
.report-list__meta .mini-verdict .icon { width: 12px; height: 12px; }
.mini-verdict--draft { background: #f3eadc; color: #795025; }
.mini-verdict--failed { background: #fae7e4; color: var(--danger); }
.paid-mark { display: inline-flex; align-items: center; gap: 4px; color: var(--warning); font-weight: 600; text-transform: uppercase; }
.report-list h2 { max-width: 800px; margin-top: 10px; font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.3; transition: color .15s ease; }
.report-list a > p { max-width: 820px; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 21px; }
.report-list__arrow { position: absolute; right: 10px; top: 50%; width: 36px; height: 36px; transform: translateY(-50%); border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: var(--green); }
.empty-state { margin-top: 44px; padding: 72px 24px; border: 1px dashed #bdc8be; border-radius: 18px; display: flex; flex-direction: column; align-items: center; background: rgba(255, 254, 249, .48); text-align: center; }
.empty-state h2 { margin-top: 18px; font-family: var(--serif); font-size: 32px; font-weight: 400; }
.empty-state p { max-width: 430px; margin-top: 8px; color: var(--muted); }
.empty-state .button { margin-top: 22px; }

/* Authentication, checkout, and result pages */
.auth-section, .result-section, .error-section { min-height: calc(100vh - var(--header-height) - 92px); padding: 70px 0 100px; display: grid; align-items: start; }
.auth-card, .result-card, .error-card { padding: 38px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-lg); text-align: center; }
.auth-card__icon, .result-icon { width: 56px; height: 56px; margin: 0 auto 22px; border-radius: 50%; display: grid; place-items: center; background: var(--sage); color: var(--green); }
.auth-card__icon .icon, .result-icon .icon { width: 24px; height: 24px; }
.auth-card h1, .result-card h1, .error-card h1 { font-size: 42px; }
.auth-card form { margin-top: 28px; text-align: left; }
.auth-card form .button { margin-top: 22px; }
.auth-card__fineprint { margin-top: 22px !important; display: flex; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 11px; line-height: 18px !important; text-align: left; }
.auth-card__fineprint > .icon { margin-top: 2px; }
.auth-card__fineprint a { color: var(--green); text-decoration: underline; }
.field--otp input { height: 64px; text-align: center; font-family: var(--mono); font-size: 28px; letter-spacing: .34em; text-indent: .34em; }
.resend-row { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--border); display: flex; justify-content: center; gap: 6px; color: var(--muted); font-size: 13px; }
.resend-row form { margin: 0; }
.auth-card__back { margin-top: 20px; }
.checkout-section { min-height: calc(100vh - var(--header-height) - 92px); padding: 46px 0 90px; }
.mock-banner { margin-bottom: 22px; padding: 12px 16px; border: 1px solid #d8bb93; border-radius: 11px; display: flex; align-items: center; gap: 10px; background: #fff7ec; color: #6b4a22; font-size: 13px; }
.mock-banner span { margin-left: auto; color: #846238; }
.checkout-grid { overflow: hidden; border: 1px solid var(--border); border-radius: 20px; display: grid; grid-template-columns: 1fr .9fr; background: var(--surface); box-shadow: var(--shadow-lg); }
.checkout-summary, .checkout-panel { padding: 46px; }
.checkout-summary { background: var(--green); color: #fffdf7; }
.brand--checkout { margin-bottom: 70px; }
.brand--checkout .brand__mark { background: #fffdf7; color: var(--green); }
.checkout-summary .kicker { color: var(--gold-light); }
.checkout-summary h1 { margin-top: 10px; font-family: var(--serif); font-size: 42px; font-weight: 400; line-height: 1.06; }
.checkout-summary > p:not(.kicker) { max-width: 430px; margin-top: 15px; color: rgba(255, 253, 247, .66); line-height: 25px; }
.order-lines { margin-top: 36px; padding-block: 22px; border-top: 1px solid rgba(255, 253, 247, .15); border-bottom: 1px solid rgba(255, 253, 247, .15); display: grid; gap: 14px; }
.order-lines div { display: flex; justify-content: space-between; gap: 20px; }
.order-lines div:last-child { font-weight: 600; }
.checkout-summary .feature-list { margin-bottom: 0; padding-top: 0; border: 0; color: rgba(255, 253, 247, .8); }
.checkout-summary .feature-list .icon { color: var(--gold); }
.checkout-secure { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.checkout-panel h2 { margin-top: 12px; font-family: var(--serif); font-size: 32px; font-weight: 400; }
.mock-method { margin-top: 28px; padding: 16px; border: 2px solid var(--green); border-radius: 12px; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; }
.mock-method > span { width: 40px; height: 40px; border-radius: 9px; display: grid; place-items: center; background: var(--sage); color: var(--green); }
.mock-method strong, .mock-method small { display: block; }
.mock-method small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.mock-method__check { color: var(--success); }
.checkout-details { margin-top: 22px; padding: 16px; border-radius: 10px; display: grid; gap: 12px; background: var(--canvas); }
.checkout-details div { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; }
.checkout-details dt { color: var(--muted); }
.checkout-details dd { max-width: 220px; text-align: right; }
.checkout-panel form { margin-top: 20px; }
.checkout-panel form + form { margin-top: 4px; }
.checkout-fineprint { margin-top: 16px; color: var(--muted); font-size: 10px; line-height: 16px; text-align: center; }
.result-icon--success { background: #e1f2ea; color: var(--success); }
.result-card .kicker { margin-top: 2px; }
.result-balance { margin: 24px 0; padding: 16px; border-radius: 12px; background: var(--sage); color: var(--muted); }
.result-balance span { display: block; color: var(--green); font-family: var(--serif); font-size: 38px; line-height: 1; }
.result-card .button + .button { margin-top: 8px; }

/* Editorial and legal */
.editorial-hero { padding: 110px 0 118px; text-align: center; }
.editorial-hero h1 { margin-top: 28px; font-family: var(--serif); font-size: clamp(58px, 7vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.035em; text-wrap: balance; }
.editorial-hero > div > p:not(.kicker):not(.eyebrow-pill) { max-width: 700px; margin: 28px auto 0; color: var(--muted); font-size: 18px; line-height: 30px; }
.editorial-hero small { display: block; margin-top: 22px; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.editorial-hero--compact { padding: 85px 0 90px; border-bottom: 1px solid var(--border); }
.editorial-hero--compact h1 { margin-top: 12px; font-size: 64px; }
.editorial-section { padding: 92px 0; }
.editorial-section--sage { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--sage); }
.editorial-section--border { border-top: 1px solid var(--border); }
.methodology-principles { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; }
.methodology-principles h2, .editorial-section h2 { margin-top: 10px; font-family: var(--serif); font-size: 46px; font-weight: 400; line-height: 1.08; letter-spacing: -.02em; }
.methodology-principles > div:last-child p { color: var(--muted); font-size: 16px; line-height: 29px; }
.methodology-principles > div:last-child p + p { margin-top: 20px; }
.method-list { margin-top: 50px; border-top: 1px solid var(--border); list-style: none; }
.method-list li { padding: 34px 0; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 70px 1fr; gap: 24px; }
.method-list li > span { color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: .12em; }
.method-list li > div { position: relative; padding-left: 52px; }
.method-list .icon { position: absolute; left: 0; top: 0; width: 26px; height: 26px; color: var(--green); }
.method-list h3 { font-family: var(--serif); font-size: 28px; font-weight: 400; }
.method-list p { margin-top: 7px; color: var(--muted); line-height: 26px; }
.verdict-scale { margin-top: 46px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: var(--border); gap: 1px; }
.verdict-scale article { min-height: 170px; padding: 24px; background: var(--surface); }
.verdict-scale h3 { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.verdict-scale p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 21px; }
.source-quality { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; }
.source-quality > div > p:last-child { margin-top: 18px; color: var(--muted); line-height: 27px; }
.source-quality ol { border-top: 1px solid #c7d0c4; list-style: none; }
.source-quality li { padding: 18px 0; border-bottom: 1px solid #c7d0c4; }
.source-quality li span, .source-quality li strong { display: block; }
.source-quality li span { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.source-quality li strong { margin-top: 4px; }
.source-quality li p { margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 20px; }
.editorial-prose > p:not(.kicker) { margin-top: 18px; color: var(--muted); font-size: 16px; line-height: 29px; }
.editorial-prose .info-panel { margin: 28px 0; }
.legal-layout { display: grid; grid-template-columns: 220px 1fr; gap: 72px; align-items: start; }
.legal-nav { position: sticky; top: 24px; display: grid; }
.legal-nav strong { margin-bottom: 10px; font-size: 13px; }
.legal-nav a { padding: 8px 0; color: var(--muted); font-size: 13px; }
.legal-nav a:hover { color: var(--green); }
.legal-copy section { scroll-margin-top: 24px; }
.legal-copy section + section { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--border); }
.legal-copy h2 { margin: 0; font-family: var(--serif); font-size: 32px; font-weight: 400; }
.legal-copy p { margin-top: 14px; color: var(--muted); line-height: 28px; }

/* Errors */
.error-card { position: relative; overflow: hidden; }
.error-code { position: absolute; right: -12px; top: -38px; color: var(--sage); font-family: var(--serif); font-size: 160px; line-height: 1; pointer-events: none; }
.error-icon { position: relative; width: 48px; height: 48px; margin: 4px auto 24px; color: var(--green); }
.error-card h1, .error-card > p, .error-card .button { position: relative; }
.error-card .button { margin-top: 24px; }
.error-card .button + .button { margin-left: 6px; }

@media (max-width: 1024px) {
  .shell--wide { width: min(100% - 48px, 920px); }
  .desktop-nav { gap: 22px; }
  .header-history { display: none; }
  .section-heading--split { grid-template-columns: 1fr .65fr; }
  .report-columns { gap: 32px; }
  .checkout-summary, .checkout-panel { padding: 38px; }
  .brand--checkout { margin-bottom: 48px; }
}

@media (max-width: 820px) {
  :root { --header-height: 72px; }
  .shell { width: min(100% - 36px, 100%); }
  .site-header__inner { min-height: 72px; padding-block: 14px; }
  .desktop-nav, .header-signin, .header-cta, .lang-switcher { display: none; }
  .header-signout { display: none; }
  .menu-button { display: grid; }
  .mobile-nav { display: block; }
  .no-js .menu-button { display: none; }
  .no-js .mobile-nav[x-cloak] { display: block !important; }
  .hero .shell { min-height: auto; padding: 84px 0 82px; }
  .hero h1 { max-width: 700px; font-size: clamp(50px, 10vw, 68px); }
  .section { padding: 76px 0; }
  .section-heading--split, .methodology-teaser, .methodology-principles, .source-quality { grid-template-columns: 1fr; gap: 28px; }
  .section-heading--split > p { max-width: 520px; }
  .steps-card { grid-template-columns: 1fr; }
  .steps-card li { min-height: 210px; }
  .pricing h2 { font-size: 42px; }
  .pricing__header { grid-template-columns: 1fr; gap: 20px; }
  .pricing__header-copy { max-width: 520px; padding: 16px 0 0; border-top: 2px solid var(--gold); border-left: 0; }
  .report-claim-header { padding: 36px; }
  .report-section { padding-inline: 36px; }
  .verdict-card { margin-inline: -36px; padding-inline: 36px; grid-template-columns: 1fr; gap: 24px; }
  .report-columns { grid-template-columns: 1fr; }
  .analysis-grid { grid-template-columns: 1fr; }
  .evidence-columns { grid-template-columns: 1fr; }
  .history-heading { grid-template-columns: 1fr; }
  .balance-card { min-width: 0; }
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-summary { padding-bottom: 38px; }
  .brand--checkout { margin-bottom: 36px; }
  .verdict-scale { grid-template-columns: repeat(2, 1fr); }
  .legal-layout { grid-template-columns: 1fr; gap: 36px; }
  .legal-nav { position: static; padding: 18px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: repeat(2, 1fr); }
  .legal-nav strong { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 28px, 100%); }
  .brand__mark { width: 34px; height: 34px; }
  .brand__name { font-size: 22px; }
  .credit-pill { display: none; }
  .site-footer__inner { align-items: flex-start; flex-direction: column; }
  .site-footer nav { flex-wrap: wrap; gap: 12px 20px; }
  .hero .shell { padding-top: 70px; }
  .hero h1 { font-size: 48px; line-height: 1; }
  .hero__lede { font-size: 16px; line-height: 26px; }
  .claim-composer { padding: 8px; border-radius: 17px; }
  .claim-composer textarea { min-height: 136px; padding-inline: 11px; }
  .claim-composer__bar { align-items: stretch; flex-wrap: wrap; }
  .claim-composer__bar .micro-copy { flex: 1; }
  .claim-composer__bar .character-count { align-self: center; }
  .claim-composer__bar .button { width: 100%; }
  .trust-row { flex-direction: column; align-items: center; gap: 8px; }
  .section { padding: 66px 0; }
  .section-heading h2, .methodology-teaser h2, .pricing h2 { font-size: 38px; }
  .steps-card li { padding: 24px; }
  .pricing-grid, .report-tier-grid { grid-template-columns: 1fr; }
  .report-tier-card, .price-card { min-height: 0; padding: 24px; }
  .pricing__purchase-heading { margin-top: 44px; }
  .rate-limit-credit-options { grid-template-columns: 1fr; }
  .progress-steps { gap: 18px; }
  .progress-steps > li { gap: 5px; font-size: 10px; }
  .progress-steps > li:not(:last-child)::after { left: calc(100% + 7px); width: 8px; }
  .app-heading h1, .processing-heading h1, .history-heading h1, .auth-card h1, .result-card h1, .error-card h1 { font-size: 38px; }
  .context-form { padding: 22px 18px; }
  .field-grid--two, .field-grid--context { grid-template-columns: 1fr; }
  .form-actions--context { display: grid; }
  .form-actions--context .button { width: 100%; }
  .form-actions--context .timed-button { min-width: 0; }
  .timed-button__hint { justify-content: flex-start; }
  .analysis-progress-notice { grid-template-columns: auto minmax(0, 1fr); }
  .analysis-progress-notice .button { grid-column: 1 / -1; width: 100%; }
  .form-actions--between { align-items: stretch; flex-direction: column-reverse; }
  .form-actions--between > div { display: grid; }
  .form-actions--between .button { width: 100%; }
  .privacy-note { align-items: flex-start; }
  .research-timeline { grid-template-columns: 1fr; }
  .report-page { padding-top: 24px; }
  .report-toolbar { align-items: flex-start; flex-direction: column; }
  .report-toolbar__actions { width: 100%; }
  .report-toolbar__actions .button { flex: 1; }
  .report-claim-header { padding: 30px 22px; }
  .report-claim-header h1 { font-size: 32px; }
  .report-meta { align-items: flex-start; flex-direction: column; gap: 8px; }
  .context-strip { flex-direction: column; }
  .report-section { padding: 30px 22px; }
  .verdict-card { margin: -1px -22px 0; padding: 28px 22px; grid-template-columns: 1fr; gap: 22px; }
  .verdict-card__label h2 { font-size: 36px; }
  .report-columns { padding-top: 34px; }
  .source-excerpt:not([open]) blockquote { display: none; }
  .unlock-card__content { width: calc(100% - 28px); margin: 28px auto; padding: 28px 18px; }
  .unlock-card__content h2 { font-size: 32px; }
  .feature-list--inline { align-items: flex-start; flex-direction: column; }
  .full-report__header { padding: 30px 22px; align-items: flex-start; flex-direction: column; }
  .full-report__header h2 { font-size: 38px; }
  .full-report__body { padding: 34px 22px; }
  .full-verdict { padding: 22px; grid-template-columns: 1fr; gap: 18px; }
  .full-verdict h3 { font-size: 34px; }
  .report-menu > div { align-items: flex-start; flex-direction: column; }
  .report-recovery { align-items: flex-start; flex-wrap: wrap; }
  .report-recovery .text-link { width: 100%; margin-left: 0; }
  .full-progress-card { padding: 22px 18px; }
  .full-progress-card__heading { align-items: flex-start; }
  .balance-card { grid-template-columns: 40px 1fr; }
  .balance-card form { grid-column: 1 / -1; }
  .history-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
  .report-list h2 { font-size: 21px; }
  .auth-section, .result-section, .error-section { padding-top: 36px; }
  .auth-card, .result-card, .error-card { padding: 30px 20px; }
  .mock-banner { align-items: flex-start; flex-wrap: wrap; }
  .mock-banner span { width: 100%; margin-left: 28px; }
  .checkout-summary, .checkout-panel { padding: 30px 22px; }
  .checkout-summary h1 { font-size: 36px; }
  .checkout-details div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .checkout-details dd { text-align: left; }
  .editorial-hero { padding: 76px 0 82px; }
  .editorial-hero h1 { font-size: 50px; }
  .editorial-hero--compact h1 { font-size: 48px; }
  .editorial-section { padding: 68px 0; }
  .methodology-principles h2, .editorial-section h2 { font-size: 38px; }
  .method-list li { grid-template-columns: 36px 1fr; gap: 10px; }
  .method-list li > div { padding-left: 0; }
  .method-list .icon { position: static; margin-bottom: 12px; }
  .verdict-scale { grid-template-columns: 1fr; }
  .legal-nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media print {
  .site-header, .site-footer, .report-toolbar, .report-menu, .unlock-card { display: none !important; }
  body { background: #fff; color: #000; }
  .report-page, .report-section, .full-report__body { padding: 0; }
  .report-claim-header, .full-report { border: 1px solid #777; box-shadow: none; }
  a { color: #000; text-decoration: underline; }
}
