:root {
  --nova-night: #0b1a33;
  --nova-ink: #0b1a33;
  --nova-paper: #f8fafc;
  --nova-white: #ffffff;
  --nova-violet: #c2410c;
  --nova-aqua: #2563eb;
  --nova-coral: #f97066;
  --nova-lime: #dbeafe;
  --nova-muted: #667085;
  --nova-line: #dfe3e8;
  --nova-soft-line: #eaecf0;
  --nova-serif: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  --nova-sans: "Inter", system-ui, sans-serif;
  --nova-ease: cubic-bezier(.16, 1, .3, 1);
  --nova-header-height: 122px;
  --nova-admin-offset: 0px;
}

html { scroll-behavior: smooth; scroll-padding-top:calc(var(--nova-header-height) + var(--nova-admin-offset) + 24px); }
* { box-sizing: border-box; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--nova-ink);
  background: var(--nova-white);
  font-family: var(--nova-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -.01em;
  -webkit-font-smoothing: antialiased;
}
body.nova-menu-open { overflow: hidden; }
body.admin-bar { --nova-admin-offset: 32px; }
::selection { color: #fff; background: var(--nova-violet); }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > header,
header.wp-block-template-part { position: relative; z-index: 1000; margin: 0; border: 0; background: transparent; }
.page > header.wp-block-template-part:not(.classic-header--overlay) { height:var(--nova-header-height); }
.wp-site-blocks > footer { margin-block-start: 0; }
footer.wp-block-template-part { margin:0; padding:0; border:0; color:inherit; background:transparent; font:inherit; text-align:left; }
.alignwide { width: min(1320px, calc(100% - 64px)); margin-inline: auto !important; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Shared masthead: quiet utility row, readable navigation and service directory. */
.nova-header {
  position: fixed;
  z-index: 9999;
  inset: 0 0 auto;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid var(--nova-soft-line);
}
.admin-bar .nova-header { top:var(--nova-admin-offset); }
.nova-header__glow { display: none; }
.nova-header__utility { border-bottom:1px solid var(--nova-soft-line); background:var(--nova-paper); }
.nova-header__utility-inner { display:flex; align-items:center; justify-content:space-between; width:min(1320px,calc(100% - 64px)); height:32px; margin-inline:auto; }
.nova-header__utility p { display:flex; align-items:center; gap:10px; margin:0; color:#475467; font-size:14px; font-weight:600; line-height:1; }
.nova-header__utility p > span { width:6px; height:6px; background:#1d4ed8; }
.nova-header__utility-inner > div { display:flex; align-items:center; gap:25px; }
.nova-header__utility a { color:#475467; font-size:14px; font-weight:600; text-decoration:none; }
.nova-header__utility a:hover { color:#1d4ed8; }
.nova-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  width: min(1320px, calc(100% - 64px));
  min-height: 88px;
  margin: 0 auto;
  padding: 0;
  color: var(--nova-ink);
  background: transparent;
}
.nova-brand { display:inline-flex; align-items:center; color:var(--nova-ink); text-decoration:none; }
.nova-brand__logo { display:block; width:235px; height:auto; }
.nova-nav { position:static; display:flex; justify-content:flex-end; }
.nova-nav__list { display:flex; align-items:center; gap:14px; margin:0; padding:0; list-style:none; }
.nova-nav__item { position:static; }
.nova-nav__item > a,
.nova-nav__trigger {
  display:inline-flex;
  position:relative;
  align-items:center;
  gap:9px;
  min-height:88px;
  padding:0 7px;
  border:0;
  border-radius:0;
  color:#344054;
  background:transparent;
  font:600 17px/1 var(--nova-sans);
  text-decoration:none;
  cursor:pointer;
  transition:color .3s ease;
}
.nova-nav__item > a::after,.nova-nav__trigger::after { content:""; position:absolute; right:7px; bottom:17px; left:7px; height:2px; background:var(--nova-aqua); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--nova-ease); }
.nova-nav__item > a:hover,
.nova-nav__item > a:focus-visible,
.nova-nav__trigger:hover,
.nova-nav__trigger:focus-visible,
.nova-nav__item.is-open .nova-nav__trigger { color:#1d4ed8; background:transparent; }
.nova-nav__item > a:hover::after,.nova-nav__item > a:focus-visible::after,.nova-nav__trigger:hover::after,.nova-nav__trigger:focus-visible::after,.nova-nav__item.is-open .nova-nav__trigger::after { transform:scaleX(1); }
.nova-header a:focus-visible,.nova-header button:focus-visible { outline:2px solid var(--nova-violet); outline-offset:4px; }
.nova-chevron { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .5s var(--nova-ease); }
.nova-nav__item.is-open .nova-chevron { transform:translateY(2px) rotate(225deg); }
.nova-header__actions { display:flex; align-items:center; gap:22px; padding-left:24px; border-left:1px solid var(--nova-line); }
.nova-sign-in { display:inline-flex; align-items:center; gap:9px; color:#344054; font-size:16px; font-weight:600; text-decoration:none; white-space:nowrap; }
.nova-sign-in svg { width:21px; height:21px; }
.nova-sign-in:hover { color:var(--nova-violet); }
.nova-button,
.lab-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:50px;
  padding:0 22px;
  border-radius:4px;
  font-family:var(--nova-sans);
  font-size:16px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .3s var(--nova-ease), background .3s ease, color .3s ease, border-color .3s ease;
}
.nova-button--primary { color:#fff; background:var(--nova-ink); }
.nova-button--primary svg { width:22px; height:22px; color:#5eead4; transition:transform .3s var(--nova-ease); }
.nova-button--primary:hover { color:#fff; background:#1d2939; }
.nova-button--primary:hover svg { transform:translateX(3px); }
.lab-button--solid { color:var(--nova-ink); background:var(--nova-aqua); }
.lab-button--solid:hover { color:#fff; background:#1d4ed8; transform:translateY(-2px); }

.nova-mega {
  position:absolute;
  z-index:50;
  top:calc(100% + 1px);
  left:50%;
  display:grid;
  grid-template-columns:.85fr 1.15fr 1.15fr;
  gap:24px;
  width:100%;
  padding:24px;
  border:1px solid var(--nova-line);
  border-bottom:3px solid var(--nova-aqua);
  border-radius:6px;
  color:var(--nova-ink);
  background:#fff;
  box-shadow:0 22px 40px rgba(11,26,51,.09);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden;
  transform:translate(-50%,12px);
  transform-origin:50% 0;
  transition:opacity .45s ease, transform .65s var(--nova-ease), visibility 0s linear .65s;
}
.nova-nav__item.is-open .nova-mega { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); transition:opacity .45s ease, transform .65s var(--nova-ease), visibility 0s; }
.nova-mega--compact { grid-template-columns:1fr 1.2fr; left:auto; right:0; width:min(860px,100%); transform:translate(0,12px); }
.nova-nav__item.is-open .nova-mega--compact { transform:translate(0,0); }
.nova-mega::before { display:none; }
.nova-mega__intro {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:285px;
  padding:28px;
  border-radius:2px;
  overflow:hidden;
  background:var(--nova-paper);
}
.nova-mega__intro--electric { background:#f8f7ff; }
.nova-mega__eyebrow,
.nova-mega__label { position:relative; z-index:1; color:var(--nova-violet); font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.nova-mega__intro p { position:relative; z-index:1; max-width:300px; margin:16px 0; color:var(--nova-ink); font:700 29px/1.18 var(--nova-serif); letter-spacing:-.035em; }
.nova-mega__description { display:block; margin-bottom:28px; color:#667085; font-size:16px; line-height:1.6; }
.nova-mega__intro a { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid var(--nova-line); color:var(--nova-ink); font-size:16px; font-weight:700; text-decoration:none; }
.nova-mega__intro a svg { width:22px; height:22px; flex-shrink:0; color:#1d4ed8; }
.nova-mega__group { position:relative; z-index:1; padding:12px 0; }
.nova-mega__label { margin:0 0 14px 12px; color:#667085; font-size:14px; }
.nova-mega__group > a { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; padding:15px 12px; border-radius:4px; color:var(--nova-ink); text-decoration:none; opacity:0; transform:translateY(8px); transition:background .25s ease, opacity .4s ease, transform .4s ease; }
.nova-nav__item.is-open .nova-mega__group > a { opacity:1; transform:none; }
.nova-nav__item.is-open .nova-mega__group > a:nth-child(2) { transition-delay:.08s; }
.nova-nav__item.is-open .nova-mega__group > a:nth-child(3) { transition-delay:.14s; }
.nova-nav__item.is-open .nova-mega__group > a:nth-child(4) { transition-delay:.2s; }
.nova-mega__group > a:hover { background:#f8fafc; }
.nova-mega__group a > span:last-child { display:flex; min-width:0; flex-direction:column; gap:3px; }
.nova-mega__group strong { font-size:18px; font-weight:600; line-height:1.4; }
.nova-mega__group small { color:var(--nova-muted); font-size:15px; line-height:1.5; }
.nova-menu-icon { display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:4px; color:var(--nova-violet); background:#fff7ed; }
.nova-menu-icon svg { width:25px; height:25px; }
.nova-nav__mobile-head,.nova-nav__mobile-actions,.nova-menu-toggle { display:none; }
.nova-nav-scrim { position:fixed; inset:calc(var(--nova-header-height) + var(--nova-admin-offset)) 0 0; z-index:-1; width:100%; border:0; background:rgba(11,26,51,.18); opacity:0; visibility:hidden; transition:opacity .45s ease,visibility 0s linear .65s; }
.nova-header.has-open-menu .nova-nav-scrim { opacity:1; visibility:visible; transition:opacity .4s ease,visibility 0s; }

/* The block and classic order/account templates share the site chrome. */
.nova-portal-shell { margin:0!important; padding-top:var(--nova-header-height); }
/* Only the classic wrapper reserves header space above this shell. WordPress
   also puts .page on <body>; a descendant selector would erase the block
   template's header clearance and hide its title behind the fixed menu. */
div.page > .nova-portal-shell { padding-top:0; }
.nova-portal-shell > .wp-block-post-content { max-width:none; margin:0; }
.nova-portal-shell > .wp-block-post-content > * { max-width:none; margin-inline:0; }

/* Research-led homepage */
.nova-home,.lab-home { margin:0!important; }
.lab-home > section { margin-block:0!important; }
[id^="lab-"],#services { scroll-margin-top:110px; }
.lab-label { display:flex; align-items:center; gap:13px; margin:0 0 24px; color:#475467; font-size:14px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.lab-label > span { display:grid; place-items:center; width:32px; height:24px; border:1px solid currentColor; color:var(--nova-violet); font-size:14px; }
.lab-hero {
  position:relative;
  padding:186px 32px 0;
  overflow:hidden;
  background-color:#fff;
  background-image:linear-gradient(rgba(11,26,51,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,26,51,.035) 1px,transparent 1px);
  background-size:48px 48px;
}
.lab-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 43%,rgba(255,255,255,.44) 72%,rgba(255,255,255,.2)); pointer-events:none; }
.lab-hero__grid { position:relative; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(460px,.96fr); gap:clamp(48px,6vw,100px); align-items:center; min-height:650px; padding:42px 0 82px; }
.lab-hero__grid > * { min-width:0; }
.lab-hero__copy { position:relative; z-index:2; }
.lab-hero h1 { max-width:780px; margin:0 0 28px; color:var(--nova-ink); font:800 clamp(58px,5.6vw,84px)/.98 var(--nova-serif); letter-spacing:-.06em; }
.lab-hero h1 em { position:relative; color:var(--nova-ink); font-style:normal; }
.lab-hero h1 em::after { content:""; position:absolute; left:0; right:0; bottom:.03em; z-index:-1; height:.16em; background:var(--nova-aqua); transform:skewX(-12deg); opacity:.75; }
.lab-hero__lede { max-width:680px; margin:0 0 34px; color:#344054; font-size:20px; line-height:1.62; }
.lab-actions { display:flex; flex-wrap:wrap; gap:12px; }
.lab-button--line { border:1px solid #98a2b3; color:var(--nova-ink); background:#fff; }
.lab-button--line:hover { border-color:var(--nova-ink); color:var(--nova-ink); transform:translateY(-2px); }
.lab-audit { display:flex; flex-wrap:wrap; gap:12px 24px; margin:30px 0 0; padding:0; color:#475467; list-style:none; }
.lab-audit li { display:flex; align-items:center; gap:9px; font-size:16px; font-weight:600; }
.lab-audit i { display:block; width:8px; height:8px; background:var(--nova-aqua); }

.lab-console { position:relative; z-index:2; border:2px solid var(--nova-ink); background:#fff; box-shadow:14px 14px 0 #dbeafe; }
.lab-console::before { content:""; position:absolute; top:-2px; left:-2px; width:34%; height:5px; background:var(--nova-violet); }
.lab-console__bar { display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:0 18px; border-bottom:1px solid var(--nova-line); color:#667085; font-size:14px; font-weight:700; letter-spacing:.08em; }
.lab-console__bar strong { color:#1d4ed8; }
.lab-console__model { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 20px; padding:19px 20px; border-bottom:1px solid var(--nova-line); }
.lab-console__model span { grid-column:1/-1; color:#667085; font-size:14px; font-weight:700; letter-spacing:.08em; }
.lab-console__model strong { font:700 23px/1.25 var(--nova-serif); }
.lab-console__model b { align-self:end; color:var(--nova-violet); font-size:16px; }
.lab-console__plot { position:relative; height:250px; padding:18px 24px 24px 42px; border-bottom:1px solid var(--nova-line); }
.lab-console__plot svg { width:100%; height:100%; overflow:visible; }
.lab-gridlines { fill:none; stroke:#e5e7eb; stroke-width:1; }
.lab-trend { fill:none; stroke:var(--nova-violet); stroke-width:4; stroke-linecap:square; stroke-dasharray:700; stroke-dashoffset:700; animation:labDraw 1.4s .25s var(--nova-ease) forwards; }
.lab-points circle { fill:var(--nova-aqua); stroke:#fff; stroke-width:3; opacity:0; animation:labPoint .5s forwards; }
.lab-points circle:nth-child(2){animation-delay:.15s}.lab-points circle:nth-child(3){animation-delay:.25s}.lab-points circle:nth-child(4){animation-delay:.35s}.lab-points circle:nth-child(5){animation-delay:.45s}.lab-points circle:nth-child(6){animation-delay:.55s}.lab-points circle:nth-child(7){animation-delay:.65s}.lab-points circle:nth-child(8){animation-delay:.75s}.lab-points circle:nth-child(9){animation-delay:.85s}.lab-points circle:nth-child(10){animation-delay:.95s}
.lab-axis { position:absolute; color:#667085; font-size:14px; font-weight:700; letter-spacing:.1em; }
.lab-axis--y { left:12px; top:50%; transform:rotate(-90deg) translateX(-50%); transform-origin:left top; }
.lab-axis--x { right:24px; bottom:8px; }
.lab-console__table { padding:0 20px; }
.lab-console__table > div { display:grid; grid-template-columns:1.6fr .55fr .6fr .8fr; gap:10px; min-height:42px; align-items:center; border-bottom:1px solid var(--nova-soft-line); font-size:16px; }
.lab-console__table > div:first-child { color:#667085; font-size:14px; text-transform:uppercase; letter-spacing:.06em; }
.lab-console__table strong { color:#1d4ed8; }
.lab-console__note { display:grid; grid-template-columns:1fr; gap:8px; padding:17px 20px; background:#fff7ed; }
.lab-console__note span { color:var(--nova-violet); font-size:14px; font-weight:700; letter-spacing:.08em; }
.lab-console__note p { margin:0; color:#344054; font-size:16px; line-height:1.5; }
.lab-proof { position:relative; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--nova-ink); border-bottom:0; background:#fff; }
.lab-proof > div { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; min-height:88px; padding:18px 22px; border-right:1px solid var(--nova-ink); }
.lab-proof > div:last-child { border-right:0; }
.lab-proof span { color:var(--nova-violet); font-size:14px; font-weight:700; }
.lab-proof strong { font-size:16px; line-height:1.3; }

.lab-index { padding:126px 32px; border-top:1px solid var(--nova-ink); background:#f8fafc; }
.lab-index__layout { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr); gap:clamp(60px,8vw,130px); align-items:start; }
.lab-index__intro { position:sticky; top:130px; }
.lab-index__intro,.lab-faq__layout > header { z-index:1; border:0; background:transparent; box-shadow:none; }
.lab-faq__layout > header { position:static; }
.lab-index h2,.lab-method h2,.lab-output h2,.lab-faq h2,.lab-intake h2 { margin:0; color:var(--nova-ink); font:800 clamp(46px,4.7vw,68px)/1.03 var(--nova-serif); letter-spacing:-.052em; }
.lab-index__intro > p:not(.lab-label) { max-width:500px; margin:24px 0; color:#475467; font-size:18px; }
.lab-text-link { display:inline-flex; gap:15px; padding-bottom:5px; border-bottom:2px solid var(--nova-aqua); color:var(--nova-ink); font-size:16px; font-weight:700; text-decoration:none; }
.lab-service-ledger { border-top:2px solid var(--nova-ink); }
.lab-service-row { display:grid; grid-template-columns:58px 1fr 48px; gap:18px; align-items:center; min-height:158px; padding:24px 10px; border-bottom:1px solid #cfd5dd; transition:background .35s ease,padding .35s var(--nova-ease); }
.lab-service-row:hover { padding-inline:24px; background:#fff; }
.lab-service-row--lead { background:#eff6ff; }
.lab-service-row__no { color:var(--nova-violet); font-size:14px; font-weight:700; }
.lab-service-row h3 { margin:0 0 9px; color:var(--nova-ink); font:700 clamp(27px,2.4vw,36px)/1.12 var(--nova-serif); letter-spacing:-.035em; }
.lab-service-row p { max-width:680px; margin:0; color:#475467; font-size:18px; line-height:1.58; }
.lab-service-row__mark { display:grid; place-items:center; width:44px; height:44px; border:1px solid #98a2b3; color:var(--nova-ink); font-size:16px; font-weight:700; transition:color .3s ease,background .3s ease,border-color .3s ease; }
.lab-service-row:hover .lab-service-row__mark { color:#fff; border-color:var(--nova-violet); background:var(--nova-violet); }

.lab-standard { padding:0 32px; color:var(--nova-ink); background:var(--nova-aqua); }
.lab-standard__grid { display:grid; grid-template-columns:1.15fr repeat(3,1fr); border-left:1px solid rgba(11,26,51,.35); }
.lab-standard__grid > p,.lab-standard__grid > div { min-height:190px; margin:0; padding:34px; border-right:1px solid rgba(11,26,51,.35); }
.lab-standard__grid > p { display:flex; align-items:flex-end; font:700 23px/1.3 var(--nova-serif); }
.lab-standard__grid > div { display:grid; grid-template-columns:28px 1fr; align-content:center; gap:6px 14px; }
.lab-standard__grid span { grid-row:1/3; font-size:14px; font-weight:800; }
.lab-standard__grid strong { font:700 21px/1.2 var(--nova-serif); }
.lab-standard__grid small { font-size:16px; line-height:1.5; }

.lab-method { padding:126px 32px; background:#fff7ed; }
.lab-method__head { display:grid; grid-template-columns:.7fr 1.25fr 1fr; gap:50px; align-items:end; margin-bottom:70px!important; }
.lab-method__head .lab-label { align-self:start; }
.lab-method h2 em { color:var(--nova-violet); font-style:normal; }
.lab-method__head > p:last-child { margin:0; color:#475467; font-size:18px; }
.lab-method__steps { display:grid; grid-template-columns:repeat(4,1fr); margin-top:0; padding:0; border-top:2px solid var(--nova-ink); border-left:1px solid #fdba74; list-style:none; }
.lab-method__steps li { min-height:360px; padding:0 25px 30px; border-right:1px solid #fdba74; border-bottom:1px solid #fdba74; }
.lab-method__steps > li > span { display:grid; place-items:center; width:58px; height:58px; margin-top:-1px; color:#fff; background:var(--nova-violet); font-size:14px; font-weight:800; }
.lab-method__steps div { padding-top:82px; }
.lab-method__steps small { color:var(--nova-violet); font-size:14px; font-weight:700; letter-spacing:.08em; }
.lab-method__steps h3 { margin:10px 0 13px; color:var(--nova-ink); font:700 27px/1.14 var(--nova-serif); letter-spacing:-.035em; }
.lab-method__steps p { margin:0; color:#475467; font-size:18px; line-height:1.6; }

.lab-output { padding:132px 32px; background:#fff; }
.lab-output__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); gap:clamp(70px,8vw,130px); align-items:center; }
.lab-report { position:relative; border:2px solid var(--nova-ink); background:#fff; box-shadow:-14px 14px 0 #fff7ed; }
.lab-report > header { position:static; display:flex; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--nova-ink); color:#475467; background:#fff; font-size:14px; font-weight:700; letter-spacing:.08em; }
.lab-report__title { display:grid; grid-template-columns:1fr; gap:8px; padding:25px 24px; border-bottom:1px solid var(--nova-line); }
.lab-report__title small { grid-column:1/-1; color:var(--nova-violet); font-size:14px; font-weight:700; letter-spacing:.08em; }
.lab-report__title h3 { margin:4px 0 0; font:700 30px/1.1 var(--nova-serif); }
.lab-report__title p { align-self:end; margin:0; color:#667085; font-size:16px; }
.lab-report__visual { display:grid; grid-template-columns:.95fr 1.05fr; min-height:330px; }
.lab-report__bars { display:grid; place-items:center; padding:12px 8px; border-right:1px solid var(--nova-line); }
.lab-report__bars svg { display:block; width:100%; max-height:330px; }
.lab-report table { width:100%; border-collapse:collapse; align-self:center; font-size:16px; }
.lab-report th,.lab-report td { padding:12px; border-bottom:1px solid var(--nova-line); text-align:left; }
.lab-report th { color:#667085; font-size:14px; text-transform:uppercase; }
.lab-report > footer { display:grid; grid-template-columns:repeat(3,1fr); padding:0; border-top:1px solid var(--nova-ink); color:#344054; background:#eff6ff; }
.lab-report > footer span { padding:14px; border-right:1px solid var(--nova-ink); font-size:14px; font-weight:700; text-align:center; text-transform:uppercase; }
.lab-report > footer span:last-child { border-right:0; }
.lab-output__copy > p:not(.lab-label) { margin:25px 0 32px; color:#475467; font-size:18px; }
.lab-output__copy ul { margin:0; padding:0; border-top:2px solid var(--nova-ink); list-style:none; }
.lab-output__copy li { display:grid; grid-template-columns:38px 1fr; gap:2px 14px; padding:17px 0; border-bottom:1px solid var(--nova-line); }
.lab-output__copy li > span { grid-row:1/3; color:var(--nova-violet); font-size:14px; font-weight:700; }
.lab-output__copy li strong { font-size:18px; }
.lab-output__copy li small { color:#667085; font-size:16px; }

.lab-faq { padding:126px 32px; border-block:1px solid var(--nova-line); background:#f8fafc; }
.lab-faq__layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:clamp(60px,8vw,130px); }
.lab-faq header > p:last-child { max-width:440px; color:#475467; font-size:18px; }
.lab-faq__list { border-top:2px solid var(--nova-ink); }
.lab-faq__list details { border-bottom:1px solid #cfd5dd; }
.lab-faq__list summary { display:grid; grid-template-columns:42px 1fr 30px; gap:16px; align-items:center; padding:24px 0; color:var(--nova-ink); cursor:pointer; list-style:none; font:700 23px/1.3 var(--nova-serif); letter-spacing:-.025em; }
.lab-faq__list summary::-webkit-details-marker { display:none; }
.lab-faq__list summary span { color:var(--nova-violet); font:700 14px/1 var(--nova-sans); }
.lab-faq__list summary i { position:relative; width:26px; height:26px; }
.lab-faq__list summary i::before,.lab-faq__list summary i::after { content:""; position:absolute; top:12px; left:4px; width:18px; height:2px; background:var(--nova-aqua); transition:transform .35s ease; }
.lab-faq__list summary i::after { transform:rotate(90deg); }
.lab-faq__list details[open] summary i::after { transform:rotate(0); }
.lab-faq__list details p { max-width:760px; margin:-4px 40px 27px 58px; color:#475467; font-size:18px; line-height:1.72; }

.lab-intake { padding:96px 32px; background:#fff; }
.lab-intake__panel { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; padding:64px; border:2px solid var(--nova-ink); border-top:8px solid var(--nova-aqua); background-color:#fff; background-image:linear-gradient(rgba(11,26,51,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,26,51,.035) 1px,transparent 1px); background-size:36px 36px; }
.lab-intake h2 { font-size:clamp(44px,4.8vw,70px); }
.lab-intake h2 em { color:var(--nova-violet); font-style:normal; }
.lab-intake__action { padding:28px; border:1px solid var(--nova-ink); background:#fff; }
.lab-intake__action p { margin:0 0 22px; color:#344054; font-size:18px; }
.lab-intake__action .lab-button { width:100%; }
.lab-intake__action small { display:block; margin-top:14px; color:#667085; font-size:14px; text-align:center; }

/* Service footer: shared branding, useful service links and a quiet legal row. */
.nova-footer { margin:0!important; padding:64px 32px 24px; border-top:4px solid var(--nova-ink); color:var(--nova-ink); background:#f8fafc; text-align:left; }
.nova-footer .alignwide { width:min(1320px,100%); }
.nova-footer__top { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:70px; align-items:center; margin-block:0!important; padding-bottom:38px; border-bottom:1px solid var(--nova-line); }
.nova-footer__brand { max-width:730px; margin:0!important; }
.nova-footer__logo-link { display:inline-flex; margin-bottom:24px; }
.nova-footer__logo-link img { display:block; width:225px; height:auto; }
.nova-footer__brand h2 { max-width:680px; margin:0 0 12px; color:var(--nova-ink); font:700 clamp(26px,2.3vw,34px)/1.25 var(--nova-serif); letter-spacing:-.03em; }
.nova-footer__brand > p { max-width:660px; margin:0; color:#475467; font-size:18px; line-height:1.65; }
.nova-footer__contact { display:grid; gap:14px; margin:0!important; padding:26px 0 26px 38px; border-left:1px solid var(--nova-line); }
.nova-footer__contact-label { margin:0; color:var(--nova-ink); font:700 20px/1.4 var(--nova-serif); }
.nova-footer__contact-content { display:grid; gap:14px; }
.nova-footer__contact .nova-button { justify-content:space-between; min-height:54px; width:100%; }
.nova-footer__email { max-width:310px; overflow-wrap:anywhere; color:#475467; font-size:16px; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.nova-footer__directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px; margin-block:0!important; padding:38px 0 32px; }
.nova-footer__column { min-width:0; margin:0!important; padding:0; border:0; background:transparent; }
.nova-footer__column h3 { min-height:56px; margin:0 0 14px; color:var(--nova-ink); font:700 20px/1.4 var(--nova-serif); letter-spacing:-.015em; }
.nova-footer__column ul { display:grid; gap:4px; margin:0; padding:0; list-style:none; }
.nova-footer__column li { margin:0; }
.nova-footer__column a { display:inline-block; padding:7px 0; color:#475467; font-size:18px; font-weight:500; line-height:1.5; text-decoration:none; text-underline-offset:4px; }
.nova-footer__column a:hover,.nova-footer__bottom a:hover { color:#1d4ed8; text-decoration:underline; }
.nova-footer a:focus-visible { outline:2px solid var(--nova-violet); outline-offset:4px; }
.nova-footer__note { margin-block:0!important; padding:20px 0; border-top:1px solid var(--nova-line); }
.nova-footer__note p { max-width:1050px; margin:0; color:#667085; font-size:14px; line-height:1.7; }
.nova-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-block:0!important; padding-top:20px; border-top:1px solid var(--nova-line); }
.nova-footer__bottom p { margin:0; color:#667085; font-size:14px; }
.nova-footer__bottom p:last-child { display:flex; flex-wrap:wrap; gap:12px 24px; }
.nova-footer__bottom a { display:inline-block; color:#475467; text-decoration:none; }

/* Posts, pages and archives */
.nova-content-shell,.nova-page,.nova-article { margin:0!important; padding:160px 32px 110px; color:var(--nova-ink); background:#fff; }
.nova-route-breadcrumbs { width:min(1320px,calc(100% - 64px)); margin:0 auto!important; padding:24px 0; }
.nova-route-breadcrumbs .breadcrumbs { display:flex; width:100%; max-width:1320px; margin:0 auto; padding:0; border:0; color:#475467; background:transparent; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.breadcrumbs a:focus-visible { outline:2px solid var(--nova-violet,#c2410c); outline-offset:4px; }
.sp-price-shell > .nova-route-breadcrumbs { width:100%; padding:calc(var(--nova-header-height,122px) + 24px) 32px 0; background:#f8fafc; }
.sp-price-shell > .nova-route-breadcrumbs .breadcrumbs { max-width:1320px; margin:0 auto; }
.nova-content-shell .breadcrumbs,.nova-page .breadcrumbs,.nova-article .breadcrumbs,.nova-archive-hero .breadcrumbs { margin:0 0 24px; overflow-wrap:anywhere; }
.nova-page__head,.nova-article__head { margin-bottom:58px; padding-bottom:30px; border-bottom:2px solid var(--nova-ink); }
.nova-page__description { max-width:900px; margin:24px 0 0; color:#475467; font-size:20px; line-height:1.7; }
.lab-service-row h3 a { color:inherit; text-decoration:none; }
.lab-service-row h3 a:hover { color:#1d4ed8; }
.lab-service-row h3 a:focus-visible { outline:2px solid var(--nova-violet); outline-offset:4px; }
.nova-kicker { display:flex; align-items:center; gap:12px; margin:0 0 20px; color:#475467; font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.nova-kicker span { display:block; width:28px; height:3px; background:var(--nova-aqua); }
.nova-content-shell > .wp-block-query-title,
.nova-page__head .wp-block-post-title,
.nova-article__head .wp-block-post-title { margin:0; color:var(--nova-ink); font:800 clamp(48px,6vw,78px)/1.03 var(--nova-serif); letter-spacing:-.052em; }
.nova-post-grid .wp-block-post-template { gap:20px; }
.nova-post-card { height:100%; padding:18px; border:1px solid var(--nova-line); border-radius:3px; background:#fff; transition:transform .3s var(--nova-ease),border-color .3s ease; }
.nova-post-card:hover { border-color:var(--nova-aqua); transform:translateY(-4px); }
.nova-post-card .wp-block-post-featured-image img { border-radius:0; }
.nova-post-card .wp-block-post-date { color:#667085; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.nova-post-card .wp-block-post-title { font-family:var(--nova-serif); font-size:27px; font-weight:700; line-height:1.15; }
.nova-post-card .wp-block-post-excerpt { color:#475467; font-size:18px; }
.nova-archive-hero { margin:0!important; padding:175px 32px 92px; color:var(--nova-ink); background-color:#eff6ff; background-image:linear-gradient(rgba(37,99,235,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.1) 1px,transparent 1px); background-size:40px 40px; border-bottom:1px solid var(--nova-ink); }
.nova-archive-hero h1,.nova-404 h1 { margin:0; color:var(--nova-ink); font:800 clamp(54px,7vw,88px)/.98 var(--nova-serif); letter-spacing:-.055em; }
.nova-archive-hero h1 em,.nova-404 h1 em { color:var(--nova-violet); font-style:normal; }
.nova-archive-hero p:not(.nova-kicker),.nova-404 > p:not(.nova-kicker) { max-width:650px; color:#475467; font-size:18px; }
.nova-article .wp-block-post-featured-image img { border-radius:0; }
.nova-article .wp-block-post-content { margin-top:60px; }
.nova-article .wp-block-post-content p { color:#344054; font-size:18px; line-height:1.8; }
.nova-article .wp-block-post-content h2 { margin-top:2em; color:var(--nova-ink); font:700 42px/1.12 var(--nova-serif); letter-spacing:-.04em; }
.nova-404 { min-height:100vh; margin:0!important; padding:190px 32px 100px; color:var(--nova-ink); background:#fff7ed; text-align:center; }
.nova-404 .nova-kicker,.nova-404 .wp-block-buttons { justify-content:center; }
.nova-404 .wp-block-buttons { margin-top:30px; }
.nova-404 .wp-block-button__link { min-height:50px; padding:0 22px; border-radius:4px; color:var(--nova-ink); background:var(--nova-aqua); }

@keyframes labDraw { to { stroke-dashoffset:0; } }
@keyframes labPoint { to { opacity:1; } }

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

@media (max-width:1120px) {
  .lab-hero__grid { grid-template-columns:minmax(0,1fr) minmax(400px,.8fr); gap:44px; }
  .lab-hero h1 { font-size:clamp(54px,6vw,72px); }
  .lab-standard__grid { grid-template-columns:1fr 1fr; }
  .lab-standard__grid > p,.lab-standard__grid > div { border-bottom:1px solid rgba(11,26,51,.35); }
  .lab-method__steps { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:1180px) {
  :root { --nova-header-height:81px; }
  .nova-header__utility { display:none; }
  .nova-header__inner { display:flex; justify-content:space-between; width:calc(100% - 40px); min-height:80px; }
  .nova-brand__logo { width:220px; }
  .nova-header__actions { display:none; }
  .nova-menu-toggle { position:relative; z-index:101; display:flex; flex-direction:column; justify-content:center; gap:6px; width:46px; height:46px; padding:11px; border:1px solid #d0d5dd; border-radius:3px; color:var(--nova-ink); background:#fff; cursor:pointer; }
  .nova-menu-toggle > span:not(.screen-reader-text) { display:block; width:22px; height:2px; margin:0; background:var(--nova-ink); transition:transform .45s var(--nova-ease); }
  .nova-header.is-mobile-open .nova-menu-toggle > span:nth-last-child(2) { transform:translateY(4px) rotate(45deg); }
  .nova-header.is-mobile-open .nova-menu-toggle > span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .nova-nav { position:fixed; z-index:100; top:var(--nova-admin-offset); right:0; display:block; width:min(92vw,440px); height:calc(100dvh - var(--nova-admin-offset)); padding:104px 24px 26px; color:var(--nova-ink); background:#fff; box-shadow:-20px 0 60px rgba(11,26,51,.16); overflow-y:auto; visibility:hidden; transform:translateX(104%); transition:transform .65s var(--nova-ease),visibility 0s linear .65s; }
  .nova-header.is-mobile-open .nova-nav { visibility:visible; transform:translateX(0); transition:transform .65s var(--nova-ease),visibility 0s; }
  .nova-nav__mobile-head { display:flex; flex-direction:column; gap:6px; margin-bottom:24px; padding:0 8px 20px; border-bottom:1px solid var(--nova-line); }
  .nova-nav__mobile-head span { color:var(--nova-ink); font:700 28px/1.1 var(--nova-serif); }
  .nova-nav__mobile-head small { color:#667085; font-size:16px; }
  .nova-nav__list { display:block; }
  .nova-nav__item { border-bottom:1px solid var(--nova-line); }
  .nova-nav__item > a,.nova-nav__trigger { justify-content:space-between; width:100%; min-height:62px; padding:0 8px; border-radius:0; color:var(--nova-ink); font:700 22px/1.2 var(--nova-serif); text-align:left; }
  .nova-nav__item > a::after,.nova-nav__trigger::after { display:none; }
  .nova-nav__item.is-open .nova-nav__trigger { color:var(--nova-violet); background:transparent; }
  .nova-mega,.nova-mega--compact { position:static; display:block; width:auto; max-height:0; padding:0 6px; border:0; border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:hidden; overflow:hidden; transform:none; transition:max-height .7s var(--nova-ease),visibility 0s linear .7s; }
  .nova-nav__item.is-open .nova-mega { max-height:1100px; padding-bottom:17px; visibility:visible; transform:none; transition:max-height .7s var(--nova-ease),visibility 0s; }
  .nova-mega__intro { display:none; }
  .nova-mega__group { padding:6px 0; }
  .nova-mega__group > a { opacity:1; transform:none; }
  .nova-mega__group strong { font-size:18px; }
  .nova-mega__group small { font-size:15px; }
  .nova-nav__mobile-actions { display:grid; gap:10px; margin-top:24px; }
  .nova-nav__mobile-actions > a:not(.nova-button) { padding:10px; color:#475467; font-size:17px; font-weight:600; text-align:center; text-decoration:none; }
  .nova-nav__mobile-actions .nova-button { color:#fff; }
  .nova-nav-scrim,.admin-bar .nova-nav-scrim { inset:0; z-index:90; }
}

@media (max-width:782px) { body.admin-bar { --nova-admin-offset:46px; } }

@media (max-width:960px) {

  .lab-hero { padding-top:124px; }
  .lab-hero__grid { grid-template-columns:minmax(0,1fr); gap:58px; }
  .lab-console { width:min(100%,680px); }
  .lab-proof { grid-template-columns:repeat(2,1fr); }
  .lab-proof > div:nth-child(2) { border-right:0; }
  .lab-proof > div:nth-child(-n+2) { border-bottom:1px solid var(--nova-ink); }
  .lab-index__layout,.lab-output__grid,.lab-faq__layout,.lab-intake__panel { grid-template-columns:1fr; }
  .lab-index__intro { position:static; }
  .lab-method__head { grid-template-columns:1fr; gap:20px; }
  .lab-method__head > p:last-child { max-width:650px; }
  .lab-output__grid { gap:80px; }
  .lab-report { width:min(100%,760px); }
  .lab-intake__panel { gap:38px; padding:48px; }
  .nova-footer__top { gap:32px; }
  .nova-footer__contact { padding-left:28px; }
  .nova-footer__directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
  .nova-footer__column h3 { min-height:0; }
}

@media (max-width:640px) {
  :root { --nova-header-height:77px; }
  body { font-size:18px; }
  .alignwide { width:calc(100% - 36px); }
  .nova-header__inner { width:calc(100% - 32px); min-height:76px; }
  .nova-brand__logo { width:200px; }
  .lab-label { margin-bottom:18px; font-size:14px; }
  .lab-hero { padding:120px 18px 0; background-size:36px 36px; }
  .lab-hero__grid { width:100%; padding:34px 0 55px; }
  .lab-hero h1 { font-size:clamp(43px,13.5vw,58px); line-height:1.01; }
  .lab-hero__lede { font-size:18px; }
  .lab-actions { display:grid; }
  .lab-button { width:100%; white-space:normal; text-align:center; }
  .lab-audit { display:grid; gap:9px; }
  .lab-console { box-shadow:8px 8px 0 #dbeafe; }
  .lab-console__bar { flex-wrap:wrap; gap:8px; padding:12px 16px; }
  .lab-console__model strong { font-size:19px; }
  .lab-console__plot { height:210px; padding-left:30px; }
  .lab-console__table { overflow-x:auto; }
  .lab-console__table > div { min-width:440px; }
  .lab-console__note { grid-template-columns:1fr; gap:7px; }
  .lab-proof { width:100%; grid-template-columns:1fr; border-inline:0; }
  .lab-proof > div,.lab-proof > div:nth-child(2) { min-height:66px; padding:15px 18px; border-right:0; border-bottom:1px solid var(--nova-ink); }
  .lab-index,.lab-method,.lab-output,.lab-faq { padding:82px 18px; }
  .lab-index__layout,.lab-faq__layout { width:100%; gap:54px; }
  .lab-index h2,.lab-method h2,.lab-output h2,.lab-faq h2,.lab-intake h2 { font-size:clamp(39px,11vw,50px); }
  .lab-service-row { grid-template-columns:36px 1fr; min-height:0; padding:24px 0; }
  .lab-service-row:hover { padding-inline:0; }
  .lab-service-row__mark { display:none; }
  .lab-service-row h3 { font-size:26px; }
  .lab-service-row p { font-size:18px; }
  .lab-standard { padding:0; }
  .lab-standard__grid { width:100%; grid-template-columns:1fr; border-left:0; }
  .lab-standard__grid > p,.lab-standard__grid > div { min-height:150px; padding:26px 18px; border-right:0; }
  .lab-method__head { width:100%; margin-bottom:50px!important; }
  .lab-method__steps { width:100%; grid-template-columns:1fr; }
  .lab-method__steps li { min-height:290px; }
  .lab-method__steps div { padding-top:55px; }
  .lab-output__grid { width:100%; gap:70px; }
  .lab-report { box-shadow:-7px 7px 0 #fff7ed; }
  .lab-report::after { display:none; }
  .lab-report__title { grid-template-columns:1fr; }
  .lab-report__visual { grid-template-columns:1fr; }
  .lab-report__bars { min-height:260px; border-right:0; border-bottom:1px solid var(--nova-line); }
  .lab-report table { font-size:16px; }
  .lab-report > footer { grid-template-columns:1fr; }
  .lab-report > footer span { border-right:0; border-bottom:1px solid var(--nova-ink); }
  .lab-report > footer span:last-child { border-bottom:0; }
  .lab-faq__list summary { grid-template-columns:32px 1fr 26px; gap:10px; font-size:20px; }
  .lab-faq__list details p { margin:0 30px 24px 42px; font-size:18px; }
  .lab-intake { padding:60px 18px; }
  .lab-intake__panel { width:100%; padding:34px 20px; }
  .lab-intake__action { padding:20px; }
  .nova-footer { padding:42px 20px 24px; }
  .nova-footer__top { grid-template-columns:1fr; gap:28px; padding-bottom:30px; }
  .nova-footer__logo-link img { width:210px; }
  .nova-footer__brand h2 { font-size:28px; }
  .nova-footer__contact { width:100%; padding:24px 0 0; border-left:0; border-top:1px solid var(--nova-line); }
  .nova-footer__contact .nova-button { width:min(100%,340px); }
  .nova-footer__directory { grid-template-columns:1fr; gap:0; padding:6px 0 18px; }
  .nova-footer__column { padding:24px 0!important; border-bottom:1px solid var(--nova-line); }
  .nova-footer__column:last-child { border-bottom:0; }
  .nova-footer__column h3 { margin-bottom:12px; font-size:20px; }
  .nova-footer__column a { padding:8px 0; font-size:18px; }
  .nova-footer__bottom { display:block; }
  .nova-footer__bottom p + p { margin-top:11px; }
  .nova-content-shell,.nova-page,.nova-article { padding:126px 18px 80px; }
  .nova-route-breadcrumbs { width:calc(100% - 40px); }
  .sp-price-shell > .nova-route-breadcrumbs { width:100%; padding:calc(var(--nova-header-height,77px) + 22px) 18px 0; }
  .nova-archive-hero { padding:140px 18px 70px; }
  .nova-post-grid .wp-block-post-template { grid-template-columns:1fr; }
}
