/*
 * Print styles for both brands.
 *
 * Lived inside global.css until 2026-08-12, where it was 893 of that file's
 * 1,693 lines and 37.4% of the render-blocking stylesheet every page had to
 * download and parse before it could show anything — for rules that only ever
 * apply when someone hits Ctrl+P.
 *
 * Loaded from BaseLayout and MicrositeLayout as:
 *     <link rel="stylesheet" href="/print.css" media="print">
 * which browsers fetch at low priority and never render-block.
 *
 * This is plain CSS on purpose. It contains no @apply and no custom classes, so
 * it needs no Tailwind pass and there is no generated artefact to go stale. The
 * var() references resolve from :root in global.css, which is still loaded on
 * every page.
 *
 * The @media print wrapper is kept even though the link is already
 * media-scoped: it costs nothing, and it means the file behaves correctly if
 * anyone ever imports it without the media attribute.
 */

@media print {
  /* ── Base ── */
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html { font-size: 10.5pt; }

  body {
    background: white !important;
    color: #1e293b !important;
    line-height: 1.55;
    font-family: Inter, system-ui, -apple-system, sans-serif;
  }

  /* ── Hide interactive / web-only elements ── */
  header, footer, #sticky-cta, .no-print,
  .marquee-fade, .gradient-orb,
  button[aria-label="Open menu"],
  [class*="animate-"], .animate-pulse {
    display: none !important;
  }

  /* Hide CTA buttons but keep text links */
  a.btn, button.btn,
  a.btn-pill, a.btn-accent, a.btn-outline-dark,
  button.btn-pill, button.btn-accent {
    display: none !important;
  }

  /* Keep inline text links visible */
  a:not(.btn):not(.btn-pill) {
    display: inline !important;
  }

  /* ── Diagrams ──
     Print in ink on white, and show the semantic fallback table/list instead
     of relying on a figure that may not survive the page break. */
  .diagram {
    --dg-ink: #1e293b;
    --dg-muted: #475569;
    --dg-rule: #cbd5e1;
    --dg-surface: #f8fafc;
    --dg-accent: #1e293b;
    --dg-accent-soft: #e2e8f0;
    break-inside: avoid;
  }

  .diagram-scroll { overflow-x: visible !important; }

  /* Dark-band tone tokens are pastels sized for navy; on paper they vanish.
     Reset them to the ink values so a state chip printed out of a dark section
     is still legible. The glyph and the state name carry the meaning either way. */
  .section-dark, .section-dark-alt {
    --tone-positive: #166534;
    --tone-caution: #92400e;
    --tone-negative: #991b1b;
    --tone-neutral: #334155;
  }

  .diagram-fallback {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }

  [class*="fixed"], [class*="sticky"] {
    position: static !important;
  }

  /* ── Show print elements ── */
  .print-header { display: flex !important; }
  .print-footer { display: flex !important; }

  /* ── Containers: full width ── */
  .container-wide, .container-narrow {
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* ─────────────────────────────────────────
     HERO → Branded cover header
     Full-width navy block, no clipping
     ───────────────────────────────────────── */
  section:first-of-type {
    background: var(--color-navy, #0f172a) !important;
    color: white !important;
    padding: 24pt 20pt !important;
    border-radius: 0 !important;
    margin: 0 0 12pt 0 !important;
    width: 100% !important;
    overflow: visible !important;
  }

  section:first-of-type * {
    overflow: visible !important;
  }

  section:first-of-type h1 {
    color: white !important;
    font-size: 22pt !important;
    line-height: 1.15 !important;
    margin-bottom: 6pt !important;
  }

  section:first-of-type .accent-underline {
    color: var(--color-accent) !important;
    -webkit-text-fill-color: var(--color-accent) !important;
    text-decoration: none !important;
  }

  section:first-of-type p,
  section:first-of-type span,
  section:first-of-type div {
    color: rgba(255,255,255,0.7) !important;
  }

  section:first-of-type .badge-accent {
    background: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: white !important;
  }

  /* Hero container — no padding constraints */
  section:first-of-type .container-wide {
    padding: 0 !important;
    max-width: 100% !important;
  }

  /* Hero max-width inner content */
  section:first-of-type .max-w-3xl,
  section:first-of-type .max-w-5xl {
    max-width: 100% !important;
  }

  /* Hide hero min-height */
  .min-h-\[85vh\] {
    min-height: auto !important;
  }

  /* ─────────────────────────────────────────
     All other sections
     ───────────────────────────────────────── */
  section:not(:first-of-type),
  .section-dark, .section-dark-alt,
  .section-light, .section-light-alt {
    background: white !important;
    color: #1e293b !important;
    padding: 14pt 0 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
  }

  /* Force dark section text to dark */
  .section-dark *, .section-dark-alt * {
    color: #1e293b !important;
  }
  .section-dark h1, .section-dark h2, .section-dark h3,
  .section-dark-alt h1, .section-dark-alt h2, .section-dark-alt h3 {
    color: #0f172a !important;
  }

  /* ─────────────────────────────────────────
     Typography
     ───────────────────────────────────────── */
  h1 { font-size: 20pt !important; line-height: 1.2 !important; color: #0f172a !important; margin-bottom: 6pt !important; }
  h2 { font-size: 14pt !important; line-height: 1.3 !important; margin-bottom: 6pt !important; padding-bottom: 4pt !important; border-bottom: 2pt solid var(--color-accent) !important; display: inline-block !important; }
  h3 { font-size: 11pt !important; margin-bottom: 3pt !important; color: #0f172a !important; border-bottom: none !important; display: block !important; padding-bottom: 0 !important; }
  h4 { font-size: 10pt !important; border-bottom: none !important; display: block !important; padding-bottom: 0 !important; }
  p, li, td, th { font-size: 9.5pt !important; line-height: 1.55 !important; }
  span, div { line-height: 1.5 !important; }

  /* Section labels */
  .text-accent[class*="uppercase"],
  p[class*="uppercase"][class*="tracking"] {
    color: var(--color-accent) !important;
    font-size: 7pt !important;
    letter-spacing: 1.5pt !important;
    margin-bottom: 4pt !important;
    border-bottom: none !important;
    display: block !important;
    padding-bottom: 0 !important;
  }

  /* Accent text */
  .text-accent, .gradient-text, .accent-underline {
    color: var(--color-accent) !important;
    -webkit-text-fill-color: var(--color-accent) !important;
    background: none !important;
    text-decoration: none !important;
  }

  .badge-accent {
    border: 1pt solid var(--color-accent) !important;
    color: var(--color-accent) !important;
    background: rgba(201, 53, 48, 0.05) !important;
    font-size: 7pt !important;
    padding: 1pt 5pt !important;
    border-radius: 2pt !important;
  }

  /* ─────────────────────────────────────────
     Cards — Left border accent style
     ───────────────────────────────────────── */
  .card-light, .card-dark {
    background: #f8fafc !important;
    border: none !important;
    border-left: 3pt solid var(--color-accent) !important;
    box-shadow: none !important;
    border-radius: 0 2pt 2pt 0 !important;
    padding: 8pt 10pt !important;
    transform: none !important;
    transition: none !important;
    margin-bottom: 4pt !important;
  }

  .card-light h3, .card-dark h3 {
    border-bottom: none !important;
    display: block !important;
    padding-bottom: 0 !important;
  }

  /* ─────────────────────────────────────────
     Grids — consistent columns for print
     ───────────────────────────────────────── */
  .grid { gap: 6pt !important; }
  .grid.grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .grid.md\:grid-cols-4 { grid-template-columns: repeat(4, 1fr) !important; }
  .grid.md\:grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
  .grid.md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .grid.lg\:grid-cols-5 { grid-template-columns: 2fr 3fr !important; }
  .grid.lg\:grid-cols-6 { grid-template-columns: repeat(4, 1fr) !important; }
  .grid.lg\:grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .grid.sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Consistent card heights within grids */
  .grid > .card-light, .grid > .card-dark {
    height: auto !important;
    min-height: 0 !important;
  }

  /* ─────────────────────────────────────────
     Lemon dashboard mockup — keep dark, it's a "screenshot"
     ───────────────────────────────────────── */
  section:has(.print-lemon-mockup),
  .print-lemon-mockup {
    break-inside: avoid !important;
  }

  /* Browser chrome bar */
  .bg-gray-100 {
    background: #f1f5f9 !important;
  }

  /* Keep the dashboard dark — it's a product screenshot */
  [style*="background: #0f172a"] {
    background: #0f172a !important;
  }
  [style*="background: #0f172a"] * {
    color: inherit !important;
  }
  [style*="background: #0f172a"] .text-white {
    color: white !important;
  }
  [style*="background: #0f172a"] .text-white\/80 {
    color: rgba(255,255,255,0.8) !important;
  }
  [style*="background: #0f172a"] .text-white\/40,
  [style*="background: #0f172a"] .text-white\/50 {
    color: rgba(255,255,255,0.5) !important;
  }
  .bg-white\/5, .bg-white\/10 {
    background: rgba(255,255,255,0.05) !important;
  }
  .bg-emerald-500\/20 {
    background: rgba(16,185,129,0.2) !important;
    color: #10b981 !important;
  }
  .text-emerald-400 { color: #34d399 !important; }
  .text-emerald-300 { color: #6ee7b7 !important; }
  .bg-yellow-500\/10 { background: rgba(245,158,11,0.1) !important; }
  .text-yellow-400 { color: #fbbf24 !important; }
  .text-yellow-300 { color: #fcd34d !important; }
  .text-yellow-300\/60 { color: rgba(252,211,77,0.6) !important; }
  .text-blue-500 { color: #3b82f6 !important; }
  .bg-emerald-500 { background: #10b981 !important; }
  .bg-yellow-500 { background: #f59e0b !important; }

  /* ─────────────────────────────────────────
     Testimonial — styled blockquote
     ───────────────────────────────────────── */
  blockquote {
    font-style: italic !important;
    border-left: 3pt solid var(--color-accent) !important;
    padding-left: 12pt !important;
    margin: 8pt 0 !important;
    color: #334155 !important;
    font-size: 11pt !important;
  }

  /* Quote icon */
  blockquote + div { margin-top: 6pt !important; }

  svg.text-accent.opacity-30 {
    opacity: 0.15 !important;
  }

  /* ─────────────────────────────────────────
     FAQ — expanded, clean list
     ───────────────────────────────────────── */
  .faq-item {
    background: white !important;
    border: none !important;
    border-bottom: 1pt solid #e2e8f0 !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    padding: 8pt 0 !important;
    break-inside: avoid !important;
  }

  .faq-item > div {
    display: block !important;
    padding: 2pt 0 8pt 0 !important;
  }

  .faq-item > div * {
    font-size: 9.5pt !important;
    line-height: 1.5 !important;
  }

  .faq-item summary {
    font-weight: 600 !important;
    font-size: 10.5pt !important;
    padding: 4pt 0 !important;
  }

  .faq-item summary span:first-child {
    font-size: 10.5pt !important;
  }

  .faq-item summary .faq-icon {
    display: none !important;
  }

  /* FAQ two-column layout — give questions full width in print */
  .lg\:col-span-3 {
    grid-column: span 5 / span 5 !important;
  }
  .lg\:col-span-2:has(+ .lg\:col-span-3) {
    grid-column: span 5 / span 5 !important;
    margin-bottom: 4pt !important;
  }

  /* ─────────────────────────────────────────
     Compliance grid — tighter for print
     ───────────────────────────────────────── */
  .rounded-lg[style*="border-color: var(--border-light)"] {
    border-left: 2pt solid var(--color-accent) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    padding: 4pt 8pt !important;
    background: #f8fafc !important;
  }

  /* ─────────────────────────────────────────
     SVG icons — ensure they render, not solid blobs
     ───────────────────────────────────────── */
  svg {
    color: var(--color-accent) !important;
    stroke: var(--color-accent) !important;
    fill: none !important;
  }

  /* Restore fill for icons that need it (social icons use fill) */
  svg[fill="currentColor"] {
    fill: var(--color-accent) !important;
    stroke: none !important;
  }

  /* Icon container backgrounds — make light, not solid blobs */
  .rounded-xl[style*="background: rgba(var(--color-accent-rgb)"],
  div[style*="background: rgba(var(--color-accent-rgb)"],
  .bg-gradient-to-br {
    background: rgba(201, 53, 48, 0.08) !important;
    border: 1pt solid rgba(201, 53, 48, 0.2) !important;
  }

  /* "How it works" step icons */
  .rounded-xl.flex.items-center.justify-center {
    background: rgba(201, 53, 48, 0.08) !important;
    width: 28pt !important;
    height: 28pt !important;
  }

  /* Lemon feature icon containers */
  .rounded-lg.flex.items-center.justify-center {
    background: rgba(201, 53, 48, 0.08) !important;
    border: 1pt solid rgba(201, 53, 48, 0.15) !important;
    width: 24pt !important;
    height: 24pt !important;
  }

  .card-light svg, .card-dark svg {
    width: 12pt !important;
    height: 12pt !important;
  }

  /* Step arrow between How it Works */
  .hidden.md\:block.absolute {
    display: none !important;
  }

  /* ─────────────────────────────────────────
     Links — clean for print
     ───────────────────────────────────────── */
  a { color: var(--color-accent) !important; text-decoration: none !important; }

  a[href^="http"]:not(.btn)::after {
    content: " (" attr(href) ")";
    font-size: 7pt;
    color: #94a3b8;
    font-weight: normal;
  }
  a[href^="/"]::after { content: none; }

  /* ─────────────────────────────────────────
     Page breaks
     ───────────────────────────────────────── */
  h1, h2, h3, h4 {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  .card-light, .card-dark, .faq-item, blockquote {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  section.section-lg, section:not(:first-of-type) {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #methodology {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Deliverables grid — don't split across pages */
  .grid.sm\:grid-cols-2 {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Related services 4-col — keep together */
  .grid.md\:grid-cols-4 {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Compliance + industries side-by-side — keep together */
  #compliance-industries {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Deliverables — start fresh page so heading + cards stay together */
  #deliverables {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Related resources — start fresh page to avoid overflow */
  #related-resources {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Related resources inner grid — keep together */
  #related-resources .grid {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Related services — keep together */
  #related-services {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* ─────────────────────────────────────────
     Spacing — tighter for print density
     ───────────────────────────────────────── */
  .section-lg { padding: 14pt 0 !important; }
  .section { padding: 10pt 0 !important; }
  .mb-20, .mb-16 { margin-bottom: 10pt !important; }
  .mb-14, .mb-12, .mb-10 { margin-bottom: 8pt !important; }
  .mb-8, .mb-6 { margin-bottom: 6pt !important; }
  .py-20, .py-24 { padding-top: 12pt !important; padding-bottom: 12pt !important; }
  .py-16, .py-12 { padding-top: 8pt !important; padding-bottom: 8pt !important; }
  .gap-16, .gap-14, .gap-12 { gap: 6pt !important; }
  .gap-10, .gap-8 { gap: 4pt !important; }
  .space-y-16 > * + * { margin-top: 10pt !important; }
  .space-y-6 > * + * { margin-top: 4pt !important; }
  .space-y-3 > * + * { margin-top: 2pt !important; }
  .space-y-2 > * + * { margin-top: 2pt !important; }
  .min-h-\[85vh\] { min-height: auto !important; }

  /* Stats dividers */
  .w-px { display: none !important; }

  /* ─────────────────────────────────────────
     Related content / cross-links
     ───────────────────────────────────────── */
  a.card-light { border-left-color: #cbd5e1 !important; }
  a.card-light:hover { transform: none !important; }

  /* Cross-links — keep 3-column in print (handled by related resources section above) */

  /* Case study cards — even more compact */
  a.card-light p[style] {
    font-size: 8pt !important;
  }

  /* Phase badges in methodology */
  [style*="background: rgba(var(--color-accent-rgb)"] {
    background: var(--color-accent) !important;
    color: white !important;
    -webkit-print-color-adjust: exact !important;
  }


  /* Methodology step numbers */
  .font-mono.text-accent,
  span[style*="color: var(--color-accent)"].font-mono {
    color: var(--color-accent) !important;
  }

  /* ─────────────────────────────────────────
     Print header — logo fix
     ───────────────────────────────────────── */
  .print-header img {
    height: 18pt !important;
    width: auto !important;
    display: inline-block !important;
  }

  /* ─────────────────────────────────────────
     How it works — force 3 columns
     ───────────────────────────────────────── */
  .grid.md\:grid-cols-3:has(.rounded-xl) {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* ─────────────────────────────────────────
     Lemon section — features beside mockup
     The 2fr/3fr split squishes text. Use stacked layout for print.
     ───────────────────────────────────────── */
  .grid.lg\:grid-cols-5:has(.rounded-xl.overflow-hidden) {
    grid-template-columns: 1fr !important;
  }

  .grid.lg\:grid-cols-5:has(.rounded-xl.overflow-hidden) > .lg\:col-span-3 {
    grid-column: span 1 !important;
  }

  .grid.lg\:grid-cols-5:has(.rounded-xl.overflow-hidden) > .lg\:col-span-2 {
    grid-column: span 1 !important;
  }

  /* Lemon mockup — constrain height */
  .rounded-xl.overflow-hidden.border.shadow-2xl {
    max-height: 220pt !important;
    overflow: hidden !important;
  }

  /* ─────────────────────────────────────────
     Industries table — fix overlap and overflow
     ───────────────────────────────────────── */
  /* Industry rows — stacked label + clients layout */
  .space-y-2 > .flex.items-center.justify-between {
    display: block !important;
    padding: 3pt 6pt !important;
    border-bottom: 0.5pt solid #e2e8f0 !important;
    border-left: 2pt solid var(--color-accent) !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Industry name — full width, bold */
  .space-y-2 > .flex.items-center.justify-between > span:first-child {
    display: block !important;
    font-size: 8.5pt !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin-bottom: 1pt !important;
  }

  /* Client names — wrap naturally below the label */
  .space-y-2 > .flex.items-center.justify-between > span:last-child {
    display: block !important;
    font-size: 7.5pt !important;
    color: #64748b !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.4 !important;
  }

  /* Compliance + Industries — force onto same page */
  .grid.lg\:grid-cols-2:has(.space-y-2) {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Compliance grid — keep compact */
  .grid.grid-cols-2:has(.flex.items-center.gap-3) {
    gap: 3pt !important;
  }

  .grid.grid-cols-2 .flex.items-center.gap-3 {
    padding: 2pt 4pt !important;
    border: none !important;
    gap: 4pt !important;
  }

  .grid.grid-cols-2 .flex.items-center.gap-3 .font-semibold {
    font-size: 8pt !important;
  }

  .grid.grid-cols-2 .flex.items-center.gap-3 .text-xs {
    font-size: 6.5pt !important;
  }

  /* ─────────────────────────────────────────
     Related Resources — completely restyle for print
     ───────────────────────────────────────── */

  /* Keep 3-column but tighter for print */
  .grid.md\:grid-cols-3:has(h3) {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10pt !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Column headings */
  .grid.md\:grid-cols-3 h3 {
    font-size: 9pt !important;
    margin-bottom: 4pt !important;
    padding-bottom: 3pt !important;
    border-bottom: 1pt solid #e2e8f0 !important;
  }

  /* Compliance framework links — stacked list */
  .grid.md\:grid-cols-3 a.flex.items-center.justify-between {
    display: block !important;
    padding: 2pt 0 !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 0.5pt solid #f1f5f9 !important;
  }

  .grid.md\:grid-cols-3 a.flex.items-center.justify-between span:first-child {
    font-size: 7.5pt !important;
    display: block !important;
  }

  /* Compliance tag badges */
  .grid.md\:grid-cols-3 a.flex.items-center.justify-between span:last-child {
    font-size: 6pt !important;
    padding: 0 !important;
    background: none !important;
    color: #94a3b8 !important;
    display: inline !important;
  }

  /* Case study cards — simplified list items */
  a.card-light[href="/case-studies"],
  a.block.card-light {
    display: block !important;
    border: none !important;
    border-left: 2pt solid var(--color-accent) !important;
    border-radius: 0 !important;
    padding: 3pt 8pt !important;
    margin-bottom: 4pt !important;
    background: none !important;
    box-shadow: none !important;
  }

  /* Case study industry badge */
  a.card-light .flex.items-center.gap-2 {
    margin-bottom: 1pt !important;
  }

  a.card-light .flex.items-center.gap-2 span {
    font-size: 6pt !important;
    padding: 0 3pt !important;
  }

  /* Case study title */
  a.card-light h4,
  a.block.card-light h4 {
    font-size: 8.5pt !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Case study description */
  a.card-light > p,
  a.block.card-light > p {
    font-size: 7pt !important;
    color: #64748b !important;
    margin: 0 !important;
  }

  /* ─────────────────────────────────────────
     Guides & Articles — proper stacked list
     ───────────────────────────────────────── */
  .space-y-2 > a.flex.items-center.gap-2 {
    display: block !important;
    padding: 2pt 0 !important;
    border-bottom: 0.5pt solid #f1f5f9 !important;
  }

  .space-y-2 > a.flex.items-center.gap-2 span {
    font-size: 7.5pt !important;
    display: block !important;
  }

  /* Hide the SVG icons next to article links */
  .space-y-2 > a.flex.items-center.gap-2 > svg {
    display: none !important;
  }

  /* ─────────────────────────────────────────
     Page break controls
     ───────────────────────────────────────── */

  /* Sections that should never be split */
  .grid.sm\:grid-cols-2,
  .grid.md\:grid-cols-4:has(.card-light) {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Compliance + Industries block — keep together */
  .grid.lg\:grid-cols-2:has(h3) {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Testimonial — keep whole */
  section:has(blockquote) {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Related resources — start fresh page */
  section:has(> .container-wide > p.text-xs:first-child + .grid.md\:grid-cols-3) {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Related services — keep with bottom CTA */
  section:has(> .container-wide > p + h2 + .grid.md\:grid-cols-4) {
    break-inside: avoid !important;
    padding-bottom: 6pt !important;
  }

  /* Print footer — pull tight to content */
  .print-footer {
    margin-top: 8pt !important;
    padding-top: 6pt !important;
  }

  /* ─────────────────────────────────────────
     Alignment & Consistency Polish
     ───────────────────────────────────────── */

  /* Consistent section label style */
  p.text-xs[class*="uppercase"] {
    font-size: 7pt !important;
    letter-spacing: 1.5pt !important;
    font-weight: 700 !important;
    color: var(--color-accent) !important;
    margin-bottom: 3pt !important;
  }

  /* Section dividers — consistent thin line */
  [style*="border-top: 1px solid var(--border-light)"],
  [style*="border-bottom: 1px solid var(--border-light)"],
  [style*="border-color: var(--border-light)"] {
    border-color: #e2e8f0 !important;
  }

  /* Consistent text sizing in card descriptions */
  .card-light p, .card-dark p {
    font-size: 9pt !important;
    line-height: 1.45 !important;
    color: #475569 !important;
  }

  /* Card titles — consistent weight and size */
  .card-light h3, .card-dark h3 {
    font-size: 10.5pt !important;
    font-weight: 600 !important;
    margin-bottom: 2pt !important;
    color: #0f172a !important;
  }

  /* Consistent accent link styling */
  a.text-accent,
  a[class*="text-accent"] {
    color: var(--color-accent) !important;
    font-size: 8pt !important;
  }

  /* Consistent padding on all sections */
  section:not(:first-of-type) > .container-wide,
  section:not(:first-of-type) > .container-narrow {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Hero stats — consistent sizing */
  section:first-of-type .text-xl {
    font-size: 14pt !important;
    font-weight: 700 !important;
  }

  /* Compliance checkmarks — consistent */
  svg.text-accent.w-4.h-4 {
    width: 10pt !important;
    height: 10pt !important;
  }

  /* Industries list — consistent row height */
  .space-y-2 > div.flex {
    padding: 4pt 0 !important;
  }

  /* Blockquote styling consistency */
  blockquote {
    font-size: 11pt !important;
    font-style: italic !important;
    border-left: 3pt solid var(--color-accent) !important;
    padding-left: 12pt !important;
    margin: 10pt 0 !important;
    color: #334155 !important;
    line-height: 1.55 !important;
  }

  /* Remove max-width constraints in print */
  .max-w-2xl, .max-w-3xl, .max-w-xl {
    max-width: 100% !important;
  }

  /* Testimonial attribution */
  blockquote + div .font-semibold {
    font-size: 10pt !important;
  }

  /* Bottom CTA — clean for print, no dark bg, compact */
  section:last-of-type {
    background: white !important;
    text-align: center !important;
    padding: 12pt 0 !important;
  }

  section:last-of-type h2 {
    color: #0f172a !important;
    display: block !important;
    font-size: 16pt !important;
  }

  section:last-of-type span[style*="color: var(--color-accent)"] {
    color: var(--color-accent) !important;
  }

  section:last-of-type p {
    color: #475569 !important;
  }
}
