:root {
  --navy-900: #0f1e33;
  --navy-800: #132845;
  --slate-700: #334155;
  --slate-600: #475569;
  --slate-200: #e2e8f0;
  --slate-100: #f1f5f9;
  --white: #ffffff;
  --accent: #1d4f91;
  --accent-hover: #163f74;
  --max-width: 1100px;
  --radius: 10px;
  --shadow: 0 8px 20px rgba(15, 30, 51, 0.08);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
  font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--navy-900);
  background: var(--white);
  line-height: 1.6;
}

a { color: var(--accent); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #9ec5f8;
  outline-offset: 2px;
}

.container {
  width: min(var(--max-width), calc(100% - 2rem));
  margin-inline: auto;
}

.site-header {
  background: var(--navy-900);
  color: var(--white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.nav-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 70px;
  gap: 1.2rem;
}

.logo { color: var(--white); font-weight: 700; letter-spacing: 0.2px; }
.logo span { color: #b8d5fb; }

.site-nav ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 1.2rem;
}

.site-nav a { color: var(--white); font-weight: 500; }
.site-nav a.active { border-bottom: 2px solid #b8d5fb; padding-bottom: 2px; }

.hero {
  background: linear-gradient(135deg, var(--navy-900), var(--navy-800));
  color: var(--white);
  padding: 5rem 0 4.2rem;
}

.hero h1 {
  font-size: clamp(2rem, 4.2vw, 3.2rem);
  line-height: 1.15;
  margin: 0 0 1rem;
  max-width: 18ch;
}

.hero p {
  font-size: 1.05rem;
  max-width: 66ch;
  margin: 0 0 1.8rem;
  color: #dbeafe;
}

.button-group { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.button {
  display: inline-block;
  border-radius: 999px;
  padding: 0.65rem 1.15rem;
  border: 1px solid transparent;
  font-weight: 600;
}
.button-primary { background: var(--accent); color: var(--white); }
.button-primary:hover, .button-primary:focus { background: var(--accent-hover); text-decoration: none; }
.button-secondary { background: transparent; border-color: #c1dafb; color: #e0edff; }
.button-secondary:hover, .button-secondary:focus { background: rgba(255,255,255,0.08); text-decoration: none; }

.button-dark-outline {
  background: transparent;
  border-color: var(--accent);
  color: var(--accent);
}
.button-dark-outline:hover,
.button-dark-outline:focus {
  background: #eaf2fc;
  text-decoration: none;
}

.trust-row,
.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.pill {
  display: inline-block;
  border: 1px solid #c7ddf8;
  background: #f3f8ff;
  color: var(--navy-800);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.92rem;
  font-weight: 600;
}

.hero .pill {
  background: rgba(255,255,255,0.1);
  color: #e8f1ff;
  border-color: rgba(215, 231, 255, 0.5);
}

.service-category {
  border-top: 1px solid var(--slate-200);
  padding-top: 2rem;
}

.service-extras {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}

.section-actions {
  margin-top: 1rem;
}

main { padding: 3rem 0 3.5rem; }
.section { margin-bottom: 3rem; }
.section h2 { line-height: 1.2; margin-bottom: 0.9rem; font-size: clamp(1.5rem, 2.8vw, 2rem); }
.section-intro { color: var(--slate-700); max-width: 72ch; }

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

.card-grid-tools {
  grid-template-columns: minmax(0, 420px);
}

.card {
  border: 1px solid var(--slate-200);
  background: var(--white);
  border-radius: var(--radius);
  padding: 1.15rem;
  box-shadow: var(--shadow);
}
.card h3 { margin-top: 0; font-size: 1.12rem; }

.feature-list, .deliverable-list, .inputs-list { margin: 0; padding-left: 1.1rem; }

.deliverables {
  background: var(--slate-100);
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  padding: 1.2rem;
}

.subpage-hero {
  background: #f8fbff;
  border-bottom: 1px solid var(--slate-200);
  padding: 2.2rem 0;
}
.subpage-hero h1 { margin: 0 0 0.7rem; }

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

.step {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: var(--white);
  padding: 1rem;
}

.step-number {
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 999px;
  background: #dbeafe;
  color: var(--navy-900);
  text-align: center;
  font-weight: 700;
  line-height: 1.8rem;
  margin-bottom: 0.6rem;
}

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

.price-card {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  padding: 1rem;
  background: #f8fbff;
}

.price-range {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--navy-800);
  margin: 0.2rem 0 0.6rem;
}

.cta-panel {
  background: var(--navy-900);
  color: var(--white);
  border-radius: var(--radius);
  padding: 1.3rem;
}
.cta-panel p { color: #dbeafe; }

.table-wrap {
  overflow-x: auto;
}

.certifications-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
}

.certifications-table th,
.certifications-table td {
  padding: 0.65rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--slate-200);
}

.certifications-table th {
  background: #f8fbff;
  color: var(--navy-800);
}

.certifications-table tbody tr:nth-child(even) {
  background: var(--slate-100);
}

.certifications-table tbody tr:last-child td {
  border-bottom: 0;
}

.site-footer {
  background: #09121f;
  color: #d0d9e6;
  padding: 1.4rem 0;
  font-size: 0.95rem;
}
.site-footer p { margin: 0.4rem 0; }
.small-note { color: #9fb0c8; }

@media (max-width: 900px) {
  .card-grid, .steps-grid, .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-extras { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .nav-wrap {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.8rem 0;
  }

  .site-nav ul { flex-wrap: wrap; row-gap: 0.6rem; }
  .hero { padding-top: 4.5rem; }

  .card-grid, .steps-grid, .pricing-grid { grid-template-columns: 1fr; }
}

/* Timeline Builder page styles */
.timeline-form {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  padding: 1rem;
  background: #f8fbff;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.timeline-form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-weight: 600;
  color: var(--navy-800);
}

.timeline-form input,
.timeline-form select,
.timeline-form textarea {
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0.62rem 0.7rem;
  font: inherit;
  color: var(--navy-900);
  background: var(--white);
}

.timeline-form textarea {
  resize: vertical;
  min-height: 180px;
}

.checkbox-row {
  margin: 0.9rem 0;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500 !important;
}

.form-actions { margin-top: 1rem; }


.demo-mode {
  margin-bottom: 1rem;
}

.demo-mode p {
  margin: 0 0 0.55rem;
  color: var(--navy-800);
  font-weight: 600;
}

.purchase-trust {
  margin: 0.6rem 0 0;
  color: var(--slate-600);
  font-size: 0.92rem;
}

.sample-report ul,
.lawyer-value-box ul {
  margin: 0.5rem 0 0;
  padding-left: 1.2rem;
}

.sample-report p {
  margin: 0.55rem 0;
}

.lawyer-value-box {
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  border-radius: var(--radius);
  padding: 1rem;
}

.lawyer-value-box h2 {
  margin-top: 0;
}

.form-feedback { min-height: 1.5rem; color: var(--slate-700); }

.button:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.button-analyze {
  min-width: 220px;
  font-weight: 700;
}

.loading-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.75rem 0 0;
  color: var(--navy-800);
  font-weight: 600;
}

.spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid #bfdbfe;
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.report-actions {
  margin-top: 0.85rem;
}

.report-text {
  white-space: normal;
  line-height: 1.65;
  color: var(--slate-800);
}

.result-panel {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  padding: 1rem;
  background: var(--white);
}

.result-panel h3 {
  margin-bottom: 0.45rem;
  color: var(--navy-800);
}

.source-note {
  color: var(--slate-600);
  font-size: 0.9rem;
}

@media (max-width: 700px) {
  .form-grid { grid-template-columns: 1fr; }
}

/* Toolkit structure */
.breadcrumb {
  font-size: 0.92rem;
  color: var(--slate-600);
  margin: 0 0 0.75rem;
}

.toolkit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tool-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.featured-tool-card {
  padding: 1.5rem;
  border: 1px solid #bfdbfe;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.featured-tool-card h2 {
  margin-bottom: 0.3rem;
}

.tool-benefits {
  margin: 0.35rem 0 0.25rem;
  padding-left: 1.15rem;
}

.tool-benefits li {
  margin-bottom: 0.32rem;
}

.premium-placeholder-card {
  border: 1px solid #dbe4f0;
  background: #fbfdff;
}

.tool-status {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #14532d;
}

.tool-status.soon {
  color: #9a3412;
}

.disclaimer-panel {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: var(--slate-100);
  padding: 1rem 1.1rem;
}

.disclaimer-panel p {
  margin: 0;
  color: var(--slate-700);
}


.toolkit-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1.1rem 0 1.8rem;
}

.toolkit-subnav a {
  border: 1px solid var(--slate-200);
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
  color: var(--navy-800);
  font-weight: 600;
  text-decoration: none;
  background: var(--white);
}

.toolkit-subnav a.active {
  background: #dbeafe;
  border-color: #bfdbfe;
}

.tool-context {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: #f8fbff;
  padding: 1rem 1.1rem;
}

.tool-context p {
  margin: 0;
  color: var(--slate-700);
}

.tool-card-actions {
  margin-top: auto;
  padding-top: 0.2rem;
}

.tool-transition-note {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  color: var(--slate-600);
}

.toolkit-final-cta {
  background: #f8fbff;
  color: var(--navy-800);
  border: 1px solid #dbe4f0;
}

.toolkit-final-cta p {
  color: var(--slate-700);
}


.tool-positioning {
  margin: 0.2rem 0 0;
  font-weight: 600;
  color: var(--slate-700);
}

.tool-availability {
  margin: 0.1rem 0 0;
  font-size: 0.9rem;
  color: var(--slate-600);
}

.tool-card .button-secondary {
  color: var(--accent);
  border-color: var(--slate-200);
  background: var(--slate-100);
}

.tool-card .button-secondary[aria-disabled="true"] {
  opacity: 0.75;
  pointer-events: none;
}


.related-links {
  margin: 0.65rem 0 0;
  font-size: 0.95rem;
  color: var(--slate-700);
}


.service-bridge {
  margin: 0.15rem 0 0;
}

.service-bridge-label {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--slate-700);
}

.service-link-list {
  margin: 0.35rem 0 0;
  padding-left: 1rem;
}

.service-link-list li {
  margin-bottom: 0.2rem;
}

.service-bridge-on-dark .service-bridge-label,
.service-bridge-on-dark .service-link-list {
  color: #dbeafe;
}

.anchor-offset {
  display: block;
  position: relative;
  top: -90px;
  visibility: hidden;
}

.card[id] {
  scroll-margin-top: 90px;
}

.related-services-cta a {
  color: #dbeafe;
  text-decoration: underline;
}

@media (max-width: 700px) {
  .toolkit-grid {
    grid-template-columns: 1fr;
  }

  .featured-tool-card {
    padding: 1.2rem;
  }
}

.storyboard-panel {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: #f8fbff;
  padding: 1rem;
  margin-bottom: 1.25rem;
}

.storyboard-phase + .storyboard-phase {
  margin-top: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--slate-200);
}

