/* Qualitive landing page. One brand colour, the logo purple #5a116d, in a scale of shades:
   950 #14051a  900 #230a2c  800 #3a0f47  700 #5a116d (logo)  600 #73208a  500 #8e3aa6
   400 #a24fba  300 #c58fd6  200 #dcbde7  100 #efe3f4  and the logo's paper #f8f8f6.
   The logo mark is always #5a116d; on dark backgrounds it sits on a #f8f8f6 tile, like the logo files.
   Dark by default, light under prefers-color-scheme: light. Every text colour passes WCAG AA
   (ratios checked in code: dark body 17.5, muted 8.7, accent 9.0; light body 15.3, muted 6.7,
   accent 11.4; Chatiso band text 7.0 or more). */
:root {
  color-scheme: dark;
  --brand: #5a116d;
  --paper: #f8f8f6;
  --bg: #0d0710;
  --surface: #1d1124;
  --surface-2: #160c1b;
  --border: #33203d;
  --border-strong: #6d3a82;
  --text: #f4eef6;
  --muted: #bfaec6;
  --accent: #d4a6e3;
  --eyebrow: #c58fd6;
  --title: #dcb3ea;
  --title-glow: 0 0 42px rgba(162, 79, 186, 0.55);
  --chip-border: rgba(197, 143, 214, 0.28);
  --grid-line: rgba(197, 143, 214, 0.07);
  --orb-a: rgba(90, 17, 109, 0.55);
  --orb-b: rgba(142, 58, 166, 0.32);
  --orb-c: rgba(58, 15, 71, 0.7);
  --hero-mark-opacity: 0.22;
  --header-bg: rgba(13, 7, 16, 0.72);
  --card-glow: 0 18px 50px -20px rgba(142, 58, 166, 0.55);
  --shot-shadow: 0 30px 70px -25px rgba(0, 0, 0, 0.8);
  --tile-ring: rgba(244, 238, 246, 0.14);
}

@media (prefers-color-scheme: light) {
  :root {
    color-scheme: light;
    --bg: #f8f8f6;
    --surface: #ffffff;
    --surface-2: #fcfafd;
    --border: #e7e0ea;
    --border-strong: #c9a6d6;
    --text: #231f22;
    --muted: #5d5562;
    --accent: #5a116d;
    --eyebrow: #73208a;
    --title: #5a116d;
    --title-glow: 0 10px 30px rgba(90, 17, 109, 0.18);
    --chip-border: rgba(90, 17, 109, 0.16);
    --grid-line: rgba(90, 17, 109, 0.06);
    --orb-a: rgba(197, 143, 214, 0.45);
    --orb-b: rgba(220, 189, 231, 0.6);
    --orb-c: rgba(239, 227, 244, 0.9);
    --hero-mark-opacity: 0.07;
    --header-bg: rgba(248, 248, 246, 0.8);
    --card-glow: 0 18px 50px -24px rgba(90, 17, 109, 0.35);
    --shot-shadow: 0 30px 70px -30px rgba(35, 10, 44, 0.55);
    --tile-ring: rgba(90, 17, 109, 0);
  }
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

a { color: var(--accent); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 8px; }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.wrap { width: 100%; max-width: 1160px; margin: 0 auto; padding: 0 16px; }

/* logo: the mark in the exact logo purple */
.mark { display: block; fill: var(--brand); }
.logo-tile {
  display: inline-grid; place-items: center; flex: none;
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--paper);
  box-shadow: 0 0 0 1px var(--tile-ring);
}
.logo-tile .mark { width: 19px; height: 22px; }
.logo-tile.small { width: 26px; height: 26px; border-radius: 7px; }
.logo-tile.small .mark { width: 13px; height: 15px; }

/* header */
.top {
  position: sticky; top: 0; z-index: 10;
  background: var(--header-bg);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--border);
}
.top-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 64px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; }
.wordmark { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.01em; }
.nav-link {
  font-weight: 600; text-decoration: none; padding: 7px 14px;
  border: 1px solid var(--chip-border); border-radius: 999px;
  background: linear-gradient(135deg, rgba(142, 58, 166, 0.16), rgba(90, 17, 109, 0.05));
  transition: border-color 0.15s ease;
}
.nav-link:hover { border-color: var(--border-strong); }

