:root{
  --blue:#1F2C59;
  --blue-hover:#192347;
  --mint:#009D8D;
  --purple:#AF52DE;
  --indigo:#5856D6;
  --teal:#5098AA;
  --orange:#FF9F0A;
  --ink:#222222;
  --ink-2:#3F4147; /* charcoal grey body copy */
  --ink-3:#8A6E50;
  --bg:#ffffff;
  --bg-2:#f5f5f7;
  --bg-3:#eef0f3;
  --line:#e2e2e6;
  --nav-bg:#FFFFFF;
  --dark-bg:#0f1114;
  --radius:8px;
  --radius-lg:14px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);
  --shadow-md:0 10px 30px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);
  --shadow-lg:0 30px 60px rgba(0,0,0,.12),0 8px 20px rgba(0,0,0,.06);
  /* Fonts and base size are overridden at runtime from data/theme.json
     (editable in CloudCannon); these defaults match the theme's defaults. */
  --font-body:'Avenir Next','Avenir','Montserrat',-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
  --font-heading:'Avenir Next','Avenir','Nunito Sans',-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
  --base-size:16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-body);
  font-size:var(--base-size);
  color:var(--ink);
  background:var(--bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}

.container{max-width:1240px;margin:0 auto;padding:0 32px}
.container--wide{max-width:1560px}

/* ============ ACCENT WORD COLORS ============ */
/* Headline accents render in logo navy across the whole site.
   Per-theme overrides below are intentionally removed so all
   headline accent spans stay #222222. */
.accent{font-style:normal}
.accent--blue{color:#222222}
.accent--mint{color:var(--mint)}
.accent--purple{color:var(--purple)}
.accent--indigo{color:var(--indigo)}
.accent--teal{color:var(--teal)}

/* ============ EDITOR TEXT STYLES ============ */
/* Offered in CloudCannon's Styles dropdown via editor-styles.css; keep the
   two files in step. */
.t-lead{font-size:1.2em;line-height:1.5}
.t-small{font-size:.85em}
.t-caps{text-transform:uppercase;letter-spacing:.08em;font-size:.85em;font-weight:700}
.t-heading-font{font-family:var(--font-heading)}
.t-body-font{font-family:var(--font-body)}
.t-highlight{background:linear-gradient(transparent 60%,rgba(0,157,141,.22) 60%)}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 22px;border-radius:var(--radius);
  font-weight:600;font-size:15px;letter-spacing:.01em;
  transition:all .18s ease;cursor:pointer;border:1px solid transparent;
  white-space:nowrap;
}
.btn--sm{padding:8px 16px;font-size:13px}
.btn--lg{padding:16px 32px;font-size:16px}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:var(--blue-hover)}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{background:var(--bg-2)}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:#fff}

