.fah-cad-lab {
  --cad-ink: #eaf8f7;
  --cad-muted: #b8d4d1;
  --cad-line: rgba(124, 232, 210, .24);
  --cad-panel: rgba(7, 39, 47, .92);
  --cad-accent: #72e5cd;
  color: var(--cad-ink);
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(1rem, 3vw, 2.4rem);
}
.fah-cad-lab *, .fah-cad-lab *::before, .fah-cad-lab *::after { box-sizing: border-box; }
.fah-cad-lab a { color: var(--cad-accent); }
.fah-cad-lab h1 { font-size: clamp(2.1rem, 5vw, 4rem); line-height: .98; margin: .3em 0; max-width: 17ch; }
.fah-cad-lab h2 { font-size: clamp(1.55rem, 3vw, 2.6rem); line-height: 1.08; margin-top: 0; }
.fah-cad-lab h3 { font-size: 1.15rem; }
.fah-cad-lab p, .fah-cad-lab li { color: var(--cad-muted); line-height: 1.7; }
.fah-cad-lab code { overflow-wrap: anywhere; }
.cad-eyebrow { color: var(--cad-accent); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.cad-hero, .cad-panel, .cad-proof, .cad-faq details { background: var(--cad-panel); border: 1px solid var(--cad-line); border-radius: 24px; }
.cad-hero { background: linear-gradient(135deg, rgba(12, 75, 91, .98), rgba(8, 54, 49, .98)); display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .8fr); margin-bottom: 2rem; overflow: hidden; padding: clamp(1.5rem, 5vw, 4.5rem); }
.cad-hero p { font-size: clamp(1rem, 1.8vw, 1.25rem); max-width: 66ch; }
.cad-hero img { align-self: center; border: 1px solid var(--cad-line); border-radius: 18px; height: 100%; max-height: 440px; object-fit: cover; width: 100%; }
.cad-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }
.cad-button { border: 1px solid var(--cad-accent); border-radius: 999px; display: inline-block; font-weight: 800; padding: .75rem 1rem; text-decoration: none; }
.cad-button.is-primary { background: var(--cad-accent); color: #06282d; }
.cad-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.5rem 0 2rem; }
.cad-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cad-panel, .cad-proof { padding: clamp(1.25rem, 3vw, 2rem); }
.cad-proof strong { color: var(--cad-ink); display: block; font-size: 1.8rem; line-height: 1.1; }
.cad-flow { counter-reset: cad-step; display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.5rem 0 2rem; padding: 0; }
.cad-flow li { background: rgba(8, 53, 61, .75); border: 1px solid var(--cad-line); border-radius: 18px; list-style: none; padding: 1.2rem; }
.cad-flow li::before { color: var(--cad-accent); content: counter(cad-step, decimal-leading-zero); counter-increment: cad-step; display: block; font-weight: 800; margin-bottom: .65rem; }
.cad-media { display: grid; gap: 1rem; grid-template-columns: 1.35fr .8fr .8fr; margin: 2rem 0; }
.cad-media figure { margin: 0; }
.cad-media img { border-radius: 18px; display: block; height: 100%; max-height: 420px; object-fit: cover; width: 100%; }
.cad-media figcaption { color: var(--cad-muted); font-size: .82rem; padding-top: .45rem; }
.cad-table-wrap { overflow-x: auto; }
.cad-table { border-collapse: collapse; min-width: 760px; width: 100%; }
.cad-table th, .cad-table td { border-bottom: 1px solid var(--cad-line); padding: .85rem .65rem; text-align: left; vertical-align: top; }
.cad-table th { color: var(--cad-ink); }
.cad-note { border-left: 4px solid var(--cad-accent); margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; }
.cad-faq details { margin: .8rem 0; padding: 1rem 1.25rem; }
.cad-faq summary { color: var(--cad-ink); cursor: pointer; font-weight: 800; }
.cad-faq details p { margin-bottom: 0; }
@media (max-width: 920px) {
  .cad-hero, .cad-grid, .cad-grid.is-two, .cad-flow { grid-template-columns: 1fr 1fr; }
  .cad-hero img { max-height: 320px; }
  .cad-media { grid-template-columns: 1fr 1fr; }
  .cad-media figure:first-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .fah-cad-lab { padding: .85rem; }
  .cad-hero, .cad-grid, .cad-grid.is-two, .cad-flow, .cad-media { grid-template-columns: 1fr; }
  .cad-media figure:first-child { grid-column: auto; }
  .cad-hero { border-radius: 18px; padding: 1.2rem; }
  .cad-panel, .cad-proof { border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) { .fah-cad-lab * { scroll-behavior: auto !important; } }
