:root {
  --paper: #f6f3ed;
  --paper-deep: #ece7de;
  --surface: #fffdfa;
  --surface-strong: #ffffff;
  --ink: #171a1a;
  --ink-soft: #46504f;
  --muted: #687271;
  --petrol: #0b5b58;
  --petrol-dark: #084744;
  --petrol-pale: #e5f0ee;
  --orange: #e76f3d;
  --orange-dark: #bd4e25;
  --orange-pale: #fae7de;
  --line: #d9d6cf;
  --line-strong: #bbb8b0;
  --success: #287a5a;
  --success-pale: #e5f3eb;
  --warning: #8a6213;
  --warning-pale: #fbf1d5;
  --danger: #a63c35;
  --danger-pale: #f8e7e5;
  --info: #315f85;
  --info-pale: #e6eef5;
  --shadow-sm: 0 1px 2px rgba(23, 26, 26, 0.04), 0 8px 28px rgba(23, 26, 26, 0.05);
  --shadow-md: 0 20px 60px rgba(23, 26, 26, 0.11);
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 20px;
  --container: 1180px;
  --font-display: "Manrope", "Aptos Display", "Segoe UI", sans-serif;
  --font-body: "Inter", "Aptos", "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.nav-open, body.app-nav-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled, input:disabled { cursor: not-allowed; opacity: 0.62; }
::selection { background: rgba(11, 91, 88, 0.18); }
:focus-visible { outline: 3px solid rgba(231, 111, 61, 0.55); outline-offset: 3px; }

.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;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  background: var(--ink);
  color: white;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 160ms ease;
}
.skip-link:focus { transform: translateY(0); }
.site-container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 96px 0; }
.section--compact { padding: 64px 0; }
.section--surface { background: var(--surface); border-block: 1px solid var(--line); }
.section--petrol { background: var(--petrol); color: white; }
.section--ink { background: var(--ink); color: white; }
.section-heading { max-width: 720px; margin-bottom: 40px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading h2, .page-hero h1, .hero h1, .auth-panel h1, .app-page-heading h1 {
  font-family: var(--font-display);
  line-height: 1.08;
  letter-spacing: -0.04em;
}
.section-heading h2 { margin: 0 0 16px; font-size: clamp(2rem, 4vw, 3.5rem); }
.section-heading p { margin: 0; color: var(--ink-soft); font-size: 1.08rem; }
.section--petrol .section-heading p, .section--ink .section-heading p { color: rgba(255,255,255,.72); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--petrol);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 20px; height: 2px; background: currentColor; }
.section--petrol .eyebrow, .section--ink .eyebrow { color: #a7d6d1; }
.muted-text { color: var(--muted); }
.kicker { color: var(--orange-dark); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  padding: 11px 18px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.button:hover { transform: translateY(-1px); }
.button--primary { background: var(--orange); color: #1d1714; }
.button--primary:hover { background: #f07c48; }
.button--petrol { background: var(--petrol); color: white; }
.button--petrol:hover { background: var(--petrol-dark); }
.button--secondary { border-color: var(--line-strong); background: transparent; color: var(--ink); }
.button--secondary:hover { background: var(--surface); border-color: var(--ink-soft); }
.button--quiet { border-color: transparent; background: transparent; color: var(--ink); }
.button--quiet:hover { background: rgba(11, 91, 88, .07); color: var(--petrol); }
.button--danger { background: var(--danger); color: white; }
.button--small { min-height: 38px; padding: 8px 13px; font-size: .88rem; }
.button--large { min-height: 54px; padding: 15px 23px; }
.button--full { width: 100%; }
.button-group { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.beta-ribbon { background: var(--ink); color: white; font-size: .82rem; }
.beta-ribbon__inner { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 9px; }
.beta-ribbon a { margin-left: 10px; color: #fac1a9; font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(231,111,61,.15); }

.public-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(187,184,176,.7); background: rgba(246,243,237,.94); backdrop-filter: blur(16px); }
.public-header__inner { min-height: 76px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-family: var(--font-display); font-size: 1.25rem; font-weight: 850; letter-spacing: -.04em; text-decoration: none; }
.brand__word > span { color: var(--orange); }
.brand__mark { position: relative; display: inline-grid; width: 30px; height: 30px; place-items: center; border: 2px solid var(--petrol); border-radius: 4px; transform: rotate(45deg); }
.brand__mark i { position: absolute; display: block; background: var(--petrol); }
.brand__mark i:first-child { width: 2px; height: 19px; }
.brand__mark i:last-child { width: 19px; height: 2px; }
.public-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.public-nav a { position: relative; color: var(--ink-soft); font-size: .9rem; font-weight: 650; text-decoration: none; }
.public-nav a:hover, .public-nav a[aria-current="page"] { color: var(--petrol); }
.public-nav a[aria-current="page"]::after { content: ""; position: absolute; right: 0; bottom: -11px; left: 0; height: 2px; background: var(--orange); }
.public-header__actions { display: flex; align-items: center; gap: 5px; }
.nav-toggle, .app-menu-toggle { display: none; }

.product-switcher {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  margin-bottom: 42px;
}
.product-switcher__track {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: 2px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 4px;
  border: 1px solid rgba(187,184,176,.72);
  border-radius: 999px;
  background: rgba(236,234,229,.86);
  box-shadow: var(--shadow-sm);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.product-switcher__track::-webkit-scrollbar { display: none; }
.product-switcher__hub,
.product-switcher__item {
  display: inline-flex;
  min-height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 15px;
  color: var(--ink-soft);
  font-size: .84rem;
  font-weight: 720;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.product-switcher__hub { gap: 7px; padding-inline: 12px; color: var(--petrol-dark); }
.product-switcher__hub:hover,
.product-switcher__item[href]:hover { color: var(--petrol); background: rgba(255,255,255,.58); }
.product-switcher__hub-mark {
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 6px;
  background: var(--petrol);
  color: white;
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 900;
}
.product-switcher__divider { width: 1px; height: 22px; flex: 0 0 auto; margin-inline: 3px; background: var(--line-strong); }
.product-switcher__item svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; }
.product-switcher__item[aria-disabled="true"] { color: var(--muted); cursor: default; opacity: .76; }
.product-switcher__item--active {
  border-color: rgba(187,184,176,.72);
  background: var(--surface-strong);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(23,26,26,.06), 0 4px 14px rgba(23,26,26,.06);
}
.product-switcher__item--active svg { color: var(--petrol); }

.hero { position: relative; overflow: hidden; padding: 88px 0 94px; }
.hero::before { content: ""; position: absolute; top: -180px; right: -260px; width: 620px; height: 620px; border: 1px solid rgba(11,91,88,.13); border-radius: 50%; }
.hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr); gap: 68px; align-items: center; }
.hero h1 { max-width: 710px; margin: 18px 0 24px; font-size: clamp(3.1rem, 6vw, 5.6rem); }
.hero h1 em { color: var(--petrol); font-style: normal; }
.hero__lead { max-width: 640px; margin: 0 0 31px; color: var(--ink-soft); font-size: clamp(1.08rem, 1.6vw, 1.3rem); line-height: 1.65; }
.hero__note { display: flex; gap: 10px; align-items: flex-start; max-width: 630px; margin-top: 24px; color: var(--muted); font-size: .84rem; }
.hero__note span:first-child { color: var(--petrol); font-weight: 900; }
.hero__visual { position: relative; min-height: 520px; }
.blueprint-card { position: absolute; inset: 18px 0 28px 28px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: #fbfaf6; box-shadow: var(--shadow-md); transform: rotate(1.3deg); }
.blueprint-card__image { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: saturate(.88) contrast(1.03); }
.blueprint-card__title { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 16px; padding: 18px 24px 16px; color: var(--ink-soft); background: linear-gradient(180deg, rgba(251,250,246,0), rgba(251,250,246,.94) 46%); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.finding-float { position: absolute; z-index: 2; max-width: 280px; padding: 16px 18px; border: 1px solid rgba(166,60,53,.2); border-radius: var(--radius); background: rgba(255,253,250,.97); box-shadow: var(--shadow-sm); }
.finding-float--top { top: 0; right: -18px; }
.finding-float--bottom { right: 26px; bottom: 0; }
.finding-float__topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.finding-float strong { display: block; font-family: var(--font-display); font-size: .88rem; }
.finding-float p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }

.trust-row { border-block: 1px solid var(--line); background: var(--surface); }
.trust-row__inner { min-height: 84px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.trust-item { display: flex; min-height: 42px; align-items: center; gap: 12px; padding: 0 22px; border-right: 1px solid var(--line); }
.trust-item:first-child { padding-left: 0; }
.trust-item:last-child { border-right: 0; }
.trust-item__mark { display: grid; flex: 0 0 auto; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--petrol); font-weight: 900; }
.trust-item strong { display: block; font-size: .84rem; line-height: 1.3; }
.trust-item small { display: block; margin-top: 2px; color: var(--muted); font-size: .72rem; line-height: 1.3; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.feature-card { position: relative; min-height: 280px; padding: 28px; overflow: hidden; }
.feature-card__number { display: inline-grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--petrol); border-radius: 50%; color: var(--petrol); font-family: var(--font-display); font-weight: 850; }
.feature-card h3 { margin: 38px 0 12px; font-family: var(--font-display); font-size: 1.45rem; letter-spacing: -.025em; }
.feature-card p { margin: 0; color: var(--ink-soft); }
.feature-card__line { position: absolute; right: -28px; bottom: -42px; width: 130px; height: 130px; border: 1px solid rgba(11,91,88,.2); transform: rotate(45deg); }
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.check-card { display: flex; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.check-card__mark { display: grid; flex: 0 0 32px; height: 32px; place-items: center; border-radius: 8px; background: var(--petrol-pale); color: var(--petrol); font-weight: 900; }
.check-card h3 { margin: 0 0 5px; font-size: 1rem; }
.check-card p { margin: 0; color: var(--muted); font-size: .86rem; }
.split-section { display: grid; grid-template-columns: .86fr 1.14fr; gap: 70px; align-items: start; }
.sticky-copy { position: sticky; top: 120px; }
.sticky-copy h2 { margin: 14px 0 18px; font-family: var(--font-display); font-size: clamp(2.1rem, 4vw, 3.5rem); letter-spacing: -.04em; line-height: 1.08; }
.sticky-copy p { color: var(--ink-soft); }
.result-stack { display: grid; gap: 14px; }
.result-card { padding: 22px; border: 1px solid var(--line); border-left-width: 5px; border-radius: var(--radius); background: var(--surface); }
.result-card--danger { border-left-color: var(--danger); }
.result-card--warning { border-left-color: #d29b2f; }
.result-card--success { border-left-color: var(--success); }
.result-card__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.result-card__head strong { font-size: .95rem; }
.result-card p { margin: 10px 0 0; color: var(--ink-soft); font-size: .88rem; }
.pill { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 5px 9px; font-size: .68rem; font-weight: 850; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }
.pill--danger { background: var(--danger-pale); color: var(--danger); }
.pill--warning { background: var(--warning-pale); color: var(--warning); }
.pill--success { background: var(--success-pale); color: var(--success); }
.pill--info { background: var(--info-pale); color: var(--info); }
.pill--neutral { background: #eceae5; color: var(--ink-soft); }

.beta-panel { position: relative; overflow: hidden; padding: 48px; border-radius: var(--radius-lg); background: var(--petrol); color: white; }
.beta-panel::after { content: ""; position: absolute; right: -80px; bottom: -150px; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.beta-panel__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.3fr .7fr; gap: 50px; align-items: center; }
.beta-panel h2 { max-width: 680px; margin: 0 0 14px; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.04em; line-height: 1.08; }
.beta-panel p { max-width: 660px; margin: 0; color: rgba(255,255,255,.76); }
.beta-panel .button--primary { min-width: 220px; }
.beta-meter { margin-top: 28px; }
.beta-meter__labels { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 8px; color: rgba(255,255,255,.82); font-size: .8rem; }
.beta-meter__track { height: 9px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.18); }
.beta-meter__bar { height: 100%; min-width: 5px; border-radius: inherit; background: var(--orange); }
.beta-meter__progress { display: block; width: 100%; height: 9px; overflow: hidden; border: 0; border-radius: 999px; background: rgba(255,255,255,.18); color: var(--orange); appearance: none; }
.beta-meter__progress::-webkit-progress-bar { border-radius: 999px; background: rgba(255,255,255,.18); }
.beta-meter__progress::-webkit-progress-value { border-radius: 999px; background: var(--orange); }
.beta-meter__progress::-moz-progress-bar { border-radius: 999px; background: var(--orange); }
.legacy-strip { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 32px; border: 1px solid var(--line); border-radius: var(--radius); background: transparent; }
.legacy-strip h2 { margin: 0 0 5px; font-family: var(--font-display); font-size: 1.25rem; }
.legacy-strip p { margin: 0; color: var(--muted); font-size: .88rem; }

.page-hero { padding: 78px 0 58px; border-bottom: 1px solid var(--line); }
.page-hero__inner { max-width: 830px; }
.page-hero h1 { margin: 15px 0 20px; font-size: clamp(2.8rem, 6vw, 5rem); }
.page-hero p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.8vw, 1.25rem); }
.page-hero__actions { margin-top: 28px; }
.page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; align-items: start; }
.page-aside { position: sticky; top: 116px; }
.aside-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.aside-card + .aside-card { margin-top: 14px; }
.aside-card h2 { margin: 0 0 9px; font-size: .95rem; }
.aside-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.aside-card nav { display: grid; gap: 4px; }
.aside-card nav a { padding: 7px 9px; border-radius: 6px; color: var(--ink-soft); font-size: .84rem; text-decoration: none; }
.aside-card nav a:hover { background: var(--petrol-pale); color: var(--petrol); }
.prose { max-width: 780px; }
.prose h2 { margin: 52px 0 15px; font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.25rem); letter-spacing: -.025em; line-height: 1.2; scroll-margin-top: 120px; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 28px 0 8px; font-size: 1.05rem; }
.prose p { color: var(--ink-soft); }
.prose ul, .prose ol { padding-left: 22px; color: var(--ink-soft); }
.prose li + li { margin-top: 8px; }
.prose a { color: var(--petrol); font-weight: 700; text-underline-offset: 3px; }
.prose-note { margin: 26px 0; padding: 20px 22px; border-left: 4px solid var(--orange); border-radius: 0 var(--radius) var(--radius) 0; background: var(--orange-pale); color: var(--ink-soft); }
.prose-note--petrol { border-left-color: var(--petrol); background: var(--petrol-pale); }
.legal-meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 23px; color: var(--muted); font-size: .82rem; }
.definition-list { margin: 22px 0; border-top: 1px solid var(--line); }
.definition-list > div { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.definition-list dt { font-weight: 800; }
.definition-list dd { margin: 0; color: var(--ink-soft); }

.timeline { position: relative; display: grid; gap: 18px; }
.timeline::before { content: ""; position: absolute; top: 38px; bottom: 38px; left: 26px; width: 1px; background: var(--line-strong); }
.timeline-item { position: relative; display: grid; grid-template-columns: 54px 1fr; gap: 20px; }
.timeline-item__number { z-index: 1; display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid var(--petrol); border-radius: 50%; background: var(--paper); color: var(--petrol); font-family: var(--font-display); font-weight: 850; }
.timeline-item__body { padding: 21px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.timeline-item__body h2, .timeline-item__body h3 { margin: 0 0 7px; font-family: var(--font-display); font-size: 1.2rem; }
.timeline-item__body p { margin: 0; color: var(--ink-soft); }
.format-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.format-card { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.format-card strong { display: block; font-family: var(--font-display); }
.format-card p { margin: 5px 0 0; color: var(--muted); font-size: .83rem; }

.faq-list { display: grid; gap: 12px; }
.faq-item { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.faq-item summary { position: relative; cursor: pointer; list-style: none; padding: 21px 58px 21px 22px; font-weight: 780; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; top: 17px; right: 20px; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--petrol-pale); color: var(--petrol); font-size: 1.2rem; }
.faq-item[open] summary::after { content: "−"; }
.faq-item__answer { padding: 0 22px 22px; color: var(--ink-soft); }
.faq-item__answer p:first-child { margin-top: 0; }

.report-preview { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.report-preview__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px; border-bottom: 1px solid var(--line); }
.report-preview__top h2 { margin: 5px 0 0; font-family: var(--font-display); font-size: 1.5rem; }
.report-preview__meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.report-preview__meta > div { padding: 18px 22px; background: var(--surface); }
.report-preview__meta small { display: block; color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.report-preview__meta strong { display: block; margin-top: 4px; font-size: .9rem; }
.report-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 22px 28px; }
.report-stat { padding: 18px; border-radius: var(--radius); text-align: center; }
.report-stat strong { display: block; font-family: var(--font-display); font-size: 2rem; line-height: 1; }
.report-stat span { display: block; margin-top: 6px; font-size: .68rem; font-weight: 850; letter-spacing: .04em; }
.report-stat--danger { background: var(--danger-pale); color: var(--danger); }
.report-stat--warning { background: var(--warning-pale); color: var(--warning); }
.report-stat--success { background: var(--success-pale); color: var(--success); }
.report-findings { display: grid; gap: 12px; padding: 8px 28px 30px; }
.report-finding { padding: 18px; border: 1px solid var(--line); border-left-width: 4px; border-radius: var(--radius-sm); background: var(--surface-strong); }
.report-finding--danger { border-left-color: var(--danger); }
.report-finding--warning { border-left-color: #d29b2f; }
.report-finding__head { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.report-finding h3 { margin: 0; font-size: .94rem; }
.report-finding p { margin: 9px 0 0; color: var(--ink-soft); font-size: .84rem; }
.report-finding__source { display: block; margin-top: 8px; color: var(--muted); font-size: .74rem; }

.security-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.security-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.security-card__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: var(--radius-sm); background: var(--petrol-pale); color: var(--petrol); font-weight: 900; }
.security-card h2, .security-card h3 { margin: 22px 0 8px; font-family: var(--font-display); font-size: 1.18rem; }
.security-card p { margin: 0; color: var(--ink-soft); font-size: .9rem; }

.auth-section { min-height: calc(100vh - 114px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(480px, .74fr); }
.auth-story { position: relative; display: flex; min-height: 720px; align-items: flex-end; overflow: hidden; padding: 70px max(40px, calc((100vw - var(--container)) / 2)); background: var(--petrol); color: white; }
.auth-story::before, .auth-story::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.18); }
.auth-story::before { inset: 8% 18% 32% 12%; transform: rotate(-4deg); }
.auth-story::after { right: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; }
.auth-story__content { position: relative; z-index: 1; max-width: 600px; }
.auth-story h1 { margin: 17px 0; font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.7rem); line-height: 1.06; letter-spacing: -.045em; }
.auth-story p { color: rgba(255,255,255,.76); font-size: 1.05rem; }
.auth-story .eyebrow { color: #a7d6d1; }
.auth-story__list { display: grid; gap: 10px; margin-top: 28px; }
.auth-story__list span { display: flex; gap: 10px; align-items: center; font-size: .9rem; }
.auth-story__list span::before { content: "✓"; color: #a7d6d1; font-weight: 900; }
.auth-panel { display: flex; align-items: center; justify-content: center; padding: 60px 46px; background: var(--surface); }
.auth-panel__inner { width: min(100%, 460px); }
.auth-panel h1 { margin: 13px 0 9px; font-size: 2.35rem; }
.auth-panel__lead { margin: 0 0 28px; color: var(--muted); }
.google-oauth-form, .google-register-form { display: grid; gap: 12px; margin-bottom: 18px; }
.google-button {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #c9c7c1;
  border-radius: var(--radius-sm);
  background: #fff;
  color: #1f1f1f;
  padding: 11px 18px;
  font-family: Arial, sans-serif;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}
.google-button:hover { border-color: #a9a7a1; background: #f8f9fa; box-shadow: 0 1px 2px rgba(23,26,26,.08); }
.google-button:focus-visible { outline: 3px solid rgba(66,133,244,.3); outline-offset: 2px; }
.google-button svg { flex: 0 0 auto; }
.auth-divider { display: flex; align-items: center; gap: 13px; margin: 18px 0; color: var(--muted); font-size: .72rem; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.auth-divider span { white-space: nowrap; }
.form-stack { display: grid; gap: 18px; }
.field { display: grid; gap: 7px; }
.field label, .field legend { color: var(--ink-soft); font-size: .82rem; font-weight: 760; }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: white;
  color: var(--ink);
  padding: 11px 13px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.field textarea { min-height: 112px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--petrol); box-shadow: 0 0 0 4px rgba(11,91,88,.1); outline: 0; }
.field small { color: var(--muted); font-size: .74rem; }
.field-label-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.field-label-row a { color: var(--petrol); font-size: .75rem; font-weight: 750; }
.input-action { position: relative; }
.input-action input { padding-right: 78px; }
.input-action button { position: absolute; top: 6px; right: 6px; min-height: 36px; border: 0; border-radius: 6px; background: var(--paper); color: var(--petrol); padding: 6px 10px; font-size: .72rem; font-weight: 800; }
.field-error { color: var(--danger); font-size: .76rem; }
.field-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.checkbox-row { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.checkbox-row input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--petrol); }
.checkbox-row label { color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
.checkbox-row a { color: var(--petrol); font-weight: 750; }
.optional-consent { padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); }
.optional-consent__label { display: inline-block; margin-bottom: 8px; color: var(--petrol); font-size: .67rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.auth-switch { margin-top: 24px; color: var(--muted); font-size: .85rem; text-align: center; }
.auth-switch a { color: var(--petrol); font-weight: 800; }

.flash-stack { display: grid; gap: 10px; margin-top: 18px; margin-bottom: 18px; }
.flash { padding: 13px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); font-size: .86rem; }
.flash--hata { border-color: rgba(166,60,53,.25); background: var(--danger-pale); color: var(--danger); }
.flash--basari { border-color: rgba(40,122,90,.25); background: var(--success-pale); color: var(--success); }
.flash--uyari { border-color: rgba(138,98,19,.25); background: var(--warning-pale); color: var(--warning); }
.flash--bilgi { border-color: rgba(49,95,133,.25); background: var(--info-pale); color: var(--info); }

.app-shell { background: #f2f1ed; }
.app-topbar { position: sticky; z-index: 120; top: 0; border-bottom: 1px solid var(--line); background: rgba(255,253,250,.96); backdrop-filter: blur(14px); }
.app-topbar__inner { display: flex; min-height: 72px; align-items: center; gap: 24px; padding: 0 28px; }
.app-topbar__context { display: flex; align-items: center; gap: 15px; padding-left: 24px; border-left: 1px solid var(--line); }
.account-menu { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.account-menu__avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--petrol-pale); color: var(--petrol); font-size: .75rem; font-weight: 900; }
.account-menu__text { display: grid; line-height: 1.25; }
.account-menu__text strong { font-size: .8rem; }
.account-menu__text small { max-width: 210px; overflow: hidden; color: var(--muted); font-size: .69rem; text-overflow: ellipsis; }
.account-menu form { margin: 0; }
.app-layout { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: calc(100vh - 73px); }
.app-sidebar { position: sticky; top: 73px; display: flex; height: calc(100vh - 73px); flex-direction: column; padding: 28px 18px 20px; border-right: 1px solid var(--line); background: var(--surface); }
.app-sidebar nav { display: grid; gap: 5px; }
.app-sidebar nav a { display: flex; align-items: center; gap: 12px; padding: 11px 13px; border-radius: var(--radius-sm); color: var(--ink-soft); font-size: .87rem; font-weight: 700; text-decoration: none; }
.app-sidebar nav a:hover { background: var(--paper); color: var(--petrol); }
.app-sidebar nav a[aria-current="page"] { background: var(--petrol-pale); color: var(--petrol); }
.nav-symbol { display: grid; width: 23px; height: 23px; place-items: center; font-size: 1rem; }
.sidebar-card { margin-top: auto; padding: 17px; border-radius: var(--radius); background: var(--ink); color: white; }
.sidebar-card__label { display: inline-block; margin-bottom: 7px; color: #fac1a9; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.sidebar-card strong { display: block; font-size: .83rem; }
.sidebar-card p { margin: 6px 0 0; color: rgba(255,255,255,.65); font-size: .72rem; line-height: 1.5; }
.sidebar-links { display: flex; gap: 14px; margin-top: 15px; padding: 0 5px; }
.sidebar-links a { color: var(--muted); font-size: .69rem; text-decoration: none; }
.app-main { min-width: 0; width: min(100%, 1240px); padding: 42px 44px 80px; }
.app-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.app-page-heading h1 { margin: 7px 0 0; font-size: clamp(2rem, 4vw, 3.2rem); }
.app-page-heading p { max-width: 680px; margin: 10px 0 0; color: var(--muted); }
.app-panel { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 1px 1px rgba(23,26,26,.02); }
.app-panel + .app-panel { margin-top: 18px; }
.app-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.app-panel__head h2 { margin: 0; font-family: var(--font-display); font-size: 1.25rem; }

.dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
.dashboard-stat { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.dashboard-stat span { display: block; color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.dashboard-stat strong { display: block; margin-top: 8px; font-family: var(--font-display); font-size: 1.8rem; line-height: 1; }
.project-list { display: grid; gap: 10px; }
.project-row { display: grid; grid-template-columns: minmax(220px, 1.3fr) minmax(140px, .7fr) 150px auto 20px; gap: 18px; align-items: center; padding: 16px 17px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; text-decoration: none; transition: border-color 150ms ease, transform 150ms ease; }
.project-row:hover { border-color: var(--petrol); transform: translateY(-1px); }
.project-row__title strong { display: block; font-size: .9rem; }
.project-row__title small, .project-row__meta small { display: block; color: var(--muted); font-size: .72rem; }
.project-row__meta strong { display: block; font-size: .82rem; }
.project-row__arrow { color: var(--petrol); font-weight: 900; }
.empty-state { padding: 54px 26px; border: 1px dashed var(--line-strong); border-radius: var(--radius); background: var(--paper); text-align: center; }
.empty-state__mark { display: grid; width: 58px; height: 58px; margin: 0 auto 18px; place-items: center; border: 1px solid var(--petrol); border-radius: 50%; color: var(--petrol); font-size: 1.45rem; }
.empty-state h2, .empty-state h3 { margin: 0 0 8px; font-family: var(--font-display); }
.empty-state p { max-width: 480px; margin: 0 auto 20px; color: var(--muted); }

.upload-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; align-items: start; }
.upload-zone { position: relative; display: grid; min-height: 300px; place-items: center; border: 2px dashed var(--line-strong); border-radius: var(--radius); background: var(--paper); text-align: center; transition: background 150ms ease, border-color 150ms ease; }
.upload-zone[data-drag-active="true"] { border-color: var(--petrol); background: var(--petrol-pale); }
.upload-zone input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-zone label { display: grid; cursor: pointer; place-items: center; padding: 36px; }
.upload-zone__mark { display: grid; width: 60px; height: 60px; place-items: center; border-radius: 50%; background: var(--petrol); color: white; font-size: 1.5rem; }
.upload-zone strong { display: block; margin-top: 16px; font-family: var(--font-display); font-size: 1.12rem; }
.upload-zone p { margin: 7px 0 0; color: var(--muted); font-size: .82rem; }
.selected-file { display: none; align-items: center; gap: 12px; margin-top: 14px; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; text-align: left; }
.selected-file[data-visible="true"] { display: flex; }
.selected-file__icon { display: grid; flex: 0 0 38px; height: 38px; place-items: center; border-radius: 7px; background: var(--petrol-pale); color: var(--petrol); font-size: .68rem; font-weight: 900; }
.selected-file strong, .selected-file small { display: block; max-width: 380px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-file small { color: var(--muted); font-size: .71rem; }
.upload-sidebar { display: grid; gap: 14px; }
.info-card { padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.info-card h2, .info-card h3 { margin: 0 0 9px; font-size: .92rem; }
.info-card p, .info-card li { color: var(--muted); font-size: .78rem; }
.info-card p { margin: 0; }
.info-card ul { margin: 9px 0 0; padding-left: 18px; }
.info-card--security { border-color: rgba(11,91,88,.22); background: var(--petrol-pale); }
.form-divider { height: 1px; margin: 23px 0; background: var(--line); }

.processing-card { max-width: 830px; margin: 20px auto 0; padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.processing-head { text-align: center; }
.processing-mark { position: relative; width: 74px; height: 74px; margin: 0 auto 22px; border: 2px solid var(--line); border-top-color: var(--petrol); border-radius: 50%; animation: spin 1.1s linear infinite; }
.processing-mark::after { content: ""; position: absolute; inset: 16px; border: 1px solid var(--orange); transform: rotate(45deg); }
.processing-card[data-complete="true"] .processing-mark { display: grid; place-items: center; border-color: var(--success); animation: none; }
.processing-card[data-complete="true"] .processing-mark::after { content: "✓"; position: static; border: 0; color: var(--success); font-size: 1.5rem; transform: none; }
.processing-card[data-error="true"] .processing-mark { border-color: var(--danger); animation: none; }
.processing-card[data-error="true"] .processing-mark::after { border-color: var(--danger); }
.processing-head h1 { margin: 0; font-family: var(--font-display); font-size: 2rem; letter-spacing: -.03em; }
.processing-head p { margin: 8px auto 0; color: var(--muted); }
.progress-track { height: 9px; margin: 28px 0 10px; overflow: hidden; border-radius: 999px; background: var(--paper-deep); }
.progress-bar { height: 100%; min-width: 3%; border-radius: inherit; background: var(--petrol); transition: width 350ms ease; }
.progress-meter { display: block; width: 100%; height: 9px; margin: 28px 0 10px; overflow: hidden; border: 0; border-radius: 999px; background: var(--paper-deep); color: var(--petrol); appearance: none; }
.progress-meter::-webkit-progress-bar { border-radius: 999px; background: var(--paper-deep); }
.progress-meter::-webkit-progress-value { border-radius: 999px; background: var(--petrol); transition: width 350ms ease; }
.progress-meter::-moz-progress-bar { border-radius: 999px; background: var(--petrol); }
.progress-labels { display: flex; justify-content: space-between; color: var(--muted); font-size: .72rem; }
.processing-steps { display: grid; gap: 4px; margin-top: 28px; }
.processing-step { display: grid; grid-template-columns: 28px 1fr auto; gap: 11px; align-items: center; padding: 13px 8px; border-bottom: 1px solid var(--line); }
.processing-step__mark { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); font-size: .68rem; }
.processing-step[data-state="complete"] .processing-step__mark { border-color: var(--success); background: var(--success-pale); color: var(--success); }
.processing-step[data-state="active"] .processing-step__mark { border-color: var(--petrol); background: var(--petrol-pale); color: var(--petrol); }
.processing-step strong { font-size: .84rem; }
.processing-step small { color: var(--muted); font-size: .7rem; }
@keyframes spin { to { transform: rotate(360deg); } }

.report-page-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
.report-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.report-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.report-summary .report-stat { border: 1px solid transparent; }
.finding-groups { display: grid; gap: 12px; }
.finding-group { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.finding-group > summary { display: flex; cursor: pointer; list-style: none; align-items: center; gap: 10px; padding: 16px 18px; }
.finding-group > summary::-webkit-details-marker { display: none; }
.finding-group > summary::after { content: "+"; margin-left: auto; color: var(--petrol); font-size: 1.1rem; }
.finding-group[open] > summary::after { content: "−"; }
.finding-group__body { display: grid; gap: 10px; padding: 0 14px 14px; }
.finding-detail { padding: 16px; border: 1px solid var(--line); border-left-width: 4px; border-radius: var(--radius-sm); background: white; }
.finding-detail--uygun-degil { border-left-color: var(--danger); }
.finding-detail--incele { border-left-color: #d29b2f; }
.finding-detail--uygun { border-left-color: var(--success); }
.finding-detail__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 10px; color: var(--muted); font-size: .73rem; }
.finding-detail p { margin: 8px 0 0; color: var(--ink-soft); font-size: .85rem; }
.feedback-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); }
.feedback-row button { border: 1px solid var(--line); border-radius: 999px; background: var(--surface); padding: 6px 10px; color: var(--ink-soft); font-size: .7rem; }
.feedback-row button:hover { border-color: var(--petrol); color: var(--petrol); }
.feedback-disclosure { margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); }
.feedback-disclosure > summary { cursor: pointer; color: var(--petrol); font-size: .75rem; font-weight: 800; }
.feedback-disclosure form { margin-top: 14px; padding: 15px; border-radius: var(--radius-sm); background: var(--paper); }
.captcha-slot { min-height: 62px; border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); background: var(--paper); }
.report-aside { position: sticky; top: 94px; display: grid; gap: 12px; }
.report-aside__card { padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.report-aside__card h2 { margin: 0 0 8px; font-size: .9rem; }
.report-aside__card p { margin: 0; color: var(--muted); font-size: .76rem; }
.report-aside__card .button { width: 100%; margin-top: 13px; }

.calculator-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.calculator-card { display: flex; min-height: 235px; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); text-decoration: none; transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease; }
.calculator-card:hover { border-color: var(--petrol); box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.calculator-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.calculator-card__symbol { display: grid; width: 48px; height: 48px; place-items: center; border-radius: var(--radius-sm); background: var(--petrol-pale); color: var(--petrol); font-family: var(--font-display); font-size: 1.1rem; font-weight: 850; }
.calculator-card h2 { margin: 28px 0 8px; font-family: var(--font-display); font-size: 1.3rem; }
.calculator-card p { margin: 0 0 22px; color: var(--muted); font-size: .86rem; }
.calculator-card__link { margin-top: auto; color: var(--petrol); font-weight: 800; font-size: .82rem; }

.public-footer { padding: 70px 0 24px; border-top: 1px solid var(--line); background: var(--surface); }
.public-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 55px; }
.brand--footer { margin-bottom: 16px; }
.public-footer p { max-width: 360px; margin: 0 0 12px; color: var(--ink-soft); font-size: .88rem; }
.footer-note { display: block; max-width: 440px; color: var(--muted); font-size: .72rem; }
.public-footer h2 { margin: 0 0 13px; color: var(--muted); font-size: .69rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.public-footer__grid > div:not(:first-child) a { display: block; margin: 7px 0; color: var(--ink-soft); font-size: .82rem; text-decoration: none; }
.public-footer__grid a:hover { color: var(--petrol); }
.public-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; }

@media (max-width: 1080px) {
  .public-header__inner { gap: 18px; }
  .public-nav { gap: 17px; }
  .public-header__actions .button--quiet { display: none; }
  .hero__grid { grid-template-columns: 1fr .86fr; gap: 36px; }
  .hero__visual { min-height: 460px; }
  .trust-row__inner { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .public-footer__grid { grid-template-columns: 1.5fr repeat(3, .8fr); gap: 30px; }
  .project-row { grid-template-columns: minmax(200px, 1fr) minmax(120px, .6fr) auto 20px; }
  .project-row__date { display: none; }
}

@media (max-width: 860px) {
  .site-container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 72px 0; }
  .beta-ribbon__inner { min-height: 44px; justify-content: flex-start; }
  .beta-ribbon a { margin-left: auto; white-space: nowrap; }
  .nav-toggle { display: grid; width: 42px; height: 42px; margin-left: auto; place-content: center; gap: 5px; border: 0; border-radius: var(--radius-sm); background: transparent; }
  .nav-toggle > span:not(.sr-only) { display: block; width: 21px; height: 2px; background: var(--ink); transition: transform 150ms ease, opacity 150ms ease; }
  .nav-toggle[aria-expanded="true"] > span:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] > span:nth-of-type(3) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] > span:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
  .public-nav { position: fixed; z-index: 110; top: var(--mobile-nav-top, 114px); right: 0; bottom: 0; left: 0; display: none; align-content: start; align-items: stretch; gap: 4px; padding: 26px 20px; background: var(--paper); }
  .public-nav[data-open="true"] { display: grid; }
  .public-nav a { padding: 15px; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: 1.2rem; }
  .public-nav a[aria-current="page"]::after { display: none; }
  .public-header__actions { display: none; }
  .hero { padding: 64px 0 72px; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__visual { min-height: 500px; margin-top: 20px; }
  .card-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 0; }
  .feature-card h3 { margin-top: 24px; }
  .split-section { grid-template-columns: 1fr; gap: 35px; }
  .sticky-copy { position: static; }
  .beta-panel__grid { grid-template-columns: 1fr; gap: 28px; }
  .page-layout, .report-page-grid { grid-template-columns: 1fr; }
  .page-aside, .report-aside { position: static; }
  .format-grid { grid-template-columns: 1fr; }
  .security-grid { grid-template-columns: 1fr; }
  .auth-section { grid-template-columns: 1fr; }
  .auth-story { min-height: 470px; padding: 60px 32px; }
  .auth-panel { padding: 56px 24px 70px; }
  .app-topbar__context, .account-menu__text { display: none; }
  .app-menu-toggle { display: inline-flex; min-height: 38px; align-items: center; margin-left: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: transparent; padding: 7px 12px; font-weight: 750; }
  .account-menu { margin-left: 0; }
  .account-menu__avatar { display: none; }
  .app-layout { grid-template-columns: 1fr; }
  .app-sidebar { position: fixed; z-index: 115; top: 73px; bottom: 0; left: 0; display: none; width: min(86vw, 320px); height: calc(100vh - 73px); box-shadow: var(--shadow-md); }
  .app-sidebar[data-open="true"] { display: flex; }
  .app-main { padding: 34px 24px 70px; }
  .upload-layout { grid-template-columns: 1fr; }
  .upload-sidebar { grid-template-columns: repeat(2, 1fr); }
  .public-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  .site-container { width: min(calc(100% - 24px), var(--container)); }
  .beta-ribbon__inner { padding-block: 8px; font-size: .72rem; line-height: 1.3; }
  .beta-ribbon a { display: none; }
  .public-header__inner { min-height: 66px; }
  .product-switcher { width: 100%; justify-content: flex-start; margin-bottom: 32px; padding-left: 12px; }
  .product-switcher__track { max-width: 100%; border-right: 0; border-radius: 999px 0 0 999px; padding-right: 12px; }
  .product-switcher__hub, .product-switcher__item { min-height: 40px; padding-inline: 13px; font-size: .8rem; }
  .hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .hero__visual { min-height: 400px; }
  .blueprint-card { inset: 20px 0 18px; }
  .finding-float { max-width: 230px; padding: 12px; }
  .finding-float--top { right: -4px; }
  .finding-float--bottom { right: 12px; }
  .trust-row__inner { grid-template-columns: 1fr; }
  .trust-item { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-item:last-child { border-bottom: 0; }
  .check-grid { grid-template-columns: 1fr; }
  .beta-panel { padding: 30px 24px; }
  .legacy-strip { align-items: flex-start; flex-direction: column; }
  .page-hero { padding: 58px 0 42px; }
  .page-hero h1 { font-size: 2.65rem; }
  .definition-list > div { grid-template-columns: 1fr; gap: 5px; }
  .report-preview__top { flex-direction: column; }
  .report-preview__meta, .report-stats, .report-summary { grid-template-columns: 1fr; }
  .report-preview__meta > div { padding: 13px 18px; }
  .report-stats { padding: 18px; }
  .report-findings { padding: 6px 18px 22px; }
  .field-row { grid-template-columns: 1fr; }
  .auth-story { min-height: 410px; }
  .auth-story h1 { font-size: 2.6rem; }
  .app-topbar__inner { padding: 0 14px; gap: 10px; }
  .app-main { padding: 28px 14px 60px; }
  .app-page-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .project-row { grid-template-columns: minmax(0, 1fr) auto 20px; }
  .project-row__meta { display: none; }
  .upload-sidebar { grid-template-columns: 1fr; }
  .processing-card { padding: 28px 20px; }
  .processing-step { grid-template-columns: 28px 1fr; }
  .processing-step small { grid-column: 2; }
  .calculator-grid { grid-template-columns: 1fr; }
  .public-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .public-footer__bottom { align-items: flex-start; flex-direction: column; }
}

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

@media print {
  .beta-ribbon, .public-header, .public-footer, .app-topbar, .app-sidebar, .report-toolbar, .feedback-row, .no-print { display: none !important; }
  body, .app-shell { background: white; }
  .app-layout, .report-page-grid { display: block; }
  .app-main { width: 100%; padding: 0; }
  .app-panel, .finding-group, .report-preview { border-color: #bbb; box-shadow: none; break-inside: avoid; }
}
