/* TransVare.com, global site styles
   Brand: navy #2D2E5F, magenta #E91E63, orange #FF6B35, pearl #FBF7F4, mauve #8E7B8A
   Neutrals: ink #0F172A, slate #475569, mist #94A3B8, hairline #E2E8F0, linen #F5F2EC
   Type: Bahnschrift with system fallbacks. Shared brand tokens with product-specific gradient surfaces. */

:root {
  --tv-pearl: #FBF7F4;
  --tv-centre-clear: rgb(251 247 244 / .92);
  --tv-navy-wash: rgb(45 46 95 / .38);
  --tv-orange-glow: rgb(255 107 53 / .42);
  --tv-magenta-glow: rgb(233 30 99 / .40);
  --tv-sky-glow: rgb(120 170 230 / .42);
  --tv-magenta-soft: rgb(233 30 99 / .14);
  --navy: #2D2E5F;
  --navy-deep: #1F2047;
  --magenta: #E91E63;
  --magenta-dark: #C2185B;
  --orange: #FF6B35;
  --pearl: #FBF7F4;
  --linen: #F5F2EC;
  --mauve: #8E7B8A;
  --white: #FFFFFF;
  --ink: #0F172A;
  --slate: #475569;
  --mist: #94A3B8;
  --hairline: #E2E8F0;
  --radius: 10px;
  --radius-sm: 6px;
  --max: 1200px;
  --font: "Bahnschrift", "Barlow", "DIN Alternate", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mesh-base: #FBF7F4;
  --mesh-glow-blue: #B7D0EC;
  --mesh-glow-pink: #EBC8E6;
  --mesh-glow-mauve: #D9C3DA;
  --mesh-line-blue: #6F86D6;
  --mesh-line-violet: #7B5FC7;
  --mesh-line-pink: #C98BD6;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body {
  margin: 0;
  overflow-x: hidden;
  overflow-x: clip;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--magenta-dark); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, h4 { color: var(--navy); line-height: 1.2; margin: 0 0 .5em; font-weight: 600; letter-spacing: -0.01em; }
h1 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3 { font-size: 1.2rem; }
h4 { font-size: 1rem; }
p { margin: 0 0 1em; }
.lead { font-size: 1.2rem; color: var(--slate); max-width: 46rem; }
.muted { color: var(--slate); }
.small { font-size: .9rem; }
.skip { position: absolute; left: -9999px; }
[hidden] { display: none !important; }
.skip:focus { left: 16px; top: 16px; background: var(--white); padding: 8px 12px; z-index: 1000; }

