﻿:root {
      --brand-bg: #fbf8f3;
      --brand-paper: #ffffff;
      --brand-paper-soft: #fffdf9;
      --brand-ink: #20262d;
      --brand-muted: #55606a; /* a11y #20: >=4.5:1 on #f4efe7 / #fbf8f3 */
      --brand-blue: #215f7a;
      --brand-blue-deep: #173f52;
      --brand-blue-soft: #e8f4f6;
      --brand-green: #2d775d;
      --brand-green-soft: #e8f4ee;
      --brand-gold: #d5b878;
      --bg: var(--brand-bg);
      --paper: var(--brand-paper);
      --paper-soft: var(--brand-paper-soft);
      --ink: var(--brand-ink);
      --muted: var(--brand-muted);
      --line: #e4ddd2;
      --line-strong: #d2c5b6;
      --blue: var(--brand-blue);
      --blue-deep: var(--brand-blue-deep);
      --blue-soft: var(--brand-blue-soft);
      --green: var(--brand-green);
      --green-soft: var(--brand-green-soft);
      --amber: #8a5614; /* a11y #20: >=4.5:1 on --amber-soft */
      --amber-soft: #fff2dd;
      --rose: #a84d46;
      --rose-soft: #fff0ed;
      --slate-soft: #edf1f2;
      --shadow: 0 20px 60px rgba(44, 34, 22, .14);
    }

