:root {
  color-scheme: light;
  --bg: #f4f7fa;
  --surface: #ffffff;
  --ink: #0b1f33;
  --muted: #536579;
  --line: #d9e2ea;
  --accent: #00758a;
  --accent-hover: #005d70;
  --accent-soft: #e1f3f5;
  --accent-ink: #ffffff;
  --brand-warm: #ffbc42;
  --brand-warm-soft: #fff4d8;
  --code-bg: #10283d;
  --good: #16734a;
  --good-soft: #e5f5ec;
  --mid: #8a5a00;
  --mid-soft: #fff2cf;
  --bad: #b33232;
  --bad-soft: #fdeaea;
  --info: #27668a;
  --info-soft: #e8f3fa;
  --focus: #e76818;
  --radius: 1rem;
  --radius-lg: 1.5rem;
  --measure: 70ch;
  --shadow-sm: 0 1px 2px rgb(11 31 51 / .05), 0 5px 16px rgb(11 31 51 / .05);
  --shadow-lg: 0 18px 55px rgb(11 31 51 / .10);
  --s1: .25rem;
  --s2: .5rem;
  --s3: .75rem;
  --s4: 1rem;
  --s5: 1.5rem;
  --s6: 2rem;
  --s7: 3rem;
  --s8: 5rem;
  --step--1: .875rem;
  --step-0: 1rem;
  --step-1: clamp(1.08rem, 1.02rem + .28vw, 1.22rem);
  --step-2: clamp(1.35rem, 1.18rem + .7vw, 1.75rem);
  --step-3: clamp(1.8rem, 1.42rem + 1.5vw, 2.65rem);
  --step-4: clamp(2.4rem, 1.65rem + 3vw, 4.2rem);
  --step-5: clamp(3rem, 1.9rem + 4.8vw, 6rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: var(--step-0); line-height: 1.62; }
body::before { content: ""; position: fixed; z-index: -1; inset: 0 0 auto; height: 32rem; background: radial-gradient(circle at 72% 8%, rgb(100 210 218 / .16), transparent 28rem), radial-gradient(circle at 12% -10%, rgb(255 188 66 / .14), transparent 22rem); pointer-events: none; }
a { color: var(--accent); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .14em; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: .35rem; }
button, input, select, textarea { font: inherit; color: inherit; }
button, select, summary { cursor: pointer; }
button:disabled, input:disabled, select:disabled { cursor: not-allowed; opacity: .5; }
svg { display: block; }
h1, h2, h3 { margin: 0 0 var(--s4); font-weight: 760; line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
h1 { max-width: 15ch; font-size: var(--step-5); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-2); }
p, ul, ol { margin-top: 0; }
.wrap { width: min(100% - 2rem, 75rem); margin-inline: auto; }
.skip { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .8rem 1rem; border-radius: .6rem; background: var(--ink); color: white; transform: translateY(-160%); }
.skip:focus { transform: none; }
.top { position: relative; z-index: 20; padding-top: .75rem; }
.top-row { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--s5); padding: .55rem .65rem .55rem 1rem; border: 1px solid rgb(217 226 234 / .85); border-radius: 1.1rem; background: rgb(255 255 255 / .92); box-shadow: var(--shadow-sm); }
.top nav, .foot nav { display: flex; align-items: center; gap: .35rem; }
.top nav a { min-height: 2.8rem; display: inline-flex; align-items: center; padding: .55rem .8rem; border-radius: .7rem; color: var(--muted); font-size: var(--step--1); font-weight: 680; text-decoration: none; }
.top nav a:hover { background: var(--accent-soft); color: var(--accent-hover); }
.top nav a.nav-cta { background: var(--ink); color: white; }
.top nav a.nav-cta:hover { background: var(--accent); }
.brand { display: inline-flex; align-items: center; gap: .72rem; color: var(--ink); text-decoration: none; white-space: nowrap; }
.brand-mark { width: 2.65rem; height: 2.65rem; flex: 0 0 auto; }
.brand-copy { display: grid; gap: .05rem; line-height: 1.1; }
.brand-copy strong { font-size: .78rem; font-weight: 850; letter-spacing: .105em; }
.brand-copy small { color: var(--muted); font-size: .56rem; font-weight: 680; letter-spacing: .025em; }
.foot { margin-top: var(--s8); padding-bottom: var(--s5); }
.foot-row { display: flex; justify-content: space-between; gap: var(--s6); padding: var(--s7); border-radius: var(--radius-lg); background: var(--ink); color: white; }
.foot p { max-width: 38ch; color: #c5d2de; }
.foot a { color: white; }
.foot-h { margin-bottom: var(--s2); color: white !important; font-weight: 800; letter-spacing: .06em; }
.eyebrow { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: var(--s5); color: var(--accent-hover); font-size: .75rem; font-weight: 820; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: var(--brand-warm); box-shadow: 0 0 0 4px var(--brand-warm-soft); }
.lead { max-width: 58ch; color: var(--muted); font-size: var(--step-1); line-height: 1.62; }
.hero { padding-block: clamp(4rem, 9vw, 7.5rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(27rem, 1.1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.hero-copy h1 span { color: var(--accent); }
.hero-points { display: flex; flex-wrap: wrap; gap: .55rem; margin: var(--s6) 0 0; padding: 0; list-style: none; }
.hero-points li { padding: .38rem .65rem; border: 1px solid var(--line); border-radius: 99rem; background: var(--surface); color: var(--muted); font-size: .78rem; font-weight: 650; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s4); margin-top: var(--s6); }
.tool-preview { position: relative; padding: .7rem; border: 1px solid var(--line); border-radius: 1.8rem; background: rgb(255 255 255 / .68); box-shadow: var(--shadow-lg); }
.tool-preview::before { content: ""; position: absolute; z-index: -1; width: 8rem; height: 8rem; right: -2rem; top: -2rem; border-radius: 2rem; background: var(--brand-warm); transform: rotate(10deg); opacity: .45; }
.tool-window { overflow: hidden; border: 1px solid var(--line); border-radius: 1.25rem; background: var(--surface); }
.tool-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: .85rem 1rem; border-bottom: 1px solid var(--line); background: #f9fbfc; }
.tool-dots { display: flex; gap: .35rem; }
.tool-dots i { width: .55rem; height: .55rem; border-radius: 50%; background: #ccd7df; }
.tool-dots i:first-child { background: var(--brand-warm); }
.tool-label { color: var(--muted); font-size: .72rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.tool-body { padding: clamp(1.15rem, 3vw, 2rem); }
.mini-result { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: center; margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--line); }
.mini-score { width: 5.2rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle closest-side, white 76%, transparent 78%), conic-gradient(var(--mid) 64%, #e6edf2 0); font-size: 1.7rem; font-weight: 820; }
.mini-bars { display: grid; gap: .65rem; }
.mini-bars div { display: grid; grid-template-columns: 1fr 2.3rem; gap: .5rem; color: var(--muted); font-size: .72rem; }
.mini-bars span { height: .45rem; align-self: center; border-radius: 1rem; background: linear-gradient(90deg, var(--accent) var(--value), #e6edf2 0); }
.btn { min-height: 3.15rem; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: .72rem 1.05rem; border: 1px solid var(--accent); border-radius: .8rem; background: var(--accent); color: var(--accent-ink); font-weight: 760; text-decoration: none; box-shadow: 0 6px 16px rgb(0 117 138 / .18); transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease; touch-action: manipulation; }
.btn:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: white; text-decoration: none; box-shadow: 0 9px 22px rgb(0 93 112 / .23); transform: translateY(-1px); }
.btn.secondary { border-color: var(--line); background: white; color: var(--ink); box-shadow: none; }
.btn.secondary:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-hover); }
.trust-strip { padding-block: var(--s5); border-block: 1px solid var(--line); background: rgb(255 255 255 / .55); }
.trust-strip p { margin: 0; max-width: 86ch; color: var(--muted); }
.trust-strip strong { color: var(--ink); }
.section { padding-block: var(--s8); }
.section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 30rem); gap: var(--s7); align-items: end; margin-bottom: var(--s7); }
.section-head p { margin: 0; color: var(--muted); }
.cards { display: grid; gap: var(--s4); }
.cards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card { min-width: 0; padding: var(--s6); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.card:hover { border-color: #b5c8d6; box-shadow: 0 14px 38px rgb(11 31 51 / .09); transform: translateY(-3px); }
.card > :last-child { margin-bottom: 0; }
.card-kicker { color: var(--accent); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.card a.stretched, .card h2 a, .card h3 a { color: var(--ink); text-decoration: none; }
.card a:hover { color: var(--accent); }
.bento { display: grid; grid-template-columns: 1.3fr .7fr; gap: var(--s4); }
.bento .card:first-child { min-height: 20rem; display: flex; flex-direction: column; justify-content: flex-end; background: var(--ink); color: white; }
.bento .card:first-child p { color: #bfd0dd; }
.bento .card:first-child a { color: white; }
.crumbs { padding-top: var(--s5); color: var(--muted); font-size: var(--step--1); }
.crumbs ol { display: flex; flex-wrap: wrap; gap: var(--s2); padding: 0; list-style: none; }
.crumbs li + li::before { content: "/"; margin-right: var(--s2); color: #99a9b6; }
.meta { color: var(--muted); font-size: var(--step--1); }
.prose { max-width: var(--measure); }
.prose > * + * { margin-top: var(--s5); }
.prose h2 { margin-top: var(--s7); }
.prose h3 { margin-top: var(--s6); }
.prose pre { overflow-x: auto; padding: var(--s5); border-radius: var(--radius); background: var(--code-bg); color: white; }
.prose code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .9em; }
.table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
table { width: 100%; border-collapse: collapse; min-width: 38rem; }
th, td { padding: var(--s4) var(--s5); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { background: #f8fafb; color: var(--muted); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
tr:last-child td { border-bottom: 0; }
.note { padding: var(--s5); border: 1px solid #b9dfe3; border-radius: var(--radius); background: var(--accent-soft); }
.more { margin-top: var(--s7); padding-top: var(--s6); border-top: 1px solid var(--line); }
.faq { display: grid; gap: var(--s3); }
.faq details, .cat-details { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.faq summary, .cat-details summary { min-height: 3.4rem; display: flex; align-items: center; justify-content: space-between; gap: var(--s4); padding: var(--s4) var(--s5); font-weight: 730; }
.faq details > div, .cat-details > div { padding: 0 var(--s5) var(--s5); }
.check-shell { padding-block: clamp(3rem, 7vw, 6rem); }
.check-shell > .wrap > .eyebrow, .check-shell > .wrap > h1, .check-shell > .wrap > .lead { margin-inline: auto; text-align: center; }
.check-shell > .wrap > h1 { max-width: 17ch; font-size: var(--step-4); }
.check-form { max-width: 54rem; margin: var(--s7) auto 0; padding: .7rem; border: 1px solid var(--line); border-radius: 1.15rem; background: white; box-shadow: var(--shadow-lg); }
.check-form > label { display: block; padding: .4rem .6rem .15rem; font-size: .78rem; font-weight: 780; }
.check-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
input, select, textarea { width: 100%; min-height: 3.25rem; padding: .75rem .85rem; border: 1px solid var(--line); border-radius: .78rem; background: #fbfcfd; transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
input:hover, select:hover, textarea:hover { border-color: #9eb2c1; background: white; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); background: white; box-shadow: 0 0 0 4px var(--accent-soft); outline: 0; }
input[aria-invalid="true"] { border-color: var(--bad); box-shadow: 0 0 0 4px var(--bad-soft); }
.check-hint { margin: .6rem .6rem .2rem; color: var(--muted); font-size: .82rem; }
.error-box { margin: .6rem; padding: .85rem 1rem; border-radius: .75rem; background: var(--bad-soft); color: #852525; font-size: .9rem; }
.error-example { margin: .55rem .6rem .2rem; }
.error-example summary { color: var(--muted); font-size: .78rem; font-weight: 700; }
.error-example .error-box { margin: .65rem 0 0; }
.report { margin-top: var(--s7); padding: var(--s5); border: 1px solid var(--line); border-radius: 2rem; background: #eaf0f4; }
.report .section { padding-block: var(--s7) var(--s4); }
.report-head { display: grid; grid-template-columns: auto 1fr; gap: var(--s7); align-items: center; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.35rem; background: var(--surface); box-shadow: var(--shadow-sm); }
.report-head h2 { max-width: 18ch; }
.score-ring { --score: 64; --ring: var(--mid); width: 10rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle closest-side, white 75%, transparent 77% 99%), conic-gradient(var(--ring) calc(var(--score) * 1%), #e5ecf1 0); font-variant-numeric: tabular-nums; box-shadow: inset 0 0 0 1px #e2e9ee; }
.score-ring strong { display: block; font-size: 3.1rem; line-height: .95; letter-spacing: -.07em; }
.score-ring span { display: block; margin-top: .35rem; color: var(--muted); font-size: .68rem; font-weight: 780; text-align: center; text-transform: uppercase; }
.cat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s3); margin-top: var(--s4); }
.cat { padding: var(--s5); border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.cat-label { min-height: 3.6em; margin-bottom: var(--s4); color: var(--muted); font-size: .8rem; font-weight: 720; }
.cat-label small { display: block; color: #80909e; }
.cat-score { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s2); font-variant-numeric: tabular-nums; }
.cat-score strong { font-size: 1.8rem; letter-spacing: -.05em; }
.cat-score span { font-size: .72rem; font-weight: 760; }
.cat-bar { height: .45rem; margin-top: var(--s3); overflow: hidden; border-radius: 1rem; background: #e8edf1; }
.cat-bar span { display: block; height: 100%; border-radius: inherit; background: var(--state, var(--mid)); }
.fix-list { display: grid; gap: .7rem; margin: var(--s5) 0 0; padding: 0; list-style: none; counter-reset: fixes; }
.fix-list li { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--s3); align-items: start; padding: var(--s4); border: 1px solid var(--line); border-radius: .9rem; background: white; }
.fix-list li::before { counter-increment: fixes; content: counter(fixes, decimal-leading-zero); color: var(--accent); font-size: .8rem; font-weight: 820; }
.fix-cat { display: block; margin-bottom: .15rem; color: var(--muted); font-size: .72rem; font-weight: 730; text-transform: uppercase; }
.check-list { display: grid; gap: .75rem; }
.chk { padding: var(--s4); border-radius: .75rem; background: var(--state-soft, var(--info-soft)); }
.chk p { margin: var(--s2) 0 0; }
.chk-tag { display: inline-flex; align-items: center; min-height: 1.75rem; padding: .08rem .55rem; border-radius: 2rem; background: white; color: var(--state, var(--info)); font-size: .7rem; font-weight: 820; box-shadow: inset 0 0 0 1px currentColor; }
.chk-fix { font-weight: 650; }
.chk-error { --state: var(--bad); --state-soft: var(--bad-soft); }
.chk-warning { --state: var(--mid); --state-soft: var(--mid-soft); }
.chk-pass { --state: var(--good); --state-soft: var(--good-soft); }
.mail-form { display: grid; gap: var(--s4); margin-top: var(--s6); padding: var(--s6); border-radius: var(--radius-lg); background: var(--ink); color: white; }
.mail-form .check-hint { color: #bfd0dd; margin-left: 0; }
.mail-form label, .gen label { display: block; margin-bottom: var(--s2); font-size: .82rem; font-weight: 740; }
.mail-form input { background: white; color: var(--ink); }
.consent { display: grid !important; grid-template-columns: 1.5rem 1fr; gap: var(--s3); align-items: start; font-weight: 400 !important; }
.consent input { width: 1.25rem; min-height: 1.25rem; margin-top: .2rem; }
.hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
.gen { padding-block: var(--s8); }
.gen-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); padding: var(--s6); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); }
.gen-grid > div { min-width: 0; }
.gen textarea { min-height: 15rem; resize: vertical; }
.gen-actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s4); }
.gen-status { min-height: 1.6em; color: var(--good); font-weight: 700; }
.legal { max-width: var(--measure); padding-block: var(--s8); }
.status-good { --state: var(--good); --state-soft: var(--good-soft); }
.status-mid { --state: var(--mid); --state-soft: var(--mid-soft); }
.status-bad { --state: var(--bad); --state-soft: var(--bad-soft); }

/* Brandbook */
.brandbook-hero { padding: var(--s8) 0 var(--s7); border-bottom: 1px solid var(--line); }
.brandbook-hero h1 { max-width: 12ch; }
.brandbook-meta { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: var(--s6); }
.brandbook-meta span { padding: .42rem .72rem; border-radius: 99rem; background: white; color: var(--muted); font-size: .78rem; box-shadow: inset 0 0 0 1px var(--line); }
.brandbook-section { padding-block: var(--s7); border-bottom: 1px solid var(--line); }
.brandbook-index { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-top: var(--s6); }
.brandbook-index a { min-height: 6rem; display: flex; flex-direction: column; justify-content: space-between; padding: var(--s4); border: 1px solid var(--line); border-radius: var(--radius); background: white; color: var(--ink); font-weight: 720; text-decoration: none; }
.brandbook-index small { color: var(--accent); }
.swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s3); }
.swatch { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.swatch-color { height: 8rem; background: var(--swatch); }
.swatch-copy { padding: var(--s4); }
.swatch-copy strong, .swatch-copy code { display: block; }
.swatch-copy code { margin-top: .25rem; color: var(--muted); font-size: .78rem; }
.logo-stage { min-height: 16rem; display: grid; place-items: center; padding: var(--s6); border-radius: var(--radius-lg); background: white; box-shadow: inset 0 0 0 1px var(--line); }
.logo-stage.dark { background: var(--ink); }
.logo-lockup { width: min(100%, 34rem); height: auto; }
.logo-lockup.symbol { width: 6rem; }
.type-specimen { display: grid; grid-template-columns: .35fr 1fr; gap: var(--s5); align-items: baseline; padding-block: var(--s5); border-top: 1px solid var(--line); }
.type-specimen small { color: var(--muted); }
.type-specimen p { margin: 0; }
.type-display { font-size: var(--step-4); font-weight: 780; line-height: 1; letter-spacing: -.05em; }
.type-body { max-width: 60ch; font-size: var(--step-1); }
.component-stage { display: flex; flex-wrap: wrap; gap: var(--s4); align-items: center; padding: var(--s6); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; }
.score-guide { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s3); }
.score-guide article { padding: var(--s5); border-radius: var(--radius); background: var(--state-soft); color: var(--state); }
.score-guide strong { display: block; font-size: 2rem; letter-spacing: -.05em; }
.do-dont { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); }
.rule-card { padding: var(--s6); border-radius: var(--radius-lg); background: white; box-shadow: inset 0 0 0 1px var(--line); }
.rule-card.do { border-top: .45rem solid var(--good); }
.rule-card.dont { border-top: .45rem solid var(--bad); }
.rule-card li + li { margin-top: .65rem; }

@media (max-width: 56rem) {
  .hero-grid, .section-head { grid-template-columns: 1fr; }
  .hero-grid { gap: var(--s7); }
  .hero-copy h1 { max-width: 13ch; }
  .cards.three, .cat-grid, .swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brandbook-index { grid-template-columns: repeat(2, 1fr); }
  .report-head { gap: var(--s5); }
}

@media (max-width: 42rem) {
  .top-row { align-items: flex-start; flex-direction: column; padding: var(--s4); }
  .top nav { width: 100%; overflow-x: auto; }
  .top nav a { white-space: nowrap; }
  .brand-copy small { display: none; }
  .tool-preview::before { display: none; }
  .check-row, .report-head, .gen-grid, .type-specimen, .do-dont { grid-template-columns: 1fr; }
  .score-ring { width: 8.5rem; }
  .foot-row, .foot nav { align-items: flex-start; flex-direction: column; }
  .mail-form, .gen-grid { padding: var(--s5); }
}

@media (max-width: 31rem) {
  .wrap { width: min(100% - 1.25rem, 75rem); }
  .cards.three, .cat-grid, .swatches, .brandbook-index, .score-guide, .bento { grid-template-columns: 1fr; }
  .tool-body, .card, .report, .report-head { padding: var(--s4); }
  .mini-result { grid-template-columns: 1fr; }
}

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

@media print {
  .top, .foot, .skip, .btn { display: none !important; }
  body { background: white; color: #111; }
  body::before { display: none; }
  .card, .report-head, .cat { box-shadow: none; break-inside: avoid; }
}

/* Integration fixes (ki-seo-service.de) */
/* Long German compounds ("Datenschutzerklärung") overflow 320px at display sizes. */
h1, h2, h3 { overflow-wrap: break-word; }
@media (max-width: 42rem) {
  /* Only on narrow screens: on desktop auto-hyphens split words like "ro-bots.txt". */
  h1, h2, h3 { hyphens: auto; }
  /* Keep the main action visible in the scrollable mobile nav. */
  .top nav .nav-cta { order: -1; }
}
/* #80909e on white is 3.28:1 at 0.8rem — below AA; muted is 5.99:1. */
.cat-label small { color: var(--muted); }