/* Primary website navigation: stays usable on narrow/mobile viewports. */
.site-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.site-nav .nav-link { white-space: nowrap; font-size: .92rem; }
.nav-link-featured {
  background: linear-gradient(135deg, #73208a, #5a116d);
  border-color: #a24fba; color: #fff;
}
.nav-link-featured:hover { color: #fff; border-color: #dcbde7; }
@media (max-width: 640px) {
  .top-row { min-height: 64px; height: auto; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
  .site-nav { justify-content: flex-start; gap: 6px; width: 100%; }
  .site-nav .nav-link { padding: 6px 11px; font-size: .85rem; }
}

/* hero: grid lines, three soft orbs in brand shades and the "C" mark */
.hero { position: relative; overflow: hidden; isolation: isolate; text-align: center; padding: 96px 0 84px; }
.hero-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
/* the glows fade out towards the cards; the mark is outside this mask */
.glow {
  position: absolute; inset: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
}
.grid-lines {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 44px 44px;
  background-position: center top;
  -webkit-mask-image: radial-gradient(ellipse 70% 75% at 50% 35%, #000 30%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 75% at 50% 35%, #000 30%, transparent 75%);
}
.orb { position: absolute; border-radius: 50%; filter: blur(60px); }
.orb-a { width: 520px; height: 420px; left: 50%; top: -140px; transform: translateX(-70%); background: var(--orb-a); }
.orb-b { width: 360px; height: 320px; left: 50%; top: 40px; transform: translateX(15%); background: var(--orb-b); }
.orb-c { width: 420px; height: 260px; left: 50%; bottom: -160px; transform: translateX(-50%); background: var(--orb-c); }
/* the mark fits inside the hero (24px clear of the header and the bottom edge) */
.hero-mark {
  position: absolute; top: 24px; bottom: 24px; left: 50%; transform: translateX(-50%);
  height: calc(100% - 48px); width: auto; aspect-ratio: 314.11 / 359.73;
  max-width: calc(100% - 32px);
  fill: url(#mark-glow); opacity: var(--hero-mark-opacity);
}
/* A solid colour, not gradient text: gradient text is painted only inside its box and
   some browsers cut off the tail of the "y". */
.hero h1 {
  margin: 0;
  font-size: clamp(2.8rem, 10vw, 4.75rem); font-weight: 750; line-height: 1.15; letter-spacing: -0.035em;
  color: var(--title);
  text-shadow: var(--title-glow);
}
.subtitle { margin: 12px 0 0; font-size: clamp(1.15rem, 3.4vw, 1.6rem); font-weight: 700; letter-spacing: -0.01em; }
.tagline { margin: 16px 0 0; color: var(--muted); font-size: clamp(1.02rem, 2.8vw, 1.2rem); word-spacing: 0.12em; }
/* 5. the one primary action in the hero */
.hero-button {
  display: inline-block; margin-top: 30px; padding: 13px 26px; border-radius: 12px;
  background: linear-gradient(135deg, #73208a, #5a116d);
  color: #ffffff; font-weight: 700; text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 12px 28px -12px rgba(90, 17, 109, 0.9);
  transition: filter 0.15s ease, transform 0.15s ease;
}
.hero-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
#platform { scroll-margin-top: 84px; }

/* the platform */
.eyebrow {
  display: flex; align-items: center; gap: 14px; justify-content: center;
  margin: 0 0 18px; color: var(--eyebrow);
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
}
.eyebrow::before, .eyebrow::after { content: ""; width: 48px; height: 1px; }
.eyebrow::before { background: linear-gradient(90deg, transparent, var(--eyebrow)); }
.eyebrow::after { background: linear-gradient(90deg, var(--eyebrow), transparent); }

/* panel with a gradient border in brand shades */
.panel {
  border: 1px solid transparent; border-radius: 24px; padding: 12px;
  background:
    linear-gradient(var(--bg), var(--bg)) padding-box,
    linear-gradient(140deg, #8e3aa6, var(--border) 30%, var(--border) 70%, #5a116d) border-box;
}
.grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 720px) {
  .panel { padding: 18px; }
  .grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}
.card {
  position: relative; overflow: hidden;
  background: linear-gradient(160deg, var(--surface), var(--surface-2));
  border: 1px solid var(--border); border-radius: 16px;
  padding: 22px 22px 24px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
  background: linear-gradient(90deg, transparent, #a24fba, #5a116d, transparent);
  opacity: 0; transition: opacity 0.18s ease;
}
.card:hover { border-color: var(--border-strong); box-shadow: var(--card-glow); transform: translateY(-2px); }
.card:hover::before { opacity: 1; }
.icon-tile {
  display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 13px;
  background: linear-gradient(135deg, #5a116d, #8e3aa6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 18px -8px rgba(90, 17, 109, 0.7);
}
.icon { width: 24px; height: 24px; fill: none; stroke: #ffffff; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.card h3 { margin: 16px 0 6px; font-size: 1.25rem; font-weight: 650; line-height: 1.3; }
.card p { margin: 0; color: var(--muted); font-size: 1.02rem; }

/* ISO Template Library: live entry point, not an example or a duplicate catalogue. */
.library-feature {
  margin-top: 64px;
}
.library-feature-inner {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px;
  padding: clamp(24px, 4vw, 46px);
  background: linear-gradient(140deg, var(--surface), var(--surface-2));
  border: 1px solid var(--border-strong); border-radius: 24px;
  box-shadow: var(--card-glow);
}
.library-feature-inner::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, #5a116d, #a24fba, #5a116d);
}
.library-feature .library-kicker {
  margin: 0 0 8px; text-transform: uppercase; color: var(--eyebrow);
  font-size: .78rem; letter-spacing: .16em; font-weight: 750;
}
.library-feature h2 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); line-height: 1.2; margin: 0 0 12px; }
.library-feature .library-lead { max-width: 66ch; color: var(--muted); margin: 0 0 22px; }
.library-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.library-actions a { text-decoration: none; font-weight: 700; border-radius: 12px; padding: 11px 18px; }
.library-actions .library-primary { color: #fff; background: linear-gradient(135deg, #73208a, #5a116d); }
.library-actions .library-primary:hover { filter: brightness(1.12); }
.library-actions .library-secondary { color: var(--accent); border: 1px solid var(--border-strong); }
.library-highlights { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 0; padding: 0; list-style: none; }
.library-highlights li { padding: 16px; background: var(--bg); border: 1px solid var(--border); border-radius: 14px; }
.library-highlights strong { display: block; font-size: 1.7rem; line-height: 1.15; color: var(--title); }
.library-highlights span { display: block; color: var(--muted); font-size: .88rem; margin-top: 6px; }
@media (min-width: 720px) {
  .library-feature-inner { grid-template-columns: minmax(0, 1.6fr) minmax(190px, .9fr); align-items: center; }
}
.library-footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 15px; padding-bottom: 26px; font-size: .85rem; }
.library-footer-label { color: var(--muted); }
.library-footer a { text-decoration: none; }
.library-footer a:hover { text-decoration: underline; }

/* Chatiso: a deep band in the logo purple, the same in both themes */
.chatiso {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center;
  margin: 64px 0 0; padding: 28px 22px;
  border-radius: 24px;
  color: #ffffff;
  background:
    radial-gradient(70% 90% at 100% 0%, rgba(162, 79, 186, 0.45), transparent 60%),
    radial-gradient(60% 80% at 0% 100%, rgba(20, 5, 26, 0.75), transparent 70%),
    linear-gradient(135deg, #73208a 0%, #5a116d 45%, #230a2c 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
@media (min-width: 880px) {
  .chatiso { grid-template-columns: 5fr 7fr; gap: 44px; padding: 44px; }
}
.band-mark {
  position: absolute; z-index: -1; width: 300px; height: 344px; left: -70px; bottom: -120px;
  fill: #ffffff; opacity: 0.06;
}
.chatiso-text { min-width: 0; }
.chatiso h2 { margin: 0 0 10px; color: #ffffff; font-size: clamp(1.8rem, 4.5vw, 2.3rem); font-weight: 750; letter-spacing: -0.02em; }
.chatiso p { margin: 0 0 24px; color: #ecdcf2; font-size: 1.1rem; }
.button {
  display: inline-block; padding: 12px 22px; border-radius: 12px;
  background: var(--paper); color: #5a116d; font-weight: 700; text-decoration: none;
  box-shadow: 0 10px 24px -10px rgba(0, 0, 0, 0.5);
  transition: background-color 0.15s ease;
}
.button:hover { background: #efe3f4; }
.button:focus-visible { outline-color: #ffffff; }
.shot {
  margin: 0; min-width: 0; border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shot-shadow);
  background: #12161c;
}
.shot-bar { display: flex; gap: 6px; padding: 10px 12px; background: rgba(20, 5, 26, 0.55); }
.shot-bar span { width: 9px; height: 9px; border-radius: 50%; }
.shot-bar span:nth-child(1) { background: #c58fd6; }
.shot-bar span:nth-child(2) { background: #a24fba; }
.shot-bar span:nth-child(3) { background: #73208a; }
.shot img { display: block; width: 100%; height: auto; }
@media (prefers-color-scheme: light) {
  .shot { background: #ffffff; }
  .shot-bar { background: #f1e6f6; border-bottom: 1px solid #e3d2eb; }
}

/* footer */
.foot { margin-top: 64px; border-top: 1px solid var(--border); }
.foot-row { display: flex; align-items: center; justify-content: center; gap: 10px; padding-top: 24px; padding-bottom: 32px; color: var(--muted); font-size: 0.92rem; }

@media (prefers-reduced-motion: reduce) {
  .card, .card::before, .button, .nav-link, .hero-button { transition: none; }
  .card:hover, .hero-button:hover { transform: none; }
}

/* Shared Qualitive shell: consistent navigation across public and Chatiso pages. */
:root { --cert-purple:#5a116d; --cert-purple-bright:#7f258f; --cert-ink:#251a32; --cert-wash:#f8f5fa; }
.portal-header,.portal-footer { box-sizing:border-box; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.portal-header *, .portal-footer * { box-sizing:border-box; }
.portal-header { display:block!important;padding:0!important;position:sticky;top:0;z-index:100;background:#0e0712;color:#f9f0fc;border-bottom:1px solid #39213f;box-shadow:0 8px 24px #0e07121c; }
.portal-header-inner { max-width:1520px;margin:0 auto;min-height:72px;padding:10px clamp(20px,4vw,62px);display:flex;align-items:center;gap:clamp(12px,1.5vw,22px); }
.portal-header .portal-brand { display:inline-flex;align-items:center;gap:12px;flex:none;color:#fff;text-decoration:none;font-weight:760;letter-spacing:-.035em;line-height:1.15;font-size:23px; }
.portal-brand:hover,.portal-header .portal-brand:hover { color:#fff; }
.portal-mark-box { display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;box-shadow:0 0 0 1px #bda9c6; }
.portal-mark { width:22px;height:27px;fill:#5a116d; }
.portal-nav { flex:1 1 auto;min-width:0;margin:0;display:flex;align-items:center;gap:clamp(4px,1.3vw,16px);max-width:none;padding:0;flex-wrap:wrap;justify-content:flex-start; }
.portal-header .portal-link { color:#d6bddf;font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 7px 8px;background:transparent;min-height:40px;display:inline-flex;align-items:center;justify-content:center;line-height:1.3;transition:color .18s ease,border-color .18s ease; }
.portal-header .portal-link:hover { color:#fff;background:transparent;border-bottom-color:#9560a6; }
.portal-header .portal-link.active { background:transparent;color:#fff;border-bottom-color:#c17bd5; }
.portal-account { margin-left:auto;display:flex;gap:9px;align-items:center; }
.portal-header .portal-login,.portal-header .portal-signup { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 17px;border-radius:12px;font-size:13px;font-weight:750;white-space:nowrap;text-decoration:none; }
.portal-header .portal-login { border:1px solid #765382;color:#f1dff6;background:#1b0c20; }
.portal-header .portal-signup { background:#75208a;border:1px solid #a858b9;color:white; }
.portal-header .portal-login:hover,.portal-header .portal-signup:hover { filter:brightness(1.18);color:white; }
.portal-footer { margin-top:auto;background:#0e0712;border-top:1px solid #3b2044;color:#c8b4d0; }
.portal-footer-inner { max-width:1520px;margin:0 auto;padding:26px clamp(20px,4vw,62px);display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap; }
.portal-footer-brand {font-weight:800;color:#fff;font-size:17px;letter-spacing:-.02em}
.portal-footer nav {display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0;padding:0;max-width:none;}
.portal-footer a {color:#dec7e8!important;text-decoration:none!important;font-size:13px;font-weight:600;}
.portal-footer a:hover {color:white!important;text-decoration:underline!important;}
.portal-copyright { margin-left:auto;white-space:nowrap;font-size:12px;color:#b9a3c0; }
.portal-header a:focus-visible,.portal-footer a:focus-visible {outline:3px solid #cb91e1;outline-offset:3px;}
body.certlyst-page { background:var(--cert-wash);color:var(--cert-ink); }
body.certlyst-page .eyebrow {color:#82399a;}
body.certlyst-page button:not(:disabled):not([data-category-choice]):not([data-availability]):not([data-view]):not([data-preview]):not([data-download]):not(.thumbnail-button):hover {filter:brightness(1.07);}
body.certlyst-page .site-legal-links {display:none;}
/* Keep internal checkout headings and controls from inheriting global header layout. */
body.certlyst-page .checkout > header {display:block;background:none;color:inherit;padding:0;position:static;box-shadow:none;border:0;}
/* Portal page family: same surfaces, borders, buttons, links and typography. */
body.certlyst-page .auth-shell,body.certlyst-page .panel,body.certlyst-page .page-content:not(.shell),body.certlyst-page .page-content article,body.certlyst-page .page-content.page-content {border-color:#e6d9ed;}
body.certlyst-page .checkout .back,body.certlyst-page #links a,body.certlyst-page main a:not(.portal-link) {color:#61217b;}
body.certlyst-page main button:not(.thumbnail-button):not([data-category-choice]):not([data-availability]):not([data-view]) {background:#5a116d;color:#fff;border-color:#5a116d;}
body.certlyst-page main button.secondary {background:#ede3f3;color:#521568;}
body.certlyst-page main input:focus-visible,body.certlyst-page main select:focus-visible {outline:2px solid #a663c0;outline-offset:2px;}
body.certlyst-page .portal-footer a {color:#dec7e8;}
@media(max-width:760px) {
  .portal-header-inner {min-height:65px;flex-wrap:wrap;gap:9px 15px;padding-block:11px;}
  .portal-header .portal-brand {font-size:19px;}
  .portal-mark-box {width:32px;height:32px;}
  .portal-mark {width:18px;height:22px;}
  .portal-nav {order:3;width:100%;gap:6px;}
  .portal-header .portal-link {min-height:34px;padding:6px 7px 4px;font-size:13px;}
  .portal-header .portal-login,.portal-header .portal-signup {min-height:34px;font-size:12px;padding:6px 10px;}
  .portal-footer-inner{align-items:flex-start;}
  .portal-copyright{margin-left:0;}
}
@media(max-width:380px) {.portal-header .portal-brand-name{font-size:16px}.portal-header .portal-brand{gap:7px}.portal-account{gap:5px}}


/* Chatiso stays the rightmost navigation action, linking to the original chat route. */
.portal-header .portal-chatiso {flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 17px;border:1px solid #a858b9;border-radius:999px;background:#661677;color:#fff;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap;}
.portal-header .portal-chatiso:hover {background:#7e2490;color:#fff;}
.workspace-meta {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.portal-header .workspace-meta .badge {font-size:11px;border-color:#5a3d63;}
.portal-header .workspace-meta .linkbtn,.portal-header .workspace-meta .muted {color:#dec7e8;}
@media (max-width:1150px) {
  .portal-header-inner {flex-wrap:wrap;gap:9px 12px;}
  .portal-nav {order:3;flex-basis:100%;width:100%;}
  .portal-chatiso {margin-left:auto;}
  .workspace-meta {margin-left:auto;}
}
@media (max-width:760px) {
  .portal-header .portal-chatiso {min-height:34px;padding:6px 12px;font-size:12px;}
  .portal-header .portal-nav {order:3;flex-basis:100%;width:100%;gap:6px;}
  .portal-header .portal-link {white-space:normal;}
  .workspace-meta {order:4;width:100%;justify-content:flex-end;}
}

/* The template workspace shares the neutral page canvas used by Chat/Documents. */
body.certlyst-page.template-catalogue {background:#f6f7f9;}


/* A single responsive navigation for guests and authenticated library accounts. */
.portal-private{display:none!important}
body.portal-workspace-authenticated .portal-private{display:inline-flex!important}
.portal-private[hidden]{display:none!important}
.portal-profile{position:relative;color:white}
.portal-profile-summary{cursor:pointer;display:flex;align-items:center;gap:9px;list-style:none;padding:4px 12px 4px 4px;border-radius:22px;border:1px solid #8e51a3;background:#211026;font-size:13px;font-weight:700;max-width:200px}
.portal-profile-summary::-webkit-details-marker{display:none}
.portal-avatar{display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:11px;background:#712383;color:#fff;font-size:12px}
.portal-profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-profile-menu{position:absolute;z-index:200;right:0;top:calc(100% + 12px);width:min(325px,calc(100vw - 24px));padding:16px;background:white;color:#281b30;border:1px solid #e9dced;border-radius:19px;box-shadow:0 16px 50px #16091b24;display:flex;flex-direction:column;gap:4px}
.portal-profile-menu strong,.portal-profile-menu small{display:block;padding:2px 7px}
.portal-profile-menu small{color:#786785;margin-bottom:8px;overflow-wrap:anywhere}
.portal-profile-menu a,.portal-profile-menu .portal-logout{display:block!important;color:#37253d!important;text-decoration:none!important;border:0!important;background:transparent!important;border-radius:10px;padding:12px!important;text-align:left;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}
.portal-profile-menu a:hover,.portal-profile-menu .portal-logout:hover{background:#f2e9f8!important}
.portal-profile-menu .portal-logout{color:#ae2240!important;border-top:1px solid #eee2f2!important;border-radius:0}
@media(max-width:480px){.portal-header-inner{padding-inline:12px!important}.portal-nav{gap:5px 12px}.portal-header .portal-link{padding:6px 2px 4px;font-size:12px}.portal-account{margin-left:auto}.portal-profile-summary{max-width:125px}.portal-header .portal-chatiso{margin-left:0}}

/* Prevent guest-button flashes while the customer account is restored. */
html.portal-account-restoring .portal-header[data-library-root] .portal-account:not(.portal-account-ready){visibility:hidden;min-width:132px;min-height:40px}

/* One-row responsive header + accessible mobile dropdown. Shared across page families. */
.portal-header .portal-header-inner{flex-wrap:nowrap;min-width:0;gap:clamp(12px,1.4vw,22px);}
.portal-header .portal-menu-panel{display:contents;}
.portal-header .portal-menu-toggle{display:none;}
.portal-header .portal-nav{order:initial;flex-basis:auto;width:auto;flex-wrap:nowrap;min-width:0;gap:clamp(2px,.7vw,12px);}
.portal-header .portal-link{white-space:nowrap;padding-inline:clamp(4px,.5vw,9px);}
.portal-header .portal-account{margin-left:auto;flex:none;}
.portal-header .portal-chatiso{margin-left:0;flex:none;}
.portal-header .portal-profile-summary{max-width:165px;}
.portal-header .workspace-meta{order:initial;width:auto;margin-left:0;max-width:175px;}
@media(max-width:1020px){
  .portal-header .portal-header-inner{min-height:64px;padding:10px clamp(14px,3.8vw,28px);display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;}
  .portal-header .portal-brand{font-size:20px;gap:10px;min-width:0;}
  .portal-header .portal-mark-box{width:36px;height:36px;flex:none;}
  .portal-header .portal-mark{width:21px;height:25px;}
  .portal-header .portal-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid #765382;border-radius:11px;background:#23102b;color:#fff;cursor:pointer;}
  .portal-header .portal-menu-toggle:hover{background:#371541;}
  .portal-header .portal-menu-toggle[aria-expanded="true"]{background:#641678;border-color:#b57ac6;}
  .portal-header .portal-menu-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
  .portal-header .portal-menu-icon>span{display:block;width:19px;height:2px;border-radius:3px;background:currentColor;transition:transform .2s ease,opacity .2s ease;}
  .portal-header .portal-menu-toggle[aria-expanded="true"] .portal-menu-icon>span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .portal-header .portal-menu-toggle[aria-expanded="true"] .portal-menu-icon>span:nth-child(2){opacity:0;}
  .portal-header .portal-menu-toggle[aria-expanded="true"] .portal-menu-icon>span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .portal-header .portal-menu-panel{display:none;position:absolute;left:clamp(12px,3vw,32px);right:clamp(12px,3vw,32px);top:calc(100% + 2px);max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;padding:12px;background:#170b1d;border:1px solid #60406b;border-radius:0 0 19px 19px;box-shadow:0 24px 44px #0a0611a8;z-index:210;flex-direction:column;align-items:stretch;gap:10px;}
  .portal-header .portal-menu-panel.is-open{display:flex;}
  .portal-header .portal-nav{order:initial;display:flex;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:0;width:100%;flex:none;}
  .portal-header .portal-nav .portal-link{display:flex;align-items:center;justify-content:flex-start;text-align:left;white-space:normal;min-height:44px;padding:11px 14px;font-size:14px;font-weight:650;border:0;border-left:3px solid transparent;border-radius:9px;}
  .portal-header .portal-nav .portal-link:hover{background:#2e1738;border-left-color:#9461a7;}
  .portal-header .portal-nav .portal-link.active{background:#34163f;border-left-color:#d293e6;border-bottom-color:transparent;}
  .portal-header .portal-account{order:initial;display:flex;flex-direction:row;gap:10px;align-items:stretch;margin:0;padding:12px 0;border-top:1px solid #40264b;width:100%;min-width:0;}
  .portal-header .portal-login,.portal-header .portal-signup{flex:1;min-height:44px;padding:10px 14px;font-size:14px;}
  .portal-header .portal-account .portal-profile{width:100%;}
  .portal-header .portal-account .portal-profile-summary{width:100%;max-width:none;min-height:46px;border-radius:12px;}
  .portal-header .portal-account .portal-profile-menu{position:static;width:100%;max-width:none;margin-top:8px;box-shadow:none;border-radius:13px;padding:10px;}
  .portal-header .portal-chatiso{order:initial;width:100%;margin:0;min-height:44px;font-size:14px;padding:10px 16px;border-radius:11px;}
  .portal-header .workspace-meta{order:initial;width:100%;max-width:none;justify-content:flex-start;gap:8px;margin:0;}
  .portal-header[data-library-root] .portal-account:not(.portal-account-ready){min-height:44px;min-width:0;}
  .portal-header .portal-menu-toggle:focus-visible,.portal-header a:focus-visible,.portal-header button:focus-visible,.portal-header summary:focus-visible{outline:3px solid #d49bec;outline-offset:3px;}
}
@media(max-width:380px){
  .portal-header .portal-header-inner{padding-inline:12px;}
  .portal-header .portal-brand-name{font-size:18px;}
  .portal-header .portal-brand{gap:8px;}
  .portal-header .portal-menu-panel{left:8px;right:8px;}
}

/* Qualitive-mark fit for shared Chatiso navigation */
.portal-mark-box img{display:block;max-width:100%;height:38px;width:38px;object-fit:contain}.q-legal-identity{font-size:12px}.q-legal-identity a{color:inherit}

/* BEGIN QUALITIVE_UNIFIED_CHROME_V1: visual contract shared with Qualitive homepage. */
:root{--purple:#5042c5;--purple-dark:#392aa2;--violet:#6652cf;--wash:#f9f8fc;--line:#e8e1f1;--soft:#f0edff;--cert-purple:#5042c5;--cert-purple-bright:#6652cf;--cert-ink:#271b42;--cert-wash:#f9f8fc}
.portal-header{background:rgba(255,255,255,.96)!important;color:#211832!important;border-bottom:1px solid #ede7f5!important;box-shadow:none!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.portal-header .portal-header-inner{max-width:1180px;min-height:78px;padding:0 28px;gap:clamp(11px,1.5vw,23px)}
.portal-header .portal-brand,.portal-header .portal-brand:hover{color:#211832!important;font-size:24px;letter-spacing:-.04em;font-weight:850;gap:12px}
.portal-header .portal-mark-box{width:45px;height:45px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;flex:none}
.portal-header .portal-mark-box img{width:45px;height:45px;max-width:none;object-fit:contain}
.portal-header .portal-nav{gap:clamp(7px,1vw,19px)}
.portal-header .portal-link{color:#4e4262!important;font-size:14px;font-weight:650;padding:10px 4px!important;border-bottom:2px solid transparent!important;min-height:42px}
.portal-header .portal-link:hover{color:#5042c5!important;border-bottom-color:transparent!important}
.portal-header .portal-link.active{color:#5042c5!important;border-bottom-color:#5042c5!important}
.portal-header .portal-nav .portal-link[href$="/template"]{background:#5042c5!important;color:white!important;padding:12px 21px!important;border-radius:13px!important;border:1px solid #5042c5!important;min-height:46px;line-height:1.2}
.portal-header .portal-nav .portal-link[href$="/template"]:hover{background:#3829a3!important;color:white!important;box-shadow:0 7px 18px #5042c528}
.portal-header .portal-nav .portal-link[href$="/template"].active{background:#392bb0!important;color:white!important;border-color:#392bb0!important}
.portal-header .portal-login,.portal-header .portal-signup{border-radius:12px!important;font-weight:750;min-height:42px}
.portal-header .portal-login{background:#fff!important;border:1px solid #e0d8ed!important;color:#43366c!important}
.portal-header .portal-signup{background:#f0edff!important;border:1px solid #dcd4fa!important;color:#4336aa!important}
.portal-header .portal-login:hover,.portal-header .portal-signup:hover{background:#ede9ff!important;color:#3926a1!important;filter:none!important}
.portal-header .portal-chatiso{background:transparent!important;color:#5042c5!important;border:1px solid #dcd4f4!important;border-radius:12px!important;min-height:42px;font-size:13px}
.portal-header .portal-chatiso:hover{background:#f0edff!important;color:#392bb0!important}
.portal-header .portal-profile-summary{background:#f6f3ff;color:#352760;border-color:#e3daf4}
.portal-header .portal-profile-name{color:#352760}
.portal-header .portal-avatar{background:#5042c5}
body.portal-workspace-authenticated .portal-header:not([data-workspace-page="true"]) .portal-private{display:none!important}
.portal-header .portal-menu-toggle{background:#fff!important;border-color:#e3dbef!important;color:#392d6a!important}
.portal-header .portal-menu-toggle:hover{background:#f0edff!important}
.portal-header .portal-menu-toggle[aria-expanded="true"]{background:#f0edff!important;border-color:#a69ce8!important}
.portal-header .portal-menu-icon>span{background:#5042c5!important}
.portal-footer{background:#1a1029;color:#c2b6d5;border-top:1px solid #463b54}
.portal-footer-inner{max-width:1180px;padding:40px 28px;gap:15px 26px}
.portal-footer-brand{color:#fff;font-size:23px}
.portal-footer a,.portal-footer a:visited{color:#efebf9!important}
.portal-footer a:hover{color:#fff!important}
body.template-catalogue{background:radial-gradient(circle at 100% 0%,#eeebff 0,transparent 42%),#f9f8fc!important}
body.template-catalogue main.shell{max-width:1236px;padding-inline:28px}
body.template-catalogue .accent{color:#5042c5}
body.template-catalogue .eyebrow{color:#6652cf}
body.template-catalogue .template,body.template-catalogue .category-panel{box-shadow:0 10px 35px #2f195d0a}
body.template-catalogue .stat-card strong{color:#5042c5}
body.template-catalogue .template-actions button[data-preview]{background:#5042c5;border-color:#5042c5}
body.template-catalogue .template-actions button[data-download],body.template-catalogue .template-actions button[data-preview]{transition:background-color .18s ease,transform .18s ease}
body.template-catalogue .template-actions button:not(:disabled):hover{transform:translateY(-1px)}
@media(max-width:1020px){
 .portal-header .portal-header-inner{min-height:70px;padding:12px 18px}
 .portal-header .portal-menu-panel{background:#fff!important;border-color:#e8e1f1!important;box-shadow:0 20px 40px #21183220!important}
 .portal-header .portal-nav .portal-link{color:#4e4262!important;min-height:42px;padding:10px 14px!important}
 .portal-header .portal-nav .portal-link:hover{background:#f3f0ff!important;border-left-color:#7e69de!important}
 .portal-header .portal-nav .portal-link.active{background:#f3f0ff!important;border-left-color:#5042c5!important;color:#5042c5!important}
 .portal-header .portal-nav .portal-link[href$="/template"]{width:100%;justify-content:center;min-height:44px;border-radius:11px!important;color:white!important}
 .portal-header .portal-account{border-top-color:#ede7f5!important}
 .portal-header .portal-chatiso{width:100%}
 .portal-header .portal-profile-menu{background:#fff}
}
@media(max-width:700px){body.template-catalogue main.shell{padding-inline:18px}.portal-footer-inner{padding:30px 18px}.portal-header .portal-brand{font-size:21px}}
@media(prefers-reduced-motion:reduce){body.template-catalogue .template-actions button{transition:none!important;transform:none!important}}
/* END QUALITIVE_UNIFIED_CHROME_V1 */
/* BEGIN QUALITIVE_SHARED_HEADER_FOOTER_V2 — one footer presentation across all pages */
.portal-footer{background:#1a1029!important;color:#c2b6d5!important;border-top:1px solid #463b54!important}
.portal-footer .portal-footer-inner{max-width:1180px;margin:0 auto;padding:48px 28px 30px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px 40px}
.portal-footer .portal-footer-company{min-width:220px;max-width:460px}
.portal-footer .portal-footer-brand{display:block;color:#fff;font-size:24px;font-weight:800;margin-bottom:13px}
.portal-footer .portal-footer-company p{margin:0 0 12px;line-height:1.75;font-size:13px;color:#c2b6d5}
.portal-footer .portal-footer-company a{overflow-wrap:anywhere}
.portal-footer nav{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px 18px;flex-wrap:wrap;max-width:440px;margin:0;padding:0}
.portal-footer nav a{white-space:nowrap;font-size:13px}
.portal-footer .portal-footer-bottom{max-width:1124px;margin:0 auto;padding:22px 0 26px;border-top:1px solid #463b54;color:#aa9dbb;font-size:12px;line-height:1.6}
.portal-footer .portal-footer-bottom .portal-copyright{white-space:normal!important;display:block;overflow-wrap:anywhere}
@media(max-width:700px){.portal-footer .portal-footer-inner{padding:32px 18px 24px;display:block}.portal-footer nav{justify-content:flex-start;margin-top:22px}.portal-footer .portal-footer-bottom{margin:0 18px;padding-bottom:25px}}
/* END QUALITIVE_SHARED_HEADER_FOOTER_V2 */

/* QUALITIVE_SHARED_FOOTER_ISOLATION_V1: isolate the company footer from page-level global footer rules. */
body .portal-footer { width:100%; flex-shrink:0; text-align:left; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
body .portal-footer .portal-footer-inner { text-align:left; align-items:flex-start; }
body .portal-footer .portal-footer-company { text-align:left; }
body .portal-footer .portal-footer-brand { text-align:left; }
body .portal-footer .portal-footer-company p { text-align:left; }
body .portal-footer .portal-footer-bottom { text-align:center; }
body .portal-footer .portal-footer-bottom .portal-copyright { margin-left:0; }
@media(max-width:700px){body .portal-footer .portal-footer-bottom {text-align:left;}}

/* QUALITIVE_MODERN_CHROME_AND_POLICY_V1: shared, readable, responsive chrome. */
:root { --q-brand:#5141c9; --q-brand-strong:#3d30a9; --q-ink:#211934; --q-border:#e9e4f3; }
body .portal-header {
  position:sticky; top:0; z-index:500;
  background:rgba(255,255,255,.97)!important;
  color:var(--q-ink)!important;
  border-bottom:1px solid var(--q-border)!important;
  box-shadow:0 8px 32px rgba(40,28,82,.065)!important;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
body .portal-header .portal-header-inner {
  width:100%; max-width:1440px; min-height:86px;
  padding:12px clamp(20px,3.5vw,48px);
  display:flex; align-items:center; flex-wrap:nowrap;
  gap:clamp(12px,1.55vw,27px);
}
body .portal-header .portal-brand {
  color:#241b39!important; font-weight:850; letter-spacing:-.045em;
  font-size:clamp(21px,1.7vw,26px); gap:11px; text-decoration:none;
}
body .portal-header .portal-mark-box { width:42px; height:42px; flex:none; }
body .portal-header .portal-mark-box img { width:42px; height:42px; object-fit:contain; }
body .portal-header .portal-nav { gap:clamp(3px,.65vw,12px); align-items:center; }
body .portal-header .portal-link {
  color:#554867!important; background:transparent!important;
  border:1px solid transparent!important; border-radius:11px!important;
  font-size:14px; font-weight:680; min-height:44px;
  padding:10px clamp(8px,.65vw,12px)!important;
  line-height:1.25; text-decoration:none!important;
  transition:background-color .16s,color .16s;
}
body .portal-header .portal-link:hover,
body .portal-header .portal-link.active {
  color:var(--q-brand-strong)!important; background:#f2efff!important;
  border-color:#e8e1ff!important;
}
body .portal-header .portal-nav .portal-link[href$="/template"] {
  min-height:46px; padding:12px 20px!important; border-radius:12px!important;
  border:1px solid var(--q-brand)!important; background:var(--q-brand)!important;
  color:#fff!important; font-weight:770;
  box-shadow:0 5px 15px rgba(81,65,201,.17);
}
body .portal-header .portal-nav .portal-link[href$="/template"]:hover,
body .portal-header .portal-nav .portal-link[href$="/template"].active {
  background:var(--q-brand-strong)!important; border-color:var(--q-brand-strong)!important;
  color:white!important;
}
body .portal-header .portal-account { margin-left:auto; flex:none; gap:9px; }
body .portal-header .portal-login,
body .portal-header .portal-signup,
body .portal-header .portal-chatiso {
  min-height:43px; border-radius:12px!important; padding:10px 15px;
  font-size:13px; font-weight:760; white-space:nowrap;
}
body .portal-header .portal-login { border-color:#e5def3!important; color:#47376c!important; background:#fff!important; }
body .portal-header .portal-signup { border-color:#ded7fa!important; color:#4535ab!important; background:#f3f0ff!important; }
body .portal-header .portal-chatiso { color:var(--q-brand)!important; background:#fff!important; border-color:#ded7fa!important; }
body .portal-header .portal-profile-summary {
  border-radius:999px; background:#f7f4ff; border-color:#e6ddfa;
  color:#35285f; min-height:45px; padding-right:15px;
}
body .portal-header .portal-profile-name { color:#35285f; }
body .portal-header .portal-avatar { background:var(--q-brand); }
body .portal-header a:focus-visible,body .portal-header button:focus-visible,
body .portal-header summary:focus-visible,body .portal-footer a:focus-visible {
  outline:3px solid #7a6ce7; outline-offset:3px;
}
body .portal-footer {
  width:100%; flex-shrink:0; background:#180f28!important; color:#d8cee7!important;
  border-top:1px solid #342544!important; text-align:left;
}
body .portal-footer .portal-footer-inner {
  max-width:1360px; margin:auto; padding:58px clamp(22px,5vw,58px) 48px;
  display:grid; grid-template-columns:minmax(260px,1fr) minmax(280px,490px);
  align-items:start; gap:36px 70px; justify-content:space-between;
}
body .portal-footer .portal-footer-company { max-width:520px; min-width:0; }
body .portal-footer .portal-footer-brand {
  color:#fff; font-size:27px; font-weight:850; letter-spacing:-.04em; margin:0 0 16px;
}
body .portal-footer .portal-footer-company p {
  font-size:14px; color:#cec2e0; line-height:1.9; margin:0 0 16px;
}
body .portal-footer nav {
  width:100%; max-width:none; margin:4px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 32px; align-items:start; justify-content:initial;
}
body .portal-footer nav a {
  display:block; white-space:normal; font-size:14px; font-weight:680;
  line-height:1.45; color:#f0eafa!important;
}
body .portal-footer nav a:hover { color:#d3c4ff!important; text-decoration:underline!important; }
body .portal-footer .portal-footer-bottom {
  max-width:1244px; margin:0 auto; padding:24px 0 28px;
  border-top:1px solid #40324e; color:#bdb0d1;
  text-align:center; font-size:12px; line-height:1.6;
}
body .portal-footer .portal-footer-bottom .portal-copyright { margin:0; color:#bdb0d1; }
@media (max-width:1240px) {
  body .portal-header .portal-header-inner {
    min-height:72px; padding:12px clamp(16px,3vw,30px);
    display:flex; justify-content:space-between; align-items:center; gap:12px;
  }
  body .portal-header .portal-menu-toggle {
    display:inline-flex; background:#f6f3ff!important;
    color:var(--q-brand)!important; border:1px solid #e4dcf5!important;
    min-height:44px; min-width:44px; margin-left:auto; border-radius:12px;
  }
  body .portal-header .portal-menu-icon {
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  }
  body .portal-header .portal-menu-icon>span {
    display:block; width:19px; height:2px; background:var(--q-brand)!important;
    border-radius:3px;
  }
  body .portal-header .portal-menu-panel {
    display:none; position:absolute; top:calc(100% + 1px);
    left:clamp(10px,3vw,32px); right:clamp(10px,3vw,32px);
    padding:16px; z-index:550; max-height:calc(100dvh - 84px); overflow-y:auto;
    background:#fff!important; border:1px solid #e7dff5!important;
    border-radius:0 0 20px 20px; box-shadow:0 22px 50px #21183226!important;
    flex-direction:column; align-items:stretch; gap:12px;
  }
  body .portal-header .portal-menu-panel.is-open { display:flex; }
  body .portal-header .portal-nav {
    width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px; flex:none; align-items:stretch;
  }
  body .portal-header .portal-nav .portal-link {
    min-height:46px; display:flex; align-items:center; justify-content:flex-start;
    text-align:left; padding:12px 14px!important; border-radius:11px!important;
    white-space:normal; border-left:1px solid transparent!important;
  }
  body .portal-header .portal-nav .portal-link[href$="/template"] {
    justify-content:center; width:100%; min-height:47px;
    padding:12px 15px!important;
  }
  body .portal-header .portal-account { width:100%; margin:0; padding:12px 0; border-top:1px solid #eee8f6; }
  body .portal-header .portal-account .portal-profile { width:100%; }
  body .portal-header .portal-account .portal-profile-summary { max-width:none; width:100%; }
  body .portal-header .portal-chatiso { width:100%; margin:0; min-height:46px; justify-content:center; }
  body .portal-header .workspace-meta { width:100%; max-width:none; }
}
@media (max-width:760px) {
  body .portal-footer .portal-footer-inner { grid-template-columns:1fr; gap:25px; padding:42px 22px 32px; }
  body .portal-footer nav { margin:0; }
  body .portal-footer .portal-footer-bottom { margin:0 22px; text-align:left; }
}
@media (max-width:480px) {
  body .portal-header .portal-header-inner { padding:10px 14px; }
  body .portal-header .portal-brand { font-size:21px; gap:8px; }
  body .portal-header .portal-mark-box,
  body .portal-header .portal-mark-box img { width:37px; height:37px; }
  body .portal-header .portal-nav { grid-template-columns:1fr; }
  body .portal-header .portal-menu-panel { padding:13px; }
  body .portal-footer nav { grid-template-columns:1fr 1fr; gap:16px 14px; }
  body .portal-footer .portal-footer-brand { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) {
  body .portal-header .portal-link { transition:none; }
}
/* END QUALITIVE_MODERN_CHROME_AND_POLICY_V1 */

/* BEGIN QUALITIVE_BARLOW_PURPLE_PRODUCTION_V2
   Qualitive design tokens and shared site chrome. Based on supplied brand mark.
   Barlow is loaded from Google Fonts CDN; no font files are bundled.
*/
@font-face {
  font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;
  src:local("Barlow Regular"),local("Barlow-Regular"),url("https://fonts.gstatic.com/s/barlow/v3/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2") format("woff2");
}
@font-face {
  font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;
  src:local("Barlow Bold"),local("Barlow-Bold"),url("https://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2") format("woff2");
}
:root {
  --q-brand:#5a116d;
  --q-brand-strong:#440b52;
  --q-brand-hover:#711c85;
  --q-ink:#24182c;
  --q-border:#eaddeb;
  --q-subtle:#66596e;
  --q-wash:#fbf8fc;
  --q-soft:#f5eaf7;
  --q-ring:rgba(90,17,109,.18);
  --purple:#5a116d;
  --purple-dark:#440b52;
  --violet:#7b358a;
  --wash:#fbf8fc;
  --line:#eaddeb;
  --soft:#f5eaf7;
  --accent:#5a116d;
  --cert-purple:#5a116d;
  --cert-purple-bright:#7b358a;
  --cert-ink:#24182c;
  --cert-wash:#fbf8fc;
  --ink:#24182c;
}
html body,
html body button,
html body input,
html body select,
html body textarea,
html body summary,
html body dialog,
html body .portal-header,
html body .portal-footer,
html body .portal-header *,
html body .portal-footer * {
  font-family:"Barlow",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
html body {text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
html body button, html body input, html body select, html body textarea {font-size:inherit;}
html body a, html body button, html body summary { -webkit-tap-highlight-color:transparent; }
html body :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #ad69be;outline-offset:3px;
}
/* Navigation: keep every page's account state and existing routes intact. */
body .portal-header {
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--q-border)!important;
  box-shadow:0 5px 26px rgba(43,19,47,.045)!important;
  color:var(--q-ink)!important;
}
body .portal-header .portal-header-inner {
  max-width:1440px;min-height:80px;
  padding:10px clamp(18px,3.2vw,46px);
  gap:clamp(9px,1.15vw,19px);
}
body .portal-header .portal-brand,body .portal-header .portal-brand:hover {
  color:var(--q-ink)!important;
  font-size:clamp(22px,1.65vw,27px);
  font-weight:700;letter-spacing:-.035em;gap:10px;
}
body .portal-header .portal-mark-box {
  width:44px;height:44px;background:transparent;border:0;box-shadow:none;overflow:visible;
}
body .portal-header .portal-mark-box img {
  display:block;width:44px;height:44px;object-fit:contain;
}
body .portal-header .portal-nav {gap:clamp(1px,.3vw,6px)}
body .portal-header .portal-link {
  min-height:44px;padding:10px clamp(7px,.65vw,12px)!important;
  border:1px solid transparent!important;border-radius:10px!important;
  color:#4d4052!important;font-size:14px;font-weight:700;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease;
}
body .portal-header .portal-link:hover {
  color:var(--q-brand)!important;background:#f7f1f8!important;border-color:#f0e3f0!important;
}
body .portal-header .portal-link.active {
  color:var(--q-brand)!important;background:#f5eaf7!important;border-color:#ebd9ec!important;
}
body .portal-header .portal-nav .portal-link[href$="/template"] {
  background:var(--q-brand)!important;border-color:var(--q-brand)!important;
  color:white!important;min-height:44px;padding:11px 20px!important;
  border-radius:11px!important;font-weight:700;
  box-shadow:0 6px 16px rgba(90,17,109,.14);
}
body .portal-header .portal-nav .portal-link[href$="/template"]:hover,
body .portal-header .portal-nav .portal-link[href$="/template"].active {
  background:var(--q-brand-hover)!important;border-color:var(--q-brand-hover)!important;color:#fff!important;
}
body .portal-header .portal-login,
body .portal-header .portal-signup,
body .portal-header .portal-chatiso {
  min-height:43px;font-size:14px;font-weight:700;border-radius:11px!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
body .portal-header .portal-login {color:var(--q-brand)!important;border-color:#e5d8e8!important;background:#fff!important;}
body .portal-header .portal-signup {color:white!important;border-color:var(--q-brand)!important;background:var(--q-brand)!important;}
body .portal-header .portal-signup:hover {background:var(--q-brand-hover)!important;color:white!important;}
body .portal-header .portal-chatiso {color:var(--q-brand)!important;border-color:#d9c4e0!important;background:#fff!important;}
body .portal-header .portal-login:hover,
body .portal-header .portal-chatiso:hover {background:var(--q-soft)!important;color:var(--q-brand)!important;}
body .portal-header .portal-avatar {background:var(--q-brand);color:#fff;}
body .portal-header .portal-profile-summary {border-color:#ead8ed;background:#f9f3fa;color:var(--q-ink);}
body .portal-header .portal-profile-name {color:var(--q-ink);}
body .portal-header .portal-profile-menu a:hover {background:#f8effa!important;}
/* Footer: authoritative seller details, readable links, good mobile stacking. */
body .portal-footer {background:#1c0d23!important;color:#e5d8e7!important;border-top:1px solid #4c2559!important;}
body .portal-footer .portal-footer-inner {
  max-width:1320px;grid-template-columns:minmax(270px,1.2fr) minmax(280px,1fr);
  padding:52px clamp(22px,4vw,55px) 42px;gap:32px 65px;
}
body .portal-footer .portal-footer-brand {color:#fff;font-size:27px;font-weight:700;letter-spacing:-.025em;display:inline-flex;align-items:center;gap:12px;}
body .portal-footer-mark {display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff;flex:none;}
body .portal-footer-mark img {display:block;width:34px;height:34px;object-fit:contain;}
body .portal-footer .portal-footer-company p {color:#dbc9df;font-size:14px;line-height:1.85;}
body .portal-footer nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;}
body .portal-footer nav a {color:#f8eff9!important;font-size:14px;font-weight:700;line-height:1.5;}
body .portal-footer nav a:hover {color:#edc3f4!important;}
body .portal-footer .portal-footer-bottom {border-top-color:#4c2559;color:#d2bcda;}
body .portal-footer .portal-footer-bottom .portal-copyright {color:#d2bcda;}
/* Qualitive editorial pages: trustworthy whitespace and legible contrasts. */
body.qualitive-public {background:var(--q-wash)!important;color:var(--q-ink)!important;}
body.qualitive-public .q-hero {
  background:radial-gradient(circle at 93% 2%,#efdfef 0,transparent 38%),linear-gradient(180deg,#fff,#fbf8fc);
  padding:clamp(50px,6vw,90px) 0 88px;
}
body.qualitive-public .q-hero h1 {color:var(--q-ink);letter-spacing:-.035em;font-weight:700;}
body.qualitive-public .q-kicker {color:var(--q-brand);letter-spacing:.13em;}
body.qualitive-public .q-lead {color:#5c5063;}
body.qualitive-public .q-panel,
body.qualitive-public .q-card,
body.qualitive-public .q-content-panel {border-color:var(--q-border);box-shadow:0 12px 35px rgba(44,18,47,.045);}
body.qualitive-public .q-panel h2,
body.qualitive-public .q-content-panel h2,
body.qualitive-public .q-split h2,
body.qualitive-public .q-pricing h2 {color:var(--q-ink)!important;}
body.qualitive-public .q-primary,
body.qualitive-public .q-head-cta {background:var(--q-brand);border-color:var(--q-brand);color:#fff;}
body.qualitive-public .q-primary:hover,
body.qualitive-public .q-head-cta:hover {background:var(--q-brand-hover);}
body.qualitive-public .q-secondary {border-color:#dfcde4;color:var(--q-brand);}
body.qualitive-public .q-secondary:hover {border-color:var(--q-brand);background:#fcf7fd;}
body.qualitive-public .q-topic-grid>div {background:#faf5fb;border-color:#ebdbea;}
/* Home page: use the uploaded mark's original aspect ratio as the hero motif. */
body .hero-mark {aspect-ratio:690 / 536;}
/* Home page: consistent logo purple without rewriting platform copy. */
body:not(.certlyst-page):not(.qualitive-public) .hero-button,
body:not(.certlyst-page):not(.qualitive-public) .icon-tile {background:linear-gradient(135deg,#752087,#5a116d);}
body:not(.certlyst-page):not(.qualitive-public) .hero-button:hover {filter:brightness(1.12);}
/* Template catalogue, library content and clear purchase actions. */
body.certlyst-page {--purple:#5a116d;--violet:#7b358a;--accent:#5a116d;--wash:#fbf8fc;}
body.certlyst-page.template-catalogue {background:#fbf8fc!important;}
body.certlyst-page .accent,
body.template-catalogue .stat-card strong {color:var(--q-brand)!important;}
body.template-catalogue .template,
body.template-catalogue .category-panel {border-color:#eaddeb;box-shadow:0 9px 28px rgba(55,19,62,.055);}
body.template-catalogue .template-actions button[data-preview],
body.template-catalogue .category-buttons button[aria-pressed="true"],
body.certlyst-page .primary-action {background:var(--q-brand);border-color:var(--q-brand);color:#fff;}
body.template-catalogue .template-actions button[data-preview]:hover {background:var(--q-brand-hover);}
body.certlyst-page .page-content,
body.certlyst-page .auth-shell {border-color:var(--q-border)!important;}
body.certlyst-page .eyebrow {color:var(--q-brand);}
/* On small screens the original accessible menu JS remains in charge. */
@media(max-width:1240px) {
  body .portal-header .portal-menu-toggle {color:var(--q-brand)!important;border-color:#e4d5e9!important;background:#faf5fb!important;}
  body .portal-header .portal-menu-icon>span {background:var(--q-brand)!important;}
  body .portal-header .portal-menu-panel {background:#fff!important;border-color:#eaddea!important;box-shadow:0 22px 50px rgba(44,18,48,.15)!important;}
  body .portal-header .portal-nav .portal-link {min-height:46px;padding:11px 14px!important;}
  body .portal-header .portal-account {border-top-color:#efdfef;}
}
@media(max-width:760px) {
  body .portal-footer .portal-footer-inner {grid-template-columns:1fr;gap:22px;padding:40px 22px 30px;}
  body .portal-footer nav {grid-template-columns:repeat(2,minmax(0,1fr));}
  body .portal-footer .portal-footer-bottom {text-align:left;margin:0 22px;}
  body.qualitive-public .q-hero {padding-top:47px;padding-bottom:55px;}
}
@media(max-width:420px) {
  body .portal-header .portal-header-inner {min-height:68px;}
  body .portal-header .portal-mark-box,body .portal-header .portal-mark-box img {width:38px;height:38px;}
  body .portal-header .portal-brand {font-size:21px;}
  body .portal-footer nav {grid-template-columns:1fr 1fr;gap:13px;}
}
@media(prefers-reduced-motion:reduce) {
  body .portal-header .portal-link,
  body .portal-header .portal-chatiso,
  body .portal-header .portal-signup {transition:none;}
}
/* END QUALITIVE_BARLOW_PURPLE_PRODUCTION_V2 */

/* BEGIN QUALITIVE_ONE_HEADER_EVERYWHERE_V1
   Premium dark Qualitive site design; shared by all public, library, and ISO pages.
   Only presentation changes; auth / purchase / workspace behavior unchanged. */
:root {
  --qp-night:#100818; --qp-header:#120b19; --qp-deep:#180d22;
  --qp-surface:#21152b; --qp-surface-2:#2a1936; --qp-border:#493052;
  --qp-ink:#f8f2fb; --qp-muted:#c9b9d2; --qp-purple:#5a116d;
  --qp-accent:#dca8ed; --qp-sky:#eed4f5; --qp-focus:#e5adf5;
  --qp-radius:20px; --qp-shadow:0 20px 50px rgba(5,1,9,.24);
}
body {font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif!important;}
body .portal-header,body.qualitive-certlyst-home .portal-header {
  position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;
  background:rgba(17,9,24,.98)!important;color:var(--qp-ink)!important;
  border:0!important;border-bottom:1px solid #42254b!important;
  box-shadow:0 9px 28px rgba(5,2,8,.23)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  font-family:"Barlow",system-ui,sans-serif!important;
}
body .portal-header .portal-header-inner {
  max-width:1360px!important;min-height:80px!important;margin:0 auto!important;
  padding:10px clamp(16px,3vw,40px)!important;display:flex!important;
  align-items:center!important;justify-content:space-between!important;
  gap:clamp(12px,1.25vw,21px)!important;flex-wrap:nowrap!important;
}
body .portal-header .portal-brand,body .portal-header .portal-brand:hover {
  display:inline-flex!important;align-items:center!important;gap:11px!important;flex:none!important;
  color:#fff!important;text-decoration:none!important;font-family:"Barlow",system-ui,sans-serif!important;
  font-size:25px!important;font-weight:800!important;letter-spacing:-.035em!important;
}
/* Purple icon needs a pale tile against the plum header for WCAG-level visibility. */
body .portal-header .portal-mark-box {
  display:grid!important;place-items:center!important;flex:none!important;
  width:45px!important;height:45px!important;padding:6px!important;
  background:#fcf8fe!important;border:1px solid #efdef3!important;
  border-radius:13px!important;box-shadow:0 2px 10px #03010638!important;
}
body .portal-header .portal-mark-box img {
  display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
}
body .portal-header .portal-menu-panel{align-items:center!important;gap:clamp(8px,1.2vw,19px)!important;}
body .portal-header .portal-nav{gap:clamp(3px,.65vw,13px)!important;align-items:center!important;}
body .portal-header .portal-nav .portal-link {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#e0cfe6!important;background:transparent!important;border:0!important;
  border-bottom:2px solid transparent!important;border-radius:0!important;
  min-height:43px!important;padding:10px 7px!important;text-decoration:none!important;
  font-family:"Barlow",system-ui,sans-serif!important;font-size:15px!important;
  font-weight:650!important;line-height:1.25!important;white-space:nowrap!important;
  transition:color .16s ease,border-color .16s ease,background .16s ease!important;
}
body .portal-header .portal-nav .portal-link:hover{
  color:#fff!important;background:transparent!important;border-bottom-color:#c785dc!important;
}
body .portal-header .portal-nav .portal-link.active{
  color:#fff!important;background:transparent!important;border-bottom-color:#da9ff0!important;
}
body .portal-header .portal-nav .portal-link[href$="/template"]{
  color:#fff!important;background:linear-gradient(135deg,#7e2893,#5a116d)!important;
  border:1px solid #9b55ad!important;border-radius:12px!important;
  min-height:44px!important;padding:11px 18px!important;
  box-shadow:0 6px 18px #5a116d54!important;
}
body .portal-header .portal-nav .portal-link[href$="/template"]:hover,
body .portal-header .portal-nav .portal-link[href$="/template"].active{
  background:linear-gradient(135deg,#943dad,#75208a)!important;
  border-color:#c27ad4!important;color:#fff!important;
}
body .portal-header .portal-account{margin-left:auto!important;align-items:center!important;gap:8px!important;flex:none!important;}
body .portal-header .portal-login,body .portal-header .portal-signup,body .portal-header .portal-chatiso{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:43px!important;padding:10px 15px!important;border-radius:12px!important;
  font-family:"Barlow",system-ui,sans-serif!important;font-size:14px!important;
  font-weight:700!important;white-space:nowrap!important;text-decoration:none!important;
}
body .portal-header .portal-login,body .portal-header .portal-chatiso {
  background:#23132c!important;color:#f3e6f8!important;border:1px solid #644272!important;
}
body .portal-header .portal-login:hover,body .portal-header .portal-chatiso:hover{
  background:#34203f!important;color:#fff!important;border-color:#b27ac3!important;
}
body .portal-header .portal-signup{
  color:#fff!important;background:#6d1a82!important;border:1px solid #a75bbb!important;
}
body .portal-header .portal-signup:hover{background:#86319b!important;color:#fff!important;}
body .portal-header .portal-profile-summary{
  color:#f7eefa!important;background:#281830!important;
  border:1px solid #644275!important;box-shadow:none!important;
}
body .portal-header .portal-profile-name{color:#f7eefa!important;}
body .portal-header .portal-avatar{background:#74218b!important;color:#fff!important;}
body .portal-header .portal-menu-toggle{
  background:#24132e!important;color:#f8eefa!important;border:1px solid #624071!important;
  border-radius:12px!important;
}
body .portal-header .portal-menu-toggle:hover,
body .portal-header .portal-menu-toggle[aria-expanded="true"]{
  background:#3a2046!important;border-color:#b981c9!important;
}
body .portal-header .portal-menu-icon>span{background:#fff!important;}
body .portal-header :is(a,button,summary):focus-visible,
body .portal-footer a:focus-visible {outline:3px solid var(--qp-focus)!important;outline-offset:3px!important;}
/* Keep JS breakpoint and CSS in lockstep. */
@media(max-width:1240px){
  body .portal-header .portal-header-inner{min-height:69px!important;padding:10px 18px!important;}
  body .portal-header .portal-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:44px!important;height:44px!important;}
  body .portal-header .portal-menu-panel{
    display:none!important;position:absolute!important;left:12px!important;right:12px!important;
    top:calc(100% + 1px)!important;max-height:calc(100dvh - 82px)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;z-index:1010!important;
    flex-direction:column!important;align-items:stretch!important;gap:10px!important;
    background:#1c1025!important;border:1px solid #5d3b69!important;
    border-radius:0 0 19px 19px!important;padding:15px!important;
    box-shadow:0 24px 46px #050109aa!important;
  }
  body .portal-header .portal-menu-panel.is-open{display:flex!important;}
  body .portal-header .portal-nav{
    display:flex!important;width:100%!important;flex-direction:column!important;
    align-items:stretch!important;gap:3px!important;
  }
  body .portal-header .portal-nav .portal-link{
    display:flex!important;width:100%!important;min-height:44px!important;
    justify-content:flex-start!important;text-align:left!important;
    padding:11px 14px!important;border:0!important;border-left:3px solid transparent!important;
    border-radius:10px!important;white-space:normal!important;
  }
  body .portal-header .portal-nav .portal-link:hover{
    background:#35213e!important;border-left-color:#b577c9!important;
  }
  body .portal-header .portal-nav .portal-link.active{
    background:#382143!important;border-left-color:#e0a4ef!important;
  }
  body .portal-header .portal-nav .portal-link[href$="/template"]{
    width:100%!important;justify-content:center!important;border:1px solid #9b55ad!important;
  }
  body .portal-header .portal-account{width:100%!important;margin:0!important;padding:12px 0!important;border-top:1px solid #4a2c54!important;}
  body .portal-header .portal-chatiso{width:100%!important;justify-content:center!important;}
}
@media(min-width:1241px){
  body .portal-header .portal-menu-toggle{display:none!important;}
  body .portal-header .portal-menu-panel{display:contents!important;}
}
@media(max-width:420px){
  body .portal-header .portal-brand{font-size:22px!important;}
  body .portal-header .portal-mark-box{width:38px!important;height:38px!important;padding:5px!important;}
}
/* Same footer treatment everywhere, independent of the page's stylesheet. */
body .portal-footer{background:#100819!important;border-top:1px solid #4c3056!important;color:#d3c0dc!important;font-family:"Barlow",system-ui,sans-serif!important;}
body .portal-footer .portal-footer-inner{max-width:1280px!important;}
body .portal-footer .portal-footer-brand{color:#fff!important;}
body .portal-footer .portal-footer-company p{color:#d0bbd8!important;}
body .portal-footer nav a,body .portal-footer a{color:#f1e6f6!important;}
body .portal-footer nav a:hover,body .portal-footer a:hover{color:#fff!important;}
body .portal-footer .portal-footer-bottom{border-top-color:#493151!important;color:#cbb6d4!important;}
body .portal-footer .portal-copyright{color:#cbb6d4!important;}
/* Editorial Qualitive pages: dark hero, readable cards and coherent hierarchy. */
body.qualitive-public{background:#130b1b!important;color:var(--qp-ink)!important;}
body.qualitive-public .q-hero{
  background:radial-gradient(ellipse at 83% 0%,rgba(97,25,116,.38),transparent 49%),
             linear-gradient(180deg,#160b20,#120a1a)!important;
  min-height:65vh;border:0!important;
}
body.qualitive-public .q-hero h1{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;}
body.qualitive-public .q-kicker{color:#dd9df0!important;}
body.qualitive-public .q-lead{color:#d1bfd9!important;}
body.qualitive-public .q-panel,body.qualitive-public .q-content-panel,
body.qualitive-public .q-split,body.qualitive-public .q-pricing{
  background:#21152b!important;border:1px solid #503458!important;
  color:#f7edf9!important;box-shadow:var(--qp-shadow)!important;
  border-radius:22px!important;
}
body.qualitive-public .q-panel h2,body.qualitive-public .q-panel h3,
body.qualitive-public .q-content-panel h2,body.qualitive-public .q-split h2,
body.qualitive-public .q-pricing h2,body.qualitive-public .q-topic-grid h3{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.qualitive-public .q-panel p,body.qualitive-public .q-panel li,
body.qualitive-public .q-split p,body.qualitive-public .q-pricing p,
body.qualitive-public .q-topic-grid p,body.qualitive-public .q-content-panel p,
body.qualitive-public .q-content-panel li {color:#d1bfd9!important;}
body.qualitive-public .q-topic-grid>div,body.qualitive-public .q-steps>div,
body.qualitive-public .library-policy-details .q-panel {
  background:#2a1b35!important;border:1px solid #53365e!important;
}
body.qualitive-public .q-steps b{color:#f3ddfa!important;}
body.qualitive-public .q-steps span{color:#d0badb!important;}
body.qualitive-public .q-notice{background:#382143!important;color:#f8edfb!important;}
body.qualitive-public .q-primary,body.qualitive-public .q-head-cta{
  background:#78218e!important;color:#fff!important;border-color:#a65bb8!important;
}
body.qualitive-public .q-primary:hover{background:#9035a3!important;}
body.qualitive-public .q-secondary{
  background:#2c1a36!important;color:#f3e2f9!important;border-color:#74517f!important;
}
body.qualitive-public .q-secondary:hover{background:#3d2548!important;}
body.qualitive-public .q-panel a,body.qualitive-public .q-text-link,
body.qualitive-public .q-content-panel a{color:#ebbbfa!important;text-decoration:underline;text-underline-offset:3px;}
body.qualitive-public .library-policy-details{border-top-color:#51365b!important;}
/* Templates: dark catalogue, high-contrast search and individual content cards. */
body.certlyst-page.template-catalogue{
  background:radial-gradient(circle at 100% 0%,#30183d 0,transparent 42%),#170d21!important;
  color:#f6eef9!important;--purple:#b96cd0;--violet:#d0a1e1;--ink:#f6eef9;
  --muted:#d3c1dd;--line:#503759;--wash:#170d21;--soft:#2c1b37;
}
body.template-catalogue h1,body.template-catalogue h2,
body.template-catalogue .stat-card span,body.template-catalogue .template h2 {color:#f9f2fb!important;}
body.template-catalogue .lead,body.template-catalogue .breadcrumb,
body.template-catalogue .count-title span,body.template-catalogue .advanced-filters,
body.template-catalogue .stat-card small{color:#cbb8d4!important;}
body.template-catalogue .breadcrumb a{color:#e0b7ec!important;}
body.template-catalogue .stat-card,body.template-catalogue .category-panel,
body.template-catalogue .template,body.template-catalogue .category-panel,
body.template-catalogue .template-pagination,
body.template-catalogue .preview-modal .modal-content {
  background:#24172e!important;color:#f6eef9!important;border-color:#50355b!important;
  box-shadow:0 10px 28px #0501093d!important;
}
body.template-catalogue .stat-card strong,body.template-catalogue .accent,
body.template-catalogue .eyebrow,body.template-catalogue .code{color:#dfa5f1!important;}
body.template-catalogue .category-panel h2,body.template-catalogue .security-note,
body.template-catalogue .security-note p {color:#cdb8d7!important;}
body.template-catalogue .category-buttons button{
  background:transparent!important;color:#ddcce5!important;
  border:1px solid transparent!important;
}
body.template-catalogue .category-buttons button:hover,
body.template-catalogue .category-buttons button[aria-pressed="true"]{
  background:#3c2448!important;color:#fff!important;border-color:#674374!important;
}
body.template-catalogue .category-count{background:#3a2841!important;color:#e8d8ec!important;}
body.template-catalogue .search-field input,body.template-catalogue .filter-grid select{
  background:#2a1b35!important;color:#fff!important;border:1px solid #745282!important;
}
body.template-catalogue .search-field input::placeholder{color:#c6b5d2!important;}
body.template-catalogue .filters,body.template-catalogue .view-buttons{
  background:#2b1d35!important;border-color:#594064!important;
}
body.template-catalogue .filters button,body.template-catalogue .view-buttons button{color:#d0bed9!important;}
body.template-catalogue .filters button[aria-pressed="true"],
body.template-catalogue .view-buttons button[aria-pressed="true"]{
  background:#4b285b!important;color:#fff!important;border-color:#8b559b!important;
}
body.template-catalogue .tag{background:#412b4d!important;border-color:#684274!important;color:#f4dcfb!important;}
body.template-catalogue .tag.department{background:#30223a!important;color:#d7c7dd!important;}
body.template-catalogue .thumbnail-button{background:#301d3a!important;}
body.template-catalogue .thumbnail-button:hover{background:#42244b!important;}
body.template-catalogue .thumb-frame{background:#fff!important;}
body.template-catalogue .template-actions{border-top-color:#5a3d66!important;}
body.template-catalogue .template-actions button{
  color:#f5e5fb!important;background:#352141!important;border-color:#79518b!important;
}
body.template-catalogue .template-actions button[data-preview]{
  color:#fff!important;background:#74218b!important;border-color:#a966ba!important;
}
body.template-catalogue .template-actions button[data-download]:hover{background:#452750!important;}
body.template-catalogue .template-pagination button{background:#2b1a36!important;color:#f5d9fc!important;border-color:#6f477d!important;}
body.template-catalogue .template-pagination span{color:#edddf4!important;}
/* Library legal / support pages use the same dark surfaces as public pages. */
body.certlyst-page main.container{background:#170d21!important;color:#f6edfa!important;}
body.certlyst-page main.container>h1,body.certlyst-page main.container>h2{color:#fff!important;}
body.certlyst-page main.container .subtitle{color:#cdbad8!important;}
body.certlyst-page main.container .eyebrow{color:#dfa9ef!important;}
body.certlyst-page main.container .page-content,
body.certlyst-page main.container .info-card,
body.certlyst-page main.container .price-card,
body.certlyst-page main.container .callout{
  background:#241630!important;border:1px solid #583963!important;
  color:#f5eaf9!important;box-shadow:var(--qp-shadow)!important;
}
body.certlyst-page main.container h2,body.certlyst-page main.container strong,
body.certlyst-page main.container .price-card h2{color:#fff!important;}
body.certlyst-page main.container p,body.certlyst-page main.container li{color:#d1bedb!important;}
body.certlyst-page main.container a{color:#e9b7f6!important;}
body.certlyst-page main.container .primary-action{background:#78218e!important;color:#fff!important;}
body.certlyst-page main.container .draft-warning{
  background:#3d2d19!important;color:#ffe9af!important;border-color:#8c6830!important;
}
/* Login, sign-up and profile: brand-coordinated dark canvas, clear form contrast. */
body.certlyst-page[data-mode="login"],body.certlyst-page[data-mode="signup"],
body.certlyst-page[data-mode="forgot"],body.certlyst-page[data-mode="reset"],
body.certlyst-page[data-mode="account"]{
  background:radial-gradient(circle at 50% 0%,#402050 0,transparent 48%),#170d21!important;
  color:#f6edfa!important;
}
body.certlyst-page .auth-shell{
  background:#25162f!important;color:#f6edfa!important;border:1px solid #61436b!important;
  box-shadow:0 22px 65px #09020f66!important;border-radius:24px!important;
}
body.certlyst-page .auth-shell h1,body.certlyst-page .auth-shell label{color:#f8effb!important;}
body.certlyst-page .auth-shell .eyebrow{color:#daa4ed!important;}
body.certlyst-page .auth-shell #intro{color:#d7c6df!important;}
body.certlyst-page .auth-shell input{
  background:#341f40!important;color:#fff!important;border:1px solid #785488!important;
  border-radius:12px!important;
}
body.certlyst-page .auth-shell input::placeholder{color:#cebed6!important;}
body.certlyst-page .auth-shell #links a{color:#ecc2f9!important;text-decoration:underline!important;}
body.certlyst-page .auth-shell button[type="submit"]{
  background:#78218e!important;color:#fff!important;border-radius:12px!important;
  font-family:"Barlow",system-ui,sans-serif!important;font-weight:750!important;
}
body.certlyst-page[data-mode="account"] .profile-heading h1,
body.certlyst-page[data-mode="account"] .profile-heading p:not(.eyebrow),
body.certlyst-page[data-mode="account"] .profile-breadcrumb {color:#f5e9f9!important;}
body.certlyst-page[data-mode="account"] .profile-breadcrumb a{color:#d9a6e7!important;}
body.certlyst-page[data-mode="account"] .profile-card{
  background:#251630!important;color:#f6eef9!important;border-color:#61416e!important;
  box-shadow:var(--qp-shadow)!important;
}
body.certlyst-page[data-mode="account"] .profile-card h2,
body.certlyst-page[data-mode="account"] .profile-card strong,
body.certlyst-page[data-mode="account"] .profile-card dd,
body.certlyst-page[data-mode="account"] .profile-shortcut strong{color:#f7eefa!important;}
body.certlyst-page[data-mode="account"] .profile-card p,
body.certlyst-page[data-mode="account"] .profile-card dt,
body.certlyst-page[data-mode="account"] .profile-shortcut small{color:#d0bbda!important;}
body.certlyst-page[data-mode="account"] .profile-shortcut{
  background:#34203e!important;border-color:#64426f!important;
}
body.certlyst-page[data-mode="account"] .profile-shortcut-symbol{
  background:#4d2a58!important;color:#ebc2f7!important;
}
body.certlyst-page[data-mode="account"] .profile-detail-list>div,
body.certlyst-page[data-mode="account"] .profile-access-status>div{border-color:#5e4067!important;}
/* Chatiso workspace: preserve app's light/dark work areas but harmonize its chrome. */
body .chatiso-workspace-tools{font-family:"Barlow",system-ui,sans-serif!important;}
body .chatiso-workspace-status{display:flex;align-items:center;flex-wrap:wrap;
  justify-content:flex-end;gap:10px;max-width:1140px;margin:0 auto 12px;padding:0 4px;
  font-family:"Barlow",system-ui,sans-serif!important;}
body .chatiso-workspace-status #user-box,body .chatiso-workspace-status #llm-badge{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;
}
/* Secure Downloads shares the dark catalogue visual language. */
body.certlyst-page:has(#downloadAll){background:#170d21!important;color:#f8eefb!important;}
body.certlyst-page:has(#downloadAll) .intro h1,
body.certlyst-page:has(#downloadAll) .panel h2{color:#fff!important;}
body.certlyst-page:has(#downloadAll) .intro p,
body.certlyst-page:has(#downloadAll) .panel p,
body.certlyst-page:has(#downloadAll) .disclaimer{color:#d1c0da!important;}
body.certlyst-page:has(#downloadAll) .eyebrow{color:#dca1ef!important;}
body.certlyst-page:has(#downloadAll) .panel{
  background:#251630!important;color:#f8eefb!important;
  border:1px solid #63426e!important;box-shadow:var(--qp-shadow)!important;
}
body.certlyst-page:has(#downloadAll) .panel li{border-top-color:#5b3e67!important;}
body.certlyst-page:has(#downloadAll) .panel li small,
body.certlyst-page:has(#downloadAll) .panel .toolbar span,
body.certlyst-page:has(#downloadAll) .search-label{color:#d3c2db!important;}
body.certlyst-page:has(#downloadAll) #search{
  background:#34223f!important;color:#fff!important;border-color:#80608d!important;
}
body.certlyst-page:has(#downloadAll) #downloadAll{
  background:#76218a!important;color:#fff!important;
}
/* Purchase/access dashboards retain distinct semantic status colors and dialogs. */
body.access-dashboard .access-heading>div>p,
body.access-dashboard .access-breadcrumb{color:#d3c0dd!important;}
body.access-dashboard .access-breadcrumb a{color:#e7b8f6!important;}
body.access-dashboard .access-step,body.access-dashboard .access-panel,
body.access-dashboard .access-info{
  background:#261931!important;color:#f8effb!important;
  border-color:#60416b!important;box-shadow:var(--qp-shadow)!important;
}
body.access-dashboard .access-step.complete{background:#2f2037!important;}
body.access-dashboard .access-step strong,body.access-dashboard .access-panel h2,
body.access-dashboard .access-panel .access-label{color:#f9f1fc!important;}
body.access-dashboard .access-step small,body.access-dashboard .access-muted,
body.access-dashboard .access-info p,body.access-dashboard .access-bottom{color:#d3c1dd!important;}
body.access-dashboard .access-secondary{background:#392344!important;color:#f1d7f9!important;border-color:#8c61a0!important;}
/* Transaction screens keep legible surfaces and their existing Paddle isolation. */
body.certlyst-page.purchase-body,body.certlyst-page.access-dashboard{
  background:#170d21!important;color:#f7eef9!important;
}
body.certlyst-page.purchase-body .purchase-heading h1,
body.certlyst-page.access-dashboard .access-heading h1{color:#fff!important;}
body.certlyst-page.purchase-body .purchase-breadcrumb,
body.certlyst-page.access-dashboard .access-breadcrumb{color:#d2bfdc!important;}
/* Keep overlay choices accessible and avoid changing any checkout iframe. */
@media(max-width:760px){
  body.qualitive-public .q-hero{padding-top:48px!important;}
  body .portal-footer .portal-footer-inner{padding:34px 18px 25px!important;}
  body.template-catalogue .search-row{align-items:stretch;}
}
@media(prefers-reduced-motion:reduce){
  body .portal-header .portal-link{transition:none!important;}
}
/* END QUALITIVE_ONE_HEADER_EVERYWHERE_V1 */


/* BEGIN QUALITIVE_CERTLYST_REFERENCE_HOME_V1
   Dark homepage matches the existing Certlyst design reference with the supplied
   Qualitive purple mark. Other pages and the shared chrome remain functional.
*/
body.qualitive-certlyst-home {
  color-scheme:dark;
  --bg:#0d0710;--surface:#1d1124;--surface-2:#160c1b;
  --border:#33203d;--border-strong:#6d3a82;
  --text:#f4eef6;--muted:#bfaec6;--accent:#d4a6e3;
  --eyebrow:#c58fd6;--title:#e6c8eb;--hero-mark-opacity:.35;
  --orb-a:rgba(90,17,109,.48);--orb-b:rgba(142,58,166,.23);
  --orb-c:rgba(58,15,71,.7);
  background:var(--bg);color:var(--text);
  font-family:"Barlow",system-ui,sans-serif;
}
body.qualitive-certlyst-home main {display:block;min-width:0;}
body.qualitive-certlyst-home .hero {
  min-height:615px;padding:119px 18px 83px;
  display:grid;place-items:center;
  background:radial-gradient(ellipse 44% 55% at 50% 40%,rgba(74,20,87,.36),transparent 85%),#0d0710;
}
body.qualitive-certlyst-home .hero-bg {z-index:0;}
body.qualitive-certlyst-home .hero-inner {z-index:1;position:relative;pointer-events:none;}
body.qualitive-certlyst-home .hero-inner a {pointer-events:auto;}
body.qualitive-certlyst-home .hero-mark {
  display:block;position:absolute;top:50%;bottom:auto;left:50%;
  width:min(610px,78vw);height:auto;max-width:none;aspect-ratio:690 / 536;
  transform:translate(-50%,-50%);object-fit:contain;
  opacity:var(--hero-mark-opacity);filter:drop-shadow(0 20px 30px rgba(75,11,95,.22));
}
body.qualitive-certlyst-home .hero h1 {
  font-family:"Barlow",system-ui,sans-serif;
  font-weight:750;font-size:clamp(67px,7.2vw,114px);line-height:1.02;
  letter-spacing:-.045em;color:#ead2ee;text-shadow:0 0 60px rgba(145,57,165,.34);
}
body.qualitive-certlyst-home .hero .subtitle {
  color:#f4eef6;font-size:clamp(24px,2.3vw,36px);font-weight:700;margin-top:22px;
}
body.qualitive-certlyst-home .hero .tagline {
  font-size:clamp(18px,1.75vw,26px);color:#c8b8d1;margin-top:27px;word-spacing:.08em;
}
body.qualitive-certlyst-home .hero-button {
  margin-top:34px;padding:15px 36px;border-radius:14px;
  font-size:17px;font-weight:700;box-shadow:0 18px 46px rgba(74,17,91,.3);
}
body.qualitive-certlyst-home .platform {padding-top:0;}
body.qualitive-certlyst-home #platform-title {margin:0 0 25px;color:#d0b0db;font-size:16px;}
body.qualitive-certlyst-home .panel {border-radius:32px;padding:20px;background:linear-gradient(#0f0913,#0f0913) padding-box,linear-gradient(135deg,#673276,#27182c) border-box;}
body.qualitive-certlyst-home .grid {gap:22px;}
body.qualitive-certlyst-home .card {min-height:226px;padding:30px 29px 28px;background:linear-gradient(160deg,#201327,#170d1d);border:1px solid #38213f;border-radius:21px;}
body.qualitive-certlyst-home .card h3 {font-size:clamp(20px,1.7vw,25px);font-weight:700;color:#f7eef8;margin:20px 0 10px;}
body.qualitive-certlyst-home .card p {font-size:clamp(16px,1.3vw,20px);line-height:1.55;color:#c8b9cd;}
body.qualitive-certlyst-home .icon-tile {width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,#803091,#5a116d);}
body.qualitive-certlyst-home .icon {width:28px;height:28px;}
body.qualitive-certlyst-home .platform-availability-note {max-width:920px;margin:20px 4px 0;color:#baabc0;font-size:13px;line-height:1.6;}
body.qualitive-certlyst-home .library-feature {margin-top:68px;}
body.qualitive-certlyst-home .library-feature-inner {background:linear-gradient(145deg,#1d1124,#170c1c);border:1px solid #663375;}
body.qualitive-certlyst-home .library-feature h2 {color:#f6eaf8;}
body.qualitive-certlyst-home .library-highlights li {background:#130b17;color:#f4e8f6;}
body.qualitive-certlyst-home .library-highlights strong {color:#eed7f3;}
body.qualitive-certlyst-home .library-highlights span {color:#c3b0ca;}
body.qualitive-certlyst-home .library-actions .library-primary {background:#5a116d;color:#fff;}
body.qualitive-certlyst-home .library-actions .library-secondary {color:#e1c9e9;border:1px solid #7a498b;}
body.qualitive-certlyst-home .chatiso {margin-top:74px;}
body.qualitive-certlyst-home .portal-header {background:#100917!important;border-bottom:1px solid #38223e!important;box-shadow:none!important;color:#f6eef7!important;}
body.qualitive-certlyst-home .portal-header .portal-brand,
body.qualitive-certlyst-home .portal-header .portal-brand:hover {color:#fff!important;}
body.qualitive-certlyst-home .portal-header .portal-mark-box {background:white!important;border-radius:12px!important;padding:5px;}
body.qualitive-certlyst-home .portal-header .portal-mark-box img {width:100%!important;height:100%!important;}
body.qualitive-certlyst-home .portal-header .portal-link {color:#e0cfeb!important;background:transparent!important;}
body.qualitive-certlyst-home .portal-header .portal-link:hover,
body.qualitive-certlyst-home .portal-header .portal-link.active {color:#fff!important;background:#28142f!important;border-color:#573161!important;}
body.qualitive-certlyst-home .portal-header .portal-nav .portal-link[href$="/template"] {color:white!important;background:#5a116d!important;border-color:#82318f!important;}
body.qualitive-certlyst-home .portal-header .portal-chatiso,
body.qualitive-certlyst-home .portal-header .portal-login {background:#1b1023!important;color:#f3e3f5!important;border-color:#644171!important;}
body.qualitive-certlyst-home .portal-header .portal-signup {background:#5a116d!important;color:white!important;border-color:#812e90!important;}
body.qualitive-certlyst-home .portal-header .portal-profile-summary {background:#25152f!important;color:#fff!important;border-color:#644171!important;}
body.qualitive-certlyst-home .portal-header .portal-profile-name {color:#fff!important;}
body.qualitive-certlyst-home .portal-footer {margin-top:75px;}
@media(max-width:1240px){
  body.qualitive-certlyst-home .portal-header .portal-menu-toggle {background:#24142e!important;color:#fff!important;border-color:#6b467b!important;}
  body.qualitive-certlyst-home .portal-header .portal-menu-icon>span {background:#fff!important;}
  body.qualitive-certlyst-home .portal-header .portal-menu-panel {background:#190e20!important;border-color:#4a2d55!important;}
  body.qualitive-certlyst-home .portal-header .portal-nav .portal-link {color:#f2e7f4!important;}
  body.qualitive-certlyst-home .portal-header .portal-account {border-top-color:#43254e!important;}
}
@media(max-width:720px){
  body.qualitive-certlyst-home .hero {min-height:540px;padding:95px 14px 72px;}
  body.qualitive-certlyst-home .hero-mark {width:min(540px,115vw);}
  body.qualitive-certlyst-home .hero h1 {font-size:clamp(57px,12vw,83px);}
  body.qualitive-certlyst-home .hero .subtitle {font-size:clamp(22px,6vw,28px);}
  body.qualitive-certlyst-home .panel {padding:10px;border-radius:24px;}
  body.qualitive-certlyst-home .card {padding:23px;min-height:auto;}
  body.qualitive-certlyst-home .grid {gap:12px;}
  body.qualitive-certlyst-home .library-feature-inner {padding:24px;}
}
@media(prefers-reduced-motion:reduce){
  body.qualitive-certlyst-home .card,body.qualitive-certlyst-home .hero-button {transition:none;}
}
/* END QUALITIVE_CERTLYST_REFERENCE_HOME_V1 */

/* BEGIN QUALITIVE_ONE_HEADER_EVERYWHERE_V1
   Premium dark Qualitive site design; shared by all public, library, and ISO pages.
   Only presentation changes; auth / purchase / workspace behavior unchanged. */
:root {
  --qp-night:#100818; --qp-header:#120b19; --qp-deep:#180d22;
  --qp-surface:#21152b; --qp-surface-2:#2a1936; --qp-border:#493052;
  --qp-ink:#f8f2fb; --qp-muted:#c9b9d2; --qp-purple:#5a116d;
  --qp-accent:#dca8ed; --qp-sky:#eed4f5; --qp-focus:#e5adf5;
  --qp-radius:20px; --qp-shadow:0 20px 50px rgba(5,1,9,.24);
}
body {font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif!important;}
body .portal-header,body.qualitive-certlyst-home .portal-header {
  position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;
  background:rgba(17,9,24,.98)!important;color:var(--qp-ink)!important;
  border:0!important;border-bottom:1px solid #42254b!important;
  box-shadow:0 9px 28px rgba(5,2,8,.23)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  font-family:"Barlow",system-ui,sans-serif!important;
}
body .portal-header .portal-header-inner {
  max-width:1360px!important;min-height:80px!important;margin:0 auto!important;
  padding:10px clamp(16px,3vw,40px)!important;display:flex!important;
  align-items:center!important;justify-content:space-between!important;
  gap:clamp(12px,1.25vw,21px)!important;flex-wrap:nowrap!important;
}
body .portal-header .portal-brand,body .portal-header .portal-brand:hover {
  display:inline-flex!important;align-items:center!important;gap:11px!important;flex:none!important;
  color:#fff!important;text-decoration:none!important;font-family:"Barlow",system-ui,sans-serif!important;
  font-size:25px!important;font-weight:800!important;letter-spacing:-.035em!important;
}
/* Purple icon needs a pale tile against the plum header for WCAG-level visibility. */
body .portal-header .portal-mark-box {
  display:grid!important;place-items:center!important;flex:none!important;
  width:45px!important;height:45px!important;padding:6px!important;
  background:#fcf8fe!important;border:1px solid #efdef3!important;
  border-radius:13px!important;box-shadow:0 2px 10px #03010638!important;
}
body .portal-header .portal-mark-box img {
  display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
}
body .portal-header .portal-menu-panel{align-items:center!important;gap:clamp(8px,1.2vw,19px)!important;}
body .portal-header .portal-nav{gap:clamp(3px,.65vw,13px)!important;align-items:center!important;}
body .portal-header .portal-nav .portal-link {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#e0cfe6!important;background:transparent!important;border:0!important;
  border-bottom:2px solid transparent!important;border-radius:0!important;
  min-height:43px!important;padding:10px 7px!important;text-decoration:none!important;
  font-family:"Barlow",system-ui,sans-serif!important;font-size:15px!important;
  font-weight:650!important;line-height:1.25!important;white-space:nowrap!important;
  transition:color .16s ease,border-color .16s ease,background .16s ease!important;
}
body .portal-header .portal-nav .portal-link:hover{
  color:#fff!important;background:transparent!important;border-bottom-color:#c785dc!important;
}
body .portal-header .portal-nav .portal-link.active{
  color:#fff!important;background:transparent!important;border-bottom-color:#da9ff0!important;
}
body .portal-header .portal-nav .portal-link[href$="/template"]{
  color:#fff!important;background:linear-gradient(135deg,#7e2893,#5a116d)!important;
  border:1px solid #9b55ad!important;border-radius:12px!important;
  min-height:44px!important;padding:11px 18px!important;
  box-shadow:0 6px 18px #5a116d54!important;
}
body .portal-header .portal-nav .portal-link[href$="/template"]:hover,
body .portal-header .portal-nav .portal-link[href$="/template"].active{
  background:linear-gradient(135deg,#943dad,#75208a)!important;
  border-color:#c27ad4!important;color:#fff!important;
}
body .portal-header .portal-account{margin-left:auto!important;align-items:center!important;gap:8px!important;flex:none!important;}
body .portal-header .portal-login,body .portal-header .portal-signup,body .portal-header .portal-chatiso{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:43px!important;padding:10px 15px!important;border-radius:12px!important;
  font-family:"Barlow",system-ui,sans-serif!important;font-size:14px!important;
  font-weight:700!important;white-space:nowrap!important;text-decoration:none!important;
}
body .portal-header .portal-login,body .portal-header .portal-chatiso {
  background:#23132c!important;color:#f3e6f8!important;border:1px solid #644272!important;
}
body .portal-header .portal-login:hover,body .portal-header .portal-chatiso:hover{
  background:#34203f!important;color:#fff!important;border-color:#b27ac3!important;
}
body .portal-header .portal-signup{
  color:#fff!important;background:#6d1a82!important;border:1px solid #a75bbb!important;
}
body .portal-header .portal-signup:hover{background:#86319b!important;color:#fff!important;}
body .portal-header .portal-profile-summary{
  color:#f7eefa!important;background:#281830!important;
  border:1px solid #644275!important;box-shadow:none!important;
}
body .portal-header .portal-profile-name{color:#f7eefa!important;}
body .portal-header .portal-avatar{background:#74218b!important;color:#fff!important;}
body .portal-header .portal-menu-toggle{
  background:#24132e!important;color:#f8eefa!important;border:1px solid #624071!important;
  border-radius:12px!important;
}
body .portal-header .portal-menu-toggle:hover,
body .portal-header .portal-menu-toggle[aria-expanded="true"]{
  background:#3a2046!important;border-color:#b981c9!important;
}
body .portal-header .portal-menu-icon>span{background:#fff!important;}
body .portal-header :is(a,button,summary):focus-visible,
body .portal-footer a:focus-visible {outline:3px solid var(--qp-focus)!important;outline-offset:3px!important;}
/* Keep JS breakpoint and CSS in lockstep. */
@media(max-width:1240px){
  body .portal-header .portal-header-inner{min-height:69px!important;padding:10px 18px!important;}
  body .portal-header .portal-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:44px!important;height:44px!important;}
  body .portal-header .portal-menu-panel{
    display:none!important;position:absolute!important;left:12px!important;right:12px!important;
    top:calc(100% + 1px)!important;max-height:calc(100dvh - 82px)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;z-index:1010!important;
    flex-direction:column!important;align-items:stretch!important;gap:10px!important;
    background:#1c1025!important;border:1px solid #5d3b69!important;
    border-radius:0 0 19px 19px!important;padding:15px!important;
    box-shadow:0 24px 46px #050109aa!important;
  }
  body .portal-header .portal-menu-panel.is-open{display:flex!important;}
  body .portal-header .portal-nav{
    display:flex!important;width:100%!important;flex-direction:column!important;
    align-items:stretch!important;gap:3px!important;
  }
  body .portal-header .portal-nav .portal-link{
    display:flex!important;width:100%!important;min-height:44px!important;
    justify-content:flex-start!important;text-align:left!important;
    padding:11px 14px!important;border:0!important;border-left:3px solid transparent!important;
    border-radius:10px!important;white-space:normal!important;
  }
  body .portal-header .portal-nav .portal-link:hover{
    background:#35213e!important;border-left-color:#b577c9!important;
  }
  body .portal-header .portal-nav .portal-link.active{
    background:#382143!important;border-left-color:#e0a4ef!important;
  }
  body .portal-header .portal-nav .portal-link[href$="/template"]{
    width:100%!important;justify-content:center!important;border:1px solid #9b55ad!important;
  }
  body .portal-header .portal-account{width:100%!important;margin:0!important;padding:12px 0!important;border-top:1px solid #4a2c54!important;}
  body .portal-header .portal-chatiso{width:100%!important;justify-content:center!important;}
}
@media(min-width:1241px){
  body .portal-header .portal-menu-toggle{display:none!important;}
  body .portal-header .portal-menu-panel{display:contents!important;}
}
@media(max-width:420px){
  body .portal-header .portal-brand{font-size:22px!important;}
  body .portal-header .portal-mark-box{width:38px!important;height:38px!important;padding:5px!important;}
}
/* Same footer treatment everywhere, independent of the page's stylesheet. */
body .portal-footer{background:#100819!important;border-top:1px solid #4c3056!important;color:#d3c0dc!important;font-family:"Barlow",system-ui,sans-serif!important;}
body .portal-footer .portal-footer-inner{max-width:1280px!important;}
body .portal-footer .portal-footer-brand{color:#fff!important;}
body .portal-footer .portal-footer-company p{color:#d0bbd8!important;}
body .portal-footer nav a,body .portal-footer a{color:#f1e6f6!important;}
body .portal-footer nav a:hover,body .portal-footer a:hover{color:#fff!important;}
body .portal-footer .portal-footer-bottom{border-top-color:#493151!important;color:#cbb6d4!important;}
body .portal-footer .portal-copyright{color:#cbb6d4!important;}
/* Editorial Qualitive pages: dark hero, readable cards and coherent hierarchy. */
body.qualitive-public{background:#130b1b!important;color:var(--qp-ink)!important;}
body.qualitive-public .q-hero{
  background:radial-gradient(ellipse at 83% 0%,rgba(97,25,116,.38),transparent 49%),
             linear-gradient(180deg,#160b20,#120a1a)!important;
  min-height:65vh;border:0!important;
}
body.qualitive-public .q-hero h1{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;}
body.qualitive-public .q-kicker{color:#dd9df0!important;}
body.qualitive-public .q-lead{color:#d1bfd9!important;}
body.qualitive-public .q-panel,body.qualitive-public .q-content-panel,
body.qualitive-public .q-split,body.qualitive-public .q-pricing{
  background:#21152b!important;border:1px solid #503458!important;
  color:#f7edf9!important;box-shadow:var(--qp-shadow)!important;
  border-radius:22px!important;
}
body.qualitive-public .q-panel h2,body.qualitive-public .q-panel h3,
body.qualitive-public .q-content-panel h2,body.qualitive-public .q-split h2,
body.qualitive-public .q-pricing h2,body.qualitive-public .q-topic-grid h3{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.qualitive-public .q-panel p,body.qualitive-public .q-panel li,
body.qualitive-public .q-split p,body.qualitive-public .q-pricing p,
body.qualitive-public .q-topic-grid p,body.qualitive-public .q-content-panel p,
body.qualitive-public .q-content-panel li {color:#d1bfd9!important;}
body.qualitive-public .q-topic-grid>div,body.qualitive-public .q-steps>div,
body.qualitive-public .library-policy-details .q-panel {
  background:#2a1b35!important;border:1px solid #53365e!important;
}
body.qualitive-public .q-steps b{color:#f3ddfa!important;}
body.qualitive-public .q-steps span{color:#d0badb!important;}
body.qualitive-public .q-notice{background:#382143!important;color:#f8edfb!important;}
body.qualitive-public .q-primary,body.qualitive-public .q-head-cta{
  background:#78218e!important;color:#fff!important;border-color:#a65bb8!important;
}
body.qualitive-public .q-primary:hover{background:#9035a3!important;}
body.qualitive-public .q-secondary{
  background:#2c1a36!important;color:#f3e2f9!important;border-color:#74517f!important;
}
body.qualitive-public .q-secondary:hover{background:#3d2548!important;}
body.qualitive-public .q-panel a,body.qualitive-public .q-text-link,
body.qualitive-public .q-content-panel a{color:#ebbbfa!important;text-decoration:underline;text-underline-offset:3px;}
body.qualitive-public .library-policy-details{border-top-color:#51365b!important;}
/* Templates: dark catalogue, high-contrast search and individual content cards. */
body.certlyst-page.template-catalogue{
  background:radial-gradient(circle at 100% 0%,#30183d 0,transparent 42%),#170d21!important;
  color:#f6eef9!important;--purple:#b96cd0;--violet:#d0a1e1;--ink:#f6eef9;
  --muted:#d3c1dd;--line:#503759;--wash:#170d21;--soft:#2c1b37;
}
body.template-catalogue h1,body.template-catalogue h2,
body.template-catalogue .stat-card span,body.template-catalogue .template h2 {color:#f9f2fb!important;}
body.template-catalogue .lead,body.template-catalogue .breadcrumb,
body.template-catalogue .count-title span,body.template-catalogue .advanced-filters,
body.template-catalogue .stat-card small{color:#cbb8d4!important;}
body.template-catalogue .breadcrumb a{color:#e0b7ec!important;}
body.template-catalogue .stat-card,body.template-catalogue .category-panel,
body.template-catalogue .template,body.template-catalogue .category-panel,
body.template-catalogue .template-pagination,
body.template-catalogue .preview-modal .modal-content {
  background:#24172e!important;color:#f6eef9!important;border-color:#50355b!important;
  box-shadow:0 10px 28px #0501093d!important;
}
body.template-catalogue .stat-card strong,body.template-catalogue .accent,
body.template-catalogue .eyebrow,body.template-catalogue .code{color:#dfa5f1!important;}
body.template-catalogue .category-panel h2,body.template-catalogue .security-note,
body.template-catalogue .security-note p {color:#cdb8d7!important;}
body.template-catalogue .category-buttons button{
  background:transparent!important;color:#ddcce5!important;
  border:1px solid transparent!important;
}
body.template-catalogue .category-buttons button:hover,
body.template-catalogue .category-buttons button[aria-pressed="true"]{
  background:#3c2448!important;color:#fff!important;border-color:#674374!important;
}
body.template-catalogue .category-count{background:#3a2841!important;color:#e8d8ec!important;}
body.template-catalogue .search-field input,body.template-catalogue .filter-grid select{
  background:#2a1b35!important;color:#fff!important;border:1px solid #745282!important;
}
body.template-catalogue .search-field input::placeholder{color:#c6b5d2!important;}
body.template-catalogue .filters,body.template-catalogue .view-buttons{
  background:#2b1d35!important;border-color:#594064!important;
}
body.template-catalogue .filters button,body.template-catalogue .view-buttons button{color:#d0bed9!important;}
body.template-catalogue .filters button[aria-pressed="true"],
body.template-catalogue .view-buttons button[aria-pressed="true"]{
  background:#4b285b!important;color:#fff!important;border-color:#8b559b!important;
}
body.template-catalogue .tag{background:#412b4d!important;border-color:#684274!important;color:#f4dcfb!important;}
body.template-catalogue .tag.department{background:#30223a!important;color:#d7c7dd!important;}
body.template-catalogue .thumbnail-button{background:#301d3a!important;}
body.template-catalogue .thumbnail-button:hover{background:#42244b!important;}
body.template-catalogue .thumb-frame{background:#fff!important;}
body.template-catalogue .template-actions{border-top-color:#5a3d66!important;}
body.template-catalogue .template-actions button{
  color:#f5e5fb!important;background:#352141!important;border-color:#79518b!important;
}
body.template-catalogue .template-actions button[data-preview]{
  color:#fff!important;background:#74218b!important;border-color:#a966ba!important;
}
body.template-catalogue .template-actions button[data-download]:hover{background:#452750!important;}
body.template-catalogue .template-pagination button{background:#2b1a36!important;color:#f5d9fc!important;border-color:#6f477d!important;}
body.template-catalogue .template-pagination span{color:#edddf4!important;}
/* Library legal / support pages use the same dark surfaces as public pages. */
body.certlyst-page main.container{background:#170d21!important;color:#f6edfa!important;}
body.certlyst-page main.container>h1,body.certlyst-page main.container>h2{color:#fff!important;}
body.certlyst-page main.container .subtitle{color:#cdbad8!important;}
body.certlyst-page main.container .eyebrow{color:#dfa9ef!important;}
body.certlyst-page main.container .page-content,
body.certlyst-page main.container .info-card,
body.certlyst-page main.container .price-card,
body.certlyst-page main.container .callout{
  background:#241630!important;border:1px solid #583963!important;
  color:#f5eaf9!important;box-shadow:var(--qp-shadow)!important;
}
body.certlyst-page main.container h2,body.certlyst-page main.container strong,
body.certlyst-page main.container .price-card h2{color:#fff!important;}
body.certlyst-page main.container p,body.certlyst-page main.container li{color:#d1bedb!important;}
body.certlyst-page main.container a{color:#e9b7f6!important;}
body.certlyst-page main.container .primary-action{background:#78218e!important;color:#fff!important;}
body.certlyst-page main.container .draft-warning{
  background:#3d2d19!important;color:#ffe9af!important;border-color:#8c6830!important;
}
/* Login, sign-up and profile: brand-coordinated dark canvas, clear form contrast. */
body.certlyst-page[data-mode="login"],body.certlyst-page[data-mode="signup"],
body.certlyst-page[data-mode="forgot"],body.certlyst-page[data-mode="reset"],
body.certlyst-page[data-mode="account"]{
  background:radial-gradient(circle at 50% 0%,#402050 0,transparent 48%),#170d21!important;
  color:#f6edfa!important;
}
body.certlyst-page .auth-shell{
  background:#25162f!important;color:#f6edfa!important;border:1px solid #61436b!important;
  box-shadow:0 22px 65px #09020f66!important;border-radius:24px!important;
}
body.certlyst-page .auth-shell h1,body.certlyst-page .auth-shell label{color:#f8effb!important;}
body.certlyst-page .auth-shell .eyebrow{color:#daa4ed!important;}
body.certlyst-page .auth-shell #intro{color:#d7c6df!important;}
body.certlyst-page .auth-shell input{
  background:#341f40!important;color:#fff!important;border:1px solid #785488!important;
  border-radius:12px!important;
}
body.certlyst-page .auth-shell input::placeholder{color:#cebed6!important;}
body.certlyst-page .auth-shell #links a{color:#ecc2f9!important;text-decoration:underline!important;}
body.certlyst-page .auth-shell button[type="submit"]{
  background:#78218e!important;color:#fff!important;border-radius:12px!important;
  font-family:"Barlow",system-ui,sans-serif!important;font-weight:750!important;
}
body.certlyst-page[data-mode="account"] .profile-heading h1,
body.certlyst-page[data-mode="account"] .profile-heading p:not(.eyebrow),
body.certlyst-page[data-mode="account"] .profile-breadcrumb {color:#f5e9f9!important;}
body.certlyst-page[data-mode="account"] .profile-breadcrumb a{color:#d9a6e7!important;}
body.certlyst-page[data-mode="account"] .profile-card{
  background:#251630!important;color:#f6eef9!important;border-color:#61416e!important;
  box-shadow:var(--qp-shadow)!important;
}
body.certlyst-page[data-mode="account"] .profile-card h2,
body.certlyst-page[data-mode="account"] .profile-card strong,
body.certlyst-page[data-mode="account"] .profile-card dd,
body.certlyst-page[data-mode="account"] .profile-shortcut strong{color:#f7eefa!important;}
body.certlyst-page[data-mode="account"] .profile-card p,
body.certlyst-page[data-mode="account"] .profile-card dt,
body.certlyst-page[data-mode="account"] .profile-shortcut small{color:#d0bbda!important;}
body.certlyst-page[data-mode="account"] .profile-shortcut{
  background:#34203e!important;border-color:#64426f!important;
}
body.certlyst-page[data-mode="account"] .profile-shortcut-symbol{
  background:#4d2a58!important;color:#ebc2f7!important;
}
body.certlyst-page[data-mode="account"] .profile-detail-list>div,
body.certlyst-page[data-mode="account"] .profile-access-status>div{border-color:#5e4067!important;}
/* Chatiso workspace: preserve app's light/dark work areas but harmonize its chrome. */
body .chatiso-workspace-tools{font-family:"Barlow",system-ui,sans-serif!important;}
body .chatiso-workspace-status{display:flex;align-items:center;flex-wrap:wrap;
  justify-content:flex-end;gap:10px;max-width:1140px;margin:0 auto 12px;padding:0 4px;
  font-family:"Barlow",system-ui,sans-serif!important;}
body .chatiso-workspace-status #user-box,body .chatiso-workspace-status #llm-badge{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;
}
/* Secure Downloads shares the dark catalogue visual language. */
body.certlyst-page:has(#downloadAll){background:#170d21!important;color:#f8eefb!important;}
body.certlyst-page:has(#downloadAll) .intro h1,
body.certlyst-page:has(#downloadAll) .panel h2{color:#fff!important;}
body.certlyst-page:has(#downloadAll) .intro p,
body.certlyst-page:has(#downloadAll) .panel p,
body.certlyst-page:has(#downloadAll) .disclaimer{color:#d1c0da!important;}
body.certlyst-page:has(#downloadAll) .eyebrow{color:#dca1ef!important;}
body.certlyst-page:has(#downloadAll) .panel{
  background:#251630!important;color:#f8eefb!important;
  border:1px solid #63426e!important;box-shadow:var(--qp-shadow)!important;
}
body.certlyst-page:has(#downloadAll) .panel li{border-top-color:#5b3e67!important;}
body.certlyst-page:has(#downloadAll) .panel li small,
body.certlyst-page:has(#downloadAll) .panel .toolbar span,
body.certlyst-page:has(#downloadAll) .search-label{color:#d3c2db!important;}
body.certlyst-page:has(#downloadAll) #search{
  background:#34223f!important;color:#fff!important;border-color:#80608d!important;
}
body.certlyst-page:has(#downloadAll) #downloadAll{
  background:#76218a!important;color:#fff!important;
}
/* Purchase/access dashboards retain distinct semantic status colors and dialogs. */
body.access-dashboard .access-heading>div>p,
body.access-dashboard .access-breadcrumb{color:#d3c0dd!important;}
body.access-dashboard .access-breadcrumb a{color:#e7b8f6!important;}
body.access-dashboard .access-step,body.access-dashboard .access-panel,
body.access-dashboard .access-info{
  background:#261931!important;color:#f8effb!important;
  border-color:#60416b!important;box-shadow:var(--qp-shadow)!important;
}
body.access-dashboard .access-step.complete{background:#2f2037!important;}
body.access-dashboard .access-step strong,body.access-dashboard .access-panel h2,
body.access-dashboard .access-panel .access-label{color:#f9f1fc!important;}
body.access-dashboard .access-step small,body.access-dashboard .access-muted,
body.access-dashboard .access-info p,body.access-dashboard .access-bottom{color:#d3c1dd!important;}
body.access-dashboard .access-secondary{background:#392344!important;color:#f1d7f9!important;border-color:#8c61a0!important;}
/* Transaction screens keep legible surfaces and their existing Paddle isolation. */
body.certlyst-page.purchase-body,body.certlyst-page.access-dashboard{
  background:#170d21!important;color:#f7eef9!important;
}
body.certlyst-page.purchase-body .purchase-heading h1,
body.certlyst-page.access-dashboard .access-heading h1{color:#fff!important;}
body.certlyst-page.purchase-body .purchase-breadcrumb,
body.certlyst-page.access-dashboard .access-breadcrumb{color:#d2bfdc!important;}
/* Keep overlay choices accessible and avoid changing any checkout iframe. */
@media(max-width:760px){
  body.qualitive-public .q-hero{padding-top:48px!important;}
  body .portal-footer .portal-footer-inner{padding:34px 18px 25px!important;}
  body.template-catalogue .search-row{align-items:stretch;}
}
@media(prefers-reduced-motion:reduce){
  body .portal-header .portal-link{transition:none!important;}
}
/* END QUALITIVE_ONE_HEADER_EVERYWHERE_V1 */
