:root{--eco-lab-green:var(--eco-cs-green,#4aff91);--eco-lab-green2:var(--eco-cs-green-strong,#75ffb0);--eco-lab-bg:var(--eco-cs-bg,#080a09);--eco-lab-bg2:var(--eco-cs-bg2,#0b0e0c);--eco-lab-text:var(--eco-cs-text,#edf1ee);--eco-lab-muted:var(--eco-cs-text-mid,rgba(237,241,238,.74));--eco-lab-faint:var(--eco-cs-text-faint,rgba(237,241,238,.3));--eco-lab-line:var(--eco-cs-border,rgba(74,255,145,.2));--eco-lab-line2:var(--eco-cs-border-dim,rgba(232,232,232,.105));--eco-lab-mono:var(--eco-cs-mono,"JetBrains Mono","SFMono-Regular",Consolas,monospace);--eco-lab-soft:var(--eco-cs-soft,"Space Grotesk",Inter,system-ui,sans-serif);--eco-lab-display:var(--eco-cs-display,"Space Grotesk",Inter,system-ui,sans-serif)}
.eco-laboratory{position:relative;isolation:isolate;width:min(100%,var(--eco-cs-max,1440px));max-width:var(--eco-cs-max,1440px)!important;margin:0 auto;min-height:72vh;padding:0 0 clamp(42px,5vw,72px);overflow:hidden;border-inline:1px solid var(--eco-lab-line2);background:linear-gradient(rgba(74,255,145,.012) 1px,transparent 1px),radial-gradient(circle at 8% 2%,var(--eco-cs-green-glow,rgba(74,255,145,.16)),transparent 30%),var(--eco-lab-bg);background-size:100% 5px,auto,auto;color:var(--eco-lab-text)!important;font-family:var(--eco-lab-soft);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.eco-laboratory *{box-sizing:border-box}.eco-laboratory a{color:inherit;text-decoration:none!important}.eco-laboratory__grid{position:absolute;inset:0;z-index:-1;opacity:.16;pointer-events:none;background-image:linear-gradient(90deg,transparent 0 56%,rgba(74,255,145,.045) 56.05% 56.12%,transparent 56.17%);mask-image:linear-gradient(to bottom,#000,transparent 48%)}
.eco-laboratory__hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;min-height:300px;padding:clamp(52px,7vw,88px) clamp(24px,5vw,72px) clamp(34px,5vw,54px);border-bottom:1px solid var(--eco-lab-line2);background:linear-gradient(180deg,rgba(8,10,9,.42),rgba(11,14,12,.72))}.eco-laboratory__hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent 2%,var(--eco-lab-green) 38%,rgba(74,255,145,.12) 78%,transparent);box-shadow:0 0 18px var(--eco-cs-green-glow,rgba(74,255,145,.16))}.eco-laboratory__hero>div{max-width:800px}.eco-laboratory__kicker{display:flex;align-items:center;gap:9px;margin:0 0 17px!important;color:var(--eco-cs-green-dim,var(--eco-lab-green))!important;font:600 9px/1.4 var(--eco-lab-mono)!important;letter-spacing:.23em;text-transform:uppercase}.eco-laboratory__kicker span{width:6px;height:6px;border-radius:50%;background:var(--eco-lab-green);box-shadow:0 0 14px var(--eco-cs-green-glow,rgba(74,255,145,.22))}.eco-laboratory__hero h1{max-width:860px;margin:0 0 16px!important;color:var(--eco-lab-text)!important;font:520 clamp(42px,5.8vw,76px)/.98 var(--eco-lab-display)!important;letter-spacing:-.06em!important;text-wrap:balance}.eco-laboratory__hero h1 em{color:var(--eco-lab-green)!important;font-style:normal}.eco-laboratory__hero p:not(.eco-laboratory__kicker){max-width:720px;margin:0!important;color:var(--eco-lab-muted)!important;font:400 clamp(13px,1.35vw,16px)/1.72 var(--eco-lab-soft)!important}.eco-laboratory__hero>a{align-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid var(--eco-lab-line);color:var(--eco-cs-green-dim,var(--eco-lab-green))!important;background:var(--eco-cs-green-faint,rgba(74,255,145,.065));font:650 8px/1 var(--eco-lab-mono)!important;letter-spacing:.1em;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease}.eco-laboratory__hero>a:hover,.eco-laboratory__hero>a:focus-visible{border-color:var(--eco-cs-border-strong,rgba(74,255,145,.38));background:rgba(74,255,145,.1);color:var(--eco-lab-green2)!important}
.eco-laboratory__status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 clamp(24px,5vw,72px) 16px;border:1px solid var(--eco-lab-line2);border-top:0;background:var(--eco-lab-bg2)}.eco-laboratory__status div{min-height:72px;padding:15px 17px;border-right:1px solid var(--eco-lab-line2)}.eco-laboratory__status div:last-child{border-right:0}.eco-laboratory__status small,.eco-laboratory__status strong{display:block;font-family:var(--eco-lab-mono)!important}.eco-laboratory__status small{margin-bottom:7px;color:var(--eco-lab-faint)!important;font-size:7px;letter-spacing:.15em}.eco-laboratory__status strong{color:var(--eco-cs-text-mid,var(--eco-lab-muted))!important;font-size:9px;line-height:1.35;letter-spacing:.07em}.eco-laboratory__status div:first-child strong{color:var(--eco-lab-green)!important}
.eco-laboratory__modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 clamp(24px,5vw,72px)}.eco-laboratory__module{position:relative;display:flex;min-height:310px;flex-direction:column;padding:clamp(20px,2.5vw,28px);overflow:hidden;border:1px solid var(--eco-lab-line2);background:linear-gradient(150deg,var(--eco-lab-bg2),var(--eco-lab-bg));color:var(--eco-lab-text)!important;text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}.eco-laboratory__module.is-live{border-color:var(--eco-lab-line)}.eco-laboratory__module.is-live:hover,.eco-laboratory__module.is-live:focus-visible{transform:translateY(-2px);border-color:var(--eco-cs-border-strong,rgba(74,255,145,.38));background:linear-gradient(150deg,rgba(12,22,16,.98),var(--eco-lab-bg))}.eco-laboratory__module-top{display:flex;justify-content:space-between;align-items:center}.eco-laboratory__module-top span,.eco-laboratory__module-top b{font:650 7px/1 var(--eco-lab-mono)!important;letter-spacing:.14em}.eco-laboratory__module-top span{color:var(--eco-lab-green)!important}.eco-laboratory__module-top b{padding:6px 7px;border:1px solid var(--eco-lab-line2);color:var(--eco-lab-faint)!important}.eco-laboratory__module.is-live .eco-laboratory__module-top b{border-color:var(--eco-lab-line);color:var(--eco-lab-green)!important}.eco-laboratory__module h2{max-width:78%;margin:42px 0 11px!important;color:var(--eco-lab-text)!important;font:520 clamp(25px,3vw,39px)/1.04 var(--eco-lab-display)!important;letter-spacing:-.045em!important}.eco-laboratory__module h2 em{color:var(--eco-lab-green)!important;font-style:normal}.eco-laboratory__module>p{max-width:620px;margin:0!important;color:var(--eco-lab-muted)!important;font:400 13px/1.65 var(--eco-lab-soft)!important}.eco-laboratory__module ul{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 22px;padding:0;list-style:none}.eco-laboratory__module li{padding:6px 8px;border:1px solid var(--eco-lab-line2);color:var(--eco-cs-text-dim,rgba(237,241,238,.5))!important;font:600 7px/1 var(--eco-lab-mono)!important;letter-spacing:.07em}.eco-laboratory__module footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid var(--eco-lab-line2)}.eco-laboratory__module footer span,.eco-laboratory__module footer strong{font:650 8px/1 var(--eco-lab-mono)!important;letter-spacing:.12em}.eco-laboratory__module footer span{color:var(--eco-lab-faint)!important}.eco-laboratory__module.is-live footer span,.eco-laboratory__module.is-live footer strong{color:var(--eco-lab-green)!important}.eco-laboratory__module.is-queued,.eco-laboratory__module.is-planned{opacity:.72}.eco-laboratory__module.is-planned{min-height:245px}
.eco-laboratory__signal{position:absolute;right:25px;top:72px;display:flex;align-items:flex-end;gap:4px;height:58px;opacity:.22}.eco-laboratory__signal i{display:block;width:3px;background:var(--eco-lab-green);box-shadow:0 0 8px var(--eco-cs-green-glow,rgba(74,255,145,.2))}.eco-laboratory__signal i:nth-child(1){height:14px}.eco-laboratory__signal i:nth-child(2){height:36px}.eco-laboratory__signal i:nth-child(3){height:54px}.eco-laboratory__signal i:nth-child(4){height:28px}.eco-laboratory__signal i:nth-child(5){height:43px}.eco-laboratory__calipers{position:absolute;right:28px;top:76px;width:80px;height:58px;opacity:.16}.eco-laboratory__calipers span{position:absolute;left:12px;right:12px;top:28px;border-top:1px solid var(--eco-lab-green)}.eco-laboratory__calipers i{position:absolute;top:7px;width:1px;height:44px;background:var(--eco-lab-green)}.eco-laboratory__calipers i:first-child{left:12px}.eco-laboratory__calipers i:nth-child(2){right:12px}.eco-laboratory__trace{position:absolute;right:28px;top:74px;width:78px;height:70px;border:1px solid var(--eco-lab-line);border-radius:48% 52% 42% 58%/36% 36% 64% 64%;opacity:.25}.eco-laboratory__spectrum{position:absolute;right:26px;top:79px;width:94px;height:56px;opacity:.2;background:linear-gradient(135deg,transparent 0 30%,var(--eco-lab-green) 31% 32%,transparent 33% 46%,var(--eco-lab-green) 47% 48%,transparent 49% 63%,var(--eco-lab-green) 64% 65%,transparent 66%)}
.eco-laboratory__footer{display:flex;justify-content:space-between;gap:22px;margin:16px clamp(24px,5vw,72px) 0;padding:15px 17px;border:1px solid var(--eco-lab-line2);background:var(--eco-lab-bg2)}.eco-laboratory__footer span{color:var(--eco-lab-faint)!important;font:650 7px/1 var(--eco-lab-mono)!important;letter-spacing:.12em;white-space:nowrap}.eco-laboratory__footer p{margin:0!important;color:var(--eco-cs-text-dim,rgba(237,241,238,.5))!important;font:400 10px/1.55 var(--eco-lab-soft)!important;text-align:right}
body.eco-cs-route-laboratory .entry-header,body.eco-cs-route-laboratory .page-header,body.eco-cs-route-laboratory .entry-title{display:none!important}body.eco-cs-route-laboratory .site-content,body.eco-cs-route-laboratory .content-area,body.eco-cs-route-laboratory main.site-main{padding-top:0!important;margin-top:0!important}body.eco-cs-route-laboratory .entry-content,body.eco-cs-route-laboratory .wp-block-post-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
@media(max-width:900px){.eco-laboratory__hero{grid-template-columns:1fr}.eco-laboratory__hero>a{justify-self:start}.eco-laboratory__status{grid-template-columns:1fr 1fr}.eco-laboratory__status div:nth-child(2){border-right:0}.eco-laboratory__status div:nth-child(-n+2){border-bottom:1px solid var(--eco-lab-line2)}.eco-laboratory__modules{grid-template-columns:1fr}.eco-laboratory__module{min-height:280px}.eco-laboratory__module.is-planned{min-height:220px}}
@media(max-width:620px){.eco-laboratory__hero{min-height:auto;padding:42px 18px 32px}.eco-laboratory__hero h1{font-size:clamp(38px,13vw,58px)!important}.eco-laboratory__status,.eco-laboratory__modules,.eco-laboratory__footer{margin-left:12px;margin-right:12px}.eco-laboratory__status{display:block}.eco-laboratory__status div{border-right:0;border-bottom:1px solid var(--eco-lab-line2)!important}.eco-laboratory__status div:last-child{border-bottom:0!important}.eco-laboratory__module{min-height:270px;padding:18px}.eco-laboratory__module h2{max-width:85%;margin-top:40px!important}.eco-laboratory__signal,.eco-laboratory__calipers,.eco-laboratory__trace,.eco-laboratory__spectrum{opacity:.12}.eco-laboratory__footer{display:block}.eco-laboratory__footer p{margin-top:9px!important;text-align:left}}
@media(prefers-reduced-motion:reduce){.eco-laboratory *{transition:none!important}}