.wrap { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
.section { padding: 88px 0; }
.section.tight { padding: 56px 0; }
.section.pearl { background: var(--pearl); }
.section.linen { background: var(--linen); }
.section.navy { background: var(--navy); color: #E6E7F2; }
.section.navy h2, .section.navy h3 { color: var(--white); }
.section.navy .muted, .section.navy .lead { color: #C9CBE0; }
.eyebrow {
  display: inline-block; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--magenta-dark); margin-bottom: 12px;
}
.section.navy .eyebrow { color: #FF9AC0; }
.section-head { max-width: 760px; margin-bottom: 44px; }
.center { text-align: center; margin-left: auto; margin-right: auto; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 22px; border-radius: var(--radius-sm);
  font: 600 1rem var(--font); text-decoration: none; cursor: pointer; border: 2px solid transparent;
  transition: background .15s, color .15s, border-color .15s;
}
.btn-primary { background: var(--magenta-dark); color: var(--white); }
.btn-primary:hover { background: #A3134C; color: var(--white); }
.btn-secondary { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn-secondary:hover { background: var(--navy); color: var(--white); }
.section.navy .btn-secondary, .hero-dark .btn-secondary { color: var(--white); border-color: #C9CBE0; }
.section.navy .btn-secondary:hover { background: var(--white); color: var(--navy); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.text-link { font-weight: 600; text-decoration: none; color: var(--navy); }
.text-link::after { content: " \2192"; }
.text-link:hover { color: var(--magenta-dark); }

/* Utility bar + header */
.utility { background: var(--navy-deep); color: #C9CBE0; font-size: .85rem; }
.utility .wrap { display: flex; justify-content: flex-end; align-items: center; gap: 20px; min-height: 38px; flex-wrap: wrap; }
.utility a { color: #E6E7F2; text-decoration: none; }
.utility a:hover { color: var(--white); text-decoration: underline; }
.utility select { font: inherit; width: auto; min-height: 0; background: transparent; color: #E6E7F2; border: 1px solid #4A4C80; border-radius: 4px; padding: 2px 6px; }
.utility label { display: inline; }
.utility select option { color: var(--ink); }

.site-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--hairline); }
.site-header .wrap { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.brand img { height: 30px; width: auto; }
.nav { display: flex; align-items: stretch; gap: 2px; margin-left: auto; }
.nav > li { list-style: none; position: relative; }
.nav ul { margin: 0; padding: 0; }
.nav-top {
  display: flex; align-items: center; height: 72px; padding: 0 12px; background: none; border: 0;
  font: 500 .98rem var(--font); color: var(--ink); text-decoration: none; cursor: pointer;
}
.nav-top:hover, .nav > li:focus-within .nav-top { color: var(--magenta-dark); }
.nav-top[aria-current="page"] { color: var(--navy); box-shadow: inset 0 -3px 0 var(--magenta); }
.mega {
  display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  min-width: 560px; background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius);
  padding: 24px; gap: 28px; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr));
}
.nav > li:hover .mega, .nav > li:focus-within .mega { display: grid; }
.mega h4 { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mauve); margin-bottom: 10px; }
.mega a { display: block; padding: 6px 0; text-decoration: none; color: var(--ink); font-size: .95rem; }
.mega a span { display: block; color: var(--slate); font-size: .82rem; }
.mega a:hover { color: var(--magenta-dark); }
.header-cta { margin-left: 12px; white-space: nowrap; }
.menu-toggle { display: none; margin-left: auto; background: none; border: 1px solid var(--hairline); border-radius: var(--radius-sm); width: 46px; height: 46px; cursor: pointer; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { display: block; width: 20px; height: 2px; background: var(--navy); margin: 0 auto; position: relative; content: ""; }
.menu-toggle span::before { position: absolute; top: -6px; }
.menu-toggle span::after { position: absolute; top: 6px; }

@media (max-width: 1080px) {
  .menu-toggle { display: block; }
  .nav, .header-cta { display: none; }
  .site-header.open .nav { display: flex; flex-direction: column; position: absolute; top: 72px; left: 0; right: 0; background: var(--white); border-bottom: 1px solid var(--hairline); padding: 8px 24px 24px; max-height: calc(100vh - 110px); overflow: auto; }
  .site-header.open .header-cta { display: inline-flex; position: absolute; right: 84px; top: 13px; }
  .nav-top { height: 52px; padding: 0; border-bottom: 1px solid var(--hairline); width: 100%; }
  .mega { position: static; transform: none; min-width: 0; border: 0; padding: 8px 0 16px; display: none; grid-template-columns: 1fr; gap: 12px; }
  .nav > li.expanded .mega { display: grid; }
  .nav > li:hover .mega { display: none; }
  .nav > li.expanded:hover .mega { display: grid; }
}
@media (max-width: 560px) { .site-header.open .header-cta { display: none; } }

/* Hero */
.hero { padding: 88px 0 72px; background: var(--pearl); border-bottom: 1px solid var(--hairline); }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.hero h1 .accent { color: var(--magenta-dark); }
.hero .tagline { font-size: 1.25rem; font-weight: 600; color: var(--navy); margin-bottom: 14px; }
.hero-figure { background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius); padding: 12px; }
.hero-figure img { border-radius: var(--radius-sm); }
.badge { display: inline-flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; color: var(--navy); background: var(--white); border: 1px solid var(--hairline); border-radius: 999px; padding: 6px 14px; margin-bottom: 20px; }
.badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.page-hero { padding: 72px 0 56px; background: var(--pearl); border-bottom: 1px solid var(--hairline); }
.crumbs { font-size: .85rem; color: var(--slate); margin-bottom: 16px; }
.crumbs a { color: var(--slate); }
@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 36px; } }

/* Search box */
.finder { display: flex; gap: 8px; margin-top: 28px; max-width: 520px; }
.finder input { flex: 1; min-height: 50px; padding: 0 16px; font: 1rem var(--font); border: 1.5px solid var(--mist); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); }
.finder input:focus { border-color: var(--navy); outline: none; }
.finder-note { font-size: .85rem; color: var(--slate); margin-top: 8px; }

/* Stats strip */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.stat { padding: 28px 24px; border-right: 1px solid var(--hairline); }
.stat:last-child { border-right: 0; }
.stat b { display: block; font-size: 2.1rem; color: var(--navy); line-height: 1.1; }
.stat b em { font-style: normal; color: var(--orange); }
.stat span { color: var(--slate); font-size: .92rem; }
@media (max-width: 800px) { .stats { grid-template-columns: repeat(2, 1fr); } .stat:nth-child(2) { border-right: 0; } .stat:nth-child(-n+2) { border-bottom: 1px solid var(--hairline); } }

/* Grids and cards */
.grid { display: grid; gap: 24px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 960px) { .g3, .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .g2, .g3, .g4 { grid-template-columns: 1fr; } }
.card { background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; }
.card p:last-child { margin-bottom: 0; }
.card .tag { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mauve); margin-bottom: 8px; }
.card h3 { margin-bottom: 8px; }
.card .text-link { margin-top: auto; padding-top: 16px; }
.section.pearl .card, .section.linen .card { border-color: #E9E2DA; }
.card-link { text-decoration: none; color: inherit; transition: border-color .15s; }
.card-link:hover { border-color: var(--navy); color: inherit; }
.product-card img.logo { height: 30px; width: auto; margin-bottom: 18px; }
.product-card ul { padding-left: 18px; margin: 0 0 8px; color: var(--slate); font-size: .95rem; }
.pill { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--white); background: var(--orange); color: #3A1606; border-radius: 4px; padding: 2px 8px; margin-left: 8px; vertical-align: middle; }
.num { font-size: .85rem; font-weight: 700; color: var(--magenta-dark); letter-spacing: .08em; margin-bottom: 10px; display: block; }
.section.navy .card { background: #36376B; border-color: #4A4C80; color: #E6E7F2; }
.section.navy .card h3 { color: var(--white); }
.section.navy .card p { color: #C9CBE0; }
.section.navy .num { color: #FFB088; }

/* Flow (federated steps) */
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: step; }
.flow li { list-style: none; padding: 24px 24px 24px 0; border-top: 3px solid var(--navy); margin-right: 16px; }
.flow li:first-child { border-top-color: var(--magenta); }
.flow b { display: block; color: var(--navy); font-size: 1.1rem; margin-bottom: 6px; }
.flow-wrap { padding: 0; margin: 0; }
@media (max-width: 800px) { .flow { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .flow { grid-template-columns: 1fr; } }

/* Split layout */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.split.top { align-items: start; }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; gap: 32px; } }
.check { list-style: none; padding: 0; margin: 0 0 1em; }
.check li { padding: 8px 0 8px 30px; position: relative; border-bottom: 1px solid var(--hairline); }
.check li:last-child { border-bottom: 0; }
.check li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 12px; height: 7px; border-left: 2.5px solid var(--magenta-dark); border-bottom: 2.5px solid var(--magenta-dark); transform: rotate(-45deg); }
.section.navy .check li { border-color: #4A4C80; }
.section.navy .check li::before { border-color: #FF9AC0; }

/* Quotes */
.quote { background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; }
.quote blockquote { margin: 0 0 18px; font-size: 1.05rem; color: var(--ink); }
.quote blockquote::before { content: "\201C"; display: block; font-size: 3rem; line-height: .6; color: var(--magenta); margin-bottom: 10px; }
.quote cite { font-style: normal; font-size: .9rem; color: var(--slate); margin-top: auto; }
.quote cite b { display: block; color: var(--navy); }

/* Tables */
.table-wrap { overflow-x: auto; border: 1px solid var(--hairline); border-radius: var(--radius); }
table { border-collapse: collapse; width: 100%; font-size: .95rem; background: var(--white); }
th, td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--hairline); vertical-align: top; }
th { background: var(--linen); color: var(--navy); font-weight: 600; font-size: .85rem; letter-spacing: .02em; }
tr:last-child td { border-bottom: 0; }

/* Country directory */
.filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 24px; }
.filters input { min-height: 46px; padding: 0 14px; font: 1rem var(--font); border: 1.5px solid var(--mist); border-radius: var(--radius-sm); min-width: 260px; flex: 1; max-width: 420px; }
.chip { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--hairline); background: var(--white); font: 500 .9rem var(--font); color: var(--ink); cursor: pointer; }
.chip[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: var(--white); }
.countries { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.country { border: 1px solid var(--hairline); border-radius: var(--radius); padding: 20px; background: var(--white); text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.country:hover { border-color: var(--navy); color: inherit; }
.country h3 { font-size: 1.05rem; margin-bottom: 4px; display: flex; justify-content: space-between; gap: 8px; }
.country h3 small { color: var(--mist); font-weight: 600; font-size: .78rem; letter-spacing: .06em; }
.country p { font-size: .88rem; color: var(--slate); margin-bottom: 12px; }
.regs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.regs span { font-size: .75rem; font-weight: 600; background: var(--linen); color: var(--navy); border-radius: 4px; padding: 3px 8px; }
.country .region { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mauve); margin-bottom: 6px; }
.empty { padding: 24px; border: 1px dashed var(--mist); border-radius: var(--radius); color: var(--slate); display: none; }

/* Integrations */
.logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.logos div { border: 1px solid var(--hairline); border-radius: var(--radius-sm); padding: 14px; background: var(--white); }
.logos b { display: block; color: var(--navy); font-size: .95rem; }
.logos span { font-size: .82rem; color: var(--slate); }

/* Callout */
.callout { border: 1px solid var(--hairline); background: var(--linen); border-radius: var(--radius); padding: 24px 28px; }
.callout h3 { margin-bottom: 6px; }
.callout p { margin-bottom: 0; color: var(--slate); }

/* CTA band */
.cta-band { background: var(--navy); color: #E6E7F2; padding: 72px 0; }
.cta-band h2 { color: var(--white); }
.cta-band .lead { color: #C9CBE0; }
.cta-band .btn-secondary { color: var(--white); border-color: #C9CBE0; }
.cta-band .btn-secondary:hover { background: var(--white); color: var(--navy); }
.cta-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
@media (max-width: 860px) { .cta-grid { grid-template-columns: 1fr; } }

/* Forms */
form.contact { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
form.contact .full { grid-column: 1 / -1; }
label { display: block; font-weight: 600; font-size: .9rem; color: var(--navy); margin-bottom: 6px; }
input[type=text], input[type=email], select, textarea { width: 100%; min-height: 48px; padding: 10px 14px; font: 1rem var(--font); color: var(--ink); background: var(--white); border: 1.5px solid var(--mist); border-radius: var(--radius-sm); }
textarea { min-height: 130px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--navy); outline: none; }
.consent { font-size: .85rem; color: var(--slate); }
@media (max-width: 620px) { form.contact { grid-template-columns: 1fr; } }

/* Footer */
.site-footer { background: var(--navy-deep); color: #C9CBE0; padding: 64px 0 32px; font-size: .92rem; }
.site-footer a { color: #E6E7F2; text-decoration: none; }
.site-footer a:hover { color: var(--white); text-decoration: underline; }
.foot-grid { display: grid; grid-template-columns: 1.5fr repeat(5, 1fr); gap: 28px; }
.site-footer h4 { color: var(--white); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 8px; }
.foot-brand img { height: 28px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1); }
.offices { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; border-top: 1px solid #3A3B70; margin-top: 40px; padding-top: 28px; }
.offices b { display: block; color: var(--white); }
.foot-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; border-top: 1px solid #3A3B70; margin-top: 28px; padding-top: 20px; font-size: .85rem; }
.foot-base ul { display: flex; gap: 18px; flex-wrap: wrap; }
@media (max-width: 960px) { .foot-grid { grid-template-columns: 1fr 1fr 1fr; } .offices { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .foot-grid { grid-template-columns: 1fr 1fr; } .foot-brand { grid-column: 1 / -1; } }

/* Sticky rail on product and hub pages */
.rail { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 40; display: flex; flex-direction: column; gap: 2px; }
.rail a { writing-mode: vertical-rl; transform: rotate(180deg); background: var(--navy); color: var(--white); text-decoration: none; font-size: .8rem; font-weight: 600; padding: 14px 9px; border-radius: 0 6px 6px 0; }
.rail a:first-child { background: var(--magenta-dark); }
.rail a:hover { background: var(--navy-deep); color: var(--white); }
@media (max-width: 1080px) { .rail { display: none; } }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Wordmarks (used where logo images are unavailable) */
.wordmark { display: inline-block; font-weight: 700; font-size: 1.35rem; letter-spacing: -0.01em; color: var(--navy); line-height: 1; }
.wordmark b { color: var(--magenta-dark); font-weight: 700; }
.brand .wordmark { font-size: 1.5rem; }
.product-card .wordmark, .hero .wordmark { margin-bottom: 16px; }
.hero .wordmark { font-size: 1.9rem; display: table; }
.site-footer .wordmark { color: var(--white); margin-bottom: 16px; }
.site-footer .wordmark b { color: #FF9AC0; }

/* Federated architecture figure */
.fed-figure { width: 100%; height: auto; display: block; }
.fed-figure .ring { fill: none; stroke: var(--hairline); stroke-width: 1.5; }
.fed-figure .spoke { stroke: var(--mist); stroke-width: 1.25; }
.fed-figure .core { fill: var(--navy); }
.fed-figure .core-text { fill: var(--white); font: 600 15px var(--font); }
.fed-figure .core-sub { fill: #C9CBE0; font: 400 11.5px var(--font); }
.fed-figure .node { fill: var(--white); stroke: var(--navy); stroke-width: 1.5; }
.fed-figure .node.hl { stroke: var(--magenta-dark); stroke-width: 2; }
.fed-figure .node-name { fill: var(--navy); font: 700 13px var(--font); }
.fed-figure .node-area { fill: var(--slate); font: 400 10.5px var(--font); }
.fed-figure .cap { fill: var(--mauve); font: 600 10.5px var(--font); letter-spacing: .1em; }

/* 2026 TransVare editorial system */
:root {
  --ink: #171744;
  --navy: #25235e;
  --navy-deep: #15143c;
  --violet: #6b64b9;
  --magenta: #e93175;
  --magenta-dark: #d80d63;
  --orange: #ff8f63;
  --pearl: #f7f6ff;
  --linen: #f1f3ff;
  --slate: #595b7c;
  --mist: #a7a9c5;
  --hairline: #dedff2;
  --white: #ffffff;
  --radius: 18px;
  --radius-sm: 12px;
  --max: 1240px;
  --font: "Barlow", "Segoe UI", Arial, sans-serif;
}

body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.62;
  color: var(--ink);
  background: #fbfbff;
}

h1, h2, h3, h4 {
  font-family: var(--font);
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -.028em;
}

h1 { font-size: clamp(2.65rem, 5.1vw, 4.65rem); line-height: .99; }
h2 { font-size: clamp(2rem, 3.4vw, 3.15rem); line-height: 1.04; }
h3 { font-size: 1.3rem; line-height: 1.15; }
a { color: var(--navy); }
a:hover { color: var(--magenta-dark); }
.lead { color: var(--slate); font-size: clamp(1.08rem, 1.6vw, 1.27rem); line-height: 1.58; }
.muted { color: var(--slate); }
.wrap { padding-left: 28px; padding-right: 28px; }
.section { padding: 104px 0; }
.section.tight { padding: 70px 0; }
.section.pearl { background: linear-gradient(130deg, #f8f7ff 0%, #f1f4ff 100%); }
.section.linen { background: linear-gradient(135deg, #f4eeff 0%, #f9fbff 68%, #f0f3ff 100%); }
.section.navy { background: linear-gradient(128deg, #17153e 0%, #29265f 48%, #202359 100%); }
.section-head { max-width: 790px; margin-bottom: 52px; }

.eyebrow, .card .tag, .num, .country .region, .mega h4, .site-footer h4 {
  color: var(--magenta-dark);
  font-size: .84rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.section.navy .eyebrow { color: #ffb1d1; }

.btn {
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  font: 600 .98rem var(--font);
  box-shadow: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(118deg, #d90d63, #f34d87); color: var(--white); }
.btn-primary:hover { background: linear-gradient(118deg, #bd0752, #ea2e73); color: var(--white); }
.btn-secondary { color: var(--navy); border-color: #b9b6da; background: rgba(255,255,255,.56); }
.btn-secondary:hover { background: var(--navy); border-color: var(--navy); color: var(--white); }
.text-link { color: var(--navy); }

.utility { display: none; }
.site-header {
  border-bottom: 1px solid rgba(42,38,100,.10);
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 26px rgba(23,23,68,.05);
  backdrop-filter: blur(16px);
}
.site-header .wrap { min-height: 78px; gap: 18px; }
.brand { flex: 0 0 auto; }
.brand img { height: 38px; width: auto; max-width: 218px; }
.nav { gap: 0; margin-left: auto; }
.nav-top {
  height: 78px;
  padding: 0 8px;
  color: #36355d;
  font: 500 .88rem var(--font);
  white-space: nowrap;
}
.nav-top:hover, .nav > li:focus-within .nav-top { color: var(--magenta-dark); }
.nav-top[aria-current="page"] { color: var(--magenta-dark); box-shadow: inset 0 -2px 0 var(--magenta); }
.mega {
  min-width: 590px;
  border: 1px solid rgba(60,58,130,.12);
  border-radius: 16px;
  padding: 24px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 45px rgba(28,26,82,.14);
}
.mega h4 { margin-bottom: 8px; }
.mega a { color: var(--ink); padding: 7px 0; }
.mega a span { color: var(--slate); }
.header-cta { margin-left: 7px; font-size: .86rem; padding: 0 16px; white-space: nowrap; }
.menu-toggle { border-color: #cbc8e6; border-radius: 12px; }

.hero {
  position: relative;
  overflow: hidden;
  padding: 112px 0 96px;
  background:
    radial-gradient(circle at 77% 16%, rgba(242,87,151,.16), transparent 26%),
    radial-gradient(circle at 93% 76%, rgba(111,105,205,.20), transparent 31%),
    radial-gradient(circle at 18% 104%, rgba(199,221,255,.60), transparent 29%),
    linear-gradient(138deg, #fff 0%, #fbfaff 48%, #f1efff 100%);
  border-bottom: 0;
}
.hero::before {
  content: "";
  position: absolute;
  width: 580px;
  height: 580px;
  right: -190px;
  top: -265px;
  border-radius: 50%;
  border: 1px solid rgba(76,70,161,.14);
  box-shadow: 0 0 0 54px rgba(76,70,161,.035), 0 0 0 108px rgba(234,49,117,.025);
  pointer-events: none;
}
.hero-grid { position: relative; grid-template-columns: .96fr 1.04fr; gap: 68px; }
.hero h1 { max-width: 680px; }
.hero h1 .accent { color: var(--violet); }
.hero .tagline { font-size: 1.28rem; color: var(--ink); font-weight: 600; margin: 18px 0 14px; }
.badge {
  color: #4e4a86;
  background: rgba(255,255,255,.7);
  border-color: rgba(78,74,134,.17);
  padding: 7px 13px;
  margin-bottom: 22px;
  box-shadow: 0 10px 25px rgba(36,34,93,.06);
}
.badge::before { background: linear-gradient(140deg, var(--magenta), var(--orange)); }
.hero-figure {
  position: relative;
  padding: 13px;
  border: 1px solid rgba(68,64,144,.16);
  border-radius: 24px;
  background: rgba(255,255,255,.63);
  box-shadow: 0 30px 65px rgba(29,27,82,.17);
}
.hero-figure img { border-radius: 15px; }
.signal-panel {
  position: absolute;
  left: -42px;
  bottom: 30px;
  width: min(330px, 74%);
  padding: 17px 19px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 15px;
  background: rgba(26,24,73,.90);
  color: #ececff;
  box-shadow: 0 16px 35px rgba(19,17,60,.25);
  backdrop-filter: blur(14px);
}
.signal-panel span { display: block; color: #ffb9d7; font-size: .82rem; font-weight: 600; margin-bottom: 3px; }
.signal-panel b { display: block; color: #fff; font-size: 1.08rem; line-height: 1.18; }
.signal-panel p { margin: 7px 0 0; color: #deddf5; font-size: .85rem; line-height: 1.35; }
.finder { margin-top: 30px; }
.finder input { min-height: 50px; border-color: #c8c6e5; border-radius: 12px; box-shadow: 0 10px 24px rgba(35,34,89,.04); }
.finder .btn { min-height: 50px; }

.stats {
  position: relative;
  z-index: 2;
  margin-top: -36px;
  border: 1px solid rgba(65,62,137,.12);
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255,255,255,.84);
  box-shadow: 0 22px 48px rgba(30,28,83,.10);
  backdrop-filter: blur(12px);
}
.stat { padding: 28px 25px; border-color: rgba(63,60,132,.11); }
.stat b { color: var(--navy); }
.stat b em { color: var(--magenta); }
.stat span { color: var(--slate); }

.card, .quote, .country, .logos div {
  border-color: rgba(64,61,139,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 30px rgba(31,29,82,.055);
}
.card { padding: 26px; }
.card-link { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card-link:hover { transform: translateY(-4px); border-color: rgba(110,102,190,.45); box-shadow: 0 22px 42px rgba(30,28,83,.12); }
.section.pearl .card, .section.linen .card { border-color: rgba(65,61,139,.12); }
.card .tag { margin-bottom: 8px; }
.product-card img.logo { margin-bottom: 18px; }
.product-card ul { color: var(--slate); }
.pill { color: #6b1d44; background: #ffd1e2; border-radius: 999px; letter-spacing: 0; text-transform: none; }
.flow { gap: 14px; }
.flow li { margin-right: 0; padding: 20px 16px 16px 0; border-top: 2px solid #c9c7ea; }
.flow li:first-child { border-top-color: var(--magenta); }
.flow b { color: var(--navy); }
.callout { border-color: rgba(76,70,161,.14); border-radius: 18px; background: linear-gradient(135deg, #fbfaff, #f0efff); }
.logos div { padding: 16px; }
.regs span { border-radius: 999px; background: #eeedff; }

.section.navy .card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); }
.section.navy .card h3 { color: #fff; }
.section.navy .card p { color: #d9d9f1; }
.section.navy .num { color: #ffb7d5; }
.section.navy .check li { border-color: rgba(255,255,255,.14); }

.cta-band {
  background:
    radial-gradient(circle at 80% 18%, rgba(235,61,128,.36), transparent 26%),
    linear-gradient(125deg, #17143c 0%, #29215d 54%, #3e3682 100%);
  padding: 86px 0;
}
.cta-band .btn-secondary { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.46); }

.site-footer {
  padding: 68px 0 28px;
  background: linear-gradient(160deg, #f7f7ff 0%, #ecebff 100%);
  color: var(--slate);
  border-top: 1px solid rgba(64,61,139,.11);
}
.site-footer a { color: var(--navy); }
.site-footer a:hover { color: var(--magenta-dark); }
.site-footer h4, .offices b { color: var(--ink); }
.site-footer h4 { margin-bottom: 13px; }
.foot-brand img { height: 38px; width: auto; margin-bottom: 17px; filter: none; }
.offices, .foot-base { border-color: rgba(64,61,139,.14); }

.rail { right: 16px; gap: 7px; }
.rail a { border-radius: 999px; writing-mode: horizontal-tb; transform: none; background: rgba(37,35,94,.94); box-shadow: 0 12px 24px rgba(25,23,73,.18); }
.rail a:first-child { background: rgba(218,13,99,.95); }

@media (max-width: 1120px) {
  .site-header .wrap { gap: 13px; }
  .nav-top { font-size: .81rem; padding: 0 6px; }
  .header-cta { padding: 0 13px; font-size: .80rem; }
}
@media (max-width: 980px) {
  .section { padding: 78px 0; }
  .hero { padding: 82px 0 74px; }
  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-figure { max-width: 730px; }
  .signal-panel { left: 18px; bottom: 18px; }
}
@media (max-width: 800px) {
  .wrap { padding-left: 20px; padding-right: 20px; }
  .stats { margin-top: -20px; border-radius: 15px; }
  .stat { padding: 21px 18px; }
  .cta-band { padding: 68px 0; }
}
@media (max-width: 560px) {
  h1 { font-size: clamp(2.3rem, 12vw, 3.25rem); }
  .section { padding: 62px 0; }
  .hero { padding: 65px 0 54px; }
  .hero h1 br { display: none; }
  .brand img { height: 34px; max-width: 198px; }
  .signal-panel { position: relative; left: auto; bottom: auto; width: auto; margin: 12px 4px 3px; }
  .finder { flex-wrap: wrap; }
  .finder input, .finder .btn { width: 100%; flex: auto; }
  .stats { grid-template-columns: 1fr; }
  .stat, .stat:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(63,60,132,.11); }
  .stat:last-child { border-bottom: 0; }
  .foot-grid { gap: 24px; }
}

/* Liquid Motion Redesign: Home And Shared Navigation */
:root {
  --liquid-ink: #181541;
  --liquid-violet: #594db6;
  --liquid-pink: #e7206b;
  --liquid-blue: #6b9cff;
  --liquid-sky: #dce9ff;
}

body, button, input, select, textarea { font-family: "Barlow", "Segoe UI", Arial, sans-serif; }
body { font-size: 16px; background: #f8f8ff; }
.btn { text-transform: capitalize; }
.small, .finder-note, .consent, .site-footer, .rail a { font-size: 15px; }
h1, h2, h3, h4 { text-transform: capitalize; }
h1 { font-size: clamp(2.75rem, 5.6vw, 5.1rem); }
h2 { font-size: clamp(2.1rem, 3.7vw, 3.35rem); }
h3 { font-size: clamp(1.3rem, 1.7vw, 1.55rem); }
h4 { font-size: 1.1rem; }
.eyebrow, .card .tag, .num, .country .region, .mega h4, .site-footer h4 {
  font-size: 15px;
  text-transform: capitalize;
  letter-spacing: 0;
}

.site-header {
  top: 10px;
  width: min(1400px, calc(100% - 28px));
  margin: 10px auto 0;
  border: 1px solid rgba(93,78,182,.18);
  border-radius: 19px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 42px rgba(25,20,76,.10);
}
.site-header .wrap { min-height: 68px; max-width: none; padding: 0 18px; }
.brand img { height: 42px; max-width: 226px; object-fit: contain; }
.nav { align-self: stretch; }
.nav-top {
  height: 68px;
  padding: 0 10px;
  font-size: 15px;
  font-weight: 500;
  text-transform: capitalize;
}
.mega { top: calc(100% + 10px); min-width: 620px; }
.mega h4 { margin-bottom: 9px; }
.mega a { font-size: 15px; text-transform: capitalize; }
.mega a span { font-size: 15px; text-transform: capitalize; }
.header-cta {
  min-height: 44px;
  margin-left: 8px;
  padding: 0 17px;
  font-size: 15px;
  text-transform: capitalize;
}
.menu-toggle { width: 44px; height: 44px; }

main {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 17%, rgba(197,214,255,.36), transparent 20%),
    radial-gradient(circle at 98% 42%, rgba(244,143,193,.22), transparent 22%),
    #fbfbff;
}
.section, .page-hero { position: relative; isolation: isolate; overflow: hidden; }
.section > .wrap, .page-hero > .wrap { position: relative; z-index: 1; }
.section:not(.navy)::before, .page-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 54vw;
  height: 54vw;
  min-width: 500px;
  min-height: 500px;
  right: -19vw;
  bottom: -42vw;
  border-radius: 48% 52% 61% 39% / 44% 42% 58% 56%;
  background:
    radial-gradient(circle at 28% 34%, rgba(247,119,177,.25), transparent 24%),
    radial-gradient(circle at 70% 62%, rgba(90,111,233,.22), transparent 33%),
    linear-gradient(145deg, rgba(205,219,255,.22), rgba(237,225,255,.04));
  filter: blur(8px);
  animation: liquid-drift 15s ease-in-out infinite alternate;
  pointer-events: none;
}
.section:nth-of-type(odd):not(.navy)::before {
  right: auto;
  left: -25vw;
  bottom: -38vw;
  animation-delay: -6s;
}
@keyframes liquid-drift {
  0% { transform: translate3d(-2%, 1%, 0) rotate(0deg) scale(.96); border-radius: 48% 52% 61% 39% / 44% 42% 58% 56%; }
  52% { transform: translate3d(8%, -6%, 0) rotate(8deg) scale(1.08); border-radius: 64% 36% 42% 58% / 52% 59% 41% 48%; }
  100% { transform: translate3d(1%, 6%, 0) rotate(-4deg) scale(1); border-radius: 44% 56% 47% 53% / 62% 40% 60% 38%; }
}

.liquid-hero {
  min-height: 730px;
  padding: 112px 0 106px;
  background:
    radial-gradient(circle at 98% 4%, rgba(97,102,221,.31), transparent 28%),
    radial-gradient(circle at 53% 102%, rgba(226,44,115,.19), transparent 36%),
    radial-gradient(circle at 8% 39%, rgba(162,204,255,.26), transparent 26%),
    linear-gradient(122deg, #ffffff 0%, #f8f7ff 49%, #eeecff 100%);
}
.liquid-hero::before {
  width: 650px;
  height: 650px;
  min-width: 0;
  min-height: 0;
  top: -360px;
  bottom: auto;
  right: -150px;
  opacity: .85;
}
.liquid-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 360px;
  height: 360px;
  left: -150px;
  bottom: -190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(236,67,133,.25), rgba(95,81,192,.03) 67%, transparent 68%);
  filter: blur(3px);
  animation: liquid-orbit 13s ease-in-out infinite alternate;
}
@keyframes liquid-orbit {
  from { transform: translate3d(0, 0, 0) scale(.94); }
  to { transform: translate3d(85px, -52px, 0) scale(1.12); }
}
.hero-grid { grid-template-columns: minmax(0,.89fr) minmax(520px,1.11fr); gap: clamp(40px, 6vw, 84px); align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero .badge { font-size: 15px; font-weight: 600; text-transform: capitalize; }
.hero h1 { max-width: 670px; margin-bottom: 20px; color: var(--liquid-ink); }
.hero h1 .accent { background: linear-gradient(105deg, #d81465, #6a60bd 82%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero .tagline { font-size: 20px; color: #322b74; font-weight: 600; text-transform: capitalize; }
.hero .lead { max-width: 590px; font-size: 18px; }
.hero-proof { display: flex; align-items: center; gap: 13px; max-width: 510px; margin-top: 31px; color: #4a4970; }
.hero-proof p { margin: 0; font-size: 16px; }
.hero-proof b { color: var(--liquid-ink); }
.proof-orbit {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 2px solid rgba(91,77,182,.5);
  border-radius: 50%;
  box-shadow: inset 0 0 0 7px rgba(241,44,119,.12), 0 0 0 6px rgba(91,77,182,.07);
  animation: proof-pulse 2.8s ease-in-out infinite;
}
@keyframes proof-pulse { 50% { transform: scale(1.12); box-shadow: inset 0 0 0 9px rgba(241,44,119,.18), 0 0 0 10px rgba(91,77,182,.04); } }

.dashboard-stage {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.77);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.64), rgba(232,230,255,.45));
  box-shadow: 0 36px 72px rgba(31,23,94,.22), inset 0 1px 1px rgba(255,255,255,.93);
  backdrop-filter: blur(17px);
}
.dashboard-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 18% -8% -13% 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,71,138,.28), rgba(107,83,210,.12) 49%, transparent 70%);
  filter: blur(19px);
  animation: dashboard-glow 7s ease-in-out infinite alternate;
}
@keyframes dashboard-glow { to { transform: translate(-7%, 5%) scale(1.16); opacity: .76; } }
.dashboard-stage-top, .dashboard-stage-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 8px 12px; color: #433d7e; font-size: 15px; font-weight: 600; text-transform: capitalize; }
.stage-live { display: inline-flex; align-items: center; gap: 7px; color: #2d2b68; }
.stage-live i { display: block; width: 9px; height: 9px; border-radius: 50%; background: #32b77d; box-shadow: 0 0 0 4px rgba(50,183,125,.12); animation: live-pulse 2s ease-in-out infinite; }
@keyframes live-pulse { 50% { transform: scale(1.22); box-shadow: 0 0 0 7px rgba(50,183,125,.04); } }
.dashboard-window { overflow: hidden; border: 1px solid rgba(67,54,145,.18); border-radius: 19px; background: #edf0ff; box-shadow: inset 0 1px 0 rgba(255,255,255,.85); }
.guided-stage { --screen-hold: 5600ms; }
.laptop-scene {
  position: relative;
  z-index: 1;
  padding: 7px 15px 29px;
  perspective: 1500px;
  transform-style: preserve-3d;
  animation: laptop-breathe 14s cubic-bezier(.42,0,.25,1) infinite;
}
.laptop-display {
  position: relative;
  z-index: 2;
  padding: clamp(7px, 1.15vw, 12px);
  border: 1px solid rgba(255,255,255,.58);
  border-radius: clamp(18px, 2.1vw, 27px);
  background: linear-gradient(142deg, #e5e8eb 0%, #a7afb7 14%, #5b6570 39%, #293039 66%, #858e98 100%);
  box-shadow: 0 2px 1px rgba(255,255,255,.72) inset, 0 -2px 3px rgba(29,34,40,.38) inset, 0 34px 45px rgba(39,45,53,.25);
  transform: rotateX(2.1deg) rotateY(-1.2deg);
  transform-origin: 50% 92%;
}
.laptop-display::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 2px;
  left: 16%;
  width: 67%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.84), transparent);
  border-radius: 999px;
  pointer-events: none;
}
.laptop-camera {
  position: absolute;
  z-index: 4;
  top: clamp(4px, .78vw, 7px);
  left: 50%;
  width: clamp(7px, .85vw, 10px);
  height: clamp(7px, .85vw, 10px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: radial-gradient(circle at 58% 38%, #b8c6d1 0 12%, #323943 18% 48%, #11151a 52% 100%);
  box-shadow: 0 0 0 3px rgba(22,27,33,.32);
  transform: translateX(-50%);
}
.laptop-display .dashboard-window {
  border: 1px solid rgba(22,27,33,.82);
  border-radius: clamp(10px, 1.25vw, 15px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.32), 0 2px 7px rgba(17,21,27,.46) inset;
}
.laptop-base {
  position: relative;
  z-index: 1;
  width: calc(100% + 4%);
  height: clamp(15px, 2.3vw, 25px);
  margin: -1px -2% 0;
  overflow: hidden;
  border: 1px solid rgba(102,111,121,.68);
  border-radius: 0 0 16px 16px;
  background: linear-gradient(180deg, #eceff1 0%, #b6bdc5 23%, #707982 66%, #424951 100%);
  box-shadow: 0 14px 22px rgba(37,43,50,.27), inset 0 1px 0 rgba(255,255,255,.84), inset 0 -2px 2px rgba(29,34,39,.32);
  clip-path: polygon(1.5% 0, 98.5% 0, 100% 84%, 94% 100%, 6% 100%, 0 84%);
  transform: perspective(1200px) rotateX(-51deg);
  transform-origin: top center;
}
.laptop-base::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 40%;
  width: 20%;
  height: 42%;
  border: 1px solid rgba(52,60,68,.34);
  border-radius: 0 0 7px 7px;
  background: linear-gradient(180deg, rgba(51,59,68,.13), rgba(255,255,255,.24));
  box-shadow: 0 1px 0 rgba(255,255,255,.23) inset;
}
.laptop-base span {
  position: absolute;
  top: 0;
  left: 49%;
  width: 2%;
  height: 2px;
  border-radius: 0 0 4px 4px;
  background: rgba(255,255,255,.88);
}
@keyframes laptop-breathe {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.guided-window { position: relative; aspect-ratio: 1.64 / 1; }
.guided-screen {
  --feature-x: 50%;
  --feature-y: 50%;
  --label-x: 50%;
  --label-y: 14%;
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  background: #f3f3ff;
  filter: blur(2px);
  transform: scale(1.018);
  pointer-events: none;
  transition: opacity 1300ms cubic-bezier(.2,.78,.24,1), transform 1850ms cubic-bezier(.16,1,.3,1), filter 1400ms ease;
}
.guided-screen > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.guided-screen > .guided-product-logo {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;
  width: auto !important;
  height: 32px !important;
  max-width: min(152px, 34%);
  padding: 7px 10px;
  border: 1px solid rgba(56,50,124,.13);
  border-radius: 10px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 7px 18px rgba(22,18,75,.13);
  object-fit: contain;
  object-position: center;
}
.guided-erm { --feature-x: 64%; --feature-y: 34%; --label-x: 51%; --label-y: 12%; }
.guided-audit { --feature-x: 78%; --feature-y: 33%; --label-x: 59%; --label-y: 13%; }
.guided-compliance { --feature-x: 29%; --feature-y: 32%; --label-x: 29%; --label-y: 12%; }
.guided-screen.is-active { z-index: 4; opacity: 1; filter: blur(0); transform: scale(1); }
.feature-hotspot {
  position: absolute;
  left: var(--feature-x);
  top: var(--feature-y);
  width: 58px;
  height: 58px;
  border: 2px solid #f22578;
  border-radius: 50%;
  background: rgba(242,37,120,.12);
  box-shadow: 0 0 0 7px rgba(242,37,120,.12), 0 0 0 15px rgba(99,89,201,.09);
  transform: translate(-50%, -50%) scale(.65);
  opacity: 0;
}
@keyframes feature-focus {
  0%, 25% { opacity: 0; transform: translate(-50%, -50%) scale(.72); }
  39%, 78% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.12); }
}
.feature-label {
  position: absolute;
  left: var(--label-x);
  top: var(--label-y);
  transform: translateX(-50%) translateY(8px);
  max-width: 74%;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(24,21,65,.91);
  box-shadow: 0 10px 25px rgba(25,20,75,.24);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-transform: capitalize;
  white-space: nowrap;
  opacity: 0;
}
@keyframes feature-label {
  0%, 35% { opacity: 0; transform: translateX(-50%) translateY(8px); }
  46%, 77% { opacity: 1; transform: translateX(-50%) translateY(0); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-5px); }
}
.demo-pointer {
  position: absolute;
  left: var(--feature-x);
  top: var(--feature-y);
  width: 37px;
  height: 49px;
  z-index: 3;
  background: #fff;
  clip-path: polygon(2% 0, 100% 60%, 64% 64%, 51% 100%, 35% 94%, 47% 60%, 0 61%);
  filter: drop-shadow(0 4px 5px rgba(14,13,54,.42));
  opacity: 0;
}
.demo-pointer::after {
  content: "";
  position: absolute;
  inset: 4px;
  background: #312d79;
  clip-path: polygon(2% 0, 100% 60%, 64% 64%, 51% 100%, 35% 94%, 47% 60%, 0 61%);
}
@keyframes pointer-journey {
  0%, 12% { opacity: 0; transform: translate(-92px, 82px) rotate(-10deg) scale(.82); }
  38%, 76% { opacity: 1; transform: translate(-11px, -10px) rotate(0) scale(1); }
  100% { opacity: 0; transform: translate(-3px, -3px) rotate(0) scale(.94); }
}
.guided-screen.is-active .feature-hotspot { animation: feature-focus 4800ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-label { animation: feature-label 4800ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .demo-pointer { animation: pointer-journey 4800ms cubic-bezier(.18,.82,.2,1) both; }
.dashboard-stage-bottom { padding: 13px 8px 5px; flex-wrap: wrap; }
.screen-sequence { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.screen-sequence span { color: #5d587d; font-weight: 500; font-size: 15px; line-height: 1.25; opacity: .42; transition: color 700ms ease, opacity 700ms ease, transform 700ms cubic-bezier(.2,.8,.2,1); }
.screen-sequence span.is-active { color: var(--liquid-pink); font-weight: 600; opacity: 1; transform: translateY(-1px); }

.product-card { overflow: hidden; }
.product-card img.logo, .card img.logo {
  width: auto !important;
  height: 38px !important;
  max-width: min(214px, 100%);
  object-fit: contain;
  object-position: left center;
  align-self: flex-start;
  margin-bottom: 19px;
}
.product-card:hover img.logo { transform: none; }
.product-card .tag { font-size: 15px; }
.product-card h3 { font-size: 20px; }

.section { padding: 110px 0; }
.section-head { margin-bottom: 54px; }
.architecture-layers { margin-bottom: 50px; }
.architecture-flow { padding-top: 6px; }
.card { background: rgba(255,255,255,.74); box-shadow: 0 17px 38px rgba(27,22,80,.06); }
.card-link:hover { transform: translateY(-7px); box-shadow: 0 26px 48px rgba(37,28,102,.14); }
.flow li { font-size: 16px; }
.flow b { font-size: 20px; text-transform: capitalize; }
.stats { background: rgba(255,255,255,.73); }
.stat span { font-size: 15px; }
.quote blockquote { font-size: 17px; }
.site-footer h4, .site-footer a, .offices, .foot-base { font-size: 15px; }
.site-footer h4 { text-transform: capitalize; }

/* Responsive Interaction Polish */
html { scroll-behavior: smooth; scroll-padding-top: 102px; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
.btn, .nav-top, .menu-toggle, .card-link, .chip, .finder input, input, select, textarea {
  transition-duration: 120ms !important;
  transition-timing-function: cubic-bezier(.2,.8,.2,1) !important;
}
.btn { will-change: transform; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.975) !important; transition-duration: 65ms !important; }
.nav-top:active, .menu-toggle:active { transform: scale(.96); }
.card-link:hover { transform: translateY(-4px); }
.finder input:focus, input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 4px rgba(89,77,182,.10); }

@media (max-width: 1160px) {
  .nav-top { font-size: 15px; padding: 0 7px; }
  .header-cta { font-size: 15px; padding: 0 13px; }
}
@media (max-width: 1080px) {
  .site-header { top: 8px; width: calc(100% - 20px); margin-top: 8px; }
  .site-header .wrap { min-height: 66px; }
  .site-header.open .nav { top: 76px; border-radius: 0 0 18px 18px; box-shadow: 0 22px 34px rgba(24,20,70,.13); }
  .site-header.open .header-cta { top: 11px; right: 73px; }
  .nav-top { font-size: 16px; }
  .mega a, .mega a span { font-size: 15px; }
  .mega h4 { font-size: 15px; }
}
@media (max-width: 980px) {
  .liquid-hero { min-height: 0; padding: 88px 0 88px; }
  .hero-grid { grid-template-columns: 1fr; }
  .dashboard-stage { width: min(100%, 770px); }
}
@media (max-width: 650px) {
  .liquid-hero { padding: 70px 0 62px; }
  .hero h1 { font-size: clamp(2.4rem, 12vw, 3.5rem); }
  .hero .tagline { font-size: 18px; }
  .hero .lead { font-size: 17px; }
  .dashboard-stage { padding: 8px; border-radius: 19px; }
  .dashboard-stage-top, .dashboard-stage-bottom { padding: 7px 5px 9px; font-size: 15px; }
  .stage-live { display: none; }
  .dashboard-window { border-radius: 13px; }
  .laptop-scene { padding: 5px 8px 22px; }
  .laptop-display { padding: 7px; border-radius: 17px; }
  .laptop-display .dashboard-window { border-radius: 10px; }
  .laptop-base { height: 16px; border-radius: 0 0 11px 11px; }
  .guided-screen > .guided-product-logo { top: 9px; right: 9px; height: 27px !important; max-width: 40%; padding: 5px 7px; border-radius: 8px; }
  .screen-sequence { grid-template-columns: 1fr; gap: 3px; }
  .hero-proof p { font-size: 15px; }
  .section { padding: 74px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .guided-screen, .feature-hotspot, .feature-label, .demo-pointer, .screen-sequence span, .laptop-scene, .liquid-hero::before, .liquid-hero::after, .section:not(.navy)::before, .dashboard-stage::before, .proof-orbit, .stage-live i { animation: none !important; }
  .guided-erm { opacity: 1; }
  .guided-erm .feature-hotspot, .guided-erm .feature-label, .guided-erm .demo-pointer { opacity: 1; }
  .guided-erm .feature-hotspot { transform: translate(-50%, -50%) scale(1); }
  .guided-erm .feature-label { transform: translateX(-50%) translateY(0); }
  .guided-erm .demo-pointer { transform: translate(-11px, -10px); }
}

/* Site-Wide Liquid Glass Theme */
:root {
  --glass-white: rgba(255,255,255,.68);
  --glass-bright: rgba(255,255,255,.84);
  --glass-edge: rgba(255,255,255,.74);
  --glass-ink-edge: rgba(81,70,164,.18);
  --glass-shadow: 0 22px 52px rgba(44,35,116,.12);
}
html { background: #edf0ff; }
body {
  background:
    radial-gradient(ellipse 52% 42% at 5% 6%, rgba(141,196,255,.30), transparent 71%),
    radial-gradient(ellipse 48% 36% at 96% 14%, rgba(246,124,183,.22), transparent 70%),
    radial-gradient(ellipse 48% 42% at 54% 98%, rgba(156,132,245,.18), transparent 71%),
    linear-gradient(145deg, #fafbff 0%, #f0f3ff 47%, #f8f3ff 100%);
}
.site-header {
  border-color: var(--glass-edge);
  background:
    linear-gradient(112deg, rgba(255,255,255,.81), rgba(246,246,255,.62) 54%, rgba(244,237,255,.68)),
    rgba(255,255,255,.58);
  box-shadow: 0 18px 48px rgba(30,23,94,.12), inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter: blur(22px) saturate(135%);
}
.mega {
  border-color: rgba(255,255,255,.78);
  background:
    radial-gradient(circle at 88% 8%, rgba(241,103,163,.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,242,255,.78));
  box-shadow: 0 24px 55px rgba(29,22,86,.16), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(22px) saturate(130%);
}
main {
  background:
    radial-gradient(ellipse 44% 30% at 3% 8%, rgba(133,193,255,.25), transparent 72%),
    radial-gradient(ellipse 42% 34% at 98% 24%, rgba(249,123,185,.18), transparent 70%),
    radial-gradient(ellipse 40% 30% at 48% 67%, rgba(163,143,246,.12), transparent 72%),
    linear-gradient(145deg, rgba(253,254,255,.88), rgba(239,242,255,.86) 50%, rgba(251,246,255,.90));
}
.section:not(.navy), .page-hero {
  background:
    radial-gradient(ellipse 56% 46% at 100% 0%, rgba(128,168,255,.13), transparent 69%),
    radial-gradient(ellipse 40% 34% at 0% 100%, rgba(247,130,186,.12), transparent 72%),
    linear-gradient(136deg, rgba(255,255,255,.56), rgba(240,243,255,.55) 55%, rgba(252,246,255,.64));
}
.section.pearl {
  background:
    radial-gradient(ellipse 47% 55% at 3% 18%, rgba(113,170,255,.16), transparent 70%),
    radial-gradient(ellipse 42% 42% at 98% 84%, rgba(243,110,174,.15), transparent 70%),
    linear-gradient(133deg, rgba(250,252,255,.86), rgba(238,242,255,.78) 55%, rgba(250,246,255,.88));
}
.section.linen {
  background:
    radial-gradient(ellipse 46% 45% at 98% 12%, rgba(143,119,238,.15), transparent 72%),
    radial-gradient(ellipse 40% 36% at 5% 86%, rgba(134,205,255,.17), transparent 72%),
    linear-gradient(138deg, rgba(249,247,255,.88), rgba(239,244,255,.78) 57%, rgba(253,246,255,.86));
}
.liquid-hero {
  background:
    radial-gradient(ellipse 48% 52% at 99% 0%, rgba(107,100,218,.35), transparent 69%),
    radial-gradient(ellipse 45% 46% at 83% 88%, rgba(242,84,157,.25), transparent 70%),
    radial-gradient(ellipse 35% 42% at 3% 43%, rgba(125,190,255,.27), transparent 71%),
    linear-gradient(124deg, #ffffff 0%, #f6f8ff 44%, #ebeaff 100%);
}
.section.navy, .cta-band {
  background:
    radial-gradient(ellipse 50% 84% at 99% 0%, rgba(232,80,151,.29), transparent 61%),
    radial-gradient(ellipse 45% 80% at 0% 100%, rgba(100,135,239,.20), transparent 67%),
    linear-gradient(130deg, #131234 0%, #27215f 48%, #353078 100%);
}
.card, .quote, .country, .logos div, .table-wrap, .callout, .stats {
  border-color: var(--glass-edge);
  background:
    linear-gradient(135deg, rgba(255,255,255,.80), rgba(250,250,255,.58) 48%, rgba(235,237,255,.58));
  box-shadow: var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,.93);
  backdrop-filter: blur(15px) saturate(125%);
}
.card-link:hover, .country:hover {
  border-color: rgba(113,94,207,.48);
  box-shadow: 0 28px 56px rgba(43,33,117,.18), inset 0 1px 0 rgba(255,255,255,.95);
}
.stats {
  border-color: var(--glass-edge);
  background:
    radial-gradient(circle at 8% 5%, rgba(145,192,255,.13), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(238,239,255,.62));
}
.stat { border-color: rgba(102,91,183,.13); }
.callout {
  background:
    radial-gradient(circle at 92% 12%, rgba(235,99,163,.14), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(234,238,255,.62));
}
.table-wrap { overflow: hidden; }
table { background: rgba(255,255,255,.22); }
th { background: rgba(232,234,255,.64); }
th, td { border-color: rgba(92,81,171,.12); }
.finder input, .filters input, input[type=text], input[type=email], select, textarea, .chip {
  border-color: rgba(103,89,185,.22);
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(10px);
}
.dashboard-stage {
  border-color: rgba(255,255,255,.80);
  background:
    radial-gradient(circle at 92% 7%, rgba(244,113,174,.20), transparent 37%),
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(224,224,255,.50) 64%, rgba(244,235,255,.53));
  box-shadow: 0 38px 78px rgba(32,24,101,.23), inset 0 1px 0 rgba(255,255,255,.97);
  backdrop-filter: blur(23px) saturate(135%);
}
.dashboard-stage::before {
  background: radial-gradient(circle, rgba(248,90,158,.34), rgba(114,96,217,.18) 48%, transparent 71%);
  filter: blur(25px);
}
.site-footer {
  background:
    radial-gradient(ellipse 48% 80% at 96% 0%, rgba(237,120,180,.16), transparent 66%),
    radial-gradient(ellipse 40% 70% at 0% 100%, rgba(114,148,250,.15), transparent 70%),
    linear-gradient(145deg, #f9faff 0%, #e9eaff 100%);
}

/* Prismatic Depth And Centre-Led Metrics */
main {
  background:
    radial-gradient(ellipse 54% 42% at -10% 12%, rgba(86,176,255,.39), transparent 68%),
    radial-gradient(ellipse 58% 44% at 111% 18%, rgba(244,75,157,.31), transparent 68%),
    radial-gradient(ellipse 54% 44% at 48% 94%, rgba(130,92,235,.24), transparent 70%),
    linear-gradient(142deg, #f8fbff 0%, #e9edff 47%, #f7efff 100%);
}
main::before, main::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
main::before {
  width: min(1020px, 82vw);
  height: min(900px, 74vw);
  top: 5%;
  right: -29%;
  border-radius: 54% 46% 45% 55% / 48% 42% 58% 52%;
  background:
    radial-gradient(circle at 31% 28%, rgba(255,255,255,.88), transparent 9%),
    radial-gradient(circle at 58% 46%, rgba(111,105,231,.33), transparent 38%),
    radial-gradient(circle at 33% 74%, rgba(240,63,145,.26), transparent 43%);
  filter: blur(23px);
  opacity: .8;
  animation: prism-float 18s cubic-bezier(.44,0,.32,1) infinite alternate;
}
main::after {
  width: 115%;
  height: 340px;
  top: 27%;
  left: -15%;
  background: linear-gradient(111deg, transparent 23%, rgba(255,255,255,.42) 46%, rgba(204,224,255,.28) 55%, transparent 74%);
  filter: blur(9px);
  transform: rotate(-7deg);
  opacity: .75;
}
main > .wrap { position: relative; z-index: 1; }
@keyframes prism-float {
  0% { transform: translate3d(0, 0, 0) scale(.96) rotate(-7deg); }
  50% { transform: translate3d(-9%, 6%, 0) scale(1.08) rotate(5deg); }
  100% { transform: translate3d(-4%, 13%, 0) scale(1.01) rotate(-2deg); }
}
.liquid-hero {
  background:
    radial-gradient(ellipse 49% 67% at 105% -7%, rgba(73,68,185,.62), transparent 65%),
    radial-gradient(ellipse 48% 53% at 82% 93%, rgba(240,63,145,.37), transparent 70%),
    radial-gradient(ellipse 44% 58% at -9% 48%, rgba(64,177,255,.35), transparent 69%),
    linear-gradient(126deg, #ffffff 0%, #f0f5ff 43%, #e5e0ff 100%);
}
.liquid-hero::after {
  width: 640px;
  height: 440px;
  left: 30%;
  bottom: -300px;
  border-radius: 51% 49% 64% 36% / 41% 44% 56% 59%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.72), transparent 8%),
    radial-gradient(circle at 52% 42%, rgba(237,64,145,.32), rgba(103,88,211,.09) 55%, transparent 72%);
  filter: blur(11px);
  opacity: .9;
}
.site-header {
  border-color: rgba(255,255,255,.86);
  box-shadow: 0 22px 62px rgba(25,19,88,.18), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -1px 0 rgba(92,77,181,.09);
}
.section:not(.navy), .page-hero {
  background:
    radial-gradient(ellipse 64% 56% at 104% -9%, rgba(116,139,243,.24), transparent 65%),
    radial-gradient(ellipse 46% 46% at -4% 106%, rgba(248,116,182,.20), transparent 70%),
    linear-gradient(136deg, rgba(255,255,255,.66), rgba(232,237,255,.71) 54%, rgba(248,238,255,.70));
}
.section.pearl {
  background:
    radial-gradient(ellipse 61% 58% at -8% 9%, rgba(74,168,255,.27), transparent 66%),
    radial-gradient(ellipse 50% 49% at 105% 91%, rgba(245,88,166,.23), transparent 70%),
    linear-gradient(131deg, rgba(252,254,255,.86), rgba(229,237,255,.78) 54%, rgba(251,237,255,.81));
}
.section.linen {
  background:
    radial-gradient(ellipse 55% 50% at 105% 7%, rgba(143,89,231,.27), transparent 67%),
    radial-gradient(ellipse 48% 46% at -6% 93%, rgba(80,187,255,.25), transparent 69%),
    linear-gradient(136deg, rgba(250,248,255,.88), rgba(230,238,255,.80) 55%, rgba(251,236,255,.82));
}
.section:not(.navy)::after, .page-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 112%;
  height: 41%;
  left: -8%;
  top: -19%;
  background: linear-gradient(111deg, transparent 29%, rgba(255,255,255,.48) 47%, rgba(196,213,255,.24) 56%, transparent 76%);
  filter: blur(14px);
  transform: rotate(-5deg);
  pointer-events: none;
}
.card, .quote, .country, .logos div, .table-wrap, .callout {
  border-color: rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 8% 5%, rgba(255,255,255,.92), transparent 29%),
    linear-gradient(138deg, rgba(255,255,255,.83), rgba(242,244,255,.61) 54%, rgba(224,228,255,.54));
  box-shadow: 0 28px 58px rgba(34,24,105,.15), 0 3px 10px rgba(100,84,197,.08), inset 0 1px 0 rgba(255,255,255,.98);
}
.dashboard-stage {
  border-color: rgba(255,255,255,.90);
  box-shadow: 0 48px 88px rgba(29,20,101,.29), 0 9px 22px rgba(111,80,204,.14), inset 0 1px 0 rgba(255,255,255,1);
}
.stats {
  position: relative;
  z-index: 2;
  min-height: 276px;
  margin-top: -58px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.90);
  border-radius: 30px;
  background:
    radial-gradient(ellipse 52% 120% at 0% 0%, rgba(119,188,255,.36), transparent 70%),
    radial-gradient(ellipse 57% 130% at 100% 0%, rgba(235,91,164,.27), transparent 74%),
    linear-gradient(137deg, rgba(255,255,255,.87), rgba(233,237,255,.71) 51%, rgba(249,238,255,.78));
  box-shadow: 0 42px 84px rgba(31,21,105,.22), 0 7px 19px rgba(91,70,174,.10), inset 0 1px 0 rgba(255,255,255,1);
  backdrop-filter: blur(26px) saturate(145%);
}
.stats::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(112deg, transparent 21%, rgba(255,255,255,.60) 46%, transparent 63%);
  transform: translateX(-16%);
  pointer-events: none;
}
.stat {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 276px;
  padding: 34px 24px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  border-color: rgba(91,77,177,.14);
}
.stat b {
  display: block;
  margin: 0;
  font-size: clamp(4.5rem, 7.5vw, 6.25rem);
  line-height: .82;
  letter-spacing: -.07em;
  color: #28236d;
  text-shadow: 0 3px 0 rgba(255,255,255,.85), 0 13px 26px rgba(55,41,151,.16);
}
.stat b em {
  font-size: .56em;
  letter-spacing: -.06em;
  color: var(--liquid-pink);
  vertical-align: .22em;
}
.stat span {
  display: block;
  max-width: 19ch;
  margin: 21px auto 0;
  color: #4b4a76;
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  font-weight: 500;
  line-height: 1.38;
  text-align: center;
  text-transform: capitalize;
}
.vare-suite-label {
  font-size: 16px !important;
  line-height: 1.25;
}
.cybervare-logo {
  position: relative;
  display: block;
  width: 100%;
  max-width: 214px;
  aspect-ratio: 5.63 / 1;
  overflow: hidden;
  align-self: flex-start;
  background: #fff;
}
.cybervare-logo img {
  position: absolute;
  top: 0;
  left: -11%;
  display: block;
  width: 122%;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  transform: translateY(-14.5%);
}
.product-card .cybervare-logo { margin-bottom: 19px; }
.cybervare-logo--hero { max-width: 225px; margin-bottom: 18px; }
.cybervare-logo--brief { max-width: 146px; margin-bottom: 14px; }
@media (max-width: 800px) {
  .stats { margin-top: -30px; min-height: 0; }
  .stat { min-height: 218px; }
  .stat b { font-size: clamp(4rem, 14vw, 5.2rem); }
}
@media (prefers-reduced-motion: reduce) {
  main::before { animation: none !important; }
}

/* Guided Product Cinema: full-resolution product screens with a paired mobile focus. */
.guided-stage { --screen-hold: 5000ms; }
.device-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(138px, 20%);
  align-items: center;
  gap: clamp(10px, 1.7vw, 23px);
  padding: 0 3px;
}
.device-showcase .laptop-scene { min-width: 0; padding: 7px 10px 29px; }
.guided-window { aspect-ratio: 1.54 / 1; background: #f2f5f7; }
.guided-screen {
  --one-x: 50%;
  --one-y: 50%;
  --one-label-x: 50%;
  --one-label-y: 14%;
  --two-x: 50%;
  --two-y: 50%;
  --two-label-x: 50%;
  --two-label-y: 76%;
  background:
    radial-gradient(circle at 25% 12%, rgba(255,255,255,.94), transparent 29%),
    linear-gradient(135deg, #eef1f4, #d5dce2);
  filter: blur(3px) saturate(.88);
  transition: opacity 1050ms cubic-bezier(.16,1,.3,1), transform 1500ms cubic-bezier(.16,1,.3,1), filter 1050ms ease;
}
.guided-screen > img:not(.guided-product-logo),
.guided-screen > .guided-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  background: #f8fafb;
}
.guided-screen > .guided-video { background: #eef6f3; }
.guided-screen.is-active { z-index: 4; opacity: 1; filter: blur(0) saturate(1); transform: scale(1); }
.guided-erm { --one-x: 28%; --one-y: 49%; --one-label-x: 32%; --one-label-y: 74%; --two-x: 77%; --two-y: 37%; --two-label-x: 73%; --two-label-y: 68%; }
.guided-audit { --one-x: 31%; --one-y: 33%; --one-label-x: 36%; --one-label-y: 68%; --two-x: 70%; --two-y: 61%; --two-label-x: 67%; --two-label-y: 25%; }
.guided-compliance { --one-x: 30%; --one-y: 23%; --one-label-x: 36%; --one-label-y: 70%; --two-x: 84%; --two-y: 48%; --two-label-x: 75%; --two-label-y: 23%; }
.guided-governance { --one-x: 72%; --one-y: 29%; --one-label-x: 67%; --one-label-y: 68%; --two-x: 64%; --two-y: 72%; --two-label-x: 65%; --two-label-y: 23%; }
.guided-incident { --one-x: 38%; --one-y: 29%; --one-label-x: 37%; --one-label-y: 70%; --two-x: 85%; --two-y: 50%; --two-label-x: 74%; --two-label-y: 24%; }
.guided-screen > .guided-product-logo,
.guided-screen > .guided-ai-logo {
  position: absolute;
  top: 13px;
  right: 13px;
  z-index: 7;
  width: auto !important;
  height: 30px !important;
  max-width: min(146px, 35%);
  margin: 0;
  padding: 6px 9px;
  border: 1px solid rgba(53,59,70,.17);
  border-radius: 10px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 18px rgba(25,33,42,.16);
  object-fit: contain;
  object-position: center;
}
.guided-screen > .guided-ai-logo {
  display: inline-flex;
  width: auto !important;
  height: auto !important;
  min-height: 30px;
  align-items: center;
  color: #202958;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.feature-callout { position: absolute; inset: 0; z-index: 8; pointer-events: none; }
.feature-callout--one { --focus-x: var(--one-x); --focus-y: var(--one-y); --copy-x: var(--one-label-x); --copy-y: var(--one-label-y); }
.feature-callout--two { --focus-x: var(--two-x); --focus-y: var(--two-y); --copy-x: var(--two-label-x); --copy-y: var(--two-label-y); }
.feature-ring {
  position: absolute;
  left: var(--focus-x);
  top: var(--focus-y);
  width: clamp(38px, 5vw, 56px);
  height: clamp(38px, 5vw, 56px);
  border: 2px solid #ed1f72;
  border-radius: 50%;
  background: rgba(237,31,114,.09);
  box-shadow: 0 0 0 6px rgba(237,31,114,.14), 0 0 0 14px rgba(79,93,211,.10);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.56);
}
.feature-callout .feature-label {
  position: absolute;
  left: var(--copy-x);
  top: var(--copy-y);
  z-index: 3;
  max-width: min(76%, 250px);
  margin: 0;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 999px;
  background: rgba(20,27,44,.92);
  box-shadow: 0 10px 25px rgba(18,25,42,.24);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-transform: capitalize;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, 10px);
}
.feature-callout .demo-pointer {
  position: absolute;
  left: var(--focus-x);
  top: var(--focus-y);
  z-index: 4;
  width: 30px;
  height: 40px;
  margin: 0;
  background: #fff;
  clip-path: polygon(2% 0, 100% 60%, 64% 64%, 51% 100%, 35% 94%, 47% 60%, 0 61%);
  filter: drop-shadow(0 4px 5px rgba(14,13,54,.42));
  opacity: 0;
}
.feature-callout .demo-pointer::after { content: none; }
@keyframes guided-focus-one {
  0%, 8% { opacity: 0; transform: translate(-50%, -50%) scale(.56); }
  14%, 35% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  43%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.16); }
}
@keyframes guided-focus-two {
  0%, 47% { opacity: 0; transform: translate(-50%, -50%) scale(.56); }
  55%, 82% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  92%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.16); }
}
@keyframes guided-label-one {
  0%, 13% { opacity: 0; transform: translate(-50%, 10px); }
  20%, 36% { opacity: 1; transform: translate(-50%, 0); }
  43%, 100% { opacity: 0; transform: translate(-50%, -5px); }
}
@keyframes guided-label-two {
  0%, 54% { opacity: 0; transform: translate(-50%, 10px); }
  62%, 83% { opacity: 1; transform: translate(-50%, 0); }
  92%, 100% { opacity: 0; transform: translate(-50%, -5px); }
}
@keyframes guided-pointer-one {
  0%, 8% { opacity: 0; transform: translate(-72px, 58px) rotate(-12deg) scale(.82); }
  17%, 35% { opacity: 1; transform: translate(-7px, -7px) rotate(0) scale(1); }
  43%, 100% { opacity: 0; transform: translate(0, 0) scale(.94); }
}
@keyframes guided-pointer-two {
  0%, 47% { opacity: 0; transform: translate(-72px, 58px) rotate(-12deg) scale(.82); }
  58%, 83% { opacity: 1; transform: translate(-7px, -7px) rotate(0) scale(1); }
  92%, 100% { opacity: 0; transform: translate(0, 0) scale(.94); }
}
.guided-screen.is-active .feature-callout--one .feature-ring { animation: guided-focus-one 5000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--two .feature-ring { animation: guided-focus-two 5000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--one .feature-label { animation: guided-label-one 5000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--two .feature-label { animation: guided-label-two 5000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--one .demo-pointer { animation: guided-pointer-one 5000ms cubic-bezier(.18,.82,.2,1) both; }
.guided-screen.is-active .feature-callout--two .demo-pointer { animation: guided-pointer-two 5000ms cubic-bezier(.18,.82,.2,1) both; }
.aiivare-cue {
  position: absolute;
  left: 50%;
  z-index: 8;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 999px;
  background: rgba(20,27,44,.88);
  box-shadow: 0 10px 25px rgba(18,25,42,.22);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: capitalize;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, 9px);
}
.aiivare-cue--one { top: 67%; }
.aiivare-cue--two { top: 77%; }
@keyframes ai-cue-one { 0%, 16% { opacity: 0; transform: translate(-50%, 9px); } 26%, 43% { opacity: 1; transform: translate(-50%, 0); } 54%, 100% { opacity: 0; transform: translate(-50%, -5px); } }
@keyframes ai-cue-two { 0%, 55% { opacity: 0; transform: translate(-50%, 9px); } 65%, 83% { opacity: 1; transform: translate(-50%, 0); } 93%, 100% { opacity: 0; transform: translate(-50%, -5px); } }
.guided-screen.is-active .aiivare-cue--one { animation: ai-cue-one 5000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .aiivare-cue--two { animation: ai-cue-two 5000ms cubic-bezier(.2,.8,.2,1) both; }
.mobile-scene {
  display: grid;
  align-items: center;
  justify-items: center;
  gap: 9px;
  min-width: 0;
  padding: 4px 0 0;
}
.mobile-scene-title, .mobile-scene-note {
  color: #48456d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-transform: capitalize;
}
.mobile-scene-note { color: #756f92; font-weight: 500; }
.mobile-phone {
  position: relative;
  width: min(100%, 154px);
  aspect-ratio: .49 / 1;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 25px;
  background: linear-gradient(145deg, #f7f8f8 0%, #aeb6be 21%, #626b75 58%, #d8dde1 100%);
  box-shadow: 0 2px 1px rgba(255,255,255,.82) inset, 0 -2px 2px rgba(28,34,40,.37) inset, 0 23px 37px rgba(35,42,50,.23);
}
.mobile-speaker {
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 50%;
  width: 30%;
  height: 4px;
  border-radius: 999px;
  background: #303941;
  box-shadow: 0 1px 0 rgba(255,255,255,.55);
  transform: translateX(-50%);
}
.mobile-window {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(20,26,31,.92);
  border-radius: 19px;
  background: #edf1f3;
  box-shadow: 0 1px 4px rgba(17,22,28,.55) inset;
}
.mobile-screen {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 700ms ease;
}
.mobile-screen > img, .mobile-screen > video { width: 100%; height: 100%; display: block; object-fit: cover; background: #eef3f5; }
.mobile-erm > img { object-position: 70% 42%; }
.mobile-audit > img { object-position: 69% 45%; }
.mobile-compliance > img { object-position: 77% 42%; }
.mobile-governance > img { object-position: 62% 39%; }
.mobile-incident > img { object-position: 72% 43%; }
.mobile-aiivare > video { object-position: 58% center; }
.mobile-screen figcaption {
  position: absolute;
  right: 6px;
  bottom: 7px;
  left: 6px;
  margin: 0;
  padding: 6px 4px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 7px;
  background: rgba(20,27,44,.88);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
  text-transform: capitalize;
  opacity: 0;
}
@keyframes mobile-focus {
  0% { opacity: 0; transform: scale(1.045) translateY(7px); }
  16%, 82% { opacity: 1; transform: scale(1) translateY(0); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes mobile-caption {
  0%, 22% { opacity: 0; transform: translateY(5px); }
  32%, 100% { opacity: 1; transform: translateY(0); }
}
.mobile-screen.is-active { z-index: 2; opacity: 1; animation: mobile-focus 3000ms cubic-bezier(.16,1,.3,1) both; }
.mobile-screen.is-active figcaption { animation: mobile-caption 3000ms cubic-bezier(.16,1,.3,1) both; }
.dashboard-stage-bottom { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 13px 8px 5px; }
.screen-sequence span { min-height: 38px; display: flex; align-items: center; justify-content: center; }
@media (max-width: 650px) {
  .device-showcase { grid-template-columns: minmax(0, 1fr) 106px; gap: 7px; }
  .device-showcase .laptop-scene { padding: 5px 4px 22px; }
  .guided-window { aspect-ratio: 1.25 / 1; }
  .guided-screen > .guided-product-logo { top: 8px; right: 8px; height: 25px !important; padding: 4px 6px; }
  .guided-screen > .guided-ai-logo { top: 8px; right: 8px; min-height: 25px; padding: 4px 6px; font-size: 14px; }
  .feature-ring { box-shadow: 0 0 0 4px rgba(237,31,114,.14), 0 0 0 9px rgba(79,93,211,.10); }
  .feature-callout .feature-label, .aiivare-cue { max-width: 86%; padding: 6px 8px; font-size: 14px; white-space: normal; }
  .mobile-phone { width: 100%; padding: 5px; border-radius: 18px; }
  .mobile-window { border-radius: 13px; }
  .mobile-speaker { top: 8px; height: 3px; }
  .mobile-scene-title, .mobile-scene-note { font-size: 14px; }
  .mobile-screen figcaption { right: 3px; bottom: 3px; left: 3px; padding: 4px 2px; font-size: 14px; }
  .dashboard-stage-bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .feature-callout, .aiivare-cue, .mobile-screen { animation: none !important; }
  .guided-erm .feature-callout--one .feature-ring, .guided-erm .feature-callout--one .feature-label, .guided-erm .feature-callout--one .demo-pointer { opacity: 1; }
}

/* Refined motion and authentic brochure mobile designs. */
.laptop-scene { animation: none; }
.guided-screen {
  filter: none;
  transform: none;
  transition: opacity 1550ms cubic-bezier(.45,0,.25,1);
}
.guided-screen.is-active { filter: none; transform: none; }
@keyframes guided-pointer-one {
  0%, 14% { opacity: 0; transform: translate(-7px, -7px) scale(.9); }
  22%, 35% { opacity: 1; transform: translate(-7px, -7px) scale(1); }
  43%, 100% { opacity: 0; transform: translate(-7px, -7px) scale(.96); }
}
@keyframes guided-pointer-two {
  0%, 54% { opacity: 0; transform: translate(-7px, -7px) scale(.9); }
  62%, 83% { opacity: 1; transform: translate(-7px, -7px) scale(1); }
  92%, 100% { opacity: 0; transform: translate(-7px, -7px) scale(.96); }
}
.mobile-scene { gap: 10px; }
.mobile-product-stage {
  width: min(100%, 178px);
  height: auto;
  aspect-ratio: .572 / 1;
}
.mobile-product-stage .mobile-window {
  height: 100%;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mobile-screen {
  display: block;
  overflow: visible;
  transition: opacity 1100ms cubic-bezier(.45,0,.25,1);
  will-change: opacity, transform;
}
.mobile-screen > img.mobile-product-art {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  background: transparent;
  filter: drop-shadow(0 17px 18px rgba(24,30,40,.18));
}
.mobile-screen > img, .mobile-screen > video { background: transparent; }
.mobile-screen figcaption { display: none; }
@keyframes mobile-focus {
  0% { opacity: 0; transform: translateY(4px) scale(.985); }
  20%, 84% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-2px) scale(1); }
}
.mobile-screen.is-active { animation: mobile-focus 5000ms cubic-bezier(.45,0,.25,1) both; }
@media (max-width: 650px) {
  .mobile-product-stage { width: 100%; }
}

/* Authentic partner marks, kept at their natural proportions. */
.partner-logo-grid, .partner-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.partner-logo-grid { margin-bottom: 22px; }
.partner-logo-card, .partner-mini-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 9px;
  padding: 16px;
  border: 1px solid rgba(58,63,100,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.66);
  box-shadow: 0 12px 26px rgba(39,42,75,.06);
}
.partner-logo-card h3 { margin: 0; font-size: 18px; line-height: 1.2; }
.partner-logo-card p, .partner-mini-card p { margin: 0; }
.partner-logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 76px;
  padding: 10px;
  border: 1px solid rgba(37,43,77,.09);
  border-radius: 12px;
  background: rgba(255,255,255,.96);
}
.partner-logo-mark--dark {
  border-color: rgba(20,35,63,.4);
  background: linear-gradient(135deg, #171c3e, #2e356c);
}
.partner-logo-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.partner-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.partner-mini-card { padding: 12px; gap: 7px; }
.partner-mini-card .partner-logo-mark { height: 48px; padding: 7px; }
.technology-partner-card .partner-logo-mark { width: min(100%, 270px); margin-bottom: 15px; }
.knowledgevare-callout { display: flex; align-items: center; gap: 18px; }
.knowledgevare-mark { display: block; width: min(100%, 360px); height: auto; object-fit: contain; }
.knowledgevare-mark--compact { width: 170px; flex: 0 0 170px; }
@media (max-width: 900px) {
  .partner-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .partner-logo-grid, .partner-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .partner-logo-card, .partner-mini-card { padding: 11px; border-radius: 14px; }
  .partner-logo-mark { height: 58px; padding: 8px; }
  .partner-logo-card h3 { font-size: 15px; }
  .knowledgevare-callout { align-items: flex-start; gap: 12px; }
  .knowledgevare-mark--compact { width: 118px; flex-basis: 118px; }
}

/* Premium Liquid-Glass Navigation */
.site-header {
  position: sticky;
  top: 24px;
  z-index: 80;
  width: min(1480px, calc(100% - 48px));
  height: 76px;
  margin: 24px auto 0;
  overflow: visible;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 22px;
  background: rgba(255,255,255,.65);
  box-shadow: 0 20px 48px rgba(35,28,98,.12), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -1px 0 rgba(103,89,183,.10);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}
.site-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px;
  border-radius: inherit;
  background:
    radial-gradient(ellipse 35% 160% at 2% 0%, rgba(154,193,255,.31), transparent 75%),
    radial-gradient(ellipse 32% 150% at 100% 100%, rgba(246,150,202,.26), transparent 73%),
    linear-gradient(112deg, rgba(255,255,255,.76), rgba(243,242,255,.55) 50%, rgba(245,237,255,.62));
  pointer-events: none;
}
.site-header .wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 74px;
  padding: 0 18px 0 20px;
  gap: 16px;
}
.brand { display: flex; flex: 0 0 auto; align-items: center; }
.brand img {
  display: block;
  width: auto;
  height: 42px;
  max-width: 226px;
  object-fit: contain;
}
.nav-zone { display: flex; flex: 1 1 auto; justify-content: center; min-width: 0; }
.nav-zone nav { min-width: 0; }
.nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin: 0;
  padding: 0;
}
.nav > li { position: relative; list-style: none; }
.nav-top {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 46px;
  padding: 0 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #343353;
  font: 500 17px/1.15 "Barlow", "Segoe UI", Arial, sans-serif;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  transition-duration: 180ms !important;
}
.nav-chevron { width: 12px; height: 12px; flex: 0 0 12px; transition: transform 180ms ease; }
.nav > li.expanded .nav-chevron { transform: rotate(180deg); }
.nav-top:hover, .nav > li:focus-within .nav-top { color: #3d347f; background: rgba(212,204,255,.42); }
.nav-top[aria-current="page"] { color: #382e86; background: rgba(220,194,239,.45); box-shadow: inset 0 1px 0 rgba(255,255,255,.78); }
.nav-top[aria-current="page"]::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 2px;
  left: 12px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e7206b, #765ce6);
}
.nav-top:focus-visible, .nav-search:focus-visible, .menu-toggle:focus-visible, .header-cta:focus-visible, .mega a:focus-visible, .header-search input:focus-visible, .header-search button:focus-visible {
  outline: 3px solid rgba(111,91,225,.5);
  outline-offset: 3px;
}
.mega {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  z-index: 90;
  display: none;
  width: min(620px, calc(100vw - 64px));
  min-width: 540px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 26px;
  background: rgba(253,253,255,.77);
  box-shadow: 0 24px 56px rgba(29,22,86,.17), inset 0 1px 0 rgba(255,255,255,.97);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  transform: translateX(-50%);
}
.nav > li:hover .mega, .nav > li.expanded .mega { display: grid; }
.nav > li:first-child .mega { left: -34px; transform: none; }
.nav > li:last-child .mega { right: -18px; left: auto; transform: none; }
.mega > div { min-width: 0; padding: 2px 0; }
.mega h4 {
  margin: 0 0 8px;
  color: #7d3d83;
  font: 600 15px/1.15 "Barlow", "Segoe UI", Arial, sans-serif;
  letter-spacing: normal;
  text-transform: capitalize;
}
.mega a {
  display: block;
  padding: 7px 8px;
  border-radius: 9px;
  color: #29294a;
  font: 500 15px/1.25 "Barlow", "Segoe UI", Arial, sans-serif;
  text-decoration: none;
  transition: background 180ms ease, color 180ms ease;
}
.mega a:hover { color: #412f87; background: rgba(211,204,255,.38); }
.mega a span {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: #666683;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.header-actions { position: relative; display: flex; flex: 0 0 auto; align-items: center; gap: 9px; }
.nav-search, .menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(71,62,139,.22);
  border-radius: 13px;
  background: rgba(255,255,255,.48);
  color: #3b3970;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.nav-search:hover, .menu-toggle:hover { border-color: rgba(92,73,187,.38); background: rgba(230,224,255,.52); color: #413386; transform: translateY(-1px); }
.nav-search svg { width: 19px; height: 19px; }
.header-cta {
  min-height: 42px;
  margin: 0;
  padding: 0 17px;
  border: 1px solid rgba(71,58,159,.76);
  border-radius: 999px;
  background: linear-gradient(135deg, #29265f, #494094);
  box-shadow: 0 8px 17px rgba(49,40,128,.23), inset 0 1px 0 rgba(255,255,255,.14);
  color: #fff;
  font: 600 15px/1 "Barlow", "Segoe UI", Arial, sans-serif;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.header-cta:hover { background: linear-gradient(135deg, #242156, #5a4cab); box-shadow: 0 11px 21px rgba(49,40,128,.28), inset 0 1px 0 rgba(255,255,255,.17); color: #fff; transform: translateY(-2px); }
.menu-toggle { display: none; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { width: 18px; height: 1.5px; border-radius: 2px; background: currentColor; }
.menu-toggle span::before { top: -6px; }
.menu-toggle span::after { top: 6px; }
.header-search {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 92;
  display: flex;
  width: min(360px, calc(100vw - 48px));
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 16px;
  background: rgba(253,253,255,.84);
  box-shadow: 0 20px 48px rgba(29,22,86,.16), inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}
.header-search[hidden] { display: none; }
.header-search input {
  min-width: 0;
  height: 40px;
  flex: 1;
  padding: 0 11px;
  border: 1px solid rgba(70,61,139,.20);
  border-radius: 10px;
  background: rgba(255,255,255,.76);
  color: #27264e;
  font: 400 15px/1.15 "Barlow", "Segoe UI", Arial, sans-serif;
}
.header-search button {
  height: 40px;
  padding: 0 13px;
  border: 0;
  border-radius: 10px;
  background: #2b2867;
  color: #fff;
  font: 600 15px/1 "Barlow", "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1260px) {
  .site-header { top: 16px; width: calc(100% - 32px); height: 70px; margin-top: 16px; border-radius: 20px; }
  .site-header .wrap { min-height: 68px; padding: 0 14px 0 17px; }
  .nav-zone { position: static; flex: 0; }
  .nav-zone .nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .nav-search { display: none; }
  .header-cta { position: static; display: inline-flex; }
  .site-header.open .nav-zone .nav {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    display: flex;
    width: min(500px, calc(100vw - 32px));
    max-height: min(690px, calc(100vh - 110px));
    padding: 8px;
    overflow: auto;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 18px;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    background: rgba(252,252,255,.88);
    box-shadow: 0 24px 54px rgba(29,22,86,.18), inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
  }
  .site-header.open .nav > li { width: 100%; }
  .site-header.open .nav-top { width: 100%; height: 50px; justify-content: flex-start; padding: 0 13px; border-radius: 11px; font-size: 17px; }
  .site-header.open .mega { position: static; display: none; width: auto; min-width: 0; margin: 0 5px 6px; padding: 8px 5px 10px; border: 0; border-radius: 0; box-shadow: none; background: transparent; transform: none; }
  .site-header.open .nav > li:hover .mega { display: none; }
  .site-header.open .nav > li.expanded .mega, .site-header.open .nav > li.expanded:hover .mega { display: grid; }
  .site-header.open .mega a { font-size: 15px; }
  .site-header.open .header-cta { position: static; display: inline-flex; }
}
@media (max-width: 520px) {
  .site-header { width: calc(100% - 24px); }
  .site-header .wrap { gap: 8px; padding: 0 10px 0 12px; }
  .brand img { height: 30px; max-width: 142px; }
  .header-actions { gap: 6px; }
  .header-cta { min-height: 40px; padding: 0 11px; font-size: 15px; }
  .menu-toggle { width: 40px; height: 40px; border-radius: 12px; }
  .site-header.open .nav-zone .nav { width: calc(100vw - 24px); }
  .site-header.open .mega { grid-template-columns: 1fr; }
}
@media (max-width: 385px) {
  .brand img { max-width: 124px; }
  .header-cta { padding: 0 9px; }
}

/* Focused corrections: full brochure phones, one AiiVare prompt-and-response scene, and calibrated product marks. */
.hero .badge { font-size: 16px; }

.mobile-product-stage {
  width: min(100%, 178px);
  height: 312px;
  aspect-ratio: auto;
}
.mobile-product-stage .mobile-window {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible !important;
}
.mobile-product-stage .mobile-screen {
  position: absolute;
  inset: 0;
  overflow: visible !important;
  clip-path: none;
}
.mobile-product-stage .mobile-screen > img.mobile-product-art {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center center;
}
@media (max-width: 650px) {
  .mobile-product-stage { width: 100%; height: 188px; }
}

.guided-aiivare { background: #f4f6fb; }
.aiivare-workspace {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 10%, rgba(235,124,187,.20), transparent 29%),
    radial-gradient(circle at 10% 100%, rgba(92,111,211,.14), transparent 30%),
    linear-gradient(135deg, #f9fbff 0%, #eef1f8 100%);
  color: #262553;
}
.aiivare-workspace-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 38px;
  padding: 0 clamp(13px, 2vw, 23px);
  border-bottom: 1px solid rgba(75,77,140,.13);
  background: rgba(255,255,255,.72);
  color: #555582;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}
.aiivare-workspace-bar span:last-child { color: #6e4289; }
.aiivare-thread {
  display: grid;
  align-content: center;
  gap: clamp(12px, 2.3vw, 22px);
  padding: clamp(20px, 4.3vw, 44px) clamp(18px, 6vw, 68px) clamp(17px, 3.5vw, 34px);
}
.aiivare-prompt-panel,
.aiivare-response-panel {
  border: 1px solid rgba(88,86,153,.16);
  border-radius: 14px;
  background: rgba(255,255,255,.83);
  box-shadow: 0 12px 28px rgba(49,48,108,.08), inset 0 1px 0 rgba(255,255,255,.95);
}
.aiivare-prompt-panel { padding: clamp(11px, 1.8vw, 16px) clamp(13px, 2vw, 20px); }
.aiivare-panel-label {
  display: block;
  margin-bottom: 7px;
  color: #6b5b9b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.aiivare-prompt-panel p,
.aiivare-response-panel p { margin: 0; }
.aiivare-prompt-panel p {
  position: relative;
  color: #252551;
  font-size: clamp(15px, 1.6vw, 17px);
  font-weight: 600;
  line-height: 1.42;
}
.aiivare-typed-copy { display: inline; clip-path: inset(0 100% 0 0); }
.aiivare-caret {
  display: inline-block;
  width: 2px;
  height: 1.1em;
  margin-left: 3px;
  vertical-align: -.18em;
  background: #dd2d74;
  opacity: 0;
}
.aiivare-response-panel {
  padding: clamp(12px, 2vw, 18px) clamp(13px, 2.2vw, 22px);
  opacity: 0;
  transform: translateY(10px);
}
.aiivare-response-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: #2c2b61;
  font-size: clamp(15px, 1.75vw, 18px);
  font-weight: 700;
  line-height: 1.2;
}
.aiivare-response-heading small {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(229,87,146,.11);
  color: #a63667;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
.aiivare-response-panel p { color: #58577e; font-size: 15px; line-height: 1.4; }
.aiivare-response-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.aiivare-response-metrics span {
  display: grid;
  gap: 3px;
  padding: 8px;
  border-radius: 9px;
  background: rgba(92,99,184,.07);
  color: #5c5b80;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
}
.aiivare-response-metrics b { color: #39386d; font-size: 18px; line-height: 1; }
@keyframes aiivare-type-prompt { to { clip-path: inset(0 0 0 0); } }
@keyframes aiivare-caret-blink { 0%, 42% { opacity: 0; } 49%, 63% { opacity: 1; } 70%, 100% { opacity: 0; } }
@keyframes aiivare-response-reveal { to { opacity: 1; transform: translateY(0); } }
.guided-aiivare.is-active .aiivare-typed-copy { animation: aiivare-type-prompt 1900ms steps(54, end) 260ms both; }
.guided-aiivare.is-active .aiivare-caret { animation: aiivare-caret-blink 2300ms steps(1, end) 240ms both; }
.guided-aiivare.is-active .aiivare-response-panel { animation: aiivare-response-reveal 620ms cubic-bezier(.16,1,.3,1) 2450ms both; }

.product-card .cybervare-logo {
  width: min(214px, 100%);
  height: 38px;
  aspect-ratio: auto;
  margin-bottom: 19px;
}
.product-card .cybervare-logo img {
  left: -15%;
  width: 135%;
  transform: translateY(-15%);
}

/* Company names make every partner mark identifiable and the whole brand area clickable. */
.partner-brand-link {
  display: flex;
  flex-direction: column;
  gap: 9px;
  color: inherit;
  text-decoration: none;
}
.partner-brand-link:hover { color: inherit; }
.partner-brand-link .partner-logo-mark { transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.partner-brand-link:hover .partner-logo-mark {
  border-color: rgba(211,43,112,.42);
  box-shadow: 0 10px 22px rgba(47,43,116,.12);
  transform: translateY(-2px);
}
.partner-brand-link h3 {
  margin: 0;
  color: #302e63;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
.partner-mini-card .partner-brand-link { gap: 6px; }
.partner-mini-card .partner-brand-link h3 { font-size: 15px; }

/* Actual brochure screens sit inside a complete handset, so every device ends cleanly. */
.mobile-product-stage {
  position: relative;
  isolation: isolate;
  width: min(100%, 178px);
  height: 312px;
  padding: 5px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  background: linear-gradient(140deg, #f9fafb 0%, #aab2ba 21%, #535d67 54%, #d9dfe4 100%);
  box-shadow: 0 2px 1px rgba(255,255,255,.9) inset, 0 -2px 2px rgba(28,34,40,.38) inset, 0 22px 31px rgba(37,43,51,.22);
}
.mobile-product-stage::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 5px;
  right: 7px;
  left: 7px;
  height: 18%;
  border-radius: 24px 24px 12px 12px;
  background: linear-gradient(120deg, rgba(255,255,255,.35), transparent 40%);
  pointer-events: none;
}
.mobile-product-stage::after {
  content: "";
  position: absolute;
  z-index: 5;
  bottom: 12px;
  left: 50%;
  width: 30%;
  height: 4px;
  border-radius: 999px;
  background: rgba(24,29,35,.58);
  box-shadow: 0 1px 0 rgba(255,255,255,.28);
  pointer-events: none;
  transform: translateX(-50%);
}
.mobile-product-stage .mobile-window {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden !important;
  border: 1px solid rgba(24,29,35,.78);
  border-radius: 25px;
  background: #eef1f5;
  box-shadow: 0 1px 4px rgba(16,20,25,.62) inset;
}
.mobile-product-stage .mobile-screen {
  position: absolute;
  inset: 0;
  overflow: hidden !important;
  clip-path: none;
}
.mobile-product-stage .mobile-screen > img.mobile-product-art {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center top;
  filter: none;
}
.mobile-scene {
  transition: opacity 850ms cubic-bezier(.2,.8,.2,1), transform 850ms cubic-bezier(.2,.8,.2,1);
}
.mobile-scene.is-empty {
  opacity: 0;
  transform: translateX(10px);
}

/* Editorial architecture composition rather than generic equal cards. */
.architecture-constellation {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 44px 0 54px;
  border: 1px solid rgba(83,76,157,.16);
  border-radius: 26px;
  background: rgba(255,255,255,.53);
  box-shadow: 0 22px 54px rgba(34,29,94,.08), inset 0 1px 0 rgba(255,255,255,.92);
  overflow: hidden;
}
.architecture-constellation::before {
  content: "";
  position: absolute;
  top: 31%;
  right: 7%;
  left: 7%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215,39,110,.48) 13%, rgba(97,85,188,.52) 50%, rgba(215,39,110,.48) 87%, transparent);
}
.architecture-layer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 268px;
  padding: 28px 26px 25px;
  background: linear-gradient(160deg, rgba(255,255,255,.68), rgba(246,245,255,.35));
}
.architecture-layer + .architecture-layer { border-left: 1px solid rgba(83,76,157,.12); }
.architecture-layer--two { background: linear-gradient(165deg, rgba(248,245,255,.9), rgba(235,238,255,.48)); }
.architecture-layer--three { background: linear-gradient(165deg, rgba(255,251,254,.82), rgba(240,240,255,.45)); }
.architecture-layer > span {
  color: #d72670;
  font-size: clamp(3.2rem, 6vw, 5.1rem);
  font-weight: 500;
  letter-spacing: -.08em;
  line-height: .78;
  opacity: .96;
}
.architecture-layer h3 {
  margin: 0 0 10px;
  color: #292859;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.12;
}
.architecture-layer p {
  max-width: 27ch;
  margin: 0;
  color: #646387;
  font-size: 15px;
  line-height: 1.5;
}

/* Purpose-built role inquiries replace the generic four-card grid. */
.role-inquiry-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}
.role-inquiry {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 302px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(242,243,255,.56));
  box-shadow: 0 18px 38px rgba(42,37,110,.08), inset 0 1px 0 rgba(255,255,255,.98);
  color: inherit;
  overflow: hidden;
  text-decoration: none;
  transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease, border-color 220ms ease;
}
.role-inquiry:hover {
  border-color: rgba(208,46,118,.38);
  box-shadow: 0 24px 42px rgba(42,37,110,.14), inset 0 1px 0 rgba(255,255,255,.98);
  color: inherit;
  transform: translateY(-5px);
}
.role-inquiry-mark {
  align-self: start;
  color: rgba(68,64,143,.14);
  font-size: clamp(3.7rem, 6.6vw, 5.7rem);
  font-weight: 700;
  letter-spacing: -.09em;
  line-height: .78;
}
.role-inquiry-copy { align-self: end; }
.role-inquiry-copy small {
  display: block;
  margin-bottom: 10px;
  color: #d72770;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
}
.role-inquiry h3 {
  margin: 0 0 11px;
  color: #262553;
  font-size: clamp(18px, 1.75vw, 22px);
  line-height: 1.12;
}
.role-inquiry p {
  margin: 0;
  color: #656489;
  font-size: 15px;
  line-height: 1.48;
}

/* Case-study evidence in a concise editorial treatment. */
.case-studies-section { position: relative; overflow: hidden; }
.case-studies-section::before {
  content: "";
  position: absolute;
  width: min(68vw, 900px);
  aspect-ratio: 1;
  right: -23vw;
  bottom: -45%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(229,72,137,.12), rgba(105,96,204,.08) 43%, transparent 70%);
  filter: blur(8px);
  pointer-events: none;
}
.case-studies-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(400px, 1.16fr);
  align-items: stretch;
  gap: 0;
  border: 1px solid rgba(85,77,157,.16);
  border-radius: 28px 28px 0 0;
  background: rgba(255,255,255,.62);
  box-shadow: 0 26px 60px rgba(34,29,94,.10), inset 0 1px 0 rgba(255,255,255,.94);
  overflow: hidden;
}
.case-studies-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(32px, 5vw, 70px);
}
.case-studies-copy h2 {
  max-width: 10ch;
  margin: 11px 0 16px;
  color: #282655;
  font-size: clamp(2rem, 4.2vw, 4.15rem);
  letter-spacing: -.055em;
  line-height: .98;
}
.case-studies-copy > p {
  max-width: 31ch;
  margin: 0;
  color: #5b5a80;
  font-size: 17px;
  line-height: 1.45;
}
.case-study-facts {
  display: grid;
  gap: 9px;
  margin: 28px 0 24px;
}
.case-study-facts span {
  display: grid;
  grid-template-columns: 45px 1fr;
  align-items: baseline;
  gap: 8px;
  color: #666487;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}
.case-study-facts b {
  color: #d72670;
  font-size: 25px;
  letter-spacing: -.06em;
  line-height: 1;
}
.case-study-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(62,57,129,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #302e6f;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.case-study-link:hover { background: #fff; box-shadow: 0 10px 22px rgba(47,43,116,.12); color: #302e6f; transform: translateY(-2px); }
.case-studies-visual {
  position: relative;
  min-height: 440px;
  margin: 0;
  overflow: hidden;
  border-left: 1px solid rgba(85,77,157,.12);
  background: #f3f5fb;
}
.case-studies-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(243,244,253,.22), transparent 19%, transparent 82%, rgba(240,236,255,.12));
  pointer-events: none;
}
.case-studies-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
}
.case-study-ledger {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(85,77,157,.16);
  border-top: 0;
  border-radius: 0 0 28px 28px;
  background: rgba(247,247,255,.72);
  list-style: none;
  overflow: hidden;
}
.case-study-ledger li {
  display: grid;
  gap: 5px;
  min-height: 126px;
  padding: 21px 20px;
}
.case-study-ledger li + li { border-left: 1px solid rgba(85,77,157,.13); }
.case-ledger-index { color: #d72870; font-size: 14px; font-weight: 700; line-height: 1; }
.case-ledger-sector { color: #292858; font-size: 17px; font-weight: 700; line-height: 1.15; }
.case-ledger-product { color: #5c588c; font-size: 15px; font-weight: 600; line-height: 1.15; }
.case-ledger-date { color: #777591; font-size: 14px; line-height: 1.2; }

@media (max-width: 980px) {
  .role-inquiry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-studies-stage { grid-template-columns: 1fr; }
  .case-studies-copy h2 { max-width: 15ch; }
  .case-studies-visual { min-height: 360px; border-top: 1px solid rgba(85,77,157,.12); border-left: 0; }
  .case-study-ledger { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .case-study-ledger li:nth-child(4) { border-left: 0; border-top: 1px solid rgba(85,77,157,.13); }
  .case-study-ledger li:nth-child(5) { border-top: 1px solid rgba(85,77,157,.13); }
}
@media (max-width: 650px) {
  .mobile-product-stage { width: 100%; height: 188px; padding: 4px; border-radius: 22px; }
  .mobile-product-stage .mobile-window { border-radius: 18px; }
  .mobile-product-stage::after { bottom: 9px; height: 3px; }
  .architecture-constellation { grid-template-columns: 1fr; margin: 28px 0 36px; }
  .architecture-constellation::before { top: 8%; bottom: 8%; left: 42px; width: 1px; height: auto; background: linear-gradient(rgba(215,39,110,.42), rgba(97,85,188,.42)); }
  .architecture-layer { grid-template-columns: 74px 1fr; grid-template-rows: none; min-height: 0; padding: 23px 20px; gap: 12px; }
  .architecture-layer + .architecture-layer { border-top: 1px solid rgba(83,76,157,.12); border-left: 0; }
  .architecture-layer > span { font-size: 42px; align-self: start; }
  .architecture-layer h3 { font-size: 19px; }
  .role-inquiry-grid { grid-template-columns: 1fr; }
  .role-inquiry { min-height: 215px; }
  .role-inquiry-mark { font-size: 58px; }
  .case-studies-copy { padding: 34px 24px; }
  .case-studies-copy h2 { font-size: 2.45rem; }
  .case-studies-visual { min-height: 228px; }
  .case-study-ledger { grid-template-columns: 1fr 1fr; border-radius: 0 0 20px 20px; }
  .case-study-ledger li { min-height: 116px; padding: 17px 15px; }
  .case-study-ledger li:nth-child(n+3) { border-top: 1px solid rgba(85,77,157,.13); }
  .case-study-ledger li:nth-child(3), .case-study-ledger li:nth-child(5) { border-left: 0; }
  .case-study-ledger li:last-child { grid-column: span 2; }
}

/* Final product-cinema and delivery-report refinements. */
.guided-window { aspect-ratio: 16 / 9; }
.guided-screen > .guided-product-logo {
  top: 12px;
  right: 14px;
  width: auto !important;
  height: 22px !important;
  max-width: min(112px, 30%);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 1px 1px rgba(255,255,255,.72));
}
.guided-screen > .guided-video {
  object-fit: cover;
  background: #eff6f4;
}

/* Brochure mobile views are complete handset visuals, not cropped inside a second device frame. */
.device-showcase {
  grid-template-columns: minmax(0, 1fr) minmax(188px, 230px);
  gap: clamp(18px, 2.4vw, 32px);
}
.mobile-product-stage {
  width: min(100%, 214px);
  height: auto;
  aspect-ratio: 920 / 1448;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mobile-product-stage::before,
.mobile-product-stage::after { display: none; }
.mobile-product-stage .mobile-window {
  width: 100%;
  height: 100%;
  overflow: visible !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mobile-product-stage .mobile-screen { overflow: visible !important; }
.mobile-product-stage .mobile-screen > img.mobile-product-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Individual case studies use a concise editorial portfolio rather than an attached report. */
.case-studies-section { padding-top: clamp(66px, 9vw, 118px); padding-bottom: clamp(66px, 9vw, 118px); }
.case-studies-intro { display: grid; grid-template-columns: minmax(0, .88fr) minmax(300px, .62fr); align-items: end; gap: clamp(22px, 5vw, 78px); margin-bottom: 32px; }
.case-studies-intro .eyebrow { grid-column: 1; margin-bottom: -8px; }
.case-studies-intro h2 { grid-column: 1; margin: 0; color: #282655; font-size: clamp(2.15rem, 4.2vw, 4.4rem); letter-spacing: -.055em; line-height: .95; }
.case-studies-intro p { grid-column: 2; grid-row: 1 / span 2; max-width: 35ch; margin: 0 0 3px; color: #5b5a80; font-size: 17px; line-height: 1.48; }
.case-study-portfolio { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid rgba(85,77,157,.16); border-radius: 26px; background: rgba(255,255,255,.66); box-shadow: 0 26px 60px rgba(34,29,94,.09), inset 0 1px 0 rgba(255,255,255,.94); overflow: hidden; }
.case-study-tile { position: relative; display: flex; min-height: 318px; flex-direction: column; align-items: flex-start; padding: 25px 21px 22px; color: inherit; text-decoration: none; transition: background 240ms ease, transform 240ms ease; }
.case-study-tile + .case-study-tile { border-left: 1px solid rgba(85,77,157,.13); }
.case-study-tile:hover { background: linear-gradient(155deg, rgba(255,249,253,.96), rgba(241,242,255,.72)); color: inherit; }
.case-study-number { color: #d72870; font-size: 15px; font-weight: 700; line-height: 1; }
.case-study-sector { margin-top: auto; color: #292858; font-size: clamp(18px, 1.62vw, 23px); font-weight: 700; letter-spacing: -.025em; line-height: 1.08; }
.case-study-product { margin-top: 8px; color: #635c97; font-size: 15px; font-weight: 700; line-height: 1.15; }
.case-study-summary { margin-top: 13px; color: #696789; font-size: 14px; line-height: 1.44; }
.case-study-open { margin-top: 20px; color: #3b3678; font-size: 15px; font-weight: 700; line-height: 1.2; }
.case-study-open::after { content: ""; display: inline-block; width: 22px; height: 1px; margin: 0 0 4px 8px; background: linear-gradient(90deg, #ea2e7c, #7566d5); vertical-align: middle; transition: width 180ms ease; }
.case-study-tile:hover .case-study-open::after { width: 32px; }
.case-report-heading { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 22px; align-items: start; max-width: 920px; }
.case-report-heading > .case-study-number { padding-top: 11px; font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 500; letter-spacing: -.08em; }
.case-report-heading .logo { display: block; height: 29px !important; width: auto; margin: 0 0 18px !important; }
.case-report-heading h1 { max-width: 18ch; margin: 10px 0 17px; }
.case-report-heading .lead { max-width: 52ch; }
.case-report-period { margin: 16px 0 0; color: #6c6990; font-size: 15px; font-weight: 600; }
.case-report-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(220px, .7fr)); gap: 18px; align-items: stretch; }
.case-report-focus, .case-report-detail { min-height: 250px; padding: clamp(24px, 3vw, 37px); border: 1px solid rgba(83,76,157,.15); border-radius: 22px; background: rgba(255,255,255,.67); box-shadow: 0 16px 34px rgba(34,29,94,.06), inset 0 1px 0 rgba(255,255,255,.95); }
.case-report-focus { background: linear-gradient(145deg, rgba(251,247,255,.93), rgba(241,242,255,.6)); }
.case-report-focus h2 { margin: 16px 0 0; color: #292758; font-size: clamp(23px, 2.6vw, 35px); line-height: 1.08; }
.case-report-detail .check { margin-top: 18px; }
.case-report-detail .check li { font-size: 15px; }
.case-report-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.case-report-cta h2 { max-width: 20ch; }
.case-study-page #footer-offices { display: none; }

@media (max-width: 980px) {
  .device-showcase { grid-template-columns: minmax(0, 1fr) minmax(164px, 196px); gap: 14px; }
  .mobile-product-stage { width: min(100%, 184px); }
  .case-study-portfolio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .case-study-tile:nth-child(4), .case-study-tile:nth-child(5) { border-top: 1px solid rgba(85,77,157,.13); }
  .case-study-tile:nth-child(4) { border-left: 0; }
  .case-studies-intro { grid-template-columns: 1fr; gap: 14px; }
  .case-studies-intro .eyebrow, .case-studies-intro h2, .case-studies-intro p { grid-column: auto; grid-row: auto; }
  .case-studies-intro p { max-width: 42ch; }
  .case-report-grid { grid-template-columns: 1fr 1fr; }
  .case-report-focus { grid-column: 1 / -1; min-height: auto; }
}
@media (max-width: 650px) {
  .guided-window { aspect-ratio: 1.25 / 1; }
  .guided-screen > .guided-product-logo { top: 8px; right: 9px; height: 18px !important; max-width: 34%; }
  .device-showcase { grid-template-columns: 1fr; gap: 13px; }
  .mobile-product-stage { width: 180px; }
  .case-studies-section { padding-top: 62px; padding-bottom: 62px; }
  .case-studies-intro h2 { font-size: 2.42rem; }
  .case-study-portfolio { grid-template-columns: 1fr 1fr; border-radius: 20px; }
  .case-study-tile { min-height: 246px; padding: 20px 16px 18px; }
  .case-study-tile:nth-child(n) { border-top: 1px solid rgba(85,77,157,.13); }
  .case-study-tile:nth-child(1), .case-study-tile:nth-child(2) { border-top: 0; }
  .case-study-tile:nth-child(odd) { border-left: 0; }
  .case-study-tile:last-child { grid-column: span 2; min-height: 220px; }
  .case-study-sector { font-size: 19px; }
  .case-study-summary { font-size: 14px; }
  .case-report-heading { grid-template-columns: 1fr; gap: 10px; }
  .case-report-heading > .case-study-number { padding-top: 0; font-size: 3.2rem; }
  .case-report-grid { grid-template-columns: 1fr; }
  .case-report-focus { grid-column: auto; }
  .case-report-focus, .case-report-detail { min-height: 0; padding: 23px 20px; }
  .case-report-cta { display: grid; align-items: start; }
}

/* Calm silk-mesh hero and POV-only AuditVare mobile views. */
.mesh-enabled {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--mesh-base);
}
.mesh-enabled::before,
.mesh-enabled::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
}
.mesh-enabled::before {
  top: -38%;
  left: -12%;
  width: 62vw;
  height: 62vw;
  min-width: 560px;
  min-height: 560px;
  background: radial-gradient(circle, rgba(183,208,236,.72) 0, rgba(183,208,236,.26) 37%, rgba(183,208,236,0) 69%);
  animation: mesh-glow-drift 26s ease-in-out infinite alternate;
}
.mesh-enabled::after {
  right: -20%;
  bottom: -62%;
  width: 78vw;
  height: 70vw;
  min-width: 640px;
  min-height: 570px;
  background: radial-gradient(ellipse, rgba(235,200,230,.58) 0, rgba(217,195,218,.28) 43%, rgba(235,200,230,0) 71%);
  animation: mesh-glow-drift 30s ease-in-out infinite alternate-reverse;
}
.hero-silk-mesh { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.silk-mesh-canvas { display: block; width: 100%; height: 100%; }
.hero-mesh-brand {
  position: absolute;
  z-index: 1;
  top: 28px;
  left: 50%;
  width: min(230px, 34vw);
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 999px;
  background: rgba(255,255,255,.52);
  box-shadow: 0 6px 24px rgba(45,46,95,.08), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  transform: translateX(-50%);
}
.hero-mesh-brand img { width: 100%; height: auto; }
.mesh-enabled .hero-grid { position: relative; z-index: 2; }
@keyframes mesh-glow-drift {
  from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
  to { transform: translate3d(3%, 2%, 0) scale(1.08); }
}

/* The uncropped source images already include their own complete handsets. */
.auditvare-mobile-cinema .mobile-product-stage {
  width: min(100%, 188px);
  aspect-ratio: 621 / 1302;
}
.auditvare-mobile-cinema .mobile-window { position: relative; overflow: visible !important; }
.auditvare-mobile-cinema .mobile-screen {
  opacity: 0;
  transform: translateY(9px) scale(.987);
  transition: opacity 1100ms ease-in-out, transform 1100ms cubic-bezier(.22,.61,.36,1);
  animation: none !important;
}
.auditvare-mobile-cinema .mobile-screen.is-active { opacity: 1; transform: translateY(0) scale(1); }
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art {
  filter: drop-shadow(0 16px 22px rgba(37,39,93,.16));
}

@media (max-width: 980px) {
  .auditvare-mobile-cinema .mobile-product-stage { width: min(100%, 172px); }
}
@media (max-width: 650px) {
  .hero-mesh-brand { top: 17px; width: min(190px, 55vw); padding: 8px 13px; }
  .auditvare-mobile-cinema .mobile-product-stage { width: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .mesh-enabled::before,
  .mesh-enabled::after { animation: none !important; }
  .auditvare-mobile-cinema .mobile-screen { transition: none; animation: none !important; }
}

/* Editorial portfolio, platform system and darker global footer. */
.hero-mesh-brand { display: none; }
.mesh-enabled .silk-mesh-canvas { opacity: .74; }
.ambient-wire-band { position: relative; z-index: 0; height: clamp(68px, 8vw, 118px); overflow: hidden; background: linear-gradient(180deg, rgba(251,247,244,.08), rgba(239,239,255,.48)); }
.ambient-wire-band--quiet { height: clamp(52px, 6vw, 90px); background: linear-gradient(180deg, rgba(255,255,255,.68), rgba(244,244,255,.42)); }
.ambient-wire-band canvas { display: block; width: 100%; height: 100%; }

/* A current, thin-screen device keeps the dashboard dominant. */
.device-showcase .laptop-scene { padding: 3px 8px 15px; }
.laptop-scene { animation: none; }
.laptop-display {
  padding: 7px 7px 9px;
  border: 1px solid rgba(244,247,249,.92);
  border-radius: 14px 14px 10px 10px;
  background: linear-gradient(116deg, #f5f7f8 0%, #aeb6be 14%, #69747e 50%, #cbd1d5 100%);
  box-shadow: 0 1px 0 rgba(255,255,255,.92) inset, 0 16px 30px rgba(45,53,63,.16), 0 -1px 0 rgba(24,29,35,.32) inset;
  transform: perspective(1600px) rotateX(1deg) rotateY(-.45deg);
}
.laptop-display::before { top: 1px; left: 28%; width: 44%; background: rgba(255,255,255,.95); }
.laptop-camera { top: 3px; width: 6px; height: 6px; box-shadow: 0 0 0 2px rgba(30,37,44,.44); }
.laptop-display .dashboard-window { border-radius: 8px; box-shadow: 0 0 0 1px rgba(28,34,40,.64); }
.laptop-base {
  width: calc(100% + 1.8%);
  height: 11px;
  margin: -1px -.9% 0;
  border: 1px solid rgba(96,104,112,.5);
  border-radius: 0 0 9px 9px;
  background: linear-gradient(180deg, #e2e6e8, #aeb6bd 40%, #858e95 100%);
  box-shadow: 0 7px 14px rgba(47,54,62,.16), inset 0 1px rgba(255,255,255,.84);
  clip-path: polygon(1% 0, 99% 0, 97% 86%, 55% 100%, 45% 100%, 3% 86%);
  transform: none;
}
.laptop-base::before { top: 1px; left: 43%; width: 14%; height: 38%; border: 0; border-radius: 0 0 4px 4px; background: rgba(47,55,64,.22); box-shadow: none; }
.laptop-base span { display: none; }
.auditvare-mobile-cinema .mobile-product-stage { width: min(100%, 166px); }
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art { filter: drop-shadow(0 12px 16px rgba(37,39,93,.10)); }

/* Product cinema legibility: each 10-second scene starts with an overview,
   then settles on two decision fields with visibly larger values. */
.guided-erm { --one-x: 17%; --one-y: 25%; --one-label-x: 30%; --one-label-y: 58%; --two-x: 41%; --two-y: 25%; --two-label-x: 70%; --two-label-y: 58%; }
.guided-audit { --one-x: 24%; --one-y: 25%; --one-label-x: 31%; --one-label-y: 58%; --two-x: 64%; --two-y: 25%; --two-label-x: 71%; --two-label-y: 58%; }
.guided-cyber { --one-x: 6%; --one-y: 27%; --one-label-x: 29%; --one-label-y: 58%; --two-x: 53%; --two-y: 29%; --two-label-x: 73%; --two-label-y: 58%; }
.guided-screen > img:not(.guided-product-logo) { transform-origin: 50% 50%; will-change: transform; }
.guided-screen.is-active.guided-erm > img:not(.guided-product-logo) { animation: dashboard-erm-read 10000ms cubic-bezier(.33,.05,.22,1) both; }
.guided-screen.is-active.guided-audit > img:not(.guided-product-logo) { animation: dashboard-audit-read 10000ms cubic-bezier(.33,.05,.22,1) both; }
.guided-screen.is-active.guided-cyber > img:not(.guided-product-logo) { animation: dashboard-cyber-read 10000ms cubic-bezier(.33,.05,.22,1) both; }
@keyframes dashboard-erm-read {
  0%, 17% { transform: scale(1); }
  28%, 45% { transform: scale(1.58) translate(20%, 26%); }
  56%, 79% { transform: scale(1.58) translate(-2%, 26%); }
  91%, 100% { transform: scale(1); }
}
@keyframes dashboard-audit-read {
  0%, 17% { transform: scale(1); }
  28%, 45% { transform: scale(1.46) translate(17%, 24%); }
  56%, 79% { transform: scale(1.46) translate(-11%, 23%); }
  91%, 100% { transform: scale(1); }
}
@keyframes dashboard-cyber-read {
  0%, 17% { transform: scale(1); }
  28%, 45% { transform: scale(1.48) translate(30%, 22%); }
  56%, 79% { transform: scale(1.48) translate(-17%, 22%); }
  91%, 100% { transform: scale(1); }
}
.screen-metric {
  position: absolute;
  z-index: 9;
  display: grid;
  gap: 1px;
  min-width: clamp(142px, 19vw, 206px);
  padding: 10px 13px 11px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 13px;
  background: rgba(248,250,255,.94);
  box-shadow: 0 12px 28px rgba(20,28,66,.19), inset 0 1px 0 rgba(255,255,255,.96);
  color: #45446c;
  opacity: 0;
  transform: translateY(10px) scale(.96);
  pointer-events: none;
}
.screen-metric span { font-size: clamp(14px, 1.25vw, 17px); font-weight: 650; line-height: 1.2; }
.screen-metric b { color: #242350; font-size: clamp(28px, 3vw, 42px); font-weight: 750; letter-spacing: -.055em; line-height: .95; }
.screen-metric--one { left: 18px; bottom: 17px; }
.screen-metric--two { right: 18px; bottom: 17px; text-align: right; }
.guided-cyber .screen-metric b { color: #be2639; }
.guided-screen.is-active .screen-metric--one { animation: screen-metric-one 10000ms cubic-bezier(.2,.82,.22,1) both; }
.guided-screen.is-active .screen-metric--two { animation: screen-metric-two 10000ms cubic-bezier(.2,.82,.22,1) both; }
@keyframes screen-metric-one {
  0%, 21% { opacity: 0; transform: translateY(10px) scale(.96); }
  29%, 47% { opacity: 1; transform: translateY(0) scale(1); }
  54%, 100% { opacity: 0; transform: translateY(-4px) scale(.98); }
}
@keyframes screen-metric-two {
  0%, 51% { opacity: 0; transform: translateY(10px) scale(.96); }
  59%, 81% { opacity: 1; transform: translateY(0) scale(1); }
  89%, 100% { opacity: 0; transform: translateY(-4px) scale(.98); }
}
@media (max-width: 650px) {
  .screen-metric { min-width: 116px; padding: 7px 8px 8px; border-radius: 10px; }
  .screen-metric span { font-size: 14px; }
  .screen-metric b { font-size: 24px; }
  .screen-metric--one { left: 9px; bottom: 9px; }
  .screen-metric--two { right: 9px; bottom: 9px; }
}
.screen-sequence { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 650px) { .screen-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) {
  .guided-screen > img:not(.guided-product-logo), .screen-metric { animation: none !important; }
  .guided-erm .screen-metric--one { opacity: 1; transform: none; }
}

/* Home-page section identities share one exact, compact visual language. */
.hero .hero-identity {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  margin-bottom: 20px;
  padding: 5px 12px 5px 7px;
  border-color: rgba(117,101,210,.18);
  background: rgba(255,255,255,.64);
  color: #41397e;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.hero .hero-identity::before { display: none; }
.hero-identity-icon, .section-eyebrow-icon {
  display: grid;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  place-items: center;
  border: 1px solid rgba(108,91,192,.18);
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(238,221,245,.9), rgba(223,233,255,.84));
  color: #6559b4;
}
.hero-identity-icon svg, .section-eyebrow-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 28px;
  margin-bottom: 13px;
  color: #564b9d;
  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}
.section-eyebrow--delivery .section-eyebrow-icon { color: #c15a92; background: linear-gradient(135deg, rgba(253,226,238,.9), rgba(239,229,255,.86)); }
.section-eyebrow--partners .section-eyebrow-icon { color: #4576ae; background: linear-gradient(135deg, rgba(223,239,253,.95), rgba(238,229,255,.88)); }
.section-eyebrow--insights .section-eyebrow-icon { color: #9362a9; background: linear-gradient(135deg, rgba(246,226,244,.94), rgba(228,233,255,.88)); }
.section-eyebrow--regulations .section-eyebrow-icon { color: #5b72ac; }
.suite-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  margin-bottom: 13px;
  color: #51498d;
  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}
.suite-eyebrow img {
  display: block;
  width: auto;
  height: 28px;
  max-width: 158px;
  object-fit: contain;
}
.aiivare-section {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at 86% 14%, rgba(217,190,236,.38), transparent 31%), radial-gradient(ellipse at 18% 96%, rgba(185,210,239,.38), transparent 36%), linear-gradient(135deg, #fff 0%, #f9f8ff 48%, #fff9fc 100%);
  color: #302e61;
}
.aiivare-section::before {
  content: "";
  position: absolute;
  right: 7%;
  bottom: -66px;
  width: 285px;
  height: 285px;
  border: 1px solid rgba(110,91,187,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(110,91,187,.035), 0 0 0 60px rgba(218,103,166,.025);
}
.aiivare-section .wrap { position: relative; z-index: 1; }
.aiivare-section h2 { color: #2f2d63; }
.aiivare-section .lead, .aiivare-section .check { color: #5f5c80; }
.aiivare-section .check li::before { color: #c9528e; }
.aiivare-eyebrow {
  display: inline-flex;
  min-height: 44px;
  margin-bottom: 13px;
}
.aiivare-logo-wrap {
  position: relative;
  display: inline-block;
  width: 157px;
  height: 42px;
}
.aiivare-logo-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
  mix-blend-mode: normal;
}
.aiivare-star {
  position: absolute;
  z-index: 1;
  color: #8a62c4;
  font-family: Georgia, serif;
  font-size: 10px;
  font-style: normal;
  line-height: 1;
  opacity: .15;
  text-shadow: 0 0 7px rgba(202,91,166,.7);
  animation: aiivare-star-blink 3.6s ease-in-out infinite;
}
.aiivare-star--one { top: 0; left: 59px; animation-delay: 0s; }
.aiivare-star--two { top: 5px; left: 68px; font-size: 8px; animation-delay: 1.2s; }
.aiivare-star--three { top: 1px; left: 77px; font-size: 7px; animation-delay: 2.4s; }
@keyframes aiivare-star-blink { 0%, 18%, 100% { opacity: .12; transform: scale(.82); } 6%, 12% { opacity: 1; transform: scale(1.22); } }

/* The presentation stage is deliberately unboxed: only the real devices remain visible. */
.dashboard-stage {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.dashboard-stage::before {
  inset: 22% -12% -12% 15%;
  background: radial-gradient(circle, rgba(199,125,190,.19), rgba(121,111,210,.07) 48%, transparent 71%);
  filter: blur(23px);
}
.dashboard-stage-top, .dashboard-stage-bottom {
  padding-right: 2px;
  padding-left: 2px;
  background: transparent;
}
.dashboard-stage-top { padding-top: 0; }
.dashboard-stage-bottom { padding-bottom: 0; }
.mobile-scene, .auditvare-mobile-cinema, .mobile-product-stage, .mobile-product-stage .mobile-window {
  background: transparent !important;
  box-shadow: none !important;
}
.auditvare-mobile-cinema .mobile-product-stage {
  width: min(100%, 172px);
  overflow: visible;
}
.mobile-product-stage .mobile-window { overflow: visible !important; }
.mobile-product-stage .mobile-screen { background: transparent !important; }
.mobile-product-stage .mobile-screen > img.mobile-product-art {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 16px rgba(37,39,93,.10));
}
@media (max-width: 650px) {
  .hero .hero-identity, .section-eyebrow, .suite-eyebrow { font-size: 16px !important; }
  .aiivare-logo-wrap { width: 150px; height: 40px; }
  .auditvare-mobile-cinema .mobile-product-stage { width: min(100%, 174px); }
}
@media (prefers-reduced-motion: reduce) {
  .aiivare-star { animation: none; opacity: .75; }
}

/* Final device and identity pass: large, calm product views and dimensional section marks. */
.device-showcase {
  grid-template-columns: minmax(0, 1fr) minmax(136px, 164px);
  gap: clamp(18px, 2.2vw, 28px);
}
.device-showcase .laptop-scene { padding: 4px 0 18px; }
.guided-window { aspect-ratio: 16 / 9; }
.guided-screen > .guided-video { object-fit: contain; }
.dashboard-stage-top { justify-content: flex-end; min-height: 29px; }
.stage-support {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(113,95,193,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.54);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
  color: #51498d;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.25;
  text-align: right;
}
.screen-sequence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.auditvare-mobile-cinema .mobile-product-stage { width: min(100%, 154px); }
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art {
  clip-path: inset(0 round 8.5%);
  border-radius: 8.5% !important;
  background: transparent !important;
  filter: drop-shadow(0 13px 18px rgba(37,39,93,.12));
}
.hero-identity-icon, .section-eyebrow-icon {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(255,255,255,.86);
  background: linear-gradient(145deg, #fbfcff 1%, #d9e0fb 38%, #c6b8ed 100%);
  box-shadow: 0 7px 13px rgba(79,73,148,.20), inset 1px 1px 1px rgba(255,255,255,.98), inset -2px -2px 5px rgba(83,72,160,.13);
  color: #554aaf;
  transform: translateZ(0);
}
.hero-identity-icon::before, .section-eyebrow-icon::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 2px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 7px;
  background: radial-gradient(circle at 28% 20%, rgba(255,255,255,.94), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.30), rgba(179,150,226,.18));
}
.hero-identity-icon svg, .section-eyebrow-icon svg {
  position: relative;
  z-index: 1;
  stroke-width: 2.15;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.70)) drop-shadow(0 2px 2px rgba(66,54,140,.16));
}
.section-eyebrow--delivery .section-eyebrow-icon { color: #a43d7e; background: linear-gradient(145deg, #fffafd 1%, #f2cde1 43%, #d5c1f0 100%); }
.section-eyebrow--partners .section-eyebrow-icon { color: #3f659c; background: linear-gradient(145deg, #fbfdff 1%, #cae1f5 43%, #d7cef3 100%); }
.section-eyebrow--insights .section-eyebrow-icon { color: #754992; background: linear-gradient(145deg, #fffaff 1%, #ecd1ec 43%, #c9c8f2 100%); }
.section-eyebrow--regulations .section-eyebrow-icon { color: #4d67a2; background: linear-gradient(145deg, #fbfdff 1%, #d2e2fa 43%, #c9c4ef 100%); }
@media (max-width: 650px) {
  .device-showcase { grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; }
  .device-showcase .laptop-scene { padding-bottom: 14px; }
  .auditvare-mobile-cinema .mobile-product-stage { width: 112px; }
  .stage-support { max-width: 100%; font-size: 15px; }
}

/* Home-page density and product cinema refinements. */
.section { padding: 68px 0; }
.section-head { margin-bottom: 36px; }
.case-studies-section { padding-top: clamp(68px, 6vw, 78px); padding-bottom: clamp(68px, 6vw, 78px); }
.ambient-wire-band { height: clamp(38px, 4.4vw, 58px); }
.ambient-wire-band--quiet { height: clamp(34px, 3.8vw, 48px); }
.aiivare-section .split { gap: clamp(28px, 4vw, 48px); }
.aiivare-signature { margin: 16px 0 22px; }
.aiivare-signature .aiivare-eyebrow { margin: 0; min-height: 60px; }
.aiivare-signature .aiivare-logo-wrap { width: 224px; height: 60px; }
.aiivare-star { animation-duration: 6s; opacity: .22; text-shadow: 0 0 10px rgba(202,91,166,.85); }
.aiivare-star--one { top: -1px; left: 85px; font-size: 13px; animation-delay: 0s; }
.aiivare-star--two { top: 7px; left: 98px; font-size: 10px; animation-delay: 2s; }
.aiivare-star--three { top: 1px; left: 111px; font-size: 9px; animation-delay: 4s; }
@keyframes aiivare-star-blink { 0%, 13%, 100% { opacity: .16; transform: scale(.76); } 4%, 9% { opacity: 1; transform: scale(1.38); } }
.dashboard-stage-top { min-height: 27px; }
.stage-support { padding: 3px 8px; font-size: 15px; }
.device-showcase { grid-template-columns: minmax(0, 1fr) 108px; gap: clamp(14px, 1.7vw, 22px); }
.device-showcase .laptop-scene { padding: 3px 0 14px; }
.auditvare-mobile-cinema .mobile-product-stage { width: min(100%, 104px); }
.guided-screen { transition: opacity 1800ms cubic-bezier(.45,0,.25,1); }
.guided-screen > .guided-product-logo { top: 10px; right: 11px; height: 14px !important; max-width: min(76px, 21%); opacity: .88; }
.guided-screen > .guided-video { object-fit: contain; }
.auditvare-mobile-cinema .mobile-screen { transform: none; transition: opacity 1600ms cubic-bezier(.45,0,.25,1); }
.auditvare-mobile-cinema .mobile-screen.is-active { transform: none; }
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art {
  clip-path: inset(0 round 14%);
  border-radius: 14% !important;
  filter: drop-shadow(0 10px 14px rgba(37,39,93,.10));
}
.mobile-focus {
  position: absolute;
  z-index: 3;
  display: block;
  border: 1px solid rgba(188,73,139,.68);
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(255,244,250,.22), rgba(130,105,211,.13));
  box-shadow: 0 0 0 3px rgba(255,255,255,.36), 0 0 14px rgba(187,76,157,.28);
  opacity: 0;
  pointer-events: none;
}
.mobile-focus--plan-metrics { top: 15.7%; left: 9.3%; width: 33%; height: 3.8%; }
.mobile-focus--plan-delivery { top: 35.9%; left: 9.3%; width: 35%; height: 3.8%; }
.mobile-focus--follow-items { top: 16.3%; left: 9.3%; width: 37%; height: 3.8%; }
.mobile-focus--follow-attention { top: 34.8%; left: 9.3%; width: 39%; height: 3.8%; }
.mobile-focus--follow-ageing { top: 68.8%; left: 9.3%; width: 42%; height: 3.8%; }
.mobile-screen.is-active .mobile-focus--plan-metrics,
.mobile-screen.is-active .mobile-focus--follow-items { animation: mobile-heading-one 10000ms ease-in-out both; }
.mobile-screen.is-active .mobile-focus--plan-delivery,
.mobile-screen.is-active .mobile-focus--follow-attention { animation: mobile-heading-two 10000ms ease-in-out both; }
.mobile-screen.is-active .mobile-focus--follow-ageing { animation: mobile-heading-three 10000ms ease-in-out both; }
@keyframes mobile-heading-one { 0%, 10%, 100% { opacity: 0; transform: scale(.96); } 16%, 28% { opacity: 1; transform: scale(1); } 35% { opacity: 0; transform: scale(1.02); } }
@keyframes mobile-heading-two { 0%, 37%, 100% { opacity: 0; transform: scale(.96); } 43%, 55% { opacity: 1; transform: scale(1); } 62% { opacity: 0; transform: scale(1.02); } }
@keyframes mobile-heading-three { 0%, 64%, 100% { opacity: 0; transform: scale(.96); } 70%, 83% { opacity: 1; transform: scale(1); } 90% { opacity: 0; transform: scale(1.02); } }
@media (max-width: 650px) {
  .section { padding: 54px 0; }
  .section-head { margin-bottom: 30px; }
  .case-studies-section { padding-top: 56px; padding-bottom: 56px; }
  .device-showcase { grid-template-columns: minmax(0, 1fr) 86px; gap: 8px; }
  .auditvare-mobile-cinema .mobile-product-stage { width: 84px; }
  .aiivare-signature .aiivare-logo-wrap { width: 196px; height: 53px; }
}

/* Case studies gain sector icons, a visible decision path and an editorial rhythm. */
.case-studies-section { position: relative; overflow: hidden; background: linear-gradient(135deg, #f7f8ff 0%, #fbf7f4 51%, #f7f3ff 100%); }
.case-studies-section::before { content: ""; position: absolute; inset: 10% -8% auto; height: 46%; background: radial-gradient(ellipse, rgba(154,139,232,.12), transparent 70%); pointer-events: none; }
.case-studies-intro { position: relative; z-index: 1; grid-template-columns: minmax(0, .94fr) minmax(270px, .6fr); }
.case-study-portfolio { position: relative; z-index: 1; gap: 13px; padding: 13px; border: 1px solid rgba(94,85,164,.13); border-radius: 30px; background: rgba(255,255,255,.38); box-shadow: 0 30px 66px rgba(40,35,100,.10), inset 0 1px rgba(255,255,255,.92); overflow: visible; }
.case-study-tile { --case-tone: #7965ca; position: relative; min-height: 360px; padding: 22px 19px 19px; border: 1px solid rgba(255,255,255,.9); border-radius: 22px; background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--case-tone) 16%, transparent), transparent 42%), linear-gradient(155deg, rgba(255,255,255,.97), rgba(247,247,255,.76)); box-shadow: 0 12px 24px rgba(50,42,113,.07), inset 0 1px rgba(255,255,255,.96); overflow: hidden; transition: transform 260ms cubic-bezier(.2,.8,.2,1), box-shadow 260ms ease; }
.case-study-tile + .case-study-tile { border-left: 1px solid rgba(255,255,255,.9); }
.case-study-tile:hover { color: inherit; background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--case-tone) 25%, transparent), transparent 43%), linear-gradient(155deg, #fff, #f8f7ff); box-shadow: 0 20px 38px rgba(50,42,113,.15), inset 0 1px #fff; transform: translateY(-5px); }
.case-study-tile--education { --case-tone: #bb6298; }
.case-study-tile--real-estate { --case-tone: #577ac5; }
.case-study-tile--sports { --case-tone: #ab7b39; }
.case-study-tile--telecommunications { --case-tone: #3a9a96; }
.case-study-tile--home-financing { --case-tone: #8c68ae; }
.case-study-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.sector-icon { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid color-mix(in srgb, var(--case-tone) 28%, white); border-radius: 16px; background: color-mix(in srgb, var(--case-tone) 10%, white); color: var(--case-tone); }
.sector-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.case-study-number { color: var(--case-tone); font-size: 18px; font-weight: 700; letter-spacing: 0; line-height: 1; }
.case-study-rail { display: flex; gap: 4px; width: 100%; margin: 26px 0 20px; }
.case-study-rail i { display: block; height: 2px; flex: 1; border-radius: 99px; background: color-mix(in srgb, var(--case-tone) 24%, white); }
.case-study-rail i:nth-child(2) { background: var(--case-tone); }
.case-study-sector { margin-top: 0; color: #272653; font-size: 21px; font-weight: 700; letter-spacing: -.02em; line-height: 1.12; }
.case-study-product { margin-top: 7px; color: var(--case-tone); font-size: 15px; font-weight: 700; }
.case-study-summary { margin-top: 15px; color: #565578; font-size: 15px; line-height: 1.5; }
.case-study-open { margin-top: auto; padding-top: 18px; color: #302e6f; font-size: 15px; font-weight: 700; }
.case-study-open::after { width: 30px; background: var(--case-tone); }

/* Individual case studies become one-page leadership briefs. */
.case-report-hero .wrap { position: relative; }
.case-download-panel { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 18px; max-width: 980px; margin: 36px 0 0 106px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.78); border-radius: 20px; background: linear-gradient(108deg, rgba(44,42,97,.95), rgba(94,75,155,.92)); box-shadow: 0 18px 44px rgba(39,34,96,.18); color: #fff; }
.case-download-icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 15px; background: rgba(255,255,255,.12); font-size: 27px; line-height: 1; }
.case-download-panel div > span { display: block; color: #d8d5ff; font-size: 15px; font-weight: 600; }
.case-download-panel strong { display: block; margin-top: 2px; font-size: 20px; }
.case-download-panel p { margin: 4px 0 0; color: #ecebff; font-size: 15px; line-height: 1.4; }
.case-download-panel .btn { min-height: 44px; background: #fff; color: #302e6f; }
.case-board-readout { background: linear-gradient(180deg, #fff 0%, #f8f8ff 100%); }
.case-board-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; max-width: 1080px; margin: 0 auto 28px; }
.case-board-head h2 { max-width: 18ch; font-size: clamp(30px, 4vw, 52px); }
.case-board-head > p { max-width: 32ch; margin: 0 0 5px; color: #676587; font-size: 16px; line-height: 1.5; }
.case-board-story { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); max-width: 1080px; margin: 0 auto 18px; border-radius: 28px; overflow: hidden; box-shadow: 0 22px 54px rgba(44,39,104,.11); }
.case-story-card { position: relative; min-height: 356px; padding: 30px 27px 25px; color: #fff; background: linear-gradient(148deg, #2d2e5f, #48428c); overflow: hidden; }
.case-story-card + .case-story-card { border-left: 1px solid rgba(255,255,255,.17); }
.case-story-card::after { content: ""; position: absolute; right: -28px; bottom: -54px; width: 170px; height: 170px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.04), 0 0 0 60px rgba(255,255,255,.025); }
.case-story-card--solution { background: linear-gradient(148deg, #7259b0, #493b80); }
.case-story-card--board { background: linear-gradient(148deg, #b34d87, #75427f); }
.case-story-mark { display: block; margin-bottom: 58px; color: rgba(255,255,255,.65); font-size: 15px; font-weight: 700; }
.case-story-card .eyebrow { color: #f5d2e5; }
.case-story-card h3 { position: relative; z-index: 1; max-width: 15ch; margin: 12px 0 14px; color: #fff; font-size: 24px; line-height: 1.13; }
.case-story-card p { position: relative; z-index: 1; margin: 0; color: rgba(255,255,255,.88); font-size: 16px; line-height: 1.55; }
.case-board-readout .case-report-grid { max-width: 1080px; margin: 0 auto; }
.case-study-page .case-report-focus, .case-study-page .case-report-detail { border-radius: 20px; background: rgba(255,255,255,.84); }

/* Perspective cards look like complete editorial pieces before opening. */
.pov-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.insight-section .grid.g3 { gap: 18px; }
.pov-card { display: grid; min-height: 342px; grid-template-rows: 132px 1fr; border: 1px solid rgba(255,255,255,.92); border-radius: 22px; background: rgba(255,255,255,.8); box-shadow: 0 16px 34px rgba(44,39,104,.08), inset 0 1px #fff; color: inherit; overflow: hidden; text-decoration: none; transition: transform 240ms ease, box-shadow 240ms ease; }
.pov-card:hover { color: inherit; box-shadow: 0 24px 44px rgba(44,39,104,.15), inset 0 1px #fff; transform: translateY(-4px); }
.pov-card-cover { position: relative; display: flex; align-items: flex-start; justify-content: space-between; padding: 18px 20px; background: linear-gradient(128deg, #252455, #735da6 54%, #d88aba); color: #fff; overflow: hidden; }
.pov-card--2 .pov-card-cover { background: linear-gradient(128deg, #1e355d, #587cb6 52%, #9b88cf); }
.pov-card--3 .pov-card-cover { background: linear-gradient(128deg, #253663, #4d8f9b 52%, #bd8eb5); }
.pov-card--4 .pov-card-cover { background: linear-gradient(128deg, #4d2b63, #9d5c8b 52%, #e3a38f); }
.pov-card-cover::before { content: ""; position: absolute; top: 26px; right: -34px; width: 285px; height: 90px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 -20px 0 -1px rgba(255,255,255,.12), 0 -40px 0 -1px rgba(255,255,255,.08); transform: rotate(-8deg); }
.pov-card-cover::after { content: ""; position: absolute; right: 24px; bottom: -28px; width: 104px; height: 104px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.pov-card-index, .pov-card-theme { position: relative; z-index: 1; font-size: 15px; font-weight: 700; }
.pov-card-theme { max-width: 13ch; text-align: right; color: rgba(255,255,255,.82); }
.pov-card-line { position: absolute; z-index: 1; left: 20px; bottom: 22px; width: 54px; height: 2px; background: #fff; }
.pov-card-body { display: flex; flex-direction: column; padding: 20px 21px 19px; }
.pov-card-body .tag { color: #7a609e; font-size: 15px; }
.pov-card-body h3 { margin: 9px 0 11px; color: #292758; font-size: 23px; line-height: 1.13; }
.pov-card-body p { margin: 0; color: #666486; font-size: 15px; line-height: 1.48; }
.pov-card-link { margin-top: auto; padding-top: 14px; color: #302e6f; font-size: 15px; font-weight: 700; }

/* Platform architecture: one central operating model, not another card grid. */
.platform-architecture { overflow: hidden; background: radial-gradient(ellipse at 50% 46%, rgba(207,202,255,.46), transparent 50%), linear-gradient(145deg, #fbfbff, #f1efff); }
.architecture-intro { display: flex; align-items: end; justify-content: space-between; gap: 38px; max-width: 1060px; margin: 0 auto 42px; }
.architecture-intro h2 { max-width: 16ch; }
.architecture-intro .lead { max-width: 38ch; margin: 0; }
.architecture-system { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; max-width: 1060px; min-height: 338px; margin: 0 auto; padding-top: 118px; }
.architecture-orbit { position: absolute; top: 0; left: 50%; z-index: 1; display: grid; width: 146px; height: 146px; place-items: center; border: 1px solid rgba(101,86,184,.24); border-radius: 50%; background: radial-gradient(circle at 35% 25%, #fff, #e6e3ff 62%, #d3ccef); box-shadow: 0 16px 32px rgba(66,54,151,.14), inset 0 1px #fff; transform: translateX(-50%); }
.architecture-orbit::before, .architecture-orbit::after { content: ""; position: absolute; border: 1px solid rgba(101,86,184,.15); border-radius: 50%; }
.architecture-orbit::before { inset: -18px; }
.architecture-orbit::after { inset: -37px; }
.architecture-orbit b { color: #312d6e; font-size: 20px; line-height: 1.05; text-align: center; }
.architecture-orbit span { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #d94085; box-shadow: 0 0 0 6px rgba(217,64,133,.12); }
.architecture-orbit span:nth-child(1) { top: -5px; left: 50%; }.architecture-orbit span:nth-child(2) { right: 7px; bottom: 23px; background: #6f66d3; }.architecture-orbit span:nth-child(3) { bottom: 23px; left: 7px; background: #6ea6d9; }
.architecture-module { position: relative; min-height: 208px; padding: 26px 23px; border: 1px solid rgba(255,255,255,.88); border-radius: 21px; background: rgba(255,255,255,.72); box-shadow: 0 14px 32px rgba(56,47,124,.08), inset 0 1px #fff; }
.architecture-module::before { content: ""; position: absolute; top: -44px; left: 50%; height: 44px; border-left: 1px dashed rgba(91,77,167,.48); }
.architecture-module > span { display: block; color: #cf3a7a; font-size: 15px; font-weight: 700; }
.architecture-module h3 { margin: 30px 0 9px; color: #302e6f; font-size: 22px; }
.architecture-module p { margin: 0; color: #626080; font-size: 16px; line-height: 1.48; }

.platform-operating-loop { position: relative; overflow: hidden; }
.operating-signals { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2px; overflow: hidden; border: 1px solid rgba(91,77,167,.13); border-radius: 23px; background: rgba(91,77,167,.13); box-shadow: 0 18px 40px rgba(41,35,101,.08); }
.operating-signals article { min-height: 190px; padding: 25px 20px; background: rgba(255,255,255,.78); }
.operating-signals span { display: block; color: #d13d7d; font-size: 15px; font-weight: 700; }
.operating-signals h3 { margin: 29px 0 9px; color: #2d2d62; font-size: 20px; }
.operating-signals p { margin: 0; color: #666486; font-size: 15px; line-height: 1.46; }

/* Security reads as one control plane with eight distinct signals. */
.security-section { position: relative; overflow: hidden; color: #f4f3ff; background: radial-gradient(ellipse at 3% 4%, rgba(108,137,235,.28), transparent 38%), radial-gradient(ellipse at 98% 90%, rgba(220,91,156,.22), transparent 44%), linear-gradient(135deg, #10112d, #282357 54%, #17163c); }
.security-section h2, .security-section h3 { color: #fff; }
.security-section .section-head .eyebrow { color: #ffc4df; }
.security-section .section-head .lead { color: #d6d5ed; }
.security-stage { display: grid; grid-template-columns: minmax(205px,.48fr) minmax(0,1.52fr); gap: 20px; align-items: stretch; }
.security-stage-core { position: relative; display: grid; min-height: 478px; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 28px; background: radial-gradient(circle at 50% 42%, rgba(255,255,255,.2), transparent 19%), linear-gradient(150deg, rgba(133,117,225,.62), rgba(50,45,114,.45)); box-shadow: inset 0 1px rgba(255,255,255,.26); }
.security-stage-core::before, .security-stage-core::after { content: ""; position: absolute; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }.security-stage-core::before { box-shadow: 0 0 0 32px rgba(255,255,255,.05), 0 0 0 64px rgba(255,255,255,.03); }.security-stage-core::after { width: 10px; height: 10px; background: #fff; box-shadow: 0 0 0 9px rgba(255,255,255,.13); }
.security-stage-core span { position: relative; z-index: 1; color: #fff; font-size: clamp(24px, 2.5vw, 35px); font-weight: 700; line-height: 1.03; text-align: center; }
.security-signals { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.security-signal { position: relative; display: grid; min-height: 112px; grid-template-columns: 37px 46px minmax(0,1fr); gap: 13px; align-items: start; padding: 17px 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 19px; background: linear-gradient(130deg, rgba(255,255,255,.12), rgba(255,255,255,.055)); box-shadow: inset 0 1px rgba(255,255,255,.12); }
.security-index { color: rgba(255,255,255,.52); font-size: 14px; font-weight: 700; }.security-icon { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(255,255,255,.23); border-radius: 13px; background: rgba(255,255,255,.09); color: #ffc5df; }.security-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.security-signal h3 { margin: 2px 0 5px; font-size: 18px; line-height: 1.2; }.security-signal p { margin: 0; color: #d8d6eb; font-size: 15px; line-height: 1.4; }.security-trace { position: absolute; right: 12px; bottom: 12px; width: 26px; height: 2px; background: linear-gradient(90deg, transparent, #ee8ec0); }
.security-review-callout { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 18px; padding: 22px 24px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(255,255,255,.08); }.security-review-callout .eyebrow { color: #ffc4df; }.security-review-callout h3 { margin: 5px 0 4px; font-size: 22px; }.security-review-callout p { max-width: 60ch; margin: 0; color: #d8d6eb; font-size: 15px; }.security-review-callout .btn { flex: none; color: #fff; border-color: rgba(255,255,255,.52); }

/* Every stack carries its recognisable mark and relationship to TransVare. */
.integration-section { background: radial-gradient(ellipse at 4% 100%, rgba(124,150,233,.16), transparent 36%), linear-gradient(135deg, #fbfbff, #f5f1ff); }
.stack-atlas { position: relative; display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 22px; padding: 18px; border: 1px solid rgba(90,77,163,.14); border-radius: 28px; background: rgba(255,255,255,.54); box-shadow: 0 24px 55px rgba(42,36,105,.1), inset 0 1px #fff; }
.stack-atlas-core { position: relative; display: flex; min-height: 522px; flex-direction: column; align-items: flex-start; justify-content: end; padding: 24px; overflow: hidden; border-radius: 20px; background: linear-gradient(145deg, #29265b, #5c4c99 57%, #bd6c9a); color: #fff; }.stack-atlas-core::before { content: ""; position: absolute; top: 38px; right: -45px; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,255,255,.06), 0 0 0 72px rgba(255,255,255,.035); }.stack-atlas-core span, .stack-atlas-core b { position: relative; z-index: 1; }.stack-atlas-core span { color: #f4d5e7; font-size: 15px; }.stack-atlas-core b { max-width: 9ch; margin-top: 7px; font-size: 29px; line-height: 1.04; }.stack-atlas-core i { position: relative; z-index: 1; width: 53px; height: 2px; margin-top: 22px; background: #fff; }
.stack-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; align-content: start; }.stack-node { min-height: 172px; padding: 17px 15px; border: 1px solid rgba(91,77,167,.13); border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: inset 0 1px #fff; }.stack-marks { display: flex; align-items: center; gap: 7px; min-height: 34px; }.stack-marks img { width: 28px; height: 28px; object-fit: contain; }.stack-marks img + img { margin-left: -5px; }.stack-fallback { display: grid; width: 36px; height: 30px; place-items: center; border: 1px solid rgba(82,72,156,.25); border-radius: 8px; color: #463e85; font-size: 15px; font-weight: 800; }.stack-node h3 { margin: 18px 0 8px; color: #302e6f; font-size: 18px; line-height: 1.2; }.stack-node p { margin: 0; color: #666486; font-size: 15px; line-height: 1.42; }

/* A dark, readable footer makes the worldwide delivery model legible. */
.site-footer { position: relative; overflow: hidden; padding: 70px 0 28px; background: radial-gradient(ellipse at 97% 0%, rgba(206,97,159,.22), transparent 37%), radial-gradient(ellipse at 3% 100%, rgba(106,124,219,.22), transparent 46%), linear-gradient(145deg, #10112b, #1c1d49 56%, #151539); color: #c9c8e2; border-top: 0; }.site-footer::before { content: ""; position: absolute; top: 0; right: 4%; width: 260px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.74), transparent); }.site-footer a { color: #e9e8f6; }.site-footer a:hover { color: #fff; }.site-footer h4 { color: #fff; }.footer-kicker { display: flex; align-items: center; gap: 9px; margin-bottom: 28px; color: #dfc2e2; font-size: 15px; font-weight: 700; }.footer-kicker span { width: 30px; height: 1px; background: linear-gradient(90deg, #f1a6cb, #8d86e8); }.foot-brand img { height: 38px; filter: brightness(0) invert(1); }.foot-brand p { color: #c9c8e2; }.offices { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 24px; }.office-card { position: relative; display: grid; grid-template-columns: 37px minmax(0,1fr); gap: 10px; min-height: 96px; padding: 14px 13px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.055); }.office-card > i { position: absolute; right: -14px; bottom: -15px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }.office-code { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; color: #f5c6df; font-size: 15px; font-weight: 800; }.office-card div { position: relative; z-index: 1; }.office-card div > span { display: block; color: #aeaccd; font-size: 15px; }.offices b { margin-top: 2px; color: #fff; font-size: 16px; }.office-card p { margin: 2px 0 0; color: #d4d3e8; font-size: 15px; line-height: 1.35; }.offices, .foot-base { border-color: rgba(255,255,255,.14); }.foot-base { color: #b9b8d4; }

@media (max-width: 1040px) {
  .case-study-portfolio { grid-template-columns: repeat(3, minmax(0,1fr)); }.case-study-tile:nth-child(4), .case-study-tile:nth-child(5) { border-top: 1px solid rgba(255,255,255,.9); }.case-study-tile:nth-child(4) { border-left: 1px solid rgba(255,255,255,.9); }
  .architecture-system { gap: 14px; }.architecture-module { padding: 22px 18px; }.stack-atlas { grid-template-columns: 175px minmax(0,1fr); }.stack-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.security-stage { grid-template-columns: 180px minmax(0,1fr); }
}
@media (max-width: 760px) {
  .case-studies-intro, .case-board-head, .architecture-intro { display: grid; grid-template-columns: 1fr; align-items: start; gap: 14px; }.case-download-panel { grid-template-columns: 42px minmax(0,1fr); margin-left: 0; }.case-download-panel .btn { grid-column: 1 / -1; width: 100%; }.case-board-story { grid-template-columns: 1fr; }.case-story-card + .case-story-card { border-top: 1px solid rgba(255,255,255,.17); border-left: 0; }.case-story-card { min-height: 0; }.pov-grid { grid-template-columns: 1fr; }.architecture-system { grid-template-columns: 1fr; padding-top: 174px; }.architecture-module { min-height: auto; }.architecture-module::before { top: -24px; height: 24px; left: 30px; }.architecture-orbit { top: 8px; }.operating-signals { grid-template-columns: 1fr 1fr; }.security-stage { grid-template-columns: 1fr; }.security-stage-core { min-height: 190px; }.security-signals { grid-template-columns: 1fr; }.stack-atlas { grid-template-columns: 1fr; }.stack-atlas-core { min-height: 170px; }.stack-grid { grid-template-columns: 1fr 1fr; }.offices { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .case-study-portfolio { grid-template-columns: 1fr; }.case-study-tile:nth-child(n) { border: 1px solid rgba(255,255,255,.9); }.case-study-tile { min-height: 292px; }.case-report-heading { grid-template-columns: 1fr; }.case-report-heading > .case-study-number { padding-top: 0; }.case-download-panel { padding: 18px; }.operating-signals { grid-template-columns: 1fr; }.stack-grid { grid-template-columns: 1fr; }.security-review-callout { display: grid; }.auditvare-mobile-cinema .mobile-product-stage { width: 150px; }
}

/* Supplied icon marks, a pure silk hero, and a slower product cinema. */
.liquid-hero.mesh-enabled {
  background:
    radial-gradient(ellipse 48% 58% at 6% 7%, rgba(183,208,236,.56), transparent 73%),
    radial-gradient(ellipse 50% 62% at 97% 25%, rgba(235,200,230,.48), transparent 74%),
    radial-gradient(ellipse 42% 46% at 49% 105%, rgba(217,195,218,.40), transparent 76%),
    linear-gradient(122deg, #fbf7f4 0%, #fbf9fb 50%, #f8f6fc 100%);
}
.liquid-hero::before,
.liquid-hero::after,
.liquid-hero.mesh-enabled::before,
.liquid-hero.mesh-enabled::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
.mesh-enabled .silk-mesh-canvas { opacity: .57; }

.hero-identity-icon,
.section-eyebrow-icon {
  width: 29px;
  height: 29px;
  flex-basis: 29px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: 0 5px 11px rgba(27,31,78,.16);
}
.hero-identity-icon::before,
.section-eyebrow-icon::before { content: none; }
.hero-identity-icon img,
.section-eyebrow-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sector-icon {
  width: 52px;
  height: 52px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 15px;
  background: transparent;
  box-shadow: 0 8px 16px rgba(27,31,78,.13);
}
.sector-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }

.guided-screen { transition: opacity 2200ms cubic-bezier(.42,0,.22,1); }
.guided-screen > .guided-product-logo {
  top: 9px;
  right: 10px;
  height: 8px !important;
  max-width: min(40px, 13%);
  opacity: .78;
}
.auditvare-mobile-cinema .mobile-screen { transition: opacity 2200ms cubic-bezier(.42,0,.22,1); }
@media (max-width: 650px) {
  .guided-screen > .guided-product-logo { height: 8px !important; max-width: min(38px, 13%); }
  .hero-identity-icon, .section-eyebrow-icon { width: 28px; height: 28px; flex-basis: 28px; }
}

/* Larger, equally weighted device views and the supplied board-flow direction. */
.suite-eyebrow img {
  width: auto;
  height: 28px;
  max-width: 182px;
  object-fit: contain;
}
.guided-screen > .guided-product-logo {
  height: 8px !important;
  max-width: min(40px, 13%);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: .82;
}
.feature-callout .feature-label {
  padding: 9px 14px;
  font-size: 16px;
  font-weight: 700;
}
.architecture-flow { padding-top: 28px; }
.flow-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(71,64,142,.16);
  border-radius: 25px;
  background: rgba(255,255,255,.66);
  box-shadow: 0 18px 40px rgba(47,40,112,.08), inset 0 1px rgba(255,255,255,.94);
}
.flow-card-grid .flow-card {
  position: relative;
  min-height: 266px;
  margin: 0;
  padding: 28px 27px 25px;
  border: 0;
  border-top: 4px solid #343276;
  border-radius: 0;
  background: linear-gradient(155deg, rgba(255,255,255,.94), rgba(251,250,255,.76));
  color: #5d5c7d;
  font-size: 17px;
  line-height: 1.48;
  list-style: none;
}
.flow-card-grid .flow-card:first-child { border-radius: 24px 0 0 24px; border-top-color: #363274; }
.flow-card-grid .flow-card:nth-child(2) { border-top-color: #705598; }
.flow-card-grid .flow-card:nth-child(3) { border-top-color: #c33b83; }
.flow-card-grid .flow-card:last-child { border-top-color: #ee1c73; border-radius: 0 24px 24px 0; }
.flow-card-grid .flow-card + .flow-card { border-left: 1px solid rgba(71,64,142,.13); }
.flow-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.flow-number { color: #eb1d70; font-size: clamp(37px, 3vw, 52px); font-weight: 800; letter-spacing: -.06em; line-height: .9; }
.flow-symbol { width: 31px; height: 31px; flex: 0 0 31px; fill: none; stroke: #343276; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.flow-card-grid .flow-card b { display: block; margin: 33px 0 13px; color: #302e68; font-size: clamp(23px, 2vw, 29px); font-weight: 700; letter-spacing: -.03em; line-height: 1.08; text-transform: none; }
.flow-card-grid .flow-card p { margin: 0; }
.flow-next { position: absolute; z-index: 2; top: 50%; right: -21px; display: grid; width: 41px; height: 41px; place-items: center; border: 2px solid #d22b77; border-radius: 50%; background: rgba(255,255,255,.98); box-shadow: 0 6px 16px rgba(61,45,115,.12); color: #c62c75; font-size: 24px; font-weight: 400; line-height: 1; transform: translateY(-50%); }
.flow-card:first-child .flow-next { border-color: #5e4d95; color: #5e4d95; }
.case-studies-intro p strong { display: inline-block; margin-bottom: 7px; color: #343276; font-size: 18px; font-weight: 700; line-height: 1.3; }

@media (min-width: 651px) {
  .device-showcase { grid-template-columns: minmax(0, 1fr) 154px; align-items: end; gap: clamp(18px, 2vw, 26px); }
  .device-showcase .laptop-scene { display: flex; min-width: 0; flex-direction: column; align-items: flex-end; justify-content: flex-end; padding: 0 0 14px; }
  .device-showcase .laptop-display { width: min(100%, 568px); }
  .auditvare-mobile-cinema { align-self: end; }
  .auditvare-mobile-cinema .mobile-product-stage { width: 154px; }
}
@media (min-width: 1100px) {
  .hero-grid { grid-template-columns: minmax(455px, .8fr) minmax(620px, 1.2fr); gap: clamp(30px, 4vw, 54px); }
}
@media (max-width: 900px) {
  .flow-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flow-card-grid .flow-card { min-height: 226px; }
  .flow-card-grid .flow-card:nth-child(2) { border-radius: 0 24px 0 0; }
  .flow-card-grid .flow-card:nth-child(3) { border-top: 1px solid rgba(71,64,142,.13); border-left: 0; border-radius: 0 0 0 24px; }
  .flow-card-grid .flow-card:last-child { border-top: 1px solid rgba(71,64,142,.13); border-radius: 0 0 24px 0; }
  .flow-card-grid .flow-card:nth-child(2) .flow-next { display: none; }
}
@media (max-width: 650px) {
  .suite-eyebrow img { height: 25px; max-width: 160px; }
  .feature-callout .feature-label { padding: 7px 9px; font-size: 14px; }
  .flow-card-grid { grid-template-columns: 1fr; }
  .flow-card-grid .flow-card,
  .flow-card-grid .flow-card:first-child,
  .flow-card-grid .flow-card:nth-child(2),
  .flow-card-grid .flow-card:nth-child(3),
  .flow-card-grid .flow-card:last-child { min-height: 0; border-top: 3px solid #343276; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; }
  .flow-card-grid .flow-card:first-child { border-radius: 22px 22px 0 0; }
  .flow-card-grid .flow-card:nth-child(2) { border-top-color: #705598; }
  .flow-card-grid .flow-card:nth-child(3) { border-top-color: #c33b83; }
  .flow-card-grid .flow-card:last-child { border-top-color: #ee1c73; border-radius: 0 0 22px 22px; }
  .flow-card-grid .flow-card b { margin-top: 20px; }
  .flow-next { top: auto; right: 23px; bottom: -20px; transform: none; }
}

/* Final shared polish: suite lockup, gradient icon language, and footer depth. */
.suite-eyebrow {
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 9px;
}
.suite-eyebrow > span,
.suite-eyebrow img { flex: 0 0 auto; }
.suite-eyebrow img {
  height: 26px;
  max-width: none;
}

/* Preserve the supplied icon artwork while giving every icon tile one TransVare gradient finish. */
.hero-identity-icon,
.section-eyebrow-icon,
.sector-icon {
  padding: 2px;
  border: 1px solid rgba(255,255,255,.78);
  background:
    linear-gradient(145deg, rgba(255,255,255,.58) 0%, rgba(202,219,252,.92) 27%, rgba(164,139,222,.94) 58%, rgba(239,166,206,.9) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 9px 20px rgba(61,53,136,.17);
}
.hero-identity-icon::before,
.section-eyebrow-icon::before { content: none; }
.hero-identity-icon img,
.section-eyebrow-icon img,
.sector-icon img {
  border-radius: inherit;
  mix-blend-mode: multiply;
  opacity: .92;
}
.flow-symbol {
  box-sizing: content-box;
  width: 28px;
  height: 28px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 12px;
  background: linear-gradient(145deg, #b6cef2 0%, #8d70ce 48%, #d984bb 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 8px 17px rgba(64,54,139,.16);
  stroke: rgba(255,255,255,.96);
  stroke-width: 1.85;
}
.flow-next {
  border-color: rgba(255,255,255,.9);
  background: linear-gradient(145deg, #b6cef2 0%, #8d70ce 52%, #d984bb 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 18px rgba(64,54,139,.2);
}
.flow-card:first-child .flow-next { border-color: rgba(255,255,255,.9); color: #fff; }

/* The footer uses the same restrained blue, violet, and blush light as the page, on a deep readable base. */
.site-footer {
  background:
    radial-gradient(ellipse 42% 90% at 0% 100%, rgba(100,150,235,.48), transparent 68%),
    radial-gradient(ellipse 42% 80% at 100% 0%, rgba(239,145,200,.46), transparent 65%),
    radial-gradient(ellipse 36% 62% at 54% 18%, rgba(153,125,220,.34), transparent 72%),
    linear-gradient(135deg, #101438 0%, #25225b 46%, #51326d 100%);
}
.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, rgba(255,255,255,.055), transparent 35%, rgba(255,255,255,.035) 74%, transparent);
}
.site-footer .wrap { position: relative; z-index: 1; }
.office-code {
  border-color: rgba(255,255,255,.5);
  background: linear-gradient(145deg, rgba(190,213,255,.34), rgba(222,155,208,.36));
  color: #fff;
  box-shadow: inset 0 1px rgba(255,255,255,.28);
}

@media (max-width: 650px) {
  .suite-eyebrow { gap: 7px; }
  .suite-eyebrow img { height: 23px; }
}

/* Readability pass for the home-page product cinema. The larger desktop frame
   preserves the paired mobile view while making dashboard text legible. */
.guided-erm > img:not(.guided-product-logo),
.guided-audit > img:not(.guided-product-logo) {
  object-fit: cover;
  filter: brightness(1.065) contrast(1.16) saturate(1.08);
}
.guided-aiivare {
  --one-x: 58%; --one-y: 16%; --one-label-x: 64%; --one-label-y: 61%;
  --two-x: 12%; --two-y: 46%; --two-label-x: 31%; --two-label-y: 69%;
}
.guided-screen.is-active .feature-callout--one .feature-ring { animation: guided-focus-one 10000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--two .feature-ring { animation: guided-focus-two 10000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--one .feature-label { animation: guided-label-one 10000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--two .feature-label { animation: guided-label-two 10000ms cubic-bezier(.2,.8,.2,1) both; }
.guided-screen.is-active .feature-callout--one .demo-pointer { animation: guided-pointer-one 10000ms cubic-bezier(.18,.82,.2,1) both; }
.guided-screen.is-active .feature-callout--two .demo-pointer { animation: guided-pointer-two 10000ms cubic-bezier(.18,.82,.2,1) both; }
.guided-screen.is-active.guided-aiivare > .guided-video { animation: aiivare-pointer-zoom 10000ms cubic-bezier(.32,.04,.22,1) both; }
@keyframes aiivare-pointer-zoom {
  0%, 14% { transform: scale(1); transform-origin: 50% 50%; }
  22%, 41% { transform: scale(1.42); transform-origin: 58% 16%; }
  50%, 55% { transform: scale(1); transform-origin: 50% 50%; }
  63%, 83% { transform: scale(1.44); transform-origin: 12% 46%; }
  92%, 100% { transform: scale(1); transform-origin: 50% 50%; }
}

/* The cursor and focus ring share the exact transform timeline as their
   dashboard or video frame. This keeps them locked to the highlighted field
   while the screen pans and zooms, instead of floating over unrelated content. */
.feature-callout .feature-track {
  position: absolute;
  inset: 0;
  transform-origin: 50% 50%;
  will-change: transform;
}
.guided-screen.is-active.guided-erm .feature-track {
  animation: dashboard-erm-read 10000ms cubic-bezier(.33,.05,.22,1) both;
}
.guided-screen.is-active.guided-audit .feature-track {
  animation: dashboard-audit-read 10000ms cubic-bezier(.33,.05,.22,1) both;
}
.guided-screen.is-active.guided-cyber .feature-track {
  animation: dashboard-cyber-read 10000ms cubic-bezier(.33,.05,.22,1) both;
}
.guided-screen.is-active.guided-aiivare .feature-track {
  animation: aiivare-pointer-zoom 10000ms cubic-bezier(.32,.04,.22,1) both;
}

/* New product dashboards keep their dense content legible: a clean overview
   first, then two controlled focus passes on the information that matters. */
.guided-governance {
  --one-x: 71%; --one-y: 23%; --one-label-x: 66%; --one-label-y: 58%;
  --two-x: 72%; --two-y: 69%; --two-label-x: 68%; --two-label-y: 33%;
}
.guided-compliance {
  --one-x: 23%; --one-y: 22%; --one-label-x: 31%; --one-label-y: 60%;
  --two-x: 82%; --two-y: 55%; --two-label-x: 70%; --two-label-y: 29%;
}
.guided-incivare {
  --one-x: 39%; --one-y: 18%; --one-label-x: 33%; --one-label-y: 57%;
  --two-x: 86%; --two-y: 38%; --two-label-x: 69%; --two-label-y: 63%;
}
.guided-governance > img:not(.guided-product-logo),
.guided-compliance > img:not(.guided-product-logo),
.guided-incivare > img:not(.guided-product-logo) {
  object-fit: cover;
  filter: brightness(1.055) contrast(1.13) saturate(1.06);
  transform-origin: 50% 50%;
  will-change: transform;
}
.guided-governance > img:not(.guided-product-logo) { object-position: 52% center; }
.guided-compliance > img:not(.guided-product-logo) { object-position: center; }
.guided-incivare > img:not(.guided-product-logo) { object-position: center; }
.guided-screen.is-active.guided-governance > img:not(.guided-product-logo),
.guided-screen.is-active.guided-governance .feature-track {
  animation: dashboard-governance-read 10000ms cubic-bezier(.33,.05,.22,1) both;
}
.guided-screen.is-active.guided-compliance > img:not(.guided-product-logo),
.guided-screen.is-active.guided-compliance .feature-track {
  animation: dashboard-compliance-read 10000ms cubic-bezier(.33,.05,.22,1) both;
}
.guided-screen.is-active.guided-incivare > img:not(.guided-product-logo),
.guided-screen.is-active.guided-incivare .feature-track {
  animation: dashboard-incivare-read 10000ms cubic-bezier(.33,.05,.22,1) both;
}

/* Menu guidance, a deliberately smaller complete landing statement, and one
   shared brushed-steel device language for both the laptop and mobile view. */
.nav-zone {
  position: relative;
  align-self: stretch;
  align-items: flex-start;
  padding-top: 7px;
}
.nav-help {
  position: absolute;
  bottom: 6px;
  left: 50%;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: rgba(54,50,111,.72);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
  pointer-events: none;
  transform: translateX(-50%);
  white-space: nowrap;
}
.nav-help span {
  display: grid;
  width: 13px;
  height: 13px;
  place-items: center;
  border: 1px solid rgba(93,78,182,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.54);
  color: #5649ae;
  font-size: 13px;
  line-height: 10px;
}
.hero h1.landing-title {
  max-width: 560px;
  margin-bottom: 18px;
  font-size: clamp(1.55rem, 2.8vw, 2.55rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.12;
}
.landing-title > span { display: inline-block; }
.architecture-layer .architecture-layer-kicker {
  margin: 0 0 8px;
  color: #494875;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.28;
}

/* Every page-level overline carries the complete icon-and-label pill used in
   the homepage hero. Bespoke homepage and suite lockups retain their own marks. */
.eyebrow:not(.section-eyebrow):not(.suite-eyebrow) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 29px;
  padding: 5px 12px 5px 7px;
  border: 1px solid rgba(117,101,210,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.64);
  box-shadow: 0 10px 25px rgba(36,34,93,.06);
  color: #41397e;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}
.eyebrow:not(.section-eyebrow):not(.suite-eyebrow)::before {
  content: "";
  display: block;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  box-sizing: border-box;
  padding: 2px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 8px;
  background:
    url("heading-icons/architects.png") center / contain no-repeat,
    linear-gradient(145deg, rgba(255,255,255,.58) 0%, rgba(202,219,252,.92) 27%, rgba(164,139,222,.94) 58%, rgba(239,166,206,.9) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 9px 20px rgba(61,53,136,.17);
}
.section.navy .eyebrow:not(.section-eyebrow):not(.suite-eyebrow),
.security-section .eyebrow:not(.section-eyebrow):not(.suite-eyebrow),
.case-story-card .eyebrow:not(.section-eyebrow):not(.suite-eyebrow) {
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.10);
  color: #f8d5e7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 25px rgba(10,10,45,.14);
}

/* The deployment choices read as a composed executive comparison, with quiet
   accents instead of competing decorative treatments. */
#deployment .grid.g2 { gap: 16px; }
#deployment .card {
  position: relative;
  min-height: 159px;
  padding: 25px 26px 23px;
  overflow: hidden;
  border: 1px solid rgba(102,92,181,.16);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(245,246,255,.72));
  box-shadow: 0 15px 30px rgba(49,45,118,.10), inset 0 1px 0 rgba(255,255,255,.95);
}
#deployment .card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 26px;
  width: 36px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, #5851ae, #e16a9f);
}
#deployment .card:nth-child(2)::before { background: linear-gradient(90deg, #486fa9, #7d70c3); }
#deployment .card:nth-child(3)::before { background: linear-gradient(90deg, #7b62ae, #c95e91); }
#deployment .card:nth-child(4)::before { background: linear-gradient(90deg, #4c7f9f, #8170c0); }
#deployment .card h3 {
  margin: 0 0 10px;
  color: #26245a;
  font-size: clamp(1.18rem, 1.65vw, 1.45rem);
  letter-spacing: -.025em;
  line-height: 1.16;
}
#deployment .card p {
  max-width: 25ch;
  margin: 0;
  color: #656485;
  font-size: 16px;
  line-height: 1.52;
}

/* Keep the security control plane deliberately dark. This has a stronger
   selector than the shared light-section surface so the contrast remains
   reliable on every viewport. */
section.section.security-section {
  color: #f4f3ff;
  background:
    radial-gradient(ellipse at 4% 2%, rgba(106,137,232,.30), transparent 40%),
    radial-gradient(ellipse at 97% 92%, rgba(219,91,156,.24), transparent 43%),
    linear-gradient(135deg, #10112d 0%, #282357 53%, #17163c 100%);
}
section.security-section::before,
section.security-section::after { content: none; }
section.security-section .section-head { max-width: 815px; }
section.security-section .section-head h2 { color: #fff; }
section.security-section .section-head .lead { max-width: 48rem; color: #d9d8ee; }
section.security-section .security-signal {
  border-color: rgba(255,255,255,.17);
  background: linear-gradient(132deg, rgba(255,255,255,.14), rgba(255,255,255,.065));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 12px 25px rgba(7,7,36,.10);
}
section.security-section .security-signal p { color: #dcdbee; }
section.security-section .security-review-callout {
  border-color: rgba(255,255,255,.19);
  background: linear-gradient(125deg, rgba(255,255,255,.13), rgba(255,255,255,.075));
}
@media (max-width: 760px) {
  #deployment .card { min-height: 0; padding: 22px 21px 21px; }
  #deployment .card::before { left: 21px; }
}

/* The Suite appears as type; the corporate mark remains the supplied lock-up. */
.suite-wordmark b { color: #d72870; }
.suite-eyebrow .suite-wordmark {
  display: inline-flex;
  align-items: baseline;
  color: #51498d;
  font-size: 1.08em;
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
}
.auditvare-mobile-cinema .mobile-product-stage {
  position: relative;
  width: min(100%, 146px);
  aspect-ratio: 621 / 1302;
  height: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  transform: none;
}
.auditvare-mobile-cinema .mobile-product-stage::before,
.auditvare-mobile-cinema .mobile-product-stage::after { display: none !important; }
.auditvare-mobile-cinema .mobile-window {
  position: relative;
  z-index: 1;
  overflow: visible !important;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}
.auditvare-mobile-cinema .mobile-screen,
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art {
  border-radius: 8% / 3.5% !important;
}
.auditvare-mobile-cinema .mobile-screen {
  overflow: hidden !important;
  clip-path: inset(.35% .45% .45% round 8% / 3.5%);
}
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art {
  width: 100%;
  height: 100%;
  border: 0 !important;
  clip-path: none !important;
  object-fit: contain !important;
  object-position: center;
  filter: drop-shadow(0 12px 16px rgba(37,39,93,.12));
}
@media (max-width: 1080px) {
  .nav-zone { align-self: auto; padding-top: 0; }
  .nav-help { display: none; }
}
@media (max-width: 650px) {
  .hero h1.landing-title {
    max-width: 34rem;
    font-size: clamp(1.4rem, 6vw, 1.75rem);
    line-height: 1.12;
  }
  .auditvare-mobile-cinema .mobile-product-stage { width: 86px; padding: 0; border-radius: 0; }
  .auditvare-mobile-cinema .mobile-window { border-radius: 0; }
  .auditvare-mobile-cinema .mobile-screen,
  .auditvare-mobile-cinema .mobile-screen > img.mobile-product-art { border-radius: 0 !important; }
}
@keyframes dashboard-governance-read {
  0%, 17% { transform: scale(1); }
  28%, 45% { transform: scale(1.52) translate(-21%, 27%); }
  56%, 79% { transform: scale(1.46) translate(-22%, -19%); }
  91%, 100% { transform: scale(1); }
}
@keyframes dashboard-compliance-read {
  0%, 17% { transform: scale(1); }
  28%, 45% { transform: scale(1.48) translate(27%, 28%); }
  56%, 79% { transform: scale(1.44) translate(-32%, -5%); }
  91%, 100% { transform: scale(1); }
}
@keyframes dashboard-incivare-read {
  0%, 17% { transform: scale(1); }
  28%, 45% { transform: scale(1.55) translate(11%, 32%); }
  56%, 79% { transform: scale(1.48) translate(-36%, 12%); }
  91%, 100% { transform: scale(1); }
}
.screen-metric { background: rgba(252,253,255,.98); box-shadow: 0 14px 30px rgba(20,28,66,.24), inset 0 1px 0 #fff; }
.screen-metric b { font-size: clamp(32px, 3.3vw, 48px); }
@media (min-width: 1180px) {
  .liquid-hero > .wrap { max-width: 1360px; }
  .hero-grid { grid-template-columns: minmax(400px, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 2.4vw, 34px); }
  .device-showcase { grid-template-columns: minmax(0, 1fr) 136px; gap: 18px; }
  .device-showcase .laptop-display { width: min(100%, 650px); }
  .auditvare-mobile-cinema .mobile-product-stage { width: 136px; }
}
@media (min-width: 1360px) {
  .device-showcase .laptop-display { width: min(100%, 690px); }
  .auditvare-mobile-cinema .mobile-product-stage { width: 146px; }
}
@media (max-width: 650px) {
  .guided-erm > img:not(.guided-product-logo),
  .guided-audit > img:not(.guided-product-logo) { object-fit: contain; }
}
@media (prefers-reduced-motion: reduce) {
  .guided-screen.is-active.guided-aiivare > .guided-video,
  .guided-governance > img:not(.guided-product-logo),
  .guided-compliance > img:not(.guided-product-logo),
  .guided-incivare > img:not(.guided-product-logo),
  .feature-callout .feature-track { animation: none !important; }
}

/* The supplied phone art is a complete transparent handset. Never place it
   inside a second device, rounded crop or opaque screen mask. */
.auditvare-mobile-cinema .mobile-product-stage {
  width: min(100%, 146px);
  height: auto;
  aspect-ratio: 866 / 1815;
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.auditvare-mobile-cinema .mobile-window,
.auditvare-mobile-cinema .mobile-screen {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.auditvare-mobile-cinema .mobile-screen > img.mobile-product-art {
  display: block;
  width: 100%;
  height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: transparent !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 12px 16px rgba(37,39,93,.10));
}
@media (max-width: 650px) {
  .auditvare-mobile-cinema .mobile-product-stage { width: 86px; }
}

/* Integrated numerals: generous, quiet and part of each information panel. */
.card > .num {
  display: block;
  margin: 0 0 18px;
  color: #d52d79;
  font-size: clamp(3rem, 4.4vw, 4.6rem);
  font-weight: 700;
  letter-spacing: -.085em;
  line-height: .8;
}
.card:has(> .num) { padding-top: 28px; }
.architecture-module > span,
.operating-signals span {
  display: block;
  margin: 0 0 20px;
  color: #d52d79;
  font-size: clamp(3rem, 4.2vw, 4.45rem);
  font-weight: 700;
  letter-spacing: -.085em;
  line-height: .78;
}
.architecture-module h3,
.operating-signals h3 { margin: 0 0 11px; }
.architecture-module {
  display: flex;
  min-height: 236px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 29px 25px 25px;
}
.operating-signals article {
  display: flex;
  min-height: 226px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px 23px 24px;
}
.case-study-tile .case-study-number {
  color: var(--case-tone, #d72870);
  font-size: clamp(2rem, 2.75vw, 2.8rem);
  font-weight: 650;
  letter-spacing: -.075em;
  line-height: .8;
}
.pov-card-index {
  font-size: clamp(1.8rem, 2.65vw, 2.65rem);
  font-weight: 650;
  letter-spacing: -.075em;
  line-height: .8;
}
section.security-section .security-signal {
  grid-template-columns: 46px minmax(0, 1fr);
  padding: 20px 18px;
}
section.security-section .security-index {
  position: absolute;
  top: 16px;
  right: 15px;
  color: rgba(255,255,255,.15);
  font-size: clamp(2.15rem, 3vw, 3.15rem);
  font-weight: 700;
  letter-spacing: -.085em;
  line-height: .75;
}
section.security-section .security-icon { grid-column: 1; grid-row: 1; }
section.security-section .security-signal > div { grid-column: 2; grid-row: 1; }

/* By outcome — compact programme panels with the product links treated as tags. */
#outcomes .grid.g3 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
#outcomes .card {
  position: relative;
  display: flex;
  min-height: 280px;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  padding: 29px 28px 25px;
  border: 1px solid rgba(92,80,170,.16);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(244,245,255,.76));
  box-shadow: 0 17px 36px rgba(43,37,107,.075), inset 0 1px rgba(255,255,255,.92);
}
#outcomes .card::before {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  margin-bottom: 24px;
  border-radius: 99px;
  background: linear-gradient(90deg, #d92d7c, #7768d4);
}
#outcomes .card:nth-child(-n + 3) { grid-column: span 2; }
#outcomes .card:nth-child(n + 4) { grid-column: span 3; }
#outcomes .card:nth-child(2)::before { background: linear-gradient(90deg, #765fc1, #789ed8); }
#outcomes .card:nth-child(3)::before { background: linear-gradient(90deg, #d92d7c, #df9c86); }
#outcomes .card:nth-child(4)::before { background: linear-gradient(90deg, #4855a2, #7c6bd1); }
#outcomes .card:nth-child(5)::before { background: linear-gradient(90deg, #3e888b, #789ed8); }
#outcomes .card h3 {
  margin: 0 0 13px;
  color: #2b295e;
  font-size: clamp(1.35rem, 1.85vw, 1.7rem);
  letter-spacing: -.04em;
  line-height: 1.08;
}
#outcomes .card > p.muted {
  max-width: 35ch;
  margin: 0;
  color: #646382;
  font-size: 16px;
  line-height: 1.52;
}
#outcomes .card > p.small {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: auto 0 0;
}
#outcomes .card .text-link {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(92,80,170,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  color: #403b7f;
  font-size: 14px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}
#outcomes .card .text-link::after { display: none; }
#outcomes .card .text-link:hover { border-color: #cf3478; color: #b92769; }
@media (max-width: 760px) {
  #outcomes .grid.g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #outcomes .card:nth-child(n) { grid-column: span 1; }
  #outcomes .card { min-height: 250px; padding: 25px 22px 22px; }
  .architecture-module { min-height: 0; }
}
@media (max-width: 520px) {
  #outcomes .grid.g3 { grid-template-columns: 1fr; }
  #outcomes .card { min-height: 0; }
}

/* Homepage editorial layout: the overview speaks from the left while the
   decision point and its proof sit above the product screen on the right. */
.hero-grid { align-items: start; }
.hero-copy { min-width: 0; }
.hero-copy > .lead { max-width: 37rem; margin: 0; }
.hero-message { max-width: 38rem; margin-top: clamp(72px, 9vw, 150px); }
.hero-message .landing-title { margin-top: 0; }
.hero-message .tagline { max-width: 32rem; margin-bottom: 0; }
.hero-side { position: relative; z-index: 2; display: flex; min-width: 0; flex-direction: column; gap: 24px; }
.hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; min-height: 116px; padding: 4px 2px 0; }
.hero-actions .btn-row, .hero-actions .hero-proof { margin: 0; }
.hero-actions .hero-proof { max-width: 32rem; }

/* Each supplied icon is an independently cropped, caption-free asset. */
.section-eyebrow--atlas {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 29px;
  margin-bottom: 13px;
  padding: 5px 12px 5px 7px;
  border: 1px solid rgba(117,101,210,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.64);
  box-shadow: 0 10px 25px rgba(36,34,93,.06);
}
.section-eyebrow--atlas::before,
.section-eyebrow--atlas::after { content: none !important; display: none !important; }
.section-eyebrow-icon--atlas img { object-fit: contain; }
.section.navy .section-eyebrow--atlas,
.security-section .section-eyebrow--atlas,
.case-story-card .section-eyebrow--atlas {
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.10);
  color: #f8d5e7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 25px rgba(10,10,45,.14);
}

@media (max-width: 980px) {
  .hero-message { margin-top: 46px; }
  .hero-side { margin-top: 38px; }
  .hero-actions { min-height: 0; }
}

/* Deployment is presented as one local delivery proposition with four
   equally clear operating choices. */
.deployment-section { overflow: hidden; }
.deployment-layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(560px, 1.12fr);
  align-items: center;
  gap: clamp(46px, 7vw, 118px);
}
.deployment-intro { max-width: 37rem; }
.deployment-intro h2 {
  max-width: 12ch;
  margin: 20px 0 30px;
  color: #2c2b68;
  font-size: clamp(2.75rem, 4.35vw, 4.75rem);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .99;
}
.deployment-intro .lead { max-width: 31rem; margin: 0; color: #5c6682; font-size: 18px; line-height: 1.62; }
.deployment-link {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-top: 41px;
  color: #37336f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.deployment-link svg { width: 21px; height: 21px; flex: 0 0 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.deployment-link:hover { color: #c62272; }
.deployment-link:hover svg { transform: translateX(4px); }
.deployment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.deployment-card {
  min-height: 264px;
  padding: 30px 32px 29px;
  border: 1px solid rgba(91,78,166,.15);
  border-radius: 26px;
  background: linear-gradient(140deg, rgba(255,255,255,.97), rgba(251,250,255,.86));
  box-shadow: 0 18px 38px rgba(41,37,103,.075), inset 0 1px rgba(255,255,255,.97);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.deployment-card:hover { border-color: rgba(214,46,119,.34); box-shadow: 0 24px 45px rgba(51,44,123,.12), inset 0 1px rgba(255,255,255,.97); transform: translateY(-4px); }
.deployment-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; min-height: 59px; }
.deployment-icon { display: grid; width: 56px; height: 56px; place-items: center; color: #de286e; }
.deployment-icon svg { width: 51px; height: 51px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.deployment-badge { display: inline-flex; min-height: 31px; align-items: center; padding: 0 15px; border-radius: 999px; background: linear-gradient(105deg, #fde5ef, #f7e8fa); color: #bb2867; font-size: 14px; font-weight: 800; letter-spacing: .05em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.deployment-card h3 { margin: 22px 0 17px; color: #2c2b68; font-size: clamp(1.55rem, 2vw, 2rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.1; }
.deployment-card p { max-width: 25ch; margin: 0; color: #5c6682; font-size: 17px; line-height: 1.52; }
@media (max-width: 1080px) {
  .deployment-layout { grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr); gap: 42px; }
  .deployment-card { padding: 27px 25px 26px; }
}
@media (max-width: 900px) {
  .deployment-layout { grid-template-columns: 1fr; gap: 38px; }
  .deployment-intro { max-width: 43rem; }
  .deployment-intro h2 { max-width: 14ch; }
}
@media (max-width: 600px) {
  .deployment-intro h2 { margin: 18px 0 22px; font-size: clamp(2.35rem, 12vw, 3.45rem); }
  .deployment-intro .lead { font-size: 17px; }
  .deployment-link { margin-top: 29px; font-size: 15px; }
  .deployment-grid { grid-template-columns: 1fr; gap: 15px; }
  .deployment-card { min-height: 0; padding: 25px 23px 24px; border-radius: 22px; }
  .deployment-card h3 { margin: 19px 0 13px; font-size: 25px; }
  .deployment-card p { font-size: 16px; }
}

/* Final hero order: the platform statement leads, the explanatory copy sits
   lower on the left, and the action content follows the devices on the right. */
.hero-message { margin-top: 0; }
.hero-copy > .lead { margin: clamp(110px, 12vw, 190px) 0 0; }
.hero-side > .dashboard-stage { order: 1; }
.hero-side > .hero-actions {
  order: 2;
  width: 100%;
  min-height: 0;
  align-self: flex-end;
  padding: 0;
}

/* The proof and its conversation action are one compact decision line below
   the devices. Keeping the text first makes the regional value proposition
   readable before the invitation to engage. */
.hero-side { gap: 10px; }
.hero-actions {
  width: 100%;
  min-height: 0;
  padding: 0;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}
.hero-actions .hero-proof {
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
  gap: 0;
}
.hero-actions .hero-proof p {
  font-size: 15px;
  line-height: 1.42;
}
.hero-actions .btn-row { flex: 0 0 auto; }
.hero-actions .btn-row .btn { min-height: 44px; padding: 0 18px; font-size: 15px; white-space: nowrap; }

/* Supplied icons stand on their own. Their source files are transparent, so
   every icon now appears without a coloured tile or shadow behind it. */
.hero-identity-icon,
.section-eyebrow-icon,
.sector-icon {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.hero-identity-icon img,
.section-eyebrow-icon img,
.sector-icon img {
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}
.eyebrow:not(.section-eyebrow):not(.suite-eyebrow)::before {
  padding: 0;
  border: 0;
  background: url("heading-icons/architects.png") center / contain no-repeat;
  box-shadow: none;
}
.flow-symbol {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  stroke: #4b438d;
}
.security-icon {
  border: 0;
  background: transparent;
  box-shadow: none;
}
@media (max-width: 980px) {
  .hero-copy > .lead { margin-top: 46px; }
  .hero-side > .hero-actions { width: 100%; align-self: stretch; padding-top: 0; }
}
@media (max-width: 640px) {
  .hero-side { gap: 8px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .hero-actions .hero-proof { flex: 0 1 auto; }
  .hero-actions .btn-row { width: 100%; }
  .hero-actions .btn-row .btn { width: 100%; justify-content: center; }
}

/* The platform architecture makes the three shared layers readable at a
   glance: number and name first, then the full operating explanation. */
.platform-architecture .architecture-module {
  display: block;
  min-height: 312px;
  padding: 30px 27px 29px;
}
.platform-architecture .architecture-module h3 {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 19px;
  color: #302e6f;
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.18;
}
.platform-architecture .architecture-module-index {
  flex: 0 0 auto;
  color: #d52d79;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .02em;
}
.platform-architecture .architecture-module p {
  max-width: none;
  margin: 0;
  color: #5f5e80;
  font-size: 16px;
  line-height: 1.58;
}

/* The two hero statements and the explanatory paragraph form one compact,
   justified introduction, instead of separated blocks. */
.hero h1.landing-title { margin-bottom: 9px; }
.hero .tagline { margin: 0 0 10px; }
/* The second platform statement intentionally shares the visual scale of the
   governing-intelligence line beneath it, while keeping its gradient accent. */
.hero h1.landing-title .accent { font-size: 20px; line-height: 1.2; }
.hero-copy > .lead {
  max-width: 38rem;
  margin: 0;
  text-align: justify;
  text-justify: inter-word;
}
@media (max-width: 980px) {
  .hero-copy > .lead { margin-top: 0; }
  .platform-architecture .architecture-module { min-height: 0; }
}
@media (max-width: 650px) {
  .hero h1.landing-title .accent { font-size: 18px; }
}

/* The laptop base and the complete transparent handset share one visual
   baseline at every viewport. */
.device-showcase { align-items: end; }
.device-showcase .laptop-scene {
  align-self: end;
  padding-bottom: 0 !important;
}
.auditvare-mobile-cinema {
  align-self: end;
  margin-bottom: 0;
}

/* The Federated GRC operating model is native HTML, not an image. It keeps
   local accountability legible while showing exactly how intelligence rises
   into the group view. */
.federated-operating-model {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(570px, 1.2fr);
  align-items: center;
  gap: clamp(48px, 7vw, 112px);
  margin: 0 0 clamp(46px, 5vw, 66px);
  padding: clamp(31px, 4vw, 60px);
  border: 1px solid rgba(85, 77, 160, .14);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(251, 251, 255, .96), rgba(245, 245, 255, .82));
  box-shadow: 0 22px 52px rgba(38, 31, 100, .08), inset 0 1px 0 rgba(255, 255, 255, .97);
}
.federated-model-explainer { max-width: 28rem; }
.why-federated-intro { max-width: 60rem; margin-top: 18px; }
.why-federated-tagline {
  margin: 0 0 8px;
  color: #c92772;
  font-size: 16px;
  font-weight: 750;
  letter-spacing: .035em;
  line-height: 1.35;
}
#architecture .section-head .why-federated-intro .lead { max-width: 58rem; margin: 0; }
.federated-model-kicker {
  margin: 0 0 18px;
  color: #c92772;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.2;
}
.federated-model-explainer > p:not(.federated-model-kicker) {
  margin: 0;
  color: #5c6780;
  font-size: 18px;
  line-height: 1.62;
}
.federated-model-principles { display: grid; gap: 20px; margin-top: 35px; }
.federated-model-principles article { padding-left: 18px; border-left: 2px solid #ec2a76; }
.federated-model-principles h3 {
  margin: 0 0 5px;
  color: #343270;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.25;
}
.federated-model-principles p {
  margin: 0;
  color: #667189;
  font-size: 16px;
  line-height: 1.52;
}
.federated-proof-list { display: grid; gap: 17px; margin: 0; padding: 0; list-style: none; }
.federated-proof-list li { padding-left: 18px; border-left: 2px solid rgba(216, 40, 116, .78); }
.federated-proof-list strong { display: block; margin-bottom: 4px; color: #343270; font-size: 17px; font-weight: 700; letter-spacing: -.018em; line-height: 1.25; }
.federated-proof-list span { display: block; color: #667189; font-size: 16px; line-height: 1.48; }
.federated-model-graph { min-width: 0; }
.federated-leadership {
  position: relative;
  z-index: 2;
  padding: 26px 28px 27px;
  border: 1px solid rgba(82, 76, 166, .22);
  border-radius: 26px;
  background: linear-gradient(125deg, #393675, #302d69);
  box-shadow: 0 18px 38px rgba(45, 41, 107, .17), inset 0 1px 0 rgba(255, 255, 255, .12);
  color: #fff;
}
.federated-leadership-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.federated-leadership h3 { margin: 0; font-size: clamp(24px, 2.2vw, 31px); font-weight: 700; letter-spacing: -.035em; line-height: 1.1; }
.federated-leadership-head span {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(255, 242, 248, .96);
  color: #c62671;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1;
  white-space: nowrap;
}
.federated-leadership-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.federated-leadership-metrics span {
  display: flex;
  min-height: 55px;
  align-items: center;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 14px;
  background: rgba(255, 255, 255, .09);
  color: #faf9ff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.24;
}
.federated-entity-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 72px;
}
.federated-entity-grid::before {
  content: "";
  position: absolute;
  top: -35px;
  right: 16.7%;
  left: 16.7%;
  border-top: 2px dashed rgba(226, 40, 116, .65);
}
.federated-entity-grid::after {
  content: "";
  position: absolute;
  top: -72px;
  left: 50%;
  height: 37px;
  border-left: 2px dashed rgba(226, 40, 116, .65);
}
.federated-entity-card {
  position: relative;
  padding: 23px 21px 22px;
  border: 1px solid rgba(85, 77, 160, .13);
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 13px 26px rgba(42, 36, 104, .07), inset 0 1px 0 rgba(255, 255, 255, .98);
}
.federated-entity-card::before {
  content: "";
  position: absolute;
  top: -37px;
  left: 50%;
  height: 36px;
  border-left: 2px dashed rgba(226, 40, 116, .65);
}
.federated-entity-card h4 { margin: 0 0 16px; color: #343270; font-size: 22px; font-weight: 700; letter-spacing: -.025em; line-height: 1.1; }
.federated-entity-card ul { display: grid; gap: 9px; margin: 0; padding: 0; color: #647087; font-size: 15px; line-height: 1.3; list-style: none; }
.federated-entity-card li { position: relative; padding-left: 14px; }
.federated-entity-card li::before { content: ""; position: absolute; top: .45em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #d82b76; }
.federated-model-caption { margin: 24px 0 0; color: #5c6480; font-size: 15px; font-weight: 700; letter-spacing: .055em; line-height: 1.3; text-align: center; }
@media (max-width: 1080px) {
  .federated-operating-model { grid-template-columns: minmax(0, .75fr) minmax(510px, 1.25fr); gap: 42px; padding: 35px; }
  .federated-entity-card { padding: 20px 17px; }
}
@media (max-width: 900px) {
  .federated-operating-model { grid-template-columns: 1fr; gap: 47px; }
  .federated-model-explainer { max-width: 43rem; }
}
@media (max-width: 620px) {
  .federated-operating-model { margin-bottom: 36px; padding: 26px 20px; border-radius: 23px; }
  .federated-model-explainer > p:not(.federated-model-kicker) { font-size: 17px; }
  .federated-model-principles { gap: 17px; margin-top: 29px; }
  .federated-model-principles h3 { font-size: 17px; }
  .federated-model-principles p { font-size: 15px; }
  .why-federated-tagline { font-size: 15px; }
  .federated-proof-list { gap: 15px; }
  .federated-proof-list strong { font-size: 16px; }
  .federated-proof-list span { font-size: 15px; }
  .federated-leadership { padding: 22px 18px; border-radius: 20px; }
  .federated-leadership-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .federated-leadership h3 { font-size: 25px; }
  .federated-leadership-metrics { grid-template-columns: 1fr; gap: 8px; margin-top: 19px; }
  .federated-leadership-metrics span { min-height: 44px; padding: 9px 12px; font-size: 15px; }
  .federated-entity-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 58px; }
  .federated-entity-grid::before { top: -29px; right: auto; bottom: 20px; left: 17px; border-top: 0; border-left: 2px dashed rgba(226, 40, 116, .65); }
  .federated-entity-grid::after { display: none; }
  .federated-entity-card { padding: 20px 20px 19px 37px; }
  .federated-entity-card::before { top: 28px; left: -20px; width: 20px; height: 0; border-top: 2px dashed rgba(226, 40, 116, .65); border-left: 0; }
  .federated-entity-card h4 { margin-bottom: 12px; font-size: 21px; }
  .federated-model-caption { margin-top: 20px; font-size: 14px; text-align: left; }
}

/* Each shared layer now pairs its plain definition with a concrete operating moment. */
.architecture-layer .architecture-layer-moment { margin-top: 9px; color: #72708d; font-size: 15px; line-height: 1.48; }
.platform-architecture .architecture-module .architecture-module-definition { margin-bottom: 12px; color: #555477; font-weight: 600; }
.platform-architecture .architecture-module .architecture-module-moment { padding-left: 13px; border-left: 2px solid rgba(215, 39, 110, .7); color: #74718d; font-size: 15px; line-height: 1.5; }

/* The three shared layers and the four operating steps are one system. A
   visible connector removes the visual break between architecture and action. */
#architecture > .wrap > .architecture-system {
  display: block;
  max-width: none;
  min-height: 0;
  margin: 44px 0 0;
  padding-top: 0;
}
#architecture > .wrap > .architecture-system .architecture-constellation { margin: 0; }
#architecture > .wrap > .architecture-system .architecture-flow { padding-top: 0; }
.architecture-bridge {
  position: relative;
  display: grid;
  min-height: 58px;
  place-items: center;
}
.architecture-bridge::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  border-left: 2px solid rgba(212, 42, 118, .58);
  transform: translateX(-50%);
}
.architecture-bridge::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18%;
  left: 18%;
  border-top: 1px solid rgba(103, 88, 183, .20);
}
.architecture-bridge span {
  position: relative;
  z-index: 1;
  display: block;
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #d52a76;
  box-shadow: 0 0 0 4px rgba(213, 42, 118, .12), 0 5px 13px rgba(62, 45, 123, .16);
}
@media (max-width: 650px) {
  #architecture > .wrap > .architecture-system { margin-top: 28px; }
  .architecture-bridge { min-height: 45px; }
  .architecture-bridge::after { right: 9%; left: 9%; }
}

/* Homepage rhythm and card language. The product-suite surface is used as the
   common reference so related content reads as one composed system. */
body.home-page {
  --home-card-surface:
    radial-gradient(circle at 100% 0%, rgba(140, 118, 213, .12), transparent 43%),
    linear-gradient(145deg, rgba(255, 255, 255, .97), rgba(249, 248, 255, .92) 57%, rgba(244, 242, 255, .90));
  --home-card-border: rgba(86, 77, 159, .14);
  --home-card-shadow: 0 16px 34px rgba(43, 36, 108, .075), inset 0 1px 0 rgba(255, 255, 255, .98);
}
body.home-page .liquid-hero {
  min-height: 0;
  padding-bottom: 34px;
}
body.home-page main > .section {
  padding-top: 18px;
  padding-bottom: 18px;
}
body.home-page main > #architecture.section { padding-top: 18px; }
body.home-page main > .section + .section { padding-top: 18px; }
body.home-page .ambient-wire-band { display: none; }
body.home-page :is(.card, .role-inquiry, .regulatory-step-card, .partner-mini-card, .knowledgevare-callout, .federated-entity-card, .case-study-tile, .pov-card) {
  border-color: var(--home-card-border);
  background: var(--home-card-surface);
  box-shadow: var(--home-card-shadow);
}
body.home-page .architecture-constellation,
body.home-page .flow-card-grid,
body.home-page .case-study-portfolio {
  border-color: var(--home-card-border);
  background: var(--home-card-surface);
  box-shadow: var(--home-card-shadow);
}
body.home-page :is(.architecture-layer, .architecture-layer--two, .architecture-layer--three, .flow-card-grid .flow-card) {
  background: transparent;
}
body.home-page .case-study-tile:hover,
body.home-page .card-link:hover,
body.home-page .role-inquiry:hover,
body.home-page .pov-card:hover {
  background: var(--home-card-surface);
  box-shadow: 0 22px 42px rgba(43, 36, 108, .13), inset 0 1px 0 rgba(255, 255, 255, .98);
}
body.home-page .pov-card-cover {
  border-bottom: 1px solid var(--home-card-border);
  background: transparent;
  color: #302e6f;
}
body.home-page .pov-card-cover::before,
body.home-page .pov-card-cover::after { border-color: rgba(86, 77, 159, .20); }
body.home-page .pov-card-index { color: #c92a72; }
body.home-page .pov-card-theme { color: #50498e; }
body.home-page .pov-card-line { background: #d42d78; }
body.home-page #architecture .federated-leadership h3 { color: #fff; }

/* A fine, connected spectrum line gives every homepage information box the
   same visual signature while keeping the pale content surfaces restrained. */
body.home-page :is(.card, .role-inquiry, .regulatory-step-card, .partner-mini-card, .knowledgevare-callout, .federated-operating-model, .federated-leadership, .federated-entity-card, .case-study-tile, .pov-card, .architecture-layer, .flow-card-grid .flow-card) {
  --home-box-line: linear-gradient(90deg, #342e77 0%, #6259b2 100%);
  position: relative;
}
body.home-page :is(.card, .role-inquiry, .regulatory-step-card, .partner-mini-card, .knowledgevare-callout, .federated-operating-model, .federated-leadership, .federated-entity-card, .case-study-tile, .pov-card, .architecture-layer, .flow-card-grid .flow-card)::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  border-radius: inherit;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: var(--home-box-line);
  pointer-events: none;
}
body.home-page :is(
  .grid > .card:nth-child(4n + 1),
  .role-inquiry-grid > .role-inquiry:nth-child(4n + 1),
  .regulatory-workflow-step:nth-child(4n + 1) .regulatory-step-card,
  .partner-mini-grid > .partner-mini-card:nth-child(4n + 1),
  .case-study-portfolio > .case-study-tile:nth-child(4n + 1),
  .grid > .pov-card:nth-child(4n + 1),
  .federated-entity-grid > .federated-entity-card:nth-child(4n + 1),
  .architecture-constellation > .architecture-layer:nth-child(4n + 1),
  .flow-card-grid > .flow-card:nth-child(4n + 1)
) { --home-box-line: linear-gradient(90deg, #342e77, #6259b2); }
body.home-page :is(
  .grid > .card:nth-child(4n + 2),
  .role-inquiry-grid > .role-inquiry:nth-child(4n + 2),
  .regulatory-workflow-step:nth-child(4n + 2) .regulatory-step-card,
  .partner-mini-grid > .partner-mini-card:nth-child(4n + 2),
  .case-study-portfolio > .case-study-tile:nth-child(4n + 2),
  .grid > .pov-card:nth-child(4n + 2),
  .federated-entity-grid > .federated-entity-card:nth-child(4n + 2),
  .architecture-constellation > .architecture-layer:nth-child(4n + 2),
  .flow-card-grid > .flow-card:nth-child(4n + 2)
) { --home-box-line: linear-gradient(90deg, #6259b2, #986fc5); }
body.home-page :is(
  .grid > .card:nth-child(4n + 3),
  .role-inquiry-grid > .role-inquiry:nth-child(4n + 3),
  .regulatory-workflow-step:nth-child(4n + 3) .regulatory-step-card,
  .partner-mini-grid > .partner-mini-card:nth-child(4n + 3),
  .case-study-portfolio > .case-study-tile:nth-child(4n + 3),
  .grid > .pov-card:nth-child(4n + 3),
  .federated-entity-grid > .federated-entity-card:nth-child(4n + 3),
  .architecture-constellation > .architecture-layer:nth-child(4n + 3),
  .flow-card-grid > .flow-card:nth-child(4n + 3)
) { --home-box-line: linear-gradient(90deg, #986fc5, #d64c9a); }
body.home-page :is(
  .grid > .card:nth-child(4n),
  .role-inquiry-grid > .role-inquiry:nth-child(4n),
  .regulatory-workflow-step:nth-child(4n) .regulatory-step-card,
  .partner-mini-grid > .partner-mini-card:nth-child(4n),
  .case-study-portfolio > .case-study-tile:nth-child(4n),
  .grid > .pov-card:nth-child(4n),
  .federated-entity-grid > .federated-entity-card:nth-child(4n),
  .architecture-constellation > .architecture-layer:nth-child(4n),
  .flow-card-grid > .flow-card:nth-child(4n)
) { --home-box-line: linear-gradient(90deg, #d64c9a, #ec1d74); }
body.home-page :is(.knowledgevare-callout, .federated-operating-model, .federated-leadership) {
  --home-box-line: linear-gradient(90deg, #342e77 0%, #7865bd 36%, #c94b96 68%, #ec1d74 100%);
}
@media (max-width: 980px) {
  body.home-page .liquid-hero { padding-bottom: 32px; }
}
@media (max-width: 650px) {
  body.home-page .liquid-hero { padding-bottom: 28px; }
  body.home-page main > .section,
  body.home-page main > .section + .section { padding-top: 14px; padding-bottom: 14px; }
}

/* Homepage background is owned by home-continuous-theme.css. */
/* Product pages use the supplied product screens as an integrated desktop and
   mobile workspace, while integration marks remain unboxed and transparent. */
.product-experience-section {
  overflow: hidden;
  background: linear-gradient(135deg, rgba(247, 247, 255, .92), rgba(252, 249, 255, .96));
}
.product-experience-stage {
  display: grid;
  grid-template-columns: minmax(280px, .83fr) minmax(0, 1.17fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: center;
}
.product-experience-copy { max-width: 34rem; }
.product-experience-copy h2 { max-width: 15ch; margin: 9px 0 16px; color: #302e6f; font-size: clamp(1.9rem, 3vw, 2.8rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.06; }
.product-experience-copy > p { margin: 0; color: #626180; font-size: 18px; line-height: 1.58; }
.product-experience-list { display: grid; gap: 14px; margin: 29px 0 0; }
.product-experience-list li { margin: 0; font-size: 16px; line-height: 1.5; }
.product-device-pair { position: relative; min-width: 0; min-height: clamp(280px, 31vw, 420px); padding: 14px 58px 18px 0; }
.product-desktop-screen { position: relative; z-index: 1; margin: 0; overflow: hidden; border: 1px solid rgba(80, 73, 151, .16); border-radius: 19px; background: #fff; box-shadow: 0 22px 44px rgba(42, 36, 101, .11), inset 0 1px rgba(255,255,255,.9); }
.product-desktop-screen img { display: block; width: 100%; height: auto; }
.product-mobile-screen { position: absolute; z-index: 2; right: 0; bottom: 0; width: clamp(105px, 14vw, 166px); margin: 0; overflow: hidden; border-radius: 22px; background: transparent; filter: drop-shadow(0 16px 22px rgba(44, 37, 104, .19)); }
.product-mobile-screen img { display: block; width: 100%; height: auto; }
.product-integration-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 21px 18px; align-items: end; margin-top: 25px; }
.product-integration-grid > div { display: grid; min-width: 0; grid-template-rows: 38px auto; gap: 8px; align-items: end; }
.product-integration-grid img { display: block; width: auto; max-width: 98px; height: 32px; max-height: 32px; object-fit: contain; object-position: left center; }
.product-integration-grid span { overflow-wrap: anywhere; color: #555477; font-size: 14px; font-weight: 650; line-height: 1.25; }
@media (max-width: 900px) {
  .product-experience-stage { grid-template-columns: 1fr; gap: 37px; }
  .product-experience-copy { max-width: 42rem; }
  .product-experience-copy h2 { max-width: 19ch; }
  .product-device-pair { width: min(100%, 700px); min-height: 0; padding-right: 78px; }
}
@media (max-width: 620px) {
  .product-experience-copy > p { font-size: 17px; }
  .product-experience-list li { font-size: 15px; }
  .product-device-pair { padding-right: 52px; }
  .product-desktop-screen { border-radius: 14px; }
  .product-mobile-screen { width: 108px; border-radius: 16px; }
  .product-integration-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 13px; }
  .product-integration-grid > div { grid-template-rows: 35px auto; }
  .product-integration-grid img { max-width: 76px; height: 28px; max-height: 28px; }
  .product-integration-grid span { font-size: 13px; }
}

/* Regulatory intelligence turns the country-hub story into one clear route
   from source material to evidence that leadership can inspect. */
.regulatory-intelligence-section {
  position: relative;
  overflow: hidden;
  background: #f8f8ff;
}
.regulatory-intelligence-layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(530px, 1.12fr);
  align-items: center;
  gap: clamp(48px, 7vw, 112px);
}
.regulatory-intelligence-copy { max-width: 36rem; }
.regulatory-intelligence-copy h2 {
  max-width: 11ch;
  margin: 19px 0 26px;
  color: #302e70;
  font-size: clamp(2.7rem, 4.4vw, 4.65rem);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .98;
}
.regulatory-intelligence-copy .lead {
  max-width: 30rem;
  margin: 0;
  color: #5d6880;
  font-size: 18px;
  line-height: 1.62;
}
.regulatory-outcome-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 34px 0 30px;
  color: #38356e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}
.regulatory-outcome-path span,
.regulatory-outcome-path strong {
  display: inline-flex;
  min-height: 39px;
  align-items: center;
  padding: 0 16px;
  border: 1px solid rgba(77, 70, 153, .13);
  border-radius: 999px;
  background: rgba(255, 255, 255, .84);
  box-shadow: inset 0 1px rgba(255, 255, 255, .96);
  white-space: nowrap;
}
.regulatory-outcome-path strong { border-color: #37336f; background: #37336f; color: #fff; }
.regulatory-outcome-path i { width: 14px; height: 2px; background: #e12676; }
.regulatory-hubs-link {
  color: #343270;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.regulatory-hubs-link:hover { color: #c8226c; text-decoration: underline; text-underline-offset: 4px; }
.regulatory-workflow {
  position: relative;
  display: grid;
  gap: 22px;
  margin: 0;
  padding: 0 0 0 78px;
  list-style: none;
}
.regulatory-workflow::before {
  content: "";
  position: absolute;
  top: 61px;
  bottom: 61px;
  left: 29px;
  border-left: 2px dashed rgba(234, 38, 116, .55);
}
.regulatory-workflow-step {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
}
.regulatory-step-icon {
  position: absolute;
  z-index: 1;
  top: 31px;
  left: -78px;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: #ec2a76;
}
.regulatory-step-icon svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.regulatory-step-card {
  min-height: 205px;
  padding: 28px 36px 27px;
  border: 1px solid rgba(86, 77, 159, .14);
  border-radius: 27px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 38px rgba(43, 36, 109, .075), inset 0 1px rgba(255, 255, 255, .98);
}
.regulatory-step-label {
  display: block;
  margin-bottom: 15px;
  color: #c92a72;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}
.regulatory-step-card h3 {
  margin: 0 0 15px;
  color: #302e70;
  font-size: clamp(1.65rem, 2.3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.08;
}
.regulatory-step-card p {
  max-width: 48rem;
  margin: 0;
  color: #5c6880;
  font-size: 17px;
  line-height: 1.52;
}
.regulatory-product-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 19px; }
.regulatory-product-tags span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 15px;
  border-radius: 999px;
  background: #f0eff9;
  color: #3c3976;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 1050px) {
  .regulatory-intelligence-layout { grid-template-columns: minmax(0, .84fr) minmax(470px, 1.16fr); gap: 42px; }
  .regulatory-step-card { padding: 26px 28px 25px; }
}
@media (max-width: 880px) {
  .regulatory-intelligence-layout { grid-template-columns: 1fr; gap: 46px; }
  .regulatory-intelligence-copy { max-width: 43rem; }
  .regulatory-intelligence-copy h2 { max-width: 13ch; }
}
@media (max-width: 600px) {
  .regulatory-intelligence-copy h2 { margin: 17px 0 21px; font-size: clamp(2.25rem, 11vw, 3.3rem); }
  .regulatory-intelligence-copy .lead { font-size: 17px; }
  .regulatory-outcome-path { gap: 8px; margin: 28px 0 25px; }
  .regulatory-outcome-path span,
  .regulatory-outcome-path strong { min-height: 35px; padding: 0 12px; font-size: 14px; }
  .regulatory-outcome-path i { width: 9px; }
  .regulatory-hubs-link { font-size: 16px; }
  .regulatory-workflow { gap: 16px; padding-left: 48px; }
  .regulatory-workflow::before { top: 52px; bottom: 52px; left: 18px; }
  .regulatory-step-icon { top: 26px; left: -48px; width: 36px; height: 36px; }
  .regulatory-step-icon svg { width: 28px; height: 28px; }
  .regulatory-step-card { min-height: 0; padding: 24px 21px 23px; border-radius: 22px; }
  .regulatory-step-label { margin-bottom: 12px; font-size: 13px; }
  .regulatory-step-card h3 { margin-bottom: 12px; font-size: 25px; }
  .regulatory-step-card p { font-size: 16px; }
  .regulatory-product-tags { gap: 7px; margin-top: 16px; }
  .regulatory-product-tags span { min-height: 31px; padding: 0 12px; font-size: 14px; }
}

/* Home product walkthrough: the frame is static; only the inner stage moves. */
.product-walkthrough { width: min(100%, 760px); margin-top: 18px; }
.walkthrough-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 2px 10px; }
.walkthrough-head .stage-support { min-height: 28px; padding: 4px 10px; color: #51498d; font-size: 14px; }
.walkthrough-current { color: #2D2E5F; font-size: 14px; font-weight: 750; line-height: 1.2; }
.demo-frame {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5px, .8vw, 9px);
  border: 1px solid rgba(35, 42, 58, .88);
  border-radius: clamp(14px, 1.8vw, 24px);
  background: linear-gradient(145deg, #e8edf1 0%, #69737f 38%, #29313a 72%, #aeb8c1 100%);
  box-shadow: 0 2px 1px rgba(255,255,255,.72) inset, 0 -2px 3px rgba(29,34,40,.38) inset, 0 28px 42px rgba(39,45,53,.22);
  transform: translateZ(0);
}
.demo-viewport { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(10, 16, 25, .78); border-radius: clamp(9px, 1.1vw, 15px); background: #eff1f6; box-shadow: 0 0 0 1px rgba(255,255,255,.27), 0 2px 7px rgba(17,21,27,.46) inset; }
.demo-stage { position: absolute; inset: 0; transform-origin: 0 0; will-change: auto; }
.demo-stage.is-animating { will-change: transform; }
.demo-media-layer { position: absolute; inset: 0; z-index: 1; overflow: hidden; opacity: 0; pointer-events: none; }
.demo-media-layer.is-active { z-index: 2; opacity: 1; }
.demo-media-layer :is(picture, video, .demo-media) { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.demo-media-layer picture { background: #f7f8fb; }
.demo-media-layer .demo-media { object-fit: contain; object-position: center; background: #f7f8fb; }
.demo-media-layer video.demo-media { background: #eef6f3; }
.demo-scene-name { position: absolute; z-index: 3; top: 14px; right: 15px; padding: 6px 10px; border: 1px solid rgba(45,46,95,.12); border-radius: 999px; background: rgba(255,255,255,.9); box-shadow: 0 6px 15px rgba(30,28,82,.10); color: #2D2E5F; font-size: 13px; font-weight: 750; line-height: 1; }
.demo-detail { position: absolute; z-index: 4; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; pointer-events: none; }
.demo-detail.is-visible { opacity: 1; }
.demo-spotlight { position: absolute; z-index: 5; display: none; border: 2px solid rgba(233,30,99,.94); border-radius: 8px; background: rgba(233,30,99,.035); box-shadow: 0 0 0 200vmax rgba(24,24,64,.22), 0 0 0 7px rgba(233,30,99,.11); pointer-events: none; }
.demo-spotlight.is-visible { display: block; }
.demo-pointer {
  position: absolute;
  z-index: 7;
  left: 0;
  top: 0;
  width: 27px;
  height: 37px;
  margin: 0;
  background: #fff;
  clip-path: polygon(2% 0, 100% 60%, 64% 64%, 51% 100%, 35% 94%, 47% 60%, 0 61%);
  filter: drop-shadow(0 4px 5px rgba(14,13,54,.42));
  opacity: 0;
  pointer-events: none;
}
.demo-pointer::after { content: ""; position: absolute; inset: 3px; background: #2D2E5F; clip-path: inherit; }
.demo-ripple { position: absolute; z-index: 6; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: rgba(233,30,99,.30); opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(.2); }
.demo-ripple.is-active { animation: demo-ripple 400ms ease-out both; }
@keyframes demo-ripple { from { opacity: .75; transform: translate(-50%, -50%) scale(.2); } to { opacity: 0; transform: translate(-50%, -50%) scale(2.7); } }
.demo-debug-target { position: absolute; z-index: 8; border: 2px solid #e11d48; background: rgba(225,29,72,.05); box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset; pointer-events: none; }
.demo-caption { min-height: 58px; margin: 13px 0 11px; padding: 14px 17px; border: 1px solid rgba(45,46,95,.12); border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: 0 10px 24px rgba(42,37,104,.075); color: #2D2E5F; font-size: 18px; font-weight: 600; line-height: 1.42; opacity: 0; transform: translateY(4px); transition: opacity 200ms ease, transform 200ms ease; }
.demo-caption.is-visible { opacity: 1; transform: translateY(0); }
.demo-controls { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.demo-control, .demo-dot { min-height: 36px; border: 1px solid rgba(45,46,95,.18); border-radius: 999px; background: rgba(255,255,255,.72); color: #2D2E5F; font: 700 14px var(--font); line-height: 1; cursor: pointer; }
.demo-control { padding: 0 13px; }
.demo-control:hover, .demo-control:focus-visible { border-color: #2D2E5F; background: #fff; color: #2D2E5F; }
.demo-dots { display: inline-flex; align-items: center; gap: 7px; }
.demo-dot { width: 11px; min-height: 11px; padding: 0; border-radius: 50%; background: rgba(45,46,95,.24); }
.demo-dot[aria-selected="true"] { width: 25px; border-color: #E91E63; border-radius: 999px; background: #E91E63; }
.demo-control:focus-visible, .demo-dot:focus-visible, .demo-frame:focus-visible { outline: 3px solid rgba(233,30,99,.42); outline-offset: 3px; }
@media (max-width: 767px) {
  .product-walkthrough { width: 100%; }
  .walkthrough-head { margin-top: 14px; }
  .demo-caption { min-height: 0; margin-top: 11px; padding: 12px 14px; font-size: 16px; }
  .demo-controls { gap: 6px; }
  .demo-control { min-height: 34px; padding: 0 11px; }
  .demo-scene-name { top: 8px; right: 8px; padding: 5px 8px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .demo-caption { transition: none; }
  .demo-ripple { display: none; }
}

/* Paired walkthroughs share one timeline. Device shells remain stationary. */
.walkthrough-devices {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(112px, 10.5vw, 146px);
  gap: clamp(18px, 2vw, 26px);
  align-items: end;
  padding: 12px 10px 18px;
  min-width: 0;
}
.walkthrough-laptop { min-width: 0; padding-bottom: 8px; }
.walkthrough-laptop .demo-frame {
  width: 100%;
  border-color: #9da5ae;
  border-radius: 15px 15px 7px 7px;
  background: linear-gradient(145deg, #edf0f2, #b5bdc4 48%, #d9dee2);
  box-shadow: inset 0 1px 2px #fff, 0 12px 24px rgba(45,51,60,.13);
}
.walkthrough-laptop-base {
  height: 12px;
  width: 100%;
  border: 1px solid #aab2ba;
  border-radius: 1px 1px 10px 10px;
  background: linear-gradient(#e8ecef, #b7c0c7);
  box-shadow: 0 9px 15px rgba(45,51,60,.12);
}
.walkthrough-phone {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 3px;
  border: 1px solid #b3bcc3;
  border-radius: 25px;
  background: linear-gradient(145deg, #eef1f3, #b7c0c7 48%, #e3e8ec);
  box-shadow: inset 0 1px 2px #fff, 0 12px 22px rgba(45,51,60,.13);
}
.walkthrough-phone-window {
  position: relative;
  width: 100%;
  aspect-ratio: 920 / 1448;
  border-radius: 22px;
  background: #f1f4f7;
}
.paired-mobile-media {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: contain;
  border-radius: 22px;
}
.phone-feature-focus {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(147,117,150,.65);
  border-radius: 5px;
  background: rgba(197,184,209,.08);
  box-shadow: 0 0 0 3px rgba(197,184,209,.12);
  opacity: 0;
  pointer-events: none;
  transition: top .65s ease, height .65s ease, opacity .4s ease;
}
.phone-feature-focus.is-visible { opacity: 1; }
.product-experience-stage .product-walkthrough { width: 100%; min-width: 0; margin: 0; }
.product-walkthrough .demo-caption { font-weight: 500; }
.product-walkthrough .demo-spotlight { border-color: rgba(177,117,146,.85); background: rgba(193,150,179,.035); box-shadow: 0 0 0 200vmax rgba(24,24,64,.12), 0 0 0 5px rgba(193,150,179,.08); }
@media (max-width: 767px) {
  .walkthrough-devices { grid-template-columns: minmax(0, 1fr) clamp(78px, 21vw, 112px); gap: 12px; padding: 8px 3px 16px; }
  .walkthrough-phone { border-radius: 19px; padding: 2px; }
  .paired-mobile-media, .walkthrough-phone-window { border-radius: 17px; }
  .walkthrough-laptop-base { height: 8px; }
}
@media (prefers-reduced-motion: reduce) { .phone-feature-focus { transition: none; } }

/* A complete metal shell replaces the incomplete bezel in the source artwork. */
.walkthrough-phone {
  box-sizing: border-box;
  padding: 8px 7px 15px;
  border: 1px solid #9da5ae;
  border-radius: 22px;
  background: linear-gradient(145deg, #edf0f2, #b5bdc4 48%, #d9dee2);
  box-shadow: inset 0 1px 2px #fff, 0 12px 24px rgba(45,51,60,.13);
  overflow: visible;
}
.walkthrough-phone::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 36%;
  width: 28%;
  height: 2px;
  border-radius: 2px;
  background: #8b959f;
}
.walkthrough-phone-window {
  box-sizing: border-box;
  aspect-ratio: 920 / 1448;
  overflow: hidden;
  border: 1px solid rgba(35,42,58,.5);
  border-radius: 15px;
  min-width: 0;
  background: #f1f4f7;
}
.walkthrough-phone-window > img.paired-mobile-media {
  width: 108%;
  max-width: none;
  height: 108%;
  left: -4%;
  top: -1%;
  right: auto;
  bottom: auto;
  object-fit: contain;
  border-radius: 0;
}
.walkthrough-phone-window > video.paired-mobile-media { border-radius: 0; object-fit: contain; }
.walkthrough-devices { padding-bottom: 28px; overflow: visible; }
@media (max-width: 767px) {
  .walkthrough-phone { padding: 5px 4px 12px; border-radius: 17px; }
  .walkthrough-phone-window { border-radius: 11px; }
  .walkthrough-phone::after { bottom: 5px; }
}

/* The pointer tip is the origin shared with the normalized screenshot targets. */
.product-walkthrough .demo-pointer { transform-origin: 0 0; }
.product-walkthrough .demo-detail {
  z-index: 9;
  object-fit: contain;
  background: #fff;
  border-radius: inherit;
}
.product-walkthrough:focus-visible { outline: 2px solid #a37593; outline-offset: 6px; border-radius: 16px; }
.product-walkthrough .demo-debug-target { border: 2px solid #e11d48; }
@media (prefers-reduced-motion: reduce) {
  .product-walkthrough .phone-feature-focus { transition: none; }
  .product-walkthrough .demo-pointer { display: none; }
}
.product-walkthrough .demo-detail { margin: auto; }

/* Slim silver handset rim. */
.walkthrough-phone {
  padding: 3px 3px 7px;
  border: 1px solid #b7bfc6;
  border-radius: 19px;
  background: linear-gradient(145deg, #edf0f2, #c6ccd1 48%, #e3e7ea);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.8), 0 8px 16px rgba(45,51,60,.09);
}
.walkthrough-phone-window { border: 1px solid rgba(69,78,87,.22); border-radius: 15px; }
.walkthrough-phone::after { bottom: 3px; height: 1px; background: #a4adb5; }
@media (max-width: 767px) {
  .walkthrough-phone { padding: 2px 2px 6px; border-radius: 15px; }
  .walkthrough-phone-window { border-radius: 12px; }
  .walkthrough-phone::after { bottom: 2px; }
}

/* ERMVare live dashboard and classic aluminium laptop. */
.erm-laptop-entry { min-width: 0; width: 100%; opacity: 0; transform: translateY(24px); }
.erm-laptop-entry.is-ready { opacity: 1; transform: none; }
.erm-silver-laptop { position: relative; padding: 10px; border: 1px solid #c4c8cf; border-radius: 18px 18px 7px 7px; background: linear-gradient(145deg,#F4F5F7 0%,#D9DCE1 35%,#BFC3CA 55%,#E6E8EC 75%,#CDD1D7 100%); box-shadow: inset 0 1px rgba(255,255,255,.8),inset 0 -1px rgba(0,0,0,.12); }
.erm-camera { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #8A8F98; left: calc(50% - 2.5px); top: 3px; }
.laptop-screen { overflow: hidden; border: 1px solid #E3E5E9; border-radius: 4px; isolation: isolate; background: #f8f9fb; }
.erm-silver-base { width: 104%; margin-left: -2%; height: 11px; position: relative; background: linear-gradient(145deg,#F4F5F7 0%,#D9DCE1 35%,#BFC3CA 55%,#E6E8EC 75%,#CDD1D7 100%); border: 1px solid #c6cbd1; border-radius: 1px 1px 12px 12px; box-shadow: 0 24px 40px -12px rgba(45,46,95,.25); }
.erm-silver-base span { display: block; width: 12%; height: 3px; margin: auto; background: #b9bfc7; border-radius: 0 0 3px 3px; }
.erm-dashboard { padding: 9px; color: #2D2E5F; background: #fafbfd; font-family: var(--font); }
.erm-dashboard-head { display: flex; align-items: center; justify-content: space-between; font-size: 14px; margin: 0 3px 7px; }
.erm-live { display: inline-flex; align-items: center; gap: 5px; color: #475569; font-size: 11px; }
.erm-live i { width: 5px; height: 5px; border-radius: 50%; background: #348368; animation: erm-live-dot 2s ease-in-out infinite; }
@keyframes erm-live-dot { 0%,100%{opacity:.5}50%{opacity:1} }
.erm-widget-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(38px,.28fr) minmax(0,1fr); gap: 8px; }
.erm-widget { position: relative; min-width: 0; padding: 9px 7px 15px; border: 1px solid #edf0f3; border-radius: 12px; background: #fff; box-shadow: 0 2px 6px rgba(45,46,95,.05); }
.erm-widget:nth-child(1){grid-column:1;grid-row:1}.erm-widget:nth-child(2){grid-column:3;grid-row:1}.erm-widget:nth-child(3){grid-column:1;grid-row:2}.erm-widget:nth-child(4){grid-column:3;grid-row:2}
.erm-widget header { display: flex; align-items: start; justify-content: space-between; gap: 5px; min-height: 30px; }
.erm-widget h3 { position: relative; margin: 0; font-size: 12px; font-weight: 650; line-height: 1.3; color: #2D2E5F; opacity: 0; transform-origin: left center; }
.erm-title-glow { position: absolute; inset: -4px; border-radius: 7px; background: #E91E63; filter: blur(5px); opacity: 0; pointer-events: none; }
.erm-kpi-badge { text-align: center; background: #f4f4f6; padding: 3px 5px; border-radius: 6px; font-size: 11px; line-height: 1.2; }
.erm-kpi-badge b { display:block;font-size:18px;font-weight:600; }
.erm-chart-content { opacity: 0; }
.erm-axis-title { margin: 3px 0 7px; font-size: 11px; color:#475569; }
.erm-bars { display:grid;grid-template-columns:18px repeat(4,minmax(0,1fr));gap:5px;height:135px;align-items:end; }
.erm-axis { display:flex;flex-direction:column;justify-content:space-between;height:108px;padding-bottom:18px;font-size:11px;color:#475569; }
.erm-bar-column { height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0; }
.erm-bar-column > b { font-size:12px;font-weight:600; }
.erm-bar-track { width:80%;height:95px;display:flex;align-items:end;border-bottom:1px solid #dce1e7; }
.erm-bar { height:100%;width:100%;border-radius:5px 5px 0 0;transform-origin:bottom; }
.erm-bar-column > span { width:100%;min-height:27px;text-align:center;font-size:11px;line-height:1.1;color:#475569;margin-top:5px;overflow-wrap:anywhere; }
.erm-ring-layout { display:flex;align-items:center;gap:4px; }
.erm-ring-layout svg { width:100%;height:auto;display:block;overflow:visible; }
.erm-widget[data-widget="breach"] .erm-ring-layout svg { width:53%;flex-shrink:0; }
.erm-ring-total-label { text-anchor:middle;fill:#2D2E5F;font-size:11px;font-weight:600; }
.erm-ring-total { text-anchor:middle;fill:#2D2E5F;font-size:28px;font-weight:650; }
.erm-segment-value { fill:white;font-size:14px;font-weight:650; }
.erm-segment-percent { fill:white;font-size:11px; }
.erm-legend { display:flex;flex-wrap:wrap;gap:4px 7px;margin-top:3px;font-size:11px;color:#475569; }
.erm-legend span { display:inline-flex;align-items:center;gap:3px; }
.erm-legend i,.erm-department-list i { display:inline-block;width:5px;height:5px;border-radius:50%;flex-shrink:0; }
.erm-department-list { flex:1;min-width:0;display:grid;gap:4px;font-size:11px;line-height:1.15; }
.erm-department-list > span { display:flex;align-items:center;gap:3px; }.erm-department-list > span > b{margin-left:auto;}.erm-dept-total { margin-top:5px;background:#f6f7f8;border-radius:4px;padding:3px; }
.erm-brand-core { grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:#2D2E5F; }.erm-brand-core span{font-size:11px;font-weight:650;writing-mode:vertical-rl;}.erm-brand-core>b{font-size:46px;font-weight:500;color:#148f85;}
.erm-dashboard-nav { display:flex;justify-content:space-between;gap:5px;margin:9px 0 0;padding:8px 4px;background:#fff;border-radius:8px; }.erm-dashboard-nav span{font-size:11px;line-height:1.15;text-align:center;color:#475569}.erm-dashboard-nav sup{color:#0ba977;}
.erm-data-note { font-size:11px;color:#64748b;text-align:right;margin-top:5px; }
.erm-update-note { position:absolute;bottom:2px;right:7px;font-size:11px;opacity:0;color:#64748b; }
.erm-laptop-entry.is-static * { animation:none!important; }.erm-laptop-entry.is-static h3,.erm-laptop-entry.is-static .erm-chart-content { opacity:1; }
@media(min-width:768px) { body:has([data-live-erm]) .hero-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px; } }
@media(max-width:767px) {
 .erm-silver-laptop { padding:7px;border-radius:13px 13px 5px 5px; }.erm-camera { top:2px;width:4px;height:4px; }
 .erm-dashboard{padding:6px}.erm-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.erm-widget:nth-child(1){grid-column:1;grid-row:1}.erm-widget:nth-child(2){grid-column:2;grid-row:1}.erm-widget:nth-child(3){grid-column:1;grid-row:2}.erm-widget:nth-child(4){grid-column:2;grid-row:2}.erm-brand-core,.erm-dashboard-nav{display:none}.erm-widget{padding:7px 5px 17px}.erm-widget h3{font-size:11px}.erm-bars{height:126px;gap:3px}.erm-bar-track{height:82px}.erm-widget[data-widget="breach"] .erm-ring-layout{display:block}.erm-widget[data-widget="breach"] .erm-ring-layout svg{width:100%}.erm-department-list{margin-top:4px}.erm-silver-base{width:102%;margin-left:-1%;height:9px}
}
@media(prefers-reduced-motion:reduce){.erm-laptop-entry{opacity:1;transform:none}.erm-laptop-entry *{animation:none!important}.erm-widget h3,.erm-chart-content{opacity:1}.erm-title-glow{display:none}}
@media(max-width:767px) {
 .erm-dashboard .erm-ring-total-label { font-size:17px; }
 .erm-dashboard .erm-segment-value,.erm-dashboard .erm-segment-percent { font-size:17px; }
}

/* Continuous brochure-heading walkthrough; the laptop shell stays still. */
.erm-widget.is-guided-active { outline: 1px solid rgba(233,30,99,.35); outline-offset: -1px; background: #fffafd; }
.erm-guided-heading { min-height:24px;margin:18px 0 0;text-align:center;font-size:14px;font-weight:600;color:#2D2E5F; }
.erm-logo-crop { position:relative;width:100%;aspect-ratio:267 / 300;overflow:hidden; }
.erm-logo-crop img { position:absolute;width:622%;max-width:none;height:auto;left:-267%;top:-96%; }
.erm-brand-core { gap:16px; }
@media(prefers-reduced-motion:reduce){.erm-guided-heading{display:none}}

/* Compact ERMVare hero and calm heading pulses. */
body.ermvare-page { padding-bottom: 72px; }
body.ermvare-page .hero { padding-top: 30px; padding-bottom: 34px; }
body.ermvare-page .erm-laptop-entry { width: min(100%, 600px); justify-self: center; }
body.ermvare-page .erm-dashboard { padding: 7px; }
body.ermvare-page .erm-widget { padding-top: 7px; padding-bottom: 13px; }
body.ermvare-page .erm-bars { height: 112px; }
body.ermvare-page .erm-bar-track { height: 76px; }
body.ermvare-page .erm-guided-heading { margin-top: 12px; animation: erm-heading-breathe 4s ease-in-out infinite; }
body.ermvare-page .erm-widget.is-guided-active h3 { animation: erm-heading-breathe 4s ease-in-out infinite; }
@keyframes erm-heading-breathe { 0%,100% { opacity: 1; } 50% { opacity: .55; } }
.erm-bottom-actions { position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #e4e2ec; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); box-shadow: 0 -4px 18px rgba(45,46,95,.06); }
.erm-bottom-actions a { padding: 10px 20px; border: 1px solid #dddce7; border-radius: 999px; color: #2D2E5F; background: #f8f7fb; text-decoration: none; font-size: 14px; font-weight: 600; line-height: 1.2; }
.erm-bottom-actions a:first-child { color: white; border-color: #2D2E5F; background: #2D2E5F; }
.erm-bottom-actions a:focus-visible { outline: 2px solid #E91E63; outline-offset: 3px; }
@media(max-width:767px) { .erm-bottom-actions { gap: 6px; padding-left: 8px; padding-right: 8px; }.erm-bottom-actions a { padding: 9px 12px; font-size: 13px; }body.ermvare-page .hero { padding-top: 22px; } }
@media(prefers-reduced-motion:reduce) { body.ermvare-page .erm-guided-heading,body.ermvare-page .erm-widget h3 { animation: none; } }

/* Wider desktop display with a shorter dashboard composition. */
@media(min-width:768px) {
 body.ermvare-page .hero-grid { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:28px; }
 body.ermvare-page .erm-laptop-entry { width:100%;max-width:820px; }
 body.ermvare-page .erm-widget-grid { grid-template-columns:minmax(0,1fr) minmax(38px,.22fr) minmax(0,1fr);gap:6px; }
 body.ermvare-page .erm-widget { padding:6px 8px 12px; }
 body.ermvare-page .erm-widget header { min-height:24px; }
 body.ermvare-page .erm-ring-layout svg { width: min(100%, 168px); margin:auto; }
 body.ermvare-page .erm-widget[data-widget="breach"] .erm-ring-layout svg { width:46%;max-width:142px;margin:0; }
 body.ermvare-page .erm-bars { height:104px; }
 body.ermvare-page .erm-bar-track { height:68px; }
 body.ermvare-page .erm-axis { height:88px; }
 body.ermvare-page .erm-dashboard-nav { margin-top:6px;padding:6px 4px; }
 body.ermvare-page .erm-dashboard-head { margin-bottom:5px; }
 body.ermvare-page .erm-guided-heading { margin-top:9px; }
}
body.ermvare-page .erm-guided-heading,body.ermvare-page .erm-widget.is-guided-active h3 { animation-duration: 3s; }
body.ermvare-page .erm-widget { transition: background-color .7s ease, outline-color .7s ease; }
@media(prefers-reduced-motion:reduce){body.ermvare-page .erm-widget{transition:none}}

/* Keep the breach total label outside the donut's centre. */
.erm-widget[data-widget="breach"] .erm-dept-total { display:flex; flex-wrap:wrap; align-items:center; gap:4px; line-height:1.3; padding:5px; }
.erm-widget[data-widget="breach"] .erm-dept-total b { margin-left:auto; }

/* Editable product feature compositions based on supplied references. */
.product-features { background:linear-gradient(130deg,rgba(244,244,255,.85),rgba(247,245,252,.9)); }
.feature-section-heading { display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,5vw,72px);align-items:end;margin-bottom:40px; }
.feature-section-heading h2 { margin:12px 0 0;color:var(--navy,#2D2E5F);font-size:clamp(30px,3.6vw,52px);font-weight:500;line-height:1.13;letter-spacing:-.035em; }
.feature-section-heading .lead { margin:0;max-width:34rem; }
.feature-module { min-width:0; }
.feature-module h3 { font-size:clamp(18px,1.7vw,23px);font-weight:600;line-height:1.3;margin:16px 0 12px;color:var(--navy,#2D2E5F); }
.feature-module p { font-size:16px;line-height:1.65;color:#626180;margin:0; }
.feature-module > svg,.feature-admin-band > svg { width:28px;height:28px;display:block;color:#238d85; }
.feature-glass { border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08);padding:19px;backdrop-filter:blur(6px); }
.feature-glass h3 { margin:0 0 14px;font-size:17px;color:#fff;font-weight:600;line-height:1.35; }
.audit-feature-art { display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:20px;align-items:center;padding:40px;border-radius:26px;overflow:hidden;background-image:radial-gradient(circle at 13% 15%,rgba(180,123,205,.2),transparent 38%),radial-gradient(circle at 95% 100%,rgba(214,183,128,.17),transparent 34%),radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1.5px),linear-gradient(130deg,#331a4e,#4f165a 65%,#662e69);background-size:auto,auto,24px 24px,auto; }
.plan-quarters { display:grid;grid-template-columns:repeat(4,1fr);font-size:14px;color:#d4c5de;text-align:center;margin-bottom:12px; }
.plan-lines { display:grid;gap:13px;background:repeating-linear-gradient(90deg,transparent 0 24%,rgba(255,255,255,.08) 24% 25%);padding:5px 0; }
.plan-lines i { height:12px;border-radius:99px;background:#eee5f2;width:47%; }.plan-lines i:nth-child(2){width:60%;margin-left:27%;background:#eac95a}.plan-lines i:nth-child(3){width:38%;margin-left:9%;background:#bd88cb}.plan-lines i:nth-child(4){width:40%;margin-left:52%;background:#ded1ad}
.audit-coverage-lens { width:100%;max-width:350px;display:block;margin:auto; }
.engagement-track { margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);color:#d4c5de;font-size:13px;gap:5px; }
.engagement-track li { position:relative;text-align:center;padding-top:32px; }.engagement-track li::before{content:'';position:absolute;top:0;left:calc(50% - 9px);width:18px;height:18px;border:2px solid #a78aac;border-radius:50%;}.engagement-track li.done::before{content:'✓';color:#40204c;background:#eac95a;border-color:#eac95a;line-height:15px;font-weight:700}.engagement-track li.current{color:#eac95a}.engagement-track li.current::before{border-color:#eac95a;box-shadow:inset 0 0 0 4px #44204e;background:#eac95a}.engagement-track li:not(:last-child)::after{content:'';position:absolute;top:8px;left:calc(50% + 9px);width:calc(100% - 14px);height:2px;background:#ac859f}.engagement-track li.done::after{background:#eac95a}
.finding-evidence { display:flex;align-items:center;gap:9px;color:#fff;font-size:15px;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:99px;background:rgba(255,255,255,.1);padding:13px;margin:30px 0 0; }.finding-evidence span{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;background:#eac95a;color:#44204e}
.audit-feature-stages { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;margin-top:36px; }
.feature-step { position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#69417e;color:#fff;font-size:16px;font-weight:600; }.audit-feature-stages .feature-module:nth-child(3) .feature-step { background:#e6c879;color:#3b2946; }
.feature-admin-band { display:grid;grid-template-columns:28px 1.2fr 1.6fr auto;gap:20px;align-items:center;margin-top:32px;padding:25px 28px;border-radius:20px;background:linear-gradient(110deg,#331a4e,#652e71);color:#e0d2e7; }.feature-admin-band h3{margin:0;color:#fff;font-size:21px;font-weight:600}.feature-admin-band p{margin:0;font-size:16px;line-height:1.6}.feature-admin-band b{font-size:14px;color:#e6c879}.feature-admin-band>svg{color:#e6c879}
.risk-feature-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.85fr) minmax(0,1fr);gap:38px;align-items:stretch; }
.risk-feature-column { display:grid;grid-template-rows:repeat(3,1fr);gap:26px; }.risk-feature-column .feature-module{padding-top:23px;border-top:1px solid #abd5d0;}
.risk-feature-art { min-width:0;display:flex;flex-direction:column;gap:15px;padding:20px;border-radius:26px;background-image:radial-gradient(circle at 90% 10%,rgba(30,166,129,.22),transparent 42%),radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1.5px),linear-gradient(135deg,#143448,#12675e);background-size:auto,22px 22px,auto; }
.risk-mini-heatmap { position:relative;width:70%;padding:16px; }.risk-mini-heatmap h3{font-size:16px;margin-bottom:10px}.risk-heatmap{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;max-width:65%}.risk-heatmap i{height:18px;border-radius:4px;background:rgba(71,205,165,var(--cell-tone));}.risk-heatmap i.inherent{box-shadow:inset 0 0 0 4px #3bc9a4;background:#fff}.risk-heatmap i.residual{outline:1.5px solid #fff;outline-offset:-1px}.risk-heatmap-key{position:absolute;right:10px;top:55px;display:grid;gap:27px;font-size:12px;color:#d3e7e4}.risk-orbit-map{width:100%;height:auto;display:block;margin:auto}.risk-kri-watch{width:68%;align-self:flex-end;padding:15px}.risk-kri-watch h3{font-size:16px;margin-bottom:5px}.risk-kri-watch svg{display:block;width:100%;height:auto}
@media(max-width:1050px){.audit-feature-art{padding:26px;gap:14px}.audit-feature-stages{gap:17px}.feature-admin-band{grid-template-columns:28px 1fr 1.5fr}.feature-admin-band>b{grid-column:2/4}.risk-feature-layout{gap:22px;grid-template-columns:1fr 1.5fr 1fr}.risk-mini-heatmap{width:100%}}
@media(max-width:767px){.feature-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.audit-feature-art{grid-template-columns:1fr;padding:22px}.audit-coverage-lens{max-width:250px}.audit-feature-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.feature-admin-band{grid-template-columns:28px 1fr;padding:22px}.feature-admin-band p,.feature-admin-band>b{grid-column:1/3}.risk-feature-layout{grid-template-columns:1fr}.risk-feature-art{grid-row:1;min-height:510px}.risk-feature-column{grid-template-rows:auto;grid-template-columns:1fr;gap:22px}.risk-feature-column .feature-module{padding-top:18px}.risk-mini-heatmap{width:70%;max-width:290px}.risk-orbit-map{max-width:400px}.risk-kri-watch{max-width:260px}.feature-module h3{font-size:21px}.feature-module p{font-size:16px}}
@media(max-width:400px){.audit-feature-stages{grid-template-columns:1fr}.risk-mini-heatmap{width:100%}}

/* Feature illustrations at 60% of their previous footprint. */
.audit-feature-art { width:60%;margin-inline:auto;grid-template-columns:1fr;padding:22px;gap:18px; }
.audit-coverage-lens { width:60%;max-width:210px; }
.risk-feature-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.11fr) minmax(0,1fr); }
.risk-feature-art { width:60%;justify-self:center;align-self:center;padding:12px;gap:9px; }
.risk-mini-heatmap,.risk-kri-watch { width:100%;padding:10px; }
.risk-heatmap { max-width:60%;gap:3px; }.risk-heatmap i { height:11px; }
.risk-heatmap-key { top:48px;gap:15px;right:6px; }
@media(max-width:767px) {
 .audit-feature-art { width:60%;padding:14px; }
 .risk-feature-layout { grid-template-columns:1fr; }
 .risk-feature-art { width:60%;min-height:0; }
 .audit-feature-art .engagement-track { grid-template-columns:repeat(2,1fr);row-gap:12px; }
 .audit-feature-art .engagement-track li::after { display:none; }
 .audit-feature-art .finding-evidence { flex-wrap:wrap; }
}
@media(min-width:768px) {
 .audit-feature-art { grid-template-columns:1fr 1.25fr 1fr;gap:12px;padding:22px; }
 .audit-coverage-lens { width:100%;max-width:210px; }
 .risk-feature-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.85fr) minmax(0,1fr); }
}

/* Matching square feature panels, with restrained gradient colour. */
.audit-feature-art,.risk-feature-art {
 position:relative;width:min(100%,480px);aspect-ratio:1 / 1;min-height:0;height:auto;margin-inline:auto;border-radius:24px;padding:56px 20px 20px;gap:14px;box-sizing:border-box;overflow:hidden;
}
.audit-feature-art {
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);
 background:radial-gradient(ellipse at 10% 5%,rgba(185,142,205,.38),transparent 60%),radial-gradient(ellipse at 90% 95%,rgba(222,189,163,.30),transparent 58%),linear-gradient(140deg,#573566,#783f81 52%,#a47391);
}
.audit-feature-art .audit-plan { grid-column:1;grid-row:1;align-self:center;padding:14px; }
.audit-feature-art .audit-coverage-lens { grid-column:1;grid-row:2;width:100%;height:100%;max-width:none;min-height:0; }
.audit-feature-art .audit-engagement { grid-column:2;grid-row:1 / 3;align-self:center;min-width:0; }
.audit-feature-art .audit-engagement .feature-glass { padding:14px; }
.audit-feature-art .engagement-track { grid-template-columns:repeat(2,1fr);gap:14px 7px; }
.audit-feature-art .engagement-track li::after { display:none; }
.audit-feature-art .finding-evidence { flex-wrap:wrap;margin-top:20px;padding:11px;font-size:14px; }
.risk-feature-art {
 display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.95fr);
 background:radial-gradient(ellipse at 95% 10%,rgba(90,190,170,.45),transparent 60%),radial-gradient(ellipse at 0% 90%,rgba(126,150,176,.32),transparent 58%),linear-gradient(140deg,#2d5267,#347e79 52%,#6aab99);
}
.risk-feature-art .risk-mini-heatmap { width:76%;padding:10px;align-self:start; }
.risk-feature-art .risk-orbit-map { width:100%;height:100%;min-height:0; }
.risk-feature-art .risk-kri-watch { width:70%;padding:10px;align-self:end;justify-self:end; }
.risk-feature-art .risk-kri-watch svg { max-height:80px; }
.feature-product-logo { position:absolute;top:14px;left:16px;padding:6px 10px;border:1px solid rgba(255,255,255,.7);border-radius:9px;background:rgba(255,255,255,.94);z-index:2; }
.feature-product-logo img { display:block;width:auto;max-width:108px;height:22px;object-fit:contain; }
@media(max-width:767px) {
 .audit-feature-art,.risk-feature-art { width:min(100%,400px);padding:49px 12px 12px;gap:9px; }
 .audit-feature-art .feature-glass h3 { font-size:14px; }
 .audit-feature-art .audit-plan,.audit-feature-art .audit-engagement .feature-glass { padding:10px; }
 .audit-feature-art .finding-evidence { font-size:13px;padding:9px;margin-top:14px; }
 .plan-lines { gap:9px; }.plan-lines i { height:8px; }
 .risk-feature-art .risk-mini-heatmap { width:90%;padding:8px; }
 .risk-feature-art .risk-mini-heatmap h3,.risk-feature-art .risk-kri-watch h3 { font-size:14px;margin-bottom:6px; }
 .risk-feature-art .risk-kri-watch { width:75%;padding:8px; }
 .risk-feature-art .risk-kri-watch svg { max-height:65px; }
 .feature-product-logo { top:11px;left:12px;padding:5px 8px; }.feature-product-logo img { height:19px;max-width:94px; }
}

/* Inverted unboxed product marks and reference-style digital dots. */
.feature-product-logo { background:transparent;border:0;padding:0;box-shadow:none;border-radius:0; }
.feature-product-logo img { filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen; }
.audit-feature-art,.risk-feature-art { isolation:isolate; }
.audit-feature-art::before,.risk-feature-art::before { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.22) 1.2px,transparent 1.7px);background-size:22px 22px;background-position:11px 11px; }
.audit-feature-art::before { opacity:.65; }
.risk-feature-art::before { opacity:.45; }
@media(max-width:767px){.feature-product-logo{padding:0}.audit-feature-art::before,.risk-feature-art::before{background-size:18px 18px}}

/* AuditVare modules surround the square illustration. */
.audit-surround-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:30px;align-items:center; }
.audit-surround-layout .audit-feature-art { width:100%;max-width:480px;margin:0;justify-self:center; }
.audit-surround-column { display:grid;gap:25px;align-self:stretch;align-content:space-between; }
.audit-surround-column .feature-module { padding-top:18px;border-top:1px solid #d5c5df; }
.audit-surround-column .feature-module h3 { margin-top:12px; }
@media(max-width:900px){.audit-surround-layout{gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr)}.audit-surround-column .feature-module h3{font-size:18px}.audit-surround-column .feature-module p{font-size:15px}}
@media(max-width:767px){.audit-surround-layout{grid-template-columns:1fr;gap:28px}.audit-surround-layout .audit-feature-art{grid-row:1;width:min(100%,400px);margin:auto}.audit-surround-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.audit-surround-column .feature-module h3{font-size:20px}.audit-surround-column .feature-module p{font-size:16px}}
@media(max-width:420px){.audit-surround-column{grid-template-columns:1fr}}

/* InciVare and ComplianceVare: editable square panels with surrounding text. */
.product-surround-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:30px;align-items:center; }
.product-surround-column { display:grid;gap:25px;align-self:stretch;align-content:space-between; }.product-surround-column .feature-module{padding-top:18px;border-top:1px solid #cbd1df}.product-surround-column .feature-module h3{margin-top:12px}
.new-product-square { position:relative;isolation:isolate;width:min(100%,480px);aspect-ratio:1 / 1;padding:52px 16px 16px;border-radius:24px;overflow:hidden;display:grid;gap:12px;min-width:0;justify-self:center; }
.new-product-square::before { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.15) 1px,transparent 1.7px);background-size:22px 22px; }
.incivare-feature-art { grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr .7fr;background:radial-gradient(ellipse at 10% 10%,rgba(221,119,88,.3),transparent 60%),linear-gradient(140deg,#35304e,#744954 55%,#bd8466); }
.incident-severity { padding:12px;align-self:start; }.incident-severity h3,.incident-trail h3{font-size:15px;margin-bottom:14px}.incident-severity-bars{display:grid;grid-template-columns:54px 1fr;gap:13px 8px;align-items:center;font-size:13px;color:#ede1e8}.incident-severity-bars i{height:10px;border-radius:99px}
.incident-evidence{display:grid;gap:14px;align-content:start}.incident-alert{display:grid;gap:6px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);border-radius:14px;padding:12px;color:#fff;font-size:14px;line-height:1.4}.incident-alert span{font-size:12px;color:#dfd0d7}.incident-trail{padding:12px}.incident-trail p{display:flex;gap:8px;margin:10px 0 0;font-size:12px;color:#eee0df;line-height:1.4}.incident-trail b{color:#f5c68d;flex-shrink:0}.incident-lifecycle{grid-column:1/3;align-self:end;width:100%;height:auto;display:block}
.compliancevare-feature-art{grid-template-rows:.6fr 1.5fr .5fr;background:radial-gradient(ellipse at 90% 10%,rgba(103,163,201,.35),transparent 60%),linear-gradient(140deg,#244766,#416d97 52%,#669ab5)}.compliance-query{width:65%;justify-self:end;padding:12px}.compliance-query h3{font-size:15px;margin-bottom:10px}.compliance-query p{display:flex;flex-wrap:wrap;gap:10px;color:#d3e4ee;font-size:12px;margin:0}.compliance-query p span{border:1px solid #90c9e3;border-radius:99px;padding:3px 8px}.compliance-network{display:block;width:100%;height:100%;min-height:0}.compliance-kci{display:flex;align-items:center;gap:14px;padding:11px;min-width:0}.compliance-kci h3{font-size:15px;margin-bottom:5px}.compliance-kci span{font-size:12px;color:#d3e4ee;white-space:nowrap}.compliance-kci svg{width:50%;height:auto;margin-left:auto}
.incivare-features .feature-module > svg{color:#b36e52}.compliancevare-features .feature-module > svg{color:#477899}
@media(max-width:900px){.product-surround-layout{gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr)}.product-surround-column .feature-module h3{font-size:18px}.product-surround-column .feature-module p{font-size:15px}}
@media(max-width:767px){.product-surround-layout{grid-template-columns:1fr;gap:28px}.new-product-square{grid-row:1;width:min(100%,400px);padding:48px 12px 12px;gap:10px}.product-surround-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-surround-column .feature-module h3{font-size:20px}.product-surround-column .feature-module p{font-size:16px}.incident-severity,.incident-trail,.incident-alert{padding:9px}.incident-severity h3,.incident-trail h3{font-size:14px}.incident-severity-bars{grid-template-columns:48px 1fr;gap:10px 6px;font-size:12px}.incident-alert{font-size:13px}.incident-trail p{font-size:11px}.compliance-query{padding:9px}.compliance-kci{padding:9px;gap:8px}}
@media(max-width:420px){.product-surround-column{grid-template-columns:1fr}}

/* Vivid product artwork: deep colour stops and luminous digital highlights. */
.audit-feature-art {
 background:radial-gradient(ellipse at 12% 8%,rgba(238,70,255,.58),transparent 52%),radial-gradient(ellipse at 95% 92%,rgba(255,45,142,.48),transparent 55%),linear-gradient(135deg,#210936 0%,#581083 35%,#9e169a 68%,#df287d 100%);
}
.risk-feature-art {
 background:radial-gradient(ellipse at 92% 8%,rgba(0,255,203,.48),transparent 50%),radial-gradient(ellipse at 5% 94%,rgba(0,149,255,.42),transparent 54%),linear-gradient(135deg,#062d46 0%,#075764 35%,#008b7b 68%,#14be86 100%);
}
.incivare-feature-art {
 background:radial-gradient(ellipse at 8% 8%,rgba(255,74,136,.50),transparent 52%),radial-gradient(ellipse at 95% 95%,rgba(255,192,58,.42),transparent 50%),linear-gradient(135deg,#32102f 0%,#822044 35%,#d44043 68%,#ff862f 100%);
}
.compliancevare-feature-art {
 background:radial-gradient(ellipse at 92% 8%,rgba(0,220,255,.52),transparent 52%),radial-gradient(ellipse at 5% 95%,rgba(103,76,255,.42),transparent 54%),linear-gradient(135deg,#092443 0%,#103d86 35%,#116cc2 68%,#14b7da 100%);
}
.audit-feature-art,.risk-feature-art,.new-product-square {
 border:1px solid rgba(255,255,255,.25);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 16px 36px -20px rgba(45,46,95,.46);
}
.audit-feature-art::before,.risk-feature-art::before,.new-product-square::before {
 background-image:radial-gradient(circle,rgba(255,255,255,.36) 1.2px,transparent 1.8px);opacity:.8;
}
.audit-feature-art .feature-glass,.risk-feature-art .feature-glass,.new-product-square .feature-glass,.new-product-square .incident-alert {
 background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(8,16,40,.26));
 border-color:rgba(255,255,255,.28);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.audit-feature-art .plan-quarters,.audit-feature-art .engagement-track,.risk-feature-art .risk-heatmap-key,.incident-severity-bars,.incident-alert span,.incident-trail p,.compliance-query p,.compliance-kci span { color:#f2f6ff; }

/* CyberVare solution brief: matte maroon, pearl surfaces and alert accents. */
body.cybervare-page { --cyber-maroon:#4A171F;--cyber-dark:#611C29;--cyber-alert:#ED1B2F;--cyber-pearl:#FCF8F8; }
.cybervare-page main { color:#3A2A2E; }
.cybervare-page main h1,.cybervare-page main h2,.cybervare-page main h3 { color:var(--cyber-maroon); }
.cybervare-page .hero { position:relative;isolation:isolate;background:radial-gradient(ellipse at 95% 15%,rgba(237,27,47,.22),transparent 55%),linear-gradient(125deg,#210b10 0%,#4A171F 48%,#611C29 100%);color:#fff; }
.cybervare-page .hero::before { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1.5px);background-size:24px 24px; }
.cybervare-page .hero h1 { color:#4A171F; }
.cybervare-page .hero .lead,.cybervare-page .hero .crumbs,.cybervare-page .hero .crumbs a { color:#573940; }
.cybervare-page .hero .badge { color:#4A171F;background:#f7e9ed;border:1px solid #e6d3d9; }
.cyber-brochure-logo { display:block;width:min(260px,80%);margin:22px 0; }
.cyber-brochure-logo img { width:100%;height:auto;display:block;object-fit:contain; }
.cybervare-page .hero-figure { padding:10px;border-radius:20px;background:linear-gradient(145deg,#f4f5f7,#bfc3ca 55%,#e6e8ec);box-shadow:0 24px 45px -20px rgba(0,0,0,.4); }
.cybervare-page .hero-figure img { display:block;width:100%;height:auto;border-radius:10px; }
.cybervare-page main .eyebrow { color:#611C29; }
.cybervare-page main .card { background:linear-gradient(135deg,#fff,#FCF8F8);border-color:#e6d6d9;box-shadow:0 8px 25px -18px rgba(74,23,31,.3); }
.cybervare-page main .tag { color:#4A171F;background:#F2E6E8; }
.cybervare-page main .btn-primary { background:linear-gradient(120deg,#4A171F,#611C29);border-color:#611C29;color:#fff; }
.cybervare-page .hero .btn-primary { background:#fff;color:#4A171F;border-color:#fff; }
.cybervare-page .hero .btn-secondary { color:#4A171F;background:rgba(255,255,255,.8);border-color:#d6bac2; }
.cybervare-page .cyber-modules { background:linear-gradient(135deg,#FCF8F8,#F2E6E8); }
.cyber-module-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.cyber-module-grid .card { border-top:3px solid #B5142B; }
.cyber-module-grid .card h3 { font-size:18px; }
.cyber-module-grid .card p { font-size:16px;line-height:1.6; }
.cybervare-page .product-experience-stage { background:radial-gradient(ellipse at 90% 15%,rgba(237,27,47,.15),transparent 55%),linear-gradient(130deg,#fff,#F5ECEE);border-color:#E6D6D9; }
.cybervare-page .section.navy { background:linear-gradient(125deg,#210b10,#4A171F 50%,#611C29); }
.cybervare-page .section.navy h2,.cybervare-page .section.navy h3,.cybervare-page .section.navy .eyebrow { color:#fff; }
.cybervare-page .section.navy p { color:#F2E6E8; }
.cybervare-page .section.navy .btn-secondary { color:#fff;border-color:#bca0a6;background:rgba(255,255,255,.06); }
.cybervare-page .section.navy .regs span { color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08); }
.cybervare-page .section.linen,.cybervare-page .cta-band { background:linear-gradient(135deg,#FCF8F8,#F2E6E8); }
.cybervare-page main .text-link { color:#611C29; }
@media(max-width:1200px){.cyber-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.cyber-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cybervare-page .hero-figure{padding:6px;border-radius:14px}}
@media(max-width:480px){.cyber-module-grid{grid-template-columns:1fr}}

/* Original brand variants: proportional fit, no artificial recolouring. */
.brand img { width:auto;height:auto;max-height:42px;max-width:210px;object-fit:contain; }
.foot-brand img { width:min(236px,100%);height:auto;max-height:none;object-fit:contain;filter:none; }
.product-hero-logo { width:min(260px,85%);height:auto;max-height:72px;object-fit:contain;object-position:left center; }
.product-card img.logo { width:auto;max-width:100%;height:40px;object-fit:contain;object-position:left center; }
.feature-product-logo.supplied-white-logo img { filter:none;mix-blend-mode:normal;height:auto;max-height:26px;width:108px;object-fit:contain; }
.partner-logo-mark img { object-fit:contain;max-width:100%;max-height:100%; }
.implementation-role-logo { display:block;width:min(220px,100%);height:auto;max-height:100px;object-fit:contain;object-position:left;margin:0 0 20px; }
@media(max-width:767px){.brand img{max-width:142px;max-height:32px}.feature-product-logo.supplied-white-logo img{width:94px;max-height:23px}.product-hero-logo{max-width:230px}}


/* Keep the corporate mark within its own header space. */
.site-header .brand { flex: 0 0 auto; min-width: 0; }
.site-header .brand img { width: 110px; height: auto; max-width: 110px; max-height: 26px; object-fit: contain; }
@media (max-width: 767px) { .site-header .brand img { width: 110px; max-width: 110px; max-height: 26px; } }
