:root {
  color-scheme: dark;
  --bg: #06090e;
  --surface: #0d1219;
  --surface-2: #101720;
  --line: #27313d;
  --text: #f4f7fb;
  --muted: #a2adbc;
  --blue: #159eff;
  --cyan: #35c8ff;
  --orange: #ff5a30;
  --yellow: #ffae36;
  --green: #24d894;
  --purple: #9b6bff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { margin: 0; color: var(--cyan); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 44px; border: 1px solid transparent; border-radius: 8px; padding: 10px 18px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .035em; white-space: nowrap; transition: transform .2s, box-shadow .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: linear-gradient(110deg, #a42817, #e04620 33%, #042c5d 72%, #0956a7); border-color: #2c89e8; box-shadow: 0 0 0 2px #090f18 inset, 0 0 15px #007bff5c, -6px 0 15px #ff3b2550; }
.button-primary:hover { box-shadow: 0 0 0 2px #090f18 inset, 0 0 25px #008cff8a, -8px 0 23px #ff48275c; }
.button-outline { border-color: #3c4a5a; background: #0b1017; }
.button-outline:hover { border-color: var(--blue); box-shadow: 0 0 18px #117fed35; }

/* Landing page */
.landing-page { overflow-x: hidden; background: radial-gradient(circle at 0 16%, #1d0c0b 0, transparent 26%), radial-gradient(circle at 99% 7%, #06162a 0, transparent 25%), #05070a; }
.ambient { position: absolute; z-index: 0; pointer-events: none; filter: blur(50px); opacity: .45; }
.ambient-red { top: 215px; left: 0; width: min(400px, 100%); height: 320px; background: #a1210c; }
.ambient-blue { top: 210px; right: 0; width: min(480px, 100%); height: 350px; background: #063f88; }
.site-header, .landing-page main, .site-footer { position: relative; z-index: 1; }
.site-header { position: relative; max-width: 1420px; margin: auto; padding: 16px 42px; min-height: 104px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #1c2530; }
.site-header::after { content: ""; position: absolute; inset: auto 42px -1px; height: 2px; background: linear-gradient(90deg, transparent, #e0472a 23%, #102f58 51%, #168fff 78%, transparent); box-shadow: 0 0 12px #188fff4d; pointer-events: none; }
.brand-link { display: inline-flex; align-items: center; gap: 14px; font-size: 26px; font-weight: 800; letter-spacing: .12em; line-height: 1; white-space: nowrap; }
.brand-link span span { color: var(--blue); }
.brand-artwork { display: block; width: clamp(330px, 35vw, 500px); max-width: 100%; height: auto; mix-blend-mode: screen; }
.site-header .brand-link { min-width: 0; flex-shrink: 1; }
.brand-icon { flex: none; width: 68px; height: 68px; object-fit: cover; object-position: center 41%; border-radius: 50%; }
.top-nav { display: flex; gap: 26px; margin-left: auto; margin-right: 26px; }
.top-nav a { color: #cbd3de; font-size: 14px; transition: color .2s; }
.top-nav a:hover { color: var(--cyan); }
.header-cta { min-height: 44px; }
.landing-hero { max-width: 1420px; min-height: 600px; margin: auto; padding: 43px 42px 48px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 34px; align-items: center; }
.hero-copy { max-width: 610px; }
.eyebrow-line { display: inline-block; width: 26px; height: 1px; margin: 0 9px 3px 0; background: var(--orange); box-shadow: 0 0 8px var(--orange); }
.hero-copy h1 { margin: 18px 0 16px; font-size: clamp(46px, 4.4vw, 68px); line-height: 1.06; letter-spacing: -.06em; }
.hero-copy h1 em { font-style: normal; background: linear-gradient(100deg, #ff6944 12%, #f1f4f8 50%, #18aaff 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-description { max-width: 535px; color: #b2bfce; font-size: 17px; line-height: 1.72; }
.audit-form { max-width: 620px; margin-top: 23px; }
.audit-form label { display: block; margin-bottom: 9px; color: #c8d2df; font-size: 12px; font-weight: 700; }
.field-context { margin-left: 7px; color: #7899b5; font-size: 10px; font-weight: 600; }
.audit-email-input { display: block; width: 100%; height: 49px; margin-bottom: 16px; padding: 10px 16px; border: 1px solid #344355; border-radius: 10px; outline: none; background: #0d141e; color: #fff; box-shadow: 0 12px 30px #0005; }
.audit-email-input:focus { border-color: #258bdf; box-shadow: 0 0 0 3px #168fff30; }
.audit-email-input::placeholder { color: #7d8a98; }
.audit-input-wrap { display: flex; gap: 9px; align-items: center; padding: 7px; border: 1px solid #344355; border-radius: 11px; background: #0d141e; box-shadow: 0 12px 30px #0005; }
.audit-input-wrap:focus-within { border-color: #258bdf; box-shadow: 0 0 0 3px #168fff30; }
.input-globe { padding-left: 10px; color: #83a5c2; font-size: 23px; line-height: 1; }
.audit-input-wrap input { width: 100%; min-width: 0; padding: 10px 4px; border: 0; outline: 0; background: transparent; color: #fff; }
.audit-input-wrap input::placeholder { color: #7d8a98; }
.audit-input-wrap .button { min-height: 40px; }
.audit-input-wrap .button:disabled { opacity: .65; cursor: wait; }
.audit-form .audit-marketing { display: flex; gap: 9px; align-items: start; margin: 13px 0 0; color: #c0ccda; font-size: 11px; font-weight: 400; line-height: 1.45; cursor: pointer; }
.audit-marketing input { flex: none; margin: 2px 0 0; accent-color: var(--blue); }
.audit-data-note { margin: 7px 0 0; color: #8899a8; font-size: 10px; }
.form-error { margin: 7px 0 0; color: #ff846e; font-size: 12px; }
.form-success { margin: 10px 0 0; padding: 12px 14px; border: 1px solid #286c52; border-radius: 8px; background: #0d241c; color: #b5f4ce; font-size: 13px; }
.privacy-main { max-width: 760px; margin: 0 auto; padding: 64px 24px 100px; color: #d4dce6; line-height: 1.7; }
.privacy-main h1 { color: #fff; font-size: clamp(30px, 5vw, 48px); line-height: 1.15; }
.privacy-main h2 { margin-top: 32px; color: #fff; font-size: 22px; }
.privacy-main a { color: #72bdff; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 15px 22px; align-items: center; margin-top: 19px; }
.text-link { color: #dcecff; font-size: 13px; text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 5px; }
.hero-note { color: #8796a6; font-size: 12px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 36px; padding-top: 26px; border-top: 1px solid #34404b6e; color: #a7b5c2; font-size: 12px; }
.hero-proof span { white-space: nowrap; }
.proof-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.proof-dot.orange { color: var(--orange); }
.proof-dot.blue { color: var(--blue); }
.proof-dot.green { color: var(--green); }
.hero-visual { position: relative; max-width: 705px; width: 100%; margin-left: auto; }
.preview-glow { position: absolute; inset: 13% 9% 3%; border-radius: 40%; background: linear-gradient(90deg, #c22e14 0, #0d4a96 100%); filter: blur(62px); opacity: .46; }
.preview-window { position: relative; overflow: hidden; border: 1px solid #465363; border-radius: 16px; background: linear-gradient(160deg, #0b1118, #080b10 56%, #0b1019); box-shadow: 0 34px 80px #000c, 0 0 0 1px #0b0f15 inset; transform: perspective(1400px) rotateY(-4deg) rotateX(2deg); }
.preview-toolbar { height: 34px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #263140; color: #8f9eb0; font-size: 9px; letter-spacing: .05em; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #ff594b; }
.window-dots i:nth-child(2) { background: #e5ba4d; }
.window-dots i:nth-child(3) { background: #3ebc7b; }
.toolbar-mark { color: var(--blue); font-size: 13px; }
.preview-banner { height: 123px; padding: 4px 19px; overflow: hidden; }
.preview-banner img { width: 100%; height: 100%; object-fit: contain; }
.preview-top { display: flex; justify-content: space-between; align-items: center; padding: 0 27px 15px; border-bottom: 1px solid #26313d; }
.preview-kicker { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.preview-top h2 { margin: 3px 0 0; font-size: 23px; line-height: 1.1; }
.preview-top p { margin: 8px 0 0; color: #899aaa; font-size: 11px; }
.score-ring { position: relative; display: grid; place-items: center; flex: none; width: 184px; height: 184px; border-radius: 50%; background: conic-gradient(from 215deg, #ff4f2a, #e52f21 20%, #182632 46%, #05adff 72%, #0e5bca 92%, #ff4f2a); box-shadow: 0 0 25px #fd4b212b, 0 0 27px #007aff2c; }
.score-ring::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: #080c12; box-shadow: inset 0 0 0 2px #1b2b39; }
.score-ring > div { position: relative; display: grid; justify-items: center; line-height: 1; }
.score-ring small { color: #cbd7e4; font-size: 10px; font-weight: 800; letter-spacing: .06em; white-space: nowrap; }
.score-ring strong { margin-top: 7px; font-size: 75px; font-weight: 400; letter-spacing: -.07em; }
.score-ring span { margin-top: 2px; color: var(--blue); font-size: 28px; font-weight: 800; }
.score-ring-small { width: 125px; height: 125px; }
.score-ring-small::before { inset: 4px; }
.score-ring-small small { font-size: 7px; }
.score-ring-small strong { font-size: 47px; }
.score-ring-small span { font-size: 18px; }
.preview-categories { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; padding: 13px 19px 8px; }
.preview-categories > div { min-width: 0; min-height: 59px; display: grid; grid-template-columns: 30px 1fr; align-items: center; column-gap: 6px; padding: 7px; border: 1px solid #26313d; border-radius: 8px; background: #10161d; }
.preview-categories .category-symbol { grid-row: span 2; width: 28px; height: 28px; font-size: 15px; }
.preview-categories small { color: #a9b6c2; font-size: 8px; line-height: 1.1; }
.preview-categories strong { font-size: 19px; line-height: 1.1; }
.preview-bottom { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin: 0 19px 17px; padding: 13px 17px; border: 1px solid #283440; border-radius: 8px; background: #0d1219; }
.preview-bottom > div:first-child { display: grid; }
.preview-bottom span { color: #9aabbc; font-size: 9px; font-weight: 700; letter-spacing: .07em; }
.preview-bottom strong { font-size: 24px; }
.preview-bottom small { color: #7f91a3; font-size: 9px; }
.mini-bars { display: flex; align-items: end; gap: 7px; height: 47px; width: 43%; border-bottom: 1px solid #394450; }
.mini-bars i { flex: 1; background: linear-gradient(#20bdff, #0c356b); border-radius: 3px 3px 0 0; box-shadow: 0 0 9px #008cff55; }
.visual-caption { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 20px; color: #98a7b6; font-size: 11px; }
.pulse, .live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #29dd96; box-shadow: 0 0 9px #28dd97; }
.landing-section { max-width: 1350px; margin: auto; padding: 85px 42px; }
.section-heading { margin: 0 auto 39px; max-width: 700px; text-align: center; }
.section-heading h2 { margin: 12px 0 10px; font-size: clamp(29px, 3.2vw, 44px); line-height: 1.16; letter-spacing: -.035em; }
.section-heading h2 span { color: #8ca8c3; }
.section-heading > p:last-child { color: #9eadbd; line-height: 1.65; }
.feature-section { border-top: 1px solid #1c2631; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.feature-card { min-height: 177px; padding: 24px; border: 1px solid #293642; border-radius: 11px; background: linear-gradient(155deg, #11171e, #090d13); transition: border-color .2s, transform .2s; }
.feature-card:hover { transform: translateY(-4px); border-color: #53708a; }
.feature-card h3 { margin: 13px 0 5px; font-size: 17px; }
.feature-card p { margin: 0; color: #9faebd; font-size: 13px; }
.feature-icon, .category-symbol { display: grid; place-items: center; flex: none; width: 37px; height: 37px; border: 1px solid currentColor; border-radius: 50%; font-size: 20px; }
.onpage { color: var(--orange); background: #fd542217; box-shadow: 0 0 18px #ff4f2922; }
.technical { color: var(--blue); background: #138aff17; box-shadow: 0 0 18px #1a9aff24; }
.social, .ai { color: var(--purple); background: #966dff16; box-shadow: 0 0 18px #9b6bff20; }
.accessibility, .report { color: var(--green); background: #22d39716; box-shadow: 0 0 18px #24d89422; }
.local { color: #27baff; background: #158aff17; box-shadow: 0 0 18px #28afff22; }
.workflow-section { border-top: 1px solid #1a2630; border-bottom: 1px solid #1a2630; }
.workflow-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.workflow-grid article { padding: 23px; border: 1px solid #263440; border-radius: 10px; background: #0b1016; }
.step-num { font-size: 12px; font-weight: 900; color: var(--orange); }
.workflow-grid article:nth-child(2) .step-num { color: var(--blue); }
.workflow-grid article:nth-child(3) .step-num { color: var(--purple); }
.workflow-grid h3 { margin: 15px 0 5px; font-size: 18px; }
.workflow-grid p { margin: 0; color: #9fadbc; font-size: 13px; }
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.plan-compare-link { margin-top: 10px; }
.plan-card { display: flex; flex-direction: column; min-height: 222px; padding: 24px; border: 1px solid #2a3948; border-radius: 11px; background: #0d1219; }
.plan-card.featured { border-color: #2576ac; background: linear-gradient(150deg, #111d2b, #0b1119); box-shadow: 0 0 30px #07619f1a; }
.plan-card > span { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.plan-card h3 { margin: 15px 0 5px; font-size: 19px; }
.plan-card p { margin: 0 0 20px; color: #aab7c6; font-size: 13px; }
.plan-card a { margin-top: auto; color: #74c7ff; font-size: 12px; font-weight: 800; }
.recent-section { padding-top: 35px; }
.recent-list { max-width: 720px; margin: auto; display: grid; gap: 8px; }
.recent-item { display: flex; align-items: center; gap: 18px; padding: 13px 18px; border: 1px solid #263440; border-radius: 8px; background: #0d1219; }
.recent-item span:first-child { display: grid; margin-right: auto; }
.recent-item small { color: #8b9bab; }
.recent-score { color: var(--cyan); font-size: 24px; font-weight: 700; }
.site-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; max-width: 1420px; margin: auto; padding: 25px 42px 40px; border-top: 1px solid #26313d; }
.site-footer .brand-link { font-size: 14px; }
.site-footer .brand-icon { width: 34px; height: 34px; }
.site-footer .brand-artwork { width: 260px; }
.site-footer p, .site-footer > a:last-child { color: #8292a3; font-size: 12px; }

/* Report */
.report-page { background: #080b10; }
.report-shell { display: grid; grid-template-columns: 216px minmax(0, 1fr); min-height: 100vh; }
.report-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 14px 16px 20px; border-right: 1px solid #27313b; background: #0a0d12; }
.sidebar-brand { display: grid; place-items: center; height: 172px; border-bottom: 1px solid #202b36; }
.sidebar-brand img { width: 140px; height: 140px; object-fit: contain; border-radius: 12px; }
.sidebar-nav { display: grid; gap: 5px; padding-top: 24px; }
.side-link { display: flex; gap: 13px; align-items: center; height: 42px; padding: 0 15px; border: 1px solid transparent; border-radius: 8px; color: #9ba9b8; font-size: 12px; font-weight: 700; transition: background .2s, color .2s; }
.side-link span { display: inline-grid; place-items: center; width: 20px; color: #a6b9cb; font-size: 19px; line-height: 1; }
.side-link:hover, .side-link.active { border-color: #293640; background: #171b22; color: #fff; }
.side-link.active { box-shadow: -3px 0 0 var(--orange); }
.sidebar-bottom { margin-top: auto; }
.sidebar-card { padding: 19px; border: 1px solid #2c3846; border-radius: 10px; background: linear-gradient(155deg, #0e1720, #0c0d13 75%); text-align: center; }
.sidebar-card-kicker { color: var(--cyan); font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.sidebar-card strong { display: block; margin-top: 11px; font-size: 15px; }
.sidebar-card p { color: #98a8b8; font-size: 11px; }
.sidebar-card a { display: block; padding: 8px; border: 1px solid #286aa0; border-radius: 6px; color: #c3e9ff; font-size: 11px; font-weight: 700; }
.sidebar-bottom > small { display: block; margin-top: 22px; color: #6d7d8e; font-size: 10px; text-align: center; }
.report-content { width: min(100%, 1540px); min-width: 0; margin: 0 auto; padding: 0 29px 28px; }
.report-topbar { display: flex; justify-content: space-between; align-items: center; height: 59px; border-bottom: 1px solid #27313b; color: #8e9eaf; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.report-topbar > span { display: flex; gap: 8px; align-items: center; }
.report-topbar > div { display: flex; gap: 15px; align-items: center; letter-spacing: 0; }
.report-topbar a { color: #9edaff; }
.topbar-divider { height: 15px; border-left: 1px solid #35414e; }
.live-dot { width: 6px; height: 6px; }
.report-hero { padding: 7px 0 24px; }
.report-banner { display: block; width: 100%; max-height: 154px; object-fit: cover; object-position: center; }
.report-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 200px 210px; align-items: center; gap: 30px; margin-top: -1px; }
.report-intro { min-width: 0; }
.report-intro h1 { overflow-wrap: anywhere; margin: 6px 0 2px; font-size: clamp(25px, 2.8vw, 38px); line-height: 1.2; letter-spacing: -.035em; }
.report-intro > a { display: block; overflow-wrap: anywhere; color: #4bb7ff; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.report-meta { display: flex; align-items: center; gap: 16px; margin-top: 17px; color: #9aa9b8; font-size: 11px; }
.pill { padding: 4px 9px; border: 1px solid #27618e; border-radius: 4px; color: #a4daff; font-size: 9px; font-weight: 800; letter-spacing: .07em; white-space: nowrap; }
.report-summary { max-width: 610px; margin: 16px 0 0; color: #bcc8d3; font-size: 13px; line-height: 1.6; }
.report-hero-grid > .score-ring { width: 177px; height: 177px; justify-self: center; }
.report-hero-grid > .score-ring strong { font-size: 67px; }
.ai-hero-card { display: flex; flex-direction: column; justify-content: center; min-height: 172px; padding: 17px; border: 1px solid #6551a0; border-radius: 11px; background: radial-gradient(circle at 90% 8%, #2b1c52 0, transparent 56%), linear-gradient(145deg, #16132a, #0c1521); box-shadow: 0 0 26px #8b5cff25, inset 0 0 0 1px #3b305566; transition: border-color .2s, transform .2s; }
.ai-hero-card:hover { border-color: #b290ff; transform: translateY(-2px); }
.ai-hero-kicker { color: #c7b7ff; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.ai-hero-kicker > span { margin-right: 3px; font-size: 14px; }
.ai-hero-score { display: flex; align-items: baseline; gap: 10px; margin: 4px 0 1px; line-height: 1; }
.ai-hero-score strong { font-size: 54px; font-weight: 600; letter-spacing: -.06em; }
.ai-hero-score em { color: #b499ff; font-size: 19px; font-style: normal; font-weight: 800; }
.ai-hero-status { color: #b7bfd2; font-size: 10px; line-height: 1.4; }
.ai-hero-link { margin-top: 11px; color: #c7b7ff; font-size: 10px; font-weight: 800; }
.ai-search-panel { margin-bottom: 16px; padding: 21px 23px 14px; border-color: #514775; background: radial-gradient(circle at 3% 0, #282047 0, transparent 32%), #10131d; box-shadow: 0 0 28px #835cff16; scroll-margin-top: 18px; }
.ai-search-heading { display: flex; justify-content: space-between; gap: 25px; align-items: start; }
.ai-search-heading h2 { margin: 3px 0 5px; font-size: 22px; letter-spacing: -.025em; }
.ai-search-heading p:last-child { max-width: 770px; margin: 0; color: #b7c1d1; font-size: 12px; }
.ai-search-badge { flex: none; padding: 5px 9px; border: 1px solid #65558d; border-radius: 5px; color: #c7b7ff; font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.ai-search-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr); gap: 18px; margin-top: 18px; }
.ai-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 13px 19px; }
.ai-check > div { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; font-size: 10px; }
.ai-check strong { color: #e4e6f0; font-weight: 700; }
.ai-check > div span { color: #c3a8ff; font-weight: 800; white-space: nowrap; }
.ai-check-track { display: block; height: 5px; overflow: hidden; border-radius: 5px; background: #313144; }
.ai-check-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7849d3, #b48bff); box-shadow: 0 0 9px #9e78ff88; }
.ai-opportunity { padding: 15px 17px; border: 1px solid #454063; border-radius: 8px; background: #151625; }
.ai-opportunity > span { color: #b99cf4; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.ai-opportunity h3 { margin: 7px 0 4px; font-size: 15px; line-height: 1.25; }
.ai-opportunity p { margin: 0; color: #b5c0cf; font-size: 11px; line-height: 1.45; }
.ai-opportunity a { display: inline-block; margin-top: 10px; color: #c7b7ff; font-size: 10px; font-weight: 800; }
.ai-search-note { margin: 13px 0 0; padding-top: 10px; border-top: 1px solid #35334c; color: #92a0b3; font-size: 10px; }
.content-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 0 0 9px; }
.content-heading h2 { margin: 0; font-size: 17px; }
.content-heading p { margin: 0; color: #8292a2; font-size: 11px; }
.category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 9px; }
.category-card { position: relative; display: flex; gap: 12px; align-items: center; min-height: 85px; padding: 12px; border: 1px solid #26313d; border-radius: 9px; background: #10151c; }
.category-card-ai { border-color: #6551a0; background: linear-gradient(140deg, #211a35, #111823); box-shadow: 0 0 18px #8b5cff20; }
.category-card .category-symbol { width: 39px; height: 39px; font-size: 19px; }
.category-card div { min-width: 0; }
.category-card small { display: block; color: #a6b3c0; font-size: 9px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.category-card strong { display: block; font-size: 29px; font-weight: 500; line-height: 1.2; }
.category-card em { margin-left: 7px; color: #45b9ff; font-size: 14px; font-style: normal; font-weight: 700; }
.category-meter { position: absolute; bottom: 0; left: 10px; right: 10px; height: 2px; background: #263443; }
.category-meter i { display: block; height: 100%; background: linear-gradient(90deg, var(--orange), var(--blue)); }
.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 10px; }
.metric-card { display: flex; align-items: center; gap: 12px; min-height: 67px; padding: 12px 14px; border: 1px solid #26313d; border-radius: 9px; background: #10151c; }
.metric-card small { display: block; color: #a1adbb; font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.metric-card strong { display: block; font-size: 24px; font-weight: 500; line-height: 1.2; }
.metric-icon, .issue-icon { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border: 1px solid currentColor; border-radius: 50%; font-size: 20px; font-weight: 700; line-height: 1; }
.critical { color: #ff5e47; }
.warning { color: var(--yellow); }
.good { color: var(--green); }
.blue { color: var(--blue); }
.report-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 11px; }
.report-panel { min-width: 0; padding: 16px; border: 1px solid #26313e; border-radius: 10px; background: #0f141b; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 11px; padding-bottom: 12px; border-bottom: 1px solid #26313b; }
.panel-heading h2 { margin: 3px 0 0; font-size: 17px; }
.panel-heading a, .panel-heading > span { color: #4eb6fb; font-size: 10px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.issue-list { display: grid; }
.issue-row { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 9px; align-items: start; padding: 10px 2px; border-bottom: 1px solid #27313b; }
.issue-row:last-child { border-bottom: 0; }
.issue-icon { width: 25px; height: 25px; font-size: 15px; }
.issue-copy strong { display: block; font-size: 12px; line-height: 1.3; }
.issue-copy small { display: block; margin-top: 3px; color: #9daab7; font-size: 10px; line-height: 1.45; }
.affected-pages { display: inline-block; margin-top: 4px; color: #6cbefa; font-size: 10px; }
.severity-badge { align-self: center; min-width: 59px; padding: 4px; border-radius: 5px; background: #18222a; font-size: 9px; font-weight: 800; text-align: center; text-transform: uppercase; }
.severity-badge.critical { background: #401816; }
.severity-badge.warning { background: #382612; }
.severity-badge.info { color: #4cbbff; background: #102335; }
.panel-description { margin: 0; color: #8a99a9; font-size: 10px; }
.crawl-chart { display: flex; gap: 9px; align-items: stretch; justify-content: space-around; height: 174px; margin: 12px 0 16px; padding: 8px 6px 0; border-bottom: 1px solid #394856; background: repeating-linear-gradient(to top, transparent 0, transparent 39px, #22303b 40px); }
.chart-column { display: flex; flex: 1; max-width: 38px; min-width: 13px; flex-direction: column; align-items: center; height: 100%; }
.chart-column span { color: #c6d8e6; font-size: 10px; }
.chart-track { position: relative; flex: 1; width: 100%; min-height: 0; }
.chart-column i { position: absolute; bottom: 0; left: 50%; display: block; width: min(100%, 26px); min-height: 3px; transform: translateX(-50%); border-radius: 3px 3px 0 0; background: linear-gradient(#1bbaff, #145089); box-shadow: 0 0 10px #168aff44; }
.chart-column i.warning { background: linear-gradient(#ffc05b, #805219); }
.chart-column i.critical { background: linear-gradient(#ff7255, #903323); }
.chart-column small { color: #899aa9; font-size: 9px; }
.crawl-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border: 1px solid #283643; border-radius: 7px; }
.crawl-summary div { padding: 9px 12px; border-right: 1px solid #283643; }
.crawl-summary div:last-child { border: 0; }
.crawl-summary small { display: block; color: #8798a9; font-size: 9px; font-weight: 800; }
.crawl-summary strong { display: block; font-size: 21px; font-weight: 500; }
.recommendations-panel, .details-panel, .pages-panel { margin-top: 11px; }
.recommendation-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.recommendation-card { display: flex; align-items: start; gap: 12px; min-height: 86px; padding: 15px; border: 1px solid #293643; border-radius: 8px; background: #121920; }
.recommendation-num { color: var(--orange); font-size: 13px; font-weight: 900; }
.recommendation-card h3 { margin: 0; font-size: 13px; }
.recommendation-card p { margin: 4px 0 0; color: #9fadba; font-size: 11px; }
.recommendation-card > span:last-child { margin-left: auto; color: var(--blue); }
.detail-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 17px; }
.issue-row-detailed { grid-template-columns: 30px minmax(0,1fr) auto; }
.issue-row-detailed .issue-copy p { margin: 9px 0 0; color: #d3dde7; font-size: 11px; }
.issue-row-detailed .issue-copy b { color: #75c8ff; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 11px; }
th { padding: 9px; color: #80bde9; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
td { padding: 10px 9px; border-top: 1px solid #26323d; color: #aebac5; vertical-align: top; }
td:first-child a { color: #e8f5ff; font-weight: 700; overflow-wrap: anywhere; }
td .page-path { display: block; color: #8191a1; font-size: 10px; font-weight: 400; }
.mobile-cell-label { display: none; }
td:nth-child(3) strong { color: #fff; font-size: 15px; }
.status-badge { display: inline-block; padding: 3px 6px; border-radius: 4px; font-size: 10px; font-weight: 800; }
.status-badge.ok { color: #27d695; background: #123328; }
.status-badge.bad { color: #ff8d6f; background: #372019; }
.empty-state { padding: 19px; color: #9dadbd; font-size: 12px; }
.report-footer-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0 0; }
.report-footer-actions p { margin: 0; color: #a8b7c5; font-size: 12px; }
.report-footer-actions > div { display: flex; gap: 8px; }
.report-footer-actions .button { min-height: 38px; }
.report-disclaimer { padding: 15px 0 0; border-top: 1px solid #25313c; color: #708293; font-size: 10px; }
.loading-state, .error-state { min-height: calc(100vh - 90px); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.loading-state h1, .error-state h1 { margin: 10px 0 0; font-size: 30px; }
.loading-state > p:not(.eyebrow), .error-state > p:not(.eyebrow) { max-width: 500px; color: #9fb0c1; }
.loading-orbit { width: 74px; height: 74px; margin-bottom: 25px; border: 4px solid transparent; border-top-color: var(--orange); border-right-color: var(--blue); border-radius: 50%; box-shadow: 0 0 16px #0b6cb05a; animation: spin 1.25s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.progress-track { width: min(330px, 80%); height: 7px; margin-top: 20px; overflow: hidden; border: 1px solid #263849; border-radius: 10px; background: #121922; }
.progress-track span { display: block; height: 100%; width: 5%; border-radius: inherit; background: linear-gradient(90deg, var(--orange), var(--blue)); transition: width .3s; }
.loading-state small { margin-top: 10px; color: #7c90a2; }
.error-symbol { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 20px; border: 2px solid var(--orange); border-radius: 50%; color: var(--orange); font-size: 36px; }
.error-state .button { margin-top: 18px; }

@media (max-width: 1160px) {
  .brand-link { font-size: 23px; }
  .brand-artwork { width: clamp(300px, 34vw, 390px); }
  .brand-icon { width: 58px; height: 58px; }
  .top-nav { gap: 18px; margin-right: 18px; }
  .landing-hero { grid-template-columns: 1fr 1fr; gap: 16px; }
  .hero-copy h1 { font-size: 52px; }
  .report-hero-grid { grid-template-columns: minmax(0, 1fr) 165px 190px; gap: 16px; }
  .category-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  .site-header { min-height: 92px; padding: 12px 23px; }
  .site-header::after { left: 23px; right: 23px; }
  .brand-link { font-size: 23px; }
  .brand-artwork { width: min(58vw, 400px); }
  .brand-icon { width: 60px; height: 60px; }
  .top-nav { display: none; }
  .landing-hero { grid-template-columns: 1fr; padding: 56px 23px; }
  .hero-copy { max-width: 700px; }
  .hero-copy h1 { max-width: 730px; }
  .hero-visual { max-width: 640px; margin: 28px auto 0; }
  .landing-section { padding: 70px 23px; }
  .feature-grid, .plan-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-card:last-child { grid-column: span 2; }
  .report-shell { grid-template-columns: minmax(0, 1fr); }
  .report-sidebar { position: sticky; top: 0; z-index: 20; width: 100%; min-width: 0; height: auto; padding: 0; border-right: 0; border-bottom: 1px solid #27313b; }
  .sidebar-brand { display: none; }
  .sidebar-nav { display: flex; overflow-x: auto; gap: 4px; padding: 7px 14px; }
  .side-link { flex: none; }
  .sidebar-bottom { display: none; }
  .report-content { padding: 0 20px 25px; }
  .report-hero, .report-panel, .category-section { scroll-margin-top: 66px; }
  .report-hero-grid { grid-template-columns: minmax(0, 1fr) 165px; }
  .ai-hero-card { grid-column: span 2; min-height: 0; display: grid; grid-template-columns: 1fr auto; gap: 2px 20px; align-items: center; }
  .ai-hero-score { grid-column: 2; grid-row: 1 / span 2; }
  .ai-hero-link { margin-top: 0; }
  .report-columns { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .site-header { min-height: 78px; padding: 8px 16px; }
  .site-header::after { left: 16px; right: 16px; }
  .brand-link { gap: 10px; font-size: 18px; letter-spacing: .09em; }
  .brand-artwork { width: min(88vw, 400px); }
  .brand-icon { width: 52px; height: 52px; }
  .header-cta { display: none; }
  .landing-hero { padding: 50px 16px 45px; }
  .hero-copy h1 { font-size: clamp(43px, 12vw, 62px); }
  .hero-description { font-size: 15px; }
  .audit-input-wrap { flex-wrap: wrap; }
  .audit-input-wrap input { flex: 1; }
  .audit-input-wrap .button { width: 100%; }
  .hero-visual { margin-top: 10px; }
  .preview-window { transform: none; }
  .preview-banner { height: 75px; }
  .preview-top { padding: 0 13px 12px; }
  .preview-top h2 { font-size: 17px; }
  .preview-categories { padding: 8px; gap: 5px; }
  .preview-categories > div { grid-template-columns: 1fr; justify-items: center; min-height: 61px; text-align: center; }
  .preview-categories .category-symbol { display: none; }
  .preview-categories small { font-size: 7px; }
  .preview-categories strong { font-size: 16px; }
  .preview-bottom { margin: 0 8px 8px; }
  .score-ring-small { width: 104px; height: 104px; }
  .score-ring-small strong { font-size: 38px; }
  .score-ring-small span { font-size: 15px; }
  .landing-section { padding: 59px 16px; }
  .feature-grid, .workflow-grid, .plan-grid { grid-template-columns: 1fr; }
  .plan-card:last-child { grid-column: auto; }
  .site-footer { flex-wrap: wrap; padding: 24px 16px; }
  .report-content { padding: 0 13px 20px; }
  .report-topbar { height: 48px; }
  .report-topbar > div { display: none; }
  .report-banner { max-height: 82px; }
  .report-hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 15px; }
  .report-intro h1 { font-size: 22px; }
  .report-summary { font-size: 11px; }
  .report-meta { flex-wrap: wrap; gap: 6px; font-size: 10px; }
  .report-hero-grid > .score-ring { width: 140px; height: 140px; align-self: center; }
  .report-hero-grid > .score-ring small { font-size: 8px; }
  .report-hero-grid > .score-ring strong { font-size: 48px; }
  .report-hero-grid > .score-ring span { font-size: 20px; }
  .ai-hero-card { padding: 12px 14px; }
  .ai-hero-score strong { font-size: 40px; }
  .ai-search-panel { padding: 17px 14px 12px; }
  .ai-search-heading { display: block; }
  .ai-search-badge { display: inline-block; margin-top: 10px; }
  .ai-search-layout { grid-template-columns: 1fr; gap: 13px; }
  .ai-checks { grid-template-columns: 1fr; gap: 12px; }
  .category-grid, .metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .category-card { min-height: 70px; padding: 8px; gap: 7px; }
  .category-card .category-symbol { width: 29px; height: 29px; font-size: 15px; }
  .category-card small { font-size: 8px; }
  .category-card strong { font-size: 21px; }
  .metric-card { padding: 8px; }
  .metric-card small { font-size: 8px; }
  .metric-card strong { font-size: 20px; }
  .metric-icon { width: 26px; height: 26px; font-size: 16px; }
  .recommendation-grid, .detail-list { grid-template-columns: 1fr; }
  .issue-row, .issue-row-detailed { grid-template-columns: 25px minmax(0,1fr); }
  .issue-row .severity-badge { grid-column: 2; justify-self: start; align-self: start; margin-top: 2px; }
  .pages-panel table, .pages-panel tbody { display: block; width: 100%; }
  .pages-panel thead { display: none; }
  .pages-panel tbody { display: grid; gap: 8px; }
  .pages-panel tr { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 16px; padding: 12px; border: 1px solid #2b3947; border-radius: 8px; background: #111922; }
  .pages-panel td { display: block; padding: 0; border: 0; overflow-wrap: anywhere; }
  .pages-panel .page-cell, .pages-panel .observation-cell { grid-column: 1 / -1; }
  .pages-panel .response-cell { grid-column: 1; }
  .pages-panel .score-cell { grid-column: 2; text-align: right; }
  .pages-panel .mobile-cell-label { display: block; margin-bottom: 2px; color: #81a6c4; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .pages-panel .observation-cell { padding-top: 7px; border-top: 1px solid #2b3947; }
  .report-footer-actions { display: grid; }
  .report-footer-actions > div { flex-wrap: wrap; }
  .report-footer-actions .button { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print {
  :root { color-scheme: light; --text: #111b27; --muted: #39495a; }
  body, .report-page { background: #fff; color: #111b27; print-color-adjust: exact; }
  .report-shell { display: block; }
  .report-sidebar, .report-topbar, .report-footer-actions, .report-disclaimer { display: none !important; }
  .report-content { width: 100%; padding: 0; }
  .report-banner { height: 95px; object-fit: contain; object-position: left; background: #03070c; }
  .report-hero-grid { grid-template-columns: 1fr 150px; }
  .report-intro h1, .content-heading h2, .panel-heading h2, .recommendation-card h3, .issue-copy strong { color: #101820; }
  .report-intro .eyebrow, .report-summary, .report-meta, .panel-description { color: #344659; }
  .score-ring { width: 145px; height: 145px; }
  .score-ring strong, .score-ring small { color: #fff; }
  .category-card, .metric-card, .report-panel, .recommendation-card { background: #fff; border-color: #b9c4cf; break-inside: avoid; }
  .ai-hero-card, .ai-opportunity { background: #fff; border-color: #b9c4cf; box-shadow: none; }
  .ai-hero-kicker, .ai-hero-score em, .ai-hero-link, .ai-search-badge, .ai-opportunity > span, .ai-opportunity a { color: #5b379e; }
  .ai-hero-score strong, .ai-search-heading h2, .ai-opportunity h3, .ai-check strong { color: #172331; }
  .ai-hero-status, .ai-search-heading p:last-child, .ai-opportunity p, .ai-search-note { color: #455568; }
  .category-card strong, .metric-card strong, .crawl-summary strong, .issue-copy small, .recommendation-card p, td { color: #172331; }
  .category-card small, .metric-card small, .crawl-summary small { color: #455568; }
  .issue-row, td { border-color: #ccd5de; }
  .report-columns { grid-template-columns: 1fr 1fr; }
  .details-panel, .pages-panel { break-before: page; }
  a { color: #125b9a; }
}