/* v0.4.99 — mobile Laboratory density + linked-card typography repair.
 * The four telemetry cells duplicate information already present in the module cards,
 * so phones prioritize the actual learning destinations instead. Module cards become a
 * horizontal snap rail to avoid a long four-card vertical stack.
 */
.eco-laboratory__module,
.eco-laboratory__module:hover,
.eco-laboratory__module:focus,
.eco-laboratory__module:focus-visible,
.eco-laboratory__module h2,
.eco-laboratory__module h2 em,
.eco-laboratory__module p,
.eco-laboratory__module li,
.eco-laboratory__module footer,
.eco-laboratory__module footer span,
.eco-laboratory__module footer strong{
  text-decoration:none!important;
  text-decoration-line:none!important;
}

@media(max-width:720px){
  .eco-laboratory{padding-bottom:34px}
  .eco-laboratory__hero{
    min-height:0;
    grid-template-columns:1fr;
    gap:22px;
    padding:34px 18px 28px;
  }
  .eco-laboratory__hero h1{
    margin-bottom:13px!important;
    font-size:clamp(39px,12.5vw,54px)!important;
    line-height:1!important;
  }
  .eco-laboratory__hero p:not(.eco-laboratory__kicker){
    max-width:38rem;
    font-size:13px!important;
    line-height:1.62!important;
  }
  .eco-laboratory__hero>a{
    min-height:36px;
    width:max-content;
    max-width:100%;
    padding-inline:12px;
  }

  /* These values are developer/status telemetry and repeat information in the cards. */
  .eco-laboratory__status{display:none!important}

  .eco-laboratory__modules{
    display:flex!important;
    grid-template-columns:none!important;
    gap:10px;
    margin:16px 0 0!important;
    padding:0 18px 8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:18px;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .eco-laboratory__modules::-webkit-scrollbar{display:none}
  .eco-laboratory__module,
  .eco-laboratory__module.is-planned{
    flex:0 0 min(86vw,390px);
    min-height:250px!important;
    padding:18px!important;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }
  .eco-laboratory__module h2{
    max-width:calc(100% - 58px);
    margin:34px 0 10px!important;
    font-size:clamp(27px,8vw,34px)!important;
    line-height:1.02!important;
  }
  .eco-laboratory__module>p{
    max-width:none;
    font-size:12px!important;
    line-height:1.58!important;
  }
  .eco-laboratory__module ul{display:none!important}
  .eco-laboratory__module footer{padding-top:13px}

  /* Decorative signals stay secondary to the title and never dominate a phone card. */
  .eco-laboratory__signal{
    right:17px;
    top:70px;
    width:38px;
    height:40px;
    gap:3px;
    opacity:.14;
  }
  .eco-laboratory__signal i{width:2px}
  .eco-laboratory__signal i:nth-child(1){height:9px}
  .eco-laboratory__signal i:nth-child(2){height:23px}
  .eco-laboratory__signal i:nth-child(3){height:35px}
  .eco-laboratory__signal i:nth-child(4){height:18px}
  .eco-laboratory__signal i:nth-child(5){height:28px}
  .eco-laboratory__calipers{
    right:15px;
    top:72px;
    width:52px;
    height:38px;
    opacity:.13;
  }
  .eco-laboratory__calipers span{left:8px;right:8px;top:19px}
  .eco-laboratory__calipers i{top:5px;height:29px}
  .eco-laboratory__calipers i:first-child{left:8px}
  .eco-laboratory__calipers i:nth-child(2){right:8px}
  .eco-laboratory__trace{
    right:17px;
    top:69px;
    width:48px;
    height:43px;
    opacity:.15;
  }
  .eco-laboratory__spectrum{
    right:15px;
    top:73px;
    width:58px;
    height:35px;
    opacity:.14;
  }

  .eco-laboratory__footer{
    margin:10px 18px 0!important;
    padding:12px 13px;
  }
  .eco-laboratory__footer p{font-size:9px!important;line-height:1.45!important}
}

@media(max-width:430px){
  .eco-laboratory__modules{padding-inline:14px;scroll-padding-inline:14px}
  .eco-laboratory__module,.eco-laboratory__module.is-planned{flex-basis:88vw;min-height:238px!important;padding:16px!important}
  .eco-laboratory__module h2{margin-top:31px!important;font-size:28px!important}
  .eco-laboratory__hero{padding-inline:16px}
  .eco-laboratory__footer{margin-inline:14px!important}
}

/* Route-scoped specificity guard for themes/builders that force anchor decoration. */
body.eco-cs-route-laboratory .eco-laboratory a.eco-laboratory__module,
body.eco-cs-route-laboratory .eco-laboratory a.eco-laboratory__module:hover,
body.eco-cs-route-laboratory .eco-laboratory a.eco-laboratory__module:focus,
body.eco-cs-route-laboratory .eco-laboratory a.eco-laboratory__module:focus-visible,
body.eco-cs-route-laboratory .eco-laboratory a.eco-laboratory__module *{
  text-decoration:none!important;
  text-decoration-line:none!important;
}


/* ============================================================
   ECHOLOGISTS 6.10 — Laboratory premium module deck + locks
   ============================================================ */
body.eco-cs-route-laboratory .eco-laboratory{
  --eco-lab-premium-line:rgba(89,255,157,.20);
  --eco-lab-premium-glow:rgba(74,255,145,.09);
  background:
    radial-gradient(circle at 18% 12%,rgba(74,255,145,.035),transparent 28%),
    linear-gradient(180deg,rgba(4,8,6,.99),rgba(3,6,5,.995));
}
.eco-laboratory__modules{gap:14px}
.eco-laboratory__module{
  min-height:320px;
  border-color:rgba(157,184,168,.13);
  background:
    linear-gradient(135deg,rgba(255,255,255,.018),transparent 28%),
    linear-gradient(155deg,rgba(8,15,11,.985),rgba(4,7,6,.995));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 46px rgba(0,0,0,.16);
}
.eco-laboratory__module:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 20%,rgba(74,255,145,.025) 48%,transparent 72%);
  transform:translateX(-35%);opacity:.55;
}
.eco-laboratory__module.is-live{
  border-color:rgba(74,255,145,.25);
  background:
    radial-gradient(circle at 88% 25%,rgba(74,255,145,.055),transparent 30%),
    linear-gradient(155deg,rgba(8,17,12,.99),rgba(4,8,6,.995));
  box-shadow:inset 0 1px 0 rgba(117,255,176,.07),0 18px 54px rgba(0,0,0,.18);
}
.eco-laboratory__module.is-live:hover,.eco-laboratory__module.is-live:focus-visible{
  transform:translateY(-3px);border-color:rgba(74,255,145,.45);
  box-shadow:inset 0 1px 0 rgba(117,255,176,.1),0 22px 60px rgba(0,0,0,.24),0 0 0 1px rgba(74,255,145,.035);
}
.eco-laboratory__module.is-coming-soon{
  opacity:1!important;cursor:default;pointer-events:none;user-select:none;
  border-color:rgba(157,184,168,.105);
  background:
    linear-gradient(135deg,rgba(255,255,255,.014),transparent 34%),
    linear-gradient(155deg,rgba(8,11,9,.96),rgba(4,6,5,.995));
}
.eco-laboratory__module.is-coming-soon h2,.eco-laboratory__module.is-coming-soon>p{opacity:.76}
.eco-laboratory__module.is-coming-soon li{opacity:.72}
.eco-laboratory__module.is-coming-soon .eco-laboratory__module-top b{
  border-color:rgba(157,184,168,.14);color:rgba(213,223,217,.38)!important;background:rgba(255,255,255,.012);
}
.eco-laboratory__module-top b{border-radius:2px}

