/* Landing page only: palette and typography of reports.carstensen.eu. */
@font-face {
  font-family: "Proxima Nova";
  src: url("/static/fonts/ProximaNova-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Proxima Nova";
  src: url("/static/fonts/ProximaNova-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Proxima Nova";
  src: url("/static/fonts/ProximaNova-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
body.corporate-landing {
  --brand-navy: #0b3e66;
  --brand-blue: #17699b;
  --brand-sky: #2291c8;
  --brand-muted: #687f91;
  --brand-page: #f3f6fa;
  --brand-border: #d9e4eb;
  --brand-card: #f8fafc;
  --brand-font: "Proxima Nova", "Segoe UI", Arial, sans-serif;
  font-family: var(--brand-font);
  color: #182c42;
  background: var(--brand-page);
}
.corporate-landing .topbar {
  background: #fff;
  border-bottom: 1px solid var(--brand-border);
  box-shadow: 0 2px 16px #0b3e6610;
}
.corporate-landing .logo-api-pill { color: var(--brand-navy); background: var(--brand-page); border-color: var(--brand-border); }
.corporate-landing .topbar-link { color: var(--brand-navy); }
.corporate-landing .topbar-link:hover { color: var(--brand-sky); }
.corporate-landing .btn-nav,
.corporate-landing .btn-primary { background: var(--brand-blue); border-radius: 5px; box-shadow: 0 3px 8px #0b3e6624; }
.corporate-landing .btn-nav:hover,
.corporate-landing .btn-primary:hover { background: var(--brand-navy); }
.corporate-landing .hero-title,
.corporate-landing .section-title { font-family: var(--brand-font); font-weight: 600; letter-spacing: -.025em; }
.corporate-landing .hero-title { font-size: clamp(2.4rem, 4.5vw, 3.65rem); }
.corporate-landing .hero-title,
.corporate-landing .hero-desc,
.corporate-landing .hero-eyebrow {
  background: rgba(8, 25, 50, .76);
  border-radius: 5px;
  padding: 8px 12px;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .8);
}
.corporate-landing .hero-title { width: fit-content; max-width: 100%; }
.corporate-landing .hero-title em { color: #fff; }
.corporate-landing .hero-desc { color: #fff; }
.corporate-landing .hero-eyebrow { color: #e1f3fd; }
.corporate-landing .hero .btn-ghost {
  background: rgba(8, 25, 50, .76);
  color: #fff;
  border-color: rgba(255, 255, 255, .7);
}
.corporate-landing .section-title,
.corporate-landing .endpoint-path,
.corporate-landing .feature-title,
.corporate-landing .info-card-num { color: var(--brand-navy); }
.corporate-landing .section-eyebrow { color: var(--brand-blue); }
.corporate-landing .section-lead { color: var(--brand-muted); }
.corporate-landing .stats-bar,
.corporate-landing .section-alt { background: #edf4f8; }
.corporate-landing .stat-num { color: var(--brand-navy); font: 600 28px var(--brand-font); }
.corporate-landing .stat-label { color: var(--brand-muted); }
.corporate-landing .endpoint-card,
.corporate-landing .feature-card,
.corporate-landing .info-card {
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-top: 3px solid var(--brand-sky);
  border-radius: 7px;
  box-shadow: 0 6px 20px #0b3e660a;
}
.corporate-landing .endpoint-card:hover { background: #fff; }
.corporate-landing .ocr-teaser { background: var(--brand-navy); }
.corporate-landing .footer { background: #123e60; }
.corporate-landing .hero { padding-top: 26px; }
.corporate-landing .hero-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 74px;
}
.corporate-landing .hero-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 5px;
  background: rgba(8,25,50,.7);
  color: #fff;
  text-decoration: none;
  font-family: var(--brand-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}
.corporate-landing .hero-nav a:hover,
.corporate-landing .hero-nav a:focus-visible {
  background: rgba(8,25,50,.8);
  border-color: #fff;
}
.corporate-landing .hero-nav .btn-nav {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
}
.corporate-landing .hero-nav .btn-nav:hover { background: var(--brand-navy); }
@media (min-width: 781px) and (max-width: 1100px) {
  .corporate-landing .hero {
    background-size: auto 230%;
    background-position: 58% 100%;
  }
}

body.corporate-ocr {
  --bg: #f3f6fa; --surface: #f8fafc; --s2: #edf4f8;
  --border: #d9e4eb; --border2: #8ebbd4;
  --text: #182c42; --dim: #617a8d; --bright: #0b3e66;
  --blue: #17699b; --green: #167a55; --amber: #966314;
  --red: #b33945; --mono: "Proxima Nova", "Segoe UI", Arial, sans-serif;
  --sans: "Proxima Nova", "Segoe UI", Arial, sans-serif;
  background: #f3f6fa; color: #182c42;
  font-family: "Proxima Nova", "Segoe UI", Arial, sans-serif;
}
.corporate-ocr::before { display: none; }
.corporate-ocr .topbar,
.corporate-ocr .header {
  background: #fff;
  border-bottom: 1px solid #d9e4eb;
  box-shadow: 0 2px 16px #0b3e660d;
}
.corporate-ocr .topbar { padding: 12px 24px; }
.corporate-ocr .topbar::before,
.corporate-ocr .header::before,
.corporate-ocr #login-screen::before {
  content: "";
  display: inline-block;
  width: 42px; height: 42px; flex: 0 0 42px;
  background: url("/static/img/carstensen-logo.jpg") center / contain no-repeat;
  border-radius: 4px;
}
.corporate-ocr .topbar-title,
.corporate-ocr .page-title,
.corporate-ocr .login-title { color: #0b3e66; font-weight: 600; }
.corporate-ocr .page-title { font-size: clamp(28px, 4vw, 39px); }
.corporate-ocr .page-sub,
.corporate-ocr .login-sub { color: #17699b; }
.corporate-ocr .back-link { color: #17699b; font-weight: 600; }
.corporate-ocr .btn-primary,
.corporate-ocr .btn-blue,
.corporate-ocr .start-btn.ready { background: #17699b; color: #fff; border-color: #17699b; }
.corporate-ocr .stat-card,
.corporate-ocr .action-card,
.corporate-ocr .section,
.corporate-ocr .sidebar,
.corporate-ocr #login-screen {
  background: #f8fafc;
  border: 1px solid #d9e4eb;
  border-top: 3px solid #2291c8;
  border-radius: 7px;
  box-shadow: 0 6px 20px #0b3e660a;
}
.corporate-ocr #login-screen { padding: 32px; text-align: center; }
.corporate-ocr #login-screen .field { text-align: left; }
.corporate-ocr .action-card:hover { background: #fff; border-color: #2291c8; }
.corporate-ocr .field input,
.corporate-ocr .form-input,
.corporate-ocr .form-select,
.corporate-ocr .name-input,
.corporate-ocr .coord-input,
.corporate-ocr .static-add-row input,
.corporate-ocr .static-add-row select {
  background-color: #fff; color: #182c42; border-color: #d9e4eb;
}
.corporate-ocr :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #2291c873; outline-offset: 2px;
}
.corporate-ocr .canvas-area { background: #e6edf2; }
.corporate-ocr .canvas-empty { min-width: 0; width: 100%; }
.corporate-ocr .editor-layout { height: calc(100vh - 72px); }
.corporate-ocr .btn-active { background: #dceef7 !important; }
.corporate-ocr .field-item.active { background: #e8f5fb; }
@media (max-width: 780px) {
  .corporate-landing .hero { padding-top: 20px; }
  .corporate-landing .hero-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 58px;
  }
  .corporate-landing .hero-nav a {
    padding: 9px 6px;
    font-size: 10px;
    white-space: normal;
    text-align: center;
  }
  .corporate-ocr .wrap { padding: 30px 18px 60px; }
  .corporate-ocr .stats, .corporate-ocr .cards, .corporate-ocr .results-summary { grid-template-columns: 1fr; }
  .corporate-ocr .topbar { flex-wrap: wrap; }
  .corporate-ocr .editor-layout { grid-template-columns: 1fr; height: auto; overflow: visible; }
  .corporate-ocr .canvas-area { min-height: 360px; overflow: auto; }
  .corporate-ocr .sidebar { border-left: 0; overflow: visible; }
}