.storyboard-phase h3 {
  margin: 0 0 0.4rem;
  font-size: 1.02rem;
  color: var(--navy-800);
}

.storyboard-phase ul {
  margin: 0;
  padding-left: 1.1rem;
}

#forensicTimeline {
  min-height: 260px;
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: var(--white);
  padding: 0.5rem;
}

.eyebrow {
  margin: 0 0 0.65rem;
  color: var(--accent);
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section-heading {
  margin-bottom: 1.25rem;
}

.about-hero {
  background: linear-gradient(180deg, #f8fbff 0%, #eef5fd 100%);
  padding: 3.2rem 0 2.8rem;
}

.about-hero .hero-copy {
  max-width: 800px;
}

.company-overview {
  margin-top: 0.5rem;
}

.overview-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.overview-copy p {
  margin-top: 0;
  margin-bottom: 1rem;
  color: var(--slate-700);
}

.overview-panel {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: #f8fbff;
  padding: 1.15rem;
  box-shadow: var(--shadow);
}

.overview-panel h3 {
  margin-top: 0;
  margin-bottom: 0.8rem;
}

.certifications-section {
  border-top: 1px solid var(--slate-200);
  padding-top: 3rem;
}

.certifications-group-heading {
  margin-bottom: 1rem;
}

.certifications-group-heading h3 {
  margin-bottom: 0.35rem;
}

.certifications-group-heading p {
  margin: 0;
  color: var(--slate-700);
}

.certifications-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.certifications-list li {
  margin: 0;
  padding: 0.9rem 1.05rem;
  border-radius: var(--radius);
  line-height: 1.6;
}

.certifications-list-active li {
  border: 1px solid #c9d9ef;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: var(--shadow);
}

.certifications-list-legacy li {
  border: 1px solid var(--slate-200);
  background: var(--slate-100);
}

.certification-line {
  color: var(--navy-800);
  font-size: 1rem;
}

.certification-line strong {
  color: var(--navy-900);
}

.certification-desc {
  color: var(--slate-700);
}

.certifications-accordion {
  margin-top: 1.25rem;
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: var(--white);
  overflow: hidden;
}

.certifications-accordion summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.05rem;
  background: #fbfcfe;
}

.certifications-accordion summary::-webkit-details-marker {
  display: none;
}

.certifications-accordion summary:focus-visible {
  outline: 3px solid #b8d5fb;
  outline-offset: -3px;
}

.accordion-helper {
  display: block;
  margin-top: 0.2rem;
  color: var(--slate-600);
  font-size: 0.94rem;
  font-weight: 400;
}

.accordion-indicator {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  margin-right: 0.15rem;
}

.certifications-accordion[open] .accordion-indicator {
  transform: rotate(-135deg);
}

.certifications-group-legacy {
  border-top: 1px solid var(--slate-200);
  padding: 1rem 1.05rem 1.05rem;
}

.about-cta {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .overview-layout {
    grid-template-columns: 1fr;
  }

  .certifications-list li {
    padding: 0.85rem 0.95rem;
  }
}


/* Evidence Timeline Builder MVP */
.timeline-hero {
  background: linear-gradient(180deg, #f8fbff 0%, #eef5fd 100%);
  padding: 3.2rem 0 2.6rem;
}

.timeline-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.hero-support-copy,
.hero-trust-note,
.card-subtitle,
.analysis-summary,
.timeline-meta-note {
  color: var(--slate-700);
}

.hero-trust-card,
.section-card,
.notice-banner,
.status-banner,
.output-card,
.summary-output-card,
.section-card-muted {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
}

.section-card {
  padding: 1.15rem;
  margin-bottom: 1.25rem;
}

.section-card-muted {
  background: #f8fbff;
}

.trust-badge {
  margin: 0 0 0.8rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--accent);
}

.trust-list,
.analysis-list,
.ordered-guidance-list {
  margin: 0;
  padding-left: 1.1rem;
}

.trust-list li,
.analysis-list li,
.ordered-guidance-list li {
  margin-bottom: 0.4rem;
}

.trust-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}

