:root {
  --aptus-ink: #172b3a;
  --aptus-blue: #0b658f;
  --aptus-blue-dark: #084b6a;
  --aptus-pale: #edf6f8;
  --aptus-line: #bed4de;
  --aptus-orange: #f07a32;
}

.hero-home { position: relative; overflow: hidden; }
.hero-home .hero-copy { position: relative; z-index: 2; }
.hero-editorial {
  position: absolute; inset: 0 0 0 44%; margin: 0; z-index: 1;
  border-radius: 0 0 0 4rem; overflow: hidden;
}
.hero-editorial::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--aptus-ink) 0%, transparent 38%);
}
.hero-editorial img { width: 100%; height: 100%; object-fit: cover; }
.hero-home .hero-mark { opacity: .16; z-index: 1; }

.growth-table { border: 1px solid var(--aptus-line); border-radius: 14px; overflow: hidden; }
.growth-table .growth-table-head,
.growth-table article { display: grid; grid-template-columns: 1.05fr 2.15fr 1.12fr .95fr 1.55fr 1.82fr; }
.growth-table .growth-table-head { background: var(--aptus-blue); color: white; }
.growth-table .growth-table-head span { padding: 14px 12px; font-weight: 700; border-right: 1px solid rgba(255,255,255,.45); }
.growth-table article { background: #fff; border-top: 1px solid var(--aptus-line); }
.growth-table article:nth-child(odd) { background: #f7fbfc; }
.growth-table article.is-featured { background: var(--aptus-pale); }
.growth-cell { min-width: 0; padding: 18px 12px; border-right: 1px solid var(--aptus-line); }
.growth-cell:last-child { border-right: 0; }
.growth-cell p { margin: 0; line-height: 1.5; color: #334652; }
.growth-cell-title { display: flex; flex-direction: column; gap: 8px; color: var(--aptus-ink); }
.growth-cell-title strong { line-height: 1.3; }
.growth-table .is-featured .growth-cell-title strong { color: var(--aptus-blue-dark); }
.growth-index { width: max-content; color: var(--aptus-blue); font-size: .76rem; font-weight: 800; letter-spacing: .08em; }

.diagnostic-executive-note {
  margin: 22px 0; padding: 20px 22px; border-left: 4px solid var(--aptus-orange);
  border-radius: 0 12px 12px 0; background: #fff7f1; color: var(--aptus-ink);
}
.diagnostic-executive-note strong { display: block; margin-bottom: 6px; }
.diagnostic-executive-note p { margin: 0; line-height: 1.6; }
.diagnostic-result-grid article { box-shadow: 0 10px 30px rgba(16, 55, 73, .07); }

@media (max-width: 900px) {
  .hero-editorial { position: relative; inset: auto; height: 320px; margin: 28px -20px -20px; border-radius: 28px 28px 0 0; }
  .hero-editorial::after { background: linear-gradient(180deg, rgba(23,43,58,.08), rgba(23,43,58,.22)); }
  .growth-table { border: 0; overflow: visible; background: transparent; }
  .growth-table .growth-table-head { display: none; }
  .growth-table article { display: block; margin-bottom: 18px; border: 1px solid var(--aptus-line); border-radius: 14px; overflow: hidden; }
  .growth-cell { display: grid; grid-template-columns: minmax(112px, 34%) 1fr; gap: 14px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--aptus-line); }
  .growth-cell:last-child { border-bottom: 0; }
  .growth-cell::before { content: attr(data-label); color: var(--aptus-blue-dark); font-size: .78rem; font-weight: 800; }
  .growth-cell-title { display: grid; grid-template-columns: minmax(112px, 34%) 1fr; }
  .growth-cell-title .growth-index { display: none; }
}

@media print {
  .diagnostic-toolbar, .diagnostic-result-actions, .site-header, footer { display: none !important; }
  .diagnostic-result-stage { max-width: none !important; padding: 0 !important; }
  .diagnostic-result-grid { break-inside: avoid; }
  .diagnostic-priority-section article { break-inside: avoid; }
  .diagnostic-result-stage::before {
    content: ""; display: block; width: 320px; height: 82px; margin: 0 0 24px;
    background: url("/brand/aptus-claim.png") left center / contain no-repeat;
  }
}
