/* ITLABSPEED public-site refresh: one bright, modern system across every page. */
:root {
  --site-ink: #14263d;
  --site-body: #4e6074;
  --site-muted: #718297;
  --site-line: #e1e8f0;
  --site-canvas: #f7f9fc;
  --site-surface: #ffffff;
  --site-blue: #2876d2;
  --site-blue-deep: #1d5eaa;
  --site-orange: #f16a32;
  --site-orange-deep: #dd512d;
  --site-green: #16866e;
  --site-violet: #755ad1;
  --site-shadow: 0 18px 48px rgba(24, 50, 79, .08);
}

html { scroll-behavior: smooth; }
body.home-premium {
  --ink: var(--site-ink);
  --muted: var(--site-body);
  --paper: var(--site-surface);
  --line: var(--site-line);
  color: var(--site-ink);
  background: var(--site-surface);
  font-family: 'DM Sans', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.home-premium *, body.home-premium *::before, body.home-premium *::after { box-sizing: border-box; }
body.home-premium :where(h1,h2,h3,h4,h5,h6) {
  color: var(--site-ink);
  font-family: 'Manrope', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-style: normal;
  text-wrap: pretty;
}
body.home-premium :where(h1 em,h2 em,h3 em,strong em) { font-style: normal; }
body.home-premium :where(p,li) { color: var(--site-body); }
body.home-premium :where(a,button,input,select,textarea) { -webkit-tap-highlight-color: transparent; }
body.home-premium :where(a,button):focus-visible,
body.home-premium :where(input,select,textarea):focus-visible {
  outline: 3px solid rgba(40, 118, 210, .32);
  outline-offset: 3px;
}

/* Consistent frame, logo scale, active state, and primary action. */
body.home-premium .site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(218, 227, 237, .92);
  background: rgba(255,255,255,.93);
  box-shadow: 0 5px 24px rgba(20,38,61,.045);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
body.home-premium .site-nav {
  width: min(calc(100% - 56px), 1280px);
  max-width: 1280px;
  height: 78px;
  margin-inline: auto;
  border-bottom: 0;
}
body.home-premium .site-nav .brand img { display:block; width: 198px; max-height: 56px; object-fit: contain; }
body.home-premium .nav-links { gap: clamp(14px, 1.8vw, 27px); }
body.home-premium .nav-links > a:not(.nav-demo-action) {
  position: relative;
  padding: 9px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #43566c;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  transition: color .18s ease;
}
body.home-premium .nav-links > a:not(.nav-demo-action)::after {
  position:absolute; right:0; bottom:2px; left:0; height:2px;
  border-radius:2px; background:var(--site-orange); content:"";
  transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
body.home-premium .nav-links > a:not(.nav-demo-action):hover,
body.home-premium .nav-links > a:not(.nav-demo-action).is-current { color:var(--site-ink); }
body.home-premium .nav-links > a:not(.nav-demo-action):hover::after,
body.home-premium .nav-links > a:not(.nav-demo-action).is-current::after { transform:scaleX(1); }
body.home-premium .nav-links > a.nav-demo-action {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:44px; padding:0 19px; border:1px solid var(--site-orange);
  border-radius:12px; background:var(--site-orange); color:#fff;
  box-shadow:0 8px 18px rgba(241,106,50,.2); font-size:13px; font-weight:750;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
body.home-premium .nav-links > a.nav-demo-action:hover {
  transform:translateY(-1px); border-color:var(--site-orange-deep);
  background:var(--site-orange-deep); color:#fff; box-shadow:0 11px 22px rgba(221,81,45,.23);
}
body.home-premium .nav-toggle { color:var(--site-ink); }

/* Keep product pages airy, with a cool white canvas and restrained colour. */
body.home-premium main { background:var(--site-surface); }
body.home-premium :where(.hero-band,.features-hero,.mi-hero,.insights-hero,.contact-hero,.about-profile-hero,.policy-hero) {
  background-color:var(--site-canvas);
}
body.home-page main { background:linear-gradient(180deg,#fff 0%,#f9fbfe 40%,#fff 100%); }
body.home-page .hero-band {
  background:radial-gradient(ellipse at 78% 37%,rgba(212,231,251,.48),transparent 38%),
    radial-gradient(ellipse at 16% 12%,rgba(255,239,224,.4),transparent 31%),#fff;
}
body.home-page .hero-band::after { border-color:rgba(57,120,185,.08); box-shadow:0 0 0 40px rgba(57,120,185,.02),0 0 0 90px rgba(57,120,185,.012); }
body.home-page .hero h1 { color:var(--site-ink); }
body.home-page .hero h1 em { color:var(--site-blue); }
body.home-page .hero .eyebrow { color:#596d81; }
body.home-page .hero .eyebrow>span { background:var(--site-orange); box-shadow:0 0 0 4px rgba(241,106,50,.13); }
body.home-page .button-primary,
body.home-premium :where(.mi-future-button,.features-hero-action,.features-close-action,.insights-hero-link,.contact-enquiry-form button,.demo-submit) {
  border-color:var(--site-orange); background:var(--site-orange); color:#fff;
  box-shadow:0 9px 22px rgba(241,106,50,.19);
}
body.home-page .button-primary:hover,
body.home-premium :where(.mi-future-button,.features-hero-action,.features-close-action,.insights-hero-link,.contact-enquiry-form button,.demo-submit):hover {
  border-color:var(--site-orange-deep); background:var(--site-orange-deep); color:#fff;
}
body.home-page .hero-metrics>div,
body.home-page .hero-usp-row>span,
body.home-page .hero-nabl-ready { box-shadow:0 5px 18px rgba(24,50,79,.045); }
body.home-page .hero-nabl-ready { border-color:#c5e5d7; background:#f4fbf7; }
body.home-page .hero-nabl-ready strong { color:#236c55; }
body.home-page .hero-nabl-ready small { color:#567568; }
body.home-page .platform-section { border-color:#e4ebf3; background:linear-gradient(145deg,#f5f9fe,#f9fbfd 60%,#fff); }
body.home-page .section-intro h2 em,
body.home-page .report-showcase-copy h2 em { color:var(--site-blue); }
body.home-page .feature-card { border-color:#e3eaf2; background:#fff; box-shadow:0 7px 22px rgba(26,54,83,.045); }
body.home-page .feature-card:nth-child(n) { background:#fff; border-color:#e3eaf2; }
body.home-page .feature-card:hover { border-color:#b8d2ee; box-shadow:0 15px 32px rgba(31,91,151,.12); }
body.home-page .workflow-section { border-color:#dfe8f2; background:linear-gradient(120deg,#f4f8fd,#f8fbff); }
body.home-page .journey li { background:#fff; border-color:#e1e8f0; }
body.home-page .journey li:nth-child(n) { background:#fff; border-color:#e1e8f0; }
body.home-page .report-showcase { border-color:#dce6f1; background:linear-gradient(130deg,#f2f7fd 0%,#f7f9fd 54%,#fff 100%); }
body.home-page .report-preview-wrap { border-color:#dfe8f1; background:rgba(255,255,255,.82); }
body.home-page .report-benefits i { color:var(--site-green); }
body.home-page .home-beyond-row-copy :where(h3,strong) { color:var(--site-ink); }
body.home-page .faq-section { border-color:#e2e9f1; background:#f5f8fc; }
body.home-page .faq-list details,
body.home-page .faq-list details:first-child { border-color:#e1e8f0; background:#fff; }
body.home-page .closing-cta { background:linear-gradient(118deg,#17324f 0%,#1d4b68 65%,#245c70 100%); }

/* Homepage FAQ: make it a focused, readable accordion rather than a split panel. */
body.home-page .faq-section {
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  padding: 0;
}
body.home-page .faq-heading {
  position: static;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
body.home-page .faq-heading .eyebrow { justify-content: center; }
body.home-page .faq-heading h2 {
  margin: 12px 0 0;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.12;
  letter-spacing: -.045em;
}
body.home-page .faq-heading h2 br { display: initial; }
body.home-page .faq-list {
  display: grid;
  width: min(100%, 920px);
  gap: 10px;
  margin: 0 auto;
}
body.home-page .faq-list details,
body.home-page .faq-list details:first-child {
  align-self: start;
  margin: 0;
  padding: 0 20px;
  border: 1px solid #dfe7f0;
  border-radius: 14px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 4px 14px rgba(30,57,84,.035);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.home-page .faq-list details:hover,
body.home-page .faq-list details:focus-within { border-color: #b9cde2; }
body.home-page .faq-list details[open] {
  border-color: #b8cbe4;
  background: #fff;
  box-shadow: 0 8px 22px rgba(30,57,84,.07);
}
body.home-page .faq-list summary {
  padding: 18px 34px 18px 0;
  color: #1f3852;
  font-size: 15px;
  line-height: 1.45;
}
body.home-page .faq-list summary::after {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  color: #d96b25;
  font-size: 22px;
}
body.home-page .faq-list details p {
  max-width: none;
  margin: 0 0 17px;
  padding: 13px 15px;
  border-radius: 10px;
  background: #f3f7fb;
  color: #52677c;
  font-size: 13px;
  line-height: 1.65;
}

/* Keep every lab-outcome card on the same full-width track. */
body.home-page .control-outcome-list {
  grid-template-columns: minmax(0, 1fr);
}
body.home-page .control-outcome-list > .lab-advantage-card {
  grid-column: 1 / -1 !important;
  width: 100%;
}
@media (max-width: 767px) {
  body.home-page .faq-section { gap: 18px; }
  body.home-page .faq-heading { text-align: left; }
  body.home-page .faq-heading .eyebrow { justify-content: flex-start; }
  body.home-page .faq-heading h2 { font-size: 32px; }
  body.home-page .faq-list details,
  body.home-page .faq-list details:first-child { padding-inline: 15px; }
  body.home-page .faq-list summary { padding-block: 15px; font-size: 14px; }
  body.home-page .faq-list details p { font-size: 12px; }
}
body.home-page .closing-cta h2 { color:#fff; }

/* Convert the inherited pricing template into the same full-width product site. */
body.pricing-page { background:#fff; }
body.pricing-page > .container-xxl.bg-white.p-0 {
  width:100%; max-width:none; margin:0; overflow:clip; background:#fff!important;
}
body.pricing-page .container-xxl { max-width:none; }
body.pricing-page #pricing { padding-top:clamp(36px,5vw,68px)!important; padding-bottom:clamp(48px,6vw,82px)!important; }
body.pricing-page #pricing > .container { width:min(calc(100% - 56px),1280px); max-width:1280px; padding:0; }
body.pricing-page .features-eyebrow {
  display:inline-flex; align-items:center; padding:8px 13px; border:1px solid #dce8f7;
  border-radius:999px; background:#f2f7ff; color:var(--site-blue); font-size:11px;
  font-weight:800; letter-spacing:.12em; text-transform:uppercase;
}
body.pricing-page .features-title { max-width:900px; margin:20px auto 12px; color:var(--site-ink); font:800 clamp(34px,4.3vw,54px)/1.12 'Manrope',Inter,sans-serif; letter-spacing:-.045em; }
body.pricing-page .features-subtitle { max-width:680px; margin:0 auto; color:var(--site-body); font:400 16px/1.7 'DM Sans',Inter,sans-serif; }
body.pricing-page .feat-card {
  height:100%; min-height:230px; padding:27px 25px; border:1px solid var(--site-line)!important;
  border-radius:18px!important; background:#fff!important; box-shadow:0 8px 24px rgba(20,38,61,.045)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body.pricing-page .feat-card:hover { transform:translateY(-4px); border-color:#b7d1eb!important; box-shadow:0 17px 34px rgba(33,83,133,.11)!important; }
body.pricing-page .feat-icon-wrap { width:52px; height:52px; border:1px solid #dce9f7; border-radius:15px; background:#f0f6ff!important; }
body.pricing-page .feat-svg { width:27px; height:27px; }
body.pricing-page .feat-name { margin:18px 0 8px; color:var(--site-ink); font:750 18px/1.35 'Manrope',Inter,sans-serif; }
body.pricing-page .feat-desc { margin:0; color:var(--site-body); font:400 14px/1.7 'DM Sans',Inter,sans-serif; }
body.pricing-page .connect-section {
  padding:clamp(48px,7vw,84px) 0; background:linear-gradient(120deg,#17324f,#1e4c68 64%,#245d70);
}
body.pricing-page .connect-section h2 { color:#fff; font:800 clamp(30px,4vw,46px)/1.16 'Manrope',Inter,sans-serif; letter-spacing:-.04em; }
body.pricing-page .connect-section .sub-text { color:#d2dfeb; font:400 15px/1.7 'DM Sans',Inter,sans-serif; }
body.pricing-page .best-deal-wrapper { transform:none; }
body.pricing-page .best-deal-card { border:1px solid #f0b18a!important; border-radius:20px!important; background:#fff!important; box-shadow:0 18px 40px rgba(20,38,61,.1)!important; }
body.pricing-page .best-deal-badge { background:var(--site-orange); box-shadow:0 5px 14px rgba(241,106,50,.22); }

/* Product and editorial pages share spacing, heading scale, and quiet surfaces. */
body.features-page .features-hero,
body.machine-page .mi-hero,
body.insights-page .insights-hero,
body.contact-page .contact-hero,
body.about-page .about-profile-hero,
body.policy-page .policy-hero {
  background-color:#f6f9fd;
}
body.features-page .features-hero h1,
body.machine-page .mi-hero h1,
body.insights-page .insights-hero h1,
body.contact-page .contact-hero h1,
body.policy-page .policy-hero h1 { color:var(--site-ink); }
body.features-page :where(.feature-accent,.feature-hero h1 span) { color:var(--site-blue); }
body.brand-system.features-page .features-hero-copy h1 { color:var(--site-ink); }
body.brand-system.features-page .features-hero-copy h1 .feature-accent { color:var(--site-blue); }
body.machine-page .mi-hero h1 em,
body.insights-page .insights-hero h1 em { color:var(--site-blue); }
body.features-page :where(.feature-seo-guide,.feature-chapter,.feature-story),
body.machine-page :where(.mi-integration-guide,.mi-future-guide),
body.insights-page .insights-list,
body.contact-page .contact-main,
body.policy-page .policy-content { color:var(--site-body); }
body.features-page :where(.feature-panel,.feature-card,.feature-faq details),
body.machine-page :where(.mi-guide-direction,.mi-future-card),
body.insights-page .insight-article,
body.contact-page :where(.contact-details,.contact-form-card) {
  border-color:var(--site-line);
  border-radius:18px;
  box-shadow:0 8px 28px rgba(20,38,61,.055);
}
body.features-page :where(.feature-card,.feature-panel),
body.machine-page :where(.mi-guide-direction,.mi-future-card),
body.insights-page .insight-article,
body.contact-page :where(.contact-details,.contact-form-card) { background:#fff; }
body.features-page .feature-card:hover,
body.machine-page .mi-future-card:hover,
body.insights-page .insight-article:hover { border-color:#b7d1eb; box-shadow:0 16px 36px rgba(33,83,133,.11); }

/* About and policy pages use the same calm canvas and legible hierarchy. */
body.about-page .about-profile-hero,
body.policy-page .policy-hero { background:radial-gradient(ellipse at 84% 12%,rgba(221,235,250,.6),transparent 35%),#f7f9fc; }
body.about-page .about-business-card,
body.policy-page .policy-side-card,
body.policy-page .policy-document { border-color:var(--site-line); border-radius:18px; box-shadow:0 10px 30px rgba(20,38,61,.05); }
body.about-page .about-profile-purpose { background:#fff; }
body.about-page .about-profile-purpose h2,
body.about-page .about-profile-copy h1 { color:var(--site-ink); }

/* A single refined footer is used on all public pages. */
body.home-premium .site-footer {
  background:radial-gradient(ellipse at 82% 0%,rgba(41,104,125,.28),transparent 35%),
    linear-gradient(118deg,#13253c 0%,#18364f 62%,#1b4055 100%);
}
body.home-premium .site-footer-main { padding-top:clamp(38px,5vw,58px); padding-bottom:34px; }
body.home-premium .site-footer-column h2 { color:#fff; font-family:'Manrope',Inter,sans-serif; font-weight:750; }
body.home-premium .site-footer .site-footer-brand>p {
  color:#d6e1ec;
  font-size:13px;
  font-weight:500;
  line-height:1.72;
  opacity:1;
  filter:none;
  -webkit-font-smoothing:antialiased;
}
body.home-premium .site-footer-column>a:hover,
body.home-premium .site-footer-column>a:focus-visible { color:#ffb27a; }
body.home-premium .site-footer-policy-nav a { border-radius:11px; }

/* Give the feature FAQ a clear heading row and evenly spaced, upright accordions. */
body.brand-system.features-page .feature-faq {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  column-gap:16px;
  row-gap:12px;
  margin-top:clamp(44px,6vw,72px);
}
body.brand-system.features-page .feature-faq-heading {
  grid-column:1/-1;
  grid-row:auto;
  margin-bottom:8px;
}
body.brand-system.features-page .feature-faq details {
  align-self:start;
  min-width:0;
  margin:0;
  border:1px solid #d8e2ef;
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#f9fbff);
  box-shadow:0 5px 16px rgba(24,54,88,.045);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.brand-system.features-page .feature-faq details:hover,
body.brand-system.features-page .feature-faq details:focus-within {
  border-color:#9bb7dc;
  box-shadow:0 10px 24px rgba(48,91,150,.1);
  transform:translateY(-1px);
}
body.brand-system.features-page .feature-faq details[open] { border-color:#aaa0d3; background:#fbfaff; }
body.brand-system.features-page .feature-faq details:last-of-type { grid-column:1/-1; }
body.brand-system.features-page .feature-faq summary,
body.brand-system.features-page .feature-faq details p { font-style:normal; }
body.brand-system.features-page .feature-faq summary { padding:17px 44px 17px 18px; line-height:1.45; }
body.brand-system.features-page .feature-faq summary::after { top:50%; right:16px; transform:translateY(-50%); }
body.brand-system.features-page .feature-faq details p { margin:0 12px 12px; padding:13px 14px; border-radius:9px; background:#f0f5fc; line-height:1.65; }

/* Separate the machine-interfacing explanations into two readable cards. */
body.machine-page .mi-guide-directions {
  gap:22px;
  border:0;
}
body.machine-page .mi-guide-direction,
body.machine-page .mi-guide-direction+.mi-guide-direction {
  min-width:0;
  padding:28px clamp(24px,3vw,38px) 30px;
  border:1px solid #d9e4f0;
  border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);
  box-shadow:0 10px 28px rgba(20,38,61,.065);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body.machine-page .mi-guide-direction:hover {
  transform:translateY(-3px);
  border-color:#a9c5e3;
  box-shadow:0 16px 34px rgba(36,83,133,.12);
}
body.machine-page .mi-guide-direction-bidirectional {
  background:linear-gradient(145deg,#fff 0%,#faf8ff 100%);
  border-color:#e1d9f2;
}
body.machine-page .mi-guide-direction-bidirectional:hover { border-color:#b9a9df; }
@media(max-width:760px) {
  body.brand-system.features-page .feature-faq { grid-template-columns:1fr; row-gap:10px; }
  body.brand-system.features-page .feature-faq-heading { grid-column:1; margin-bottom:2px; }
  body.brand-system.features-page .feature-faq details:last-of-type { grid-column:1; }
  body.brand-system.features-page .feature-faq summary { padding:15px 42px 15px 15px; }
  body.machine-page .mi-guide-directions { gap:14px; }
  body.machine-page .mi-guide-direction,
  body.machine-page .mi-guide-direction+.mi-guide-direction { padding:22px 20px 24px; }
}

@media(max-width:900px) {
  body.home-premium .site-nav { width:min(calc(100% - 36px),1280px); height:72px; }
  body.home-premium .site-nav .brand img { width:178px; max-height:50px; }
  body.pricing-page #pricing > .container { width:min(calc(100% - 36px),1280px); }
  body.pricing-page .feat-card { min-height:210px; }
}
@media(max-width:767px) {
  html { scroll-padding-top:76px; }
  body.home-premium .site-nav { width:calc(100% - 30px); height:68px; }
  body.home-premium .site-nav .brand img { width:157px; max-height:44px; }
  body.home-premium .nav-links { border:1px solid var(--site-line); border-radius:0 0 16px 16px; background:rgba(255,255,255,.98); box-shadow:0 18px 34px rgba(20,38,61,.12); }
  body.home-premium .nav-links > a:not(.nav-demo-action) { width:100%; padding:11px 14px; }
  body.home-premium .nav-links > a:not(.nav-demo-action)::after { right:auto; left:14px; width:28px; }
  body.home-premium .nav-links > a.nav-demo-action { min-height:43px; margin:8px 14px 14px; padding-inline:16px; }
  body.home-page .hero-band { background:radial-gradient(ellipse at 82% 23%,rgba(220,235,250,.58),transparent 43%),#fff; }
  body.pricing-page #pricing { padding-top:34px!important; }
  body.pricing-page #pricing > .container { width:calc(100% - 32px); }
  body.pricing-page .features-title { font-size:clamp(30px,8vw,40px); }
  body.pricing-page .features-subtitle { font-size:14px; }
  body.pricing-page .feat-card { min-height:0; padding:23px 21px; }
  body.home-premium .site-footer-main { padding-top:36px; padding-bottom:27px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  body.home-premium *, body.home-premium *::before, body.home-premium *::after { scroll-behavior:auto!important; }
}

/* Hero proof panel: real lab scale, capabilities and quality workflow in one compact card. */
body.home-page .hero-proof-panel {
  position: relative;
  width: min(100%, 680px);
  margin-top: 22px;
  padding: 15px;
  overflow: hidden;
  border: 1px solid #dce7f0;
  border-radius: 19px;
  background: linear-gradient(145deg, #f7fbff 0%, #fff 68%, #f6fbf8 100%);
  box-shadow: 0 12px 34px rgba(31, 69, 102, .075);
  animation: hero-proof-enter .65s both;
}
body.home-page .hero-proof-panel .hero-metrics {
  display: grid;
  width: 100%;
  max-width: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
body.home-page .hero-proof-panel .hero-metrics > div {
  display: grid;
  min-width: 0;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 1px 9px;
  padding: 11px 12px;
  border: 1px solid #e4ebf3;
  border-radius: 13px;
  background: rgba(255,255,255,.9);
}
body.home-page .hero-proof-panel .hero-metrics > div > i {
  display: grid;
  width: 32px;
  height: 32px;
  grid-column: 1;
  grid-row: 1 / span 2;
  place-items: center;
  border-radius: 10px;
  background: #f0ebff;
  color: #7658c8;
  font-size: 17px;
}
body.home-page .hero-proof-panel .hero-metrics > div:last-of-type > i { background:#eaf3ff; color:#347fca; }
body.home-page .hero-proof-panel .hero-metrics strong {
  grid-column: 2;
  color: #7658c8;
  font: 800 24px/1 'Manrope', sans-serif;
  letter-spacing: -.04em;
}
body.home-page .hero-proof-panel .hero-metrics > div:last-of-type strong { color:#347fca; }
body.home-page .hero-proof-panel .hero-metrics span {
  grid-column: 2;
  color: #61758a;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
}
body.home-page .hero-proof-panel .hero-metrics > i { display:none; }
body.home-page .hero-proof-panel .hero-usp-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
  margin-top: 9px;
}
body.home-page .hero-proof-panel .hero-usp-row span {
  display: flex;
  min-width: 0;
  min-height: 37px;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
  color: #405971;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}
body.home-page .hero-proof-panel .hero-usp-row span i { flex:0 0 auto; font-size:14px; }
body.home-page .hero-proof-panel .hero-nabl-ready {
  display: grid;
  width: 100%;
  max-width: none;
  grid-template-columns: 34px minmax(0,1fr) 14px;
  gap: 9px;
  margin-top: 9px;
  padding: 8px 10px;
  border-color: #cce6d8;
  border-radius: 11px;
  background: linear-gradient(100deg,#f0faf5,#fbfefc);
  box-shadow: none;
}
body.home-page .hero-proof-panel .hero-nabl-seal { width:32px; height:32px; font-size:17px; }
body.home-page .hero-proof-panel .hero-nabl-ready strong { font-size:11px; }
body.home-page .hero-proof-panel .hero-nabl-ready small { font-size:9px; }
@keyframes hero-proof-enter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) {
  body.home-page .hero-proof-panel { width:100%; margin-top:14px; padding:12px; border-radius:16px; }
  body.home-page .hero-proof-panel .hero-metrics { gap:7px; margin-top:10px; }
  body.home-page .hero-proof-panel .hero-metrics > div { grid-template-columns:27px minmax(0,1fr); gap:1px 7px; padding:9px 8px; border-radius:11px; }
  body.home-page .hero-proof-panel .hero-metrics > div > i { width:26px; height:26px; font-size:14px; }
  body.home-page .hero-proof-panel .hero-metrics strong { font-size:21px; }
  body.home-page .hero-proof-panel .hero-metrics span { font-size:9px; }
  body.home-page .hero-proof-panel .hero-usp-row { gap:6px; margin-top:7px; }
  body.home-page .hero-proof-panel .hero-usp-row span { min-height:34px; gap:6px; padding:6px 7px; font-size:9px; }
  body.home-page .hero-proof-panel .hero-usp-row span i { font-size:12px; }
  body.home-page .hero-proof-panel .hero-nabl-ready { margin-top:7px; padding:7px 8px; }
}
@media(max-width:360px) {
  body.home-page .hero-proof-panel .hero-usp-row { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  body.home-page .hero-proof-panel { animation:none; }
}

/* Contact page: restore contrast on the details panel and make the enquiry flow easy to scan. */
body.contact-page .contact-main {
  overflow: hidden;
  padding-block: clamp(38px, 5vw, 68px);
  background: linear-gradient(180deg, #fff 0%, #f5f8fc 100%);
}
body.contact-page .contact-layout {
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  align-items: stretch;
  gap: clamp(18px, 2.2vw, 30px);
}
body.contact-page .contact-details {
  border: 1px solid #244d68;
  border-radius: 22px;
  background:
    radial-gradient(ellipse at 92% 4%, rgba(58, 160, 155, .3), transparent 38%),
    radial-gradient(ellipse at 5% 100%, rgba(241, 106, 50, .13), transparent 40%),
    linear-gradient(145deg, #142b46 0%, #17445f 62%, #1b5262 100%);
  box-shadow: 0 20px 46px rgba(21, 53, 78, .17);
  color: #fff;
}
body.contact-page .contact-details::before {
  position: absolute;
  z-index: 0;
  inset: 0 18% auto 0;
  height: 3px;
  border-radius: 0 0 4px 0;
  background: linear-gradient(90deg, #f16a32, #f7a654 42%, rgba(247, 166, 84, 0));
  content: "";
}
body.contact-page .contact-details-heading small,
body.contact-page .contact-detail-row small,
body.contact-page .contact-address small { color: #b8d9e8; font-size: 9px; }
body.contact-page .contact-details-heading h2 { color: #fff; font-size: 23px; line-height: 1.25; }
body.contact-page .contact-details-icon { color: #ffd1a4; }
body.contact-page .contact-details-intro { color: #d6e4ec; font-size: 13px; line-height: 1.65; }
body.contact-page .contact-detail-row {
  min-height: 62px;
  margin-top: 10px;
  padding: 12px 13px;
  border-color: rgba(205, 230, 240, .18);
  background: rgba(255, 255, 255, .075);
}
body.contact-page .contact-detail-row:hover,
body.contact-page .contact-detail-row:focus-visible { border-color: rgba(255, 190, 130, .52); background: rgba(255, 255, 255, .13); }
body.contact-page .contact-detail-icon { color: #8de0d0; }
body.contact-page .contact-detail-row strong,
body.contact-page .contact-address strong { color: #fff; font-size: 12px; }
body.contact-page .contact-detail-row > i { color: #f6b16f; }
body.contact-page .contact-address {
  margin-top: 10px;
  padding: 13px;
  border-color: rgba(205, 230, 240, .16);
  background: rgba(255, 255, 255, .055);
}
body.contact-page .contact-address p { color: #d1e0e9; font-size: 11px; line-height: 1.65; }
body.contact-page .contact-address a { color: #91e0d0; font-size: 10px; }
body.contact-page .contact-hours { margin-top: 18px; color: #ffc27f; }
body.contact-page .contact-hours b { color: #fff; font-size: 11px; }
body.contact-page .contact-hours small { color: #d1e0e9; font-size: 10px; }
body.contact-page .contact-orbit { border-color: rgba(190, 231, 232, .13); }

body.contact-page .contact-form-card {
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid #dce5ee;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(24, 50, 79, .075);
}
body.contact-page .contact-form-heading h2 { margin-top: 10px; font-size: clamp(25px, 2.4vw, 31px); line-height: 1.2; }
body.contact-page .contact-form-heading > p { color: #65778b; font-size: 12px; }
body.contact-page .contact-form-card .contact-eyebrow { color: #667b8f; font-size: 9px; }
body.contact-page .contact-form-card .contact-eyebrow > span { background: #f16a32; box-shadow: 0 0 0 4px rgba(241, 106, 50, .12); }
body.contact-page .contact-enquiry-form { margin-top: 24px; }
body.contact-page .contact-enquiry-form label { gap: 8px; color: #344b61; font-size: 12px; }
body.contact-page .contact-enquiry-form input,
body.contact-page .contact-enquiry-form select,
body.contact-page .contact-enquiry-form textarea {
  border-color: #dce5ee;
  border-radius: 11px;
  background: #fbfcfe;
  color: #243d55;
  font-size: 13px;
}
body.contact-page .contact-enquiry-form input,
body.contact-page .contact-enquiry-form select { height: 48px; padding-inline: 14px; }
body.contact-page .contact-enquiry-form textarea { min-height: 112px; padding: 13px 14px; }
body.contact-page .contact-form-bottom { margin-top: 19px; }
body.contact-page .contact-form-bottom button { min-height: 49px; padding-inline: 20px; border-radius: 11px; font-size: 12px; }
body.contact-page .contact-form-bottom > small,
body.contact-page .contact-form-note { font-size: 9px; }
body.contact-page .contact-form-bottom > small { max-width: 235px; }

@keyframes contact-panel-enter {
  from { opacity: 0; transform: translate3d(0, 16px, 0) scale(.99); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes contact-detail-enter {
  from { opacity: 0; transform: translate3d(-8px, 6px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
body.contact-page .contact-main.scroll-reveal:not(.is-visible) { opacity: 0; transform: translate3d(0, 14px, 0); }
body.contact-page .contact-main.scroll-reveal.is-visible { opacity: 1; transform: none; transition: opacity .35s ease, transform .4s ease; }
body.contact-page .contact-main.is-visible .contact-details { animation: contact-panel-enter .62s cubic-bezier(.2,.75,.25,1) both; }
body.contact-page .contact-main.is-visible .contact-form-card { animation: contact-panel-enter .68s cubic-bezier(.2,.75,.25,1) .08s both; }
body.contact-page .contact-main.is-visible .contact-details :is(.contact-details-heading, .contact-details-intro, .contact-detail-row, .contact-address, .contact-hours) {
  animation: contact-detail-enter .48s cubic-bezier(.2,.75,.25,1) both;
}
body.contact-page .contact-main.is-visible .contact-details-intro { animation-delay: .08s; }
body.contact-page .contact-main.is-visible .contact-detail-row:nth-of-type(1) { animation-delay: .14s; }
body.contact-page .contact-main.is-visible .contact-detail-row:nth-of-type(2) { animation-delay: .2s; }
body.contact-page .contact-main.is-visible .contact-address { animation-delay: .26s; }
body.contact-page .contact-main.is-visible .contact-hours { animation-delay: .32s; }
body.contact-page .contact-main.is-visible .contact-form-grid > label,
body.contact-page .contact-main.is-visible .contact-topic-label,
body.contact-page .contact-main.is-visible .contact-message-label,
body.contact-page .contact-main.is-visible .contact-form-bottom {
  animation: contact-detail-enter .48s cubic-bezier(.2,.75,.25,1) both;
}
body.contact-page .contact-main.is-visible .contact-form-grid > label:nth-child(2) { animation-delay: .08s; }
body.contact-page .contact-main.is-visible .contact-form-grid > label:nth-child(3) { animation-delay: .14s; }
body.contact-page .contact-main.is-visible .contact-form-grid > label:nth-child(4) { animation-delay: .2s; }
body.contact-page .contact-main.is-visible .contact-topic-label { animation-delay: .26s; }
body.contact-page .contact-main.is-visible .contact-message-label { animation-delay: .32s; }
body.contact-page .contact-main.is-visible .contact-form-bottom { animation-delay: .38s; }
@media (max-width: 900px) {
  body.contact-page .contact-layout { grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); }
}
@media (max-width: 700px) {
  body.contact-page .contact-main { padding-block: 28px 48px; }
  body.contact-page .contact-layout { grid-template-columns: 1fr; gap: 15px; }
  body.contact-page .contact-details,
  body.contact-page .contact-form-card { border-radius: 18px; }
  body.contact-page .contact-details { padding: 24px 21px; }
  body.contact-page .contact-form-card { padding: 24px 20px; }
  body.contact-page .contact-enquiry-form label { font-size: 10px; }
  body.contact-page .contact-enquiry-form input,
  body.contact-page .contact-enquiry-form select,
  body.contact-page .contact-enquiry-form textarea { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body.contact-page .contact-main.scroll-reveal,
  body.contact-page .contact-main.scroll-reveal.is-visible { opacity: 1; transform: none; transition: none; }
  body.contact-page .contact-main.is-visible :is(.contact-details, .contact-form-card, .contact-details *, .contact-enquiry-form *) { animation: none !important; }
}