.eco-laboratory__glyph{
  position:absolute;right:24px;top:62px;width:96px;height:76px;display:grid;place-items:center;
  color:var(--eco-lab-green);opacity:.34;pointer-events:none;
}
.eco-laboratory__glyph svg{width:100%;height:100%;overflow:visible}
.eco-laboratory__glyph path,.eco-laboratory__glyph circle{
  fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;
}
.eco-laboratory__glyph.is-anatomy .sector{fill:rgba(74,255,145,.018);stroke:rgba(74,255,145,.24)}
.eco-laboratory__glyph.is-anatomy .arc{stroke:rgba(117,255,176,.34);stroke-dasharray:2 4}
.eco-laboratory__glyph.is-anatomy .beam{stroke:rgba(117,255,176,.55)}
.eco-laboratory__glyph.is-anatomy circle{fill:var(--eco-lab-green);stroke:none;filter:drop-shadow(0 0 5px rgba(74,255,145,.45))}
.eco-laboratory__glyph.is-measurement{opacity:.22}
.eco-laboratory__glyph.is-volume{opacity:.18}
.eco-laboratory__glyph.is-volume .inner{stroke-dasharray:3 3}
.eco-laboratory__glyph.is-doppler{opacity:.2}
.eco-laboratory__glyph.is-doppler .baseline{stroke:rgba(157,184,168,.35);stroke-dasharray:3 3}