:focus-visible {
      outline: 3px solid #d5b878;
      outline-offset: 3px;
    }

    .legal-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
    }

    .legal-links a {
      color: inherit;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .review-footer {
      margin-top: 28px;
    }

    .legal-page main {
      width: min(880px, calc(100% - 40px));
      margin: 0 auto;
      padding: 52px 0 72px;
    }

    .legal-page article {
      padding: 32px;
      border: 1px solid #e4d9ca;
      border-radius: 12px;
      background: #fff;
      line-height: 1.65;
    }

    .legal-page h1,
    .legal-page h2 {
      color: var(--ink, #20262d);
    }

    .legal-page h2 {
      margin-top: 30px;
    }

    * {
      box-sizing: border-box;
    }

    [hidden] {
      display: none !important;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 86px;
    }

    body {
      margin: 0;
      font-family: "Segoe UI", Arial, sans-serif;
      background: var(--bg);
      color: var(--ink);
    }

    a {
      color: inherit;
    }

    button,
    input,
    select {
      font: inherit;
    }

    button:disabled,
    input:disabled,
    select:disabled {
      cursor: not-allowed;
      opacity: .58;
    }

    .nav {
      position: sticky;
      top: 0;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 14px clamp(18px, 4vw, 54px);
      border-bottom: 1px solid rgba(228, 221, 210, .86);
      background: rgba(251, 248, 243, .92);
      backdrop-filter: blur(14px);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--ink);
      font-weight: 850;
      text-decoration: none;
    }

    .brand-mark {
      width: 36px;
      height: 36px;
      display: block;
      flex: 0 0 auto;
      border-radius: 8px;
    }

    .brand-wordmark {
      color: var(--ink);
      font-weight: 850;
      letter-spacing: 0;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 16px;
      color: var(--muted);
      font-size: 14px;
    }

    .nav-links a {
      text-decoration: none;
    }

    .button {
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 0 16px;
      border: 1px solid var(--blue);
      border-radius: 8px;
      background: var(--blue);
      color: #fff;
      font-weight: 750;
      text-decoration: none;
      cursor: pointer;
    }

    .button:hover:not(:disabled) {
      background: var(--blue-deep);
      border-color: var(--blue-deep);
    }

    section,
    #resultado {
      scroll-margin-top: 86px;
    }

    .button.secondary {
      background: #fff;
      color: var(--blue);
    }

    .button.secondary:hover:not(:disabled) {
      background: var(--blue-soft);
      border-color: var(--blue);
    }

    .button.ghost {
      border-color: var(--line-strong);
      background: transparent;
      color: var(--ink);
    }

    .button.ghost:hover:not(:disabled) {
      background: #fff;
      border-color: var(--line-strong);
    }

    .hero {
      min-height: calc(100vh - 78px);
      display: grid;
      align-items: center;
      padding: clamp(40px, 7vw, 86px) clamp(18px, 4vw, 54px);
      background:
        linear-gradient(90deg, rgba(251, 248, 243, .98) 0%, rgba(251, 248, 243, .9) 42%, rgba(251, 248, 243, .2) 74%),
        url("assets/acreditat-landing-hero.png") center right / cover no-repeat;
    }

    .hero-copy {
      max-width: 790px;
    }

    .eyebrow {
      margin: 0 0 12px;
      color: var(--blue);
      font-size: 13px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    h1,
    h2,
    h3,
    p {
      margin-top: 0;
    }

    h1 {
      margin-bottom: 0;
      font-size: clamp(38px, 5vw, 66px);
      line-height: 1.02;
      letter-spacing: 0;
    }

    .lead {
      max-width: 710px;
      margin: 20px 0 0;
      color: #485560;
      font-size: 19px;
      line-height: 1.55;
    }

    .hero-actions,
    .result-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 24px;
    }

    .trust-strip,
    .status-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 24px;
    }

    .pill {
      min-height: 28px;
      display: inline-flex;
      align-items: center;
      padding: 0 10px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fff;
      color: var(--muted);
      font-size: 13px;
      font-weight: 750;
      white-space: nowrap;
    }

    .pill.strong {
      border-color: #b8ddcc;
      background: var(--green-soft);
      color: var(--green);
    }

    .pill.warn {
      border-color: #edc98e;
      background: var(--amber-soft);
      color: var(--amber);
    }

    section {
      padding: 48px clamp(18px, 4vw, 54px);
    }

    .section-head {
      max-width: 820px;
      margin-bottom: 22px;
    }

    .section-head h2 {
      margin-bottom: 0;
      font-size: clamp(28px, 3vw, 42px);
      line-height: 1.1;
      letter-spacing: 0;
    }

    .section-head h1 {
      max-width: 880px;
      margin-bottom: 0;
      font-size: clamp(34px, 4vw, 56px);
      line-height: 1.04;
      letter-spacing: 0;
    }

    .section-head p {
      margin: 12px 0 0;
      color: var(--muted);
      line-height: 1.55;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

    .service-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
      gap: 16px;
      align-items: stretch;
    }

    .card,
    .service-card,
    .price-card,
    .panel,
    .upload-panel,
    .processing-panel,
    .result-dashboard {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper);
      padding: 20px;
    }

    .service-card {
      display: grid;
      gap: 16px;
    }

    .step-no {
      width: 36px;
      height: 36px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 14px;
      border-radius: 8px;
      background: var(--blue-soft);
      color: var(--blue);
      font-weight: 900;
    }

    .card strong,
    .service-card strong,
    .price-card strong {
      display: block;
      margin-bottom: 8px;
      font-size: 18px;
    }

    .card p,
    .service-card p,
    .price-card p,
    .price-card li,
    .panel p {
      color: var(--muted);
      line-height: 1.45;
    }

    .price-card {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 12px;
      box-shadow: 0 14px 44px rgba(33, 95, 122, .1);
    }

    .price-card h3 {
      margin-bottom: 0;
      font-size: 22px;
    }

    .price {
      color: var(--ink);
      font-size: 40px;
      font-weight: 850;
      line-height: 1.1;
    }

    .price small {
      color: var(--muted);
      font-size: 14px;
      font-weight: 650;
    }

    .price-card ul {
      margin: 0;
      padding-left: 18px;
    }

    .price-card .button {
      width: 100%;
      margin-top: auto;
    }

    .landing-price {
      max-width: 520px;
    }

    .explain-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .explain-list li {
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
      color: var(--muted);
      line-height: 1.45;
    }

    .explain-list strong {
      display: block;
      margin-bottom: 6px;
      color: var(--ink);
    }

    .trust-box,
    .consent-box,
    .expiry-strip,
    .file-card,
    .context-summary {
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .trust-box h3,
    .consent-box h3 {
      margin-bottom: 8px;
      font-size: 22px;
    }

    .trust-list,
    .lifecycle-list {
      display: grid;
      gap: 8px;
      margin: 0;
      padding-left: 18px;
      color: var(--muted);
      line-height: 1.45;
    }

    .trust-list li::marker,
    .lifecycle-list li::marker {
      color: var(--blue);
      font-weight: 900;
    }

    .ai-disclosure {
      margin-top: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 12px;
    }

    .ai-disclosure summary {
      cursor: pointer;
      font-weight: 850;
    }

    .ai-disclosure p {
      margin: 10px 0 0;
      color: var(--muted);
      line-height: 1.45;
    }

    .review-flow {
      background: #f4efe7;
    }

    .upload-layout {
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
      gap: 16px;
      align-items: start;
    }

    .extraction-flow .upload-layout {
      grid-template-columns: minmax(0, 760px);
      justify-content: center;
    }

    .extraction-flow.is-processing .flow-intro,
    .extraction-flow.is-processing > .flow-banner,
    .extraction-flow.is-processing .upload-panel,
    .extraction-flow.has-result .flow-intro,
    .extraction-flow.has-result > .flow-banner,
    .extraction-flow.has-result .upload-layout {
      display: none;
    }

    .extraction-flow.is-processing .upload-layout {
      display: grid;
    }

    .upload-panel.is-locked {
      background: #faf6ef;
    }

    .session-state {
      margin: 0 0 16px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
      color: var(--muted);
      font-weight: 700;
      line-height: 1.4;
    }

    .session-state.is-ready {
      border-color: #b8ddcc;
      background: var(--green-soft);
      color: var(--green);
    }

    .flow-banner {
      margin: 0 0 14px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-weight: 750;
      line-height: 1.45;
    }

    .flow-banner.good {
      border-color: #b8ddcc;
      background: var(--green-soft);
      color: var(--green);
    }

    .flow-banner.warn {
      border-color: #e7d498;
      background: var(--amber-soft);
      color: var(--amber);
    }

    .flow-banner.risk {
      border-color: #e7c2bc;
      background: var(--rose-soft);
      color: var(--rose);
    }

    .upload-zone {
      display: grid;
      gap: 8px;
      margin: 16px 0 14px;
      padding: 18px;
      border: 1px dashed #9ab8c2;
      border-radius: 8px;
      background: #f7fbfc;
      cursor: pointer;
    }

    .upload-zone:hover {
      border-color: var(--blue);
      background: var(--blue-soft);
    }

    .upload-icon {
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      background: var(--blue);
      color: #fff;
      font-weight: 900;
    }

    .upload-zone strong,
    .upload-zone span {
      display: block;
    }

    .upload-zone span:not(.upload-icon) {
      color: var(--muted);
      font-weight: 600;
    }

    .upload-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 0 0 14px;
    }

    .file-card {
      display: grid;
      gap: 12px;
      margin: 0 0 14px;
      background: #fff;
    }

    .file-card header {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: start;
    }

    .file-card strong {
      display: block;
      overflow-wrap: anywhere;
    }

    .file-card dl {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin: 0;
    }

    .file-card dt {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      text-transform: uppercase;
    }

    .file-card dd {
      margin: 3px 0 0;
      color: var(--ink);
      font-weight: 800;
      overflow-wrap: anywhere;
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
    }

    .field-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin: 12px 0 0;
    }

    label {
      display: block;
      margin-bottom: 6px;
      font-weight: 750;
    }

    input,
    select {
      width: 100%;
      min-height: 44px;
      padding: 0 12px;
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
    }

    .consent {
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      margin: 16px 0;
      color: var(--muted);
      line-height: 1.45;
    }

    .check-stack {
      display: grid;
      gap: 10px;
      margin-top: 12px;
    }

    .check-item {
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      line-height: 1.45;
    }

    .check-item input {
      width: 18px;
      min-height: 18px;
      margin-top: 3px;
    }

    .privacy-disclosure {
      margin-top: 10px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .privacy-disclosure summary {
      cursor: pointer;
      font-weight: 850;
    }

    .privacy-disclosure .trust-list {
      margin-top: 12px;
    }

    .consent-note {
      margin: 10px 0 0;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-size: 13px;
      font-weight: 750;
      line-height: 1.45;
    }

    .safety-note {
      margin: 14px 0 0;
      padding: 12px;
      border: 1px solid #e7c2bc;
      border-radius: 8px;
      background: var(--rose-soft);
      color: var(--rose);
      font-weight: 750;
      line-height: 1.45;
    }

    .consent input {
      width: 18px;
      min-height: 18px;
      margin-top: 3px;
    }

    .microcopy {
      margin: 12px 0 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.4;
    }

    .flow-banner[hidden],
    .file-card[hidden],
    .processing-panel[hidden],
    .result-dashboard[hidden] {
      display: none;
    }

    .processing-panel {
      display: grid;
      gap: 12px;
      background: #fffdf9;
    }

    .process-list {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .process-list li {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-weight: 700;
    }

    .process-list li span:first-child {
      width: 30px;
      height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      background: var(--slate-soft);
      color: var(--muted);
      font-weight: 900;
    }

    .process-list li.is-active {
      border-color: #9ab8c2;
      background: var(--blue-soft);
      color: var(--blue);
    }

    .process-list li.is-done span:first-child {
      background: var(--green-soft);
      color: var(--green);
    }

    .process-list li.is-error {
      border-color: #e7c2bc;
      background: var(--rose-soft);
      color: var(--rose);
    }

    .processing-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .result-dashboard {
      margin-top: 18px;
    }

    .extraction-result {
      display: grid;
      gap: 16px;
    }

    .result-header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 16px;
      align-items: start;
      padding-bottom: 18px;
      border-bottom: 1px solid var(--line);
    }

    .result-header h2 {
      margin-bottom: 8px;
      font-size: clamp(26px, 3vw, 38px);
      line-height: 1.1;
    }

    .compact-session-bar {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto;
      gap: 10px;
      align-items: stretch;
    }

    .compact-session-bar {
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .compact-session-bar > span {
      display: grid;
      gap: 3px;
      min-width: 0;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-weight: 700;
    }

    .compact-session-bar strong {
      color: var(--ink);
      font-size: 12px;
      text-transform: uppercase;
    }

    .compact-session-bar .button {
      align-self: center;
      white-space: nowrap;
    }

    .compact-button {
      min-height: 32px;
      padding: 7px 10px;
      font-size: 13px;
    }

    .process-cta {
      margin-top: 18px;
      justify-self: start;
    }

    .status-card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin: 18px 0;
    }

    .status-card {
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .status-card strong {
      display: block;
      margin-top: 6px;
      font-size: 22px;
    }

    .status-card p {
      margin: 8px 0 0;
      color: var(--muted);
      line-height: 1.4;
    }

    .section-11-extraction[hidden] {
      display: none;
    }

    .section-11-extraction {
      display: grid;
      gap: 14px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .evaluation-limit-alert-list {
      display: grid;
      gap: 10px;
    }

    .evaluation-limit-alert {
      display: grid;
      gap: 6px;
      padding: 16px 18px;
      border: 2px solid #b42318;
      border-radius: 8px;
      background: #fff1f0;
      color: #8a1f16;
      box-shadow: 0 12px 28px rgba(180, 35, 24, .14);
    }

    .evaluation-limit-alert strong {
      font-size: 18px;
      font-weight: 900;
    }

    .evaluation-limit-alert p {
      margin: 0;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.45;
    }

    .manual-review-notice {
      display: grid;
      gap: 4px;
      padding: 12px 14px;
      border: 1px solid rgba(168, 107, 31, .35);
      border-radius: 8px;
      background: var(--amber-soft);
      color: #70420f;
      font-weight: 800;
      line-height: 1.4;
    }

    .manual-review-notice strong {
      color: #63390c;
    }

    .merit-review-workspace {
      display: grid;
      grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr);
      gap: 14px;
      align-items: start;
    }

    .aneca-map,
    .merit-inbox {
      display: grid;
      gap: 12px;
      min-width: 0;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .aneca-tree,
    .merit-list {
      display: grid;
      gap: 8px;
    }

    .aneca-tree-row {
      display: block;
      min-width: 0;
    }

    .aneca-tree-node,
    .merit-card {
      width: 100%;
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
      text-align: left;
      cursor: pointer;
    }

    .aneca-tree-node {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(72px, max-content);
      align-items: center;
      gap: 8px;
      padding: 11px;
    }

    .aneca-tree-node strong,
    .aneca-tree-node span {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .aneca-tree-status {
      justify-self: end;
      max-width: 104px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 750;
      line-height: 1.18;
      text-align: right;
      white-space: normal;
    }

    .aneca-tree-marker {
      color: var(--blue);
      font-weight: 900;
    }

    .aneca-tree-block {
      font-weight: 850;
    }

    .aneca-tree-children {
      display: grid;
      gap: 7px;
      padding-left: 16px;
      border-left: 2px solid #c8dbe1;
    }

    .aneca-tree-section {
      padding: 9px 10px;
    }

    .aneca-tree-node.is-active {
      border-color: #9ab8c2;
      background: var(--blue-soft);
      color: var(--blue);
    }

    .aneca-tree-node.is-good {
      border-color: rgba(45, 119, 93, .45);
      box-shadow: inset 3px 0 0 var(--green);
    }

    .aneca-tree-node.is-warn {
      border-color: rgba(168, 107, 31, .5);
      box-shadow: inset 3px 0 0 var(--amber);
    }

    .aneca-tree-node.is-risk {
      border-color: rgba(168, 77, 70, .55);
      box-shadow: inset 3px 0 0 var(--rose);
    }

    .aneca-tree-status.good {
      color: var(--green);
    }

    .aneca-tree-status.warn {
      color: var(--amber);
    }

    .aneca-tree-status.risk {
      color: var(--rose);
    }

    .aneca-tree-node:disabled {
      cursor: default;
      opacity: .72;
    }

    .review-toolbar,
    .merit-card-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: start;
      gap: 10px;
    }

    .merit-card-badges {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 6px;
      min-width: 0;
    }

    .publication-group.is-targeted {
      outline: 2px solid rgba(33, 95, 122, .45);
      outline-offset: 4px;
      background: rgba(232, 244, 246, .44);
      transition: background .3s ease, outline-color .3s ease;
    }

    .global-summary-panel {
      display: grid;
      gap: 16px;
      min-width: 0;
      overflow-x: auto;
    }

    .global-summary-note {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.45;
    }

    .global-summary-block {
      display: grid;
      gap: 8px;
      min-width: 0;
    }

    .global-summary-heading {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      min-width: 0;
    }

    .global-summary-block h5 {
      margin: 0;
      color: var(--blue);
      font-size: 15px;
      font-weight: 900;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }

    .global-summary-score {
      display: grid;
      gap: 2px;
      justify-items: end;
      min-width: 110px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.2;
      text-align: right;
    }

    .global-summary-score strong {
      color: var(--ink);
      font-size: 14px;
      font-weight: 900;
    }

    .global-summary-empty {
      margin: 0;
      padding: 10px 12px;
      border: 1px dashed var(--line-strong);
      border-radius: 8px;
      color: var(--muted);
      background: #fff;
      font-size: 13px;
      font-weight: 750;
    }

    .global-summary-table {
      width: 100%;
      min-width: 720px;
      border-collapse: collapse;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .global-summary-table th,
    .global-summary-table td {
      padding: 10px 12px;
      border-bottom: 1px solid var(--line);
      text-align: left;
      vertical-align: top;
      font-size: 13px;
      line-height: 1.35;
    }

    .global-summary-table thead th {
      color: var(--muted);
      background: var(--slate-soft);
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .04em;
    }

    .global-summary-row.is-block th,
    .global-summary-row.is-block td {
      background: #f7fbfc;
      font-weight: 850;
    }

    .global-summary-row.has-minimum th,
    .global-summary-row.has-minimum td {
      background: #fff8e7;
      font-weight: 850;
    }

    .global-summary-row:last-child th,
    .global-summary-row:last-child td {
      border-bottom: 0;
    }

    .normative-block-table .global-summary-row.is-block th,
    .normative-block-table .global-summary-row.is-block td {
      background: var(--blue-soft);
      color: var(--blue);
    }

    .compliance-badge {
      display: inline-flex;
      align-items: center;
      min-height: 26px;
      padding: 4px 8px;
      border-radius: 999px;
      background: var(--slate-soft);
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      white-space: nowrap;
    }

    .compliance-badge.good {
      background: var(--green-soft);
      color: var(--green);
    }

    .compliance-badge.warn {
      background: var(--amber-soft);
      color: var(--amber);
    }

    .compliance-badge.risk {
      background: var(--rose-soft);
      color: var(--rose);
    }

    .review-toolbar h4,
    .merit-detail-dialog-panel h3 {
      margin: 0;
      font-size: 20px;
      line-height: 1.2;
    }

    .merit-card {
      display: grid;
      gap: 8px;
      padding: 12px;
    }

    .merit-card:hover,
    .merit-card.is-active {
      border-color: var(--blue);
      background: #f7fbfc;
    }

    .merit-card.is-automatic-recognition {
      border-color: rgba(32, 119, 82, .38);
      background: var(--green-soft);
    }

    .recognition-missing-notice {
      display: grid;
      gap: 5px;
      padding: 12px 14px;
      border: 1px solid rgba(212, 163, 74, .42);
      border-radius: 8px;
      background: #fff8e7;
      color: #6e4b12;
      font-size: 13px;
      font-weight: 750;
      line-height: 1.4;
    }

    .recognition-missing-notice strong {
      color: #4d360c;
      font-size: 13px;
      font-weight: 900;
    }

    .merit-card strong {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .merit-card-meta,
    .merit-card-evidence,
    .merit-card-missing,
    .merit-card-range {
      display: block;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.35;
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .merit-card-footer {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
    }

    .merit-card-range {
      color: var(--ink);
      font-weight: 850;
    }

    .merit-card-note {
      display: block;
      color: var(--green);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
    }

    .publication-group {
      display: grid;
      gap: 8px;
    }

    .publication-group-header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 10px;
      padding: 6px 2px 2px;
      border-bottom: 1px solid var(--line);
    }

    .publication-group-header h5 {
      margin: 0;
      color: var(--blue);
      font-size: 14px;
      line-height: 1.2;
    }

    .publication-group-list {
      display: grid;
      gap: 8px;
    }

    .state-badge {
      min-height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 8px;
      border-radius: 999px;
      background: var(--slate-soft);
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }

    .state-badge.good {
      background: var(--green-soft);
      color: var(--green);
    }

    .state-badge.warn {
      background: var(--amber-soft);
      color: var(--amber);
    }

    .state-badge.risk {
      background: var(--rose-soft);
      color: var(--rose);
    }

    .state-badge.muted {
      background: #f1f1f1;
      color: #777;
    }

    .detail-field-grid {
      display: grid;
      gap: 8px;
      margin: 0;
    }

    .detail-field-grid div {
      display: grid;
      gap: 3px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .detail-field-grid dt {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      text-transform: uppercase;
    }

    .detail-field-grid dd {
      margin: 0;
      color: var(--ink);
      font-weight: 750;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }

    .merit-detail-dialog-panel section {
      padding: 0;
    }

    .merit-detail-dialog-panel h5 {
      margin: 0 0 8px;
      font-size: 14px;
      text-transform: uppercase;
    }

    .detail-note {
      margin: 0;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-weight: 700;
      line-height: 1.45;
    }

    .narrative-detection {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .narrative-detection p {
      margin: 0;
      color: var(--muted);
      font-weight: 750;
      line-height: 1.4;
    }

    .merit-detail-dialog,
    .narrative-dialog {
      width: min(720px, calc(100vw - 32px));
      max-height: min(720px, calc(100vh - 32px));
      padding: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
      box-shadow: 0 24px 80px rgba(34, 38, 43, .22);
    }

    .merit-detail-dialog {
      width: min(920px, calc(100vw - 32px));
    }

    .merit-detail-dialog::backdrop,
    .narrative-dialog::backdrop {
      background: rgba(22, 28, 33, .42);
    }

    .merit-detail-dialog-panel,
    .narrative-dialog-panel {
      display: grid;
      gap: 16px;
      padding: 18px;
    }

    .merit-detail-dialog-panel header,
    .narrative-dialog-panel header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 14px;
      align-items: start;
    }

    .merit-detail-dialog-panel h3,
    .narrative-dialog-panel h3 {
      margin: 4px 0 0;
      font-size: 22px;
    }

    .narrative-dialog-panel header p:not(.eyebrow) {
      margin: 8px 0 0;
      color: var(--muted);
      font-weight: 750;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }

    .dialog-close {
      min-height: 40px;
      padding: 0 14px;
      white-space: nowrap;
    }

    .narrative-dialog-text {
      max-height: min(460px, calc(100vh - 220px));
      overflow: auto;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
      color: var(--ink);
      font-weight: 700;
      line-height: 1.55;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }

    .detail-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .bullet-list.compact {
      gap: 8px;
    }

    .bullet-list.compact li {
      padding: 10px;
    }

    .expiry-strip {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      margin-top: 18px;
      background: #f7fbfc;
    }

    .expiry-strip strong {
      display: block;
      color: var(--ink);
    }

    .expiry-strip span {
      color: var(--muted);
      line-height: 1.4;
    }

    .expiry-timer {
      min-width: 112px;
      padding: 8px 10px;
      border-radius: 8px;
      background: var(--blue);
      color: #fff;
      text-align: center;
      font-weight: 900;
    }

    .context-summary {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-top: 18px;
      background: #fff;
    }

    .context-summary span {
      color: var(--muted);
      line-height: 1.35;
      overflow-wrap: anywhere;
    }

    .context-summary strong {
      display: block;
      color: var(--ink);
      margin-bottom: 3px;
    }

    .traffic {
      color: var(--green);
    }

    .traffic.warn {
      color: var(--amber);
    }

    .traffic.risk {
      color: var(--rose);
    }

    .range-band {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      overflow: hidden;
      height: 34px;
      margin: 12px 0 8px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fff;
    }

    .range-band span {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #5d6872;
      font-size: 12px;
      font-weight: 850;
    }

    .range-band .low {
      background: var(--rose-soft);
    }

    .range-band .mid {
      background: var(--amber-soft);
    }

    .range-band .high {
      background: var(--green-soft);
    }

    .range-marker {
      position: absolute;
      top: 4px;
      left: var(--marker);
      width: 26px;
      height: 26px;
      margin-left: -13px;
      border: 3px solid #fff;
      border-radius: 50%;
      background: var(--blue);
      box-shadow: 0 2px 8px rgba(32, 38, 45, .22);
    }

    .summary-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 18px;
    }

    .result-preview {
      display: grid;
      gap: 16px;
    }

    .result-preview > .button {
      justify-self: start;
    }

    .bullet-list {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .bullet-list li {
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      line-height: 1.42;
    }

    .bullet-list strong {
      display: block;
      color: var(--ink);
      margin-bottom: 4px;
    }

    .tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 20px 0;
    }

    .tab {
      min-height: 40px;
      padding: 0 13px;
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-weight: 800;
      cursor: pointer;
    }

    .tab.is-active {
      border-color: var(--blue);
      background: var(--blue);
      color: #fff;
    }

    .tab-panel {
      display: none;
    }

    .tab-panel.is-active {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
      gap: 16px;
      align-items: start;
    }

    .block-overview {
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .block-overview h3 {
      margin-bottom: 10px;
      font-size: 24px;
    }

    .metric-row {
      display: grid;
      gap: 10px;
      margin-top: 14px;
    }

    .metric-row span {
      display: block;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      line-height: 1.4;
    }

    .metric-row strong {
      display: block;
      color: var(--ink);
    }

    .tag {
      min-height: 26px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 8px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }

    .tag.good {
      background: var(--green-soft);
      color: var(--green);
    }

    .tag.warn {
      background: var(--amber-soft);
      color: var(--amber);
    }

    .tag.risk {
      background: var(--rose-soft);
      color: var(--rose);
    }

    .tab-content-grid {
      display: grid;
      gap: 12px;
    }

    details {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 12px;
    }

    summary {
      cursor: pointer;
      font-weight: 850;
    }

    details p,
    details li {
      color: var(--muted);
      line-height: 1.44;
    }

    details ul {
      margin: 10px 0 0;
      padding-left: 18px;
    }

    .notice {
      margin: 12px 0 0;
      padding: 12px;
      border: 1px solid #b8ddcc;
      border-radius: 8px;
      background: var(--green-soft);
      color: var(--green);
      font-weight: 750;
      line-height: 1.45;
    }

    .session-summary {
      margin: 0 0 14px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper-soft);
    }

    .session-summary strong,
    .session-summary span {
      display: block;
    }

    .session-summary span {
      margin-top: 5px;
      color: var(--muted);
    }

    .toast {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 60;
      display: none;
      max-width: 380px;
      padding: 14px;
      border: 1px solid #b8ddcc;
      border-radius: 8px;
      background: #f0fbf5;
      color: var(--green);
      box-shadow: var(--shadow);
      font-weight: 750;
      line-height: 1.4;
    }

    .toast.is-visible {
      display: block;
    }

    .site-footer {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 12px;
      padding: 22px clamp(18px, 4vw, 54px);
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
    }

    .landing-page {
      background: #fbf7ef;
      color: #09233a;
    }

    .landing-header {
      position: sticky;
      top: 0;
      z-index: 20;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 30px;
      align-items: center;
      min-height: 88px;
      padding: 0 clamp(28px, 5vw, 72px);
      border-bottom: 1px solid rgba(214, 198, 180, .72);
      background: rgba(255, 253, 248, .94);
      backdrop-filter: blur(16px);
    }

    .landing-brand {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
    }

    .brand-logo {
      display: block;
      width: 184px;
      height: auto;
    }

    .landing-nav-toggle {
      display: none;
      min-height: 40px;
      padding: 0 14px;
      border: 1px solid #004b67;
      border-radius: 6px;
      background: #fff;
      color: #004b67;
      font-size: 15px;
      font-weight: 750;
      cursor: pointer;
    }

    .landing-nav-links {
      display: flex;
      justify-content: center;
      gap: 36px;
      color: #0b2740;
      font-size: 15px;
      font-weight: 650;
    }

    .landing-nav-links a {
      text-decoration: none;
    }

    .landing-header-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      white-space: nowrap;
    }

    .landing-button {
      min-height: 56px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 0 28px;
      border: 1px solid #004b67;
      border-radius: 6px;
      background: #004b67;
      color: #fff;
      font-size: 18px;
      font-weight: 800;
      text-decoration: none;
      box-shadow: 0 18px 34px rgba(0, 74, 103, .18);
    }

    .landing-button:hover {
      background: #082f45;
      border-color: #082f45;
    }

    .landing-button-small {
      min-height: 46px;
      padding: 0 20px;
      font-size: 15px;
    }

    .landing-text-link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 44px;
      border-bottom: 2px solid #1f6f5b;
      color: #004b67;
      font-size: 17px;
      font-weight: 800;
      text-decoration: none;
    }

    .landing-hero {
      min-height: 660px;
      display: grid;
      grid-template-rows: minmax(0, 1fr) auto;
      align-items: center;
      padding: 68px clamp(28px, 5vw, 78px) 0;
      border-bottom: 1px solid #e4d9ca;
      background:
        linear-gradient(90deg, rgba(251, 247, 239, .99) 0%, rgba(251, 247, 239, .96) 34%, rgba(251, 247, 239, .5) 52%, rgba(251, 247, 239, .04) 78%),
        url("assets/acreditat-cva-desk-hero.png") right center / auto 100% no-repeat;
    }

    .landing-hero-copy {
      max-width: 690px;
      align-self: center;
      padding-bottom: 34px;
    }

    .landing-eyebrow {
      margin: 0 0 24px;
      color: #1f6f5b;
      font-size: 15px;
      font-weight: 900;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .landing-hero h1 {
      max-width: 680px;
      margin-bottom: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 84px;
      font-weight: 700;
      line-height: .98;
      letter-spacing: 0;
    }

    .landing-title-rule {
      width: 96px;
      height: 3px;
      display: block;
      margin: 28px 0 26px;
      background: #c5942e;
    }

    .landing-lead {
      max-width: 520px;
      margin-bottom: 0;
      color: #2f3e4a;
      font-size: 23px;
      line-height: 1.42;
    }

    .landing-hero-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 28px;
      margin-top: 32px;
    }

    .landing-micro-trust {
      margin: 16px 0 0;
      color: #173f52;
      font-size: 14px;
      font-weight: 700;
    }

    .landing-assurances {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      align-self: end;
      margin: 0 calc(clamp(28px, 5vw, 78px) * -1);
      padding: 0 clamp(28px, 5vw, 78px);
      border-top: 1px solid rgba(214, 198, 180, .74);
      background: rgba(255, 253, 248, .72);
    }

    .landing-assurances article {
      min-height: 104px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 16px;
      align-items: center;
      padding: 22px 30px;
      border-right: 1px solid #e4d9ca;
    }

    .landing-assurances article:last-child {
      border-right: 0;
    }

    .landing-line-icon {
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 2px solid #1f6f5b;
      border-radius: 999px;
      color: #1f6f5b;
      font-size: 13px;
      font-weight: 900;
    }

    .landing-assurances h2 {
      margin-bottom: 4px;
      font-size: 17px;
      line-height: 1.2;
    }

    .landing-assurances p {
      margin: 0;
      color: #53616f;
      font-size: 14px;
      line-height: 1.35;
    }

    .landing-process {
      position: relative;
      padding: 40px clamp(28px, 5vw, 78px) 74px;
      background: #fffdf9;
    }

    .landing-process::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 22px;
      background: #004b67;
    }

    .landing-section-title {
      max-width: 780px;
      margin: 0 auto 28px;
      text-align: center;
    }

    .landing-section-title h2,
    .landing-review-scope h2 {
      margin-bottom: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 46px;
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: 0;
    }

    .landing-process-grid {
      max-width: 1180px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin: 0 auto;
      background: transparent;
    }

    .landing-process-grid article {
      min-height: 138px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 18px;
      align-items: center;
      padding: 20px 36px;
      border-right: 1px solid #e4d9ca;
    }

    .landing-process-grid article:last-child {
      border-right: 0;
    }

    .landing-process-grid span {
      width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: #004b67;
      color: #fff;
      font-weight: 900;
      grid-row: 1 / span 2;
    }

    .landing-process-grid h3,
    .landing-scope-grid h3 {
      margin-bottom: 8px;
      font-size: 20px;
    }

    .landing-process-grid p,
    .landing-scope-grid p {
      margin: 0;
      color: #53616f;
      line-height: 1.45;
    }

    .landing-review-scope {
      display: grid;
      grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
      gap: 48px;
      align-items: start;
      padding: 62px clamp(28px, 5vw, 78px);
      background: #fffdf8;
    }

    .landing-scope-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 26px;
    }

    .landing-scope-grid article {
      min-height: 230px;
      padding: 28px;
      border-left: 1px solid #e4d9ca;
    }

    .landing-soft-badge {
      width: 58px;
      height: 58px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 24px;
      border-radius: 999px;
      background: #e8f3ed;
      color: #1f6f5b;
      font-weight: 900;
    }

    .landing-soft-badge.gold {
      background: #fff4d9;
      color: #9c6900;
    }

    .landing-soft-badge.blue {
      background: #e8f2f6;
      color: #004b67;
    }

    @media (max-width: 940px) {
      .hero {
        min-height: auto;
        background:
          linear-gradient(180deg, rgba(251, 248, 243, .96) 0%, rgba(251, 248, 243, .84) 58%, rgba(251, 248, 243, .38) 100%),
          url("assets/acreditat-landing-hero.png") center right / cover no-repeat;
      }

      .grid-3,
      .service-grid,
      .explain-list,
      .upload-layout,
      .result-header,
      .status-card-grid,
      .summary-grid,
      .context-summary,
      .compact-session-bar,
      .merit-review-workspace,
      .tab-panel.is-active {
        grid-template-columns: 1fr;
      }

      .nav-links {
        display: none;
      }

      .landing-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        justify-self: end;
      }

      .landing-header {
        grid-template-columns: auto auto auto;
      }

      .landing-nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        gap: 0;
        padding: 8px 18px 14px;
        border-bottom: 1px solid rgba(214, 198, 180, .72);
        background: rgba(255, 253, 248, .98);
        box-shadow: 0 12px 28px rgba(34, 38, 43, .08);
      }

      body.landing-nav-open .landing-nav-links {
        display: flex;
      }

      .landing-nav-links a {
        padding: 12px 4px;
        border-top: 1px solid rgba(214, 198, 180, .55);
      }

      .landing-header-actions span {
        display: none;
      }

      .landing-hero {
        background:
          linear-gradient(90deg, rgba(251, 247, 239, 1) 0%, rgba(251, 247, 239, .96) 44%, rgba(251, 247, 239, .4) 100%),
          url("assets/acreditat-cva-desk-hero.png") right center / auto 100% no-repeat;
      }

      .landing-hero h1 {
        font-size: 60px;
      }

      .landing-assurances,
      .landing-review-scope,
      .landing-scope-grid {
        grid-template-columns: 1fr 1fr;
      }

      .landing-assurances {
        margin: 0 calc(clamp(28px, 5vw, 78px) * -1);
      }

      .landing-process-grid {
        grid-template-columns: 1fr;
      }

      .landing-process-grid article {
        border-right: 0;
        border-bottom: 1px solid #e4d9ca;
      }

      .landing-process-grid article:last-child {
        border-bottom: 0;
      }
    }

    @media (max-width: 620px) {
      .nav {
        align-items: flex-start;
        padding: 12px 18px;
      }

      section {
        padding: 34px 18px;
      }

      .hero {
        padding: 38px 18px;
      }

      h1 {
        font-size: 32px;
        line-height: 1.08;
      }

      .section-head h1 {
        font-size: 30px;
        line-height: 1.08;
      }

      .section-head h2 {
        font-size: 26px;
      }

      .lead {
        font-size: 17px;
        line-height: 1.48;
      }

      .button {
        min-height: 40px;
        padding: 0 13px;
      }

      .narrative-detection,
      .narrative-dialog-panel header {
        grid-template-columns: 1fr;
      }

      .field-grid {
        grid-template-columns: 1fr;
      }

      .file-card header,
      .file-card dl {
        grid-template-columns: 1fr;
      }

      .file-card header {
        flex-direction: column;
      }

      .hero-actions .button,
      .result-actions .button,
      .upload-actions .button,
      .processing-actions .button {
        width: 100%;
      }

      .range-band span {
        font-size: 11px;
      }

      .review-toolbar,
      .merit-card-head {
        grid-template-columns: 1fr;
      }

      .landing-header {
        min-height: 74px;
        padding: 0 18px;
      }

      .brand-logo {
        width: 154px;
      }

      .landing-button-small {
        min-height: 40px;
        padding: 0 14px;
        font-size: 14px;
      }

      .landing-hero {
        min-height: auto;
        padding: 42px 20px 0;
        background:
          linear-gradient(180deg, rgba(251, 247, 239, 1) 0%, rgba(251, 247, 239, .96) 56%, rgba(251, 247, 239, .25) 100%),
          url("assets/acreditat-cva-desk-hero.png") center bottom / auto 54% no-repeat;
      }

      .landing-hero-copy {
        padding-bottom: 0;
        margin-bottom: 230px;
      }

      .landing-hero h1 {
        font-size: 42px;
      }

      .landing-lead {
        font-size: 19px;
      }

      .landing-hero-actions,
      .site-footer {
        align-items: stretch;
        flex-direction: column;
      }

      .landing-button,
      .landing-text-link {
        width: 100%;
      }

      .landing-assurances,
      .landing-process-grid,
      .landing-review-scope,
      .landing-scope-grid {
        grid-template-columns: 1fr;
      }

      .landing-assurances {
        margin: 0 -20px;
        padding: 0 20px;
      }

      .landing-assurances article,
      .landing-process-grid article {
        border-right: 0;
        border-bottom: 1px solid #e4d9ca;
      }

      .landing-process-grid article {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 22px 0;
      }

      .landing-assurances article:last-child,
      .landing-process-grid article:last-child {
        border-bottom: 0;
      }

      .landing-process,
      .landing-review-scope {
        padding: 42px 20px;
      }

      .landing-section-title h2,
      .landing-review-scope h2 {
        font-size: 34px;
      }

      .landing-scope-grid article {
        padding: 24px 0;
        border-top: 1px solid #e4d9ca;
        border-left: 0;
      }
    }

    .interest-section {
      display: grid;
      grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr);
      gap: clamp(36px, 7vw, 96px);
      padding: 72px max(24px, calc((100vw - 1180px) / 2));
      background: #eef3f1;
      border-top: 1px solid #d8e1de;
    }

    .interest-copy h2 {
      margin: 0 0 18px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(34px, 4vw, 54px);
      line-height: 1.05;
      color: #20262d;
    }

    .interest-copy > p:last-child {
      max-width: 560px;
      color: #53636a;
      line-height: 1.7;
    }

    .interest-form {
      position: relative;
      display: grid;
      gap: 18px;
      padding: clamp(24px, 4vw, 40px);
      background: #fff;
      border: 1px solid #d4dedb;
      box-shadow: 0 18px 45px rgba(32, 38, 45, .08);
    }

    .interest-form > label:not(.interest-consent):not(.interest-honeypot) {
      display: grid;
      gap: 7px;
      font-weight: 700;
      color: #29343a;
    }

    .interest-form input[type="email"],
    .interest-form input[type="text"],
    .interest-form select {
      width: 100%;
      min-height: 48px;
      padding: 10px 12px;
      border: 1px solid #9eaaae;
      border-radius: 0;
      background: #fff;
      color: #20262d;
      font: inherit;
    }

    .interest-form .optional {
      font-weight: 400;
      color: #6a757a;
    }

    .interest-consent {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      font-size: 14px;
      line-height: 1.55;
    }

    .interest-consent input {
      width: 18px;
      height: 18px;
      margin: 2px 0 0;
    }

    .interest-privacy-summary {
      margin: 0;
      padding: 14px;
      background: #f7f8f5;
      color: #5d696f;
      font-size: 12px;
      line-height: 1.55;
    }

    .interest-honeypot {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      overflow: hidden !important;
      clip: rect(0 0 0 0) !important;
      white-space: nowrap !important;
    }

    .interest-form .landing-button {
      border: 0;
      cursor: pointer;
    }

    .interest-form .landing-button:disabled {
      cursor: wait;
      opacity: .65;
    }

    .interest-status {
      min-height: 24px;
      margin: 0;
      font-weight: 700;
    }

    .interest-status.is-success { color: #236447; }
    .interest-status.is-error { color: #903939; }

    @media (max-width: 800px) {
      .interest-section {
        grid-template-columns: 1fr;
        padding: 48px 20px;
      }
    }
