:root {
  --lab-ink: #071922;
  --lab-ink-2: #0d2936;
  --lab-teal: #56c9c0;
  --lab-teal-deep: #16847e;
  --lab-gold: #f3bd72;
  --lab-paper: #fffdf9;
  --lab-mist: #edf7f5;
  --lab-line: rgba(7, 25, 34, .11);
  --lab-muted: #607984;
  --lab-shadow: 0 26px 70px rgba(7, 25, 34, .12);
}

html { scroll-behavior: smooth; }
body.lab-page { min-width: 320px; overflow-x: clip; color: var(--lab-ink); background: var(--lab-paper); }
.lab-page .header-inner,
.lab-page .brand,
.lab-hero-layout > *,
.tool-title-row > * { min-width: 0; }
.lab-page .site-header { background: rgba(255, 253, 249, .92); }
.lab-page .brand-name { color: var(--lab-ink); }
.lab-page .desktop-nav a { color: #617680; }
.lab-page .desktop-nav a:hover,
.lab-page .desktop-nav a[aria-current="page"] { color: var(--lab-ink); background: rgba(86, 201, 192, .13); }
.lab-page .language { color: var(--lab-ink); border-color: rgba(7, 25, 34, .12); }
.lab-page .header-cta { color: var(--lab-ink); border-color: rgba(22, 132, 126, .24); background: rgba(86, 201, 192, .09); }
.lab-page .header-cta:hover { background: rgba(86, 201, 192, .18); }
.lab-page .button { cursor: pointer; }

.lab-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(84px, 10vw, 145px) 0 clamp(62px, 8vw, 108px);
  background:
    radial-gradient(circle at 84% 12%, rgba(86, 201, 192, .24), transparent 31%),
    radial-gradient(circle at 9% 8%, rgba(243, 189, 114, .18), transparent 27%),
    linear-gradient(180deg, #fffdf9 0%, #edf7f5 100%);
}
.lab-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .36;
  background-image: linear-gradient(rgba(7, 25, 34, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(7, 25, 34, .045) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to bottom, #000, transparent 90%);
  pointer-events: none;
}
.lab-hero-layout { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: clamp(38px, 7vw, 100px); align-items: center; }
.lab-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 22px; color: var(--lab-teal-deep); font-size: .72rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.lab-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lab-teal); box-shadow: 0 0 0 6px rgba(86, 201, 192, .14); }
.lab-hero h1 { max-width: 820px; margin: 0; color: var(--lab-ink); font-size: clamp(3.1rem, 6.8vw, 6.5rem); line-height: .94; letter-spacing: -.075em; }
.lab-hero h1 span { color: var(--lab-teal-deep); }
.lab-hero-copy > p:not(.lab-kicker) { max-width: 700px; margin: 27px 0 0; color: #4e6873; font-size: clamp(1rem, 1.3vw, 1.22rem); line-height: 1.72; }
.lab-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.lab-hero-actions .button-ghost { color: var(--lab-ink); border-color: rgba(7, 25, 34, .15); background: rgba(255, 255, 255, .62); }
.lab-assurance { display: flex; flex-wrap: wrap; gap: 9px 18px; margin: 24px 0 0; padding: 0; list-style: none; color: #5d7781; font-size: .76rem; font-weight: 720; }
.lab-assurance li { display: inline-flex; align-items: center; gap: 7px; }
.lab-assurance li::before { content: "✓"; color: var(--lab-teal-deep); font-weight: 950; }

.lab-hero-card { position: relative; min-height: 410px; padding: 28px; overflow: hidden; color: #d4e4e6; border: 1px solid rgba(255, 255, 255, .13); border-radius: 34px; background: radial-gradient(circle at 90% 4%, rgba(86, 201, 192, .22), transparent 30%), linear-gradient(145deg, #113a46, #06151d 70%); box-shadow: 0 34px 80px rgba(7, 25, 34, .23); }
.lab-hero-card::after { content: "LAB"; position: absolute; right: -9px; bottom: -33px; color: rgba(255,255,255,.026); font-size: 10rem; font-weight: 950; letter-spacing: -.1em; }
.lab-hero-card > * { position: relative; z-index: 1; }
.lab-card-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.13); }
.lab-card-top small { color: #82ddd5; font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.lab-card-mark { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px; color: var(--lab-ink); background: linear-gradient(145deg, #85e9e0, #37aaa3); font-weight: 950; }
.lab-signal { display: grid; gap: 11px; margin-top: 30px; }
.lab-signal span { height: 10px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.09); }
.lab-signal span::after { content: ""; display: block; width: var(--fill, 70%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--lab-teal-deep), var(--lab-teal)); }
.lab-signal span:nth-child(2)::after { width: 54%; }
.lab-signal span:nth-child(3)::after { width: 83%; background: linear-gradient(90deg, var(--lab-gold), #ffe0a9); }
.lab-hero-card h2 { max-width: 420px; margin: 38px 0 12px; color: #fff; font-size: clamp(1.65rem, 2.5vw, 2.55rem); line-height: 1.05; letter-spacing: -.045em; }
.lab-hero-card p { max-width: 390px; color: #9eb6bd; font-size: .84rem; line-height: 1.65; }

.lab-section { padding: clamp(70px, 8vw, 120px) 0; }
.lab-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .55fr); gap: 40px; align-items: end; margin-bottom: 38px; }
.lab-section-head h2 { max-width: 790px; margin: 0; color: var(--lab-ink); font-size: clamp(2.25rem, 4.4vw, 4.5rem); line-height: 1; letter-spacing: -.06em; }
.lab-section-head > p { margin: 0; color: var(--lab-muted); font-size: .92rem; line-height: 1.7; }

.tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tool-card { position: relative; display: flex; min-height: 390px; padding: 26px; overflow: hidden; flex-direction: column; border: 1px solid var(--lab-line); border-radius: 27px; color: var(--lab-ink); background: rgba(255,255,255,.82); box-shadow: 0 18px 45px rgba(7,25,34,.065); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.tool-card:hover { color: var(--lab-ink); transform: translateY(-6px); border-color: rgba(22,132,126,.26); box-shadow: var(--lab-shadow); }
.tool-card::after { content: attr(data-number); position: absolute; right: 16px; bottom: -26px; color: rgba(7,25,34,.035); font-size: 8rem; font-weight: 950; letter-spacing: -.08em; }
.tool-card > * { position: relative; z-index: 1; }
.tool-card-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; color: var(--lab-ink); background: linear-gradient(145deg, #8ce8e0, #3db9b1); box-shadow: 0 12px 30px rgba(22,132,126,.18); font-size: 1.15rem; font-weight: 950; }
.tool-card small { margin-top: 30px; color: var(--lab-teal-deep); font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.tool-card h3 { max-width: 290px; margin: 11px 0 12px; color: var(--lab-ink); font-size: 1.75rem; line-height: 1.05; letter-spacing: -.045em; }
.tool-card p { margin: 0; color: var(--lab-muted); font-size: .82rem; line-height: 1.65; }
.tool-card-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 26px; color: var(--lab-teal-deep); font-size: .78rem; font-weight: 900; }

.lab-principles { color: #d2e2e5; background: radial-gradient(circle at 86% 10%, rgba(86,201,192,.2), transparent 28%), var(--lab-ink); }
.lab-principles .lab-section-head h2 { color: #fff; }
.lab-principles .lab-section-head > p { color: #9db3ba; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,.12); border-radius: 28px; overflow: hidden; }
.principle-grid article { min-height: 235px; padding: 28px; border-right: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); }
.principle-grid article:last-child { border-right: 0; }
.principle-grid small { color: var(--lab-gold); font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.principle-grid h3 { margin: 55px 0 11px; color: #fff; font-size: 1.35rem; }
.principle-grid p { margin: 0; color: #9db3ba; font-size: .79rem; line-height: 1.65; }

.lab-bottom-cta { padding: clamp(62px, 7vw, 100px) 0; background: linear-gradient(135deg, #fff9ef, #e9f7f4); }
.lab-bottom-box { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; padding: clamp(30px, 5vw, 58px); border: 1px solid rgba(22,132,126,.18); border-radius: 32px; background: rgba(255,255,255,.68); box-shadow: var(--lab-shadow); }
.lab-bottom-box h2 { max-width: 760px; margin: 0; color: var(--lab-ink); font-size: clamp(2rem, 4vw, 4rem); line-height: 1; letter-spacing: -.055em; }
.lab-bottom-box p { max-width: 710px; margin: 16px 0 0; color: var(--lab-muted); line-height: 1.65; }

/* Diagnostic pages */
.tool-hero { padding: clamp(72px, 8vw, 116px) 0 52px; background: radial-gradient(circle at 82% 8%, rgba(86,201,192,.2), transparent 31%), linear-gradient(180deg, #fffdf9, #f1f8f6); }
.tool-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 25px; color: #718891; font-size: .7rem; font-weight: 760; }
.tool-breadcrumbs a { color: var(--lab-teal-deep); }
.tool-title-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .38fr); gap: 42px; align-items: end; }
.tool-title-row h1 { max-width: 860px; margin: 0; color: var(--lab-ink); font-size: clamp(2.8rem, 6.3vw, 6.2rem); line-height: .94; letter-spacing: -.072em; }
.tool-title-row h1,
.tool-title-row p { overflow-wrap: break-word; }
.tool-title-row p { margin: 0; color: var(--lab-muted); font-size: .93rem; line-height: 1.72; }
.tool-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.tool-meta span { padding: 8px 12px; border: 1px solid rgba(22,132,126,.16); border-radius: 99px; color: #50707a; background: rgba(255,255,255,.72); font-size: .65rem; font-weight: 820; }

.tool-workbench-section { padding: 54px 0 clamp(78px, 9vw, 130px); background: #f1f8f6; }
.tool-workbench { display: grid; grid-template-columns: minmax(0, .86fr) minmax(380px, 1.14fr); gap: 18px; align-items: start; }
.diagnostic-panel,
.result-panel,
.method-card,
.lab-lead-card { border: 1px solid var(--lab-line); border-radius: 28px; background: rgba(255,255,255,.93); box-shadow: 0 18px 50px rgba(7,25,34,.07); }
.diagnostic-panel { padding: clamp(24px, 4vw, 42px); }
.panel-heading { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 30px; padding-bottom: 23px; border-bottom: 1px solid var(--lab-line); }
.panel-number { display: grid; flex: 0 0 auto; place-items: center; width: 42px; height: 42px; border-radius: 14px; color: var(--lab-ink); background: linear-gradient(145deg, #84e5dd, #43bbb3); font-size: .72rem; font-weight: 950; }
.panel-heading small { display: block; margin-bottom: 4px; color: var(--lab-teal-deep); font-size: .6rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.panel-heading h2 { margin: 0; color: var(--lab-ink); font-size: 1.45rem; letter-spacing: -.035em; }
.diagnostic-fields { display: grid; gap: 20px; }
.diagnostic-fields label,
.lab-lead-form label { display: grid; min-width: 0; gap: 9px; color: #304d58; font-size: .72rem; font-weight: 830; }
.diagnostic-fields label > span,
.lab-lead-form label > span { display: block; line-height: 1.42; }
.diagnostic-fields label > span small { display: block; margin-top: 4px; color: #83969d; font-size: .64rem; font-weight: 560; line-height: 1.45; }
.diagnostic-fields input,
.diagnostic-fields select,
.lab-lead-form input,
.lab-lead-form select { display: block; width: 100%; height: 54px; min-height: 54px; padding: 0 15px; border: 1px solid rgba(7,25,34,.14); border-radius: 14px; outline: 0; color: var(--lab-ink); background-color: #f9fcfb; box-shadow: inset 0 1px rgba(255,255,255,.9); font: inherit; font-size: .82rem; line-height: 1.25; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease; }
.diagnostic-fields select,
.lab-lead-form select { padding-right: 45px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071922' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; background-size: 16px; cursor: pointer; }
.diagnostic-fields input:hover,
.diagnostic-fields select:hover,
.lab-lead-form input:hover,
.lab-lead-form select:hover { border-color: rgba(22,132,126,.34); background-color: #fff; }
.diagnostic-fields input:focus,
.diagnostic-fields select:focus,
.lab-lead-form input:focus,
.lab-lead-form select:focus { border-color: var(--lab-teal-deep); background-color: #fff; box-shadow: 0 0 0 4px rgba(86,201,192,.14), 0 8px 22px rgba(7,25,34,.06); transform: translateY(-1px); }
.diagnostic-fields .field-row,
.lab-lead-form .field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.diagnostic-fields .field-row > label,
.lab-lead-form .field-row > label { grid-template-rows: minmax(min-content, 1fr) auto; }
@supports (grid-template-rows: subgrid) {
  .diagnostic-fields .field-row,
  .lab-lead-form .field-row { grid-template-rows: auto 54px; column-gap: 14px; row-gap: 9px; }
  .diagnostic-fields .field-row > label,
  .lab-lead-form .field-row > label { grid-row: span 2; grid-template-rows: subgrid; row-gap: 9px; }
}
.field-prefix { position: relative; width: 100%; }
.field-prefix b { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); color: #789099; font-size: .8rem; pointer-events: none; }
.field-prefix input { padding-left: 30px; }
.diagnostic-fields input[type="number"] { font-variant-numeric: tabular-nums; }
.diagnostic-submit { width: 100%; margin-top: 24px; min-height: 54px; border: 0; }

.tool-output { display: grid; gap: 18px; }
.result-placeholder { min-height: 435px; display: grid; place-items: center; padding: 45px; border: 1px dashed rgba(22,132,126,.25); border-radius: 28px; color: #6e858e; background: rgba(255,255,255,.48); text-align: center; }
.result-placeholder span { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 21px; color: var(--lab-teal-deep); background: rgba(86,201,192,.16); font-size: 1.35rem; font-weight: 950; }
.result-placeholder strong { display: block; color: var(--lab-ink); font-size: 1.15rem; }
.result-placeholder p { max-width: 370px; margin: 10px auto 0; font-size: .78rem; line-height: 1.65; }
.result-panel { position: relative; overflow: hidden; padding: clamp(25px, 4vw, 43px); color: #d3e2e5; background: radial-gradient(circle at 90% 5%, rgba(86,201,192,.22), transparent 29%), linear-gradient(145deg, #113843, #06151d 74%); box-shadow: 0 28px 70px rgba(7,25,34,.2); }
.result-panel[hidden], .result-placeholder[hidden], .lab-lead-section[hidden] { display: none; }
.result-status { display: inline-flex; align-items: center; gap: 8px; color: #8de1d9; font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.result-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--lab-teal); box-shadow: 0 0 0 5px rgba(86,201,192,.12); }
.result-panel h2 { max-width: 710px; margin: 22px 0 12px; color: #fff; font-size: clamp(1.75rem, 3.1vw, 3.2rem); line-height: 1.03; letter-spacing: -.05em; }
.result-summary { max-width: 670px; margin: 0; color: #9eb5bc; font-size: .86rem; line-height: 1.68; }
.result-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 27px; }
.result-metrics article { min-height: 105px; padding: 17px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(255,255,255,.055); }
.result-metrics small { display: block; color: #7f9ba3; font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.result-metrics strong { display: block; margin-top: 11px; color: #fff; font-size: clamp(1.15rem, 2.4vw, 2rem); line-height: 1; letter-spacing: -.04em; }
.result-insights { display: grid; gap: 9px; margin: 25px 0 0; padding: 0; list-style: none; }
.result-insights li { position: relative; padding: 13px 14px 13px 39px; border: 1px solid rgba(255,255,255,.085); border-radius: 14px; color: #bfd0d4; background: rgba(255,255,255,.035); font-size: .72rem; line-height: 1.55; }
.result-insights li::before { content: "✓"; position: absolute; left: 15px; color: var(--lab-teal); font-weight: 950; }
.result-actions { display: grid; grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(150px, .8fr)); gap: 10px; margin-top: 25px; }
.result-actions .button { width: 100%; min-height: 51px; padding: 12px 17px; line-height: 1.25; text-align: center; }
.result-actions .button-primary { color: var(--lab-ink); background: linear-gradient(145deg, #8ae9e1, #45bdb5); }
.result-actions .button-ghost { color: #d8e6e8; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.05); }
.result-actions .result-card-button { border-color: rgba(101,212,202,.3); background: rgba(101,212,202,.09); }
.method-card { padding: 23px 25px; }
.method-card small { color: var(--lab-teal-deep); font-size: .6rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.method-card p { margin: 9px 0 0; color: var(--lab-muted); font-size: .72rem; line-height: 1.62; }

.lab-lead-section { padding: 0 0 clamp(80px, 10vw, 140px); background: #f1f8f6; scroll-margin-top: 96px; }
.lab-lead-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); overflow: hidden; }
.lab-lead-copy { padding: clamp(30px, 5vw, 58px); color: #d1e2e5; background: radial-gradient(circle at 0 100%, rgba(86,201,192,.16), transparent 36%), var(--lab-ink); }
.lab-lead-copy small { color: var(--lab-gold); font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.lab-lead-copy h2 { margin: 24px 0 15px; color: #fff; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; letter-spacing: -.055em; }
.lab-lead-copy p { max-width: 510px; margin: 0; color: #9db3ba; font-size: .83rem; line-height: 1.7; }
.lab-founder-note { margin-top: 30px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.12); }
.lab-founder-note strong { display: block; color: #fff; }
.lab-founder-note span { color: #85a0a8; font-size: .68rem; }
.lab-lead-form { padding: clamp(28px, 5vw, 53px); background: #fff; }
.lab-lead-form h3 { margin: 0 0 8px; color: var(--lab-ink); font-size: 1.55rem; letter-spacing: -.04em; }
.lab-lead-form > p { margin: 0 0 24px; color: var(--lab-muted); font-size: .72rem; line-height: 1.55; }
.lab-lead-form label { margin-top: 14px; }
.lab-lead-form button { width: 100%; min-height: 53px; margin-top: 20px; border: 0; }
.lab-form-privacy { margin: 12px 0 0 !important; color: #86989e !important; font-size: .59rem !important; text-align: center; }
.lab-form-privacy a { color: var(--lab-teal-deep); text-decoration: underline; }
.lab-form-status { min-height: 1.4em; margin: 12px 0 0 !important; color: var(--lab-teal-deep) !important; font-weight: 750; text-align: center; }
.lab-form-status.error { color: #a33939 !important; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.lab-page footer { background: #06151d; }
.lab-page .footer-inner { min-height: 92px; }
.lab-footer-links { display: flex; gap: 8px; margin-left: auto; }
.lab-footer-links a { padding: 8px; color: #8198a1; font-size: .68rem; font-weight: 700; }
.lab-footer-links a:hover { color: #fff; }

@media (max-width: 980px) {
  .lab-hero-layout,
  .lab-section-head,
  .tool-title-row,
  .tool-workbench,
  .lab-lead-card { grid-template-columns: 1fr; }
  .lab-hero-card { min-height: 350px; }
  .tool-grid { grid-template-columns: 1fr; }
  .tool-card { min-height: 300px; }
  .principle-grid { grid-template-columns: 1fr; }
  .principle-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .principle-grid article:last-child { border-bottom: 0; }
  .principle-grid h3 { margin-top: 28px; }
  .lab-bottom-box { grid-template-columns: 1fr; }
}

@media (min-width: 981px) and (max-width: 1160px) {
  .lab-page .header-inner { gap: 16px; }
  .lab-page .desktop-nav a { padding-inline: 7px; font-size: .68rem; }
  .lab-page .header-cta { padding-inline: 12px; }
}

@media (max-width: 720px) {
  .lab-page .header-cta { display: none; }
  .lab-hero { padding-top: 66px; }
  .lab-hero h1 { font-size: clamp(2.75rem, 14vw, 4.2rem); }
  .tool-title-row h1 { max-width: 100%; font-size: clamp(2.55rem, 12.5vw, 3.55rem); letter-spacing: -.06em; }
  .tool-title-row p { max-width: 100%; }
  .tool-meta span { max-width: 100%; white-space: normal; }
  .lab-hero-card { min-height: 330px; padding: 22px; border-radius: 25px; }
  .lab-section { padding: 66px 0; }
  .tool-card { padding: 23px; border-radius: 23px; }
  .diagnostic-panel,
  .result-panel,
  .method-card,
  .lab-lead-card { border-radius: 22px; }
  .diagnostic-fields .field-row,
  .lab-lead-form .field-row,
  .result-metrics { grid-template-columns: 1fr; }
  .diagnostic-fields .field-row > label,
  .lab-lead-form .field-row > label { grid-row: auto; grid-template-rows: auto auto; }
  @supports (grid-template-rows: subgrid) {
    .diagnostic-fields .field-row,
    .lab-lead-form .field-row { grid-template-rows: none; row-gap: 20px; }
  }
  .result-metrics article { min-height: 84px; }
  .result-actions { grid-template-columns: 1fr; }
  .lab-bottom-box { padding: 28px 23px; border-radius: 24px; }
  .lab-footer-links { width: 100%; margin-left: 0; }
}

@media (max-width: 420px) {
  .diagnostic-panel { padding: 22px 18px; }
  .diagnostic-fields input,
  .diagnostic-fields select,
  .lab-lead-form input,
  .lab-lead-form select { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tool-card { transition: none; }
}
