
:root {
  --petrol-950: #001E28;
  --petrol-900: #032A34;
  --petrol-800: #0B3942;
  --petrol-700: #164B51;
  --teal-600: #2D7369;
  --teal-500: #46B2A3;
  --mint-400: #5AE6D2;
  --mint-300: #82EDE0;
  --orange: #FA6414;
  --orange-soft: #FF8A4C;
  --ai: #8799D6;
  --ai-soft: #E8EBF7;
  --connect: #3E9ED8;
  --connect-soft: #DDEFFC;
  --insight: #D6B36A;
  --insight-soft: #F7F0DF;
  --grey-50: #F6F9F9;
  --grey-100: #E6EBEB;
  --grey-200: #CCD7D8;
  --grey-500: #5F7478;
  --grey-700: #33494E;
  --ink: #08262F;
  --white: #FFFFFF;
  --shadow-sm: 0 10px 28px rgba(0,30,40,.08);
  --shadow-lg: 0 24px 70px rgba(0,30,40,.18);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.skip-link { position:absolute; left:-9999px; top:10px; z-index:9999; background:#fff; color:var(--ink); padding:10px 14px; border-radius:8px; }
.skip-link:focus { left:10px; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; }
.section-sm { padding: 72px 0; }
.section-dark { background: var(--petrol-950); color: var(--white); position: relative; overflow: hidden; }
.section-soft { background: var(--grey-50); }
.section-grid::before { content:""; position:absolute; inset:0; opacity:.09; pointer-events:none; background-image: linear-gradient(rgba(90,230,210,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(90,230,210,.35) 1px, transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom, #000, transparent 85%); }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--teal-600); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.section-dark .eyebrow { color: var(--mint-400); }
.page-hero .eyebrow { color: var(--mint-400); }
.eyebrow::before { content:""; width:26px; height:2px; background:currentColor; border-radius:2px; }
h1,h2,h3,h4 { line-height:1.12; margin:0 0 20px; letter-spacing:-.025em; font-weight:560; }
h1 { font-size:clamp(2.75rem, 5.5vw, 5.45rem); max-width:900px; }
h2 { font-size:clamp(2.1rem, 4vw, 3.65rem); }
h3 { font-size:clamp(1.35rem, 2.1vw, 1.8rem); }
p { margin:0 0 20px; }
.lead { font-size:clamp(1.08rem, 1.7vw, 1.35rem); color:var(--grey-700); max-width:780px; }
.section-dark .lead { color:#C6D5D7; }
.muted { color:var(--grey-500); }
.kicker { color:var(--mint-400); }
.accent { color:var(--orange); }
.btn-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:32px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 20px; border-radius:999px; font-weight:650; border:1px solid transparent; transition:.2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--orange); color:#fff; box-shadow:0 10px 28px rgba(250,100,20,.20); }
.btn-primary:hover { background:var(--orange-soft); }
.btn-secondary { border-color:rgba(0,30,40,.18); background:#fff; color:var(--petrol-950); }
.section-dark .btn-secondary { border-color:rgba(255,255,255,.24); color:#fff; background:rgba(255,255,255,.04); }
.btn-orange { background:var(--orange); color:#fff; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--teal-600); font-weight:650; }
.text-link::after { content:"→"; transition:transform .2s; }
.text-link:hover::after { transform:translateX(4px); }
.section-dark .text-link { color:var(--mint-400); }

/* Header */
.site-header { position:sticky; top:0; z-index:1000; background:rgba(0,30,40,.9); color:#fff; backdrop-filter:blur(18px); border-bottom:1px solid rgba(255,255,255,.09); transition:box-shadow .2s; }
.site-header.scrolled { box-shadow:0 10px 30px rgba(0,20,28,.18); }
.nav-wrap { height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { width:104px; display:flex; align-items:center; }
.brand img { width:96px; height:auto; }
.main-nav { display:flex; align-items:center; gap:24px; font-size:.94rem; }
.main-nav a { color:#DBE7E8; transition:color .2s; white-space:nowrap; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color:var(--mint-400); }
.nav-cta { padding:9px 15px; border-radius:999px; background:rgba(90,230,210,.06); border:1px solid rgba(90,230,210,.55); color:var(--mint-400)!important; font-weight:700; box-shadow:none; }
.nav-cta:hover { color:var(--petrol-950)!important; border-color:var(--mint-400); background:var(--mint-400); }
.main-nav .nav-ai:hover, .module-ai .main-nav .nav-ai { color:var(--ai); }
.main-nav .nav-connect:hover, .module-connect .main-nav .nav-connect { color:var(--connect); }
.main-nav .nav-insight:hover, .module-insight .main-nav .nav-insight { color:var(--insight); }


/* Module mega menu */
.nav-dropdown { position:relative; display:flex; align-items:center; }
.nav-dropdown-trigger { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:transparent; color:#DBE7E8; cursor:pointer; font:inherit; white-space:nowrap; transition:color .2s; }
.nav-dropdown-trigger:hover,.nav-dropdown.open .nav-dropdown-trigger,.nav-dropdown-trigger[aria-expanded="true"] { color:var(--mint-400); }
.nav-dropdown-trigger svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; transition:transform .2s; }
.nav-dropdown.open .nav-dropdown-trigger svg,.nav-dropdown-trigger[aria-expanded="true"] svg { transform:rotate(180deg); }

/* The backdrop deliberately separates navigation from the page content when the menu is open. */
.mega-backdrop { position:fixed; top:76px; right:0; bottom:0; left:0; z-index:900; background:rgba(0,14,20,.60); backdrop-filter:blur(1.5px); -webkit-backdrop-filter:blur(1.5px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, visibility .18s ease; }
.mega-backdrop.active { opacity:1; visibility:visible; pointer-events:auto; }

.mega-menu { position:fixed; top:68px; left:50%; width:min(820px,calc(100vw - 40px)); padding:20px; border-radius:18px; background:#F1F6F5; box-shadow:0 30px 90px rgba(0,14,20,.34); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,7px); transition:opacity .18s ease, transform .18s ease, visibility .18s; z-index:1100; }
.nav-dropdown:hover .mega-menu,
.nav-dropdown.open .mega-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.mega-menu-head { display:block; margin-bottom:14px; padding:0 3px; }
.mega-menu-head strong { color:var(--petrol-950); font-size:.96rem; font-weight:650; line-height:1.35; }
.mega-menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.main-nav .mega-module { display:flex; flex-direction:column; min-height:160px; padding:16px; border-radius:14px; background:#fff; white-space:normal; color:var(--petrol-950); box-shadow:0 8px 24px rgba(0,30,40,.055); transition:background .2s, transform .2s, box-shadow .2s; }
.main-nav .mega-module:hover { color:var(--petrol-950); background:#fff; transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,30,40,.09); }
.mega-module-name { display:inline-flex; width:max-content; margin-bottom:11px; font-size:.76rem; font-weight:800; letter-spacing:.03em; }
.mega-module strong { margin-bottom:6px; color:var(--petrol-950); font-size:.98rem; line-height:1.3; font-weight:650; }
.mega-module > span:not(.mega-module-name) { color:var(--grey-700); font-size:.8rem; line-height:1.42; }
.mega-module em { margin-top:auto; padding-top:12px; font-style:normal; font-size:.78rem; font-weight:700; }
.mega-ai .mega-module-name,.mega-ai em { color:var(--ai); }
.mega-connect .mega-module-name,.mega-connect em { color:var(--connect); }
.mega-insight .mega-module-name,.mega-insight em { color:var(--insight); }
.main-nav .mega-ai[aria-current="page"] { background:var(--ai-soft); }
.main-nav .mega-connect[aria-current="page"] { background:var(--connect-soft); }
.main-nav .mega-insight[aria-current="page"] { background:var(--insight-soft); }

.nav-toggle { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:transparent; color:#fff; }
.nav-toggle span { display:block; width:20px; height:2px; background:currentColor; margin:4px auto; }

/* Hero */
.hero { min-height:760px; display:flex; align-items:center; background:var(--petrol-950); color:#fff; overflow:hidden; position:relative; }
.hero::before { content:""; position:absolute; width:780px; height:780px; border-radius:50%; right:-200px; top:-260px; background:radial-gradient(circle, rgba(90,230,210,.16), rgba(45,115,105,.04) 52%, transparent 70%); }
.hero::after { content:""; position:absolute; inset:0; opacity:.07; background-image:linear-gradient(rgba(90,230,210,.5) 1px, transparent 1px),linear-gradient(90deg,rgba(90,230,210,.5) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(90deg, transparent 0, #000 55%, #000 100%); }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:92px 0; }
.hero h1 span { color:var(--mint-400); }
.hero .lead { color:#CBDADC; max-width:690px; }
.hero-tagline { display:flex; align-items:center; gap:13px; color:#ADC3C7; font-size:.95rem; margin-bottom:24px; }
.hero-tagline b { color:var(--mint-400); letter-spacing:.02em; }
.orchestration-board { position:relative; aspect-ratio:1/1; max-width:560px; margin-left:auto; border-radius:50%; background:radial-gradient(circle at center, rgba(90,230,210,.12), rgba(255,255,255,.02) 48%, transparent 49%); }
.orchestration-board::before, .orchestration-board::after { content:""; position:absolute; inset:10%; border:1px solid rgba(90,230,210,.22); border-radius:50%; }
.orchestration-board::after { inset:24%; border-style:dashed; opacity:.9; }
.orbit { position:absolute; inset:0; animation:spin 42s linear infinite; }
.node { position:absolute; width:132px; min-height:90px; padding:14px 16px; border:1px solid rgba(255,255,255,.15); background:rgba(3,42,52,.78); backdrop-filter:blur(10px); border-radius:18px; box-shadow:0 14px 40px rgba(0,0,0,.16); animation:counter-spin 42s linear infinite; }
.node strong { display:block; font-size:.98rem; margin-bottom:3px; }
.node small { display:block; color:#AFC4C7; font-size:.76rem; line-height:1.35; }
.node .dot { width:8px; height:8px; border-radius:50%; background:var(--mint-400); margin-bottom:10px; box-shadow:0 0 0 5px rgba(90,230,210,.1); }
.node:nth-child(1){top:3%;left:37%}.node:nth-child(2){top:37%;right:-2%}.node:nth-child(3){bottom:3%;left:37%}.node:nth-child(4){top:37%;left:-2%}
.node:nth-child(2) .dot { background:var(--ai); box-shadow:0 0 0 5px rgba(135,153,214,.12); }
.node:nth-child(3) .dot { background:var(--connect); box-shadow:0 0 0 5px rgba(62,158,216,.12); }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes counter-spin { to { transform:rotate(-360deg); } }

/* Layout */
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.split { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; }
.split.reverse { grid-template-columns:1.05fr .95fr; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:48px; }
.section-heading > div:first-child { max-width:760px; }

.card { background:#fff; border:1px solid var(--grey-100); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .2s, border-color .2s; }
.card:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(0,30,40,.11); border-color:#C5D7D8; }
.section-dark .card { background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.12); box-shadow:none; }
.card-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#DDF7F2; color:var(--teal-600); margin-bottom:22px; }
.card-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; }
.card p { color:var(--grey-700); }
.section-dark .card p { color:#C1D0D2; }
.module-card { min-height:310px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.module-card::after { content:""; width:160px; height:160px; border-radius:50%; position:absolute; right:-70px; top:-70px; background:radial-gradient(circle, rgba(90,230,210,.17), transparent 70%); }
.module-card .module-name { font-size:.76rem; text-transform:uppercase; letter-spacing:.14em; color:var(--teal-600); font-weight:750; margin-bottom:48px; }

.module-card .text-link { margin-top:auto; }
.badge { display:inline-flex; width:max-content; padding:5px 10px; border-radius:999px; background:var(--grey-100); color:var(--grey-700); font-size:.75rem; font-weight:700; }
.section-dark .badge { background:rgba(255,255,255,.1); color:#D5E1E3; }

/* Feature bands and process */
.value-band { background:var(--mint-400); color:var(--petrol-950); padding:34px 0; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.value-item strong { display:block; font-size:1.08rem; margin-bottom:4px; }
.value-item span { font-size:.88rem; color:#244B51; }
.lifecycle { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:44px; counter-reset:life; }
.life-step { position:relative; padding:28px 24px; border-top:1px solid var(--grey-200); counter-increment:life; }
.life-step::before { content:counter(life, decimal-leading-zero); display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--petrol-950); color:var(--mint-400); font-size:.72rem; font-weight:800; margin-top:-47px; margin-bottom:24px; }
.life-step:not(:last-child)::after { content:""; position:absolute; top:-1px; right:0; width:32px; height:1px; background:var(--mint-400); }
.life-step h3 { font-size:1.1rem; }
.life-step p { font-size:.9rem; color:var(--grey-700); }

/* Architecture */
.arch-diagram { border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); padding:28px; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)); position:relative; }
.arch-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }
.arch-box { padding:18px 14px; text-align:center; border:1px solid rgba(255,255,255,.12); border-radius:14px; color:#D6E2E4; font-size:.86rem; background:rgba(0,30,40,.42); }
.arch-core { margin:20px 0; padding:28px; border-radius:20px; background:var(--mint-400); color:var(--petrol-950); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.arch-core strong { font-size:1.35rem; }
.arch-modules { display:flex; gap:8px; flex-wrap:wrap; }
.arch-chip { background:rgba(0,30,40,.12); padding:7px 11px; border-radius:999px; font-size:.78rem; font-weight:800; }
.arch-foundation { text-align:center; padding:18px; border:1px dashed rgba(255,255,255,.25); border-radius:14px; color:#AFC5C8; }


/* PEX module color system */
.module-card { border-top:4px solid var(--mint-400); }
.module-card .module-name { color:var(--teal-600); }
.module-ai-card { border-top-color:var(--ai); }
.module-ai-card .module-name { color:#5264A6; }
.module-ai-card .card-icon { background:var(--ai-soft); color:#5264A6; }
.module-ai-card:hover { border-color:var(--ai); }
.module-connect-card { border-top-color:var(--connect); }
.module-connect-card .module-name { color:#1E6E9A; }
.module-connect-card .card-icon { background:var(--connect-soft); color:#1E6E9A; }
.module-connect-card:hover { border-color:var(--connect); }
.module-insight-card { border-top-color:var(--insight); }
.module-insight-card .module-name { color:#806227; }
.module-insight-card .card-icon { background:var(--insight-soft); color:#806227; }
.module-insight-card:hover { border-color:var(--insight); }
.module-pills { display:flex; gap:7px; flex-wrap:wrap; margin:10px 0 2px; }
.module-pill { display:inline-flex; align-items:center; padding:4px 9px; border-radius:999px; font-size:.70rem; font-weight:800; letter-spacing:.01em; border:1px solid transparent; }
.pill-ai { color:#5264A6; background:var(--ai-soft); border-color:#CBD3ED; }
.pill-connect { color:#1E6E9A; background:var(--connect-soft); border-color:#B9DCF1; }
.pill-insight { color:#806227; background:var(--insight-soft); border-color:#E8D7AB; }
.arch-chip.arch-ai { background:var(--ai-soft); color:#5264A6; }
.arch-chip.arch-connect { background:var(--connect-soft); color:#1E6E9A; }
.arch-chip.arch-insight { background:var(--insight-soft); color:#806227; }

/* Module pages: accent only, PEX remains master brand */
.module-ai { --module-accent:var(--ai); --module-soft:var(--ai-soft); --module-ink:#5264A6; }
.module-connect { --module-accent:var(--connect); --module-soft:var(--connect-soft); --module-ink:#1E6E9A; }
.module-insight { --module-accent:var(--insight); --module-soft:var(--insight-soft); --module-ink:#806227; }
.module-ai .page-hero .eyebrow, .module-ai .breadcrumb a,
.module-connect .page-hero .eyebrow, .module-connect .breadcrumb a,
.module-insight .page-hero .eyebrow, .module-insight .breadcrumb a { color:var(--module-accent); }
.module-ai .page-hero::after, .module-connect .page-hero::after, .module-insight .page-hero::after { background:radial-gradient(circle, color-mix(in srgb, var(--module-accent) 22%, transparent), transparent 68%); }
.module-ai .card-icon, .module-connect .card-icon, .module-insight .card-icon { background:var(--module-soft); color:var(--module-ink); }
.module-ai .feature-number, .module-connect .feature-number, .module-insight .feature-number { background:var(--module-soft); color:var(--module-ink); }
.module-ai .timeline-step::before, .module-connect .timeline-step::before, .module-insight .timeline-step::before { background:var(--module-accent); }
.module-ai .section:not(.section-dark) .eyebrow, .module-connect .section:not(.section-dark) .eyebrow, .module-insight .section:not(.section-dark) .eyebrow { color:var(--module-ink); }

/* Stats */
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.stat { padding:28px; border-radius:var(--radius); background:var(--petrol-950); color:#fff; }
.stat b { display:block; font-size:clamp(2.2rem,4vw,3.7rem); color:var(--mint-400); line-height:1; margin-bottom:10px; }
.stat span { color:#BFD0D3; }

/* Use Cases */
.usecase-card { min-height:280px; display:flex; flex-direction:column; }
.usecase-card .tags { display:flex; gap:6px; flex-wrap:wrap; margin:10px 0 20px; }
.usecase-card .text-link { margin-top:auto; }
.tag { font-size:.72rem; padding:4px 8px; border:1px solid var(--grey-200); border-radius:999px; color:var(--grey-700); }

/* Integrations */
.integration-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.integration { min-height:180px; padding:22px; border:1px solid var(--grey-100); border-radius:18px; background:#fff; }
.integration .mini-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--petrol-950); color:var(--mint-400); margin-bottom:18px; font-weight:800; }
.integration h3 { font-size:1.05rem; margin-bottom:8px; }
.integration p { font-size:.87rem; color:var(--grey-700); }

/* Page hero */
.page-hero { background:var(--petrol-950); color:#fff; padding:110px 0 90px; position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; width:500px; height:500px; right:-120px; top:-180px; border-radius:50%; background:radial-gradient(circle, rgba(90,230,210,.15), transparent 68%); }
.page-hero .lead { color:#C6D6D8; }
.page-hero h1 { max-width:940px; font-size:clamp(2.7rem,5vw,4.8rem); }
.breadcrumb { color:#9DB7BB; font-size:.85rem; margin-bottom:28px; }
.breadcrumb a { color:var(--mint-400); }

/* Feature list */
.feature-list { display:grid; gap:12px; }
.feature { display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:start; padding:18px 0; border-bottom:1px solid var(--grey-100); }
.feature-number { width:34px; height:34px; display:grid; place-items:center; background:var(--grey-100); color:var(--teal-600); border-radius:10px; font-weight:800; font-size:.8rem; }
.feature h3 { margin-bottom:6px; font-size:1.1rem; }
.feature p { margin:0; color:var(--grey-700); font-size:.94rem; }

/* Story / timeline */
.timeline { position:relative; padding-left:32px; }
.timeline::before { content:""; position:absolute; left:7px; top:10px; bottom:10px; width:1px; background:var(--grey-200); }
.timeline-step { position:relative; padding:0 0 28px 12px; }
.timeline-step::before { content:""; position:absolute; left:-31px; top:7px; width:14px; height:14px; border-radius:50%; background:var(--mint-400); border:4px solid #fff; box-shadow:0 0 0 1px var(--grey-200); }
.timeline-step h3 { font-size:1.08rem; margin-bottom:6px; }
.timeline-step p { color:var(--grey-700); margin:0; }
.quote { padding:32px 36px; border-left:4px solid var(--orange); background:var(--grey-50); border-radius:0 var(--radius) var(--radius) 0; font-size:1.22rem; }

/* Process check */
.quiz { background:#fff; border:1px solid var(--grey-100); border-radius:var(--radius-lg); padding:34px; box-shadow:var(--shadow-sm); }
.quiz-item { padding:18px 0; border-bottom:1px solid var(--grey-100); }
.quiz-item:last-of-type { border-bottom:0; }
.quiz-item p { font-weight:650; margin-bottom:10px; }
.quiz-options { display:flex; gap:10px; flex-wrap:wrap; }
.quiz-options label { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid var(--grey-200); border-radius:999px; cursor:pointer; }
.quiz-options input { accent-color:var(--teal-600); }
.quiz-result { margin-top:24px; padding:22px; border-radius:16px; background:var(--petrol-950); color:#fff; display:none; }
.quiz-result.show { display:block; }
.quiz-result strong { color:var(--mint-400); }

/* CTA */
.cta-panel { padding:60px; border-radius:var(--radius-lg); background:var(--petrol-950); color:#fff; position:relative; overflow:hidden; }
.cta-panel::after { content:""; position:absolute; width:360px; height:360px; right:-100px; bottom:-180px; border-radius:50%; background:radial-gradient(circle, rgba(90,230,210,.24), transparent 68%); }
.cta-panel > * { position:relative; z-index:1; }
.cta-panel .lead { color:#C6D6D8; }
.cta-panel .eyebrow { color:var(--mint-400); }

/* Footer */
.site-footer { background:#00151D; color:#D5E2E4; padding:72px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:48px; }
.footer-brand img { width:104px; margin-bottom:18px; }
.footer-brand p { color:#91ADB2; max-width:360px; }
.footer-col h3 { font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
.footer-col a { display:block; color:#9DB6BA; margin:9px 0; font-size:.9rem; }
.footer-col a:hover { color:var(--mint-400); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:28px; margin-top:48px; border-top:1px solid rgba(255,255,255,.08); color:#78969B; font-size:.82rem; }

/* Contact */
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; }
.contact-card { padding:34px; border-radius:var(--radius); background:var(--grey-50); }
.contact-card dl { margin:26px 0 0; display:grid; gap:14px; }
.contact-card dt { color:var(--grey-500); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.contact-card dd { margin:2px 0 0; font-weight:650; }
.form-shell { padding:34px; border:1px solid var(--grey-100); border-radius:var(--radius); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { margin-bottom:14px; }
.field label { display:block; font-size:.86rem; font-weight:650; margin-bottom:6px; }
.field input,.field textarea,.field select { width:100%; padding:12px 14px; border:1px solid var(--grey-200); border-radius:12px; background:#fff; color:var(--ink); }
.field textarea { min-height:140px; resize:vertical; }

/* Utilities */
.list-check { list-style:none; padding:0; margin:22px 0; }
.list-check li { position:relative; padding-left:28px; margin:10px 0; }
.list-check li::before { content:"✓"; position:absolute; left:0; color:var(--teal-600); font-weight:850; }
.section-dark .list-check li::before { color:var(--mint-400); }
.notice { padding:14px 16px; border-left:3px solid var(--orange); background:#FFF3EB; border-radius:0 10px 10px 0; color:#6B3A22; font-size:.9rem; }
.reveal { opacity:0; transform:translateY(18px); transition:.6s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .main-nav { gap:14px; font-size:.86rem; }
  .hero-grid { grid-template-columns:1fr; }
  .orchestration-board { margin:20px auto 0; width:min(100%,540px); }
  .grid-4,.integration-grid { grid-template-columns:repeat(2,1fr); }
  .lifecycle { grid-template-columns:1fr; gap:26px; }
  .life-step { border-top:0; border-left:1px solid var(--grey-200); padding:4px 24px 20px 38px; }
  .life-step::before { margin:0; position:absolute; left:-18px; top:0; }
  .life-step:not(:last-child)::after { display:none; }
  .split,.split.reverse { grid-template-columns:1fr; gap:44px; }
}
@media (max-width: 1080px) {
  .mega-backdrop { display:none; }
  .nav-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:76px; left:0; right:0; max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:18px 20px 24px; background:var(--petrol-950); border-top:1px solid rgba(255,255,255,.08); flex-direction:column; align-items:stretch; gap:4px; }
  .main-nav.open { display:flex; }
  .main-nav a { padding:10px 0; }
  .nav-dropdown { display:block; width:100%; }
  .nav-dropdown-trigger { width:100%; justify-content:space-between; padding:10px 0; }
  .mega-menu { position:static; width:100%; padding:10px 0 6px; border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:none; }
  .nav-dropdown:not(.open) .mega-menu { display:none; }
  .nav-dropdown.open .mega-menu { display:block; }
  .nav-dropdown:hover .mega-menu:not(:focus-within) { transform:none; }
  .mega-menu-head { display:none; }
  .mega-menu-grid { grid-template-columns:1fr; gap:7px; }
  .main-nav .mega-module { min-height:0; padding:13px 15px; background:rgba(255,255,255,.045); }
  .main-nav .mega-module:hover { transform:none; }
  .mega-module-name { margin-bottom:4px; }
  .mega-module strong { margin-bottom:3px; font-size:.92rem; }
  .mega-module > span:not(.mega-module-name) { font-size:.78rem; }
  .mega-module em { display:none; }

  .nav-cta { text-align:center; margin-top:8px; }
  .grid-3 { grid-template-columns:1fr 1fr; }
  .value-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .arch-row { grid-template-columns:1fr 1fr; }
  .arch-core { align-items:flex-start; flex-direction:column; }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .section { padding:76px 0; }
  .hero { min-height:auto; }
  .hero-grid { padding:70px 0 86px; }
  .hero h1 { font-size:clamp(2.55rem, 13vw, 4rem); }
  .orchestration-board { aspect-ratio:1/.95; transform:scale(.94); }
  .node { width:110px; min-height:78px; padding:11px; }
  .node small { font-size:.68rem; }
  .center-core { inset:35%; border-radius:20px; }
  .grid-2,.grid-3,.grid-4,.integration-grid,.stats { grid-template-columns:1fr; }
  .section-heading { display:block; }
  .section-heading .text-link { margin-top:12px; }
  .value-grid { grid-template-columns:1fr; }
  .value-item { padding-bottom:14px; border-bottom:1px solid rgba(0,30,40,.12); }
  .footer-grid { grid-template-columns:1fr; gap:26px; }
  .footer-bottom { flex-direction:column; }
  .cta-panel { padding:38px 26px; }
  .arch-row { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}

/* Homepage visual refresh v18 */
.home-v2 .home-hero .lead{max-width:640px;}
.home-intro{background:#fff;}
.home-intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:64px;align-items:center;}
.home-product-shot{background:linear-gradient(145deg,#eef4f4,#f9fbfb);border-radius:28px;box-shadow:0 24px 70px rgba(0,30,40,.12);overflow:hidden;min-height:420px;}
.shot-toolbar{height:54px;display:flex;align-items:center;gap:8px;padding:0 22px;background:#fff;color:var(--grey-500);font-size:.82rem;}
.shot-toolbar span{width:9px;height:9px;border-radius:50%;background:#d9e2e2;}
.shot-toolbar b{margin-left:8px;color:var(--ink);font-weight:650;}
.shot-body{display:grid;grid-template-columns:180px 1fr;min-height:366px;}
.shot-side{padding:30px 24px;background:var(--petrol-950);color:#fff;display:flex;flex-direction:column;gap:8px;}
.shot-side small{color:var(--mint-400);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.shot-side span{margin-top:auto;color:#b8cbcf;font-size:.85rem;}
.shot-main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px;color:var(--grey-700);}
.shot-main strong{font-size:1.35rem;color:var(--ink);margin:10px 0 6px;}
.shot-main p{max-width:440px;margin:0;}
.shot-label{display:inline-flex;padding:7px 11px;border-radius:999px;background:#dff5f1;color:#1f655d;font-size:.78rem;font-weight:700;}

.home-modules{background:var(--petrol-950);color:#fff;}
.home-modules .section-heading h2{color:#fff;}
.home-modules .section-heading .eyebrow{color:var(--mint-400);}
.home-modules .text-link{color:var(--mint-400);}
.home-module-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.home-module-item{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:26px 24px;border-radius:22px;background:rgba(255,255,255,.055);transition:transform .2s ease,background .2s ease;}
.home-module-item:hover{transform:translateY(-3px);background:rgba(255,255,255,.085);}
.home-module-item strong{display:block;font-size:1.15rem;margin-bottom:3px;}
.home-module-item p{margin:0;color:#b7c9cc;font-size:.9rem;line-height:1.45;}
.home-module-symbol{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;background:#fff;color:var(--petrol-950);}
.module-ai-simple .home-module-symbol{background:var(--ai);}
.module-connect-simple .home-module-symbol{background:var(--connect);}
.module-insight-simple .home-module-symbol{background:var(--insight);}
.module-ai-simple strong,.module-ai-simple .home-arrow{color:var(--ai);}
.module-connect-simple strong,.module-connect-simple .home-arrow{color:var(--connect);}
.module-insight-simple strong,.module-insight-simple .home-arrow{color:var(--insight);}
.home-arrow{font-size:1.45rem;}

.home-human-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;}
.home-photo-placeholder{min-height:430px;border-radius:30px;background:linear-gradient(135deg,#dfe7e7,#f4f7f7);display:flex;flex-direction:column;justify-content:flex-end;padding:34px;position:relative;overflow:hidden;}
.home-photo-placeholder::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(90,230,210,.24),transparent 38%),linear-gradient(140deg,transparent 45%,rgba(0,30,40,.08));}
.home-photo-placeholder>*{position:relative;z-index:1;}
.home-photo-placeholder span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal-600);font-weight:750;margin-bottom:8px;}
.home-photo-placeholder strong{font-size:1.45rem;max-width:420px;}
.home-photo-placeholder small{margin-top:8px;color:var(--grey-500);}

.home-human-photo{margin:0;aspect-ratio:4/3;border-radius:30px;overflow:hidden;background:var(--grey-100);box-shadow:0 18px 46px rgba(0,30,40,.10);}
.home-human-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}
.home-human-points{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0;}
.home-human-points span{font-size:1.1rem;font-weight:700;color:var(--teal-600);}

.home-usecase-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.home-usecase-visual{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(220px,.88fr);min-height:285px;border-radius:28px;background:var(--grey-50);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 34px rgba(0,30,40,.055);}
.home-usecase-visual:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(0,30,40,.10);}
.home-usecase-media{background:linear-gradient(145deg,#e2eeee,#f4f8f7);display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;}
.home-usecase-copy{padding:30px 28px 26px;display:flex;flex-direction:column;justify-content:center;}
.home-usecase-copy small{display:block;color:var(--teal-600);font-weight:750;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}
.home-usecase-copy h3{margin-bottom:10px;font-size:clamp(1.35rem,2vw,1.7rem);}
.home-usecase-copy p{margin:0;color:var(--grey-700);}
.home-usecase-link{display:inline-flex;margin-top:18px;color:var(--teal-600);font-weight:700;font-size:.88rem;}

/* Compact PEX visuals for homepage use cases */
.mini-ui{width:100%;max-width:330px;min-height:220px;border-radius:18px;background:#fff;box-shadow:0 16px 34px rgba(0,30,40,.12);overflow:hidden;text-align:left;color:var(--ink);font-size:.68rem;line-height:1.35;}
.mini-ui *{box-sizing:border-box;}
.mini-ui-top{height:38px;padding:0 13px;display:flex;align-items:center;gap:9px;background:var(--petrol-950);color:#fff;}
.mini-ui-top span{display:inline-grid;place-items:center;width:28px;height:20px;border-radius:7px;background:rgba(90,230,210,.13);color:var(--mint-400);font-size:.63rem;font-weight:800;letter-spacing:.06em;}
.mini-ui-top b{font-size:.69rem;font-weight:700;}
.mini-ui small{display:block;color:#789095;font-size:.58rem;}
.mini-ui strong,.mini-ui b{color:var(--ink);}
.mini-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#dff7f2;color:#1f655d;font-size:.55rem;font-weight:750;white-space:nowrap;}

.mini-ui-inbox .mini-ui-body{display:grid;grid-template-columns:1.05fr .95fr;gap:10px;padding:13px;}
.mini-doc{min-height:157px;padding:13px;background:#f4f6f6;border-radius:10px;position:relative;}
.mini-doc::before{content:"PDF";position:absolute;top:9px;right:9px;padding:3px 5px;border-radius:4px;background:#e2e8e8;color:#6f8286;font-size:.48rem;font-weight:800;}
.mini-doc-line{display:block;height:5px;width:72%;margin:12px 0 0;border-radius:4px;background:#cfd9da;}
.mini-doc-line.wide{width:84%;margin-top:32px;}
.mini-doc-line.short{width:52%;}
.mini-doc-block{display:block;height:46px;margin-top:17px;border-radius:7px;background:linear-gradient(135deg,#dfe8e8,#edf2f2);}
.mini-panel{padding:4px 2px;}
.mini-panel small{margin:6px 0 2px;}
.mini-panel strong{display:block;padding:6px 8px;border-radius:7px;background:#f1f5f5;font-size:.63rem;}
.mini-confidence{height:6px;border-radius:999px;background:#dce5e5;overflow:hidden;margin-top:6px;}
.mini-confidence span{display:block;height:100%;background:var(--teal-500);border-radius:inherit;}
.mini-panel em{display:block;margin-top:4px;color:#1f655d;font-style:normal;font-weight:700;font-size:.54rem;}

.mini-ticket-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:15px 14px 10px;}
.mini-ticket-head strong{display:block;margin-top:2px;font-size:.72rem;}
.mini-ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 14px 12px;}
.mini-ticket-grid>div{padding:8px;border-radius:8px;background:#f2f6f6;}
.mini-ticket-grid b{display:block;margin-top:2px;font-size:.6rem;}
.mini-ai-note{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;margin:0 14px 14px;padding:10px;border-radius:10px;background:#eef0f8;}
.mini-ai-note span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--ai);color:#fff;font-size:.55rem;font-weight:800;}
.mini-ai-note p{margin:0;color:#53656a;font-size:.58rem;line-height:1.35;}

.mini-app-head{padding:14px 14px 10px;position:relative;}
.mini-app-head strong{display:block;margin:3px 72px 0 0;font-size:.72rem;}
.mini-app-head .mini-status{position:absolute;right:14px;top:14px;}
.mini-steps{display:flex;align-items:flex-start;padding:12px 18px 16px;}
.mini-steps span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf2f2;color:#809397;font-weight:800;position:relative;flex:0 0 auto;}
.mini-steps span.done{background:#dff7f2;color:#1f655d;}
.mini-steps span.active{background:var(--teal-600);color:#fff;}
.mini-steps span small{position:absolute;top:35px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.48rem;color:#6f8286;font-weight:600;}
.mini-steps i{height:2px;background:#dce4e4;flex:1;margin:14px 7px 0;}
.mini-file-row{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;margin:13px 14px 14px;padding:10px;border-radius:10px;background:#f2f6f6;}
.mini-file-row>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#dff7f2;color:#1f655d;font-size:.5rem;font-weight:800;}
.mini-file-row b,.mini-file-row small{display:block;}
.mini-file-row b{font-size:.61rem;}

.mini-approval-title{padding:14px 14px 10px;}
.mini-approval-title strong{display:block;margin-top:3px;font-size:.72rem;}
.mini-approval-route{display:flex;align-items:center;padding:10px 14px 15px;}
.mini-approval-route>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:48px;}
.mini-approval-route>div span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf2f2;color:#809397;font-weight:800;}
.mini-approval-route>div.done span{background:#dff7f2;color:#1f655d;}
.mini-approval-route>div.active span{background:var(--teal-600);color:#fff;}
.mini-approval-route b{font-size:.51rem;font-weight:650;}
.mini-approval-route i{height:2px;flex:1;background:#dce4e4;margin:-16px 4px 0;}
.mini-approval-info{display:flex;justify-content:space-between;align-items:center;margin:0 14px 14px;padding:10px 11px;border-radius:10px;background:#f2f6f6;}
.mini-approval-info b{display:block;margin-top:2px;font-size:.6rem;}

.home-reference{background:var(--petrol-950);color:#fff;position:relative;overflow:hidden;}
.home-reference::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 20%,rgba(90,230,210,.10),transparent 34%);}
.home-reference .container{position:relative;z-index:1;}
.home-reference-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
.home-reference .eyebrow,.home-reference .text-link{color:var(--mint-400);}
.home-reference .lead{color:#c6d5d7;}
.home-reference-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.home-reference-stats>div{padding:34px 24px;border-radius:24px;background:rgba(255,255,255,.065);color:#fff;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);}
.home-reference-stats strong{font-size:2.05rem;color:var(--mint-400);line-height:1;letter-spacing:-.04em;}
.home-reference-stats span{margin-top:10px;color:#c6d5d7;font-size:.88rem;}

.home-processhub{background:#dff7f2;}
.home-processhub-inner{display:grid;grid-template-columns:1.15fr .9fr auto;gap:42px;align-items:center;}
.home-processhub .eyebrow{color:#1f655d;}
.home-processhub h2{font-size:clamp(2rem,3.2vw,3.2rem);}
.home-processhub p{max-width:650px;color:#385b60;}
.home-process-list{display:grid;gap:8px;}
.home-process-list a{display:flex;justify-content:space-between;gap:18px;padding:7px 0;font-weight:650;color:#1f655d;}
.home-processhub .btn-secondary{background:transparent;border-color:rgba(0,30,40,.18);}

.home-trust{background:#f7f9f9;}
.home-trust-grid{display:grid;grid-template-columns:1.1fr 1.25fr auto;gap:44px;align-items:center;}
.home-trust-grid h2{font-size:clamp(1.9rem,3vw,2.8rem);margin-bottom:0;}
.home-trust-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;}
.home-trust-points span{position:relative;padding-left:22px;color:var(--grey-700);font-weight:600;}
.home-trust-points span::before{content:"✓";position:absolute;left:0;color:var(--teal-600);font-weight:800;}

@media (max-width:1050px){
  .home-intro-grid,.home-human-grid,.home-reference-grid{grid-template-columns:1fr;gap:42px;}
  .home-module-strip{grid-template-columns:1fr;}
  .home-processhub-inner,.home-trust-grid{grid-template-columns:1fr;gap:28px;}
  .home-processhub-inner .btn{justify-self:start;}
}
@media (max-width:760px){
  .home-usecase-visual-grid{grid-template-columns:1fr;}
  .home-usecase-visual{grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);}
  .home-reference-stats{grid-template-columns:1fr;}
  .home-trust-points{grid-template-columns:1fr;}
  .shot-body{grid-template-columns:1fr;}
  .shot-side{min-height:130px;}
  .home-product-shot{min-height:0;}
}
@media (max-width:620px){
  .home-v2 .home-hero .hero-grid{padding-top:58px;padding-bottom:64px;}
  .home-v2 .home-hero .btn-row{margin-top:26px;}
  .home-v2 .orchestration-board{width:min(100%,390px);transform:none;margin-top:26px;}
  .home-v2 .node{width:98px;min-height:72px;padding:10px 11px;}
  .home-v2 .node strong{font-size:.86rem;}
  .home-v2 .node small{font-size:.61rem;line-height:1.25;}
  .home-v2 .node:nth-child(1){top:2%;left:35%}.home-v2 .node:nth-child(2){top:36%;right:0}.home-v2 .node:nth-child(3){bottom:2%;left:35%}.home-v2 .node:nth-child(4){top:36%;left:0}
  .home-usecase-visual{grid-template-columns:1fr;}
  .home-usecase-media{min-height:245px;padding:18px;}
  .mini-ui{max-width:360px;}
  .home-photo-placeholder{min-height:330px;padding:26px;}
  .home-human-photo{aspect-ratio:4/3;border-radius:22px;}
  .home-module-item{grid-template-columns:auto 1fr;}
  .home-module-item .home-arrow{display:none;}
}

/* v21: richer process hub + roomier light module mega menu */
@media (min-width:1081px){
  .mega-menu{top:68px;width:min(960px,calc(100vw - 48px));padding:26px;border-radius:20px;box-shadow:0 34px 100px rgba(0,14,20,.38);}
  .mega-menu-head{margin-bottom:18px;padding:0 5px;}
  .mega-menu-head strong{font-size:1.02rem;}
  .mega-menu-grid{gap:15px;}
  .main-nav .mega-module{min-height:190px;padding:20px;border-radius:16px;}
  .mega-module-name{margin-bottom:13px;font-size:.79rem;}
  .mega-module strong{margin-bottom:8px;font-size:1.04rem;}
  .mega-module > span:not(.mega-module-name){font-size:.84rem;line-height:1.5;}
  .mega-module em{padding-top:15px;font-size:.81rem;}
}

.home-processhub{background:linear-gradient(120deg,#DDF7F2 0%,#ECFAF7 56%,#F6FBFA 100%);position:relative;overflow:hidden;}
.home-processhub::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-220px;top:-230px;background:radial-gradient(circle,rgba(90,230,210,.24),transparent 68%);pointer-events:none;}
.home-processhub .container{position:relative;z-index:1;}
.home-processhub-layout{display:grid;grid-template-columns:.78fr 1.42fr;gap:66px;align-items:start;}
.home-processhub-intro{position:sticky;top:122px;}
.home-processhub .eyebrow{color:#1F655D;}
.home-processhub h2{font-size:clamp(2.35rem,4vw,3.85rem);max-width:520px;}
.home-processhub .lead{font-size:1.06rem;color:#385B60;max-width:570px;}
.home-processhub-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin:28px 0 30px;color:#1F655D;font-size:.84rem;font-weight:650;}
.home-processhub-meta span{display:inline-flex;align-items:center;gap:8px;}
.home-processhub-meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal-500);}
.home-processhub .btn-secondary{background:rgba(255,255,255,.5);border-color:rgba(0,30,40,.16);}
.home-processhub-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.home-process-preview{display:flex;flex-direction:column;min-height:270px;padding:24px;border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(0,30,40,.07);transition:transform .2s ease,box-shadow .2s ease;background-clip:padding-box;}
.home-process-preview:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(0,30,40,.11);}
.home-process-preview-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px;}
.home-process-preview-top small{color:#1F655D;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.home-process-preview-top>span{max-width:58%;color:#688084;font-size:.7rem;line-height:1.35;text-align:right;}
.home-process-preview h3{margin-bottom:9px;font-size:1.32rem;}
.home-process-preview p{margin-bottom:19px;color:#466166;font-size:.9rem;line-height:1.52;}
.home-process-flow{display:flex;align-items:center;gap:7px;margin-top:auto;padding:14px 0;color:var(--petrol-950);font-size:.75rem;font-weight:650;white-space:nowrap;overflow:hidden;}
.home-process-flow span{padding:6px 8px;border-radius:8px;background:#E8F4F2;}
.home-process-flow i{color:var(--teal-600);font-style:normal;}
.home-process-preview-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid rgba(0,30,40,.08);font-size:.75rem;}
.home-process-preview-foot span{color:#688084;}
.home-process-preview-foot b{color:#1F655D;font-weight:750;}

@media (max-width:1080px){
  .home-processhub-layout{grid-template-columns:1fr;gap:34px;}
  .home-processhub-intro{position:static;}
}
@media (max-width:720px){
  .home-processhub-previews{grid-template-columns:1fr;}
  .home-process-preview{min-height:auto;}
  .home-process-preview-top{display:block;}
  .home-process-preview-top>span{display:block;max-width:none;margin-top:6px;text-align:left;}
  .home-process-flow{white-space:normal;flex-wrap:wrap;}
}


/* v22: mobile reflow + accessibility baseline */
body.mobile-nav-open { overflow:hidden; }

/* Grid/flex children may otherwise keep long German compound words at min-content width. */
.hero-grid > *, .split > *, .grid-2 > *, .grid-3 > *, .grid-4 > *,
.section-heading > *, .footer-grid > *, .contact-grid > *, .form-row > *,
.home-intro-grid > *, .home-human-grid > *, .home-reference-grid > *,
.home-processhub-layout > *, .home-processhub-previews > *, .home-trust-grid > *,
.home-usecase-visual-grid > *, .home-usecase-visual > *, .arch-row > *, .arch-core > * { min-width:0; }

/* Clear keyboard focus throughout the site. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:3px solid var(--orange);
  outline-offset:3px;
}
.section-dark :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.site-header :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.site-footer :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline-color:var(--mint-400);
}
.btn-primary:focus-visible,.btn-orange:focus-visible { outline-color:var(--petrol-950); }
.section-dark .btn-primary:focus-visible,.cta-panel .btn-primary:focus-visible { outline-color:var(--white); }

/* Brand orange stays unchanged; dark text reaches WCAG AA for normal-size button text. */
.btn-primary,.btn-orange { color:var(--petrol-950); }
.btn-primary:hover,.btn-orange:hover { color:var(--petrol-950); }

/* Module ink colors are kept visually close to the design system but darkened for AA text contrast. */
:root {
  --ai-ink:#5264A6;
  --connect-ink:#1E6E9A;
  --insight-ink:#806227;
}
.pill-ai { color:var(--ai-ink); }
.pill-connect { color:var(--connect-ink); }
.pill-insight { color:var(--insight-ink); }
.module-ai { --module-ink:var(--ai-ink); }
.module-connect { --module-ink:var(--connect-ink); }
.module-insight { --module-ink:var(--insight-ink); }
.module-ai-card .module-name,.module-ai-card .card-icon { color:var(--ai-ink); }
.module-connect-card .module-name,.module-connect-card .card-icon { color:var(--connect-ink); }
.module-insight-card .module-name,.module-insight-card .card-icon { color:var(--insight-ink); }
.connect-reference { color:var(--connect-ink); }

/* CTA panels are a generic PEX surface, therefore use Mint rather than a dark module ink. */
.module-ai .section:not(.section-dark) .cta-panel .eyebrow,
.module-connect .section:not(.section-dark) .cta-panel .eyebrow,
.module-insight .section:not(.section-dark) .cta-panel .eyebrow,
.module-ai .cta-panel .eyebrow,
.module-connect .cta-panel .eyebrow,
.module-insight .cta-panel .eyebrow { color:var(--mint-400); }

.sr-only {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (max-width:620px) {
  .home-v2 .home-hero .hero-grid > * { min-width:0; }
  .home-v2 .home-hero h1 { max-width:100%; }
  .home-v2 .orchestration-board { max-width:100%; }
  .home-v2 .orbit { inset:0; }
  .page-hero h1,.section-heading h2,.home-processhub h2,.cta-panel h2 { max-width:100%; }
}

/* WCAG 1.4.10 reflow target: keep content usable at 320 CSS px. */
@media (max-width:360px) {
  .container { width:min(calc(100% - 24px), var(--container)); }
  h1,h2,h3,h4,p,li,dd,dt,a,span,strong,label { overflow-wrap:anywhere; }
  .card,.usecase-card,.arch-diagram,.success-story-kpis,.home-process-preview { min-width:0; max-width:100%; }
  .arch-diagram { padding:20px 16px; }
  .arch-row { gap:10px; }
  .arch-box { min-width:0; padding:12px 10px; }
  .home-v2 .home-hero h1 { font-size:clamp(2.15rem,11vw,3rem); }
  .home-v2 .node { width:90px; padding:9px; }
  .home-usecase-copy { padding:24px 22px; }
  .cta-panel { padding:34px 22px; }
}

/* v33: reale PEX-Produktoberflaeche in der Startseiten-Einfuehrung */
.home-product-shot-real{margin:0;display:block;min-height:0;background:#fff;overflow:hidden;}
.home-product-shot-real img{display:block;width:100%;height:auto;aspect-ratio:1978/858;object-fit:cover;object-position:center top;}
@media (max-width: 760px){.home-product-shot-real img{aspect-ratio:16/10;object-position:center top;}}


/* v36: Mega-Menü bündig unter der Navigation, auf Containerbreite */
@media (min-width:1081px){
  .mega-menu{
    top:76px;
    width:min(var(--container),calc(100vw - 48px));
    padding:24px 24px 26px;
    border-radius:0 0 22px 22px;
    background:#F1F6F5;
    box-shadow:0 28px 70px rgba(0,14,20,.30);
    transform:translate(-50%,0);
    border-top:1px solid rgba(0,30,40,.07);
  }
  .nav-dropdown:hover .mega-menu,
  .nav-dropdown.open .mega-menu{transform:translate(-50%,0);}
  .mega-menu-head{margin-bottom:20px;padding:0 5px;}
  .mega-menu-head strong{font-size:1.02rem;}
  .mega-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
  .main-nav .mega-module{min-height:174px;padding:19px 18px;border-radius:15px;}
  .mega-module-name{margin-bottom:11px;font-size:.78rem;}
  .mega-module strong{margin-bottom:7px;font-size:1rem;}
  .mega-module > span:not(.mega-module-name){font-size:.81rem;line-height:1.46;}
  .mega-module em{padding-top:14px;font-size:.79rem;}
  .main-nav .mega-platform{
    background:#DDF7F2;
    box-shadow:0 8px 24px rgba(0,30,40,.045);
  }
  .main-nav .mega-platform:hover{
    background:#D4F3ED;
    box-shadow:0 12px 30px rgba(0,30,40,.08);
  }
  .mega-platform .mega-module-name,.mega-platform em{color:#1F655D;}
}

@media (max-width:1080px){
  .main-nav .mega-platform{background:rgba(90,230,210,.09);}
  .mega-platform .mega-module-name,.mega-platform em{color:var(--mint-400);}
}


/* v38: Mega-Menü Feinschliff – dezenter Hintergrund-Blur, nutzenorientierte Texte */
@media (min-width:1081px){
  .mega-backdrop{
    background:rgba(0,14,20,.42);
    backdrop-filter:blur(1.25px);
    -webkit-backdrop-filter:blur(1.25px);
  }
  .main-nav .mega-platform{
    background:#EDF8F6;
  }
  .main-nav .mega-platform:hover{
    background:#E4F5F1;
  }
  .mega-module > span:not(.mega-module-name){
    line-height:1.5;
  }
}

/* v39: finaler Mega-Menü-Feinschliff */
@media (min-width:1081px){
  .mega-menu{padding-top:21px;}
  .mega-backdrop{
    background:rgba(0,14,20,.37);
    backdrop-filter:blur(1.25px);
    -webkit-backdrop-filter:blur(1.25px);
  }
}


/* v41: echte PEX-Oberfläche prominenter darstellen */
@media (min-width: 981px){
  .home-intro-grid{grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr);gap:48px;}
  .home-product-shot-real{width:100%;}
  .home-product-shot-real img{width:100%;height:auto;aspect-ratio:1777/885;object-fit:cover;object-position:center top;}
}

/* v42: Orbit auf Desktop staerker innerhalb des Content-Bereichs positionieren */
@media (min-width:1051px){
  .home-hero .orchestration-board{transform:translateX(-70px);}
}