/* ============ NAV ============ */
.nav{
  position:sticky;top:0;z-index:100;
  background:var(--nav-bg);color:#0F1116;
  border-bottom:1px solid rgba(15,17,22,.08);
}
.nav__inner{
  max-width:1400px;margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;gap:32px;
}
.nav__logo{display:flex;align-items:center;gap:10px;color:#0F1116}
.nav__logo-img{height:34px;width:auto;display:block}
.nav__word{font-weight:700;font-size:17px;letter-spacing:-.01em}
.nav__links{display:flex;gap:6px;margin-left:12px}
.nav__link{
  padding:8px 12px;border-radius:6px;font-size:14.5px;font-weight:500;
  line-height:1.2;
  color:rgba(15,17,22,.75);transition:color .15s, background .15s;
  display:inline-flex;align-items:center;
  font-family:inherit;
}
.nav__link:hover{color:#0F1116;background:rgba(15,17,22,.05)}
.chev{font-size:9px;opacity:.55;margin-left:2px}
.nav__actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav__icon{
  background:transparent;border:none;color:rgba(15,17,22,.75);
  padding:8px;border-radius:6px;cursor:pointer;display:flex;
}
.nav__icon:hover{background:rgba(15,17,22,.06);color:#0F1116}
.nav__utility{
  font-size:14px;color:rgba(15,17,22,.75);padding:6px 8px;
}
.nav__utility:hover{color:#0F1116}

/* Sticky compact bar */
.nav__sticky{
  position:fixed;top:0;left:0;right:0;z-index:101;
  background:var(--nav-bg);color:#0F1116;
  transform:translateY(-100%);transition:transform .28s ease;
  border-bottom:1px solid rgba(15,17,22,.08);
}
.nav__sticky.is-visible{transform:translateY(0)}
.nav__sticky-inner{
  max-width:1400px;margin:0 auto;padding:12px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.crumb{font-size:14px;color:rgba(15,17,22,.85)}
.crumb a{color:rgba(15,17,22,.55)}
.crumb__sep{opacity:.4;margin:0 6px}

/* ============ HERO ============ */
.hero{
  background:var(--bg-2);
  padding:130px 0 90px;
}
.hero__title{
  font-size:clamp(34px,5vw,60px);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.03em;
  margin:0 0 26px;
  max-width:900px;
}
.hero__sub{
  font-size:clamp(18px,2vw,24px);
  color:var(--ink-2);
  max-width:640px;
  margin:0 0 40px;
  line-height:1.35;
}
.hero__cta{display:flex;gap:12px}

/* ============ PRODUCT SHOT ============ */
.shot{background:var(--bg-2);padding:0 0 100px}
.shot__card{
  background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  overflow:hidden;border:1px solid var(--line);
}
.shot__chrome{
  background:#ececef;padding:12px 16px;display:flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--line);
}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.dot--r{background:#ff5f56}
.dot--y{background:#ffbd2e}
.dot--g{background:#27c93f}
.shot__url{
  margin-left:16px;font-size:12px;color:var(--ink-3);
  background:#fff;padding:4px 12px;border-radius:6px;
  border:1px solid var(--line);
}
.shot__img{display:block;width:100%;height:auto}
.shot__body{display:grid;grid-template-columns:220px 1fr;min-height:440px}
.shot__side{background:#fafafb;padding:24px 20px;border-right:1px solid var(--line)}
.shot__brand{
  display:flex;align-items:center;gap:10px;
  padding-bottom:20px;margin-bottom:16px;border-bottom:1px solid var(--line);
  font-weight:600;font-size:14px;
}
.shot__mark{width:22px;height:22px;background:var(--blue);border-radius:5px;display:inline-block}
.shot__nav{list-style:none;padding:0;margin:0}
.shot__nav li{
  padding:9px 10px;font-size:13.5px;color:var(--ink-2);
  border-radius:6px;cursor:pointer;margin-bottom:2px;
}
.shot__nav li.is-active{background:#eaf3ff;color:var(--blue);font-weight:600}
.shot__main{padding:28px 32px}
.shot__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.shot__row--head h3{margin:0;font-size:20px;font-weight:700}
.chip{
  font-size:12px;padding:4px 10px;background:var(--bg-2);
  border-radius:100px;color:var(--ink-3);border:1px solid var(--line);
}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.kpi__label{display:block;font-size:12px;color:var(--ink-3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.kpi__value{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}
.kpi__delta{font-size:12px;font-weight:600}
.kpi__delta.up{color:var(--mint)}
.kpi__delta.down{color:var(--purple)}
.shot__chart{background:#fafafb;border:1px solid var(--line);border-radius:10px;padding:20px}
.chart-title{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:16px}
.bars{display:flex;gap:14px;align-items:flex-end;height:140px}
.bar{
  flex:1;background:linear-gradient(180deg,var(--blue) 0%,#4aa3ff 100%);
  border-radius:6px 6px 0 0;
  height:var(--h);position:relative;min-height:24px;
}
.bar span{
  position:absolute;bottom:-22px;left:0;right:0;text-align:center;
  font-size:11px;color:var(--ink-3);
}

/* ============ FEATURE BLOCK ============ */
.feat{padding:120px 0}
.feat--alt{background:var(--bg-2)}
.feat--dark{background:var(--dark-bg);color:#fff}
.feat__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.feat__grid--reverse .feat__text{order:2}
.feat__grid--reverse .feat__visual{order:1}
.feat__h2{
  font-size:clamp(32px,4vw,56px);
  font-weight:800;line-height:1.08;letter-spacing:-.025em;
  margin:0 0 24px;
}
.feat__h2--light{color:#fff}
.feat__p{
  font-size:18px;color:var(--ink-2);line-height:1.55;margin:0;max-width:520px;
}
.feat__p--light{color:rgba(255,255,255,.75)}

/* Feature visuals — module grid card */
.ui-card{
  background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);border:1px solid var(--line);
  overflow:hidden;
}
.ui-card__chrome{padding:10px 14px;background:#ececef;display:flex;gap:8px;border-bottom:1px solid var(--line)}
.ui-card__body{padding:28px}
.tenant{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.tenant__label{font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.tenant__select{
  background:var(--bg-2);border:1px solid var(--line);border-radius:6px;
  padding:8px 14px;font-size:14px;font-weight:600;color:var(--ink);
  font-family:inherit;appearance:none;
}
.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.module{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:18px 8px;background:var(--bg-2);border-radius:10px;
  font-size:12.5px;font-weight:600;
}
.module__ico{
  width:38px;height:38px;border-radius:8px;display:flex;
  align-items:center;justify-content:center;color:#fff;font-size:16px;
}
.module__ico--blue{background:var(--blue)}
.module__ico--mint{background:var(--mint)}
.module__ico--purple{background:var(--purple)}
.module__ico--indigo{background:var(--indigo)}
.module__ico--teal{background:var(--teal)}
.module__ico--orange{background:var(--orange)}

/* Submission tracker */
.tracker__head{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line);
}
.tracker__title{font-weight:700;font-size:15px;letter-spacing:-.01em}
.tracker__sub{font-size:12px;color:var(--ink-3);margin-top:2px}
.submit-table{
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
}
.submit-row{
  display:grid;grid-template-columns:2fr 1.6fr 1fr 1fr;gap:12px;
  padding:12px 16px;font-size:13.5px;align-items:center;
  border-bottom:1px solid var(--line);
}
.submit-row:last-child{border-bottom:none}
.submit-row--head{
  background:var(--bg-2);font-size:11.5px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--ink-3);font-weight:600;
}
.submit-name{font-weight:600;color:var(--ink);letter-spacing:-.005em}
.submit-cell--num{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}
.submit-v--ok{color:var(--mint)}
.submit-v--warn{color:#b56d00}
.submit-v--err{color:#c53030}

/* Mapping table */
.mapping-row{
  display:grid;grid-template-columns:2fr 20px 1.5fr 1fr;gap:10px;
  padding:12px 16px;font-size:13.5px;align-items:center;
  border-bottom:1px solid var(--line);
}
.mapping-row:last-child{border-bottom:none}
.mapping-row--head{
  background:var(--bg-2);font-size:11.5px;text-transform:uppercase;
  letter-spacing:.06em;color:#1F2C59;font-weight:700;
}
.pill{
  display:inline-block;padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:600;
}
.pill--ok{background:#e2f5f1;color:var(--mint)}
.pill--warn{background:#fff4e0;color:#b56d00}
.pill--err{background:#fde7ea;color:#c53030}

/* Capture card (dark section) */
.capture-card{
  background:#1a1d22;border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);padding:28px;color:#fff;
  box-shadow:var(--shadow-lg);
}
.capture-card__head{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08);
}
.capture-card__title{font-weight:700;font-size:17px}
.capture-card__badge{background:var(--blue);color:#fff;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}
.capture-row{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.06)}
.capture-row__k{color:rgba(255,255,255,.55)}
.capture-row__v{color:#fff;font-weight:500}
.capture-card__btn{
  margin-top:20px;width:100%;padding:12px;background:var(--blue);color:#fff;
  border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;
  font-family:inherit;
}

/* ============ GRID SECTION ============ */
.grid-section{padding:100px 0}
.grid-section--alt{background:var(--bg-2)}
.grid__h2{
  font-size:clamp(28px,3.4vw,44px);
  font-weight:800;letter-spacing:-.022em;
  margin:0 0 48px;line-height:1.1;
}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.grid-4--three{grid-template-columns:repeat(3,1fr)}
@media (max-width: 900px){ .grid-4--three{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 600px){ .grid-4--three{grid-template-columns:1fr} }
.cell h3{margin:0 0 10px;font-size:19px;font-weight:700;letter-spacing:-.01em}
.cell p{margin:0 0 14px;color:var(--ink-2);font-size:15px;line-height:1.5}
.learn{
  color:var(--ink);border-bottom:1px solid var(--ink);
  font-size:14px;font-weight:600;padding-bottom:1px;
  transition:color .15s,border-color .15s;
}
.learn:hover{color:var(--blue);border-bottom-color:var(--blue)}

/* Integrations */
.integrations{padding:100px 0;background:var(--bg-2)}
.integrations__sub{
  font-size:18px;color:var(--ink-2);max-width:700px;
  margin:-32px 0 48px;line-height:1.5;
}

/* ============ CTA ============ */
.cta{padding:120px 0;background:var(--bg);text-align:center}
.cta__h{
  font-size:clamp(32px,4vw,56px);
  font-weight:800;letter-spacing:-.025em;
  margin:0 0 20px;line-height:1.1;
}
.cta__sub{font-size:19px;color:var(--ink-2);margin:0 0 40px}
.cta__btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* ============ FOOTER ============ */
.footer{background:#fff;border-top:1px solid var(--line);padding:64px 0 32px;color:var(--ink-2);font-size:14px}
.footer__top{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:40px;padding-bottom:36px;border-bottom:1px solid var(--line);
}
.footer__brand{max-width:420px}
.footer__brand .nav__logo{color:var(--ink);margin-bottom:14px}
.footer__mission{color:var(--ink-2);line-height:1.55;margin:0 0 10px}
.footer__contact{display:flex;flex-direction:column;gap:8px;text-align:right}
.footer__ico{color:var(--ink-3);margin-right:6px}
.footer__grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:36px;
  padding:44px 0;border-bottom:1px solid var(--line);
}
.footer__grid h5{margin:0 0 14px;font-size:13.5px;font-weight:700;color:var(--ink)}
.footer__grid ul{list-style:none;padding:0;margin:0}
.footer__grid li{margin-bottom:8px;font-size:13.5px;color:var(--ink-2);cursor:pointer}
.footer__grid li:hover{color:var(--blue)}
.footer__bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:28px;font-size:13px;color:var(--ink-3);flex-wrap:wrap;gap:14px;
}
.footer__legal{display:flex;gap:20px}
.footer__legal a:hover{color:var(--blue)}
.footer__social{display:flex;gap:12px}
.footer__social a{
  width:32px;height:32px;border-radius:50%;background:var(--bg-2);
  display:flex;align-items:center;justify-content:center;font-size:13px;
  color:var(--ink-2);font-weight:600;
}
.footer__social a:hover{background:var(--blue);color:#fff}

/* ============ FLOATING TOP ============ */
.to-top{
  position:fixed;bottom:24px;right:24px;z-index:80;
  padding:10px 16px;background:#151519;color:#fff;
  border:none;border-radius:100px;font-size:12.5px;font-weight:600;
  cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);
  transition:all .25s ease;box-shadow:var(--shadow-md);
  font-family:inherit;
}
.to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top:hover{background:var(--blue)}

/* ============ SCROLL REVEAL ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ============ MOBILE NAV TOGGLE ============ */
.nav__toggle{display:none;background:none;border:0;padding:10px;margin-right:6px;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:8px}
.nav__toggle:hover{background:rgba(15,17,22,.05)}
.nav__toggle-bar{display:block;width:22px;height:2px;background:#222222;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav.is-menu-open .nav__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.is-menu-open .nav__toggle-bar:nth-child(2){opacity:0}
.nav.is-menu-open .nav__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .nav__toggle{display:flex}
  .nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 20px 16px;flex-direction:column;align-items:stretch;gap:2px;margin:0;box-shadow:0 12px 24px rgba(15,17,22,.06);z-index:60}
  .nav.is-menu-open .nav__links{display:flex}
  .nav__links .nav__link{padding:14px 4px;font-size:16px;border-bottom:1px solid var(--line)}
  .nav__links .nav__link:last-child{border-bottom:none}
  .nav__dd{width:100%}
  .nav__dd-btn{width:100%;justify-content:space-between;display:flex;align-items:center;text-align:left;padding:14px 4px;font-size:16px;border-bottom:1px solid var(--line)}
  .nav__dd-menu{position:static;display:none;box-shadow:none;border:none;padding:4px 0 8px;background:transparent;min-width:0;transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .nav__dd.is-open .nav__dd-menu{display:block}
  .nav__dd-item{padding:10px 12px;border-radius:8px}
  .nav__dd-item:hover{background:rgba(31,44,89,.06)}
  .feat__grid{grid-template-columns:1fr;gap:48px}
  .feat__grid--reverse .feat__text{order:1}
  .feat__grid--reverse .feat__visual{order:2}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:repeat(3,1fr)}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .shot__body{grid-template-columns:1fr}
  .shot__side{border-right:none;border-bottom:1px solid var(--line)}
  .shot__nav{display:flex;flex-wrap:wrap;gap:6px}
  .shot__nav li{margin-bottom:0}
}
@media (max-width:640px){
  .container{padding:0 20px}
  .nav__inner{padding:12px 16px;gap:12px}
  .nav__actions{gap:6px}
  .nav__actions .btn--primary{padding:10px 14px;font-size:14px}
  .nav__toggle{margin-right:4px}
  .nav__actions .nav__utility,.nav__actions .btn--ghost{display:none}
  .hero{padding:80px 0 60px}
  .feat,.grid-section,.integrations,.cta{padding:64px 0}
  .grid-4{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:repeat(2,1fr)}
  .footer__top{flex-direction:column;text-align:left}
  .footer__contact{text-align:left}
  .footer__bottom{flex-direction:column;align-items:flex-start}
  .module-grid{grid-template-columns:repeat(2,1fr)}
  .mapping-row{grid-template-columns:1fr;gap:4px}
  .mapping-row span:nth-child(2){display:none}
}

/* ============ DASHBOARD GRAPHIC (HTML/CSS recreation) ============ */
.dash{
  display:grid;grid-template-columns:220px 1fr;
  font-family:'Avenir Next','Avenir','Montserrat',system-ui,sans-serif;
  color:#101729;background:#fff;
  border-radius:12px;overflow:hidden;
  min-height:680px;
}
/* Sidebar */
.dash__side{
  background:#101729;color:#c9d0dc;
  padding:14px 10px 20px;display:flex;flex-direction:column;gap:6px;
  font-size:13.5px;
}
.dash__brand{display:flex;align-items:center;gap:10px;padding:8px 10px 16px}
.dash__brand-ico{
  width:34px;height:34px;border-radius:8px;background:#1F2C59;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.dash__brand-txt{color:#fff;font-weight:600;font-size:14px;letter-spacing:-.01em}
.dash__nav{display:flex;flex-direction:column;gap:2px}
.dash__nav-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:6px;color:#c9d0dc;
  cursor:default;font-size:13.5px;
}
.dash__nav-item--active{background:#1F2C59;color:#fff;font-weight:600}
.dash__ico{
  display:inline-flex;width:18px;justify-content:center;font-size:14px;opacity:.85;
}
.dash__nav-item--active .dash__ico{opacity:1}
.dash__nav-spacer{height:20px}

/* Main */
.dash__main{background:#fff;display:flex;flex-direction:column;min-width:0}
.dash__topbar{
  display:flex;align-items:center;gap:8px;
  padding:9px 24px;border-bottom:1px solid #e6e7ec;
  background:#fff;
}
.dash__crumb-ico{display:inline-flex}
.dash__crumb-txt{
  color:#1F2C59;font-size:12px;font-weight:600;
  letter-spacing:.08em;
}
.dash__body{padding:20px 24px 24px;overflow:hidden}

.dash__title{
  font-size:24px;font-weight:700;letter-spacing:-.02em;
  color:#101729;margin:0;
}
.dash__subtitle{
  font-size:13px;color:#6b7280;margin:2px 0 18px;
}

/* Tabs */
.dash__tabs{display:flex;gap:8px;margin-bottom:20px}
.dash__tab{
  font-size:13px;padding:7px 14px;border-radius:6px;
  color:#4b5563;font-weight:500;cursor:default;
}
.dash__tab--active{background:#1F2C59;color:#fff;font-weight:600}

/* KPI cards */
.dash__kpis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  margin-bottom:18px;
}
.kpi{
  border:1px solid #e6e7ec;border-radius:8px;
  padding:14px 16px;background:#fff;min-width:0;
}
.kpi__label{
  font-size:10.5px;color:#6b7280;letter-spacing:.08em;
  text-transform:uppercase;font-weight:600;margin-bottom:6px;
}
.kpi__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.kpi__value{font-size:24px;font-weight:700;letter-spacing:-.02em;color:#101729}
.kpi__delta{
  font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap;
}
.kpi__delta--up{color:#059669;background:#d1fae5}
.kpi__delta--down{color:#dc2626;background:#fee2e2}
.kpi__meta{font-size:11.5px;color:#6b7280;margin-top:4px}

/* Chart row */
.dash__charts{
  display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:18px;
}
.dcard{
  border:1px solid #e6e7ec;border-radius:8px;padding:16px 18px;background:#fff;min-width:0;
}
.dcard__title{
  font-size:14px;font-weight:600;color:#101729;letter-spacing:-.01em;margin-bottom:10px;
}
.dcard--trend .trend{width:100%;height:230px;display:block}
.trend__grid line{stroke:#eef0f4;stroke-width:1}
.trend__ylabel text, .trend__xlabel text{
  font-family:'Avenir Next','Avenir','Montserrat',sans-serif;font-size:10px;fill:#9ca3af;
}
.trend__line{fill:none;stroke:#1F2C59;stroke-width:2}
.trend__pt circle, .trend__pt ellipse{fill:#1F2C59}
.dcard--trend{ position:relative; }
.trend__ylabels-html{
  position:absolute;
  left:12px; top:44px; /* below the dcard title */
  width:44px;
  height:calc(100% - 60px);
  pointer-events:none;
}
.trend__ylabels-html span{
  position:absolute;
  right:2px;
  transform:translateY(-50%);
  font-family:'Avenir Next','Avenir','Montserrat',sans-serif;
  font-size:10px; color:#9ca3af;
  white-space:nowrap;
}
.trend__xlabels-html{
  display:flex; justify-content:space-between;
  padding: 4px 4.7% 0 6.25%;
  font-family:'Avenir Next','Avenir','Montserrat',sans-serif;
  font-size:10px; color:#9ca3af;
  margin-top:-4px;
}
.trend__xlabels-html span{ flex:0 0 auto; }

/* Donut */
.dcard--donut{min-height:270px}
.donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.donut{width:150px;height:150px;transform:rotate(0deg)}
.legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.legend li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#374151}
.legend__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.legend__name{flex:1;min-width:0}
.legend__val{color:#101729;font-weight:600;font-variant-numeric:tabular-nums;font-size:12px}

/* Bottom row */
.dash__bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:start}

/* Top Products */
.tp{display:flex;flex-direction:column;gap:14px}
.tp__row{display:flex;flex-direction:column;gap:6px}
.tp__head{display:flex;justify-content:space-between;font-size:12.5px;color:#101729}
.tp__val{font-weight:600;font-variant-numeric:tabular-nums}
.tp__bar{height:6px;border-radius:100px;background:#f1f2f5;overflow:hidden}
.tp__bar span{display:block;height:100%;border-radius:100px}

/* Revenue by customer */
.rbc{list-style:none;padding:0;margin:0}
.rbc li{
  display:grid;grid-template-columns:20px 1fr auto 44px;
  gap:8px;align-items:baseline;padding:6px 0;font-size:12.5px;
}
.rbc__i{color:#9ca3af;text-align:right;font-variant-numeric:tabular-nums}
.rbc__n{color:#101729}
.rbc__v{font-weight:600;color:#101729;font-variant-numeric:tabular-nums}
.rbc__p{color:#6b7280;text-align:right;font-variant-numeric:tabular-nums}

/* Recent transactions */
.rt{list-style:none;padding:0;margin:0}
.rt li{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;padding:8px 0}
.rt__dot{width:8px;height:8px;border-radius:50%}
.rt__body{min-width:0}
.rt__name{font-size:12.5px;color:#101729;font-weight:600;letter-spacing:-.005em}
.rt__sku{font-size:11.5px;color:#6b7280;margin-top:1px}
.rt__right{text-align:right;min-width:80px}
.rt__amt{font-size:12.5px;font-weight:600;color:#101729;font-variant-numeric:tabular-nums}
.rt__date{font-size:11px;color:#6b7280;margin-top:1px}

/* Dashboard 2026 refresh — additions */
.dash__nav-item--group{justify-content:space-between}
.dash__chev{margin-left:auto;color:#6b7280;font-weight:400}
.dash__side-cta{
  position:absolute;left:12px;right:12px;bottom:16px;
  background:#1a2540;color:#e6eaf3;
  border-radius:8px;padding:9px 12px;font-size:12.5px;font-weight:500;
  display:flex;align-items:center;gap:8px;
}
.dash__side-cta-dot{width:8px;height:8px;border-radius:50%;background:#22C55E;flex-shrink:0}
.kpi__delta--flat{color:#6b7280;background:#f1f2f5}
.kpi__value--dash{color:#9ca3af}
.legend--pct li{display:grid;grid-template-columns:10px 1fr auto;column-gap:8px;align-items:center}
.legend--pct .legend__val{font-weight:600;color:#101729;font-variant-numeric:tabular-nums;text-align:right}
.dash__bottom--2col{grid-template-columns:1.35fr 1fr}
.tp--ranked .tp__head{display:grid;grid-template-columns:20px 1fr auto;column-gap:10px;align-items:baseline;font-size:12.5px}
.tp--ranked .tp__rank{font-weight:700;font-variant-numeric:tabular-nums;font-size:13px}
.tp--ranked .tp__name{color:#101729;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcard__title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.dcard__meta{font-size:11.5px;color:#6b7280}
.rbc--ranked li{display:grid;grid-template-columns:22px 1fr auto 44px;column-gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid #f1f2f5;font-size:12.5px}
.rbc--ranked li:last-child{border-bottom:none}
.rbc--ranked .rbc__i{color:#1F2C59;font-weight:700}
@media (max-width:900px){
  .dash__bottom--2col{grid-template-columns:1fr}
}

/* Responsive: on narrow screens stack */
@media (max-width: 900px){
  .dash{grid-template-columns:1fr}
  .dash__side{display:none}
  .dash__kpis{grid-template-columns:repeat(2,1fr)}
  .dash__charts{grid-template-columns:1fr}
  .dash__bottom{grid-template-columns:1fr}
  .donut-wrap{grid-template-columns:120px 1fr}
  .donut{width:120px;height:120px}
}

/* ============ JAMF-STYLE COMPOSITE GRAPHIC ============ */
.jamf{
  position:relative;
  padding:32px 0 32px 24px;
  min-height:760px;
}
.jamf__side{
  position:relative;
  width:210px;
  min-height:560px;
  background:#1B2130;
  border-radius:14px;
  padding:22px 14px 22px 18px;
  box-shadow:0 20px 40px -20px rgba(15,25,45,.35);
  z-index:1;
}
.jamf__brand{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;color:#0F1729;
  font-weight:700;font-size:15px;
  padding:9px 14px 9px 10px;
  border-radius:10px;
  margin:-38px 0 22px -6px;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
  position:relative;
}
.jamf__brand-mark{
  width:22px;height:22px;border-radius:6px;
  background:#983820;
  display:inline-flex;align-items:center;justify-content:center;
}
.jamf__nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.jamf__nav-item{
  display:flex;align-items:center;gap:12px;
  color:#B7BFCF;font-size:14px;font-weight:500;
  padding:9px 10px;border-radius:8px;
  cursor:default;
}
.jamf__nav-item--active{
  background:rgba(255,255,255,.06);
  color:#fff;
}
.jamf__ico{
  width:16px;text-align:center;color:#8A93A6;font-size:13px;
}
.jamf__nav-item--active .jamf__ico{color:#fff}

/* Floating white cards absolutely positioned over/around sidebar */
.jamf__card{
  position:absolute;
  background:#fff;
  border-radius:14px;
  box-shadow:0 22px 44px -18px rgba(15,25,45,.28), 0 2px 6px rgba(15,25,45,.06);
  padding:18px 20px;
  z-index:2;
}
.jamf__card-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:14px;
}
.jamf__card-title{
  font-size:13px;font-weight:600;color:var(--ink);
  letter-spacing:-.005em;
}
.jamf__card-sub{
  font-size:11px;color:var(--ink-3);margin-top:2px;
}
.jamf__caret{color:var(--ink-3);font-size:10px;margin-left:4px}

/* Card 1: Reporting Partner Submissions — top right, spans over sidebar */
.jamf__card--rps{
  top:0; left:150px; right:0;
  z-index:3;
}
.jamf__rps{display:flex;flex-direction:column;gap:8px}
.jamf__rps-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 10px;border-radius:8px;
  background:#F7F9FC;
  font-size:12.5px;
}
.jamf__rps-name{color:var(--ink);font-weight:500}

/* Card 2: Territories — middle-right, overlaps sidebar slightly */
.jamf__card--terr{
  top:280px; left:170px; width:330px;
  z-index:2;
}
/* Card 3: Manual Sales — bottom right, staggered further */
.jamf__card--ms{
  top:490px; left:230px; width:310px;
  z-index:4;
}

.jamf__donut-wrap{
  display:grid;grid-template-columns:110px 1fr;
  gap:16px;align-items:center;
}
.jamf__donut{width:110px;height:110px}
.jamf__legend{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:6px;
  font-size:11.5px;color:var(--ink-2);
}
.jamf__legend li{
  display:flex;align-items:center;gap:8px;
}
.jamf__legend li b{margin-left:auto;color:var(--ink);font-weight:600}
.jamf__dot{
  width:8px;height:8px;border-radius:2px;flex-shrink:0;
}

/* Card 3: Rebate Programs progress */
.rbp{ display:flex; flex-direction:column; gap:14px; margin-top:2px; }
.rbp__row{ display:flex; flex-direction:column; gap:6px; }
.rbp__row-h{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.rbp__cust{
  font-size:12.5px; font-weight:600; color:var(--ink);
  letter-spacing:-.005em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  min-width:0;
}
.rbp__tier{
  flex-shrink:0;
  font-size:10px; font-weight:700; letter-spacing:.04em;
  padding:2px 7px; border-radius:100px;
  background:rgba(152,56,32,0.12); color:#7A2D19; /* Gold tier (rust) */
  text-transform:uppercase;
}
.rbp__tier--silver{ background:rgba(107,114,128,0.12); color:#4B5563; }
.rbp__tier--platinum{ background:rgba(58,88,140,0.12); color:#2F4779; }

.rbp__bar{
  height:6px; background:#EEF2F6; border-radius:100px; overflow:hidden;
}
.rbp__bar span{ display:block; height:100%; border-radius:100px; }

.rbp__row-f{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:11px; color:var(--ink-2);
  font-variant-numeric:tabular-nums;
}
.rbp__val{ font-weight:600; color:var(--ink); }
.rbp__of{ font-weight:400; color:var(--ink-2); margin-left:2px; }
.rbp__pct{ font-weight:700; color:var(--ink); }
.rbp__pct--near{ color:#983820; }

/* Responsive: stack under 900px */
@media (max-width:900px){
  .jamf{padding:24px 0;min-height:0}
  .jamf__side{width:100%;min-height:0;margin-bottom:16px}
  .jamf__brand{margin-top:0}
  .jamf__nav{flex-direction:row;flex-wrap:wrap;gap:6px}
  .jamf__nav-item{padding:6px 10px;font-size:12px}
  .jamf__card{position:relative;top:auto;left:auto;right:auto;width:100%;margin-bottom:14px}
  .jamf__card--terr,.jamf__card--ms{width:100%}
  .jamf__donut-wrap{grid-template-columns:100px 1fr}
}

/* ============ TERRITORIES MAP ============ */
.jamf__map{
  position:relative;
  width:100%;
  aspect-ratio: 400/220;
  background:#F7F9FC;
  border-radius:10px;
  overflow:hidden;
}
.jamf__map-svg{
  display:block;
  width:100%;
  height:100%;
}
.jamf__callout{
  position:absolute;
  top:14%;
  left:44%;
  background:#fff;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(15,25,45,.14), 0 2px 4px rgba(15,25,45,.06);
  padding:9px 26px 9px 12px;
  min-width:140px;
  z-index:3;
}
.jamf__callout-x{
  position:absolute;top:5px;right:6px;
  background:transparent;border:0;
  color:var(--ink-3);font-size:14px;line-height:1;
  cursor:pointer;padding:2px;
}
.jamf__callout-name{
  font-size:12px;font-weight:700;color:var(--ink);
}
.jamf__callout-loc{
  font-size:10.5px;color:#1F2C59;font-weight:500;margin-top:1px;
}
.jamf__callout-val{
  font-size:12px;font-weight:700;color:var(--ink);margin-top:3px;
}
.jamf__callout-arrow{
  position:absolute;bottom:-6px;left:22px;
  width:12px;height:12px;background:#fff;
  transform:rotate(45deg);
  box-shadow:2px 2px 4px rgba(15,25,45,.05);
}
.jamf__pin-active{
  position:absolute;
  left:calc(52%);
  top:calc(68%);
  width:14px;height:14px;
  border-radius:50%;
  background:#1F2C59;
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(31,44,89,.25);
  z-index:2;
}

/* ============ HERO DIVISION LOGO ============ */
.hero__logo{
  display:inline-flex;
  align-items:center;
  margin:0 0 28px;
  height:96px;
}
.hero__logo img{
  height:100%;
  width:auto;
  max-width:760px;
  object-fit:contain;
  object-position:left center;
  display:block;
  mix-blend-mode:multiply;
}
.hero__logo--clearvet{ height:88px; }
@media (max-width:820px){
  .hero__logo{ height:64px; margin-bottom:18px; }
  .hero__logo--clearvet{ height:58px; }
  .hero__logo img{ max-width:100%; }
}

/* ============ FOOTER ============ */
.footer--slim{
  background:#FFFFFF;
  color:#3D4552;
  padding:44px 0 22px;
  border-top:1px solid #E8EAEE;
  font-family:var(--font-body);
}
.footer--slim__inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:56px;
  align-items:center;
  padding-bottom:24px;
  border-bottom:1px solid #EBEEF3;
}
.footer--slim__brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.footer--slim__brand img{
  height:24px;
  width:auto;
  display:block;
}
.footer--slim__mid{
  display:flex;
  gap:28px;
  justify-content:center;
  flex-wrap:wrap;
}
.footer--slim__mid a{
  color:#3F4147;
  text-decoration:none;
  font-size:14.5px;
  font-weight:500;
  transition:color .15s;
}
.footer--slim__mid a:hover{
  color:#1F2C59;
}
.footer--slim__right{
  font-size:13.5px;
  color:#5A6472;
}
.footer--slim__bot{
  padding-top:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12.5px;
  color:#8892A2;
  flex-wrap:wrap;
  gap:8px;
  letter-spacing:0.01em;
}
@media (max-width:820px){
  .footer--slim__inner{
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
    justify-items:center;
  }
  .footer--slim__mid{
    justify-content:center;
  }
  .footer--slim__bot{
    justify-content:center;
    text-align:center;
  }
}

/* ============ EDI SOLUTIONS PAGE ============ */
.nav__link--active{
  color:var(--blue);
  font-weight:600;
}
.edi-stats{
  padding:64px 0;
  background:var(--bg-2);
  border-top:1px solid #E5E7EB;
  border-bottom:1px solid #E5E7EB;
}
.edi-stats__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:48px;
}
.edi-stat__num{
  font-size:48px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--blue);
  line-height:1;
  margin-bottom:12px;
}
.edi-stat__label{
  font-size:15px;
  line-height:1.5;
  color:var(--ink-2);
  max-width:240px;
}
.edi-copy{
  max-width:820px;
}
.edi-copy .feat__h2{
  margin-bottom:20px;
}
@media (max-width:900px){
  .edi-stats__grid{
    grid-template-columns:repeat(2, 1fr);
    gap:32px;
  }
}
@media (max-width:520px){
  .edi-stats__grid{
    grid-template-columns:1fr;
  }
  .edi-stat__num{ font-size:40px; }
}

/* ============ DIVISIONS DROPDOWN ============ */
.nav__dd{
  position:relative;
}
.nav__dd-btn{
  background:none;
  border:none;
  cursor:pointer;
  font-family:inherit;
  font-size:14.5px;
  font-weight:500;
  line-height:1.2;
  color:rgba(15,17,22,.75);
  padding:8px 12px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  border-radius:6px;
  transition:color .15s, background .15s;
}
.nav__dd-btn:hover{ color:#0F1116; background:rgba(15,17,22,.05); }
.nav__dd-menu{
  position:absolute;
  top:100%;
  left:-16px;
  margin-top:16px;
  min-width:340px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,0.14), 0 2px 6px rgba(0,0,0,0.06);
  padding:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
  z-index:100;
}
.nav__dd:hover .nav__dd-menu,
.nav__dd:focus-within .nav__dd-menu,
.nav__dd.is-open .nav__dd-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.nav__dd-item{
  display:block;
  padding:12px 14px;
  border-radius:8px;
  text-decoration:none;
  color:var(--ink);
  transition:background .12s ease;
}
.nav__dd-item:hover{
  background:#F3F5F8;
}
.nav__dd-item--active{
  background:rgba(46,90,172,0.08);
}
.nav__dd-item--active .nav__dd-title{
  color:var(--blue);
}
.nav__dd-title{
  display:block;
  font-weight:600;
  font-size:14px;
  margin-bottom:2px;
}
.nav__dd-sub{
  display:block;
  font-size:12.5px;
  color:var(--ink-3);
}

/* ============ EDI SOLUTIONS THEME OVERRIDE (green accent) ============ */
.theme-edi{
  --blue: #78C040;
}
.theme-edi .accent--blue{ color:#222222; }
.theme-edi .btn--primary{ background:#1F2C59; border-color:#1F2C59; color:#fff; }
.theme-edi .btn--primary:hover{ background:#192347; border-color:#192347; }
.theme-edi .nav__logo svg rect{ fill:#1F2C59; }
.theme-edi .edi-stat__num{ color:#1F2C59; }
.theme-edi .nav__dd-item--active{ background:rgba(120,192,64,0.10); }
.theme-edi .nav__dd-item--active .nav__dd-title{ color:#1F2C59; }

/* ============ CONDUIT THEME OVERRIDE (amber accent) ============ */
.theme-conduit{
  --blue: #4070B8;
}
.theme-conduit .accent--blue{ color:#222222; }
.theme-conduit .btn--primary{ background:#1F2C59; border-color:#1F2C59; color:#fff; }
.theme-conduit .btn--primary:hover{ background:#192347; border-color:#192347; }
.theme-conduit .nav__logo svg rect{ fill:#1F2C59; }
.theme-conduit .edi-stat__num{ color:#1F2C59; }
.theme-conduit .nav__dd-item--active{ background:rgba(64,112,184,0.14); }
.theme-conduit .nav__dd-item--active .nav__dd-title{ color:#1F2C59; }

/* ============ FLOWCHART (Conduit) ============ */
.flowchart{ width:100%; height:auto; display:block; }
.flow__col text{ font-size:11px; font-weight:600; fill:#6b6b74; letter-spacing:0.06em; text-transform:uppercase; }
.flow__node text{ font-size:11px; fill:#0A0A0F; }
.flow__hub text{ font-size:11px; }

/* 3-up stats variant */
.edi-stats__grid--3{ grid-template-columns:repeat(3, 1fr); }
.edi-stats__grid--3 .edi-stat__label{ max-width:280px; }
@media (max-width:900px){
  .edi-stats__grid--3{ grid-template-columns:1fr; }
}

/* ============ COMPLIANCE CARD ============ */
.compliance{ padding:48px 0 72px; background:transparent; }
.compliance__card{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:40px;
  align-items:center;
  padding:36px 48px;
  background:#fff;
  border:1px solid #E6E8ED;
  border-radius:20px;
  box-shadow:0 4px 16px rgba(10,20,32,0.04);
}
.compliance__seal{
  display:flex;
  align-items:center;
  justify-content:center;
}
.compliance__seal img{
  width:150px;
  height:150px;
  object-fit:contain;
  border-radius:50%;
}
.compliance__body{ min-width:0; }
.compliance__rule{
  width:36px;
  height:2px;
  background:#0A0A0F;
  margin-bottom:16px;
}
.compliance__eyebrow{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#4a4a52;
  margin-bottom:10px;
}
.compliance__h{
  font-size:20px;
  font-weight:700;
  color:#0A0A0F;
  letter-spacing:-0.01em;
  margin:0 0 10px;
}
.compliance__p{
  font-size:15px;
  line-height:1.6;
  color:#4a4a52;
  margin:0;
  max-width:640px;
}
@media (max-width:720px){
  .compliance__card{
    grid-template-columns:1fr;
    padding:28px 24px;
    gap:20px;
    text-align:left;
  }
  .compliance__seal img{ width:120px; height:120px; }
}

/* ============ LOGO STRIP (horizontal) ============ */
.logostrip{
  padding:48px 0 56px;
  background:transparent;
}
.logostrip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:nowrap;
}
.logostrip__item{
  flex:1 1 0;
  display:flex;
  align-items:center;
  justify-content:center;
  height:72px;
  min-width:0;
}
.logostrip__item img{
  max-height:68px;
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  opacity:0.85;
  transition:opacity .2s ease;
}
.logostrip__item:hover img{ opacity:1; }
/* Merck PNG has heavy internal padding — scale it up to visually match the SVGs */
.logostrip__item--merck img{ max-height:130px; transform:scale(1.15); }
@media (max-width:900px){
  .logostrip__item--merck img{ max-height:100px; }
}
@media (max-width:900px){
  .logostrip__inner{ flex-wrap:wrap; gap:28px 32px; justify-content:center; }
  .logostrip__item{ flex:0 0 calc(33.333% - 32px); height:56px; }
  .logostrip__item img{ max-height:52px; }
}
@media (max-width:520px){
  .logostrip__item{ flex:0 0 calc(50% - 24px); }
}

/* ============ TRUSTED BY v3 (constellation, unused) ============ */
/* NOTE: bare `.tp` rule removed to avoid collision with Top Products component. */
.tp--constellation-unused{
  padding:96px 0;
  background:#fff;
  border-top:1px solid rgba(120,192,64,0.15);
}
.tp__container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.tp__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:#4a4a52;
  padding:6px 14px;
  border:1px solid rgba(120,192,64,0.30);
  border-radius:100px;
  background:rgba(120,192,64,0.06);
  margin-bottom:20px;
}
.tp__eyebrow-dot{
  width:6px; height:6px; border-radius:50%;
  background:#78C040;
  box-shadow:0 0 0 3px rgba(120,192,64,0.20);
}
.tp__h{
  font-size:36px;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.15;
  color:#0A0A0F;
  margin:0 0 16px;
}
.tp__sub{
  font-size:16px;
  color:#4a4a52;
  margin:0 0 32px;
  max-width:480px;
  line-height:1.6;
}
.tp__proof{
  display:flex;
  gap:40px;
  padding-top:24px;
  border-top:1px solid #EBEDF0;
}
.tp__proof-num{
  font-size:24px;
  font-weight:800;
  color:#78C040;
  letter-spacing:-0.02em;
  line-height:1;
  margin-bottom:6px;
}
.tp__proof-label{
  font-size:13px;
  color:#6b6b74;
}

/* Constellation stage */
.tp__stage{
  position:relative;
  aspect-ratio:1 / 1;
  max-width:500px;
  margin:0 auto;
  width:100%;
}
.tp__lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.tp__hub{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.tp__hub::before{
  content:"";
  position:absolute;
  inset:-24px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(120,192,64,0.18) 0%, transparent 70%);
  z-index:-1;
}
.tp__hub-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.06em;
  color:#0A0A0F;
  text-transform:uppercase;
}
.tp__node{
  position:absolute;
  width:120px;
  height:80px;
  background:#fff;
  border:1px solid #E6E8ED;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(10,20,32,0.06), 0 1px 2px rgba(10,20,32,0.04);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  z-index:1;
}
.tp__node:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(120,192,64,0.20), 0 2px 4px rgba(10,20,32,0.05);
  border-color:rgba(120,192,64,0.40);
}
.tp__node img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
/* Node positions on the 500x500 stage */
.tp__node--tl{ top:2%;   left:2%; }
.tp__node--tr{ top:2%;   right:2%; }
.tp__node--ml{ top:50%;  left:-4%;  transform:translateY(-50%); }
.tp__node--mr{ top:50%;  right:-4%; transform:translateY(-50%); }
.tp__node--bl{ bottom:2%; left:2%; }
.tp__node--br{ bottom:2%; right:2%; }
.tp__node--ml:hover, .tp__node--mr:hover{ transform:translateY(-50%) translateX(0) scale(1.03); }

@media (max-width:960px){
  .tp__container{ grid-template-columns:1fr; gap:48px; }
  .tp__h{ font-size:26px; }
  .tp__stage{ max-width:420px; }
  .tp__node{ width:100px; height:70px; padding:10px 12px; }
}

/* ============ TRUSTED BY v2 (marquee, unused) ============ */
.trusted2{
  padding:96px 0 88px;
  background:#fff;
  position:relative;
  overflow:hidden;
}
.trusted2::before{
  content:"";
  position:absolute;
  top:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(120,192,64,0.4), transparent);
}
.trusted2__container{ text-align:center; max-width:920px; }
.trusted2__label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:#4a4a52;
  padding:6px 14px;
  border:1px solid rgba(120,192,64,0.30);
  border-radius:100px;
  background:rgba(120,192,64,0.06);
  margin-bottom:20px;
}
.trusted2__dot{
  width:6px; height:6px; border-radius:50%;
  background:#78C040;
  box-shadow:0 0 0 3px rgba(120,192,64,0.20);
}
.trusted2__h{
  font-size:36px;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.15;
  color:#0A0A0F;
  margin:0 0 14px;
}
.trusted2__sub{
  font-size:16px;
  color:#4a4a52;
  margin:0 0 48px;
}
.marquee{
  position:relative;
  overflow:hidden;
  padding:24px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.marquee__track{
  display:flex;
  gap:80px;
  width:max-content;
  animation:marquee 40s linear infinite;
}
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__item{
  flex:0 0 auto;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0.7;
  transition:opacity .25s ease, filter .25s ease;
  filter:grayscale(0);
}
.marquee__item:hover{ opacity:1; }
.marquee__item img{
  max-height:56px;
  max-width:180px;
  width:auto;
  object-fit:contain;
}
@keyframes marquee{
  from{ transform:translateX(0); }
  to  { transform:translateX(-50%); }
}
@media (max-width:720px){
  .trusted2{ padding:64px 0; }
  .trusted2__h{ font-size:26px; }
  .marquee__track{ gap:48px; animation-duration:30s; }
  .marquee__item img{ max-height:40px; max-width:130px; }
}

/* ============ TRUSTED BY (legacy, unused) ============ */
.trusted{
  padding:80px 0;
  background:linear-gradient(180deg,#0d1b2a 0%,#0a1420 100%);
}
.trusted__card{
  background:linear-gradient(180deg,#132a3f 0%,#0f2136 100%);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  padding:56px 56px 48px;
  box-shadow:0 20px 60px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.03) inset;
  position:relative;
}
.trusted__card::after{
  content:"";
  position:absolute;
  left:15%; right:15%; bottom:-30px; height:40px;
  background:radial-gradient(ellipse at center, rgba(120,192,64,0.25) 0%, rgba(120,192,64,0) 70%);
  filter:blur(8px);
  pointer-events:none;
}
.trusted__head{ text-align:center; margin-bottom:36px; }
.trusted__h{
  color:#fff;
  font-size:32px;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.2;
  margin:0 0 12px;
}
.trusted__sub{
  color:#78C040;
  font-size:15px;
  margin:0;
  font-weight:500;
}
.trusted__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
  padding:24px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  background:rgba(255,255,255,0.02);
}
.trusted__cell{
  background:#fff;
  border-radius:10px;
  aspect-ratio: 16 / 7;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 20px;
}
.trusted__cell img{
  max-width:75%;
  max-height:60px;
  width:auto;
  height:auto;
  object-fit:contain;
}
@media (max-width:720px){
  .trusted__card{ padding:32px 20px; }
  .trusted__h{ font-size:22px; }
  .trusted__grid{ grid-template-columns:repeat(2, 1fr); padding:14px; gap:12px; }
}

/* ============================================================
   CONDUIT DASHBOARD (dark) — replicates real Conduit UI
   ============================================================ */
.cdash__card{
  padding:0;
  background:#0f1116;
  border:1px solid #23262e;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 60px rgba(0,0,0,0.35), 0 8px 20px rgba(0,0,0,0.25);
}
.cdash{
  display:grid;
  grid-template-columns:200px 1fr;
  min-height:640px;
  color:#d7d9df;
  font-family:'Avenir Next','Avenir','Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:13px;
  background:#0f1116;
}

/* ---------- Sidebar ---------- */
.cdash__side{
  background:#0b0d12;
  border-right:1px solid #1c1f27;
  padding:16px 0 20px;
  display:flex;
  flex-direction:column;
  position:relative;
}
.cdash__brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:2px 18px 20px;
  border-bottom:1px solid #1c1f27;
  margin-bottom:12px;
}
.cdash__brand-ico{
  width:30px; height:30px;
  border-radius:8px;
  background:#4070B8;
  display:flex; align-items:center; justify-content:center;
  border:1px solid #4070B8;
}
.cdash__brand-name{
  display:block;
  font-size:14px; font-weight:700; color:#fff; line-height:1.1;
}
.cdash__brand-sub{
  display:block;
  font-size:10px; font-weight:600; letter-spacing:0.15em; color:#8b8f99;
}
.cdash__group{
  padding:14px 18px 6px;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.12em;
  color:#6a6e78;
  text-transform:uppercase;
}
.cdash__group--sys{
  margin-top:auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 18px 8px;
}
.cdash__group--sys .chev{ color:#5a5e68; font-size:11px; }
.cdash__navitem{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 18px;
  color:#b6b9c1;
  cursor:default;
  font-size:13px;
}
.cdash__navitem--active{
  background:#1a1d24;
  color:#fff;
  font-weight:600;
  border-left:2px solid #4070B8;
  padding-left:16px;
}
.cdash__navico{
  width:16px; display:inline-flex; align-items:center; justify-content:center;
  color:#8b8f99; font-size:12px;
}
.cdash__navitem--active .cdash__navico{ color:#4070B8; }
.cdash__user{
  display:flex; align-items:center; gap:10px;
  padding:10px 14px;
  margin:8px 10px 0;
  border-top:1px solid #1c1f27;
  padding-top:14px;
  font-size:12px; color:#b6b9c1;
}
.cdash__avatar{
  width:26px; height:26px; border-radius:50%;
  background:#4070B8; color:#0f1116;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:12px;
}
.cdash__uname{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---------- Main ---------- */
.cdash__main{
  padding:14px 18px 18px;
  min-width:0;
  background:#0f1116;
}

/* KPI Strip */
.cdash__kpistrip{
  display:grid;
  grid-template-columns:1.35fr 1.15fr 1fr 1fr 1.15fr 1.2fr 1fr;
  gap:1px;
  background:#1c1f27;
  border:1px solid #1c1f27;
  border-radius:10px;
  overflow:hidden;
  margin-bottom:14px;
}
.cstat{
  background:#0f1116;
  padding:10px 14px;
  display:flex; align-items:center; gap:10px;
  position:relative;
  min-height:56px;
}
.cstat--sel{ background:#161923; }
.cstat--sel::before{
  content:""; position:absolute; left:0; top:0; height:2px; width:100%;
  background:#4070B8;
}
.cstat__dot{
  width:8px; height:8px; border-radius:50%;
  background:#4070B8;
  box-shadow:0 0 0 3px rgba(245,158,11,0.18);
  flex-shrink:0;
}
.cstat__ico{
  color:#6f7481; font-size:14px; width:18px; flex-shrink:0;
}
.cstat--sel .cstat__ico{ color:#4070B8; }
.cstat__body{ min-width:0; flex:1; }
.cstat__label{
  font-size:10px; font-weight:600; letter-spacing:0.10em; color:#6a6e78;
  text-transform:uppercase;
  margin-bottom:2px;
}
.cstat__val{
  font-size:13px; font-weight:600; color:#eaecf0;
  line-height:1.25;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.cstat--sel .cstat__val{ color:#4070B8; }
.cstat__sub{
  font-size:10px; color:#6a6e78; margin-top:1px;
}
.cstat__chev{ color:#4070B8; font-size:14px; margin-left:4px; }

/* Grid */
.cdash__grid{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:14px;
  align-items:start;
}
.cdash__col{ min-width:0; }

/* Insights card */
.cinsight{
  background:#0f1116;
  border:1px solid #1c1f27;
  border-radius:10px;
  padding:12px 14px;
  margin-bottom:14px;
  width:100%;
}
.cinsight__head{
  display:flex; align-items:center; gap:8px;
  margin-bottom:10px;
}
.cinsight__ico{ color:#4070B8; }
.cinsight__title{ font-weight:600; color:#eaecf0; font-size:13px; }
.cinsight__live{
  display:inline-flex; align-items:center; gap:5px;
  font-size:10px; font-weight:600; color:#3DBB7A; letter-spacing:0.05em;
  margin-left:2px;
}
.cinsight__livedot{
  width:6px; height:6px; border-radius:50%; background:#3DBB7A;
  box-shadow:0 0 0 3px rgba(61,187,122,0.25);
}
.cinsight__time{
  margin-left:auto; font-size:11px; color:#6a6e78;
}
.cinsight__alert{
  display:flex; align-items:center; gap:12px;
  background:rgba(245,158,11,0.07);
  border-left:3px solid #4070B8;
  border-radius:6px;
  padding:10px 14px;
}
.cinsight__alert-ico{ color:#4070B8; font-size:14px; flex-shrink:0; }
.cinsight__alert-body{ flex:1; min-width:0; }
.cinsight__alert-title{ font-weight:600; color:#eaecf0; font-size:13px; }
.cinsight__alert-sub{ font-size:12px; color:#8b8f99; margin-top:1px; }
.cinsight__alert-cta{
  font-size:10px; font-weight:700; letter-spacing:0.10em; color:#eaecf0;
  white-space:nowrap;
}
.cinsight__alert--ok{
  background:rgba(61,187,122,0.10);
  border-left-color:#3DBB7A;
}
.cinsight__alert--ok .cinsight__alert-ico{ color:#3DBB7A; }

/* Pipeline activity */
.cactivity{
  background:#0f1116;
  border:1px solid #1c1f27;
  border-radius:10px;
  overflow:hidden;
}
.cactivity__head{
  display:flex; align-items:center; gap:8px;
  padding:12px 14px;
  border-bottom:1px solid #1c1f27;
}
.cactivity__ico{ color:#6a6e78; }
.cactivity__title{ font-weight:600; color:#eaecf0; font-size:13px; }
.cactivity__pill{
  font-size:10px; font-weight:600; color:#3DBB7A;
  background:rgba(61,187,122,0.18);
  border:1px solid rgba(61,187,122,0.35);
  padding:2px 8px; border-radius:999px;
}
.cactivity__meta{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; color:#6a6e78;
}
.cactivity__metadot{
  width:5px; height:5px; border-radius:50%; background:#4070B8;
}
.cactivity__link{ color:#8b8f99; }

.ctable__head{
  display:grid;
  grid-template-columns:2.2fr 1.3fr 1.1fr 1.2fr;
  gap:14px;
  padding:8px 14px;
  font-size:10px; font-weight:600; color:#6a6e78;
  letter-spacing:0.10em; text-transform:uppercase;
  background:#0b0d12;
  border-bottom:1px solid #1c1f27;
}
.ctable__hstat{ text-align:right; }
.ctable__row{
  display:grid;
  grid-template-columns:2.2fr 1.3fr 1.1fr 1.2fr;
  gap:14px;
  padding:10px 14px;
  align-items:center;
  border-bottom:1px solid #171a21;
}
.ctable__row:last-child{ border-bottom:none; }
.crep{ display:flex; align-items:center; gap:10px; min-width:0; }
.crep__badge{
  width:26px; height:26px; border-radius:6px;
  background:#1c1f27; color:#8b8f99;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:12px;
  flex-shrink:0;
}
.crep__name{ font-weight:600; color:#eaecf0; font-size:13px; }
.crep__meta{ font-size:11px; color:#6a6e78; margin-top:1px; }

.cspark{
  display:inline-flex; align-items:flex-end; gap:2px;
  height:22px;
}
.cspark__bar{
  width:5px; background:#3DBB7A; border-radius:2px; opacity:0.9;
}
.cmetric{
  font-size:12px; color:#b6b9c1;
}
.cmetric__val{ font-weight:700; color:#eaecf0; margin-right:2px; }
.cmetric__ok{
  font-size:10px; font-weight:700; color:#3DBB7A; letter-spacing:0.05em;
  background:rgba(61,187,122,0.18);
  padding:1px 6px; border-radius:4px;
  margin-right:2px;
}
.cmetric__sep{ color:#3a3d47; margin:0 2px; }
.cmetric__clock{ color:#6a6e78; }

.cstatus{ text-align:right; }
.cstatus__pill{
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; font-weight:600; color:#b6b9c1;
  background:transparent;
  border:1px solid #2a2e38;
  padding:3px 10px; border-radius:999px;
}
.cstatus__pill::before{
  content:"";
  width:6px; height:6px; border-radius:50%;
  background:#3DBB7A;
  display:inline-block;
}
.cstatus__ago{ font-size:11px; color:#6a6e78; margin-top:3px; }

/* Right rail */
.cdash__rail{
  display:flex; flex-direction:column; gap:14px;
}
.crail__stats{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px;
  background:#1c1f27;
  border:1px solid #1c1f27;
  border-radius:10px;
  overflow:hidden;
}
.crail__stat{
  background:#0f1116;
  padding:10px 12px;
  display:flex; align-items:center; gap:8px;
}
.crail__ico{ color:#6a6e78; }
.crail__label{
  font-size:9px; font-weight:600; letter-spacing:0.10em; color:#6a6e78;
  text-transform:uppercase;
}
.crail__val{ font-size:13px; font-weight:700; color:#eaecf0; margin-top:1px; }
.crail__unit{ font-size:10px; color:#6a6e78; font-weight:500; }

.ctrend{
  background:#0f1116;
  border:1px solid #1c1f27;
  border-radius:10px;
  padding:12px 12px 8px;
}
.ctrend__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:6px;
}
.ctrend__title{ display:inline-flex; align-items:center; gap:6px; font-weight:600; color:#eaecf0; font-size:12px; }
.ctrend__ico{ color:#6a6e78; }
.ctrend__pill{
  font-size:10px; font-weight:600; color:#3DBB7A;
  background:rgba(61,187,122,0.18);
  border:1px solid rgba(61,187,122,0.35);
  padding:2px 8px; border-radius:999px;
}
.ctrend__legend{
  display:flex; gap:12px;
  font-size:10px; color:#6a6e78;
  margin-bottom:8px;
}
.ctrend__legend .dot{
  display:inline-block; width:8px; height:8px; border-radius:2px;
  margin-right:4px; vertical-align:middle;
}
.dot--ok{ background:#3DBB7A; }
.dot--fail{ background:#EF4444; }
.dot--miss{ background:#4070B8; }

.ctrend__chart{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:6px;
  height:200px;
}
.ctrend__yaxis{
  display:flex; flex-direction:column; justify-content:space-between;
  font-size:10px; color:#6a6e78;
  padding:2px 0;
}
.ctrend__plot{
  position:relative;
  border-bottom:1px solid #1c1f27;
}
.ctrend__grid{
  position:absolute; left:0; right:0;
  border-top:1px dashed #1c1f27;
}
.ctrend__grid--1{ top:0%; }
.ctrend__grid--2{ top:25%; }
.ctrend__grid--3{ top:50%; }
.ctrend__grid--4{ top:75%; }
.ctrend__bars{
  position:absolute; inset:0;
  display:flex; align-items:flex-end; justify-content:space-around;
  padding:0 4%;
}
.ctrend__bar{
  width:6px;
  background:#3DBB7A;
  border-radius:2px 2px 0 0;
  min-height:0;
}
.ctrend__xaxis{
  display:flex; justify-content:space-between;
  font-size:10px; color:#6a6e78;
  margin-top:4px; padding-left:30px;
}

/* Responsive */
@media (max-width:1100px){
  .cdash__grid{ grid-template-columns:1fr; }
  .cdash__kpistrip{ grid-template-columns:repeat(3,1fr) repeat(2,1fr); grid-auto-rows:auto; }
}
@media (max-width:820px){
  .cdash{ grid-template-columns:1fr; }
  .cdash__side{ display:none; }
  .cdash__kpistrip{ grid-template-columns:repeat(2,1fr); }
  .ctable__head{ display:none; }
  .ctable__row{ grid-template-columns:1fr; gap:6px; }
  .cstatus{ text-align:left; }
}

/* ============ EDI DEFINITION LIST ============ */
.edi-deflist{ padding:40px 0 8px; }
.edi-deflist__row{
  display:grid;
  grid-template-columns: 260px 1fr;
  gap:48px;
  padding:28px 0;
  border-top:1px solid #e6e6e6;
}
.edi-deflist__row:last-child{ border-bottom:1px solid #e6e6e6; }
.edi-deflist__term{
  font-weight:700; color:#222222; font-size:16px; line-height:1.4;
}
.edi-deflist__def{
  color:#5a5a5a; font-size:16px; line-height:1.6;
  max-width:640px;
}
@media (max-width: 720px){
  .edi-deflist__row{
    grid-template-columns: 1fr;
    gap:8px;
    padding:22px 0;
  }
}

/* ============ CONDUIT FEAT SPLIT: copy + project mock ============ */
.feat-split{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap:64px;
  align-items:center;
}
.feat-split .feat__h2{ margin-bottom:20px; }
.feat-split .feat__p{ max-width:520px; }
@media (max-width: 960px){
  .feat-split{ grid-template-columns:1fr; gap:40px; }
}

/* Project mock card (dark) */
.proj-mock{
  --pm-bg:#0f1116;
  --pm-panel:#151821;
  --pm-border:#232732;
  --pm-text:#eaecf0;
  --pm-muted:#8b8f99;
  --pm-blue:#1F2C59;
  --pm-green:#22C6A5;
  color:var(--pm-text);
}
.proj-mock__frame{
  background:var(--pm-bg);
  border:1px solid #1c1f27;
  border-radius:14px;
  padding:22px 24px 24px;
  box-shadow: 0 24px 60px -24px rgba(15,17,22,0.35), 0 2px 4px rgba(0,0,0,0.04);
  font-size:13px;
  line-height:1.5;
}
.proj-mock__crumb{
  color:var(--pm-muted); font-size:11px; margin-bottom:14px;
}
.proj-mock__head{
  display:flex; align-items:center; gap:10px; margin-bottom:6px;
}
.proj-mock__title{
  margin:0;
  font-size:19px; font-weight:800; letter-spacing:-0.01em;
  color:#fff;
}
.proj-mock__pill{
  display:inline-flex; align-items:center; gap:5px;
  padding:2px 8px 2px 7px;
  border-radius:999px;
  background:rgba(34,198,165,0.14);
  color:var(--pm-green);
  font-size:10px; font-weight:600;
  letter-spacing:0.02em;
}
.proj-mock__pill-dot{
  width:5px; height:5px; border-radius:50%; background:var(--pm-green);
}
.proj-mock__meta{
  display:flex; gap:16px; flex-wrap:wrap;
  color:var(--pm-muted);
  font-size:11px;
  margin-bottom:16px;
}
.proj-mock__meta-item{ display:inline-flex; align-items:center; gap:5px; }
.proj-mock__meta-item--ok{ color:var(--pm-green); }

.proj-mock__tabs{
  display:flex; gap:20px;
  border-bottom:1px solid var(--pm-border);
  margin-bottom:16px;
  padding-bottom:0;
}
.proj-mock__tab{
  font-size:12px; font-weight:600;
  color:var(--pm-muted);
  padding:8px 2px 10px;
  position:relative;
}
.proj-mock__tab--active{
  color:var(--pm-blue);
}
.proj-mock__tab--active::after{
  content:""; position:absolute; left:-8px; right:-8px; top:2px; bottom:4px;
  border:1px solid var(--pm-blue);
  border-radius:6px;
  pointer-events:none;
}

/* Schedule card */
.proj-mock__card{
  background:var(--pm-panel);
  border:1px solid var(--pm-border);
  border-radius:10px;
  padding:16px 18px 12px;
}
.proj-mock__card-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:12px;
}
.proj-mock__card-eyebrow{
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; font-weight:700; letter-spacing:0.12em;
  color:var(--pm-muted);
}
.proj-mock__edit{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px;
  border:1px solid var(--pm-border);
  border-radius:6px;
  font-size:11px; color:var(--pm-text);
  background:transparent;
}

.proj-mock__rows{ margin:0; padding:0; }
.proj-mock__row{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,0.04);
}
.proj-mock__row:first-child{ border-top:0; }
.proj-mock__row dt{
  color:var(--pm-muted); font-size:12px; font-weight:500;
}
.proj-mock__row dd{
  margin:0; color:var(--pm-text); font-size:12px; font-weight:600;
  text-align:right;
}
.proj-mock__cron{
  display:inline-flex; gap:6px;
  color:var(--pm-blue);
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
  font-size:12px;
}
.proj-mock__cron span{ display:inline-block; min-width:8px; text-align:center; }
.proj-mock__status{
  display:inline-flex; align-items:center; gap:5px;
  padding:2px 8px 2px 7px;
  border-radius:999px;
  background:rgba(34,198,165,0.14);
  color:var(--pm-green);
  font-size:11px; font-weight:600;
}
.proj-mock__status-dot{
  width:5px; height:5px; border-radius:50%; background:var(--pm-green);
}

/* ============================================================
   THEME: CLEARVET  (accent = shield green #109850)
   ============================================================ */
.theme-clearvet .accent--blue{ color:#222222; }
.theme-clearvet .btn--primary{ background:#1F2C59; border-color:#1F2C59; color:#fff; }
.theme-clearvet .btn--primary:hover{ background:#192347; border-color:#192347; }
.theme-clearvet .nav__logo svg rect{ fill:#1F2C59; }
.theme-clearvet .edi-stat__num{ color:#1F2C59; }
.theme-clearvet .nav__dd-item--active{ background:rgba(16,152,80,0.10); }
.theme-clearvet .nav__dd-item--active .nav__dd-title{ color:#1F2C59; }

/* ============================================================
   THEME: HOME  (corporate — neutral, uses default blue accent)
   ============================================================ */
.theme-home .accent--blue{ color:#222222; }

/* ============================================================
   HOME TEAK OVERRIDES (accent shifted from Reliance Blue to logo teak)
   Teak: #7A6248  Hover: #5F4B37  Tint: rgba(122,98,72,0.08)
   Scope: body.theme-home only + shared nav Contact button.
   Dashboard mockup blue (#1F2C59) intentionally preserved.
   ============================================================ */

/* Primary buttons on home + nav Contact (shared across pages)
   Bright blue to match the site's accent color (Product 1 bar in hero graphic). */
.theme-home .btn--primary,
.nav__actions .btn--primary,
.theme-home .contact2-form__submit,
.theme-home .careers__btn{ background:#1F2C59; border-color:#1F2C59; color:#fff; box-shadow:0 6px 20px rgba(31,44,89,0.28); }
.theme-home .btn--primary:hover,
.nav__actions .btn--primary:hover,
.theme-home .contact2-form__submit:hover,
.theme-home .careers__btn:hover{ background:#192347; border-color:#192347; box-shadow:0 10px 26px rgba(31,44,89,0.38); }

/* Hero eyebrow chip */
.theme-home .home-hero__eyebrow{ color:#1F2C59; background:rgba(31,44,89,0.10); }

/* Stat numbers (Top 6 / 50M+ / 350+ / 99.99%) */
.theme-home .results__num{ color:#1F2C59; }

/* Testimonial serif mark + active dot */
.theme-home .tst__mark{ color:#1F2C59; }
.theme-home .tst__dot.is-active{ background:#1F2C59; }
.theme-home .tst__dot:focus-visible{ outline-color:#1F2C59; }

/* Division card CTA + topo default (only affects home; division pages set --card-accent) */
.theme-home .division-card__cta{ color:#1F2C59; }
.theme-home .division-card__topo{ color:#1F2C59; }

/* ============================================================
   HOME HEADLINE COLOR SHIFT: plum-navy #222222 -> soft black #222222
   Scope: body.theme-home headlines only.
   ============================================================ */
.theme-home .hero__title,
.theme-home .messy__h2,
.theme-home .messy__h2-muted,
.theme-home .results__h2,
.theme-home .tst__h2,
.theme-home .cta__h,
.theme-home .contact2-hero__h1,
.theme-home .about-hero__h1,
.theme-home .team__h2,
.theme-home .story__h2,
.theme-home .timeline__h2,
.theme-home .careers__h2,
.theme-home .accent--blue{ color:#222222; }

/* About page: blue accents -> teak (team arrow hover, timeline nodes/year/rail) */
.theme-home .team__card:hover .team__arrow{ color:#1F2C59; }
.theme-home .timeline__item::before{ background:#1F2C59; border-color:#1F2C59; box-shadow:0 0 0 4px rgba(31,44,89,0.10); }
.theme-home .timeline__year{ color:#1F2C59; }
.theme-home .timeline__list::before{ background:#1F2C59; }

/* Testimonial body + attribution name to soft black (home only) */
.theme-home .tst__body,
.theme-home .tst__person{ color:#222222; }




/* HOME HERO */
.home-hero{ padding:96px 0 72px; }
.home-hero__grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 640px);
  gap:48px;
  align-items:center;
}
@media (max-width: 1080px){
  .home-hero__grid{ grid-template-columns:1fr; gap:40px; }
  .home-hero__viz{ max-width:640px; margin:0 auto; width:100%; }
}
.home-hero__copy{ min-width:0; }
.home-hero__eyebrow{
  display:inline-block;
  font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:#1F2C59; background:rgba(46,90,172,0.08);
  padding:6px 14px; border-radius:100px;
  margin-bottom:24px;
}
.home-hero__btns{ display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }

/* ============================================================
   HERO RULE ENGINE DASHBOARD (SVG)
   ============================================================ */
.home-hero__viz{ width:100%; }
.rulesviz{
  width:100%; height:auto; display:block;
  overflow:visible;
  font-family:inherit;
}

/* Top bar */
.rv-brand-r{ font-size:12px; font-weight:800; fill:#fff; }
.rv-brand{ font-size:12px; font-weight:700; fill:#fff; letter-spacing:-0.01em; }
.rv-brand-sep{ font-size:12px; font-weight:500; fill:#6a707c; }
.rv-brand-page{ font-size:12px; font-weight:600; fill:#c4c8d0; }
.rv-tb-btn{ font-size:10px; font-weight:600; fill:#c4c8d0; }
.rv-tb-btn-p{ font-size:10px; font-weight:700; fill:#fff; }
.rv-tb-meta{ font-size:10px; font-weight:600; fill:#8a909c; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

/* Sidebar labels + selectors */
.rv-side-label{ font-size:9px; font-weight:800; letter-spacing:0.10em; fill:#6a707c; text-transform:uppercase; }
.rv-mfg-init{ font-size:8px; font-weight:800; fill:#fff; }
.rv-mfg-name{ font-size:12px; font-weight:700; fill:#fff; }

/* Category list items */
.rv-cat{ font-size:11px; font-weight:600; fill:#c4c8d0; letter-spacing:-0.005em; }
.rv-cat--active{ fill:#fff; font-weight:700; }
.rv-cat-count{ font-size:10px; font-weight:700; fill:#6a707c; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.rv-cat-count--active{ fill:#1F2C59; }
.rv-cat-num{ font-size:11px; font-weight:800; fill:#8a909c; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

/* Sidebar coverage metric */
.rv-side-metric{ font-size:14px; font-weight:800; fill:#fff; letter-spacing:-0.02em; }
.rv-side-metric-dim{ font-size:10px; font-weight:500; fill:#8a909c; }

/* Main content */
.rv-h1{ font-size:16px; font-weight:800; fill:#0F1116; letter-spacing:-0.02em; }
.rv-sub{ font-size:11px; font-weight:500; fill:#6a707c; }
.rv-search{ font-size:11px; font-weight:500; fill:#8a909c; }
.rv-add{ font-size:11px; font-weight:700; fill:#fff; }

/* Table */
.rv-th{ font-size:9px; font-weight:800; letter-spacing:0.08em; fill:#8a909c; text-transform:uppercase; }
.rv-td{ font-size:11px; font-weight:600; fill:#0F1116; }
.rv-td--field{ font-weight:700; }
.rv-td--mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; font-weight:700; fill:#1F2C59; }
.rv-td--dim{ font-size:10.5px; font-weight:500; fill:#6a707c; }

/* Status badge */
.rv-badge{ font-size:9px; font-weight:800; letter-spacing:0.02em; }
.rv-badge--ok{ fill:#166534; }

/* Pagination */
.rv-page-note{ font-size:10px; font-weight:500; fill:#8a909c; }
.rv-pg{ font-size:10px; font-weight:600; fill:#0F1116; }
.rv-pg-active{ font-size:10px; font-weight:800; fill:#fff; }

/* Version panel */
.rv-panel-h{ font-size:9px; font-weight:800; letter-spacing:0.10em; fill:#8a909c; text-transform:uppercase; }
.rv-panel-val{ font-size:16px; font-weight:800; fill:#0F1116; letter-spacing:-0.02em; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.rv-panel-delta{ font-size:10px; font-weight:700; fill:#22C55E; }
.rv-panel-sub{ font-size:9px; font-weight:700; letter-spacing:0.06em; fill:#8a909c; text-transform:uppercase; }
.rv-panel-time{ font-size:10px; font-weight:600; fill:#0F1116; }

/* Legacy pipeline classes (unused, kept for safety) */
.pipeline{ display:none; }

/* Column headers */
.pl-col{
  font-size:10px; font-weight:700; letter-spacing:0.14em;
  fill:#8a909c; text-transform:uppercase;
}
.pl-col--engine{ fill:#1F2C59; }

/* Monospace snippets (raw records) */
.pl-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:9.5px; font-weight:500; fill:#0F1116;
}
.pl-mono--dim{ fill:#6a707c; }
.pl-mono--muted{ fill:#8a909c; }
.pl-mono--warn{ fill:#92400E; }
.pl-mono--bad{ fill:#991B1B; }

/* Warning tag on raw records */
.pl-tag{ font-size:8px; font-weight:800; letter-spacing:0.06em; }
.pl-tag--bad{ fill:#991B1B; }

/* Flow lines between panels */
.pl-line{
  fill:none;
  stroke:#1F2C59;
  stroke-width:1.3;
  stroke-linecap:round;
  opacity:0.55;
  stroke-dasharray:3 5;
  animation:pl-dash 2.6s linear infinite;
}
.pl-line--d1{ animation-delay:-0.5s; }
.pl-line--d2{ animation-delay:-1.0s; }
.pl-line--d3{ animation-delay:-1.5s; }
.pl-line--out{ opacity:0.7; }
@keyframes pl-dash{
  from{ stroke-dashoffset:0; }
  to  { stroke-dashoffset:-48; }
}
@media (prefers-reduced-motion: reduce){
  .pl-line{ animation:none; }
}

/* Engine (dark center panel) */
.pl-engine-logo{ font-size:12px; font-weight:800; fill:#fff; letter-spacing:-0.02em; }
.pl-engine-h{ font-size:12px; font-weight:700; fill:#fff; letter-spacing:-0.01em; }
.pl-engine-sub{ font-size:9px; font-weight:600; fill:#8a909c; letter-spacing:0.04em; text-transform:uppercase; }
.pl-stage-h{ font-size:11px; font-weight:700; fill:#fff; }
.pl-stage-sub{ font-size:8.5px; font-weight:500; fill:#8a909c; letter-spacing:0.01em; }
.pl-stage-count{ font-size:9.5px; font-weight:700; fill:#1F2C59; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.pl-live{ font-size:10px; font-weight:600; fill:#22C55E; letter-spacing:0.02em; }

/* Output table */
.pl-th{ font-size:8.5px; font-weight:800; fill:#8a909c; letter-spacing:0.08em; text-transform:uppercase; }
.pl-td{ font-size:10.5px; font-weight:600; fill:#0F1116; }
.pl-td--mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; font-weight:700; fill:#1F2C59; }
.pl-td--dim{ font-size:9px; font-weight:500; fill:#8a909c; }
.pl-td--num{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight:700; }
.pl-td--ok{ fill:#22C55E; font-weight:800; }

/* Output footer */
.pl-foot{ font-size:10px; font-weight:600; fill:#6a707c; }
.pl-foot--val{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight:800; fill:#0F1116; font-size:11px; }
.pl-foot--ok{ fill:#22C55E; font-weight:800; }
.pl-foot--dim{ fill:#8a909c; }

/* Legacy heroshot classes retained for hidden fallback */
.heroshot{ width:100%; height:auto; display:block; overflow:visible; font-family:inherit; }

/* Dark app shell */
.hs-shell-mono{ font-size:14px; font-weight:800; letter-spacing:-0.02em; }
.hs-shell-brand{ font-size:14px; font-weight:700; fill:#fff; letter-spacing:-0.01em; }
.hs-shell-item{ font-size:12px; font-weight:600; fill:#8a909c; }
.hs-shell-item--active{ fill:#fff; }

/* Card headers */
.hs-card-h{ font-size:14px; font-weight:700; fill:#0F1116; letter-spacing:-0.01em; }
.hs-card-sub{ font-size:11px; font-weight:500; fill:#6a707c; }
.hs-card-mini{ font-size:10.5px; font-weight:600; fill:#8a909c; }
.hs-card-row{ font-size:12px; font-weight:600; fill:#0F1116; }
.hs-card-pill-t{ font-size:10px; font-weight:700; fill:#0F1116; text-anchor:middle; letter-spacing:0.02em; }

/* Status pills */
.hs-card-status{ font-size:9.5px; font-weight:700; text-anchor:middle; letter-spacing:0.04em; text-transform:uppercase; }
.hs-card-status--ok{ fill:#166534; }
.hs-card-status--warn{ fill:#92400E; }
.hs-card-status--bad{ fill:#991B1B; }

/* Territories callout */
.hs-callout-h{ font-size:11px; font-weight:700; fill:#0F1116; }
.hs-callout-sub{ font-size:9.5px; font-weight:600; fill:#1F2C59; letter-spacing:0.01em; }
.hs-callout-val{ font-size:11px; font-weight:700; fill:#0F1116; }
.hs-callout-x{ font-size:12px; font-weight:600; fill:#8a909c; }

/* License card */
.hs-lic-name{ font-size:11px; font-weight:700; fill:#0F1116; }
.hs-lic-meta{ font-size:9.5px; font-weight:600; fill:#166534; letter-spacing:0.02em; }
.hs-lic-row-l{ font-size:10.5px; font-weight:600; fill:#6a707c; }
.hs-lic-row-r{ font-size:10.5px; font-weight:700; fill:#0F1116; }
.hs-lic-row-r--ok{ fill:#166534; }

/* Donut / integration card */
.hs-donut-pct{ font-size:14px; font-weight:800; fill:#1F2C59; }
.hs-donut-sub{ font-size:9px; font-weight:600; fill:#93C5FD; }
.hs-legend{ font-size:10.5px; font-weight:600; fill:#0F1116; }
.hs-legend--muted{ fill:#6a707c; }

/* Vantage chip */
.hs-chip-h{ font-size:11px; font-weight:700; fill:#fff; }
.hs-chip-sub{ font-size:9.5px; font-weight:600; fill:#8a909c; }

/* Legacy flowviz classes kept for hidden fallback group */
.flowviz{ width:100%; height:auto; display:block; overflow:visible; }

/* Column headers */
.flowviz__col{
  font-size:10px; font-weight:700; letter-spacing:0.14em;
  fill:#6a707c; text-transform:uppercase;
}
.flowviz__col--center{ text-anchor:middle; fill:#1F2C59; }
.flowviz__col--right{ text-anchor:end; }

/* Input tiles (messy) */
.flowviz__tile{
  fill:#fff; stroke:rgba(15,17,22,0.10); stroke-width:1;
}
.flowviz__tile--input{
  fill:#F5F5F7; stroke:rgba(15,17,22,0.08);
}
.flowviz__tile--output{
  fill:#fff; stroke:rgba(46,90,172,0.20);
}
.flowviz__tile-h{
  font-size:12px; font-weight:700; fill:#0F1116;
}
.flowviz__tile-p{
  font-size:10.5px; font-weight:500; fill:#6a707c;
}
.flowviz__dot{ opacity:0.9; }
.flowviz__dot--mfr{ fill:#78C040; }     /* EDI green */
.flowviz__dot--dist{ fill:#C07840; }    /* Data plum */
.flowviz__dot--ret{ fill:#684098; }     /* Vantage purple */
.flowviz__dot--clinic{ fill:#109850; }  /* ClearVet green */

/* Ragged bottom edge on inputs signaling variation */
.flowviz__ragged{
  fill:none; stroke:rgba(15,17,22,0.14); stroke-width:1;
}

/* Check mark on outputs */
.flowviz__check{
  fill:none; stroke:#1F2C59; stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round;
}

/* Flow lines */
.flowviz__flow{
  fill:none;
  stroke:#1F2C59;
  stroke-width:1.5;
  stroke-linecap:round;
  opacity:0.55;
  stroke-dasharray:4 6;
  animation:flowviz-dash 2.4s linear infinite;
}
.flowviz__flow--out{
  animation-duration:2.4s;
}
@keyframes flowviz-dash{
  from{ stroke-dashoffset:0; }
  to  { stroke-dashoffset:-40; }
}
@media (prefers-reduced-motion: reduce){
  .flowviz__flow{ animation:none; }
}

/* Central hub */
.flowviz__hub-stroke{
  fill:none; stroke:rgba(46,90,172,0.35); stroke-width:1;
}
.flowviz__hub-name{
  font-size:14px; font-weight:800; fill:#fff;
  text-anchor:middle; letter-spacing:0.08em;
}
.flowviz__hub-sub{
  font-size:9px; font-weight:600; fill:rgba(255,255,255,0.55);
  text-anchor:middle; letter-spacing:0.10em; text-transform:uppercase;
}
.flowviz__pill{
  fill:rgba(46,90,172,0.18); stroke:rgba(46,90,172,0.35); stroke-width:1;
}
.flowviz__pill-t{
  font-size:8px; font-weight:700; fill:#A0B8DD;
  text-anchor:middle; letter-spacing:0.06em;
}

/* Caption row */
.flowviz__caption{
  font-size:10px; font-weight:600; fill:#8a909c;
  text-anchor:middle; letter-spacing:0.02em;
}
.flowviz__caption--hub{ fill:#0F1116; font-weight:700; }
.flowviz__caption--out{ fill:#1F2C59; }

/* ============================================================
   HERO VIZ — layered app-mockup composition (new)
   ============================================================ */
.hviz{
  position:relative;
  width:100%;
  min-height:520px;
  font-family: 'Avenir Next', 'Avenir', 'Montserrat', system-ui, -apple-system, Segoe UI, sans-serif;
}
.hviz__panel{
  position:absolute;
  border-radius:12px;
  box-shadow: 0 30px 60px -20px rgba(15,17,22,0.28), 0 12px 28px -10px rgba(15,17,22,0.14), 0 0 0 1px rgba(15,17,22,0.06);
  overflow:hidden;
  background:#fff;
}
.hviz__dot{
  display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px;
  vertical-align:middle;
}
.hviz__dot--r{ background:#ff5f56; }
.hviz__dot--y{ background:#ffbd2e; }
.hviz__dot--g{ background:#27c93f; }

/* -- MAIN light panel -- */
.hviz__panel--main{
  left:0; top:20px; width:600px; height:440px;
  background:#fff;
}
.hviz__chrome{
  display:flex; align-items:center; gap:6px;
  padding:10px 14px;
  background:#f5f6f8;
  border-bottom:1px solid rgba(15,17,22,0.08);
}
.hviz__url{
  margin-left:14px; font-size:11px; color:#8A93A6; letter-spacing:0.01em;
}
.hviz__mainbody{
  display:grid; grid-template-columns:132px 1fr; height:calc(100% - 33px);
}

/* -- Simplified Sell-Through overview inside main panel -- */
.exs{
  padding:18px 20px 20px;
  background:#fff;
  height:calc(100% - 33px);
  display:flex; flex-direction:column; gap:12px;
  overflow:hidden;
}
.exs__h{ display:flex; align-items:flex-end; justify-content:space-between; }
.exs__title{ font-size:15px; font-weight:800; color:#0F1116; letter-spacing:-0.005em; }
.exs__sub{ font-size:11px; color:#8A93A6; margin-top:2px; }
.exs__hdr-rev{ text-align:right; }
.exs__hdr-rev-v{ font-size:20px; font-weight:800; color:#0F1116; letter-spacing:-0.01em; line-height:1; }
.exs__hdr-rev-d{
  display:inline-block; margin-top:4px;
  font-size:10px; font-weight:700; color:#12B76A;
  background:rgba(18,183,106,0.10); padding:2px 6px; border-radius:100px;
}

.exs__grid{
  display:grid; grid-template-columns:1.85fr 1fr; gap:10px;
}
.exs__card{
  border:1px solid rgba(15,17,22,0.08);
  border-radius:8px;
  padding:10px 12px;
  background:#fff;
  min-width:0;
}
.exs__card-h{
  font-size:11px; font-weight:700; color:#0F1116;
  margin-bottom:6px;
}
.exs__card-h--tp{ display:flex; justify-content:space-between; align-items:center; }
.exs__card-h-r{ font-size:10px; font-weight:500; color:#8A93A6; }

.exs__trend{ width:100%; height:110px; display:block; }
.exs__grid-line line{ stroke:rgba(15,17,22,0.08); stroke-dasharray:2 3; stroke-width:1; }
.exs__xlab text{ font-size:7px; fill:#8A93A6; font-family: 'Avenir Next', 'Avenir', 'Montserrat', sans-serif; text-anchor:middle; }
.exs__area{ fill:url(#exsGrad); }
.exs__line{ fill:none; stroke:#1F2C59; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.exs__pt circle{ fill:#1F2C59; }

.exs__card--donut{ display:flex; flex-direction:column; align-items:stretch; }
.exs__donut-wrap{
  position:relative; flex:1;
  display:flex; align-items:center; justify-content:center;
  min-height:100px;
}
.exs__donut{ width:100px; height:100px; transform:rotate(0deg); }
.exs__donut-c{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  text-align:center;
}
.exs__donut-c-v{ font-size:20px; font-weight:800; color:#0F1116; line-height:1; }
.exs__donut-c-l{ font-size:9px; color:#8A93A6; font-weight:600; letter-spacing:0.02em; text-transform:uppercase; margin-top:2px; }

.exs__card--tp{ padding:10px 14px 12px; }
.exs__tp{ display:flex; flex-direction:column; gap:8px; }
.exs__tp-row{
  display:grid; grid-template-columns:150px 1fr 68px; align-items:center; gap:10px;
}
.exs__tp-name{
  font-size:11px; font-weight:600; color:#0F1116;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.exs__tp-bar{
  height:6px; background:rgba(15,17,22,0.06);
  border-radius:100px; overflow:hidden;
}
.exs__tp-bar span{ display:block; height:100%; border-radius:100px; }
.exs__tp-val{
  font-size:11px; font-weight:700; color:#0F1116; text-align:right;
  font-variant-numeric:tabular-nums;
}

/* -- Legacy mini-dashboard (kept for reference, no longer used) -- */
.exd__side{
  background:#0F1E3D; color:#B7C3DA;
  padding:12px 10px;
  font-size:11px;
  display:flex; flex-direction:column;
}
.exd__brand{
  display:flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; color:#fff; letter-spacing:-0.005em;
  padding-bottom:12px; margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.exd__nav{ display:flex; flex-direction:column; gap:2px; }
.exd__nav-item{
  display:flex; align-items:center; gap:8px;
  padding:6px 8px; border-radius:5px;
  color:#B7C3DA; font-size:11px; font-weight:500;
  text-decoration:none;
}
.exd__ico{
  width:12px; text-align:center; opacity:0.65;
  font-size:11px;
}
.exd__nav-item--active{
  background:rgba(31,44,89,0.16); color:#fff; font-weight:600;
}
.exd__nav-item--active .exd__ico{ opacity:1; color:#1F2C59; }

.exd__main{
  padding:12px 16px 14px; overflow:hidden; background:#fff;
}
.exd__crumb{
  font-size:9px; font-weight:700; letter-spacing:0.08em;
  color:#4F7ECE; margin-bottom:8px;
}
.exd__title{
  font-size:16px; font-weight:800; color:#0F1116; letter-spacing:-0.01em;
}
.exd__sub{
  font-size:10.5px; color:#8A93A6; margin-top:1px; margin-bottom:10px;
}
.exd__tabs{
  display:flex; gap:14px;
  border-bottom:1px solid rgba(15,17,22,0.08);
  margin-bottom:10px;
}
.exd__tab{
  font-size:10.5px; font-weight:600; color:#8A93A6;
  padding-bottom:5px;
}
.exd__tab--active{
  color:#0F1116;
  border-bottom:2px solid #0F1E3D;
  margin-bottom:-1px;
}
.exd__kpis{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:6px;
  margin-bottom:10px;
}
.exd__kpi{
  padding:7px 8px;
  background:#fff;
  border:1px solid rgba(15,17,22,0.08);
  border-radius:6px;
  min-width:0;
}
.exd__kpi-l{
  font-size:7.5px; font-weight:700; letter-spacing:0.06em;
  color:#8A93A6; text-transform:uppercase;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.exd__kpi-r{ display:flex; align-items:baseline; gap:5px; margin-top:2px; }
.exd__kpi-v{
  font-size:13px; font-weight:800; color:#0F1116; letter-spacing:-0.01em;
  white-space:nowrap;
}
.exd__delta{
  font-size:9px; font-weight:700;
  padding:1px 4px; border-radius:3px;
}
.exd__delta--up{ color:#12B76A; background:rgba(18,183,106,0.10); }
.exd__delta--down{ color:#E14545; background:rgba(225,69,69,0.10); }
.exd__kpi-m{
  font-size:8.5px; color:#8A93A6; margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.exd__chartcard{
  background:#fff;
  border:1px solid rgba(15,17,22,0.08);
  border-radius:6px;
  padding:8px 10px 4px;
}
.exd__chart-h{
  font-size:10.5px; font-weight:700; color:#0F1116;
  margin-bottom:4px;
}
.exd__trend{ width:100%; height:120px; display:block; }
.exd__trend-grid line{ stroke:rgba(15,17,22,0.08); stroke-width:1; stroke-dasharray:2 3; }
.exd__trend-ylab text{ font-size:7px; fill:#8A93A6; font-family: 'Avenir Next', 'Avenir', 'Montserrat', sans-serif; }
.exd__trend-xlab text{ font-size:7px; fill:#8A93A6; font-family: 'Avenir Next', 'Avenir', 'Montserrat', sans-serif; text-anchor:middle; }
.exd__trend-area{ fill:url(#exdGrad); }
.exd__trend-line{ fill:none; stroke:#1F2C59; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.exd__trend-pt circle{ fill:#1F2C59; }
.hviz__side{
  background:#fafbfc; padding:14px 12px; border-right:1px solid rgba(15,17,22,0.06);
  font-size:12px; color:#374151;
}
.hviz__side-h{
  display:flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; color:#0F1116;
  padding-bottom:12px; border-bottom:1px solid rgba(15,17,22,0.06); margin-bottom:12px;
}
.hviz__brand-dot{
  width:16px; height:16px; border-radius:4px; background:#1F2C59;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-size:9px; font-weight:800;
}
.hviz__brand-dot::before{ content:"R"; }
.hviz__side-section{
  font-size:9.5px; font-weight:700; letter-spacing:0.08em; color:#8A93A6; text-transform:uppercase;
  margin:6px 0 6px;
}
.hviz__mfg{
  display:flex; align-items:center; gap:8px;
  padding:6px 8px; background:#fff; border:1px solid rgba(15,17,22,0.10); border-radius:6px;
  font-size:12px; font-weight:600; color:#0F1116;
  margin-bottom:6px;
}
.hviz__mfg-mark{
  width:16px; height:16px; border-radius:50%; background:#0F1116; color:#fff;
  font-size:9px; font-weight:800; display:inline-flex; align-items:center; justify-content:center;
}
.hviz__cats{ list-style:none; padding:0; margin:0 0 12px; }
.hviz__cat{
  display:flex; align-items:center; gap:8px;
  padding:6px 8px; border-radius:6px;
  font-size:12px; color:#4b5563; font-weight:500;
  margin-bottom:2px;
}
.hviz__cat svg{ opacity:0.7; }
.hviz__cat-badge{
  margin-left:auto; font-size:10.5px; font-weight:700; color:#8A93A6;
}
.hviz__cat--active{
  background:rgba(46,90,172,0.09); color:#1F2C59; font-weight:600;
}
.hviz__cat--active svg{ opacity:1; }
.hviz__cat--active .hviz__cat-badge{ color:#1F2C59; }
.hviz__cov{ margin-top:12px; padding-top:12px; border-top:1px solid rgba(15,17,22,0.06); }
.hviz__cov-label{ font-size:9.5px; font-weight:700; letter-spacing:0.08em; color:#8A93A6; text-transform:uppercase; margin-bottom:6px; }
.hviz__cov-bar{ width:100%; height:4px; background:rgba(15,17,22,0.08); border-radius:100px; overflow:hidden; }
.hviz__cov-fill{ width:90%; height:100%; background:#12B76A; }
.hviz__cov-txt{ font-size:11px; color:#4b5563; margin-top:6px; }
.hviz__cov-pct{ font-weight:800; color:#0F1116; font-size:12px; }

.hviz__pane{ padding:16px 18px; overflow:hidden; }
.hviz__pane-h{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:12px; }
.hviz__pane-title{ font-size:15px; font-weight:800; color:#0F1116; letter-spacing:-0.005em; }
.hviz__pane-sub{ font-size:11px; color:#8A93A6; margin-top:2px; }
.hviz__addbtn{
  padding:5px 10px; background:#0F1116; color:#fff; border:0;
  border-radius:6px; font-size:11px; font-weight:600;
  font-family:inherit;
}
.hviz__search{
  display:flex; align-items:center; gap:6px;
  padding:6px 10px; border:1px solid rgba(15,17,22,0.10); border-radius:6px;
  font-size:11px; color:#8A93A6; margin-bottom:10px;
}
.hviz__tbl{ width:100%; border-collapse:collapse; font-size:11.5px; }
.hviz__tbl thead th{
  text-align:left; font-size:9.5px; font-weight:700; letter-spacing:0.08em;
  color:#8A93A6; text-transform:uppercase;
  padding:6px 6px 6px 0; border-bottom:1px solid rgba(15,17,22,0.06);
  white-space:nowrap;
}
.hviz__tbl thead th.hviz__th-r{ text-align:right; }
.hviz__tbl tbody td{
  padding:7px 6px 7px 0; border-bottom:1px solid rgba(15,17,22,0.04);
  color:#374151; white-space:nowrap;
}
.hviz__tbl tbody td.hviz__td-r{ text-align:right; }
.hviz__td-h{ font-weight:600; color:#0F1116; }
.hviz__grip{
  display:inline-block; width:8px; height:8px; margin-right:8px;
  background-image: radial-gradient(circle, #C7CDD8 1px, transparent 1px);
  background-size:3px 3px;
  vertical-align:middle;
}
.hviz__code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:10px; font-weight:600; color:#1F2C59;
  white-space:nowrap;
}
.hviz__pill{
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 8px; border-radius:100px;
  font-size:10px; font-weight:600;
}
.hviz__pill--ok{ background:rgba(18,183,106,0.10); color:#12B76A; }
.hviz__pill--ok::before{ content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:#12B76A; }

/* -- FLOATING project detail card (replaces old rule tooltip) -- */
.hviz__proj{
  right:-10px; top:-10px; width:290px;
  background:#0F1116; color:#E5E7EB;
  border-radius:12px;
  padding:16px 16px 14px;
  box-shadow: 0 40px 80px -20px rgba(15,17,22,0.55), 0 14px 32px -10px rgba(15,17,22,0.22), 0 0 0 1px rgba(255,255,255,0.06);
  transform:rotate(-1.5deg);
}
.hviz__proj-back{
  font-size:10px; color:#8A93A6; margin-bottom:10px;
}
.hviz__proj-title{
  font-size:15px; font-weight:700; color:#fff;
  display:flex; align-items:center; gap:8px; margin-bottom:4px;
}
.hviz__proj-active{
  font-size:9px; font-weight:600; color:#12B76A;
  padding:2px 6px; border-radius:10px;
  background:rgba(18,183,106,0.12);
}
.hviz__proj-meta{
  font-size:10px; color:#8A93A6; margin-bottom:10px;
  display:flex; gap:6px; align-items:center;
}
.hviz__proj-sep{ opacity:0.5; }
.hviz__proj-tabs{
  display:flex; gap:10px; padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,0.08); margin-bottom:10px;
  overflow:hidden;
}
.hviz__proj-tab{
  font-size:10px; color:#8A93A6; padding:3px 6px; border-radius:4px;
  white-space:nowrap;
}
.hviz__proj-tab--active{
  color:#E5E7EB; background:#161923;
  outline:1px solid rgba(255,255,255,0.10);
}
.hviz__proj-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
  padding:10px 12px;
}
.hviz__proj-card-h{
  font-size:9px; font-weight:700; letter-spacing:0.10em; text-transform:uppercase;
  color:#8A93A6; margin-bottom:8px;
}
.hviz__proj-row{
  display:flex; justify-content:space-between; align-items:center;
  font-size:10.5px; color:#8A93A6;
  padding:5px 0;
  border-top:1px solid rgba(255,255,255,0.04);
}
.hviz__proj-row:first-of-type{ border-top:none; }
.hviz__proj-val{ color:#fff; font-weight:600; }
.hviz__proj-mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; }
.hviz__proj-status{
  font-size:9px; font-weight:600; color:#12B76A;
  padding:2px 8px; border-radius:10px;
  background:rgba(18,183,106,0.14);
}

/* -- TERMINAL bottom left -- */
.hviz__panel--term{
  left:-30px; bottom:-10px; width:380px;
  background:#0F1116; color:#E5E7EB;
  border-radius:10px;
  box-shadow: 0 40px 80px -20px rgba(15,17,22,0.50), 0 14px 32px -10px rgba(15,17,22,0.22), 0 0 0 1px rgba(255,255,255,0.06);
  transform:rotate(1.5deg);
}
.hviz__term-h{
  display:flex; align-items:center; gap:6px;
  padding:8px 12px;
  background:#161923;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.hviz__term-title{
  margin-left:auto; margin-right:auto;
  font-size:10.5px; font-weight:600; color:#8A93A6;
  transform:translateX(-14px);
}
.hviz__term-body{
  padding:12px 14px 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:10.5px; line-height:1.7;
  color:#B7BFCF;
}
.hviz__term-line{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hviz__term-time{ color:#5B6478; margin-right:8px; }
.hviz__term-ok{ color:#12B76A; font-weight:700; margin-right:4px; }
.hviz__term-warn{ color:#F5A524; font-weight:700; margin-right:4px; }
.hviz__term-dim{ color:#6b7280; }
.hviz__term-caret{ color:#E5E7EB; margin-top:2px; animation: hvizBlink 1s steps(2) infinite; }
@keyframes hvizBlink{ 50%{ opacity:0; } }

/* MESSY INPUTS → TRUSTED OPERATIONS */
.messy{ padding:96px 0 40px; background:#fff; }
.messy__h2{
  font-size:44px; font-weight:800; line-height:1.05; letter-spacing:-0.02em;
  color:#222222;
  margin:0 0 40px;
}
.messy__h2-muted{ color:#222222; font-weight:800; }
.messy__panel{
  background:#F5F5F7;
  border:1px solid rgba(15,17,22,0.06);
  border-radius:20px;
  padding:36px;
}
.messy__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}
@media (max-width: 1024px){ .messy__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 640px){ .messy__grid{ grid-template-columns:1fr; } }
.messy__card{
  background:#fff;
  border-radius:14px;
  padding:24px 22px;
  border:1px solid rgba(15,17,22,0.08);
}
.messy__card--accent{
  border-color:rgba(46,90,172,0.40);
  box-shadow:0 0 0 1px rgba(46,90,172,0.15) inset;
}
.messy__card-h{
  font-size:16px; font-weight:800; letter-spacing:-0.005em;
  color:#222222;
  margin:0 0 12px;
}
.messy__card-p{
  font-size:14.5px; line-height:1.55; color:#4a5060;
  margin:0;
}
@media (max-width: 768px){
  .messy{ padding:56px 0 24px; }
  .messy__h2{ font-size:32px; margin-bottom:28px; }
  .messy__panel{ padding:24px; }
}

/* ============================================================
   TESTIMONIALS (interactive tile-switcher)
   ============================================================ */
/* ============ RESULTS (BY THE NUMBERS) ============ */
.results{ padding:96px 0 64px; background:#fff; }
.results__eyebrow{
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:#1F2C59; margin-bottom:14px;
}
.results__h2{
  font-size:clamp(32px, 4.2vw, 52px); line-height:1.05; letter-spacing:-0.02em;
  color:#222222; margin:0 0 48px; font-weight:700;
}
.results__grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:32px;
}
.results__stat{ display:flex; flex-direction:column; gap:16px; }
.results__num{
  font-size:clamp(32px, 3.6vw, 52px); line-height:1; letter-spacing:-0.03em;
  color:#1F2C59; font-weight:700;
}
.results__cap{
  font-size:15px; line-height:1.55; color:#4b5563; margin:0; max-width:26ch;
}
@media (max-width: 900px){
  .results__grid{ grid-template-columns:repeat(2, 1fr); gap:40px 24px; }
}
@media (max-width: 520px){
  .results__grid{ grid-template-columns:1fr; }
}

.tst{ padding:96px 0 40px; background:#fff; }
/* Slides are rendered from data/testimonials.json by script.js. If that data
   can't be loaded (or JS is off) the carousel stays empty, so hide the whole
   section rather than leave a heading with nothing under it. */
.tst:has(.tst__carousel:empty){ display:none; }
.tst__eyebrow{
  font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:#1F2C59; margin:0 0 12px;
}
.tst__h2{
  font-size:clamp(32px,4vw,56px); font-weight:800; line-height:1.08; letter-spacing:-0.02em;
  color:#222222; margin:0 0 40px; max-width:820px;
}

/* ========= OPTION A · Editorial pull quote carousel ========= */
.tst__carousel{
  position:relative;
  display:grid;
  padding:16px 0 0;
}
.tst__slide{
  grid-area:1 / 1;
  max-width:none;
  margin:0;
  padding:24px 0 8px;
  text-align:left;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .32s ease, transform .32s ease, visibility 0s linear .32s;
  display:flex; flex-direction:column; align-items:flex-start;
}
.tst__slide.is-active{
  opacity:1; visibility:visible; transform:none;
  transition:opacity .32s ease, transform .32s ease, visibility 0s linear 0s;
}
.tst__mark{
  font-family:inherit;
  font-size:96px; line-height:0.6;
  font-weight:800;
  color:#1F2C59;
  margin:0 0 12px;
  user-select:none;
}
.tst__body{
  font-size:clamp(20px, 2.1vw, 28px);
  line-height:1.45;
  letter-spacing:-0.005em;
  color:#3F4147;
  font-weight:500;
  margin:0 0 36px;
  max-width:none;
}
.tst__attrib{
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
}
.tst__brand{
  display:inline-flex; align-items:center; justify-content:center;
  height:40px; padding:6px 12px;
  background:#fff; border:1px solid #eef0f3; border-radius:6px;
  box-sizing:border-box;
  margin-bottom:4px;
}
.tst__brand img{ height:26px; width:auto; max-width:220px; display:block; object-fit:contain; }
.tst__person{
  font-size:16px; font-weight:700; color:#222222; letter-spacing:-0.005em;
}
.tst__company{
  font-size:13px; color:#8A6E50;
}

/* Dots */
.tst__dots{
  grid-area:2 / 1;
  display:flex; justify-content:center; gap:10px;
  margin-top:32px;
}
.tst__dot{
  width:8px; height:8px; padding:0;
  border-radius:50%; border:none;
  background:#d5d8e0;
  cursor:pointer;
  transition:background .18s ease, width .22s ease, border-radius .22s ease;
  appearance:none; -webkit-appearance:none;
}
.tst__dot:hover{ background:#a8adba; }
.tst__dot.is-active{
  background:#1F2C59;
  width:24px;
  border-radius:4px;
}
.tst__dot:focus-visible{
  outline:2px solid #1F2C59; outline-offset:3px;
}

@media (max-width: 768px){
  .tst{ padding:56px 0 24px; }
  .tst__h2{ font-size:28px; margin-bottom:24px; }
  .tst__slide{ padding:8px 8px 4px; }
  .tst__mark{ font-size:64px; }
  .tst__body{ font-size:18px; }
  .tst__slide:not(.is-active){ display:none; }
  .tst__dots{ margin-top:20px; }
}

/* LOGO STRIP EYEBROW */
.logostrip__eyebrow{
  text-align:center;
  font-size:13px; font-weight:600; letter-spacing:0.01em;
  color:#6a707c;
  margin:0 0 28px;
}

/* DIVISIONS GRID */
.divisions{ padding:80px 0; background:#fff; }
.divisions__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
  margin-top:48px;
}
@media (max-width: 1024px){ .divisions__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 640px){ .divisions__grid{ grid-template-columns:1fr; } }
.division-card{
  display:flex; flex-direction:column;
  padding:28px 26px 24px;
  background:#fff;
  border:1px solid rgba(15,17,22,0.10);
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative; overflow:hidden;
  min-height:280px;
}
.division-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--card-accent, #1F2C59);
}
.division-card:hover{
  transform:translateY(-2px);
  box-shadow:0 1px 2px rgba(15,17,22,0.04), 0 12px 28px -10px rgba(15,17,22,0.12);
  border-color:rgba(15,17,22,0.16);
}
.division-card__icon{
  display:block;
  width:64px; height:48px;
  color:var(--card-accent, #1F2C59);
  margin:0 0 16px -4px;
  position:relative; z-index:1;
}
.division-card__icon svg{ width:100%; height:100%; display:block; }

/* Wordmark block: RELIANCE line + division subtitle right-aligned under it */
.division-card__wordmark{
  display:inline-flex; flex-direction:column; align-items:flex-end;
  gap:4px; margin:0 0 16px;
  position:relative; z-index:1;
  align-self:flex-start;
}
.division-card__wm{
  display:block; height:26px;
  color:var(--card-accent, #1F2C59); /* drives the R accent */
}
.division-card__wm svg{ height:100%; width:auto; display:block; }
.division-card__sub{
  font-family:var(--font-body);
  font-size:16px; font-weight:800; letter-spacing:0.02em; line-height:1;
  color:var(--card-accent, #1F2C59);
  text-transform:uppercase;
}
/* ClearVet uses its own logotype — hide the RELIANCE line, wordmark grows */
.division-card--clearvet .division-card__wm{ height:34px; }
.division-card--clearvet .division-card__sub{
  font-size:11px; letter-spacing:0.16em; color:#0F1116; font-weight:700;
}

/* Real division logotype block (replaces __icon + __wordmark) */
.division-card__logo{
  display:flex; align-items:center;
  height:72px;
  margin:0 0 24px;
  position:relative; z-index:1;
}
.division-card__logo-img{
  height:100%; width:auto; max-width:100%;
  object-fit:contain; object-position:left center;
  display:block;
}
/* Per-division height tuning to keep visual balance */
.division-card--clearvet .division-card__logo{ height:64px; gap:4px; }
.division-card--edi .division-card__logo{ height:68px; }

/* Standalone check mark that sits before the ClearVet wordmark */
.division-card__logo-mark{
  height:72%; width:auto;
  object-fit:contain; object-position:center;
  display:block;
  mix-blend-mode:multiply; /* dissolves the white JPG background against the card */
  flex:0 0 auto;
  margin-right:-4px; /* tighten to the wordmark */
}

@media (max-width:720px){
  .division-card__logo{ height:60px; }
  .division-card--clearvet .division-card__logo{ height:54px; gap:4px; }
}

.division-card__badge{ display:none; }
.division-card__h{
  font-size:19px; font-weight:700; line-height:1.25; letter-spacing:-0.01em;
  color:#0F1116;
  margin:0 0 10px;
}
.division-card__p{
  font-size:15px; line-height:1.55; color:#2d323d;
  margin:0 0 20px;
  flex:1;
  position:relative; z-index:1;
}
.division-card__cta{
  font-size:14px; font-weight:600; color:var(--card-accent, #1F2C59);
  align-self:flex-start;
  position:relative; z-index:1;
}

/* Decorative topographic contour lines in bottom-right */
.division-card__topo{
  position:absolute; right:0; bottom:0; width:180px; height:120px;
  color:var(--card-accent, #1F2C59);
  opacity:0.28;
  pointer-events:none;
}
.division-card__topo svg{ width:100%; height:100%; display:block; }
.division-card--exchange{ --card-accent:#983820; --card-tint:rgba(152,56,32,0.10); }
.division-card--edi{      --card-accent:#78C040; --card-tint:rgba(120,192,64,0.10); }
.division-card--conduit{  --card-accent:#4070B8; --card-tint:rgba(64,112,184,0.10); }
.division-card--clearvet{ --card-accent:#109850; --card-tint:rgba(16,152,80,0.10); }
.division-card--data{     --card-accent:#C07840; --card-tint:rgba(192,120,64,0.10); }
.division-card--vantage{  --card-accent:#684098; --card-tint:rgba(104,64,152,0.10); }

/* ============================================================
   THEME: VANTAGE  (accent = purple #684098)
   ============================================================ */
.theme-vantage .accent--blue{ color:#222222; }
.theme-vantage .btn--primary{ background:#1F2C59; border-color:#1F2C59; color:#fff; }
.theme-vantage .btn--primary:hover{ background:#192347; border-color:#192347; }
.theme-vantage .nav__logo svg rect{ fill:#1F2C59; }
.theme-vantage .edi-stat__num{ color:#1F2C59; }
.theme-vantage .nav__dd-item--active{ background:rgba(104,64,152,0.10); }
.theme-vantage .nav__dd-item--active .nav__dd-title{ color:#1F2C59; }

/* ============================================================
   THEME: RELIANCE EXCHANGE  (accent = slate #983820)
   ============================================================ */
.theme-exchange .accent--blue{ color:#222222; }
.theme-exchange .btn--primary{ background:#1F2C59; border-color:#1F2C59; color:#fff; }
.theme-exchange .btn--primary:hover{ background:#192347; border-color:#192347; }
.theme-exchange .nav__logo svg rect{ fill:#1F2C59; }
.theme-exchange .edi-stat__num{ color:#1F2C59; }
.theme-exchange .nav__dd-item--active{ background:rgba(152,56,32,0.12); }
.theme-exchange .nav__dd-item--active .nav__dd-title{ color:#1F2C59; }
/* Exchange dashboard mockup accents (dashboard-only — page theme stays slate) */
.theme-exchange .shot__mark{ background:#1F2C59; }
.theme-exchange .shot__nav li.is-active{ background:#DBEAFE; color:#1F2C59; }
.theme-exchange .dash__brand-ico{ background:#1F2C59; }
.theme-exchange .dash__nav-item--active{ background:#1F2C59; }
.theme-exchange .dash__tab--active{ background:#1F2C59; }
.theme-exchange .dash__crumb-txt{ color:#1F2C59; }
.theme-exchange .trend__line{ stroke:#1F2C59; }
.theme-exchange .trend__pt circle, .theme-exchange .trend__pt ellipse{ fill:#1F2C59; }
.theme-exchange .jamf__brand-mark{ background:#1F2C59; }

/* Scale down dashboard graphic on Exchange page so the whole thing fits in the viewport
   without vertical scrolling. Uniform zoom via CSS zoom preserves aspect ratio AND
   shrinks both width and height, so the layout box collapses with it (no leftover
   whitespace). Exchange's dashboard has three stacked content rows so it needs a
   more aggressive scale-down than Conduit's. */
.theme-exchange .shot__card .dash{ zoom: 0.78; }
/* Counteract zoom on small sub-copy so meta labels stay readable */
.theme-exchange .shot__card .kpi__meta{ font-size:13.5px; }
.theme-exchange .shot__card .kpi__label{ font-size:12px; }
/* Recent Transactions text bumped to match meta sizing */
.theme-exchange .shot__card .rt__name{ font-size:14px; }
.theme-exchange .shot__card .rt__sku{ font-size:13.5px; }
.theme-exchange .shot__card .rt__amt{ font-size:14px; }
.theme-exchange .shot__card .rt__date{ font-size:13px; }
/* Tighten Recent Transactions so it matches height of Top Products and Revenue by Customer */
.theme-exchange .shot__card .rt li{ padding:4px 0; }
.theme-exchange .shot__card .rt__sku{ margin-top:0; }
.theme-exchange .shot__card .rt__date{ margin-top:0; }

/* ============================================================
   THEME: RELIANCE DATA  (accent = plum #C07840)
   ============================================================ */
.theme-data .accent--blue{ color:#222222; }
.theme-data .btn--primary{ background:#1F2C59; border-color:#1F2C59; color:#fff; }
.theme-data .btn--primary:hover{ background:#192347; border-color:#192347; }
.theme-data .nav__logo svg rect{ fill:#1F2C59; }
.theme-data .edi-stat__num{ color:#1F2C59; }
.theme-data .nav__dd-item--active{ background:rgba(192,120,64,0.10); }
.theme-data .nav__dd-item--active .nav__dd-title{ color:#1F2C59; }

/* ============================================================
   CLEARVET APP MOCK  (.cvapp)
   Dark sidebar + light main pane, mirroring the reference UI.
   ============================================================ */
.cvapp__card {
  padding: 0;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 30px 60px -20px rgba(20,25,40,.25), 0 0 0 1px rgba(0,0,0,.04);
  background: #fff;
}
.cvapp {
  display: grid;
  grid-template-columns: 220px 1fr;
  min-height: 620px;
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #0f1116;
}

/* --- Sidebar --- */
.cvapp__side {
  background: #0f1116;
  color: #d9dbe0;
  padding: 20px 14px 20px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}
.cvapp__brand {
  padding: 4px 10px 22px;
  color: #fff;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.01em;
  display: flex; align-items: baseline;
}
.cvapp__brand-word { display: inline-flex; align-items: baseline; }
.cvapp__brand-check {
  color: #7fdb8a;
  font-size: 20px;
  margin: 0 -1px;
  line-height: 1;
  transform: translateY(-1px);
}
.cvapp__group {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #6f7381;
  padding: 14px 10px 6px;
  font-weight: 600;
}
.cvapp__navitem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 8px;
  color: #cfd2d9;
  font-size: 13.5px;
  cursor: pointer;
  transition: background .15s;
}
.cvapp__navitem:hover { background: #1a1d26; }
.cvapp__navitem--between { justify-content: space-between; }
.cvapp__navitem--between > span:first-child { display: inline-flex; align-items: center; gap: 10px; }
.cvapp__navitem--active {
  background: rgba(127,219,138,0.10);
  color: #7fdb8a;
  font-weight: 500;
}
.cvapp__navico { display: inline-flex; width: 16px; justify-content: center; opacity: .85; }
.cvapp__navitem--active .cvapp__navico { opacity: 1; }
.cvapp__chev-r { color: #6f7381; font-size: 18px; line-height: 1; }

/* Account block at bottom */
.cvapp__side::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: 62px;
  height: 1px;
  background: #22242e;
}

/* --- Main pane --- */
.cvapp__main {
  padding: 22px 26px 26px;
  background: #fff;
  overflow: hidden;
}

/* Header */
.cvapp__header {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 14px;
}
.cvapp__header-ico {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: #fef4dd;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cvapp__header-title {
  font-size: 18px;
  font-weight: 700;
  color: #0f1116;
  margin: 0 0 2px;
  letter-spacing: -0.01em;
}
.cvapp__header-sub {
  font-size: 13px;
  color: #6b6f78;
  margin: 0;
}

/* Search */
.cvapp__search { margin-top: 14px; }
.cvapp__search-label {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #7f838d;
  font-weight: 600;
  margin-bottom: 6px;
}
.cvapp__search-input {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #e5e7ec;
  border-radius: 8px;
  padding: 10px 12px;
  color: #a4a8b1;
  font-size: 13.5px;
  background: #fff;
}

/* Result count + pager */
.cvapp__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0 8px;
  border-bottom: 1px solid #eef0f4;
}
.cvapp__meta-count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #4d525b;
}
.cvapp__meta-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  border-radius: 999px;
  background: #fef4dd;
  color: #b6801a;
  font-size: 11px;
  font-weight: 700;
}
.cvapp__pager {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6b6f78;
}
.cvapp__pg-btn {
  width: 22px; height: 22px;
  border-radius: 6px;
  border: 1px solid #e5e7ec;
  display: inline-flex; align-items: center; justify-content: center;
  color: #6b6f78;
  cursor: pointer;
}
.cvapp__pg-txt { padding: 0 4px; }

/* Table */
.cvapp__table {
  padding-top: 4px;
  font-size: 13px;
}
.cvapp__thead,
.cvapp__row {
  display: grid;
  grid-template-columns: 2fr 1fr 0.6fr 0.9fr 1fr 1fr 1.2fr;
  align-items: center;
  padding: 12px 4px;
  gap: 8px;
}
.cvapp__thead {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #7f838d;
  font-weight: 600;
  border-bottom: 1px solid #eef0f4;
  padding: 12px 4px 10px;
}
.cvapp__thead-right { text-align: right; }
.cvapp__row {
  color: #2a2f3a;
  border-bottom: 1px solid #f5f6f9;
}
.cvapp__row--expanded {
  background:
    radial-gradient(ellipse 90% 140% at 50% 50%, rgba(15,17,22,0.045) 0%, rgba(15,17,22,0.02) 45%, rgba(15,17,22,0) 75%);
  border-bottom-color: transparent;
  border-radius: 8px;
}
.cvapp__cell-name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}
.cvapp__star { color: #f2b134; font-size: 15px; }
.cvapp__chev-d { color: #7f838d; font-size: 10px; }
.cvapp__license-num {
  color: #6b6f78;
  display: inline-flex; align-items: center; gap: 6px;
}
.cvapp__copy { color: #b6b9c1; font-size: 12px; cursor: pointer; }
.cvapp__status {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid #b4e3bf;
  color: #2f9e56;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.cvapp__row-right {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.cvapp__reverify {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e2e4ea;
  color: #3a3f49;
  font-size: 12px;
  cursor: pointer;
  font-weight: 500;
}
.cvapp__quota {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eaf7ec;
  color: #2f9e56;
  font-size: 11px;
  font-weight: 700;
}

/* Detail sub-panel */
.cvapp__detail {
  border: 1px solid #eceef3;
  border-radius: 10px;
  padding: 16px 18px 18px;
  margin-top: 12px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(15,17,22,0.04), 0 8px 24px -6px rgba(15,17,22,0.08), 0 20px 40px -12px rgba(15,17,22,0.06);
}
.cvapp__detail-crumbs {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-bottom: 14px;
  color: #6b6f78;
  font-size: 12px;
}
.cvapp__detail-crumb b { color: #0f1116; margin-right: 2px; }
.cvapp__detail-dot { color: #c0c3ca; }
.cvapp__detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 32px;
}
.cvapp__detail-label {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #8f939c;
  font-weight: 600;
  margin-bottom: 4px;
}
.cvapp__detail-value {
  font-size: 13.5px;
  color: #0f1116;
  font-weight: 600;
}

/* ============================================================
   CLEARVET COVERAGE CARD  (.cvmap)
   Sits to the right of feature copy, matches feat-split grid
   ============================================================ */
.cvmap {
  display: flex;
  align-items: center;
}
.cvmap__card {
  width: 100%;
  background: #fff;
  border: 1px solid #e5e7ec;
  border-radius: 14px;
  padding: 22px 22px 20px;
  box-shadow: 0 20px 40px -25px rgba(20,25,40,.20);
}
.cvmap__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid #eef0f4;
  margin-bottom: 16px;
}
.cvmap__eyebrow {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: #109850;
}
.cvmap__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(16,152,80,0.08);
  color: #109850;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.cvmap__pill-dot {
  width: 6px; height: 6px;
  border-radius: 999px;
  background: #109850;
}
.cvmap__grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 6px;
}
.cvmap__grid > span {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  background: rgba(16,152,80,0.06);
  border: 1px solid rgba(16,152,80,0.16);
  color: #027a42;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.cvmap__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #eef0f4;
}
.cvmap__stat b {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #0f1116;
  letter-spacing: -0.01em;
}
.cvmap__stat span {
  font-size: 11px;
  color: #6b6f78;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 2px;
}

/* Mobile fallback for the app mock */
@media (max-width: 900px) {
  .cvapp { grid-template-columns: 1fr; }
  .cvapp__side { display: none; }
  .cvapp__thead,
  .cvapp__row { grid-template-columns: 2fr 1fr 1fr; }
  .cvapp__thead > span:nth-child(n+4),
  .cvapp__row > span:nth-child(n+4) { display: none; }
  .cvmap__grid { grid-template-columns: repeat(5, 1fr); }
}

/* ============================================================
   CLEARVET · "What verification looks like" section
   ============================================================ */
.cv-verif { display: flex; flex-direction: column; gap: 36px; }
.cv-verif__intro { max-width: 720px; }
.cv-verif__eyebrow {
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.14em;
  font-weight: 600;
  color: #6b6f78;
  margin-bottom: 14px;
}
.cv-verif__lede {
  font-size: 20px;
  line-height: 1.45;
  color: #4d525b;
  margin: 0;
  letter-spacing: -0.005em;
}
.cv-verif__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.cv-verif__card {
  position: relative;
  background: #f6f7fa;
  border: 1px solid #eceef3;
  border-radius: 16px;
  padding: 34px 30px 32px;
  min-height: 220px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cv-verif__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -28px rgba(20,25,40,0.25);
}
.cv-verif__rule {
  display: block;
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: #0f1116;
  margin-bottom: 22px;
}
.cv-verif__h {
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0f1116;
  margin: 0 0 14px;
}
.cv-verif__p {
  font-size: 15px;
  line-height: 1.55;
  color: #5a5f68;
  margin: 0;
}
/* Accent card = ClearVet green outline + tinted fill */
.cv-verif__card--accent {
  background: rgba(16,152,80,0.04);
  border: 1.5px solid #109850;
}
.cv-verif__card--accent .cv-verif__rule { background: #109850; }
.cv-verif__card--accent .cv-verif__h { color: #027a42; }

@media (max-width: 900px) {
  .cv-verif__grid { grid-template-columns: 1fr; }
  .cv-verif__lede { font-size: 17px; }
  .cv-verif__h { font-size: 24px; }
}

/* ============ YOUR DATABASE GRAPHIC ============ */
.yourdb { display: block; }
.yourdb__copy { max-width: 720px; margin-bottom: 40px; }
.yourdb__h { font-size: clamp(32px, 4vw, 56px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; margin: 0 0 14px; color: #0f1116; }
.yourdb__p { font-size: 17px; line-height: 1.55; color: #4a4f5a; max-width: 620px; margin: 0; }

.yourdb__diagram {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 40px;
  align-items: start;
  padding: 32px 8px;
  min-height: 460px;
}
.yourdb__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 14px;
  display: inline-block;
  z-index: 2;
  opacity: 0.85;
}
.yourdb__arrow svg { width: 100%; height: 100%; display: block; }
.yourdb__arrow--l { left: calc(30.5% + 4px); }
.yourdb__arrow--r { left: calc(66.5% - 4px); }
.yourdb__col { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; }
.yourdb__cap {
  font-size: 11px;
  letter-spacing: 0.01em;
  font-weight: 700;
  color: #8f939c;
  padding-left: 2px;
}

/* Left: sources */
.yourdb__sources { display: flex; flex-direction: column; gap: 10px; }
.yourdb__src {
  display: flex; align-items: center; gap: 10px;
  background: #fff;
  border: 1px solid #eceef3;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  color: #4a4f5a;
  box-shadow: 0 1px 2px rgba(15,17,22,0.03);
}
.yourdb__badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 32px; height: 22px;
  padding: 0 6px;
  background: #f4f6f9;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
  color: #0f1116;
  letter-spacing: 0.04em;
}
.yourdb__srctxt { color: #6b6f78; }

/* Center: database card */
.yourdb__db {
  background: #fff;
  border: 1px solid #eceef3;
  border-radius: 14px;
  padding: 4px;
  box-shadow: 0 1px 2px rgba(15,17,22,0.04), 0 10px 24px -8px rgba(16,152,80,0.14), 0 24px 48px -16px rgba(15,17,22,0.10);
  overflow: hidden;
}
.yourdb__db-hdr {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #f2f4f7;
}
.yourdb__db-title { font-size: 13px; font-weight: 700; color: #0f1116; }
.yourdb__db-count {
  font-size: 11px; font-weight: 700; letter-spacing: 0.05em;
  color: #027a42;
  background: rgba(16,152,80,0.08);
  padding: 3px 8px; border-radius: 999px;
}
.yourdb__db-row {
  display: grid;
  grid-template-columns: 1.3fr 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #f5f6f9;
  font-size: 13px;
}
.yourdb__db-row:last-child { border-bottom: 0; }
.yourdb__db-name { font-weight: 600; color: #0f1116; }
.yourdb__db-lic { color: #6b6f78; font-variant-numeric: tabular-nums; }
.yourdb__db-pill {
  font-size: 10px; letter-spacing: 0.06em; font-weight: 700;
  color: #027a42;
  border: 1px solid rgba(16,152,80,0.35);
  background: rgba(16,152,80,0.04);
  padding: 3px 8px; border-radius: 999px;
}
.yourdb__db-pill--warn {
  color: #a86a00;
  border-color: rgba(217,140,0,0.35);
  background: rgba(217,140,0,0.06);
}

/* Right: internal IDs */
.yourdb__ids { display: flex; flex-direction: column; gap: 10px; }
.yourdb__id {
  display: flex; align-items: center; justify-content: space-between;
  background: #fff;
  border: 1px solid #eceef3;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  box-shadow: 0 1px 2px rgba(15,17,22,0.03);
}
.yourdb__idk {
  font-size: 10px; letter-spacing: 0.12em; font-weight: 700;
  color: #8f939c;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.yourdb__idv {
  font-weight: 700; color: #0f1116;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 0.02em;
}

/* Responsive: stack columns on mobile */
@media (max-width: 900px) {
  .yourdb__diagram { grid-template-columns: 1fr; gap: 20px; min-height: 0; }
  .yourdb__arrow { display: none; }
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-hero{ padding:120px 0 56px; background:#fff; position:relative; overflow:hidden; }
.about-hero .container{ position:relative; z-index:1; }
.about-hero__texture{
  position:absolute; top:0; right:0; bottom:0; width:480px;
  color:#1F2C59; opacity:0.4; pointer-events:none; z-index:0;
  -webkit-mask-image: radial-gradient(circle at 0% 100%, transparent 0%, transparent 34%, #000 68%);
  mask-image: radial-gradient(circle at 0% 100%, transparent 0%, transparent 34%, #000 68%);
}
.about-hero__texture svg{ width:100%; height:100%; display:block; }
@media (max-width:900px){ .about-hero__texture{ display:none; } }
.about-hero__eyebrow{
  font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:#1F2C59; margin-bottom:16px;
}
.about-hero__h1{
  font-size:clamp(34px, 5vw, 60px); line-height:1.05; letter-spacing:-0.02em;
  color:#222222; margin:0 0 24px; font-weight:900; max-width:22ch;
}
.about-hero__lede{
  font-size:clamp(18px, 2vw, 24px); line-height:1.55; color:#4b5563;
  max-width:62ch; margin:0;
}

/* ---- TEAM ---- */
.team{ padding:80px 0 120px; background:#fff; }
.team__eyebrow{
  font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:#1F2C59; margin-bottom:14px;
}
.team__h2{
  font-size:clamp(28px, 3.4vw, 44px); line-height:1.1; letter-spacing:-0.02em;
  color:#222222; margin:0 0 40px; font-weight:800;
}
.team__grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:32px 28px;
}
.team__card{
  display:flex; flex-direction:column;
  transition:transform 220ms cubic-bezier(.2,.7,.2,1);
}
.team__card:hover{ transform:translateY(-4px); }
.team__photo{
  aspect-ratio:1/1; width:100%;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; margin-bottom:16px;
  box-shadow: 0 1px 2px rgba(15,17,22,0.06), 0 8px 24px -12px rgba(15,17,22,0.15);
}
.team__photo:has(img){ border:1px solid rgba(15,23,42,0.22); }
.team__title-row{
  display:flex; align-items:center; gap:8px; margin:0 0 4px;
}
.team__title-row .team__name{ margin:0; }
.team__arrow{
  display:inline-flex; align-items:center; justify-content:center;
  color:#7A8CA3;
  transition: color 0.18s ease, transform 0.18s ease;
  flex-shrink:0;
}
.team__card:hover .team__arrow{
  color:#1F2C59; transform: translateX(2px);
}
/* Placeholder gradient variants — replace with real <img src="..."> later */
.team__photo--a{ background:linear-gradient(135deg, #DBEAFE 0%, #93C5FD 100%); color:#1D4ED8; }
.team__photo--b{ background:linear-gradient(135deg, #E9D5FF 0%, #C4B5FD 100%); color:#5B21B6; }
.team__photo--c{ background:linear-gradient(135deg, #FED7AA 0%, #FDBA74 100%); color:#9A3412; }
.team__photo--d{ background:linear-gradient(135deg, #BBF7D0 0%, #86EFAC 100%); color:#166534; }
.team__initials{
  font-size:44px; font-weight:800; letter-spacing:-0.02em;
  opacity:0.55;
}
.team__photo img{ width:100%; height:100%; object-fit:cover; }
.team__name{
  font-size:18px; font-weight:700; letter-spacing:-0.01em;
  color:#222222; margin:0 0 4px;
}
.team__title{
  font-size:14px; color:#6b7280; margin:0; line-height:1.4;
}

@media (max-width: 1100px){
  .team__grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 820px){
  .team__grid{ grid-template-columns:repeat(2, 1fr); gap:32px 20px; }
  .about-hero{ padding:96px 0 40px; }
  .team{ padding:56px 0 96px; }
}
@media (max-width: 480px){
  .team__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   ABOUT · STORY
   ============================================================ */
.story{ padding:64px 0 80px; background:#F8FAFC; border-top:1px solid #E5E7EB; }
.story__inner{
  display:grid; grid-template-columns:180px minmax(0, 1fr); gap:56px; align-items:start;
}
.story__col--label{ padding-top:6px; }

/* HQ photo graphic */
.hqphoto{ margin:0; }
.hqphoto__frame{
  border-radius:14px; overflow:hidden;
  background:#0f1116;
  aspect-ratio: 3 / 2;
  box-shadow:
    0 1px 2px rgba(15,17,22,0.06),
    0 18px 40px -20px rgba(15,17,22,0.35);
  border:1px solid #e5e7eb;
}
.hqphoto__img{
  display:block; width:100%; height:100%;
  object-fit:cover;
  transition: transform 0.6s cubic-bezier(.2,.7,.3,1);
}
.hqphoto:hover .hqphoto__img{ transform: scale(1.02); }
.hqphoto__cap{
  display:flex; flex-direction:column; gap:2px;
  margin-top:14px; padding:0 2px;
}
.hqphoto__cap-title{
  font-size:14px; font-weight:700; color:#0f1116; letter-spacing:-0.01em;
}
.hqphoto__cap-sub{
  font-size:13px; color:#6b7280; line-height:1.5;
}
.hqphoto__cap-credit{
  margin-top:6px; font-size:11px; color:#9ca3af; letter-spacing:0.01em;
}
.hqphoto__cap-credit a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.hqphoto__cap-credit a:hover{ color:#374151; }
.story__eyebrow{
  font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:#7A8CA3;
}
.story__h2{
  font-size:clamp(28px, 3.2vw, 40px); line-height:1.15; letter-spacing:-0.02em;
  color:#222222; margin:0 0 24px; font-weight:700; max-width:26ch;
}
.story__p{
  font-size:17px; line-height:1.65; color:#374151; margin:0 0 18px; max-width:64ch;
}
.story__p:last-child{ margin-bottom:0; }

@media (max-width: 1100px){
  .story__inner{ grid-template-columns:160px minmax(0, 1fr); gap:40px; }
}
@media (max-width: 900px){
  .story{ padding:56px 0 64px; }
  .story__inner{ grid-template-columns:1fr; gap:20px; }
  .story__col--label{ padding-top:0; }
}

/* ============================================================
   ABOUT · TIMELINE
   ============================================================ */
.timeline{ padding:96px 0 96px; background:#fff; }
.timeline__head{ margin-bottom:56px; }
.timeline__eyebrow{
  font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:#1F2C59; margin-bottom:14px;
}
.timeline__h2{
  font-size:clamp(28px, 3.4vw, 44px); line-height:1.1; letter-spacing:-0.02em;
  color:#222222; margin:0; font-weight:800;
}

/* Horizontal rail — scrolls when milestones overflow container width */
.timeline__rail{ position:relative; margin:0 -8px; }
.timeline__list{
  list-style:none; padding:0 8px 12px; margin:0;
  position:relative;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(200px, 1fr);
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scroll-padding-left:8px;
  scroll-padding-right:8px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.timeline__list::-webkit-scrollbar{ display:none; height:0; }
.timeline__list::before{
  content:""; position:absolute;
  left:17px; top:53px; height:2px;
  /* Width is set by JS to match scrollWidth so line spans the full scroll content. */
  width: var(--timeline-line-w, calc(100% - 34px));
  background:#1F2C59;
  z-index:0;
}

/* Edge fades — signal more milestones off-screen */
.timeline__fade{
  position:absolute; top:0; bottom:12px; width:64px;
  pointer-events:none; z-index:2; opacity:1;
  transition:opacity 0.25s ease;
}
.timeline__fade--left{ left:0; background:linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%); }
.timeline__fade--right{ right:0; background:linear-gradient(to left, #fff 0%, rgba(255,255,255,0) 100%); }
.timeline__rail.is-at-start .timeline__fade--left,
.timeline__rail.no-scroll .timeline__fade--left{ opacity:0; }
.timeline__rail.is-at-end .timeline__fade--right,
.timeline__rail.no-scroll .timeline__fade--right{ opacity:0; }

/* Prev/next controls */
.timeline__nav{
  position:absolute; top:53px; transform:translateY(-50%);
  left:auto; width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #e5e7eb; color:#1F2C59;
  box-shadow:0 4px 14px rgba(15,17,22,0.10);
  cursor:pointer; z-index:3; padding:0;
  transition:background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, opacity 0.2s ease;
}
.timeline__nav:hover{ background:#1F2C59; color:#fff; box-shadow:0 8px 20px rgba(31,44,89,0.28); }
.timeline__nav--prev{ left:6px; }
.timeline__nav--next{ right:6px; }
.timeline__rail.is-at-start .timeline__nav--prev,
.timeline__rail.is-at-end .timeline__nav--next,
.timeline__rail.no-scroll .timeline__nav{ opacity:0; pointer-events:none; }

.timeline__item{ scroll-snap-align:start; }
.timeline__item{
  position:relative;
  padding-top:70px;
  min-width:0;
  transition:transform 0.2s ease;
}
.timeline__item:hover{ transform:translateY(-3px); }
/* Node */
.timeline__item::before{
  content:""; position:absolute;
  left:0; top:44px;
  width:18px; height:18px; border-radius:50%;
  background:#1F2C59; border:3px solid #1F2C59;
  box-shadow:0 0 0 4px rgba(31,44,89,0.10);
  z-index:1;
  transition:box-shadow 0.2s ease;
}
.timeline__item:hover::before{ box-shadow:0 0 0 6px rgba(31,44,89,0.18); }
.timeline__year{
  position:absolute; top:0; left:0;
  font-size:18px; font-weight:800; color:#1F2C59;
  letter-spacing:-0.01em;
}
.timeline__card{
  padding:0;
}
.timeline__title{
  font-size:16px; font-weight:700; letter-spacing:-0.01em;
  color:#222222; margin:0 0 6px; line-height:1.25;
  transition:color 0.2s ease;
}
.timeline__item:hover .timeline__title{ color:#1F2C59; }
.timeline__desc{
  font-size:14px; line-height:1.55; color:#4b5563; margin:0;
}

/* Latest milestone emphasis */
.timeline__item--latest::before{
  box-shadow:0 0 0 6px rgba(31,44,89,0.16);
}
.timeline__item--latest:hover::before{ box-shadow:0 0 0 8px rgba(31,44,89,0.22); }
.timeline__latest-tag{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.01em;
  color:#1F2C59; background:rgba(31,44,89,0.10);
  padding:3px 9px; border-radius:999px; margin-bottom:8px;
}

@media (max-width: 1100px){
  .timeline__list{
    grid-auto-columns:minmax(180px, 1fr);
  }
}
@media (max-width: 720px){
  .timeline{ padding:64px 0 72px; }
  .timeline__list{
    grid-auto-columns:minmax(220px, 1fr);
    gap:20px;
  }
  .timeline__nav{ display:none; }
  .timeline__fade{ width:36px; }
}

/* ============================================================
   CLEARVET APP MOCK v2  (.cv2)
   Light-themed license lookup with results + verification panel
   ============================================================ */
.cv2__card {
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 30px 60px rgba(6, 24, 44, 0.10), 0 2px 6px rgba(6, 24, 44, 0.06);
  border: 1px solid #e6ebf1;
}
.cv2 {
  display: grid;
  grid-template-columns: 188px 1fr;
  min-height: 520px;
  font-family: 'Avenir Next', 'Avenir', 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #111827;
  background: #ffffff;
}

/* -------- Sidebar -------- */
.cv2__side {
  background: #f7f9fb;
  border-right: 1px solid #eaeef3;
  padding: 20px 12px;
}
.cv2__brand {
  padding: 6px 8px 22px;
  font-family: 'Avenir Next', 'Avenir', 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  line-height: 1;
}
.cv2__brand-clear { color: #0f2544; }
.cv2__brand-vet {
  color: #3fa66a;
  position: relative;
  display: inline-block;
}
.cv2__brand-check {
  position: absolute;
  top: -6px;
  left: -1px;
  width: 22px;
  height: 16px;
  overflow: visible;
  pointer-events: none;
}
.cv2__group {
  font-size: 10px;
  font-weight: 600;
  color: #98a2b3;
  letter-spacing: 0.14em;
  padding: 0 8px 8px;
}
.cv2__nav {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #1e3a5f;
  margin-bottom: 2px;
  cursor: default;
}
.cv2__nav svg { flex: 0 0 auto; color: #1e3a5f; }
.cv2__nav:hover { background: #eef2f7; color: #0f1f36; }
.cv2__nav:hover svg { color: #0f1f36; }
.cv2__nav--active,
.cv2__nav--active:hover {
  background: #e6eef8;
  color: #0f1f36;
  font-weight: 600;
}
.cv2__nav--active svg,
.cv2__nav--active:hover svg { color: #0f1f36; }

/* -------- Main pane -------- */
.cv2__main {
  padding: 20px 24px 22px;
  min-width: 0;
}

/* Top bar */
.cv2__topbar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
}
.cv2__searchbar { max-width: 400px; width: 100%; }
.cv2__topbar-label {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin-right: 4px;
}
.cv2__state {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid #d5dbe4;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  min-width: 62px;
}
.cv2__searchbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid #d5dbe4;
  border-radius: 10px;
  font-size: 13px;
  color: #111827;
  position: relative;
  min-width: 0;
}
.cv2__searchbar-ico { flex: 0 0 auto; }
.cv2__searchbar-value { font-weight: 500; color: #111827; }
.cv2__caret {
  display: inline-block;
  width: 1.5px;
  height: 14px;
  background: #111827;
  margin-left: 1px;
  vertical-align: -3px;
  animation: cv2blink 1s steps(1) infinite;
}
@keyframes cv2blink { 50% { opacity: 0; } }
.cv2__searchbar-scope {
  margin-left: auto;
  font-size: 11px;
  color: #6b7280;
  background: #f3f4f6;
  padding: 4px 10px;
  border-radius: 999px;
}

/* Meta strip */
.cv2__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 4px;
  border-top: 1px solid #eef1f5;
  gap: 12px;
  flex-wrap: wrap;
}
.cv2__meta-count {
  font-size: 12px;
  color: #6b7280;
  font-weight: 500;
}
.cv2__legend {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-size: 11.5px;
  color: #4b5563;
  flex-wrap: wrap;
}
.cv2__lg { display: inline-flex; align-items: center; gap: 6px; }
.cv2__lg--sort { color: #111827; font-weight: 500; margin-left: 4px; }
.cv2__dot {
  width: 8px; height: 8px; border-radius: 50%;
  display: inline-block;
}
.cv2__dot--red   { background: #dc2626; }
.cv2__dot--amber { background: #e0a935; }
.cv2__dot--green { background: #109850; }

/* Body grid: table + summary */
.cv2__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
  padding-top: 6px;
}

/* Table */
.cv2__table {
  min-width: 0;
}
.cv2__thead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px 44px 110px 140px;
  gap: 12px;
  padding: 10px 12px;
  font-size: 10.5px;
  font-weight: 600;
  color: #6b7280;
  letter-spacing: 0.10em;
  border-bottom: 1px solid #eef1f5;
}
.cv2__th-r { text-align: right; }
.cv2__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px 44px 110px 140px;
  gap: 12px;
  padding: 14px 12px;
  border-bottom: 1px solid #f0f2f5;
  align-items: center;
  position: relative;
}
.cv2__row::before {
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 3px;
  border-radius: 3px;
  background: transparent;
}
.cv2__row--rail-green::before { background: #0A84FF; } /* selected row uses blue rail per screenshot */
.cv2__row--rail-amber::before { background: #e0a935; }
.cv2__row--rail-red::before   { background: #dc2626; }
.cv2__row--sel {
  background: #f6faff;
}
.cv2__prof-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
}
.cv2__prof-sub {
  font-size: 11.5px;
  color: #6b7280;
  margin-top: 2px;
  line-height: 1.3;
}
.cv2__lic {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  color: #111827;
  text-align: right;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.cv2__st {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12.5px;
  color: #374151;
  font-weight: 600;
}
.cv2__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 500;
}
.cv2__pill-dot {
  width: 6px; height: 6px; border-radius: 50%;
  display: inline-block;
}
.cv2__pill--green { background: #e6f6ec; color: #027a41; }
.cv2__pill--green .cv2__pill-dot { background: #109850; }
.cv2__pill--amber { background: #fdf3d9; color: #8a6209; }
.cv2__pill--amber .cv2__pill-dot { background: #e0a935; }
.cv2__pill--red   { background: #fde7e7; color: #a11d1d; }
.cv2__pill--red .cv2__pill-dot { background: #dc2626; }
.cv2__exp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cv2__exp-date {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12.5px;
  color: #111827;
  letter-spacing: 0.02em;
}
.cv2__exp-run {
  font-size: 11px;
  margin-top: 2px;
  font-weight: 600;
}
.cv2__exp-run--green { color: #109850; }
.cv2__exp-run--amber { color: #b47605; }
.cv2__exp-run--red   { color: #b41d1d; }

/* Summary panel */
.cv2__summary {
  padding-top: 6px;
  min-width: 0;
}
.cv2__sum-label {
  font-size: 10.5px;
  font-weight: 600;
  color: #6b7280;
  letter-spacing: 0.14em;
}
.cv2__sum-name {
  font-size: 22px;
  font-weight: 800;
  color: #111827;
  margin: 10px 0 4px;
  line-height: 1.15;
}
.cv2__sum-board {
  font-size: 12.5px;
  color: #4b5563;
  margin-bottom: 14px;
}
.cv2__sum-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px 16px 14px;
  background: #ffffff;
}
.cv2__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}
.cv2__checks li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
}
.cv2__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
}
.cv2__check-lbl { color: #1f2937; font-weight: 500; }
.cv2__check-val { color: #6b7280; font-size: 12px; }

/* Clear-to-ship inner card */
.cv2__clear {
  background: #eaf7f0;
  border: 1px solid #bfe0cf;
  border-radius: 10px;
  padding: 14px 12px;
  text-align: center;
  margin-bottom: 14px;
}
.cv2__clear-title {
  font-size: 15px;
  font-weight: 800;
  color: #027a41;
  letter-spacing: 0.06em;
}
.cv2__clear-sub {
  font-size: 11.5px;
  color: #109850;
  margin-top: 4px;
  font-weight: 600;
}

.cv2__sum-foot {
  padding-top: 4px;
  text-align: center;
}
.cv2__sum-foot-title {
  font-size: 12.5px;
  font-weight: 600;
  color: #111827;
}
.cv2__sum-foot-sub {
  font-size: 11.5px;
  color: #6b7280;
  margin-top: 4px;
}
.cv2__sum-verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  font-size: 11.5px;
  color: #109850;
  font-weight: 600;
}

/* -------- Responsive -------- */
@media (max-width: 1100px) {
  .cv2__body { grid-template-columns: 1fr; }
  .cv2__thead,
  .cv2__row { grid-template-columns: minmax(0, 1fr) 78px 40px 100px 130px; gap: 8px; }
}
@media (max-width: 820px) {
  .cv2 { grid-template-columns: 1fr; }
  .cv2__side { display: none; }
  .cv2__main { padding: 16px; }
  .cv2__thead { display: none; }
  .cv2__row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "prof pill"
      "meta exp";
    gap: 6px 12px;
    padding: 14px 12px 14px 14px;
  }
  .cv2__row .cv2__prof { grid-area: prof; }
  .cv2__row .cv2__status { grid-area: pill; justify-self: end; }
  .cv2__row .cv2__lic,
  .cv2__row .cv2__st { display: none; }
  .cv2__row .cv2__exp { grid-area: exp; }
  .cv2__row::before { top: 10px; bottom: 10px; }
}

/* ============================================================
   CAREERS section (About page)
   ============================================================ */
.careers {
  padding: 88px 0 96px;
  background: #ffffff;
  border-top: 1px solid #eef1f5;
}
.careers__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 56px;
  align-items: center;
}
.careers__photo {
  min-width: 0;
}
.careers__eyebrow {
  font-size: 12px;
  font-weight: 700;
  color: #1F2C59;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.careers__h2 {
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #222222;
  margin: 0 0 16px;
  line-height: 1.1;
}
.careers__p {
  font-size: 17px;
  line-height: 1.55;
  color: #4b5563;
  max-width: 620px;
  margin: 0 0 28px;
}
.careers__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  background: #1F2C59;
  color: #ffffff;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(46,90,172, 0.28);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.careers__btn:hover {
  background: #0070e6;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(46,90,172, 0.35);
}
.careers__btn:active { transform: translateY(0); }
.careers__hint {
  font-size: 12.5px;
  color: #6b7280;
  margin: 12px 0 0;
}

.careers__aside {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 22px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f8fafc;
}
.careers__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.careers__stat-k {
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}
.careers__stat-v {
  font-size: 15px;
  font-weight: 600;
  color: #222222;
}

/* Theme-aware button on other-color pages (About uses default blue accent) */
.theme-clearvet .careers__btn { background: #1F2C59; box-shadow: 0 6px 20px rgba(31,44,89, 0.28); }
.theme-clearvet .careers__btn:hover { background: #027a41; box-shadow: 0 10px 26px rgba(16, 152, 80, 0.35); }
.theme-clearvet .careers__eyebrow { color: #1F2C59; }

@media (max-width: 900px) {
  .careers { padding: 64px 0 72px; }
  .careers__inner { grid-template-columns: 1fr; gap: 32px; }
  .careers__aside { max-width: 480px; }
  .careers__photo { max-width: 380px; }
}

/* ============ TEAM CARD (as button) ============ */
button.team__card{
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  text-align: left;
  width: 100%;
  cursor: pointer;
  display: block;
  border-radius: 12px;
  transition: transform .2s ease, box-shadow .2s ease;
}
button.team__card:hover{
  transform: translateY(-2px);
}
button.team__card:focus-visible{
  outline: 2px solid var(--accent, #1F2C59);
  outline-offset: 4px;
}

/* ============ TEAM MODAL ============ */
.team-modal{
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.team-modal.is-open{ display: flex; }
.team-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(15, 20, 28, 0.55);
  backdrop-filter: blur(4px);
  animation: teamModalFade .18s ease-out;
}
.team-modal__panel{
  position: relative;
  background: #fff;
  color: #0f141c;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.28);
  max-width: 480px;
  width: 100%;
  padding: 32px;
  text-align: center;
  animation: teamModalPop .22s ease-out;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
}
.team-modal__close{
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  color: #52606d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.team-modal__close:hover{ background: #f1f3f5; color: #0f141c; }
.team-modal__photo{
  width: 128px;
  height: 128px;
  margin: 0 auto 18px;
}
.team-modal__photo .team__photo{
  width: 128px;
  height: 128px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.team-modal__photo .team__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.team-modal__photo .team__initials{
  font-size: 40px;
}
.team-modal__name{
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 4px;
  color: #0f141c;
}
.team-modal__title{
  font-size: 14px;
  color: #52606d;
  margin: 0 0 12px;
}
.team-modal__started{
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent, #1F2C59);
  background: rgba(46,90,172, 0.08);
  padding: 6px 12px;
  border-radius: 999px;
  margin: 0 0 18px;
}
.theme-exchange .team-modal__started,
.theme-edi .team-modal__started,
.theme-conduit .team-modal__started,
.theme-clearvet .team-modal__started,
.theme-reliance-data .team-modal__started,
.theme-vantage .team-modal__started{ color:#1F2C59; background: rgba(31,44,89,0.10); }
.team-modal__bio{
  font-size: 15px;
  line-height: 1.55;
  color: #303842;
  margin: 0;
  text-align: left;
}
@keyframes teamModalFade{ from{opacity:0} to{opacity:1} }
@keyframes teamModalPop{ from{opacity:0; transform: translateY(8px) scale(.98)} to{opacity:1; transform: none} }

/* ============================================================
   CONTACT PAGE (v2)
   ============================================================ */

/* Hero band - matches other page heros */
.contact2-hero{
  background: var(--bg);
  padding: 96px 0 40px;
  border-bottom: 1px solid rgba(15,23,42,0.06);
}
.contact2-hero__eyebrow{
  display:inline-block;
  font-size: 12px; font-weight:700; letter-spacing:.16em;
  color: #1F2C59;
  text-transform:uppercase;
  margin-bottom: 20px;
}
.contact2-hero__h1{
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 20px;
  max-width: 780px;
}
.contact2-hero__lede{
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
  color: var(--ink-2);
  max-width: 620px;
  margin: 0;
}

/* Form section */
.contact2{
  padding: 56px 0 96px;
  background: var(--bg);
}
.contact2-form{
  max-width: 780px;
}
/* When success card is showing, let the form expand full-width so the card can center on the page */
.contact2-form:has(.contact2-form__success:target){
  max-width: none;
}
/* Formspree _next returns to #contactSuccess / #careersSuccess — swap the fields for the card */
.contact2-form:has(.contact2-form__success:target) .contact2-form__grid,
.contact2-form:has(.contact2-form__success:target) .contact2-form__actions{
  display: none;
}
.contact2-form__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px 24px;
  margin-bottom: 32px;
}
.contact2-field{
  display:flex; flex-direction:column;
  min-width: 0;
}
.contact2-field--full{
  grid-column: 1 / -1;
}
.contact2-field__label{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 8px;
  letter-spacing: -.005em;
}
.contact2-field__opt{
  color: var(--ink-2);
  font-weight: 400;
  margin-left: 4px;
}
.contact2-field__input{
  appearance: none; -webkit-appearance: none;
  width: 100%;
  border: 1.5px solid rgba(15,23,42,0.12);
  background: #fff;
  border-radius: 10px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 15px;
  color: var(--ink);
  line-height: 1.4;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.contact2-field__input::placeholder{
  color: rgba(15,23,42,0.4);
}
.contact2-field__input:hover{
  border-color: rgba(15,23,42,0.22);
}
.contact2-field__input:focus{
  outline: none;
  border-color: var(--ink);
  box-shadow: 0 0 0 4px rgba(15,23,42,0.08);
}
.contact2-field__textarea{
  resize: vertical;
  min-height: 130px;
  line-height: 1.5;
  padding: 12px 14px;
}
.contact2-field__select-wrap{
  position: relative;
}
.contact2-field__select-wrap::after{
  content: '';
  position: absolute;
  right: 16px; top: 50%;
  width: 8px; height: 8px;
  border-right: 2px solid var(--ink-2);
  border-bottom: 2px solid var(--ink-2);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
.contact2-field__select{
  padding-right: 40px;
  cursor: pointer;
}

/* Actions */
.contact2-form__actions{
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.contact2-form__submit{
  display: inline-flex; align-items: center; gap: 10px;
  border: none;
  background: var(--ink);
  color: #fff;
  font-family: inherit;
  font-size: 15px; font-weight: 600; letter-spacing: -.005em;
  padding: 13px 22px;
  border-radius: 10px;
  cursor: pointer;
  transition: background .15s ease, transform .1s ease;
}
.contact2-form__submit:hover{ background: #1F2937; }
.contact2-form__submit:active{ transform: translateY(1px); }
.contact2-form__note{
  margin: 0;
  font-size: 13.5px;
  color: var(--ink-2);
}

/* Success */
.contact2-form__success{
  display: none;
  padding: 48px 40px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 12px;
  color: #065F46;
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.contact2-form__success:target{
  display: block;
}
.contact2-form__success-title{
  font-size: 26px; font-weight: 800; color: #064E3B;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  line-height: 1.2;
}
.contact2-form__success-wave{
  display: inline-block;
  transform-origin: 70% 70%;
  animation: cf-wave 1.4s ease-in-out 0.2s 2;
}
@keyframes cf-wave{
  0%,100%{ transform: rotate(0deg); }
  25%{ transform: rotate(18deg); }
  50%{ transform: rotate(-8deg); }
  75%{ transform: rotate(14deg); }
}
.contact2-form__success-body{
  font-size: 15.5px; line-height: 1.6; color: #065F46;
}

/* Direct contact strip */
.contact2-direct{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  margin-top: 72px;
  padding-top: 40px;
  border-top: 1px solid rgba(15,23,42,0.08);
  max-width: 560px;
}
.contact2-direct__item{
  display: flex; flex-direction: column; gap: 4px;
}
.contact2-direct__label{
  font-size: 12px; font-weight: 600; letter-spacing: .14em;
  color: var(--ink-2);
  text-transform: uppercase;
}
.contact2-direct__value{
  font-size: 16px; font-weight: 500;
  color: var(--ink);
}
a.contact2-direct__value{
  transition: color .15s ease;
}
a.contact2-direct__value:hover{
  color: #0F172A;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Responsive */
@media (max-width: 720px){
  .contact2-hero{ padding: 72px 0 32px; }
  .contact2{ padding: 40px 0 72px; }
  .contact2-form__grid{ grid-template-columns: 1fr; gap: 20px; }
  .contact2-direct{ grid-template-columns: 1fr; gap: 20px; margin-top: 48px; padding-top: 32px; }
  .contact2-form__actions{ flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   MOBILE FIXES (desktop-safe: only activate at <=640px)
   ============================================================ */
@media (max-width: 640px){
  /* Fix 1: Home hero visualization overflow.
     .hviz children are absolutely-positioned with fixed 600px widths.
     Scale the whole viz down proportionally so it fits mobile width. */
  .home-hero__viz{ overflow: hidden; }
  .hviz{
    transform: scale(0.55);
    transform-origin: top left;
    width: 182%;         /* compensate for scale so it still fills width */
    min-height: 300px;   /* was 520px, brings scaled height back in line */
  }

  /* Fix 2: Exchange trend chart month labels collide on narrow widths.
     Hide every other label so only ~5 show, and shrink font a hair. */
  .trend__xlabels-html{ font-size: 9px; padding: 4px 2% 0 4%; }
  .trend__xlabels-html span:nth-child(even){ display: none; }
}

/* ============================================================
   FINAL CASCADE: BODY PROSE = CHARCOAL GREY (#3F4147)
   Placed last so it overrides earlier component defaults for
   non-bold prose across the site. Mockups (dashboard, terminal,
   screenshot chrome), footer meta, and status states are unaffected.
   ============================================================ */
.about-hero__lede,
.story__p,
.timeline__desc,
.careers__p,
.team__title,
.hqphoto__cap-sub,
.results__cap,
.messy__card-p,
.compliance__p,
.edi-deflist__def,
.division-card__p,
.tst__company,
.nav__dd-sub,
.cell p,
.cta__sub,
.tracker__sub,
.yourdb__p { color:#3F4147; }

/* ============ MOBILE NAV OVERRIDES (must come after desktop dropdown rules) ============ */
@media (max-width:1024px){
  .nav .nav__dd-menu{
    position:static;
    display:none;
    box-shadow:none;
    border:none;
    padding:4px 0 8px;
    background:transparent;
    min-width:0;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    margin-top:0;
    left:0;
  }
  .nav .nav__dd:hover .nav__dd-menu,
  .nav .nav__dd:focus-within .nav__dd-menu{
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .nav .nav__dd.is-open .nav__dd-menu{
    display:block;
  }
}

/* Heading font override: Nunito Sans replaces Montserrat fallback for real
   marketing headings only (brand guide requests a flatter, less-rounded
   sans than Montserrat for headline/section-title roles). Body copy and
   dashboard/mockup UI titles are intentionally left on the base stack. */
.hero__title,
.contact2-hero__h1,
.about-hero__h1,
.feat__h2,
.feat__h2--light,
.grid__h2,
.cta__h,
.yourdb__h,
.tst__h2,
.messy__h2,
.messy__h2-muted,
.team__h2,
.timeline__h2,
.careers__h2,
.compliance__h,
.cell h3{
  font-family:var(--font-heading);
}