.muted-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.32rem 0.7rem;
  background: #eef4fb;
  border: 1px solid #d6e4f5;
  color: var(--navy-800);
  font-size: 0.88rem;
  font-weight: 600;
}

.timeline-workspace {
  padding: 2rem 0 0;
}

.info-card-grid,
.sample-output-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.card-heading-row,
.results-header-row,
.section-card-header,
.report-meta-grid {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.section-card-header {
  margin-bottom: 0.8rem;
}

.report-meta-grid {
  flex-wrap: wrap;
}

.notice-banner,
.status-banner {
  padding: 1rem 1.1rem;
}

.info-banner {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.warning-banner {
  border-color: #fcd34d;
  background: #fffbeb;
}

.error-banner {
  border-color: #fecaca;
  background: #fef2f2;
}

.what-matters-form textarea,
.what-matters-form input,
.what-matters-form select {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0.62rem 0.7rem;
  font: inherit;
  color: var(--navy-900);
  background: var(--white);
}

.what-matters-form textarea {
  resize: vertical;
  min-height: 190px;
}

.compact-textarea {
  min-height: 120px !important;
}

.drop-zone {
  display: grid;
  gap: 0.2rem;
  border: 1px dashed #93b4da;
  border-radius: var(--radius);
  background: #f8fbff;
  padding: 1rem;
  margin-top: 0.45rem;
  cursor: pointer;
}

.drop-zone.dragging {
  border-color: var(--accent);
  background: #eff6ff;
}

.export-action-group {
  align-items: center;
}

.compact-list li:last-child,
.analysis-list li:last-child {
  margin-bottom: 0;
}

.timeline-report-meta {
  margin-bottom: 1rem;
}

.evidence-tool-actions,
.hero-actions {
  align-items: center;
}

@media print {
  .site-header,
  .site-footer,
  .toolkit-subnav,
  .hero-actions,
  .evidence-tool-actions,
  .export-action-group,
  #timeline-builder-tool,
  #timeline-sample-output,
  .premium-follow-up-panel {
    display: none !important;
  }

  main,
  .timeline-workspace,
  .container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  .section-card,
  .output-card,
  .timeline-report-meta {
    box-shadow: none;
    page-break-inside: avoid;
  }
}

@media (max-width: 900px) {
  .timeline-hero-layout,
  .info-card-grid,
  .sample-output-grid {
    grid-template-columns: 1fr;
  }
}

.stage-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.6rem;
  padding-left: 0;
}

.stage-list .stage-item {
  list-style: none;
  border: 1px solid #cfd5e3;
  border-radius: 8px;
  padding: 0.55rem 0.7rem;
  background: #f7f9fc;
  font-size: 0.9rem;
}

.stage-list .stage-item.active {
  border-color: #1b4f99;
  background: #eaf2ff;
  font-weight: 600;
}

.stage-list .stage-item.terminal {
  border-width: 2px;
}

.top-finding-card { display:flex; gap:1rem; align-items:flex-start; border:1px solid #dbe3ee; border-radius:12px; padding:1rem; background:#fff; margin:.75rem 0; }
.top-finding-number { min-width:2rem; height:2rem; border-radius:999px; background:#0f2a4a; color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.top-finding-content h4 { margin:.1rem 0 .25rem; font-size:1.05rem; color:#0f172a; }
.muted-label { color:#64748b; text-transform:uppercase; letter-spacing:.03em; font-size:.72rem; margin:.2rem 0; }
.finding-tag { margin-left:auto; align-self:flex-start; background:#e2e8f0; color:#0f172a; border-radius:999px; padding:.25rem .6rem; font-size:.75rem; font-weight:600; white-space:nowrap; }

/* Executive Timeline Review Tools */
.executive-tool-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.comparison-table th,
.comparison-table td {
  vertical-align: top;
}

.review-intake-form {
  display: grid;
  gap: 1rem;
}

.review-intake-form input,
.review-intake-form select,
.review-intake-form textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0.62rem 0.7rem;
  font: inherit;
  color: var(--navy-900);
  background: var(--white);
}

.review-intake-form textarea {
  resize: vertical;
  min-height: 120px;
}

@media (max-width: 900px) {
  .executive-tool-grid {
    grid-template-columns: 1fr;
  }
}

/* Timeline tools optimization */
.button {
  min-height: 44px;
  padding: 0.72rem 1.25rem;
}

.section-actions {
  margin-top: 1rem;
}

.trust-strip {
  border-bottom: 1px solid var(--slate-200);
  background: #ffffff;
}

.trust-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  padding: 0.9rem 0;
}

.trust-strip-grid p {
  margin: 0;
  border: 1px solid var(--slate-200);
  border-radius: 999px;
  background: #f8fbff;
  padding: 0.45rem 0.75rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--navy-800);
  text-align: center;
}

.sample-output-card {
  border: 1px solid #d5deea;
  background: #f9fbff;
  border-radius: var(--radius);
  padding: 1.1rem;
  box-shadow: var(--shadow);
}

.sample-output-card h3 {
  margin-bottom: 0.4rem;
}

.sample-output-card p,
.sample-output-card li {
  color: var(--slate-700);
}

.sample-output-card ol,
.sample-output-card ul {
  padding-left: 1.2rem;
}

.recommended-badge {
  display: inline-block;
  margin-top: 0.8rem;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a;
  border-radius: 999px;
  padding: 0.28rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.progress-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.progress-steps p {
  margin: 0;
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  padding: 0.6rem 0.75rem;
  background: #f8fbff;
}

.input-help {
  margin-top: 0.3rem;
  color: var(--slate-600);
  font-size: 0.9rem;
  font-weight: 500;
}

.secure-intake-note h2 {
  margin: 0 0 0.55rem;
  font-size: 1.15rem;
}

@media (max-width: 900px) {
  .trust-strip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .trust-strip-grid,
  .progress-steps {
    grid-template-columns: 1fr;
  }
}

/* Timeline workbench */
.workbench-shell { display: grid; gap: 12px; }
.upload-dropzone {
  border: 2px dashed #2a4f7b;
  border-radius: 12px;
  padding: 24px;
  background: #f8fbff;
  text-align: center;
}
.upload-dropzone.dragging { background: #ecf5ff; border-color: #174172; }
.upload-dropzone input[type='file'] { margin-top: 10px; }
.pipeline-list { list-style: none; display: grid; gap: 10px; padding: 0; margin: 0; }
.pipeline-step {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #d8e1ec;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}
.pipeline-step.completed { border-color: #197a45; background: #f0fff6; }
.pipeline-step.in-progress { border-color: #1f5ea8; background: #eff6ff; }
.pipeline-step.warning { border-color: #c77700; background: #fff8ea; }
.pipeline-step.failed { border-color: #b42318; background: #fff1f1; }
.metrics-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; }
.metric-card { border: 1px solid #d8e1ec; border-radius: 10px; padding: 12px; background: #fff; }
.metric-card h3 { font-size: 0.95rem; margin-bottom: 5px; }
.metric-card p { margin: 0; font-weight: 700; color: #14395f; }
.two-col-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 12px; }
.status-panel { border: 1px solid #d8e1ec; border-radius: 10px; background: #fff; padding: 12px; }
.status-banner.success-banner { background: #eefbf2; color: #14532d; border: 1px solid #b9e5c8; }
.scanner-scenario-banner { margin: 1rem 0 0.75rem; }
.toolbar-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; margin-bottom: 12px; }
.text-button {
  border: none;
  background: none;
  color: #1f5ea8;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
  padding: 0;
}
.table-wrap { overflow-x: auto; }

/* Timeline Reconstruction Tool page */
.timeline-tool-main {
  background: #fbfcff;
  padding: 0 0 4rem;
}

.timeline-hero {
  padding: 5rem 0;
}

.timeline-hero-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.eyebrow {
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  color: #5b6473;
  margin: 0 0 0.9rem;
  font-weight: 700;
}

.timeline-hero-inner h1 {
  margin: 0 0 0.9rem;
  font-size: clamp(2rem, 4.4vw, 3.1rem);
  line-height: 1.15;
}

.hero-subhead {
  margin: 0 auto;
  max-width: 68ch;
  color: #3f4a5f;
}

.hero-points {
  list-style: none;
  margin: 1.1rem auto 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
  max-width: 360px;
  text-align: left;
}

.hero-points li::before {
  content: "✓ ";
  color: #1a3cff;
  font-weight: 700;
}

.hero-actions {
  margin-top: 1.35rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

.timeline-primary-btn {
  background: #1a3cff;
  color: #fff;
  border-radius: 10px;
  border: 1px solid #1a3cff;
  padding: 0.85rem 1.35rem;
}

.timeline-primary-btn:hover,
.timeline-primary-btn:focus {
  background: #102ce0;
  text-decoration: none;
}

.hero-link {
  border: 0;
  background: transparent;
  color: #1a3cff;
  font-weight: 600;
  cursor: pointer;
}

.hero-trust {
  color: #5b6473;
  font-size: 0.95rem;
  margin-top: 0.85rem;
}

.timeline-section {
  margin-top: 3.4rem;
}

.upload-card,
.processing-panel,
.panel,
.error-state {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(2, 6, 23, 0.04);
  padding: 1.5rem;
}

.upload-card {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
}

.drop-zone {
  position: relative;
  border: 2px dashed #cbd5e1;
  border-radius: 10px;
  background: #f8faff;
  padding: 2rem 1rem;
  text-align: center;
  cursor: pointer;
}

.drop-zone.drag-over {
  border-color: #1a3cff;
  background: #eef2ff;
}

.drop-icon {
  font-size: 2rem;
  color: #1a3cff;
}

.drop-title {
  margin: 0.5rem 0 0.1rem;
  font-weight: 700;
}

.drop-subtitle,
.drop-support {
  margin: 0;
  color: #586174;
}

.drop-support {
  font-size: 0.9rem;
  margin-top: 0.55rem;
}

.drop-zone input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.file-feedback {
  margin-top: 1.1rem;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0.95rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.feedback-label {
  margin: 0;
  font-size: 0.82rem;
  color: #586174;
  font-weight: 600;
}

.file-feedback p {
  margin: 0.2rem 0 0;
}

.status-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 0.22rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 700;
}

.status-idle { background: #eef2ff; color: #3a4b7a; }
.status-active { background: #dbeafe; color: #1e3a8a; }
.status-done { background: #dcfce7; color: #166534; }
.status-validating { background: #fef9c3; color: #854d0e; }
.status-ready { background: #dcfce7; color: #166534; }
.status-warning { background: #fef3c7; color: #92400e; }
.status-error { background: #fee2e2; color: #b91c1c; }

.inline-error {
  margin-top: 0.85rem;
  color: #b91c1c;
  font-weight: 600;
}

.processing-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.processing-item {
  display: grid;
  grid-template-columns: 1.3rem 1fr;
  gap: 0.75rem;
  align-items: start;
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}

.stage-label {
  margin: 0;
  font-weight: 700;
}

.stage-detail {
  margin: 0.1rem 0 0;
  color: #5b6473;
}

.processing-item.done { border-color: #bbf7d0; background: #f0fdf4; }
.processing-item.active { border-color: #bfdbfe; background: #eff6ff; }
.processing-item.error { border-color: #fecaca; background: #fef2f2; }

.results-stack {
  display: grid;
  gap: 2rem;
}

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

.result-card {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 1rem;
  background: #fff;
}

.result-card h3 {
  margin: 0;
  color: #475569;
  font-size: 0.95rem;
}

.result-card p {
  margin: 0.45rem 0 0;
  font-size: 1rem;
  color: #0f172a;
  font-weight: 600;
}

.metric-card {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 1.1rem;
  background: #fff;
}

.metric-label {
  margin: 0;
  color: #586174;
  font-weight: 600;
}

.metric-value {
  margin: 0.4rem 0 0.2rem;
  font-size: 1.75rem;
  font-weight: 800;
  color: #111;
}

.metric-note {
  margin: 0.15rem 0;
  color: #374151;
}

.insight-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.55rem;
}

.warning-item { color: #92400e; }
.critical-item { color: #b91c1c; font-weight: 600; }

.table-controls {
  display: grid;
  grid-template-columns: 2fr repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.table-controls label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.9rem;
  font-weight: 600;
}

.table-controls input,
.table-controls select {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 0.55rem;
  font: inherit;
}

.timeline-table-wrap {
  margin-top: 0.95rem;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: auto;
  max-height: 520px;
}

.timeline-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 740px;
}

.timeline-table th,
.timeline-table td {
  text-align: left;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid #f1f5f9;
}

.timeline-table th {
  position: sticky;
  top: 0;
  background: #f8faff;
  z-index: 1;
}

#loadMoreBtn {
  margin-top: 0.95rem;
}

.error-state h2 {
  margin-top: 0;
}

.export-buttons button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.contextual-upsell {
  border-left: 4px solid #1a3cff;
  background: #f8faff;
}

.large-status-banner {
  border-left: 4px solid #d97706;
  background: #fffbeb;
}

.large-status-banner p {
  margin: 0.35rem 0;
}

.metadata-line {
  font-size: 0.9rem;
  color: #475569;
}

.structure-analysis {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.9rem;
  margin-bottom: 0.9rem;
}

.structure-analysis p {
  margin: 0.25rem 0;
}

.field-highlight {
  background: #fff7ed !important;
}

.field-badge {
  display: inline-block;
  font-size: 0.72rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #1e3a8a;
  border: 1px solid #bfdbfe;
  padding: 0.1rem 0.4rem;
  margin-right: 0.2rem;
}

.upsell-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #334155;
  font-weight: 700;
}

.contextual-upsell h3 {
  margin: 0 0 0.45rem;
  font-size: 1.22rem;
}

.contextual-upsell p {
  margin: 0 0 0.9rem;
  color: #334155;
}

.premium-offers .section-note {
  margin: 0;
  color: #475569;
}

.offer-grid {
  margin-top: 1.1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.offer-card {
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  padding: 1rem;
  background: #fff;
}

.offer-card h3 {
  margin-top: 0;
}

.offer-card .button {
  margin-top: 0.7rem;
}

.stack-on-mobile {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.trust-note {
  margin-top: 1rem;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.9rem 1rem;
}

.trust-note p {
  margin: 0;
}

.trust-note p + p {
  margin-top: 0.45rem;
}

.complex-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.complex-grid article {
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.85rem;
}

.complex-grid h3 {
  margin: 0 0 0.4rem;
  font-size: 1.02rem;
}

.complex-grid p {
  margin: 0;
  color: #334155;
}

@media (max-width: 900px) {
  .results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-controls { grid-template-columns: 1fr 1fr; }
  .offer-grid,
  .complex-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .timeline-hero { padding: 3.5rem 0; }
  .upload-card,
  .processing-panel,
  .panel,
  .error-state { padding: 1rem; }
  .file-feedback,
  .results-grid,
  .table-controls { grid-template-columns: 1fr; }
  .hero-actions,
  .button-group.export-buttons {
    align-items: stretch;
  }
  .hero-actions .button,
  .button-group.export-buttons .button,
  #loadMoreBtn {
    width: 100%;
    text-align: center;
  }
  .stack-on-mobile {
    flex-direction: column;
  }
  .stack-on-mobile .button {
    width: 100%;
    text-align: center;
  }
}

.limit-exceeded-state {
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  background: #ffffff;
}

.limit-banner {
  border: 1px solid #e8d9bf;
  background: #fffaf0;
}

.section-divider {
  border-top: 1px solid #e2e8f0;
  margin: 1.4rem 0;
}

.limit-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.limit-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.limit-helper-list {
  margin-bottom: 1rem;
}

.limit-exceeded-links {
  margin-top: 0.85rem;
  font-size: 0.94rem;
}

.status-note.warning {
  color: #92400e;
}

@media (max-width: 900px) {
  .limit-summary-grid,
  .limit-card-grid {
    grid-template-columns: 1fr;
  }
  .limit-exceeded-state .button-group .button {
    width: 100%;
    text-align: center;
  }
}

/* Super Timeline Reconstruction landing page */
.str-page {
  padding: 0 0 3.5rem;
}

.str-wrap {
  max-width: 840px;
}

.str-hero {
  padding: 4.5rem 0 3.2rem;
  background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
  border-bottom: 1px solid var(--slate-200);
}

.str-eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--slate-600);
}

.str-hero h1 {
  margin: 0 0 1rem;
  line-height: 1.15;
  font-size: clamp(2rem, 4vw, 3rem);
  max-width: 24ch;
}

.str-lead {
  margin: 0 0 1.35rem;
  color: var(--slate-700);
  max-width: 72ch;
}

.str-trust {
  margin: 1rem 0 0;
  color: var(--slate-600);
  font-size: 0.95rem;
}

.str-secondary {
  background: #fff;
  border-color: #cbd5e1;
  color: var(--navy-800);
}

.str-secondary-dark {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
}

.str-secondary-dark:hover,
.str-secondary-dark:focus,
.str-secondary:hover,
.str-secondary:focus {
  text-decoration: none;
  background: #f8fbff;
}

.str-strip {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--slate-200);
}

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

.str-mini-card {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: #fff;
  padding: 1rem;
}

.str-mini-card h2 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
}

.str-mini-card p {
  margin: 0;
  color: var(--slate-700);
}

.str-muted {
  background: #fbfcfe;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
  padding: 2.6rem 0;
}

.str-four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.str-deliverables {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.str-pricing {
  padding: 2.8rem 0;
}

.str-price-card {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: #fff;
  padding: 1.2rem;
  box-shadow: var(--shadow);
}

.str-price {
  margin: 0;
  font-size: 2.2rem;
  line-height: 1;
  color: var(--navy-800);
  font-weight: 700;
}

.str-price-sub {
  margin-top: 0.4rem;
  color: var(--slate-600);
}

.str-note {
  margin-top: 0.9rem;
}

.str-faq {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.str-final-cta h2 {
  margin-top: 0;
}

@media (max-width: 900px) {
  .str-three,
  .str-four,
  .str-deliverables {
    grid-template-columns: 1fr;
  }
}

/* Timeline Intelligence positioning */
.hero-intelligence {
  position: relative;
  overflow: hidden;
}

.hero-intelligence::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(184, 213, 251, 0.18), transparent 28%),
    linear-gradient(90deg, transparent 0, transparent 66%, rgba(255,255,255,0.05) 66%, transparent 67%);
  pointer-events: none;
}

.hero-grid,
.split-section {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr);
  gap: 2rem;
  align-items: center;
}

.hero-grid > *,
.hero-intelligence .container > * {
  position: relative;
  z-index: 1;
}

.hero-subheadline {
  font-size: clamp(1.15rem, 2.1vw, 1.45rem) !important;
  font-weight: 650;
}

.eyebrow {
  margin: 0 0 0.45rem;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero .eyebrow,
.cta-panel .eyebrow {
  color: #b8d5fb;
}

.timeline-signal-card,
.highlight-panel,
.notice-panel {
  border: 1px solid rgba(29, 79, 145, 0.18);
  border-radius: var(--radius);
  background: #f8fbff;
  box-shadow: var(--shadow);
  padding: 1.25rem;
}

.timeline-signal-card {
  color: var(--navy-900);
  background: rgba(248, 251, 255, 0.96);
}

.timeline-card-kicker {
  margin: 0 0 0.9rem;
  color: var(--navy-800) !important;
  font-weight: 800;
}

.signal-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.signal-list li {
  position: relative;
  padding: 0 0 1rem 2.15rem;
  color: var(--slate-700);
}

.signal-list li::before {
  content: "";
  position: absolute;
  left: 0.45rem;
  top: 0.35rem;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 5px #dbeafe;
}

.signal-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0.77rem;
  top: 1.1rem;
  bottom: 0.1rem;
  width: 2px;
  background: #bfdbfe;
}

.signal-list span {
  display: block;
  font-weight: 700;
  color: var(--navy-800);
}

.issue-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.issue-card {
  border-top: 4px solid var(--accent);
}

.check-list li {
  margin-bottom: 0.35rem;
}

.check-list li::marker {
  color: var(--accent);
}

.legal-timeline-hero {
  background: linear-gradient(135deg, #f8fbff, #eef6ff);
}

.notice-panel h2,
.highlight-panel h3,
.deliverables h3 {
  margin-top: 0;
}

.notice-panel {
  border-left: 4px solid var(--accent);
}

.four-step-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.faq-list {
  display: grid;
  gap: 0.75rem;
}

.faq-list details {
  border: 1px solid var(--slate-200);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
  padding: 1rem;
}

.faq-list summary {
  cursor: pointer;
  color: var(--navy-800);
  font-weight: 750;
}

.faq-list p {
  margin-bottom: 0;
  color: var(--slate-700);
}

@media (max-width: 900px) {
  .issue-grid,
  .four-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-grid,
  .split-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .issue-grid,
  .four-step-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage redesign */
.home-hero {
  padding: 5.5rem 0 4.8rem;
}

.home-hero-inner {
  max-width: 820px;
}

.home-hero h1 {
  max-width: 15ch;
  font-size: clamp(2.35rem, 5vw, 4rem);
}

.home-hero .hero-subheadline {
  max-width: 760px;
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  color: #e8f1ff;
}

.hero-actions {
  margin-top: 1.8rem;
}

.trust-line {
  margin: 1rem 0 0;
  font-size: 0.96rem;
  color: #bcd4f4;
}

.homepage-main {
  padding-top: 3.7rem;
}

.home-section {
  margin-bottom: 4rem;
}

.section-heading {
  max-width: 720px;
  margin-bottom: 1.25rem;
}

.section-heading h2 {
  margin-top: 0;
}

.eyebrow {
  margin: 0 0 0.45rem;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero .eyebrow,
.service-preview-card-dark .eyebrow,
.cta-panel .eyebrow {
  color: #b8d5fb;
}

.decision-grid,
.compact-card-grid,
.toolkit-card-grid {
  display: grid;
  gap: 1rem;
}

.decision-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.decision-card,
.question-card,
.tool-card-simple,
.process-step,
.service-preview-card {
  box-shadow: none;
}

.decision-card {
  padding: 1.35rem;
}

.decision-card p,
.question-card p,
.tool-card-simple p,
.process-step p,
.service-preview-card p {
  color: var(--slate-700);
}

.text-link {
  display: inline-flex;
  align-items: center;
  margin-top: 0.35rem;
  font-weight: 700;
}

.text-link::after {
  content: "→";
  margin-left: 0.35rem;
}

.timeline-review-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
  padding: 1.6rem;
  border: 1px solid #bfdbfe;
  border-radius: calc(var(--radius) + 6px);
  background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}

.timeline-review-strip h2,
.timeline-review-strip p {
  margin-top: 0;
}

.timeline-review-copy p {
  max-width: 780px;
  color: var(--slate-700);
}

.compact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding: 0;
  margin: 1rem 0 0;
  list-style: none;
}

.compact-list li {
  border: 1px solid #c7ddf8;
  border-radius: 999px;
  background: var(--white);
  padding: 0.35rem 0.7rem;
  font-weight: 700;
  color: var(--navy-800);
}

.timeline-review-action {
  min-width: 230px;
}

.timeline-review-action .small-note {
  margin-top: 0.75rem;
  color: var(--slate-600);
}

.compact-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.question-card {
  padding: 1rem;
}

.question-card h3 {
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.question-card p {
  margin: 0;
  font-size: 0.95rem;
}

.process-grid .process-step {
  background: #fbfdff;
}

.service-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.service-preview-card {
  padding: 1.55rem;
}

.service-preview-card h3 {
  font-size: 1.35rem;
}

.service-preview-card .button {
  margin-top: 0.45rem;
}

.service-preview-card-dark {
  background: var(--navy-900);
  color: var(--white);
  border-color: var(--navy-900);
}

.service-preview-card-dark p {
  color: #dbeafe;
}

.credibility-section,
.toolkit-section {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 2rem;
  align-items: start;
  padding: 1.5rem;
  border: 1px solid var(--slate-200);
  border-radius: calc(var(--radius) + 4px);
  background: #fbfdff;
}

.credibility-list {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding-left: 1.2rem;
  color: var(--slate-700);
}

.toolkit-copy p {
  color: var(--slate-700);
}

.toolkit-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tool-card-simple {
  background: var(--white);
}

.final-home-cta {
  margin-bottom: 0;
  padding: 1.6rem;
}

.footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: flex-start;
}

.footer-brand {
  margin: 0 0 0.45rem;
  color: var(--white);
  font-weight: 800;
}

.footer-links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer-links a {
  color: #dbeafe;
  font-weight: 600;
}

@media (max-width: 900px) {
  .decision-grid,
  .compact-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline-review-strip,
  .credibility-section,
  .toolkit-section {
    grid-template-columns: 1fr;
  }

  .timeline-review-action {
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .home-hero {
    padding: 4rem 0 3.5rem;
  }

  .home-hero h1 {
    max-width: 100%;
  }

  .decision-grid,
  .compact-card-grid,
  .service-preview-grid,
  .toolkit-card-grid {
    grid-template-columns: 1fr;
  }

  .timeline-review-strip,
  .credibility-section,
  .toolkit-section,
  .final-home-cta {
    padding: 1.15rem;
  }

  .compact-list {
    display: grid;
  }

  .footer-grid {
    display: block;
  }

  .footer-links {
    margin-top: 1rem;
  }
}

/* Concise attorney-focused redesign */
.header-cta {
  background: #ffffff;
  color: var(--navy-900);
  border-color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
}

.header-cta:hover,
.header-cta:focus {
  background: #eaf2fc;
  text-decoration: none;
}

.homepage-main {
  padding: 0;
}

.home-hero {
  background: #ffffff;
  color: var(--navy-900);
  padding: 6rem 0 5rem;
  border-bottom: 1px solid var(--slate-200);
}

.home-hero h1 {
  max-width: 14ch;
}

.home-hero p {
  color: var(--slate-700);
}

.home-hero .hero-subheadline {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  max-width: 48ch;
}

.home-hero .button-secondary {
  border-color: var(--accent);
  color: var(--accent);
}

.home-hero .button-secondary:hover,
.home-hero .button-secondary:focus {
  background: #eaf2fc;
}

.trust-line {
  margin-top: 1rem;
  font-size: 0.98rem;
}

.home-section,
.primary-offer-section,
.credibility-simple,
.final-home-cta {
  padding: 4rem 0;
  margin-bottom: 0;
}

.home-section + .primary-offer-section,
.primary-offer-section + .home-section,
.home-section + .credibility-simple,
.credibility-simple + .final-home-cta {
  border-top: 1px solid var(--slate-200);
}

.section-heading h2 {
  max-width: 760px;
}

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

.simple-card {
  box-shadow: none;
  padding: 1.35rem;
}

.simple-card p,
.step p,
.primary-offer-panel p,
.final-home-cta p,
.service-disclaimer {
  color: var(--slate-700);
}

.primary-offer-section {
  background: #f8fbff;
}

.primary-offer-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.primary-offer-panel h2,
.primary-offer-panel p {
  max-width: 680px;
}

.primary-offer-action {
  min-width: 230px;
}

.primary-offer-action .small-note {
  margin-top: 0.75rem;
}

.credibility-simple {
  background: #ffffff;
}

.credibility-list {
  max-width: 760px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.final-home-cta {
  background: var(--navy-900);
  color: var(--white);
  text-align: center;
}

.final-home-cta p {
  color: #dbeafe;
  margin-inline: auto;
  max-width: 660px;
}

.subpage-hero-clean h1 {
  max-width: 18ch;
}

.services-simple-section {
  padding-top: 1rem;
}

.services-cta-panel {
  display: grid;
  gap: 0.75rem;
  justify-items: start;
}

.service-disclaimer {
  border-top: 1px solid var(--slate-200);
  font-size: 0.95rem;
  margin: 0;
  padding-top: 1.25rem;
}

@media (max-width: 900px) {
  .primary-offer-panel {
    grid-template-columns: 1fr;
  }

  .simple-card-grid,
  .credibility-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .header-cta {
    width: 100%;
    text-align: center;
  }

  .home-hero,
  .home-section,
  .primary-offer-section,
  .credibility-simple,
  .final-home-cta {
    padding: 3rem 0;
  }
}

/* Minimal attorney-facing homepage and services refinements */
.home-hero h1 {
  max-width: 16ch;
}

.home-hero .hero-subheadline {
  max-width: 58ch;
}

.two-column-section {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 3rem;
  align-items: start;
}

.narrow-heading {
  max-width: 680px;
  margin-bottom: 1.5rem;
}

.section-heading p,
.narrow-heading p {
  color: var(--slate-700);
  margin: 0.35rem 0 0;
  max-width: 62ch;
}

.muted-section {
  background: #f8fbff;
}

.home-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.plain-list {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--slate-700);
}

.plain-list li {
  margin: 0.35rem 0;
}

.two-column-list {
  columns: 2;
  column-gap: 2.5rem;
}

.two-column-list li {
  break-inside: avoid;
  margin-bottom: 0.55rem;
}

.service-group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.service-group-card {
  box-shadow: none;
  padding: 1.35rem;
}

.service-group-card h2 {
  font-size: 1.25rem;
  margin-top: 0;
}

@media (max-width: 1000px) {
  .home-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .two-column-section,
  .service-group-grid,
  .home-service-grid {
    grid-template-columns: 1fr;
  }

  .two-column-list {
    columns: 1;
  }
}
