/* ============================================================================
   ELEKTROLAB - Технический отчёт электролаборатории
   Page-scoped stylesheet for ONE service page only.

   Everything below is namespaced under .elab-report-v2. Nothing here may reach
   the production header, footer, menus, popups, Contact Form 7 outside this
   page, or any other service in the `services` post type.

   Loaded only by inc/elab-report-v2.php, and only when the current single
   `services` post is the target slug.

   The declarations are the approved prototype's, copied verbatim; only the
   selectors were prefixed. Do not re-author the design here.
   ========================================================================= */

/* ---------------------------------------------------------------------------
   1. Self-hosted Manrope
   The production theme runs on Roboto; this face is used inside the namespace
   only, so no other page changes typeface.
   ------------------------------------------------------------------------ */
/* Manrope, self-hosted from the fonts already shipped with the project.
   Same faces next/font generated, only the URLs are portable instead of
   pointing at the absolute build-machine path. */
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-37facb2a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-c9a5f13c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-f00fa027.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-bd6e7fdc.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-76dcfc73.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-81401990.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------------------------------------------------------------------------
   2. Local reset
   The prototype was built on top of a Tailwind preflight that is NOT shipped
   to WordPress. These rules restore only what the approved layout depends on,
   and they neutralise the theme's global element styles that would otherwise
   bleed into the block, notably:

     style.css  h1..h6 { font-weight: 400 }
     style.css  h3     { font-weight: 500; font-size: 1.5rem; text-align: left;
                         color: #22262d; padding: 0 0 40px }
     style.css  :focus { outline: 0 }
     style.css  img, video { max-width: 100%; height: auto }

   Scoped to the namespace, so the theme keeps those rules everywhere else.
   ------------------------------------------------------------------------ */
.elab-report-v2,
.elab-report-v2 *,
.elab-report-v2 *::before,
.elab-report-v2 *::after { box-sizing: border-box; }

/* Headings inherit, exactly as the prototype's preflight had them: h1/h2 set
   font-weight 720 themselves, every h3 in the approved design renders at 400.
   Forcing a weight here would make the equipment, process and index headings
   heavier than the client approved. */
.elab-report-v2 { font-weight: 400; }
.elab-report-v2 h1,
.elab-report-v2 h2,
.elab-report-v2 h3,
.elab-report-v2 h4,
.elab-report-v2 h5,
.elab-report-v2 h6 {
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: inherit;
}

.elab-report-v2 p,
.elab-report-v2 figure,
.elab-report-v2 blockquote,
.elab-report-v2 dl,
.elab-report-v2 dd { margin: 0; }

.elab-report-v2 ul,
.elab-report-v2 ol { margin: 0; padding: 0; list-style: none; }

.elab-report-v2 button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}

.elab-report-v2 img,
.elab-report-v2 svg { display: block; vertical-align: middle; }
.elab-report-v2 img { max-width: 100%; }

.elab-report-v2 input,
.elab-report-v2 textarea,
.elab-report-v2 select { font: inherit; color: inherit; }

.elab-report-v2 strong,
.elab-report-v2 b { font-weight: 700; }

/* the theme sets :focus { outline: 0 } globally - keyboard focus is restored here */
.elab-report-v2 a:focus-visible,
.elab-report-v2 button:focus-visible,
.elab-report-v2 input:focus-visible,
.elab-report-v2 textarea:focus-visible,
.elab-report-v2 [tabindex]:focus-visible {
  outline: 3px solid rgba(47, 117, 255, .58);
  outline-offset: 3px;
}

/* the theme wraps page content in .section__inner (max-width 1170px, padding 50px 0);
   the approved page manages its own width and rhythm, so the wrapper is neutralised
   for this block only */
.elab-report-v2 { display: block; width: 100%; max-width: none; margin: 0; padding: 0 0 0; }

/* ---------------------------------------------------------------------------
   3. Approved prototype styles (verbatim declarations, prefixed selectors)
   ------------------------------------------------------------------------ */
/* ==== source: globals.css ==== */
/* typography token unchanged, now served by the self-hosted Manrope in fonts.css */
.elab-report-v2 { --font-manrope: "Manrope"; }
.elab-report-v2 { --elab-ink: #0d1b2f;
  --elab-ink-soft: #48566d;
  --elab-blue: #174bd8;
  --elab-blue-bright: #2f75ff;
  --elab-orange: #ff5b20;
  --elab-canvas: #eef6fc;
  --elab-tint: #e7f1f9;
  --elab-line: #cedce9;
  --elab-white: #ffffff;

  /* V3 surface system: three light roles instead of many near-identical tints */
  --elab-surface: #ffffff;
  --elab-surface-tint: #e3ebf5;
  --elab-surface-quiet: rgba(255,255,255,.72);
  --elab-stage: #f3f5f6;
  --elab-line-strong: #bccbdd;

  /* V3 dark trust cluster */
  --elab-dark: #0d1b2f;
  --elab-dark-step: #112441;
  --elab-dark-row: #16294a;
  --elab-dark-row-open: #1b3157;
  --elab-dark-line: rgba(144,171,208,.2);
  /* remaining trust-cluster surfaces, tokenised so a palette can move the whole cluster */
  --elab-dark-deep: #0e1f39;
  --elab-dark-panel: #14263f;
  --elab-dark-edge: rgba(13,27,47,.72);
  --elab-dark-edge-0: rgba(13,27,47,0);
  --elab-dark-deep-0: rgba(14,31,57,0);
  --elab-panel-a: #132640;
  --elab-panel-b: #0c192c;

  --elab-radius-l: 20px;
  --elab-radius-m: 14px;
  --elab-radius-s: 10px;
  --elab-shadow-card: 0 18px 40px rgba(37,58,87,.07);
  --elab-shadow-soft: 0 12px 26px rgba(37,58,87,.05); }
.elab-report-v2, .elab-report-v2 *, .elab-report-v2 *::before, .elab-report-v2 *::after { box-sizing: border-box; }
.elab-report-v2, .elab-report-v2 * { font-family: var(--font-manrope), Manrope, Inter, Arial, sans-serif; }
.elab-report-v2 { scroll-behavior: auto; }
.elab-report-v2 { margin: 0;
  overflow-x: clip;
  overflow-y: visible;
  background: var(--elab-canvas);
  color: var(--elab-ink);
  font-family: var(--font-manrope), Manrope, Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased; }