.eco-laboratory__lock{
  position:absolute;right:25px;top:138px;display:inline-flex;align-items:center;gap:6px;
  color:rgba(210,221,214,.32);font:700 7px/1 var(--eco-lab-mono)!important;letter-spacing:.14em;
}
.eco-laboratory__lock-icon{width:13px;height:15px;display:grid;place-items:center;color:rgba(117,255,176,.34)}
.eco-laboratory__lock-icon svg{width:100%;height:100%;overflow:visible}
.eco-laboratory__lock-icon rect,.eco-laboratory__lock-icon path,.eco-laboratory__lock-icon circle{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.eco-laboratory__lock-icon circle{fill:currentColor;stroke:none}
.eco-laboratory__module.is-coming-soon footer{border-top-color:rgba(157,184,168,.1)}
.eco-laboratory__module.is-coming-soon footer span,.eco-laboratory__module.is-coming-soon footer strong{color:rgba(210,221,214,.3)!important}

.eco-laboratory__status{
  border-color:rgba(157,184,168,.12);
  background:linear-gradient(90deg,rgba(7,13,9,.97),rgba(5,9,7,.985));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.eco-laboratory__status div{border-color:rgba(157,184,168,.1)}
.eco-laboratory__footer{
  border-color:rgba(157,184,168,.11);
  background:linear-gradient(90deg,rgba(7,12,9,.95),rgba(4,8,6,.98));
}

html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory{
  --eco-lab-premium-line:rgba(31,112,72,.22);
  --eco-lab-premium-glow:rgba(31,112,72,.06);
  background:radial-gradient(circle at 18% 12%,rgba(31,112,72,.045),transparent 28%),#f7f8f4;
}
html[data-eco-theme="light"] .eco-laboratory__module{
  background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(244,247,242,.99));
  box-shadow:inset 0 1px 0 #fff,0 18px 44px rgba(24,42,31,.055);
}
html[data-eco-theme="light"] .eco-laboratory__module.is-live{background:radial-gradient(circle at 88% 25%,rgba(31,112,72,.06),transparent 30%),linear-gradient(150deg,#fff,#f3f8f3)}
html[data-eco-theme="light"] .eco-laboratory__module.is-coming-soon{background:linear-gradient(150deg,#fafbf8,#f1f3ef)}
html[data-eco-theme="light"] .eco-laboratory__lock{color:rgba(21,46,31,.42)}
html[data-eco-theme="light"] .eco-laboratory__module.is-coming-soon footer span,html[data-eco-theme="light"] .eco-laboratory__module.is-coming-soon footer strong{color:rgba(21,46,31,.4)!important}

@media(max-width:720px){
  .eco-laboratory__glyph{right:15px;top:58px;width:66px;height:54px}
  .eco-laboratory__lock{right:16px;top:113px}
  .eco-laboratory__module,.eco-laboratory__module.is-planned,.eco-laboratory__module.is-coming-soon{min-height:255px!important}
}
@media(prefers-reduced-motion:no-preference){
  .eco-laboratory__module.is-live .eco-laboratory__glyph.is-anatomy .beam{animation:eco-lab-beam 3.4s ease-in-out infinite;transform-origin:48px 9px}
  @keyframes eco-lab-beam{0%,100%{transform:rotate(-13deg);opacity:.35}50%{transform:rotate(13deg);opacity:.9}}
}

/* ============================================================
   ECHOLOGISTS 6.13 — Laboratory daylight surface normalization
   Keeps the premium instrument hierarchy while removing dark-mode
   hard-coded surfaces from the daylight presentation.
   ============================================================ */
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory{
  --eco-lab-bg:#f7f9f5;
  --eco-lab-bg2:#fbfcf9;
  --eco-lab-text:#101812;
  --eco-lab-muted:rgba(16,24,18,.70);
  --eco-lab-faint:rgba(16,24,18,.42);
  --eco-lab-line:rgba(28,113,70,.24);
  --eco-lab-line2:rgba(20,38,27,.12);
  --eco-lab-premium-line:rgba(28,113,70,.22);
  --eco-lab-premium-glow:rgba(28,113,70,.055);
  color:var(--eco-lab-text)!important;
  border-inline-color:rgba(20,38,27,.12);
  background:
    linear-gradient(rgba(28,113,70,.018) 1px,transparent 1px),
    radial-gradient(circle at 16% 8%,rgba(28,113,70,.055),transparent 30%),
    #f7f9f5!important;
  background-size:100% 6px,auto,auto!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__grid{
  opacity:.08;
  background-image:linear-gradient(90deg,transparent 0 56%,rgba(28,113,70,.09) 56.05% 56.12%,transparent 56.17%);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero{
  border-bottom-color:rgba(20,38,27,.12);
  background:
    radial-gradient(circle at 12% 4%,rgba(28,113,70,.065),transparent 31%),
    linear-gradient(180deg,rgba(253,254,252,.99),rgba(245,248,244,.985))!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.85);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero:after{
  background:linear-gradient(90deg,transparent 2%,rgba(28,113,70,.76) 38%,rgba(28,113,70,.15) 78%,transparent);
  box-shadow:0 0 14px rgba(28,113,70,.08);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero h1,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module h2{
  color:#101812!important;
  -webkit-text-fill-color:#101812!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero h1 em,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module h2 em{
  color:#1b7045!important;
  -webkit-text-fill-color:#1b7045!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__kicker,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module-top span,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-live footer span,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-live footer strong{
  color:#1b7045!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero p:not(.eco-laboratory__kicker),
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module>p{
  color:rgba(16,24,18,.70)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero>a{
  border-color:rgba(28,113,70,.25)!important;
  background:rgba(28,113,70,.045)!important;
  color:#1b7045!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero>a:hover,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero>a:focus-visible{
  border-color:rgba(28,113,70,.48)!important;
  background:rgba(28,113,70,.085)!important;
  color:#125a35!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__status{
  border-color:rgba(20,38,27,.13)!important;
  background:linear-gradient(90deg,#fbfcf9,#f4f7f3)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 30px rgba(26,47,34,.025)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__status div{
  border-color:rgba(20,38,27,.11)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__status small{
  color:rgba(16,24,18,.42)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__status strong{
  color:rgba(16,24,18,.68)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__status div:first-child strong{
  color:#1b7045!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module{
  border-color:rgba(20,38,27,.13)!important;
  color:#101812!important;
  background:
    linear-gradient(135deg,rgba(28,113,70,.018),transparent 30%),
    linear-gradient(150deg,#fff,#f5f8f4)!important;
  box-shadow:inset 0 1px 0 #fff,0 16px 42px rgba(25,46,32,.05)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module:before{
  background:linear-gradient(115deg,transparent 20%,rgba(28,113,70,.028) 48%,transparent 72%)!important;
  opacity:.5;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-live{
  border-color:rgba(28,113,70,.30)!important;
  background:
    radial-gradient(circle at 88% 25%,rgba(28,113,70,.07),transparent 31%),
    linear-gradient(150deg,#fff,#f3f8f3)!important;
  box-shadow:inset 0 1px 0 #fff,0 18px 46px rgba(25,46,32,.055)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-live:hover,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-live:focus-visible{
  border-color:rgba(28,113,70,.48)!important;
  background:
    radial-gradient(circle at 88% 25%,rgba(28,113,70,.085),transparent 31%),
    linear-gradient(150deg,#fff,#eef6f0)!important;
  box-shadow:inset 0 1px 0 #fff,0 22px 52px rgba(25,46,32,.08),0 0 0 1px rgba(28,113,70,.025)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-coming-soon{
  border-color:rgba(20,38,27,.105)!important;
  background:linear-gradient(150deg,#fafbf8,#f1f4f0)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-coming-soon h2,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-coming-soon>p{
  opacity:.67;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module-top b{
  border-color:rgba(20,38,27,.13)!important;
  background:rgba(255,255,255,.44)!important;
  color:rgba(16,24,18,.43)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-live .eco-laboratory__module-top b{
  border-color:rgba(28,113,70,.28)!important;
  color:#1b7045!important;
  background:rgba(28,113,70,.035)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module li{
  border-color:rgba(20,38,27,.13)!important;
  color:rgba(16,24,18,.58)!important;
  background:rgba(255,255,255,.36);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module footer{
  border-top-color:rgba(20,38,27,.11)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module footer span,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module footer strong{
  color:rgba(16,24,18,.42)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__glyph{
  color:#1b7045!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__glyph.is-anatomy .sector{
  fill:rgba(28,113,70,.018);stroke:rgba(28,113,70,.27);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__glyph.is-anatomy .arc{stroke:rgba(28,113,70,.36)}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__glyph.is-anatomy .beam{stroke:rgba(28,113,70,.56)}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__glyph.is-anatomy circle{
  fill:#1b7045;filter:drop-shadow(0 0 4px rgba(28,113,70,.20));
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__glyph.is-doppler .baseline{
  stroke:rgba(16,24,18,.28);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__lock{
  color:rgba(16,24,18,.42)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__lock-icon{
  color:rgba(28,113,70,.42)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-coming-soon footer span,
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__module.is-coming-soon footer strong{
  color:rgba(16,24,18,.38)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__footer{
  border-color:rgba(20,38,27,.12)!important;
  background:linear-gradient(90deg,#fafbf8,#f3f6f2)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__footer span{
  color:rgba(16,24,18,.42)!important;
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__footer p{
  color:rgba(16,24,18,.58)!important;
}


/* ============================================================
   ECHOLOGISTS 6.18 — Laboratory mobile hero clearance
   ============================================================ */
@media (max-width: 720px) {
  body.eco-cs-route-laboratory .eco-laboratory__hero {
    padding-top: 58px !important;
  }
  body.eco-cs-route-laboratory .eco-laboratory__kicker {
    margin-bottom: 15px !important;
  }
  body.eco-cs-route-laboratory .eco-laboratory__module.is-live .eco-laboratory__glyph.is-anatomy {
    top: 48px !important;
    right: 14px !important;
  }
}
@media (max-width: 430px) {
  body.eco-cs-route-laboratory .eco-laboratory__hero {
    padding-top: 62px !important;
  }
}


/* ============================================================
   ECHOLOGISTS 6.47 — Patient-education signal-field atmosphere
   Carries the calm ambient language from the Patient Education holding
   page into the Laboratory shell without changing module structure.
   ============================================================ */
body.eco-cs-route-laboratory .eco-laboratory {
  background:
    radial-gradient(circle at 78% 23%, rgba(74,255,145,.075), transparent 34%),
    linear-gradient(rgba(74,255,145,.021) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,255,145,.016) 1px, transparent 1px),
    var(--eco-lab-bg) !important;
  background-size: auto, 100% 7px, 7px 100%, auto !important;
}

body.eco-cs-route-laboratory .eco-laboratory::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      transparent 0 7%,
      rgba(74,255,145,.13) 7% calc(7% + 1px),
      transparent calc(7% + 1px) 93%,
      rgba(74,255,145,.13) 93% calc(93% + 1px),
      transparent calc(93% + 1px)
    );
  opacity: .36;
}

body.eco-cs-route-laboratory .eco-laboratory__grid {
  z-index: 0;
  opacity: .1;
}

body.eco-cs-route-laboratory .eco-laboratory__ambient-signal {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: .62;
  pointer-events: none;
}

body.eco-cs-route-laboratory .eco-laboratory__orbit {
  position: absolute;
  right: clamp(-190px, -9vw, -80px);
  top: clamp(34px, 7vw, 96px);
  z-index: 1;
  width: clamp(390px, 48vw, 690px);
  aspect-ratio: 1;
  border: 1px solid rgba(74,255,145,.095);
  border-radius: 50%;
  pointer-events: none;
  animation: ecoLabAmbientBreathe 7s ease-in-out infinite;
}

body.eco-cs-route-laboratory .eco-laboratory__orbit::before,
body.eco-cs-route-laboratory .eco-laboratory__orbit::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 13%;
  border: 1px solid rgba(74,255,145,.11);
}

body.eco-cs-route-laboratory .eco-laboratory__orbit::after {
  inset: 32%;
  border-color: rgba(74,255,145,.19);
  box-shadow: 0 0 80px rgba(74,255,145,.045);
}

body.eco-cs-route-laboratory .eco-laboratory__orbit i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: -4px;
  border-radius: 50%;
  background: var(--eco-lab-green);
  box-shadow: 0 0 18px rgba(74,255,145,.68);
  animation: ecoLabAmbientOrbit 17s linear infinite;
}

body.eco-cs-route-laboratory .eco-laboratory__hero,
body.eco-cs-route-laboratory .eco-laboratory__status,
body.eco-cs-route-laboratory .eco-laboratory__modules,
body.eco-cs-route-laboratory .eco-laboratory__footer {
  position: relative;
  z-index: 2;
}

/* Let a little of the signal field breathe through the hero while preserving
   text contrast and the existing Laboratory hierarchy. */
body.eco-cs-route-laboratory .eco-laboratory__hero {
  background:
    linear-gradient(180deg, rgba(8,10,9,.34), rgba(11,14,12,.69)) !important;
}

@keyframes ecoLabAmbientBreathe {
  0%,100% { transform: scale(.965); opacity: .48; }
  50% { transform: scale(1.02); opacity: .86; }
}

@keyframes ecoLabAmbientOrbit {
  from { transform: rotate(0deg) translateX(clamp(98px, 14vw, 205px)) rotate(0deg); }
  to { transform: rotate(360deg) translateX(clamp(98px, 14vw, 205px)) rotate(-360deg); }
}

html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory {
  background:
    radial-gradient(circle at 78% 23%, rgba(28,113,70,.065), transparent 34%),
    linear-gradient(rgba(28,113,70,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,113,70,.014) 1px, transparent 1px),
    #f7f9f5 !important;
  background-size: auto, 100% 7px, 7px 100%, auto !important;
}

html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory::before {
  background:
    linear-gradient(
      90deg,
      transparent 0 7%,
      rgba(28,113,70,.12) 7% calc(7% + 1px),
      transparent calc(7% + 1px) 93%,
      rgba(28,113,70,.12) 93% calc(93% + 1px),
      transparent calc(93% + 1px)
    );
  opacity: .34;
}

html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__orbit {
  border-color: rgba(28,113,70,.11);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__orbit::before { border-color: rgba(28,113,70,.12); }
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__orbit::after {
  border-color: rgba(28,113,70,.19);
  box-shadow: 0 0 70px rgba(28,113,70,.04);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__orbit i {
  background: #1b7045;
  box-shadow: 0 0 16px rgba(28,113,70,.34);
}
html[data-eco-theme="light"] body.eco-cs-route-laboratory .eco-laboratory__hero {
  background:
    linear-gradient(180deg, rgba(253,254,252,.92), rgba(245,248,244,.93)) !important;
}

@media (max-width: 720px) {
  body.eco-cs-route-laboratory .eco-laboratory__orbit {
    width: 380px;
    right: -245px;
    top: 26px;
    opacity: .68;
  }

  body.eco-cs-route-laboratory .eco-laboratory__ambient-signal {
    opacity: .48;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.eco-cs-route-laboratory .eco-laboratory__orbit,
  body.eco-cs-route-laboratory .eco-laboratory__orbit i {
    animation: none !important;
  }
}