.elab-report-v2 button,
.elab-report-v2 a,
.elab-report-v2 input,
.elab-report-v2 textarea { font: inherit; }
.elab-report-v2 button { cursor: pointer; }
.elab-report-v2 a { color: inherit; text-decoration: none; }
.elab-report-v2 img { max-width: 100%; }
.elab-report-v2 ::selection { background: var(--elab-blue); color: #fff; }
.elab-report-v2 :focus-visible { outline: 3px solid rgba(47,117,255,.58); outline-offset: 3px; }
.elab-report-v2 .ui-arrow { display: block; flex: 0 0 16px; width: 16px; height: 16px; }
.elab-report-v2 .ui-arrow path { stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.elab-report-v2 .ui-chevron { display: block; flex: 0 0 12px; width: 12px; height: 8px; }
.elab-report-v2 .ui-chevron path { stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
/* Production header baseline - immutable site context */
.elab-report-v2 { --section-width: 1320px;
  --hero-progress: 0;
  position: relative;
  padding-bottom: 0;
  background: radial-gradient(circle at 86% 1%,rgba(47,117,255,.085),transparent 23%),linear-gradient(180deg,#e8f2fa 0,#edf5fb 245px,var(--elab-canvas) 560px); }
.elab-report-v2::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 260px; background: linear-gradient(180deg,rgba(16,71,214,.045),transparent 75%),linear-gradient(90deg,rgba(23,75,216,.03),transparent 36%,rgba(255,255,255,.26)); pointer-events: none; }
.elab-report-v2__breadcrumbs { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; width: min(var(--section-width),calc(100% - 64px)); min-height: 62px; margin: 0 auto; color: #66758b; font-size: 13px; }
.elab-report-v2__breadcrumbs::before { content: ""; flex: 0 0 24px; width: 24px; height: 2px; background: var(--elab-blue); }
.elab-report-v2__breadcrumbs a:hover { color: var(--elab-blue); }
.elab-report-v2 .hero { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 51% 49%;
  grid-template-rows: 1fr auto;
  width: min(var(--section-width),calc(100% - 64px));
  min-height: 680px;
  margin: 0 auto;
  overflow: visible;
  isolation: isolate;
  border: 1px solid rgba(175,195,220,.8);
  border-radius: 28px;
  background: radial-gradient(circle at 82% 22%,rgba(47,117,255,.12),transparent 30%),rgba(255,255,255,.98);
  box-shadow: 0 18px 46px rgba(31,57,92,.07); }
.elab-report-v2 .hero::before { content: ""; position: absolute; z-index: -1; inset: 0 41% 0 0; border-radius: 28px 0 0 28px; background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 80%,rgba(255,255,255,0)); }
.elab-report-v2 .hero__copy { position: relative; z-index: 4; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 58px 0 64px 56px; }
.elab-report-v2 .hero__eyebrow,
.elab-report-v2 .section-heading__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; color: var(--elab-blue); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.elab-report-v2 .hero__eyebrow i,
.elab-report-v2 .section-heading__eyebrow i { width: 26px; height: 2px; background: currentColor; }
.elab-report-v2 .hero h1 { max-width: 720px; margin: 0; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; font-size: clamp(46px,4vw,64px); font-weight: 720; line-height: .99; letter-spacing: -.052em; }
.elab-report-v2 .hero__copy > p { max-width: 590px; margin: 30px 0 0; color: var(--elab-ink-soft); font-size: 18px; line-height: 1.62; }
.elab-report-v2 .hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.elab-report-v2 .button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 14px; padding: 0 23px; border: 1px solid transparent; border-radius: 9px; font-size: 14px; font-weight: 800; transition: transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease; }
.elab-report-v2 .button:hover { transform: translateY(-2px); }
.elab-report-v2 .button--primary { background: var(--elab-orange); color: #fff; box-shadow: 0 12px 28px rgba(255,91,32,.2); }
.elab-report-v2 .button--primary:hover { background: #ee4d14; box-shadow: 0 16px 34px rgba(255,91,32,.28); }
.elab-report-v2 .button--secondary { border-color: #cbd7e7; background: rgba(255,255,255,.72); color: var(--elab-ink); }
.elab-report-v2 .button--secondary:hover { border-color: var(--elab-blue); color: var(--elab-blue); }
.elab-report-v2 .button--light { background: #fff; color: var(--elab-ink); }
.elab-report-v2 .hero__art { position: relative; z-index: 2; min-width: 0; align-self: stretch; }
.elab-report-v2 .signature-scene { position: absolute; inset: 8px -84px 14px -122px; pointer-events: none; }
.elab-report-v2 .signature-scene__svg { width: 100%; height: 100%; overflow: visible; }
.elab-report-v2 .signature-scene__ground { fill: none; stroke: #dbe5f1; stroke-width: 1.5; stroke-dasharray: 7 10; opacity: .65; }
.elab-report-v2 .signature-scene__document { opacity: 1; transform: translate(calc(var(--hero-progress)*10px),calc(var(--hero-progress)*-18px)); transform-origin: 700px 330px; transition: opacity .76s .4s ease,transform .9s .4s cubic-bezier(.18,.8,.2,1); }
.elab-report-v2 .signature-scene__document-back { fill: #dfe9f7; stroke: #c2d3e9; }
.elab-report-v2 .signature-scene__document-border { stroke: #9cb7dc; stroke-width: 2; }
.elab-report-v2 .signature-scene__document-accent { fill: var(--elab-blue); }
.elab-report-v2 .signature-scene__doc-kicker { fill: var(--elab-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.elab-report-v2 .signature-scene__doc-title { fill: #142741; font-size: 15px; font-weight: 800; letter-spacing: .02em; }
.elab-report-v2 .signature-scene__doc-row text { fill: #6c7d94; font-size: 10px; font-weight: 800; }
.elab-report-v2 .signature-scene__doc-row line { stroke: #a9bdd7; stroke-width: 4; stroke-linecap: round; opacity: 1; transform: none; transition: opacity .42s ease,transform .52s cubic-bezier(.2,.75,.2,1); }
.elab-report-v2 .signature-scene__doc-row--1 line { transition-delay: 1.04s; }
.elab-report-v2 .signature-scene__doc-row--2 line { transition-delay: 1.18s; }
.elab-report-v2 .signature-scene__doc-row--3 line { transition-delay: 1.32s; }
.elab-report-v2 .signature-scene__doc-row--4 line { transition-delay: 1.46s; }
.elab-report-v2 .signature-scene__doc-result { fill: #17304f; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.elab-report-v2 .signature-scene__route { stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.5s .16s cubic-bezier(.35,.05,.2,1); }
.elab-report-v2 .signature-scene__route-pulse { stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-dasharray: .035 .965; stroke-dashoffset: calc(1 - var(--hero-progress)); opacity: calc(.22 + var(--hero-progress)*.7); }
.elab-report-v2 .signature-scene__node { transform-box: fill-box; transform-origin: center; opacity: 1; scale: 1; transition: opacity .42s ease,scale .48s cubic-bezier(.2,.9,.3,1.2),transform .18s linear; }
.elab-report-v2 .signature-scene__node circle:first-child { fill: #fff; stroke: var(--elab-blue); stroke-width: 3; }
.elab-report-v2 .signature-scene__node circle:last-child { fill: var(--elab-orange); }
.elab-report-v2 .signature-scene__node--1 { transition-delay: .56s; transform: translateY(calc(var(--hero-progress)*-7px)); }
.elab-report-v2 .signature-scene__node--2 { transition-delay: .8s; transform: translateY(calc(var(--hero-progress)*9px)); }
.elab-report-v2 .signature-scene__node--3 { transition-delay: 1.04s; transform: translateY(calc(var(--hero-progress)*-8px)); }
.elab-report-v2 .signature-scene__node--4 { transition-delay: 1.4s; transform: translateY(calc(var(--hero-progress)*12px)); }
.elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__route { stroke-dashoffset: 1; }
.elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__document { opacity: 0; transform: translate(24px,20px) rotate(1.5deg); }
.elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__doc-row line { opacity: 0; transform: translateX(12px); }
.elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__node { opacity: 0; scale: .35; }
.elab-report-v2 .hero--motion-settled .signature-scene__document { transition: transform .18s linear; }
.elab-report-v2 .hero--motion-settled .signature-scene__doc-row line,
.elab-report-v2 .hero--motion-settled .signature-scene__node { transition-delay: 0s; }
.elab-report-v2 .signature-scene__handoff path { fill: none; stroke: var(--elab-orange); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--hero-progress)); }
.elab-report-v2 .signature-scene__handoff circle { fill: var(--elab-orange); opacity: var(--hero-progress); }
.elab-report-v2 .hero__facts { position: relative; z-index: 6; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); margin: 0 56px 28px; border-top: 1px solid var(--elab-line); }
.elab-report-v2 .hero__facts span { min-height: 60px; display: flex; align-items: center; gap: 13px; padding: 13px 20px 0 0; color: #35465e; font-size: 13.5px; font-weight: 700; letter-spacing: -.005em; }
.elab-report-v2 .hero__facts span::before { content: ""; width: 7px; height: 7px; border: 2px solid var(--elab-blue); border-radius: 50%; background: #fff; }
/* Hero -> Result: the signal continues into the proof rail instead of hanging in empty space */
.elab-report-v2 .hero-bridge { position: relative; width: min(var(--section-width),calc(100% - 64px)); height: 26px; margin: 0 auto; }
.elab-report-v2 .hero-bridge::before { content: ""; position: absolute; top: 0; right: 11.8%; width: 1px; height: 100%; background: linear-gradient(180deg,rgba(160,180,206,0),#93a9c4); }
/* the node sits on the result surface itself, so the signal reads as one flow */
.elab-report-v2 .hero-bridge span { position: absolute; right: calc(11.8% - 2.5px); bottom: -3px; width: 6px; height: 6px; border-radius: 50%; background: var(--elab-orange); box-shadow: 0 0 0 3px rgba(255,91,32,.12); }
.elab-report-v2 .trust-rail { display: grid; grid-template-columns: 1fr 1fr; width: min(var(--section-width),calc(100% - 64px)); min-height: 196px; margin: 0 auto 88px; overflow: hidden; border: 1px solid var(--elab-line); border-radius: var(--elab-radius-l); background: var(--elab-surface); box-shadow: var(--elab-shadow-soft); }
.elab-report-v2 .trust-rail__statement { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 38px 44px; border-right: 1px solid var(--elab-line); }
.elab-report-v2 .trust-rail__statement span { color: var(--elab-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.elab-report-v2 .trust-rail__statement strong { max-width: 640px; font-size: 27px; line-height: 1.26; letter-spacing: -.028em; }
/* Certificate teaser: controlled viewport onto the untouched license-01 original */
.elab-report-v2 .trust-rail__certificate { display: grid; grid-template-columns: minmax(0,1.46fr) minmax(140px,.54fr); align-items: center; gap: 18px; padding: 14px 18px 14px 14px; border: 0; background: var(--elab-surface-tint); color: var(--elab-ink); text-align: left; transition: background .25s ease; }
.elab-report-v2 .trust-rail__certificate:hover { background: #dae5f2; }
.elab-report-v2 .trust-rail__window { position: relative; display: block; width: 100%; aspect-ratio: 1.6; overflow: hidden; border: 1px solid var(--elab-line-strong); border-radius: var(--elab-radius-s); background: #fff; box-shadow: 0 8px 20px rgba(14,33,59,.11); }
.elab-report-v2 .trust-rail__window img { position: absolute; top: -3%; left: 50%; width: 108%; max-width: none; height: auto; transform: translateX(-50%); }
.elab-report-v2 .trust-rail__window::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 30%; background: linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.72) 52%,rgba(255,255,255,.97) 100%); }
.elab-report-v2 .trust-rail__caption { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
.elab-report-v2 .trust-rail__caption small { color: #55637a; font-size: 11px; font-weight: 600; line-height: 1.42; }
.elab-report-v2 .trust-rail__caption strong { font-size: 18px; line-height: 1.3; letter-spacing: -.02em; }
.elab-report-v2 .trust-rail__caption i { display: inline-flex; align-items: center; gap: 7px; margin-top: 2px; color: var(--elab-blue); font-size: 11.5px; font-style: normal; font-weight: 800; }
.elab-report-v2 .trust-rail__caption .ui-arrow { width: 13px; height: 13px; flex-basis: 13px; }
.elab-report-v2 .section { width: min(var(--section-width),calc(100% - 64px)); margin: 0 auto; padding: 94px 0; }
.elab-report-v2 .section-heading { display: grid; grid-template-columns: 1fr minmax(280px,430px); align-items: end; gap: 30px 64px; margin-bottom: 62px; }
.elab-report-v2 .section-heading__eyebrow { grid-column: 1 / -1; margin: 0 0 -4px; }
/* heading hierarchy: supporting sections stay below the major moments, H1 stays largest */
.elab-report-v2 .section-heading h2 { max-width: 830px; margin: 0; font-size: clamp(32px,3vw,44px); font-weight: 720; line-height: 1.06; letter-spacing: -.04em; }
.elab-report-v2 .section--cases .section-heading h2,
.elab-report-v2 .section--result .section-heading h2 { max-width: 900px; font-size: clamp(38px,3.5vw,54px); line-height: 1.03; letter-spacing: -.046em; }
.elab-report-v2 .section-heading > p { margin: 0; color: var(--elab-ink-soft); font-size: 16px; line-height: 1.65; }
.elab-report-v2 .section-heading__eyebrow--light { color: #8bb4ff; }
.elab-report-v2 .section--cases { padding-top: 36px; }
.elab-report-v2 .case-composition { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: minmax(180px,auto); gap: 18px; }
/* tinted cards are an editorial variation of the white ones, not a weaker state */
.elab-report-v2 .case-item { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 26px 30px 30px; border: 1px solid var(--elab-line-strong); border-radius: var(--elab-radius-l); background: #dee8f4; box-shadow: var(--elab-shadow-soft); transition: border-color .25s ease,transform .25s ease,box-shadow .25s ease; }
.elab-report-v2 .case-item:hover { transform: translateY(-3px); border-color: #a9bdd7; box-shadow: var(--elab-shadow-card); }
.elab-report-v2 .case-item--3,
.elab-report-v2 .case-item--5 { border-color: var(--elab-line); }
.elab-report-v2 .case-item--1 { grid-column: span 7; grid-row: span 2; min-height: 348px; padding-top: 30px; background-color: var(--elab-surface); background-image: repeating-linear-gradient(90deg,rgba(23,75,216,.085) 0 1px,transparent 1px 54px),repeating-linear-gradient(rgba(23,75,216,.085) 0 1px,transparent 1px 54px),linear-gradient(150deg,var(--elab-surface) 0%,#eaf1f9 100%); background-size: 100% 60%,100% 60%,100% 100%; background-repeat: no-repeat; }
.elab-report-v2 .case-item--2 { grid-column: span 5; }
.elab-report-v2 .case-item--3 { grid-column: span 5; background: var(--elab-surface); }
.elab-report-v2 .case-item--4 { grid-column: span 4; min-height: 230px; }
.elab-report-v2 .case-item--5 { grid-column: span 8; min-height: 230px; background: var(--elab-surface); }
.elab-report-v2 .case-item__number { margin: 0 0 auto; padding-bottom: 16px; color: var(--elab-blue); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
/* featured scenario: the index carries the composition, a construction baseline holds the empty half */
.elab-report-v2 .case-item--1 .case-item__number { position: absolute; top: 24px; left: 30px; margin: 0; padding: 0; color: rgba(23,75,216,.22); font-size: 138px; font-weight: 800; line-height: .78; letter-spacing: -.06em; }
.elab-report-v2 .case-item h3 { position: relative; z-index: 2; max-width: 500px; margin: 0 0 13px; font-size: 24px; line-height: 1.2; letter-spacing: -.025em; }
/* only the first lines clear the trace circle, the rest of the headline keeps full width */
.elab-report-v2 .case-item h3::before { content: ""; float: right; width: 76px; height: 54px; }
.elab-report-v2 .case-item--1 h3::before { display: none; }
.elab-report-v2 .case-item--1 h3 { max-width: 560px; font-size: 38px; }
.elab-report-v2 .case-item p { position: relative; z-index: 2; max-width: 500px; margin: 0; color: #4e5c72; font-size: 14px; line-height: 1.55; }
.elab-report-v2 .case-item__trace { position: absolute; top: 24px; right: 24px; width: 62px; height: 62px; border: 1px solid var(--elab-line); border-radius: 50%; }
.elab-report-v2 .case-item__trace::before,
.elab-report-v2 .case-item__trace::after { content: ""; position: absolute; inset: 50% auto auto 50%; background: var(--elab-blue); transform: translate(-50%,-50%); }
.elab-report-v2 .case-item__trace::before { width: 18px; height: 1px; }
.elab-report-v2 .case-item__trace::after { width: 5px; height: 5px; border-radius: 50%; }
.elab-report-v2 .case-item--1::after { content: ""; position: absolute; top: 46%; right: -1px; left: 30px; height: 26px; background: linear-gradient(#8ba7cc,#8ba7cc) 0 0 / 100% 1px no-repeat,repeating-linear-gradient(90deg,#a8bed7 0 1px,transparent 1px 26px) 0 0 / 100% 10px no-repeat; }
.elab-report-v2 .case-item--1::before { content: ""; position: absolute; top: 46%; left: 30px; width: 9px; height: 9px; border: 2px solid var(--elab-blue); border-radius: 50%; background: var(--elab-surface); transform: translate(-50%,-50%); }
/* dark surfaces meet the canvas through a short tonal step, not a soft haze band */
.elab-report-v2 .section--result { position: relative; width: 100%; max-width: none; margin-top: 24px; padding: 114px max(32px,calc((100% - var(--section-width))/2)); background: linear-gradient(180deg,var(--elab-dark-edge-0) 0,var(--elab-dark-edge) 5px,var(--elab-dark) 12px,var(--elab-dark) calc(100% - 12px),var(--elab-dark-edge) calc(100% - 5px),var(--elab-dark-edge-0) 100%); color: #fff; }
.elab-report-v2 .section--result .section-heading > p { color: #91a0b7; }
.elab-report-v2 .section--result .section-heading__eyebrow { color: #85afff; }
.elab-report-v2 .report-system { position: relative; max-width: var(--section-width); margin: 0 auto; overflow: hidden; border: 1px solid rgba(145,175,218,.26); border-radius: var(--elab-radius-l); background: linear-gradient(145deg,var(--elab-panel-a) 0%,var(--elab-panel-b) 74%); box-shadow: 0 28px 70px rgba(0,0,0,.22); }
.elab-report-v2 .report-system::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(139,172,220,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(139,172,220,.055) 1px,transparent 1px); background-size: 32px 32px; pointer-events: none; }
.elab-report-v2 .report-system__top { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 38px 42px 34px; border-bottom: 1px solid rgba(153,179,215,.2); }
.elab-report-v2 .report-system__top span { color: #7faeff; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.elab-report-v2 .report-system__top h3 { margin: 12px 0 0; font-size: 34px; letter-spacing: -.035em; }
.elab-report-v2 .report-system__top p { display: flex; align-items: center; gap: 10px; margin: 0; color: #a8b5c7; font-size: 12px; }
.elab-report-v2 .report-system__top p i { width: 7px; height: 7px; border-radius: 50%; background: var(--elab-orange); box-shadow: 0 0 0 6px rgba(255,91,32,.12); }
.elab-report-v2 .report-system__rows { position: relative; padding: 0 42px; }
.elab-report-v2 .report-system__row { display: grid; grid-template-columns: 50px minmax(0,1fr) 250px 14px; align-items: center; min-height: 68px; border-bottom: 1px solid rgba(148,176,213,.16); }
.elab-report-v2 .report-system__row > span { color: #7290b7; font-size: 10px; font-weight: 800; }
.elab-report-v2 .report-system__row strong { padding-right: 20px; font-size: 15px; }
.elab-report-v2 .report-system__row small { color: #8290a4; font-size: 12px; }
.elab-report-v2 .report-system__row > i { width: 7px; height: 7px; border: 1px solid #4f7ab5; border-radius: 50%; box-shadow: inset 0 0 0 2px #101f35; background: #6b9cff; }
.elab-report-v2 .report-system__bottom { position: relative; display: flex; align-items: center; gap: 28px; min-height: 84px; padding: 22px 42px; color: #7f8da1; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.elab-report-v2 .report-system__bottom > div { display: flex; height: 22px; align-items: flex-end; gap: 10px; margin-left: auto; }
.elab-report-v2 .report-system__bottom > div i { width: 1px; height: 8px; background: #4c6280; }
.elab-report-v2 .report-system__bottom > div i:nth-child(5n+1) { height: 18px; background: #6e8eb8; }
.elab-report-v2 .section--measurements { padding-top: 104px; }
/* one measurement chain: the schema is the source, the rows are the points on it */
.elab-report-v2 .measurements-layout { display: grid; grid-template-columns: minmax(280px,.68fr) 1.32fr; gap: 48px; align-items: start; }
.elab-report-v2 .measurement-schema { position: sticky; top: 28px; overflow: hidden; border: 1px solid var(--elab-line-strong); border-radius: var(--elab-radius-l); background: var(--elab-surface); box-shadow: var(--elab-shadow-soft); }
.elab-report-v2 .measurement-schema__head { padding: 24px 26px 18px; }
.elab-report-v2 .measurement-schema__head small { display: block; margin-bottom: 10px; color: var(--elab-blue); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.elab-report-v2 .measurement-schema__head strong { font-size: 27px; line-height: 1.14; letter-spacing: -.035em; }
/* conditional route object: one continuous path through seven checkpoints - sequence, never a value */
.elab-report-v2 .measurement-schema__stage { position: relative; padding: 16px 18px; border-top: 1px solid var(--elab-line); border-bottom: 1px solid var(--elab-line); background-color: #fbfdff; background-image: linear-gradient(rgba(120,152,192,.26) 1px,transparent 1px),linear-gradient(90deg,rgba(120,152,192,.26) 1px,transparent 1px),linear-gradient(rgba(133,163,199,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(133,163,199,.14) 1px,transparent 1px); background-size: 104px 104px,104px 104px,26px 26px,26px 26px; }
.elab-report-v2 .measurement-route { display: block; width: 100%; height: auto; overflow: visible; }
.elab-report-v2 .measurement-route--mobile { display: none; }
.elab-report-v2 .measurement-route__bed { stroke: rgba(120,152,192,.34); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.elab-report-v2 .measurement-route__track { stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.elab-report-v2 .measurement-route__ring { stroke: var(--elab-blue-bright); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; transition: opacity .22s ease,transform .22s ease; }
.elab-report-v2 .measurement-route__dot { fill: #fff; stroke: var(--elab-blue); stroke-width: 3; transform-box: fill-box; transform-origin: center; transition: transform .22s ease; }
.elab-report-v2 .measurement-route__label { fill: #6a7b93; font-size: 10.5px; font-weight: 800; letter-spacing: .07em; }
.elab-report-v2 .measurement-route__node--last .measurement-route__dot { stroke: var(--elab-orange); }
.elab-report-v2 .measurement-route__node--last .measurement-route__ring { stroke: var(--elab-orange); }
.elab-report-v2 .measurement-route__node--last .measurement-route__label { fill: #b4592f; }
.elab-report-v2 .measurement-route__node { opacity: 0; }
/* pending: grid and bed are already calm and ready, the signal has not been drawn yet */
.elab-report-v2 [data-route="settled"] .measurement-route__track { stroke-dashoffset: 0; }
.elab-report-v2 [data-route="settled"] .measurement-route__node { opacity: 1; }
.elab-report-v2 [data-route="running"] .measurement-route__track { animation: route-draw 1.9s cubic-bezier(.62,.05,.3,1) forwards; }
.elab-report-v2 [data-route="running"] .measurement-route__node { animation: route-node-in .3s ease-out forwards; animation-delay: calc(var(--at) * 1.9s); }
.elab-report-v2 [data-route="running"] .measurement-route__ring { animation: route-node-pulse .62s ease-out; animation-delay: calc(var(--at) * 1.9s); }
.elab-report-v2 [data-route="running"] .measurement-list li > span { animation: route-index-pulse .6s ease-out; animation-delay: calc(var(--at) * 1.9s); }
/* desktop link between the two halves: hovering a row lifts its checkpoint */
.elab-report-v2 .measurement-route__node.is-active .measurement-route__ring { opacity: .5; transform: scale(1.08); }
.elab-report-v2 .measurement-route__node.is-active .measurement-route__dot { transform: scale(1.18); }
@keyframes route-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes route-node-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes route-node-pulse { 0% { opacity: .85; transform: scale(.45); } 70% { opacity: .3; } 100% { opacity: 0; transform: scale(1.25); } }
@keyframes route-index-pulse { 0%,100% { color: var(--elab-blue); } 45% { color: var(--elab-orange); } }
.elab-report-v2 .measurement-schema__note { margin: 0; padding: 14px 26px 18px; color: #64738a; font-size: 11px; line-height: 1.45; }
.elab-report-v2 .measurement-schema__note i { font-style: normal; white-space: nowrap; }
.elab-report-v2 .measurement-list { position: relative; margin: 0; padding: 4px 0 4px 26px; border: 0; border-radius: 0; background: transparent; box-shadow: none; list-style: none; }
.elab-report-v2 .measurement-list::before { content: ""; position: absolute; top: 16px; bottom: 20px; left: 4px; width: 1px; background: linear-gradient(180deg,var(--elab-blue),#a9bdd5 62%,var(--elab-orange)); }
.elab-report-v2 .measurement-list li { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 20px 0 20px 18px; border-bottom: 1px solid var(--elab-line); }
.elab-report-v2 .measurement-list li:last-child { border-bottom: 0; }
/* node on the chain plus the connector that ties the row to it */
.elab-report-v2 .measurement-list li::before { content: ""; position: absolute; top: 29px; left: -26px; width: 22px; height: 1px; background: #b8c8dc; }
.elab-report-v2 .measurement-list li::after { content: ""; position: absolute; top: 25px; left: -30px; width: 9px; height: 9px; border: 2px solid var(--elab-canvas); border-radius: 50%; background: var(--elab-blue); box-shadow: 0 0 0 1px #8ba6c9; }
.elab-report-v2 .measurement-list li:last-child::after { background: var(--elab-orange); box-shadow: 0 0 0 1px #dda58e; }
.elab-report-v2 .measurement-list li > span { color: var(--elab-blue); font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.elab-report-v2 .measurement-list h3 { margin: 0 0 7px; font-size: 22px; line-height: 1.2; letter-spacing: -.025em; }
.elab-report-v2 .measurement-list p { margin: 0; max-width: 560px; color: #55647a; font-size: 14px; line-height: 1.55; }
.elab-report-v2 .calculation { position: relative; display: grid; grid-template-columns: 1.08fr .72fr; width: min(var(--section-width),calc(100% - 64px)); margin: 44px auto 0; overflow: hidden; border: 1px solid var(--elab-line); border-radius: var(--elab-radius-l); background: linear-gradient(145deg,#fff 0%,#f7fbfe 60%,#eaf2f9 100%); color: var(--elab-ink); box-shadow: var(--elab-shadow-card); }
.elab-report-v2 .calculation::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 7px; background: linear-gradient(180deg,var(--elab-blue),var(--elab-orange)); }
.elab-report-v2 .calculation::after { content: ""; position: absolute; top: -180px; left: 34%; width: 380px; height: 380px; border: 1px solid rgba(23,75,216,.1); border-radius: 50%; box-shadow: 0 0 0 44px rgba(23,75,216,.025),0 0 0 88px rgba(23,75,216,.015); pointer-events: none; }
.elab-report-v2 .calculation__copy { position: relative; z-index: 1; padding: 66px 62px 70px; border-right: 1px solid var(--elab-line); }
.elab-report-v2 .calculation__copy h2 { max-width: 620px; margin: 0; font-size: clamp(31px,2.8vw,42px); line-height: 1.07; letter-spacing: -.038em; }
.elab-report-v2 .calculation__copy p { max-width: 520px; margin: 25px 0 34px; color: var(--elab-ink-soft); font-size: 16px; line-height: 1.65; }
.elab-report-v2 .calculation__factors { position: relative; z-index: 1; padding: 32px 42px; background: rgba(237,245,251,.72); color: var(--elab-ink); }
.elab-report-v2 .calculation__factors div { display: grid; grid-template-columns: 50px 1fr; min-height: 74px; align-items: center; border-bottom: 1px solid var(--elab-line); }
.elab-report-v2 .calculation__factors div:last-child { border-bottom: 0; }
.elab-report-v2 .calculation__factors span { color: var(--elab-blue); font-size: 10px; font-weight: 800; }
.elab-report-v2 .calculation__factors strong { font-size: 16px; }
/* one surface for the process section instead of card inside card */
.elab-report-v2 .section--steps { --timeline-progress: 0; margin-top: 72px; padding: 78px 0 62px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.elab-report-v2 .section--steps .section-heading { margin-bottom: 42px; }
.elab-report-v2 .process-line { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 0; overflow: hidden; padding-top: 0; border: 1px solid var(--elab-line); border-radius: var(--elab-radius-l); background: var(--elab-surface-quiet); box-shadow: var(--elab-shadow-soft); }
.elab-report-v2 .process-line__track { position: absolute; z-index: 1; top: 69px; left: 28px; right: 28px; height: 2px; background: var(--elab-line); }
.elab-report-v2 .process-line__track span { display: block; width: calc(var(--timeline-progress)*100%); height: 100%; background: linear-gradient(90deg,var(--elab-blue),var(--elab-orange)); transition: width .12s linear; }
.elab-report-v2 .process-line article { position: relative; min-width: 0; min-height: 196px; padding: 100px 24px 25px; border-right: 1px solid var(--elab-line); }
.elab-report-v2 .process-line article:nth-of-type(even) { background: rgba(230,237,246,.5); }
.elab-report-v2 .process-line article:last-child { border-right: 0; }
.elab-report-v2 .process-line article > span { position: absolute; z-index: 2; top: 29px; left: 27px; color: #66758b; font-size: 10px; font-weight: 800; }
.elab-report-v2 .process-line article > i { position: absolute; z-index: 2; top: 61px; left: 27px; width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%; background: var(--elab-blue); box-shadow: 0 0 0 1px #91aacb; }
.elab-report-v2 .process-line article:last-child > i { background: var(--elab-orange); }
.elab-report-v2 .process-line h3 { margin: 0 0 10px; font-size: 19px; letter-spacing: -.025em; }
.elab-report-v2 .process-line p { max-width: 205px; margin: 0; color: #5f6e83; font-size: 13px; line-height: 1.58; }
/* Equipment as one engineered stage: intro and instruments share a single technical surface */
.elab-report-v2 .section--equipment { --equipment-surface: #f3f5f6; display: block; margin-top: 34px; margin-bottom: 34px; padding: 52px 46px 54px; border: 1px solid var(--elab-line); border-radius: var(--elab-radius-l); background-color: var(--equipment-surface); box-shadow: var(--elab-shadow-soft); }
.elab-report-v2 .equipment-intro { display: grid; grid-template-columns: 1fr minmax(280px,430px); gap: 0 60px; align-items: start; margin-bottom: 40px; }
.elab-report-v2 .equipment-intro .section-heading__eyebrow { grid-column: 1 / -1; margin-bottom: 16px; }
.elab-report-v2 .equipment-intro h2 { grid-column: 1; grid-row: 2 / 4; max-width: 520px; margin: 0; font-size: clamp(30px,2.9vw,44px); line-height: 1.06; letter-spacing: -.04em; }
.elab-report-v2 .equipment-intro p { grid-column: 2; grid-row: 2; max-width: 430px; margin: 4px 0 18px; color: #58667a; font-size: 15px; line-height: 1.7; }
.elab-report-v2 .equipment-intro > a { grid-column: 2; grid-row: 3; align-self: start; color: var(--elab-blue); font-size: 13px; font-weight: 800; }
.elab-report-v2 .equipment-strip { display: grid; grid-template-columns: repeat(9,1fr); grid-template-rows: repeat(2,380px); gap: 0; }
.elab-report-v2 .equipment-strip:focus-visible,
.elab-report-v2 .review-strip:focus-visible,
.elab-report-v2 .equipment-item:focus-visible { outline: 3px solid rgba(47,117,255,.42); outline-offset: 4px; }
/* One card surface for every instrument: the media stage is a zone of the card, not a nested frame */
.elab-report-v2 .equipment-item { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.elab-report-v2 .equipment-item--1 { grid-column: 1 / 7; grid-row: 1 / 3; padding-right: 34px; border-right: 1px solid rgba(120,152,192,.32); }
.elab-report-v2 .equipment-item--2 { grid-column: 7 / 10; grid-row: 1; padding-left: 34px; padding-bottom: 26px; border-bottom: 1px solid rgba(120,152,192,.32); }
.elab-report-v2 .equipment-item--3 { grid-column: 7 / 10; grid-row: 2; padding-top: 26px; padding-left: 34px; }
/* editorial equipment card: the instrument owns the card surface, the information sits on it */
.elab-report-v2 .equipment-item__media { position: absolute; z-index: 0; inset: 28px 34px var(--eq-stage-bottom,150px) 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(120,152,192,.3); border-radius: var(--elab-radius-m); background: var(--equipment-surface); transition: border-color .26s ease; }
.elab-report-v2 .equipment-item--1 { --eq-stage-bottom: 176px; }
.elab-report-v2 .equipment-item--2,
.elab-report-v2 .equipment-item--3 { --eq-stage-bottom: 132px; }
.elab-report-v2 .equipment-item--2 .equipment-item__media,
.elab-report-v2 .equipment-item--3 .equipment-item__media { inset: 28px 0 var(--eq-stage-bottom) 34px; }
/* the safe zone is the picture inset, so the image box always matches the stage exactly */
.elab-report-v2 .equipment-item__media picture { position: absolute; inset: var(--eq-safe,16px); display: block; }
/* one shared stage scale for the whole family: the normalized rasters now carry the same
   neutral ground, so this only controls optical density, never a per-instrument offset */
/* one media system: every instrument sits in the same stage with the same safe zone.
   --eq-scale / --eq-y are per-asset optical corrections (each source photo carries a different
   amount of built-in air and a different content centre), measured from the files themselves. */
.elab-report-v2 .equipment-item__media img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; object-position: 50% var(--eq-y,50%); transform: scale(var(--eq-scale,1)); transition: transform .26s cubic-bezier(.2,.6,.2,1); }
.elab-report-v2 .equipment-item--1 { --eq-scale: 1.06; --eq-y: 58%; }
.elab-report-v2 .equipment-item--2 { --eq-scale: 1.12; --eq-y: 44%; }
.elab-report-v2 .equipment-item--3 { --eq-scale: 1.08; --eq-y: 52%; }
/* desktop pointer only: the asset breathes inside a stage that never moves */
@media (hover: hover) and (pointer: fine) {
  .elab-report-v2 .equipment-item:hover .equipment-item__media img,
  .elab-report-v2 .equipment-item:focus-visible .equipment-item__media img { transform: scale(calc(var(--eq-scale,1) * 1.022)); }
  .elab-report-v2 .equipment-item:hover .equipment-item__media,
  .elab-report-v2 .equipment-item:focus-visible .equipment-item__media { border-color: rgba(105,138,181,.46); }
}
.elab-report-v2 .equipment-item__content { position: relative; z-index: 1; display: flex; height: 100%; min-height: 0; flex: 1 1 auto; flex-direction: column; justify-content: space-between; padding: 0; }
.elab-report-v2 .equipment-item--1 .equipment-item__content { padding: 0; }
.elab-report-v2 .equipment-item__meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.elab-report-v2 .equipment-item__meta > span { color: var(--elab-blue); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.elab-report-v2 .equipment-item--1 .equipment-item__meta > span { font-size: 13px; }
.elab-report-v2 .equipment-item__meta > small { margin: 0; color: #6f7f96; font-size: 8.5px; }
.elab-report-v2 .equipment-item--1 .equipment-item__meta > small { font-size: 9.5px; }
/* the caption block closes the card: the stage tone resolves into the information surface */
/* instruments stand on a technical baseline, the information sits on the same surface */
.elab-report-v2 .equipment-item__info { margin: 0; padding: 0; background: transparent; }
.elab-report-v2 .equipment-item--1 .equipment-item__info { margin: 0; padding: 0; }
.elab-report-v2 .equipment-item h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.12; letter-spacing: -.028em; }
.elab-report-v2 .equipment-item--1 h3 { margin: 0 0 18px; font-size: 46px; letter-spacing: -.045em; }
.elab-report-v2 .equipment-item small { display: block; margin: 0 0 5px; color: #8793a5; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.elab-report-v2 .equipment-item__purpose { padding-top: 13px; border-top: 1px solid var(--elab-line); }
.elab-report-v2 .equipment-item--1 .equipment-item__purpose { display: grid; grid-template-columns: 118px 1fr; gap: 20px; align-items: start; padding-top: 16px; }
.elab-report-v2 .equipment-item--1 .equipment-item__purpose small { margin: 0; padding-top: 3px; }
.elab-report-v2 .equipment-item p { max-width: 470px; margin: 0; color: #5f6e83; font-size: 12.5px; line-height: 1.5; }
.elab-report-v2 .equipment-item--1 p { max-width: 360px; font-size: 14px; line-height: 1.55; }
/* Dark trust cluster: proof opens it, FAQ continues it, the cluster ends after FAQ */
.elab-report-v2 .proof-section { display: grid; grid-template-columns: minmax(320px,.72fr) 1.28fr; gap: 26px; padding: 112px max(32px,calc((100% - var(--section-width))/2)) 48px; background: linear-gradient(180deg,var(--elab-dark-edge-0) 0,var(--elab-dark-edge) 5px,var(--elab-dark) 12px,var(--elab-dark) 100%); color: #fff; }
.elab-report-v2 .proof-section__heading { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr minmax(280px,430px); align-items: end; gap: 28px 60px; margin-bottom: 36px; }
.elab-report-v2 .proof-section__heading .section-heading__eyebrow { grid-column: 1 / -1; margin-bottom: -4px; }
.elab-report-v2 .proof-section__heading h2 { max-width: 850px; margin: 0; font-size: clamp(38px,3.5vw,54px); line-height: 1.04; letter-spacing: -.046em; }
.elab-report-v2 .proof-section__heading p { margin: 0; color: #91a0b7; line-height: 1.65; }
.elab-report-v2 .proof-section__licenses,
.elab-report-v2 .review-board { min-width: 0; padding: 28px; border: 1px solid var(--elab-dark-line); border-radius: var(--elab-radius-l); background: var(--elab-dark-panel); }
.elab-report-v2 .proof-section__subheading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; color: #b7c3d4; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.elab-report-v2 .proof-section__subheading a { display: inline-flex; align-items: center; gap: 6px; color: #80aaff; font-size: 10px; }
.elab-report-v2 .proof-section__subheading .ui-arrow { width: 13px; height: 13px; flex-basis: 13px; }
.elab-report-v2 .license-pair { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.elab-report-v2 .license-pair button,
.elab-report-v2 .review-strip button { position: relative; overflow: hidden; padding: 0; border: 1px solid rgba(155,181,216,.28); border-radius: var(--elab-radius-m); background: #fff; color: var(--elab-ink); text-align: left; }
.elab-report-v2 .license-pair button,
.elab-report-v2 .review-strip button { transition: border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.elab-report-v2 .license-pair button:hover,
.elab-report-v2 .review-strip button:hover { border-color: rgba(125,171,237,.72); box-shadow: 0 14px 30px rgba(0,0,0,.18); transform: translateY(-2px); }
.elab-report-v2 .proof-document__matte { display: grid; width: 100%; aspect-ratio: .71; place-items: center; overflow: hidden; padding: 7px; background: #eef2f6; }
.elab-report-v2 .proof-document__matte img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; transform: none; }
.elab-report-v2 .proof-document__caption { display: flex; align-items: center; justify-content: space-between; padding: 14px 15px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.elab-report-v2 .proof-document__caption i { color: var(--elab-blue); font-style: normal; }
.elab-report-v2 .proof-document__caption .ui-arrow { width: 14px; height: 14px; }
.elab-report-v2 .review-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.elab-report-v2 .section--faq { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; width: 100%; max-width: none; padding: 46px max(32px,calc((100% - var(--section-width))/2)) 74px; background: linear-gradient(180deg,var(--elab-dark) 0,var(--elab-dark-step) 120px,var(--elab-dark-step) 100%); color: #fff; }
/* breathing point between the two dark blocks */
.elab-report-v2 .section--faq::before { content: ""; position: absolute; top: 0; right: max(32px,calc((100% - var(--section-width))/2)); left: max(32px,calc((100% - var(--section-width))/2)); height: 1px; background: rgba(144,171,208,.17); }
.elab-report-v2 .section--faq .section-heading { display: block; margin: 0; }
.elab-report-v2 .section--faq .section-heading__eyebrow { margin-bottom: 25px; color: #85afff; }
.elab-report-v2 .section--faq .section-heading h2 { color: #fff; }
.elab-report-v2 .section--faq .section-heading > p { max-width: 460px; margin-top: 24px; color: #93a4bb; }
.elab-report-v2 .faq-list { display: grid; gap: 10px; overflow: visible; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.elab-report-v2 .faq-list article { overflow: hidden; border: 1px solid var(--elab-dark-line); border-radius: var(--elab-radius-m); background: var(--elab-dark-row); transition: background .25s ease,border-color .25s ease; }
.elab-report-v2 .faq-list article:hover { border-color: rgba(150,180,225,.34); }
.elab-report-v2 .faq-list article.is-open { border-color: rgba(150,180,225,.36); background: var(--elab-dark-row-open); }
.elab-report-v2 .faq-list article > button { display: grid; grid-template-columns: 44px 1fr 40px; width: 100%; min-height: 82px; align-items: center; gap: 16px; padding: 12px 22px; border: 0; background: transparent; color: #fff; text-align: left; }
.elab-report-v2 .faq-list article > button > span { color: #7faeff; font-size: 10px; font-weight: 800; }
.elab-report-v2 .faq-list article > button strong { font-size: 16.5px; line-height: 1.4; }
.elab-report-v2 .faq-list article > button i { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(152,182,226,.34); border-radius: 50%; color: #9dc0ff; font-style: normal; font-size: 18px; }
.elab-report-v2 .faq-list__answer { display: grid; grid-template-rows: 0fr; visibility: hidden; opacity: 0; transition: grid-template-rows .3s ease,opacity .25s ease,visibility 0s linear .3s; }
.elab-report-v2 .faq-list__answer > div { min-height: 0; overflow: hidden; }
.elab-report-v2 .faq-list article.is-open .faq-list__answer { grid-template-rows: 1fr; visibility: visible; opacity: 1; transition: grid-template-rows .3s ease,opacity .25s ease; }
.elab-report-v2 .faq-list__answer p { margin: -2px 40px 24px 82px; color: #9fb0c6; font-size: 14px; line-height: 1.65; }
/* Third part of the dark cluster: service navigation on the same deep navy surface */
.elab-report-v2 .related { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; width: 100%; max-width: none; margin: 0; padding: 56px max(32px,calc((100% - var(--section-width))/2)) 64px; background: linear-gradient(180deg,var(--elab-dark-step) 0,var(--elab-dark-deep) 46%,var(--elab-dark-deep) calc(100% - 12px),var(--elab-dark-deep-0) 100%); color: #fff; }
.elab-report-v2 .related::before { content: ""; position: absolute; top: 0; right: max(32px,calc((100% - var(--section-width))/2)); left: max(32px,calc((100% - var(--section-width))/2)); height: 1px; background: rgba(144,171,208,.17); }
.elab-report-v2 .related .section-heading__eyebrow { color: #85afff; }
.elab-report-v2 .related h2 { max-width: 520px; margin: 0; color: #fff; font-size: clamp(26px,2.3vw,33px); line-height: 1.14; letter-spacing: -.032em; }
.elab-report-v2 .related__intro p { max-width: 340px; margin: 20px 0 0; color: #93a4bb; font-size: 15px; line-height: 1.62; }
.elab-report-v2 .related__links { display: grid; gap: 10px; overflow: visible; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
/* every service is the same navigation row: one geometry, one surface, one border, no selected state */
.elab-report-v2 .related__links a { position: relative; display: grid; grid-template-columns: 50px 1fr 42px; gap: 12px; min-height: 76px; align-items: center; padding: 0 18px; border: 1px solid var(--elab-dark-line); border-radius: var(--elab-radius-m); background: var(--elab-dark-row); transition: background .2s ease,border-color .2s ease,color .2s ease; }
.elab-report-v2 .related__links a:hover { border-color: rgba(150,180,225,.34); background: var(--elab-dark-row-open); color: #9dc0ff; }
.elab-report-v2 .related__links span { color: #7faeff; font-size: 10px; font-weight: 800; }
.elab-report-v2 .related__links strong { font-size: 16px; }
.elab-report-v2 .related__links i { color: #8bb4ff; font-style: normal; }
.elab-report-v2 .related__links .ui-arrow { width: 15px; height: 15px; }
/* Cobalt action surface: ambient edges instead of a hard presentation rectangle, UI stays crisp */
.elab-report-v2 .request-section { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .92fr; gap: 84px; width: min(var(--section-width),calc(100% - 64px)); margin: 64px auto 104px; overflow: visible; isolation: isolate; padding: 82px 72px 86px; border: 0; border-radius: 0; background: none; color: #fff; box-shadow: none; }
.elab-report-v2 .request-section::before { content: ""; position: absolute; z-index: -1; inset: -18px -10px; border-radius: 34px;
  background-image: linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),radial-gradient(126% 128% at 18% 2%,#2a5fe4 0%,#1c4ac6 30%,#153c9c 56%,#102a5f 100%);
  background-size: 38px 38px,38px 38px,auto;
  -webkit-mask-image: radial-gradient(96% 98% at 50% 46%,#000 78%,rgba(0,0,0,.72) 92%,rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(96% 98% at 50% 46%,#000 78%,rgba(0,0,0,.72) 92%,rgba(0,0,0,0) 100%);
  pointer-events: none; }
.elab-report-v2 .request-section::after { content: ""; position: absolute; z-index: -2; inset: -26px -16px; border-radius: 44px; background: radial-gradient(ellipse at center,rgba(23,75,216,.09) 0%,rgba(23,75,216,.035) 60%,rgba(238,246,252,0) 84%); pointer-events: none; }
.elab-report-v2 .request-section__copy,
.elab-report-v2 .request-form { position: relative; z-index: 2; }
.elab-report-v2 .request-section__copy h2 { max-width: 650px; margin: 0; font-size: clamp(36px,3.3vw,50px); line-height: 1.05; letter-spacing: -.045em; }
.elab-report-v2 .request-section__copy > p { max-width: 560px; margin: 27px 0 0; color: #c5d4ec; font-size: 16px; line-height: 1.7; }
.elab-report-v2 .request-section__signal { position: relative; width: 88%; height: 86px; margin-top: 42px; }
.elab-report-v2 .request-section__signal span { position: absolute; top: 42px; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg,#6d9cff,#fff,var(--elab-orange)); }
.elab-report-v2 .request-section__signal i { position: absolute; top: 35px; width: 16px; height: 16px; border: 4px solid #1648c6; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #8aacf0; }
.elab-report-v2 .request-section__signal i:nth-of-type(1) { left: 12%; }
.elab-report-v2 .request-section__signal i:nth-of-type(2) { left: 52%; }
.elab-report-v2 .request-section__signal i:nth-of-type(3) { right: 0; background: var(--elab-orange); }
.elab-report-v2 .request-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; align-self: center; padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--elab-radius-l); background: rgba(8,26,60,.4); box-shadow: none; }
.elab-report-v2 .request-form label { display: flex; flex-direction: column; gap: 9px; color: #d2ddee; font-size: 11px; font-weight: 700; }
.elab-report-v2 .request-form input,
.elab-report-v2 .request-form textarea { width: 100%; border: 1px solid rgba(198,218,248,.46); border-radius: var(--elab-radius-s); outline: 0; background: rgba(255,255,255,.13); color: #fff; }
.elab-report-v2 .request-form input { height: 52px; padding: 0 15px; }
.elab-report-v2 .request-form textarea { resize: vertical; min-height: 92px; padding: 14px 15px; }
.elab-report-v2 .request-form input::placeholder,
.elab-report-v2 .request-form textarea::placeholder { color: #8fa2bd; }
.elab-report-v2 .request-form input:focus,
.elab-report-v2 .request-form textarea:focus { border-color: #8bb2ff; box-shadow: 0 0 0 3px rgba(126,170,255,.15); }
.elab-report-v2 .request-form__wide { grid-column: 1 / -1; }
.elab-report-v2 .request-form__consent { grid-column: 1 / -1; display: flex !important; flex-direction: row !important; align-items: center; }
.elab-report-v2 .request-form__consent input { flex: 0 0 16px; width: 16px; height: 16px; accent-color: var(--elab-orange); }
.elab-report-v2 .request-form__submit { grid-column: 1 / -1; border: 0; }
.elab-report-v2 .request-form__notice { grid-column: 1 / -1; margin: 0; color: #d8e5f8; font-size: 12px; line-height: 1.5; }
/* Production footer baseline - immutable site context */
.elab-report-v2 [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .7s ease,transform .8s cubic-bezier(.2,.75,.2,1); }
.elab-report-v2 [data-reveal].is-visible { opacity: 1; transform: none; }
.elab-report-v2 .case-composition [data-reveal]:nth-child(2),
.elab-report-v2 .measurement-list [data-reveal]:nth-child(2),
.elab-report-v2 .equipment-strip [data-reveal]:nth-child(2) { transition-delay: .07s; }
.elab-report-v2 .case-composition [data-reveal]:nth-child(3),
.elab-report-v2 .measurement-list [data-reveal]:nth-child(3),
.elab-report-v2 .equipment-strip [data-reveal]:nth-child(3) { transition-delay: .14s; }
.elab-report-v2 .case-composition [data-reveal]:nth-child(4),
.elab-report-v2 .measurement-list [data-reveal]:nth-child(4) { transition-delay: .1s; }
@media (max-width: 1180px) {
  /* real Manrope is wider than the fallback: the longest step label needs a bit more room here */
  .elab-report-v2 .process-line h3 { font-size: 17px; }
  .elab-report-v2 .process-line article { padding-right: 16px; padding-left: 16px; }
  .elab-report-v2 .process-line article > span,
  .elab-report-v2 .process-line article > i { left: 18px; }
  /* narrower columns: the trace circle and its clearance shrink so headlines keep their line count */
  .elab-report-v2 .case-item__trace { top: 20px; right: 20px; width: 50px; height: 50px; }
  .elab-report-v2 .case-item h3::before { width: 62px; height: 46px; }
  .elab-report-v2 .case-item:not(.case-item--1) h3 { font-size: 22px; }
  .elab-report-v2 { --section-width: 1120px; }
  .elab-report-v2 .hero { min-height: 650px; }
  .elab-report-v2 .hero__copy { padding-left: 42px; }
  .elab-report-v2 .signature-scene { inset: 20px -76px 0 -118px; }
  .elab-report-v2 .section,
  .elab-report-v2__breadcrumbs,
  .elab-report-v2 .hero,
  .elab-report-v2 .hero-bridge,
  .elab-report-v2 .trust-rail,
  .elab-report-v2 .calculation,
  .elab-report-v2 .related,
  .elab-report-v2 .request-section { width: calc(100% - 48px); }
  .elab-report-v2 .section--result { width: 100%; padding-right: 24px; padding-left: 24px; }
  .elab-report-v2 .section--faq,
  .elab-report-v2 .related { width: 100%; padding-right: 24px; padding-left: 24px; }
  .elab-report-v2 .section--faq::before,
  .elab-report-v2 .related::before { right: 24px; left: 24px; }
  .elab-report-v2 .section--equipment { grid-template-columns: .75fr 1.25fr; gap: 42px; }
  .elab-report-v2 .equipment-strip { grid-template-rows: repeat(2,320px); }
  .elab-report-v2 .equipment-item--1 h3 { font-size: 32px; }
  .elab-report-v2 .equipment-item--1 .equipment-item__info { padding: 26px 22px 22px; }
  .elab-report-v2 .equipment-item--1 .equipment-item__purpose { grid-template-columns: 100px 1fr; gap: 14px; }
  .elab-report-v2 .equipment-item__meta > small,
  .elab-report-v2 .equipment-item--1 .equipment-item__meta > small { font-size: 8px; }
  .elab-report-v2 .measurement-schema__stage { padding: 14px 14px; }
  .elab-report-v2 .measurement-route__label { font-size: 12.5px; }
  .elab-report-v2 .proof-section { padding-right: 24px; padding-left: 24px; }
  .elab-report-v2 .proof-section__subheading { gap: 12px; font-size: 11px; }
  .elab-report-v2 .proof-section__subheading a { white-space: nowrap; }
  .elab-report-v2 .proof-document__caption { padding: 13px 12px; font-size: 10px; letter-spacing: .04em; white-space: nowrap; }
  .elab-report-v2 .request-section { gap: 50px; padding: 62px 54px 64px; }
}
@media (max-width: 960px) {
  /* the featured stage becomes square here, so the widest asset needs more scale to stay the lead */
  .elab-report-v2 .equipment-item--1 { --eq-scale: 1.12; }
  .elab-report-v2__breadcrumbs { min-height: 54px; }
  .elab-report-v2 .hero { grid-template-columns: 1fr; grid-template-rows: auto 360px auto; min-height: auto; }
  .elab-report-v2 .hero::before { inset: 0; border-radius: 28px; background: linear-gradient(#fff 0%,rgba(255,255,255,.96) 58%,rgba(255,255,255,.72)); }
  .elab-report-v2 .hero__copy { min-height: 440px; padding: 48px 48px 16px; }
  .elab-report-v2 .hero__copy > p { max-width: 650px; }
  .elab-report-v2 .hero__art { min-height: 360px; }
  .elab-report-v2 .signature-scene { inset: -104px -42px -32px 3%; }
  .elab-report-v2 .hero__facts { margin: 0 48px 28px; }
  .elab-report-v2 .trust-rail { grid-template-columns: 1fr; }
  .elab-report-v2 .trust-rail__statement { border-right: 0; border-bottom: 1px solid var(--elab-line); }
  .elab-report-v2 .section-heading { grid-template-columns: 1fr; }
  .elab-report-v2 .section-heading > p { max-width: 620px; }
  .elab-report-v2 .case-item--1 { grid-column: span 7; }
  .elab-report-v2 .case-item--2,
  .elab-report-v2 .case-item--3 { grid-column: span 5; }
  .elab-report-v2 .case-item--4 { grid-column: span 5; }
  .elab-report-v2 .case-item--5 { grid-column: span 7; }
  .elab-report-v2 .measurements-layout { grid-template-columns: 1fr; gap: 30px; }
  .elab-report-v2 .measurement-schema { position: relative; top: 0; max-width: 480px; }
  .elab-report-v2 .measurement-route__label { font-size: 9px; }
  .elab-report-v2 .measurement-route--desktop { display: none; }
  .elab-report-v2 .measurement-route--mobile { display: block; }
  .elab-report-v2 .calculation { grid-template-columns: 1fr; }
  .elab-report-v2 .section--steps { margin-top: 64px; padding: 66px 0 54px; }
  .elab-report-v2 .process-line { grid-template-columns: 1fr; padding: 0; }
  .elab-report-v2 .process-line__track { top: 34px; bottom: 34px; left: 33px; right: auto; width: 2px; height: auto; }
  .elab-report-v2 .process-line__track span { width: 100%; height: calc(var(--timeline-progress)*100%); }
  .elab-report-v2 .process-line article { min-height: 124px; padding: 30px 24px 28px 84px; border-right: 0; border-bottom: 1px solid #d6dfeb; }
  .elab-report-v2 .process-line article:last-child { border-bottom: 0; }
  .elab-report-v2 .process-line article > span { top: 35px; left: 53px; transform: none; }
  .elab-report-v2 .process-line article > i { top: 31px; left: 24px; transform: none; }
  .elab-report-v2 .process-line p { max-width: 520px; }
  .elab-report-v2 .section--equipment { padding: 40px 30px 42px; }
  .elab-report-v2 .equipment-intro { grid-template-columns: 1fr; gap: 0; margin-bottom: 30px; }
  .elab-report-v2 .equipment-intro h2 { grid-column: 1; grid-row: auto; }
  .elab-report-v2 .equipment-intro p { grid-column: 1; grid-row: auto; max-width: 660px; margin: 18px 0 14px; }
  .elab-report-v2 .equipment-intro > a { grid-column: 1; grid-row: auto; }
  .elab-report-v2 .equipment-strip { grid-template-rows: repeat(2,300px); }
  .elab-report-v2 .equipment-item--1 { --eq-stage-bottom: 168px; }
  .elab-report-v2 .equipment-item--2,
  .elab-report-v2 .equipment-item--3 { --eq-stage-bottom: 148px; }
  .elab-report-v2 .equipment-item--1 { padding-right: 26px; }
  .elab-report-v2 .equipment-item--2,
  .elab-report-v2 .equipment-item--3 { padding-left: 26px; }
  .elab-report-v2 .equipment-item--1 h3 { font-size: 34px; }
  .elab-report-v2 .equipment-item__meta > small { font-size: 7.5px; }
  .elab-report-v2 .proof-section { grid-template-columns: 1fr; }
  .elab-report-v2 .proof-section__heading { grid-template-columns: 1fr; }
  .elab-report-v2 .section--faq,
  .elab-report-v2 .related { grid-template-columns: 1fr; }
  .elab-report-v2 .request-section { grid-template-columns: 1fr; }
  .elab-report-v2 .request-section__signal { display: none; }
}
@media (max-width: 720px) {
  .elab-report-v2__breadcrumbs,
  .elab-report-v2 .hero,
  .elab-report-v2 .hero-bridge,
  .elab-report-v2 .trust-rail,
  .elab-report-v2 .section,
  .elab-report-v2 .calculation,
  .elab-report-v2 .related,
  .elab-report-v2 .request-section { width: calc(100% - 32px); }
  .elab-report-v2__breadcrumbs { min-height: 42px; gap: 7px; overflow: hidden; white-space: nowrap; font-size: 10px; }
  .elab-report-v2__breadcrumbs::before { flex-basis: 18px; width: 18px; }
  .elab-report-v2__breadcrumbs a:nth-of-type(2),
  .elab-report-v2__breadcrumbs span:nth-of-type(2) { display: none; }
  .elab-report-v2 .hero { grid-template-rows: auto 238px auto; border-radius: 20px; }
  .elab-report-v2 .hero::before { border-radius: 20px; }
  .elab-report-v2 .hero__copy { min-height: auto; padding: 28px 20px 0; }
  .elab-report-v2 .hero__eyebrow { margin-bottom: 14px; font-size: 8.5px; }
  .elab-report-v2 .hero h1 { max-width: 100%; font-size: clamp(28px,7.8vw,31px); line-height: 1.02; letter-spacing: -.055em; }
  .elab-report-v2 .hero__copy > p { margin-top: 16px; font-size: 14px; line-height: 1.48; }
  .elab-report-v2 .hero__actions { gap: 5px; margin-top: 18px; }
  .elab-report-v2 .hero__actions .button--primary { width: 100%; min-height: 50px; }
  .elab-report-v2 .hero__actions .button--secondary { width: auto; min-height: 38px; justify-content: flex-start; padding: 0 2px; border-color: transparent; background: transparent; color: var(--elab-blue); }
  .elab-report-v2 .hero__actions .button--secondary:hover { transform: none; background: transparent; }
  .elab-report-v2 .hero__art { min-height: 238px; margin-top: 0; }
  .elab-report-v2 .signature-scene { inset: -50px -54px -42px -118px; }
  .elab-report-v2 .signature-scene__doc-kicker { font-size: 9px; }
  .elab-report-v2 .signature-scene__doc-title { font-size: 13px; }
  .elab-report-v2 .hero__facts { grid-template-columns: 1fr; margin: 0 20px 20px; padding-top: 7px; }
  .elab-report-v2 .hero__facts span { min-height: 36px; padding: 3px 0; font-size: 10.5px; }
  .elab-report-v2 .hero-bridge { height: 30px; }
  .elab-report-v2 .trust-rail { margin-bottom: 48px; }
  .elab-report-v2 .trust-rail__statement { padding: 26px 22px; }
  .elab-report-v2 .trust-rail__statement strong { font-size: 21px; }
  .elab-report-v2 .trust-rail__certificate { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .elab-report-v2 .trust-rail__window { aspect-ratio: 1.66; }
  .elab-report-v2 .trust-rail__caption { gap: 7px; }
  .elab-report-v2 .trust-rail__caption strong { font-size: 16px; }
  .elab-report-v2 .section { padding: 54px 0; }
  .elab-report-v2 .section-heading { gap: 16px; margin-bottom: 28px; }
  .elab-report-v2 .section-heading h2 { font-size: 23px; line-height: 1.14; letter-spacing: -.03em; }
  .elab-report-v2 .section-heading > p { font-size: 14px; }
  .elab-report-v2 .section--cases .section-heading h2,
  .elab-report-v2 .section--result .section-heading h2 { font-size: 28px; line-height: 1.08; }
  .elab-report-v2 .case-composition { position: relative; grid-template-columns: 1fr; grid-auto-rows: auto; gap: 10px; padding-left: 14px; }
  .elab-report-v2 .case-composition::before { content: ""; position: absolute; top: 30px; bottom: 30px; left: 3px; width: 1px; background: linear-gradient(var(--elab-blue),#a9bdd5 70%,var(--elab-orange)); }
  .elab-report-v2 .case-item,
  .elab-report-v2 .case-item--1,
  .elab-report-v2 .case-item--2,
  .elab-report-v2 .case-item--3,
  .elab-report-v2 .case-item--4,
  .elab-report-v2 .case-item--5 { grid-column: auto; grid-row: auto; min-height: 128px; padding: 18px 20px 18px; border-radius: var(--elab-radius-m); }
  .elab-report-v2 .case-item--1 { min-height: 236px; padding-top: 116px; background-size: 100% 54%,100% 54%,100% 100%; }
  .elab-report-v2 .case-item--1 .case-item__number { top: 16px; left: 20px; font-size: 74px; }
  .elab-report-v2 .case-item--1::after { top: 40%; left: 20px; height: 18px; background: linear-gradient(#8ba7cc,#8ba7cc) 0 0 / 100% 1px no-repeat,repeating-linear-gradient(90deg,#a8bed7 0 1px,transparent 1px 20px) 0 0 / 100% 8px no-repeat; }
  .elab-report-v2 .case-item--1::before { top: 40%; left: 20px; width: 7px; height: 7px; }
  .elab-report-v2 .case-item h3::before { display: none; }
  .elab-report-v2 .case-item--1 h3 { font-size: 27px; }
  .elab-report-v2 .case-item--2,
  .elab-report-v2 .case-item--4 { width: calc(100% - 18px); margin-left: 18px; }
  .elab-report-v2 .case-item h3 { max-width: calc(100% - 48px); margin-bottom: 8px; font-size: 18px; }
  .elab-report-v2 .case-item p { font-size: 12.5px; }
  .elab-report-v2 .case-item__trace { top: 18px; right: 18px; width: 42px; height: 42px; }
  .elab-report-v2 .section--result { width: 100%; padding: 62px 16px; background: linear-gradient(180deg,var(--elab-dark-edge-0) 0,var(--elab-dark-edge) 4px,var(--elab-dark) 10px,var(--elab-dark) calc(100% - 10px),var(--elab-dark-edge) calc(100% - 4px),var(--elab-dark-edge-0) 100%); }
  .elab-report-v2 .report-system { border-radius: var(--elab-radius-m); }
  .elab-report-v2 .report-system__top { display: block; padding: 24px 20px; }
  .elab-report-v2 .report-system__top h3 { font-size: 25px; }
  .elab-report-v2 .report-system__top p { margin-top: 18px; }
  .elab-report-v2 .report-system__rows { padding: 0 20px; }
  .elab-report-v2 .report-system__row { grid-template-columns: 32px 1fr 8px; min-height: 64px; }
  .elab-report-v2 .report-system__row small { display: none; }
  .elab-report-v2 .report-system__row strong { font-size: 13px; }
  .elab-report-v2 .report-system__bottom { flex-wrap: wrap; gap: 12px; min-height: 82px; padding: 18px 20px; font-size: 8.5px; }
  .elab-report-v2 .report-system__bottom > div { width: 100%; margin-left: 0; }
  .elab-report-v2 .section--measurements { padding-top: 62px; }
  .elab-report-v2 .section--measurements .section-heading h2 { max-width: 330px; }
  .elab-report-v2 .measurement-schema { border-radius: var(--elab-radius-m); }
  .elab-report-v2 .measurement-schema__head { padding: 18px 18px 12px; }
  .elab-report-v2 .measurement-schema__head strong { font-size: 22px; }
  .elab-report-v2 .measurement-schema { max-width: none; }
  .elab-report-v2 .measurement-schema__stage { padding: 12px 12px; background-size: 88px 88px,88px 88px,22px 22px,22px 22px; }
  .elab-report-v2 .measurement-route__track { stroke-width: 2.6; }
  .elab-report-v2 .measurement-route__label { font-size: 11px; }
  .elab-report-v2 .measurement-schema__note { padding: 12px 18px 15px; font-size: 10.5px; }
  .elab-report-v2 .measurement-list { padding: 2px 0 2px 24px; }
  .elab-report-v2 .measurement-list::before { top: 12px; bottom: 16px; left: 3px; }
  .elab-report-v2 .measurement-list li { grid-template-columns: 30px 1fr; gap: 10px; padding: 16px 0 16px 18px; }
  .elab-report-v2 .measurement-list li::before { top: 24px; left: -24px; width: 21px; }
  .elab-report-v2 .measurement-list li::after { top: 20px; left: -27px; width: 8px; height: 8px; }
  .elab-report-v2 .measurement-list h3 { font-size: 17px; }
  .elab-report-v2 .measurement-list p { font-size: 12.5px; }
  .elab-report-v2 .calculation { margin-top: 4px; overflow: hidden; border-radius: var(--elab-radius-m); background: linear-gradient(145deg,#fff,#eef5fb); box-shadow: var(--elab-shadow-card); }
  .elab-report-v2 .calculation::before { top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 5px; }
  .elab-report-v2 .calculation::after { top: -210px; left: 22%; }
  .elab-report-v2 .calculation__copy { padding: 36px 23px 34px; border-right: 0; border-bottom: 1px solid var(--elab-line); border-radius: 0; box-shadow: none; }
  .elab-report-v2 .calculation__copy h2 { font-size: 24px; }
  .elab-report-v2 .calculation__copy .button { width: 100%; }
  .elab-report-v2 .calculation__factors { margin: 0; padding: 14px 22px 20px; border: 0; border-radius: 0; background: rgba(237,245,251,.72); box-shadow: none; }
  .elab-report-v2 .calculation__factors div { min-height: 56px; }
  .elab-report-v2 .section--steps { margin-top: 32px; padding: 50px 0 30px; }
  .elab-report-v2 .section--steps .section-heading { margin-bottom: 30px; }
  .elab-report-v2 .process-line { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .elab-report-v2 .process-line article { min-height: 102px; padding: 25px 8px 22px 70px; background: transparent !important; }
  .elab-report-v2 .process-line__track { left: 29px; }
  .elab-report-v2 .process-line article > span { left: 48px; }
  .elab-report-v2 .process-line article > i { left: 20px; }
  .elab-report-v2 .section--equipment { margin: 0 auto; padding: 58px 0 66px; border: 0; border-radius: 0; background: none; box-shadow: none; }
  .elab-report-v2 .equipment-intro { margin-bottom: 22px; }
  .elab-report-v2 .equipment-intro p { margin: 16px 0 12px; }
  .elab-report-v2 .equipment-intro h2 { font-size: 24px; }
  .elab-report-v2 .equipment-strip { display: flex; gap: 12px; margin: 0; padding: 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 0; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .elab-report-v2 .equipment-strip::after { content: ""; flex: 0 0 44px; }
  .elab-report-v2 .equipment-strip::-webkit-scrollbar,
  .elab-report-v2 .review-strip::-webkit-scrollbar { display: none; }
  .elab-report-v2 .equipment-item,
  .elab-report-v2 .equipment-item--1,
  .elab-report-v2 .equipment-item--2,
  .elab-report-v2 .equipment-item--3 { display: flex; flex: 0 0 calc(100% - 44px); width: calc(100% - 44px); height: 436px; min-height: 0; padding: 0; border: 1px solid var(--elab-line); border-radius: var(--elab-radius-l); background: var(--equipment-surface); scroll-snap-align: start; scroll-snap-stop: always; }
  .elab-report-v2 .equipment-item,
  .elab-report-v2 .equipment-item--1,
  .elab-report-v2 .equipment-item--2,
  .elab-report-v2 .equipment-item--3 { --eq-stage-bottom: 158px; }
  /* the mobile MI asset carries more built-in air than the others, so it needs a touch more scale to stay the lead */
  .elab-report-v2 .equipment-item--1 { --eq-scale: 1.2; --eq-y: 56%; }
  .elab-report-v2 .equipment-item--2 { --eq-scale: 1.24; }
  .elab-report-v2 .equipment-item--3 { --eq-scale: 1.12; }
  .elab-report-v2 .equipment-item .equipment-item__media,
  .elab-report-v2 .equipment-item--1 .equipment-item__media,
  .elab-report-v2 .equipment-item--2 .equipment-item__media,
  .elab-report-v2 .equipment-item--3 .equipment-item__media { --eq-safe: 12px; position: absolute; inset: 44px 14px var(--eq-stage-bottom) 14px; width: auto; max-width: none; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; }
  .elab-report-v2 .equipment-item__content,
  .elab-report-v2 .equipment-item--1 .equipment-item__content { padding: 20px 18px 0; }
  .elab-report-v2 .equipment-item__meta > span,
  .elab-report-v2 .equipment-item--1 .equipment-item__meta > span { font-size: 11px; }
  .elab-report-v2 .equipment-item__meta > small,
  .elab-report-v2 .equipment-item--1 .equipment-item__meta > small { font-size: 8px; }
  .elab-report-v2 .equipment-item__info,
  .elab-report-v2 .equipment-item--1 .equipment-item__info { margin: 0 -18px; padding: 16px 18px 18px; }
  .elab-report-v2 .equipment-item h3,
  .elab-report-v2 .equipment-item--1 h3 { margin: 0 0 10px; font-size: 23px; }
  .elab-report-v2 .equipment-item__purpose,
  .elab-report-v2 .equipment-item--1 .equipment-item__purpose { display: block; padding-top: 10px; }
  .elab-report-v2 .equipment-item p,
  .elab-report-v2 .equipment-item--1 p { max-width: none; font-size: 12.5px; line-height: 1.5; }
  .elab-report-v2 .proof-section { display: block; padding: 56px 16px 34px; background: linear-gradient(180deg,var(--elab-dark-edge-0) 0,var(--elab-dark-edge) 4px,var(--elab-dark) 10px,var(--elab-dark) 100%); }
  .elab-report-v2 .proof-section__heading { display: block; margin-bottom: 34px; }
  .elab-report-v2 .proof-section__heading h2 { margin-top: 20px; font-size: 28px; }
  .elab-report-v2 .proof-section__heading p { margin-top: 22px; }
  .elab-report-v2 .proof-section__licenses,
  .elab-report-v2 .review-board { padding: 18px; }
  .elab-report-v2 .review-board { margin-top: 18px; }
  .elab-report-v2 .license-pair { gap: 10px; }
  .elab-report-v2 .proof-document__caption { padding: 11px 9px; font-size: 9px; }
  .elab-report-v2 .proof-document__matte { padding: 4px; }
  .elab-report-v2 .review-strip { display: flex; gap: 12px; margin: 0; padding: 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 0; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .elab-report-v2 .review-strip::after { content: ""; flex: 0 0 44px; }
  .elab-report-v2 .review-strip button { flex: 0 0 calc(100% - 44px); width: calc(100% - 44px); scroll-snap-align: start; scroll-snap-stop: always; }
  .elab-report-v2 .section--faq { display: block; width: 100%; padding: 38px 16px 56px; background: linear-gradient(180deg,var(--elab-dark) 0,var(--elab-dark-step) 70px,var(--elab-dark-step) 100%); }
  .elab-report-v2 .section--faq::before { right: 16px; left: 16px; }
  .elab-report-v2 .section--faq .section-heading { margin-bottom: 26px; }
  .elab-report-v2 .faq-list { gap: 8px; padding: 0; }
  .elab-report-v2 .faq-list article > button { grid-template-columns: 28px 1fr 32px; min-height: 74px; gap: 10px; padding: 12px 16px; }
  .elab-report-v2 .faq-list article > button strong { font-size: 15px; }
  .elab-report-v2 .faq-list article > button i { width: 30px; height: 30px; }
  .elab-report-v2 .faq-list__answer p { margin: 0 16px 20px 54px; font-size: 13.5px; }
  .elab-report-v2 .related { width: 100%; gap: 20px; padding: 34px 16px 46px; background: linear-gradient(180deg,var(--elab-dark-step) 0,var(--elab-dark-deep) 40%,var(--elab-dark-deep) calc(100% - 9px),var(--elab-dark-deep-0) 100%); }
  .elab-report-v2 .related::before { right: 16px; left: 16px; }
  .elab-report-v2 .related h2 { font-size: 21px; }
  .elab-report-v2 .related__intro p { max-width: none; margin-top: 14px; font-size: 13.5px; }
  .elab-report-v2 .related__links { gap: 8px; }
  .elab-report-v2 .related__links a { grid-template-columns: 36px 1fr 26px; gap: 10px; min-height: 70px; padding: 0 14px; }
  .elab-report-v2 .related__links strong { font-size: 14px; }
  .elab-report-v2 .request-section { gap: 32px; margin-top: 38px; margin-bottom: 64px; padding: 40px 22px 42px; }
  .elab-report-v2 .request-section::before { inset: -10px -8px; border-radius: 26px; background-size: 30px 30px,30px 30px,auto; }
  .elab-report-v2 .request-section::after { inset: -24px -14px; border-radius: 38px; }
  .elab-report-v2 .request-section__copy h2 { font-size: 27px; }
  .elab-report-v2 .request-form { grid-template-columns: 1fr; padding: 20px; }
  .elab-report-v2 .request-form__wide,
  .elab-report-v2 .request-form__consent,
  .elab-report-v2 .request-form__submit,
  .elab-report-v2 .request-form__notice { grid-column: 1; }
  .elab-report-v2 [data-reveal] { opacity: 1; transform: none; transition: none; }
}
@media (max-width: 960px) and (orientation: landscape) and (max-height: 520px) {
  .elab-report-v2__breadcrumbs { min-height: 40px; }
  .elab-report-v2 .hero { grid-template-columns: 54% 46%; grid-template-rows: minmax(286px,auto) auto; min-height: 354px; }
  .elab-report-v2 .hero__copy { min-height: 0; padding: 30px 8px 26px 34px; }
  .elab-report-v2 .hero h1 { font-size: clamp(34px,4.6vw,40px); }
  .elab-report-v2 .hero__copy > p { margin-top: 18px; font-size: 14px; line-height: 1.5; }
  .elab-report-v2 .hero__actions { margin-top: 20px; }
  .elab-report-v2 .hero__actions .button { min-height: 46px; padding: 0 17px; }
  .elab-report-v2 .hero__art { grid-column: 2; grid-row: 1; min-height: 286px; }
  .elab-report-v2 .signature-scene { inset: -58px -72px -48px -94px; }
  .elab-report-v2 .hero__facts { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(3,1fr); margin: 0 34px 18px; }
  .elab-report-v2 .hero__facts span { min-height: 42px; font-size: 10px; }
  .elab-report-v2 .hero-bridge { height: 38px; }
}
@media (max-width: 420px) {
  .elab-report-v2 .hero__copy { padding-right: 18px; padding-left: 18px; }
  .elab-report-v2 .signature-scene { inset: -66px -60px -42px -126px; }
  .elab-report-v2 .hero__facts { margin: 0 18px 18px; }
  .elab-report-v2 .button { min-height: 52px; padding: 0 17px; }
  .elab-report-v2 .case-item--1 h3 { font-size: 25px; }
  .elab-report-v2 .calculation__copy h2 { font-size: 23px; }
  .elab-report-v2 .request-section__copy h2 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .elab-report-v2 { scroll-behavior: auto; }
  .elab-report-v2, .elab-report-v2 *, .elab-report-v2 *::before, .elab-report-v2 *::after,
  .elab-report-v2 *::before,
  .elab-report-v2 *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
  .elab-report-v2 [data-reveal] { opacity: 1; transform: none; }
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__route { stroke-dashoffset: 0; }
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__document,
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__node,
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__doc-row line { opacity: 1; }
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__document { transform: translate(calc(var(--hero-progress)*10px),calc(var(--hero-progress)*-18px)); }
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__node { scale: 1; }
  .elab-report-v2 .hero--motion-pending:not(.hero--motion-ready) .signature-scene__doc-row line { transform: none; }
  .elab-report-v2 .measurement-route__track { stroke-dashoffset: 0; }
  .elab-report-v2 .measurement-route__node { opacity: 1; }
  .elab-report-v2 .measurement-route__ring { opacity: 0; }
  .elab-report-v2 .equipment-item__media img { transition: none; }
}
/* ==== source: ultramarine.css ==== */
/* Final, scoped colour corrections for approved and post-proof surfaces only. */
/* Client feedback 2026-08-24: the heavy #1c12a0 ultramarine pressed on the two large blue
   surfaces. Both now start from the reference blue #1047d6 (16, 71, 214). White on that ground
   measures 7.26:1, so headings, body copy and the muted tones below all stay above AA. */
.elab-report-v2 .section--result.section--ultramarine { --ultramarine: #1047d6;
  --ultramarine-panel-a: #1550e2;
  --ultramarine-panel-b: #0b39b4;
  --ultramarine-rule: rgba(219, 231, 255, .26);
  --ultramarine-muted: #c8d8f9;
  background: linear-gradient(180deg, rgba(16, 71, 214, 0) 0, rgba(16, 71, 214, .74) 5px, var(--ultramarine) 12px, var(--ultramarine) calc(100% - 12px), rgba(16, 71, 214, .74) calc(100% - 5px), rgba(16, 71, 214, 0) 100%); }
.elab-report-v2 .section--result.section--ultramarine .section-heading > p { color: var(--ultramarine-muted); }
.elab-report-v2 .section--result.section--ultramarine .section-heading__eyebrow { color: #e4edff; }
.elab-report-v2 .section--result.section--ultramarine .report-system { border-color: var(--ultramarine-rule);
  background: linear-gradient(145deg, var(--ultramarine-panel-a) 0%, var(--ultramarine-panel-b) 74%);
  box-shadow: 0 28px 70px rgba(5, 25, 82, .26); }
.elab-report-v2 .section--result.section--ultramarine .report-system::before { background-image: linear-gradient(rgba(237, 234, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(237, 234, 255, .055) 1px, transparent 1px); }
.elab-report-v2 .section--result.section--ultramarine .report-system__top,
.elab-report-v2 .section--result.section--ultramarine .report-system__row { border-color: rgba(219, 231, 255, .18); }
.elab-report-v2 .section--result.section--ultramarine .report-system__top span { color: #dfe9ff; }
.elab-report-v2 .section--result.section--ultramarine .report-system__top p { color: #cbd9f6; }
.elab-report-v2 .section--result.section--ultramarine .report-system__row > span { color: #bacdf2; }
.elab-report-v2 .section--result.section--ultramarine .report-system__row small { color: #c3d4f4; }
.elab-report-v2 .section--result.section--ultramarine .report-system__row > i { border-color: #7ea0e6; box-shadow: inset 0 0 0 2px #0c3ab6; background: #d8e4ff; }
.elab-report-v2 .section--result.section--ultramarine .report-system__bottom { color: #c5d5f4; }
.elab-report-v2 .section--result.section--ultramarine .report-system__bottom > div i { background: #7f9bd6; }
.elab-report-v2 .section--result.section--ultramarine .report-system__bottom > div i:nth-child(5n + 1) { background: #c9dbff; }
/* Proof keeps its own anatomy: same reference blue ground, but the gallery boards sit a step
   deeper than the surface, so this block still reads as an archive rather than as a second
   copy of the Result composition above. */
.elab-report-v2 .proof-section.proof-section--ultramarine { --ultramarine: #1047d6;
  --ultramarine-panel: #0d3cba;
  --ultramarine-rule: rgba(219, 231, 255, .26);
  background: linear-gradient(180deg, rgba(16, 71, 214, 0) 0, rgba(16, 71, 214, .74) 5px, var(--ultramarine) 12px, var(--ultramarine) calc(100% - 12px), rgba(16, 71, 214, .74) calc(100% - 5px), rgba(16, 71, 214, 0) 100%); }
.elab-report-v2 .proof-section.proof-section--ultramarine .proof-section__heading p { color: #c8d8f9; }
.elab-report-v2 .proof-section.proof-section--ultramarine .proof-section__licenses,
.elab-report-v2 .proof-section.proof-section--ultramarine .review-board { border-color: var(--ultramarine-rule);
  background: var(--ultramarine-panel); }
.elab-report-v2 .proof-section.proof-section--ultramarine .proof-section__subheading { color: #d3e0fa; }
.elab-report-v2 .proof-section.proof-section--ultramarine .proof-section__subheading a { color: #e3ecff; }
.elab-report-v2 .proof-section.proof-section--ultramarine .license-pair button,
.elab-report-v2 .proof-section.proof-section--ultramarine .review-strip button { border-color: rgba(219, 231, 255, .32); }
.elab-report-v2 .proof-section.proof-section--ultramarine .license-pair button:hover,
.elab-report-v2 .proof-section.proof-section--ultramarine .review-strip button:hover { border-color: rgba(240, 246, 255, .84); }
.elab-report-v2 .proof-section.proof-section--ultramarine .proof-document__caption i { color: var(--ultramarine); }
/* First light surface after Proof: cold, editorial and deliberately non-SaaS. */
.elab-report-v2 .section--faq.section--faq--cold { --faq-surface: #edf3f7;
  --faq-row: #fbfcfd;
  --faq-row-open: #f3f7fa;
  --faq-ink: #17243a;
  --faq-muted: #596b80;
  --faq-line: #cbd7e2;
  --faq-line-active: #aabbd0;
  --faq-accent: #174bd8;
  padding-top: 68px;
  border-top: 1px solid rgba(23, 54, 92, .18);
  background: var(--faq-surface);
  color: var(--faq-ink); }
.elab-report-v2 .section--faq.section--faq--cold::before { background: #c8d4df; }
.elab-report-v2 .section--faq.section--faq--cold .section-heading__eyebrow { color: var(--faq-accent); }
.elab-report-v2 .section--faq.section--faq--cold .section-heading h2,
.elab-report-v2 .section--faq.section--faq--cold .faq-list article > button { color: var(--faq-ink); }
.elab-report-v2 .section--faq.section--faq--cold .section-heading > p,
.elab-report-v2 .section--faq.section--faq--cold .faq-list__answer p { color: var(--faq-muted); }
.elab-report-v2 .section--faq.section--faq--cold .faq-list article { border-color: var(--faq-line);
  background: var(--faq-row); }
.elab-report-v2 .section--faq.section--faq--cold .faq-list article:hover,
.elab-report-v2 .section--faq.section--faq--cold .faq-list article.is-open { border-color: var(--faq-line-active);
  background: var(--faq-row-open); }
.elab-report-v2 .section--faq.section--faq--cold .faq-list article > button > span,
.elab-report-v2 .section--faq.section--faq--cold .faq-list article > button i { color: var(--faq-accent); }
.elab-report-v2 .section--faq.section--faq--cold .faq-list article > button i { border-color: var(--faq-line-active); }
.elab-report-v2 .section--faq.section--faq--cold .faq-list article > button:focus-visible { outline: 2px solid var(--faq-accent);
  outline-offset: -3px; }
/* A quieter navigation surface before the unchanged cobalt CTA. */
.elab-report-v2 .related.related--quiet { --related-surface: #f8fafc;
  --related-row: #ffffff;
  --related-row-hover: #f1f5f9;
  --related-ink: #26364a;
  --related-muted: #68798c;
  --related-line: #d7e1ea;
  --related-accent: #607891;
  --related-accent-hover: #174bd8;
  padding-top: 66px;
  border-top: 1px solid #d8e1e9;
  background: var(--related-surface);
  color: var(--related-ink); }
.elab-report-v2 .related.related--quiet::before { background: #d8e1e9; }
.elab-report-v2 .related.related--quiet .section-heading__eyebrow,
.elab-report-v2 .related.related--quiet .related__links span,
.elab-report-v2 .related.related--quiet .related__links i { color: var(--related-accent); }
.elab-report-v2 .related.related--quiet h2 { color: var(--related-ink); }
.elab-report-v2 .related.related--quiet .related__intro p { color: var(--related-muted); }
.elab-report-v2 .related.related--quiet .related__links a { border-color: var(--related-line);
  background: var(--related-row); }
.elab-report-v2 .related.related--quiet .related__links a:hover { border-color: #becbd8;
  background: var(--related-row-hover);
  color: var(--related-accent-hover); }
.elab-report-v2 .related.related--quiet .related__links a:hover span,
.elab-report-v2 .related.related--quiet .related__links a:hover i { color: var(--related-accent-hover); }
.elab-report-v2 .related.related--quiet .related__links a:focus-visible { outline: 2px solid var(--related-accent-hover);
  outline-offset: -3px; }
@media (max-width: 720px) {
  .elab-report-v2 .section--faq.section--faq--cold { background: var(--faq-surface); }
  .elab-report-v2 .related.related--quiet { background: var(--related-surface); }
}
/* ==== source: report-sample.css ==== */
/* ============================================================================
   RESULT SECTION - REPORT SAMPLE COMPOSITION
   ----------------------------------------------------------------------------
   Client feedback 2026-08-24: the section had to show what a technical report
   actually looks like inside, instead of an abstract structure panel only.

   The rasters are the client-supplied sample pages, used unedited. Nothing here
   crops, stretches, redraws or upscales them: every sheet keeps its own aspect
   ratio and the image is fitted with object-fit: contain.

   Desktop  - one dominant sheet with three secondaries layered behind it.
   Mobile   - the same DOM becomes a scroll-snap rail, reusing the equipment /
              review rail contract already approved in this project.
   Motion   - assembles once on the first viewport entry, then stays settled.
   ========================================================================= */
.elab-report-v2 .report-result { display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 44px;
  max-width: var(--section-width);
  margin: 0 auto;
  align-items: start; }
/* both columns must be allowed to shrink: the index panel has a wide min-content
   (the eight rows plus the tick row), and without this the grid pushes past the
   section padding and clips against the page's overflow guard. */
.elab-report-v2 .report-sample,
.elab-report-v2 .section--result .report-system--index { min-width: 0; }
.elab-report-v2 .report-sample__intro { display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 22px;
  margin-bottom: 26px; }
.elab-report-v2 .report-sample__intro > span { color: #dfe9ff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase; }
.elab-report-v2 .report-sample__intro > p { max-width: 460px;
  margin: 0;
  color: var(--ultramarine-muted, #c8d8f9);
  font-size: 12.5px;
  line-height: 1.55; }
/* -------- the stage ------------------------------------------------------ */
/* A fixed aspect box: the sheets are positioned inside it, so nothing reflows
   while the four rasters decode and no layout shift is possible. */
.elab-report-v2 .report-sheets { position: relative;
  width: 100%;
  aspect-ratio: 777 / 620; }
.elab-report-v2 .report-sheet { --rot: 0deg;
  --fx: 0px;
  --fy: 0px;
  --fscale: 1;
  --seq: 0ms;
  --lift: 0px;
  position: absolute;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  text-align: left;
  transform: translate3d(0, var(--lift), 0) rotate(var(--rot)) scale(1);
  transition:
    opacity .62s ease var(--seq),
    transform .68s cubic-bezier(.22, .68, .24, 1) var(--seq); }
.elab-report-v2 .report-sheet__paper { position: relative;
  display: block;
  overflow: hidden;
  padding: 6px;
  border: 1px solid rgba(226, 236, 255, .5);
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(5, 24, 78, .26), 0 2px 6px rgba(5, 24, 78, .18);
  transition: box-shadow .24s ease, border-color .24s ease; }
.elab-report-v2 .report-sheet__paper img { display: block;
  width: 100%;
  height: auto;
  object-fit: contain; }
.elab-report-v2 .report-sheet__caption { position: absolute;
  top: calc(100% + 12px);
  left: 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #dbe6ff;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.32;
  letter-spacing: .05em;
  text-transform: uppercase; }
.elab-report-v2 .report-sheet__caption i { flex: 0 0 13px; margin-top: 1px; color: #a8c4ff; }
.elab-report-v2 .report-sheet__caption .ui-arrow { width: 13px; height: 13px; flex-basis: 13px; }
/* -------- desktop composition -------------------------------------------- */
/* The dominant sheet is the anchor and stays square to the grid. The three
   secondaries sit behind it with a maximum of 1.4deg of rotation - enough to
   read as separate sheets of paper, never as a decorative fan. */
.elab-report-v2 .report-sheet--dominant { z-index: 4; top: 2%; left: 22%; width: 40%; --rot: 0deg; --fy: 28px; --fscale: .97; --seq: 0ms; }
.elab-report-v2 .report-sheet--s1 { z-index: 3; top: 0; left: 57%; width: 25%; --rot: -1.2deg; --fx: -46px; --fy: 20px; --seq: 150ms; }
.elab-report-v2 .report-sheet--s2 { z-index: 2; top: 8%; left: 1%; width: 27%; --rot: 1.3deg; --fx: 48px; --fy: 18px; --seq: 300ms; }
.elab-report-v2 .report-sheet--s3 { z-index: 1; top: 53%; left: 50%; width: 42%; --rot: -.9deg; --fx: -42px; --fy: -22px; --seq: 440ms; }
/* every caption sits in a band the neighbouring sheets do not reach into */
.elab-report-v2 .report-sheet--dominant .report-sheet__caption { max-width: 58%; }
.elab-report-v2 .report-sheet--s1 .report-sheet__caption { right: 0; left: auto; max-width: 62%; }
.elab-report-v2 .report-sheet--s2 .report-sheet__caption { max-width: 68%; }
.elab-report-v2 .report-sheet--s3 .report-sheet__caption { max-width: 62%; }
.elab-report-v2 .report-sheet--dominant .report-sheet__paper { padding: 8px;
  box-shadow: 0 26px 54px rgba(5, 24, 78, .3), 0 3px 10px rgba(5, 24, 78, .2); }
.elab-report-v2 .report-sheet--dominant .report-sheet__caption { color: #fff; font-size: 11.5px; }
/* -------- one-time reveal ------------------------------------------------ */
.elab-report-v2 [data-sheets="pending"] .report-sheet { opacity: 0;
  transform: translate3d(var(--fx), var(--fy), 0) rotate(0deg) scale(var(--fscale)); }
/* settled: the sheets are stable, and the only transform left is the hover lift */
.elab-report-v2 [data-sheets="settled"] .report-sheet { transition: transform .26s ease; }
@media (hover: hover) and (pointer: fine) {
  .elab-report-v2 .report-sheet:hover { --lift: -5px; z-index: 5; }
  .elab-report-v2 .report-sheet:hover .report-sheet__paper { border-color: rgba(255, 255, 255, .92);
    box-shadow: 0 30px 60px rgba(5, 24, 78, .34), 0 3px 10px rgba(5, 24, 78, .22); }
}
.elab-report-v2 .report-sheet:focus-visible { --lift: -5px; z-index: 5; outline: 3px solid rgba(214, 231, 255, .8); outline-offset: 6px; }
.elab-report-v2 .report-sheets__hint { display: none; }
/* -------- the structure index next to the composition -------------------- */
/* Same content and same DOM as the approved structure panel, one step quieter:
   the real sheets now carry the visual weight of the section. */
.elab-report-v2 .section--result.section--ultramarine .report-system--index { /* the base panel centres itself with margin:0 auto, which in a grid cell collapses it to
     fit-content instead of filling the column */
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: var(--elab-radius-m);
  background: linear-gradient(160deg, rgba(255, 255, 255, .085) 0%, rgba(255, 255, 255, .03) 62%, rgba(4, 26, 92, .16) 100%);
  box-shadow: none; }
/* the index column is narrow: the header stacks instead of competing for one line */
.elab-report-v2 .report-system--index .report-system__top { display: block; padding: 26px 26px 22px; }
.elab-report-v2 .report-system--index .report-system__top h3 { font-size: 24px; }
.elab-report-v2 .report-system--index .report-system__top p { margin-top: 16px; font-size: 11px; }
.elab-report-v2 .report-system--index .report-system__rows { padding: 0 26px; }
.elab-report-v2 .report-system--index .report-system__row { grid-template-columns: 36px minmax(0, 1fr) 14px; min-height: 54px; }
.elab-report-v2 .report-system--index .report-system__row strong { padding-right: 14px; font-size: 13.5px; }
.elab-report-v2 .report-system--index .report-system__row small { display: none; }
.elab-report-v2 .report-system--index .report-system__bottom { min-height: 66px; padding: 18px 26px; gap: 14px 18px; flex-wrap: wrap; font-size: 9.5px; letter-spacing: .06em; }
.elab-report-v2 .report-system--index .report-system__bottom > span { white-space: nowrap; }
.elab-report-v2 .report-system--index .report-system__bottom > div { min-width: 0; flex: 0 1 auto; gap: 8px; overflow: hidden; }
/* ===========================================================================
   RESPONSIVE
   ======================================================================== */
@media (max-width: 1280px) {
  /* below this the two columns starve the sheets, so the composition takes the full
     section width and the index follows underneath it */
  .elab-report-v2 .report-result { grid-template-columns: 1fr; gap: 38px; }
  .elab-report-v2 .report-sheets { max-width: 820px; }
  .elab-report-v2 .report-sample__intro { margin-bottom: 22px; }
  .elab-report-v2 .report-system--index .report-system__top { padding: 22px 20px 18px; }
  .elab-report-v2 .report-system--index .report-system__top h3 { font-size: 22px; }
  .elab-report-v2 .report-system--index .report-system__rows { padding: 0 20px; }
  .elab-report-v2 .report-system--index .report-system__row { grid-template-columns: 40px minmax(0, 1fr) 230px 14px; min-height: 56px; }
  .elab-report-v2 .report-system--index .report-system__row small { display: block; }
  .elab-report-v2 .report-system--index .report-system__row strong { font-size: 13.5px; }
  .elab-report-v2 .report-system--index .report-system__bottom { padding: 16px 20px; }
  .elab-report-v2 .report-sheet__caption { font-size: 9.5px; letter-spacing: .04em; }
  .elab-report-v2 .report-sheet--dominant .report-sheet__caption { font-size: 10.5px; }
}
@media (max-width: 960px) {
  .elab-report-v2 .report-result { gap: 34px; }
  .elab-report-v2 .report-sheets { max-width: 760px; }
  .elab-report-v2 .report-system--index .report-system__row small { display: block; }
  .elab-report-v2 .report-system--index .report-system__row { grid-template-columns: 36px minmax(0, 1fr) 210px 14px; }
}
/* -------- mobile: user-controlled rail, no desktop fan ------------------- */
@media (max-width: 720px) {
  .elab-report-v2 .report-result { gap: 26px; }
  .elab-report-v2 .report-sample__intro { display: block; margin-bottom: 18px; }
  .elab-report-v2 .report-sample__intro > p { margin-top: 10px; font-size: 12px; }
  .elab-report-v2 .report-sheets { display: flex;
    aspect-ratio: auto;
    max-width: none;
    gap: 12px;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch; }
  .elab-report-v2 .report-sheets::after { content: ""; flex: 0 0 44px; }
  .elab-report-v2 .report-sheets::-webkit-scrollbar { display: none; }
  .elab-report-v2 .report-sheet,
  .elab-report-v2 .report-sheet--dominant,
  .elab-report-v2 .report-sheet--s1,
  .elab-report-v2 .report-sheet--s2,
  .elab-report-v2 .report-sheet--s3 { position: relative;
    z-index: auto;
    top: auto;
    left: auto;
    right: auto;
    display: flex;
    flex: 0 0 calc(100% - 44px);
    width: calc(100% - 44px);
    flex-direction: column;
    gap: 10px;
    --rot: 0deg;
    --fx: 0px;
    --fy: 14px;
    --fscale: 1;
    scroll-snap-align: start;
    scroll-snap-stop: always; }
  .elab-report-v2 .report-sheet__paper { padding: 5px; box-shadow: 0 10px 24px rgba(5, 24, 78, .24); }
  .elab-report-v2 .report-sheet--dominant .report-sheet__paper { padding: 5px; box-shadow: 0 10px 24px rgba(5, 24, 78, .24); }
  .elab-report-v2 .report-sheet__caption,
  .elab-report-v2 .report-sheet--dominant .report-sheet__caption,
  .elab-report-v2 .report-sheet--s1 .report-sheet__caption,
  .elab-report-v2 .report-sheet--s2 .report-sheet__caption,
  .elab-report-v2 .report-sheet--s3 .report-sheet__caption { position: relative;
    top: auto;
    right: auto;
    left: auto;
    max-width: none;
    font-size: 10px; }
  /* the rail reveal is a single soft fade for the whole row, not four staggered sheets */
  .elab-report-v2 .report-sheet--dominant { --seq: 0ms; }
  .elab-report-v2 .report-sheet--s1 { --seq: 70ms; }
  .elab-report-v2 .report-sheet--s2 { --seq: 140ms; }
  .elab-report-v2 .report-sheet--s3 { --seq: 210ms; }
  .elab-report-v2 .report-sheets__hint { display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 0;
    color: #bdd1f7;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase; }
  .elab-report-v2 .report-sheets__hint::after { content: "";
    width: 26px;
    height: 1px;
    background: linear-gradient(90deg, rgba(189, 209, 247, .8), rgba(189, 209, 247, 0)); }
  .elab-report-v2 .report-system--index .report-system__row { grid-template-columns: 32px 1fr 8px; }
  .elab-report-v2 .report-system--index .report-system__row small { display: none; }
  .elab-report-v2 .report-system--index .report-system__top { padding: 22px 18px 18px; }
  .elab-report-v2 .report-system--index .report-system__rows { padding: 0 18px; }
  .elab-report-v2 .report-system--index .report-system__bottom { padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .elab-report-v2 .report-sheet,
  .elab-report-v2 [data-sheets="pending"] .report-sheet,
  .elab-report-v2 [data-sheets="running"] .report-sheet,
  .elab-report-v2 [data-sheets="settled"] .report-sheet { opacity: 1;
    transform: rotate(var(--rot));
    transition: none; }
  .elab-report-v2 .report-sheet:hover,
  .elab-report-v2 .report-sheet:focus-visible { --lift: 0px; }
}

/* ---------------------------------------------------------------------------
   4. Contact Form 7 inside the approved CTA
   The standalone prototype's demo form is NOT shipped. The CTA renders a real,
   page-specific Contact Form 7 form with the approved field set. The rules below
   only re-skin it: submission, validation, acceptance and the theme's
   wpcf7mailsent -> #popup_thank handler keep working untouched.

   Everything is prefixed with .elab-report-v2, so CF7 forms in the header, the
   footer popup (#popup_form4) and every other page are unaffected.
   ------------------------------------------------------------------------ */
.elab-report-v2 .request-form-wrap { position: relative; z-index: 2; align-self: center; }

.elab-report-v2 .request-form-wrap .wpcf7 { margin: 0; }

.elab-report-v2 #elab-report-cta .wpcf7,
.elab-report-v2 #elab-report-cta .wpcf7-form { width: 100%; margin-bottom: 0; }

.elab-report-v2 #elab-report-cta .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--elab-radius-l);
  background: rgba(8, 26, 60, .4);
}

/* This page has its own CF7 form so its full approved field set can be rendered
   without changing the shared forms used elsewhere on the production site. */
.elab-report-v2 #elab-report-cta .wpcf7-form > .elab-report-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
}

/* CF7 auto-formatting adds line-break nodes around form tags. They must not
   become grid items or add a second gap inside each approved field. */
.elab-report-v2 #elab-report-cta .elab-report-form > br,
.elab-report-v2 #elab-report-cta .elab-report-form > p:empty,
.elab-report-v2 #elab-report-cta .elab-report-form > label > br,
.elab-report-v2 #elab-report-cta .elab-report-form > .request-form__consent > br,
.elab-report-v2 #elab-report-cta .elab-report-form > .request-form__submit > br {
  display: none;
}

.elab-report-v2 #elab-report-cta .elab-report-form > label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: 0;
  color: #d2ddee;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.elab-report-v2 #elab-report-cta .elab-report-form > .request-form__wide,
.elab-report-v2 #elab-report-cta .elab-report-form > .request-form__consent,
.elab-report-v2 #elab-report-cta .elab-report-form > .request-form__submit {
  grid-column: 1 / -1;
}

.elab-report-v2 #elab-report-cta .request-form__consent,
.elab-report-v2 #elab-report-cta .request-form__submit {
  width: 100%;
  margin: 0;
}

.elab-report-v2 #elab-report-cta .request-form__submit {
  position: relative;
  display: block;
}

.elab-report-v2 #elab-report-cta .request-form__submit::after {
  content: "\2197";
  position: absolute;
  top: 50%;
  right: 25%;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-52%);
}

/* CF7 wraps most controls in <p>; the approved form is a grid, so the paragraph
   becomes a transparent grid item instead of a block with browser margins */
.elab-report-v2 #elab-report-cta .wpcf7-form > p,
.elab-report-v2 #elab-report-cta .wpcf7-form > label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: 0;
  color: #d2ddee;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

/* style.css hides the labels of this exact form instance with
       #wpcf7-f6-o1 .wpcf7-form > label { display: none !important }
   an ID selector plus !important. A class-only rule loses that comparison no
   matter how many classes it stacks, and with the labels hidden the fields go
   with them and the form is unusable. The CTA wrapper therefore carries its own
   id, which puts this rule at (1 id, 3 classes, 1 element) - above the theme's
   (1 id, 1 class, 1 element) regardless of load order. Scoped to this page: CF7
   in the header, the footer popup and every other page keeps the theme rule. */
.elab-report-v2 #elab-report-cta.request-form-wrap .wpcf7 .wpcf7-form > label { display: flex !important; }

.elab-report-v2 .request-form-wrap .wpcf7-form-control-wrap { display: block; width: 100%; }

.elab-report-v2 .request-form-wrap .wpcf7-form-control {
  width: 100%;
  border: 1px solid rgba(198, 218, 248, .46);
  border-radius: var(--elab-radius-s);
  outline: 0;
  background: rgba(255, 255, 255, .13);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.elab-report-v2 .request-form-wrap .wpcf7-form-control[type="text"],
.elab-report-v2 .request-form-wrap .wpcf7-form-control[type="tel"],
.elab-report-v2 .request-form-wrap .wpcf7-form-control[type="email"],
.elab-report-v2 .request-form-wrap .wpcf7-text,
.elab-report-v2 .request-form-wrap .wpcf7-tel,
.elab-report-v2 .request-form-wrap .wpcf7-email { height: 52px; padding: 0 15px; }

.elab-report-v2 .request-form-wrap textarea.wpcf7-form-control,
.elab-report-v2 .request-form-wrap .wpcf7-textarea {
  min-height: 92px;
  padding: 14px 15px;
  resize: vertical;
}

.elab-report-v2 .request-form-wrap .wpcf7-form-control::placeholder { color: #8fa2bd; }
.elab-report-v2 .request-form-wrap .wpcf7-form-control:focus {
  border-color: #8bb2ff;
  box-shadow: 0 0 0 3px rgba(126, 170, 255, .15);
}

/* textarea and acceptance span the full width, like the approved layout */
.elab-report-v2 #elab-report-cta .wpcf7-form > p:has(textarea),
.elab-report-v2 #elab-report-cta .wpcf7-form > label:has(textarea),
.elab-report-v2 #elab-report-cta .wpcf7-form > p:has(.wpcf7-acceptance),
.elab-report-v2 #elab-report-cta .wpcf7-form > label:has(.wpcf7-acceptance),
.elab-report-v2 #elab-report-cta .wpcf7-form > p:has(.wpcf7-submit),
.elab-report-v2 #elab-report-cta .wpcf7-form > label:has(.wpcf7-submit),
.elab-report-v2 #elab-report-cta .wpcf7-form > .wpcf7-form-control-wrap,
.elab-report-v2 #elab-report-cta .wpcf7-response-output,
.elab-report-v2 #elab-report-cta .wpcf7-form > .wpcf7-acceptance,
.elab-report-v2 #elab-report-cta .wpcf7-form > .wpcf7-submit { grid-column: 1 / -1; }

/* CF7 puts .wpcf7-form-control on the acceptance wrapper too - it is a <span>,
   not a field, so it must not inherit the input box */
.elab-report-v2 #elab-report-cta .wpcf7-form-control.wpcf7-acceptance,
.elab-report-v2 #elab-report-cta .wpcf7-form-control.wpcf7-checkbox,
.elab-report-v2 #elab-report-cta .wpcf7-form-control.wpcf7-radio {
  height: auto;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.elab-report-v2 .request-form-wrap .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.elab-report-v2 #elab-report-cta .wpcf7-acceptance label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  color: #cddaec;
  font-size: 11px;
  font-weight: 600;
}
.elab-report-v2 .request-form-wrap .wpcf7-acceptance input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  padding: 0;
  accent-color: var(--elab-orange);
}
.elab-report-v2 .request-form-wrap .wpcf7-list-item-label { color: #cddaec; font-size: 11px; }

/* the submit button takes the approved primary-button shape */
.elab-report-v2 #elab-report-cta .wpcf7-submit,
.elab-report-v2 #elab-report-cta input[type="submit"] {
  display: inline-flex;
  width: 100%;
  max-width: none;
  min-height: 54px;
  height: auto;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 23px;
  border: 0;
  border-radius: 9px;
  background: var(--elab-orange);
  box-shadow: 0 12px 26px rgba(255, 91, 32, .28);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.elab-report-v2 #elab-report-cta .wpcf7-submit:hover,
.elab-report-v2 #elab-report-cta input[type="submit"]:hover {
  background: #ff6c37;
  box-shadow: 0 16px 32px rgba(255, 91, 32, .34);
  transform: translateY(-1px);
}

/* Validation and response messaging are NOT restyled here. The theme hides
   .wpcf7-not-valid-tip and .wpcf7-response-output on purpose and reports the
   result through the Fancybox #popup_thank handler in js/scripts.js. That is the
   production behaviour of every form on the site and this page keeps it.
   Only the invalid-field outline is aligned with the dark CTA. */
.elab-report-v2 #elab-report-cta .wpcf7-form-control.wpcf7-not-valid { border-color: #ff9a76; }
.elab-report-v2 .request-form-wrap .wpcf7-spinner { margin: 0 auto; }

/* ---------------------------------------------------------------------------
   5. Document triggers
   The prototype's own overlay is not shipped. Documents, licences and reviews
   open in the production Fancybox already loaded by the theme, so the trigger
   is an <a data-fancybox> and it needs the same box the prototype's <button>
   had. Only layout is restated - the visual treatment comes from the approved
   rules above.
   ------------------------------------------------------------------------ */
.elab-report-v2 a.report-sheet,
.elab-report-v2 .license-pair a,
.elab-report-v2 .review-strip a { display: block; color: inherit; }

.elab-report-v2 .license-pair a,
.elab-report-v2 .review-strip a {
  position: relative;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(155, 181, 216, .28);
  border-radius: var(--elab-radius-m);
  background: #fff;
  color: var(--elab-ink);
  text-align: left;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.elab-report-v2 .license-pair a:hover,
.elab-report-v2 .review-strip a:hover {
  border-color: rgba(125, 171, 237, .72);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
  transform: translateY(-2px);
}

@media (max-width: 720px) {
  .elab-report-v2 #elab-report-cta .wpcf7-form { grid-template-columns: 1fr; padding: 20px; }
  .elab-report-v2 #elab-report-cta .wpcf7-form > .elab-report-form { grid-template-columns: 1fr; }
  .elab-report-v2 #elab-report-cta .request-form__submit::after { right: 22px; }
}

/* ---------------------------------------------------------------------------
   6. Client-requested first-screen refinements
   This stylesheet is enqueued only on the target service page. The header logo
   exception therefore cannot affect the rest of the production site.
   ------------------------------------------------------------------------ */
.logonew > a {
  display: block;
  width: 281px;
  height: 58px;
  background: #fff url("../logo-header-2026.jpg") center / contain no-repeat;
}
.logonew > a > svg { display: none; }

/* Pull the approved hero content upward on desktop so the primary CTA remains
   visible in a 1366x768 laptop browser viewport. Tablet/mobile spacing stays
   exactly as approved. */
@media (min-width: 1181px) {
  .elab-report-v2 .hero__copy {
    justify-content: flex-start;
    padding-top: 16px;
  }
}

@media (max-width: 1180px) {
  .logonew > a {
    width: 200px;
    height: 35px;
  }
}
