:root {
  --navy: #07111f;
  --navy-2: #0b1627;
  --navy-3: #0d1a2e;
  --cyan: #1cd3ff;
  --blue: #0b84ff;
  --green: #28d17c;
  --ink: #101928;
  --muted: #5a697d;
  --surface: #ffffff;
  --surface-soft: #f5f8fc;
  --line: rgba(16, 34, 58, 0.14);
  --line-dark: rgba(255,255,255,0.16);
  --max: 1220px;
}
@font-face { font-family: "Manrope"; src: url("./fonts/manrope-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("./fonts/manrope-500.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("./fonts/manrope-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("./fonts/manrope-700.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("./fonts/inter-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("./fonts/inter-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("./fonts/inter-700.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("./fonts/instrument-sans-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("./fonts/instrument-sans-500.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("./fonts/ibm-plex-sans-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("./fonts/ibm-plex-sans-500.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("./fonts/dm-sans-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("./fonts/dm-sans-500.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; overflow-x: clip; font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif; font-weight: 400; color: var(--ink); background: var(--surface); line-height: 1.55; }
body[data-page="home"] main { display: flex; flex-direction: column; }
body[data-page="home"] main > .intro-section { order: 1; }
body[data-page="home"] main > .intro-section + .section { order: 2; }
body[data-page="home"] main > .intro-section + .section .card h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-weight: 400;
  letter-spacing: 0.025em;
}
body[data-page="home"] main > .section--technology { order: 3; }
body[data-page="home"] main > .section--process { order: 4; }
body[data-page="home"] main > .section--products { order: 5; }
body[data-page="home"] .section--products .card { background: #fbfaf7; }
body[data-page="home"] .section--products .card h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 600;
  line-height: 1.12;
}
body[data-page="home"] .section--products .card-grid.three .card:nth-child(1) h3 { color: #143a59; }
body[data-page="home"] .section--products .card-grid.three .card:nth-child(2) h3 { color: #194966; }
body[data-page="home"] .section--products .card-grid.three .card:nth-child(3) h3 { color: #205a75; }
body[data-page="home"] .section--products .card-grid.two .card:nth-child(1) h3 { color: #0b192b; }
body[data-page="home"] .section--products .card-grid.two .card:nth-child(2) h3 { color: #10324f; }
body[data-page="home"] main > .section--ecosystem { order: 6; }
body[data-page="home"] main > .section--journey { order: 7; }
body[data-page="home"] main > .section--cases { order: 8; }
body[data-page="home"] main > .section--closing { order: 9; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.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; }
.wrap { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 50; color: white; background: #0b192b; border-bottom: 1px solid rgba(255,255,255,0.12); }
.header-grid { min-height: 72px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; }
.brand { display: inline-flex; align-items: center; min-width: 180px; }
.brand img { width: 180px; height: 64px; object-fit: contain; object-position: left center; }
.site-header .brand img { filter: none; }
.main-nav > ul { display: flex; align-items: center; justify-content: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.main-nav a, .main-nav summary, .header-actions a { color: rgba(255,255,255,0.88); font-size: 0.9rem; font-weight: 450; letter-spacing: 0.012em; cursor: pointer; border-radius: 8px; padding: 9px 10px; white-space: nowrap; }
.main-nav a:hover, .main-nav summary:hover, .main-nav [aria-current="page"], .header-actions a:hover { color: #ffffff; background: rgba(255,255,255,0.09); }
.nav-details { position: relative; }
.nav-details summary { list-style: none; display: inline-flex; align-items: center; gap: 7px; }
.nav-details summary::-webkit-details-marker { display: none; }
.nav-details summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.menu-panel { position: absolute; top: calc(100% + 10px); left: 0; display: grid; min-width: 260px; padding: 10px; border: 1px solid var(--line-dark); border-radius: 8px; background: rgba(7,17,31,0.98); box-shadow: 0 24px 60px rgba(0,0,0,0.32); }
.menu-panel a { padding: 10px 12px; }
.menu-panel a { color: rgba(255,255,255,0.88); }
.menu-panel a:hover { color: #ffffff; background: rgba(255,255,255,0.09); }
.header-actions { display: flex; align-items: center; gap: 8px; padding-left: 22px; border-left: 1px solid rgba(255,255,255,0.16); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 11px 16px; border: 1px solid transparent; border-radius: 8px; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer; }
.button--primary {
  appearance: none;
  color: #0b192b !important;
  border: 0 !important;
  background: #19b8c6;
  background-clip: border-box;
  box-shadow: 0 10px 28px rgba(25,184,198,0.24);
}
.hero .button--primary,
.section--dark .button--primary,
.site-header .button--primary {
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 11px;
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%);
  background-clip: border-box;
  box-shadow: none;
}
.button--secondary { color: white !important; border-color: rgba(255,255,255,0.24); background: rgba(255,255,255,0.08); }
.button--secondary.button--offwhite {
  color: #0b192b !important;
  border: 0 !important;
  background: #ffc36a;
  background-clip: border-box;
  box-shadow: none;
}
.button.button--yellow {
  color: #0b192b !important;
  border: 0 !important;
  background: #ffc36a !important;
  background-clip: border-box;
  box-shadow: none !important;
}
.button.button--use-case {
  color: #fff !important;
  border: 0 !important;
  background: #d96f32 !important;
  box-shadow: none !important;
}
.button[data-mailto-contact] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  border: 0 !important;
  background: #1aa397 !important;
  box-shadow: none !important;
}
.button[data-mailto-contact]:hover,
.button[data-mailto-contact]:focus-visible,
.button[data-mailto-contact]:visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}
.button--technology-detail,
.section--dark .button--technology-detail {
  color: #ffffff !important;
  border-color: #08162d !important;
  background: #08162d !important;
  box-shadow: 0 10px 24px rgba(8,22,45,.22) !important;
}
.button--technology-detail:hover,
.button--technology-detail:focus-visible { background: #0a1d3a !important; }
.site-header .button--secondary { color: white !important; border-color: rgba(255,255,255,0.24); background: rgba(255,255,255,0.08); }
.site-header .button { font-weight: 550; }
.font-manrope .site-header { font-family: "Manrope", sans-serif; }
.font-instrument-sans .site-header { font-family: "Instrument Sans", sans-serif; }
.font-ibm-plex-sans .site-header { font-family: "IBM Plex Sans", sans-serif; }
.font-dm-sans .site-header { font-family: "DM Sans", sans-serif; }
.font-inter .site-header { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; }
.button--ghost { color: var(--blue); border-color: rgba(11,132,255,0.25); background: rgba(11,132,255,0.06); margin-top: auto; }
.section--dark .button--ghost { color: white; border-color: rgba(255,255,255,0.22); background: rgba(255,255,255,0.08); }
.section--light .button--secondary { color: #0b192b !important; border-color: rgba(11,25,43,0.28); background: rgba(11,25,43,0.04); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,0.25); border-radius: 8px; background: transparent; color: white; }
.menu-toggle span:not(.sr-only) { display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; }
.hero {
  background-color: #0b192b;
  background-image: linear-gradient(90deg, #0b192b 0%, #0b192b 50%, #0a263a 74%, #073149 100%);
  color: white;
  padding: 78px 0 56px;
  overflow: hidden;
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.9fr); align-items: center; gap: 48px; }
body[data-page="home"] .hero {
  position: relative;
  background-color: #061426;
  background-image:
    radial-gradient(circle at 100% 0%, #003b56 0%, #00364f 25%, transparent 52%),
    radial-gradient(circle at 100% 100%, #00354e 0%, #003149 24%, transparent 50%),
    linear-gradient(90deg, #061426 0%, #061426 50%, #06263d 74%, #00384f 100%);
  background-size: 100% 100%, 100% 100%, 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
body[data-page="home"] .hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -9%;
  right: -4%;
  bottom: -8%;
  width: 74%;
  pointer-events: none;
  background: url("./images/sensor-fusion-hero.png") right center / cover no-repeat;
  background-image: image-set(
    url("./images/SF2_sensor_fusion_hero_optimized.avif") type("image/avif"),
    url("./images/sensor-fusion-hero.png") type("image/png")
  );
  background-position: right center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-mask-image: radial-gradient(ellipse 88% 64% at 58% 50%, #000 38%, rgba(0,0,0,.92) 54%, rgba(0,0,0,.42) 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 88% 64% at 58% 50%, #000 38%, rgba(0,0,0,.92) 54%, rgba(0,0,0,.42) 72%, transparent 100%);
}
body[data-page="home"] .hero-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
}
body[data-page="home"] .hero-visual--background-space { min-height: clamp(390px, 36vw, 500px); }
body[data-page="home"] .hero h1 {
  font-size: clamp(2.35rem, 4.7vw, 4.25rem);
}
.eyebrow { margin: 0 0 10px; color: var(--cyan); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; letter-spacing: 0; line-height: 1.08; }
h1 { max-width: 920px; font-size: clamp(2.35rem, 6vw, 4.9rem); font-weight: 700; letter-spacing: 0.005em; }
body:not([data-page="home"]) .hero h1 {
  max-width: 1040px;
  font-size: clamp(2.12rem, 4.15vw, 3.67rem);
  font-weight: 600;
  overflow-wrap: break-word;
  hyphens: auto;
}
body:not([data-page="home"]) .hero {
  background-color: var(--subhero-start, #0b192b);
  background-image: linear-gradient(105deg, var(--subhero-start, #0b192b) 0%, var(--subhero-start, #0b192b) 44%, var(--subhero-end, #073149) 100%);
}
body:not([data-page="home"]) .hero-grid { grid-template-columns: minmax(0, 1fr); }
body:not([data-page="home"]) .hero-copy { max-width: 1120px; }
body[data-page="technology"] { --subhero-start: #08162d; --subhero-end: #0a1d3a; }
body:not([data-page="home"])[data-page="technology"] .hero {
  background-color: #08162d;
  background-image:
    radial-gradient(circle at 15% 15%, rgba(20,66,126,0.26), transparent 36%),
    radial-gradient(circle at 85% 30%, rgba(16,52,102,0.28), transparent 34%),
    linear-gradient(105deg, #071425 0%, #0a1d3a 48%, #285f75 100%);
}
body[data-page="technology"] .hero-copy { max-width: none; width: 100%; }
body[data-page="technology"] .hero h1 { max-width: none; width: 100%; }
body[data-page="technology"] .hero-lead { max-width: 1020px; }
body[data-page="technology"] .trust-line {
  color: #00d1ff;
  font-size: clamp(0.94rem, 1.15vw, 1.06rem);
  line-height: 1.5;
}
body[data-page="software"] { --subhero-start: #102b46; --subhero-end: #07506a; }
body[data-page="software"] .hero--dark {
  background: linear-gradient(105deg, #0b2038 0%, #123f59 50%, #28778b 100%);
}
body[data-page="software"] .hero-copy {
  max-width: none;
  width: 100%;
}
body[data-page="software"] .hero h1 {
  max-width: none;
  width: 100%;
}
body[data-page="software"] .slender-cta-title {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 0.003em;
}
body[data-page="suite-se"] { --subhero-start: #143a59; --subhero-end: #0a6079; }
body[data-page="suite-rt"] { --subhero-start: #194966; --subhero-end: #0d7088; }
body[data-page="suite-rt"] .hero-copy,
body[data-page="suite-rt"] .hero h1 {
  width: 100%;
  max-width: none;
}
.no-break { white-space: nowrap; }
body[data-page="engine-rt"] { --subhero-start: #205a75; --subhero-end: #128398; }
body[data-page="hardware"] { --subhero-start: #163b4d; --subhero-end: #4d9184; }
body[data-page="hardware"] .hero--dark {
  background: linear-gradient(105deg, #163b4d 0%, #163b4d 30%, #1e535e 48%, #28686a 64%, #397c79 82%, #4d9184 100%);
}
body[data-page="edge-device"] { --subhero-start: #205166; --subhero-end: #66a89b; }
body[data-page="edge-device"] .hero--dark {
  background: linear-gradient(105deg, #205166 0%, #3a7d7d 58%, #66a89b 100%);
}
body[data-page="verification-device"] { --subhero-start: #2b6277; --subhero-end: #7ab7aa; }
body[data-page="verification-device"] .hero--dark {
  background: linear-gradient(105deg, #2b6277 0%, #4a8f8b 58%, #7ab7aa 100%);
}
body:is([data-page="suite-se"], [data-page="suite-rt"], [data-page="engine-rt"], [data-page="edge-device"], [data-page="verification-device"]) .hero {
  padding: 58px 0 44px;
}
body:is([data-page="suite-se"], [data-page="suite-rt"], [data-page="engine-rt"], [data-page="edge-device"], [data-page="verification-device"]) .hero h1 {
  font-size: clamp(2rem, 3.75vw, 3.35rem);
}
body[data-page="case-studies"] { --subhero-start: #006476; --subhero-end: #2eb2c7; }
body[data-page="case-studies"] .hero--dark {
  background: linear-gradient(105deg, #006476 0%, #0091ad 58%, #2eb2c7 100%);
}
body[data-page="case-studies"] .hero .button--yellow {
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  box-shadow: none;
}
body[data-page="case-studies"] .hero .button--yellow:hover {
  background: rgba(255,255,255,.1) !important;
}
body[data-page="edge-challenge"] { --subhero-start: #163b4d; --subhero-end: #4d9184; }
body[data-page="edge-challenge"] .hero--dark {
  background: linear-gradient(105deg, #16657f 0%, #0b4259 58%, #07364b 100%);
}
body[data-page="about"] { --subhero-start: #08162d; --subhero-end: #071425; }
body[data-page="about"] .hero--dark {
  background-color: #08162d;
  background-image:
    radial-gradient(circle at 15% 15%, rgba(20,66,126,.26), transparent 36%),
    radial-gradient(circle at 85% 30%, rgba(16,52,102,.28), transparent 34%),
    linear-gradient(90deg, #071425 0%, #0a1d3a 54%, #173b59 100%);
  background-size: auto;
}
body[data-page="about"] .hero--dark::before,
body[data-page="about"] .hero--dark::after { content: none; background: none; }
body[data-page="news"] { --subhero-start: #112a42; --subhero-end: #1f4a5e; }
body[data-page="events"] { --subhero-start: #006476; --subhero-end: #2eb2c7; }
body[data-page="events"] .hero--dark {
  color: #fff;
  background: linear-gradient(105deg, #91bdcc 0%, #71a2b6 58%, #507d90 100%);
}
body[data-page="events"] .hero--dark .eyebrow,
body[data-page="events"] .hero--dark .hero-lead { color: #fff; }
body[data-page="kontakt"] { --subhero-start: #08162d; --subhero-end: #071425; }
body[data-page="kontakt"] .contact-hero {
  min-height: 0;
  padding: 28px 0 30px;
  background-color: #08162d;
  background-image:
    radial-gradient(circle at 15% 15%, rgba(20,66,126,.26), transparent 36%),
    radial-gradient(circle at 85% 30%, rgba(16,52,102,.28), transparent 34%),
    linear-gradient(180deg, #08162d 0%, #0a1d3a 54%, #071425 100%);
  background-size: auto;
}
body[data-page="kontakt"] .contact-hero::before,
body[data-page="kontakt"] .contact-hero::after { content: none; background: none; }
body[data-page="kontakt"] .contact-hero .hero-grid { min-height: 0; }
body[data-page="kontakt"] .contact-hero .hero-copy { max-width: none; width: 100%; }
body[data-page="kontakt"] .contact-hero h1 { max-width: none; font-size: clamp(1.9rem, 3.2vw, 3rem); }
body[data-page="kontakt"] main > .contact-section { padding-block: clamp(42px, 6vw, 72px); color: var(--ink) !important; background: #fff !important; }
body[data-page="kontakt"] main > .contact-section > .wrap { padding: 0; border: 0; color: var(--ink); background: transparent; box-shadow: none; }
body[data-page="kontakt"] main > .contact-section > .wrap::after { display: none; }
.contact-card { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(320px, 1.3fr); gap: clamp(34px, 7vw, 90px); align-items: start; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(11,25,43,.12); border-radius: 18px; background: #fff; box-shadow: 0 14px 38px rgba(8,20,38,.08); }
.contact-address { display: grid; gap: 4px; color: var(--muted); font-style: normal; line-height: 1.55; }
.contact-address strong { margin-bottom: 8px; color: #0b192b; font-size: 1.3rem; font-weight: 600; }
.contact-links { display: grid; gap: 12px; }
.contact-links a { display: flex; align-items: center; gap: 13px; min-height: 48px; padding: 10px 14px; border: 1px solid rgba(11,25,43,.12); border-radius: 10px; color: #173f63; background: #f6f9fc; font-weight: 550; }
.contact-links a:hover { border-color: rgba(0,100,118,.45); background: #eef7f8; }
.contact-icon { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 6px; color: #fff; background: #076ce0; }
.contact-icon svg { width: 17px; height: 17px; fill: currentColor; }
.contact-icon--linkedin { font-size: .92rem; font-weight: 700; font-family: Arial, sans-serif; }
body[data-page="shop"] { --subhero-start: #0078c8; --subhero-end: #0078c8; }
body[data-page="shop"] main { background: #eef2f5; }
body[data-page="shop"] .shop-hero { min-height: 0; padding: 28px 0 30px; background: #0078c8 !important; }
body[data-page="shop"] .shop-hero .hero-grid { min-height: 0; }
body[data-page="shop"] .shop-hero .hero-copy { max-width: none; width: 100%; }
body[data-page="shop"] .shop-hero .eyebrow { margin-bottom: 9px; color: rgba(255,255,255,.78); }
body[data-page="shop"] .shop-hero h1 { max-width: 1180px; margin-bottom: 10px; font-size: clamp(1.9rem, 3.2vw, 3rem); white-space: normal; }
body[data-page="shop"] .shop-hero .hero-lead { max-width: none; margin: 0 0 16px; font-size: 1rem; white-space: nowrap; }

/* Local account preview: compact shop-height hero and neutral account area. */
body[data-page="account-preview"] .account-preview-hero,
body[data-page="account-reset"] .account-preview-hero,
body[data-page="account-verification"] .account-preview-hero,
body[data-page="account-delete"] .account-preview-hero {
  min-height: 0;
  padding: 28px 0 30px;
  color: #fff;
  background: linear-gradient(105deg, #006476 0%, #0091ad 58%, #2eb2c7 100%) !important;
}
body[data-page="account-preview"] .account-preview-hero .wrap,
body[data-page="account-reset"] .account-preview-hero .wrap,
body[data-page="account-verification"] .account-preview-hero .wrap,
body[data-page="account-delete"] .account-preview-hero .wrap { display: block; }
.account-preview-hero-card {
  display: grid;
  grid-template-columns: minmax(390px, 1fr) minmax(360px, 1fr);
  align-items: center;
  width: 100%;
  padding: 10px 0;
  color: #fff;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.account-preview-hero-title { padding-right: 38px; }
.account-preview-hero-card .eyebrow { margin-bottom: 8px; color: rgba(255,255,255,.76); }
.account-preview-hero-card h1 { margin: 0 0 8px; font-size: clamp(2.3rem, 4.2vw, 4rem); white-space: nowrap; }
.account-preview-hero-card .account-preview-hero-intro {
  max-width: 620px;
  margin: 0;
  padding: 16px 0 16px 38px;
  color: rgba(255,255,255,.86);
  border-left: 2px solid rgba(255,255,255,.62);
}

body[data-page="account-preview"] main > .section.account-preview-section:last-of-type {
  padding: 56px 0 72px;
  color: var(--ink) !important;
  background: #f5f8fc;
}
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type > .wrap {
  width: min(calc(100% - 40px), var(--max));
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type > .wrap::after { display: none; }
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type p { color: var(--muted); }
.account-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
body[data-page="account-preview"] .account-preview-grid { grid-template-columns: 1fr; }
.account-section-nav {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(11,25,43,.14);
  background: #fff;
  box-shadow: 0 10px 24px rgba(18,42,74,.04);
}
.account-section-nav .wrap { display: flex; flex-wrap: wrap; gap: 0; min-height: 62px; padding: 0 28px; }
.account-section-nav a {
  display: flex;
  align-items: center;
  padding: 0 20px;
  color: #0b192b;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.4;
}
.account-section-nav a + a { border-left: 1px solid rgba(11,25,43,.18); }
.account-section-nav a:hover, .account-section-nav a:focus-visible { color: #006fd6; }
#login,
#passwort-reset,
#passwort-aendern,
#abonnements,
#downloadhistorie { scroll-margin-top: 118px; }
.account-preview-column { display: grid; gap: 22px; align-content: start; }
.account-password-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.account-preview-panel--compact { max-width: none; }
.account-account-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.account-preview-subscriptions > p { max-width: 620px; }
.account-subscriptions-group { display: grid; gap: 13px; margin: 0; padding: 0; border: 0; }
.account-subscriptions-group + .account-subscriptions-group { padding-top: 18px; border-top: 1px solid var(--line); }
.account-subscriptions-group legend { padding: 0; color: #0b192b; font-size: .94rem; font-weight: 650; white-space: nowrap; }
.account-subscriptions-group small { display: block; margin-top: 2px; color: var(--muted); font-size: .84rem; }
.account-license-cancel { justify-self: start; padding: 8px 13px; color: #006fd6; background: #fff; border: 1px solid #006fd6; border-radius: 7px; font: inherit; font-size: .84rem; font-weight: 600; cursor: pointer; }
.account-license-cancel:hover, .account-license-cancel:focus-visible { color: #fff; background: #006fd6; }
.account-preview-panel {
  padding: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(18,42,74,.08);
}
.account-preview-panel h2 {
  display: block;
  margin: 0 0 14px;
  color: #0b192b !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}
.account-preview-panel > p { margin: 0; }
.account-preview-form { display: grid; gap: 22px; margin-top: 20px; }
.account-preview-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.account-preview-fields label { display: block; color: var(--ink); font-weight: 500; }
.account-preview-fields label > span { display: block; color: #52647a; font-size: .82rem; font-weight: 400; }
.account-preview-fields .is-wide { grid-column: 1 / -1; }
.account-preview-login-fields { grid-template-columns: 1fr; }
body[data-page="account-preview"] .account-flow-form[data-account-form="login"] .account-preview-login-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-form-spacer { display: block; min-height: 59px; }
.account-password-confirm { grid-column: 2; }
.account-preview-fields input {
  display: block;
  width: 100%;
  min-height: 38px;
  margin-top: 5px;
  padding: 8px 10px;
  color: var(--ink);
  background: #edf1f4;
  border: 1px solid rgba(11,25,43,.16);
  border-radius: 8px;
  font: inherit;
}
.account-preview-fields input::placeholder { color: #718096; opacity: 1; }
.account-preview-fields input:focus { outline: 3px solid rgba(0,119,213,.16); border-color: #0077d5; }
.account-preview-fields label.account-field-is-invalid input {
  border-color: #c9362b;
  box-shadow: 0 0 0 2px rgba(201,54,43,.14);
}
.account-preview-consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.account-preview-consent input { width: 17px; height: 17px; margin-top: 3px; accent-color: #0057c8; }
.account-preview-consent.account-field-is-invalid { color: #a52d24; }
.account-preview-consent.account-field-is-invalid input { outline: 2px solid #c9362b; outline-offset: 2px; }
.account-preview-consent a { color: #0057c8; text-decoration: underline; }
.account-preview-form .button { justify-self: start; }
.account-preview-form .button--shop-orange {
  color: #fff !important;
  border-color: #d96f32 !important;
  background: #d96f32 !important;
  box-shadow: none !important;
}
.account-preview-reset { color: #0b192b !important; border-color: #aebdce !important; }
.account-preview-form [data-password-reset-button] {
  color: #fff !important;
  border: 0 !important;
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%) !important;
}
body[data-page="account-preview"] [data-password-reset-button] { color: #fff !important; }
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type .account-preview-form [data-password-reset-button] {
  color: #fff !important;
}
.account-preview-history { margin-top: 18px; padding: 18px; background: #f5f8fc; border-radius: 12px; }
.account-preview-history p { margin: 0; }
.account-preview-status { min-height: 0; margin: -10px 0 0; font-size: .86rem; }
.account-preview-status[data-state="error"] { color: #9f2d20 !important; }
.account-preview-status[data-state="success"] { color: #006476 !important; }
.account-preview-status[data-state="pending"] { color: #52647a !important; }
.account-preview-reset-message {
  margin: 0 !important;
  padding: 14px 16px;
  color: #087a4b !important;
  background: #eef9f1;
  border: 1px solid #b9dfc6;
  border-radius: 12px;
  font-size: .92rem;
  line-height: 1.5;
}
.account-preview-session { display: grid; gap: 22px; }
.account-preview-password-change { padding-top: 20px; border-top: 1px solid var(--line); }
.account-preview-password-change h3 { margin: 0; color: #0b192b !important; font-size: 1.08rem; }
.account-preview-kicker { color: #52647a; font-size: .82rem; font-weight: 500; letter-spacing: .055em; text-transform: uppercase; }
.account-preview-release-updates small { display: block; margin-top: 3px; color: var(--muted); }
.account-preview-verified { margin: 0 0 20px; padding: 14px 18px; color: #14532d !important; background: #dcfce7; border-radius: 12px; }
.account-preview-registration { scroll-margin-top: 90px; }
.account-flow-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 5px;
  background: #eaf0f6;
  border: 1px solid #cbd6e2;
  border-radius: 12px;
}
.account-flow-tabs button {
  min-height: 44px;
  padding: 9px 14px;
  color: #52647a;
  background: transparent;
  border: 0;
  border-radius: 8px;
  font: inherit;
  font-size: .9rem;
  font-weight: 650;
  cursor: pointer;
}
.account-flow-tabs button.is-active {
  color: #0b192b;
  background: #fff;
  box-shadow: 0 2px 7px rgba(11,25,43,.12);
}
.account-flow-form[hidden] { display: none !important; }
.account-flow-form:not([hidden]) { display: grid; }
.account-preview-fields .account-field-is-hidden {
  visibility: hidden;
  pointer-events: none;
}
.account-flow-form > .account-field-is-hidden { display: none; }
.account-flow-delete-copy {
  margin: 0;
  padding: 13px 15px;
  color: #52647a !important;
  background: #f5f8fc;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .92rem;
  line-height: 1.5;
}
.account-flow-delete-notice {
  margin: 0;
  padding: 13px 15px;
  color: #0b192b !important;
  background: #fff7e9;
  border: 1px solid #edc686;
  border-radius: 10px;
  font-size: .92rem;
  line-height: 1.5;
}
.account-flow-delete-copy--plain {
  padding: 0;
  color: #52647a !important;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.account-flow-delete-copy--plain p { margin: 0; color: #52647a !important; }
.account-flow-delete-copy--plain p + p { margin-top: 14px; color: #0b192b !important; }

@media (max-width: 760px) {
  .account-section-nav .wrap { min-height: auto; padding: 7px 4px; }
  .account-section-nav a { padding: 5px 8px; font-size: .78rem; }
  .account-password-tools { grid-template-columns: 1fr; }
  .account-account-tools { grid-template-columns: 1fr; }
  .account-preview-panel--compact { max-width: none; }
  .account-preview-grid, .account-preview-fields { grid-template-columns: 1fr; }
  .account-preview-fields .is-wide { grid-column: auto; }
  .account-preview-hero-card { grid-template-columns: 1fr; padding: 6px 0; }
  .account-preview-hero-title { padding-right: 0; }
  .account-preview-hero-card h1 { white-space: normal; }
  .account-preview-hero-card .account-preview-hero-intro { margin-top: 18px; padding: 18px 0 0; border-top: 2px solid rgba(255,255,255,.62); border-left: 0; }
  body[data-page="account-preview"] main > .section.account-preview-section:last-of-type { padding: 40px 0 52px; }
  .account-flow-tabs { grid-template-columns: 1fr; }
  .account-form-spacer { display: none; }
  .account-password-confirm { grid-column: auto; }
}
.shop-studio-hero .hero-lead { max-width: 1120px !important; white-space: normal !important; }
body[data-page="shop"] .shop-studio-hero { color: #fff; background: #173f63 !important; border-bottom: 0; }
body[data-page="shop"] .shop-studio-hero .eyebrow { color: rgba(255,255,255,.78); }
body[data-page="shop"] .shop-studio-hero .hero-lead { color: rgba(255,255,255,.84); }
body[data-page="shop"] .shop-studio-hero .shop-trust-actions span { color: #fff; border-color: rgba(255,255,255,.48); background: #173f63; }
.shop-studio-download-section { background: #fff !important; }
.shop-trust-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.shop-trust-actions span { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 15px; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; color: white; background: #0078c8; font-size: .84rem; font-weight: 500; }
h2 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.75rem, 3vw, 3rem);
  font-weight: 600;
  letter-spacing: 0.003em;
}
h3 { font-size: 1.15rem; font-weight: 700; }
.hero-lead { max-width: 780px; color: rgba(255,255,255,0.83); font-size: clamp(1.05rem, 1.8vw, 1.36rem); margin: 22px 0 0; }
.hero-highlight-yellow { color: #ffc36a; }
body:not([data-page="home"]) .hero-lead {
  font-size: clamp(1rem, 1.55vw, 1.24rem);
}
.hero-pretitle { display: grid; gap: 2px; margin: 0 0 22px; color: rgba(255,255,255,0.82); font-size: clamp(1.08rem, 1.5vw, 1.3rem); line-height: 1.35; }
.hero-pretitle span, .hero-trust span { display: block; }
.hero-pretitle--single-line { white-space: nowrap; }
body[data-page="software"] .software-hero-lead-three-lines {
  width: 100%;
  max-width: none !important;
  font-size: clamp(1rem, 1.25vw, 1.1rem);
}
body[data-page="software"] .software-hero-lead-three-lines span { display: block; white-space: nowrap; }
body[data-page="hardware"] .hardware-hero-lead-three-lines {
  width: 100%;
  max-width: none !important;
  font-size: clamp(1rem, 1.25vw, 1.1rem);
}
body[data-page="hardware"] .hardware-hero-lead-three-lines span { display: block; white-space: nowrap; }
.hero-trust { display: grid; gap: 2px; margin: 22px 0 0; color: #00d1ff; font-size: clamp(1.02rem, 1.4vw, 1.18rem); font-weight: 400; line-height: 1.4; }
body[data-page="home"] .hero-trust + .button-row { margin-top: 34px; }
.hero-visual { margin: 0; }
.hero-visual img, .hero-visual video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.04); box-shadow: 0 30px 80px rgba(0,0,0,0.28); }
.hero-visual figcaption { margin-top: 10px; color: rgba(255,255,255,0.68); font-size: 0.88rem; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button-row.centered { justify-content: center; }
body[data-page="home"] .section--cases .cases-button-row {
  justify-content: flex-start;
  margin-left: 1.1rem;
}
body[data-page="home"] .section--cases .button--secondary {
  color: white !important;
  border-color: rgba(255,255,255,0.52);
  background: #0a263a;
}
.trust-line { margin: 16px 0 0; color: rgba(255,255,255,0.7); font-size: 0.95rem; }
.chip-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; }
.chip-list li { border: 1px solid rgba(255,255,255,0.18); border-radius: 8px; padding: 7px 10px; color: rgba(255,255,255,0.82); background: rgba(255,255,255,0.06); font-weight: 700; font-size: 0.88rem; }
body:not([data-page="home"]) .hero .trust-line,
body:not([data-page="home"]) .hero .chip-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  color: #00d1ff;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}
body:not([data-page="home"]) .hero .chip-list li {
  padding: 0;
  color: inherit;
  border: 0;
  border-radius: 0;
  background: transparent;
  font: inherit;
}
body:not([data-page="home"]) .hero .trust-line > span + span::before,
body:not([data-page="home"]) .hero .chip-list li + li::before {
  content: "|";
  margin: 0 10px;
  color: #00d1ff;
  font-weight: 400;
}
.section { padding: 72px 0; scroll-margin-top: 90px; }
.section--light { background: var(--surface); }
.section--dark { color: white; background: linear-gradient(180deg, #08111d 0%, #0b1627 100%); }
.section--navy { background: #0b192b; }
.section--petrol-deep { background: #0a263a; }
.section--petrol { background: #073149; }
.section--light + .section--light { background: var(--surface-soft); }
.section-head { max-width: 1100px; margin-bottom: 30px; }
.software-components-section .section-head { max-width: 1080px; }
.software-components-section .section-subtitle {
  margin-top: 16px;
  color: var(--ink);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
}
.software-components-section .section-subtitle + p {
  max-width: 980px;
  margin: 14px 0 0;
  color: var(--muted);
  font-weight: 600;
}
.software-components-section .card {
  background: #f8fbff;
  border: 0;
}
.software-components-section .card h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 400;
  line-height: 1.12;
}
.software-components-section .product-tagline {
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}
.software-components-section .check-list li { font-weight: 400; }
.software-components-section .card:nth-child(1) {
  color: white;
  border-color: rgba(255,255,255,0.14);
  background: #143a59;
  box-shadow: 0 18px 46px rgba(8,20,38,0.16);
}
.software-components-section .card:nth-child(2) {
  color: white;
  border-color: rgba(255,255,255,0.14);
  background: #194966;
  box-shadow: 0 18px 46px rgba(8,20,38,0.16);
}
.software-components-section .card:nth-child(3) {
  color: white;
  border-color: rgba(255,255,255,0.14);
  background: #205a75;
  box-shadow: 0 18px 46px rgba(8,20,38,0.16);
}
.software-components-section .card p,
.software-components-section .card .product-tagline,
.software-components-section .card .check-list { color: rgba(255,255,255,0.78); }
.software-components-section .card .eyebrow { color: #00d1ff; }
.software-components-section .card .product-link {
  color: #00d1ff;
  font-weight: 600;
}
.intro-section .section-head { margin-bottom: 0; }
.section-head p { color: var(--muted); font-size: 1.08rem; margin: 14px 0 0; }
.section-head > p:not(.eyebrow) { font-weight: 600; }
body[data-page="home"] .section-head > p:not(.eyebrow) {
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.55;
}
.section--dark .section-head p { color: rgba(255,255,255,0.72); }
.section--dark .section-head > p:not(.eyebrow) { font-weight: 400; }
.prose { max-width: 860px; }
.prose.wide { max-width: 980px; columns: 2 320px; column-gap: 36px; }
.card-grid { display: grid; gap: 18px; }
.card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.spaced { margin-top: 18px; }
.product-group-heading {
  display: block;
  margin: 0 0 20px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.product-group-heading h3 {
  color: #0b192b;
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.product-group-heading p {
  max-width: 900px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.55;
}
.product-group-heading--hardware {
  margin-top: 48px;
}
.product-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #076ce0;
  font-weight: 700;
  line-height: 1.35;
}
.product-link::after {
  content: "›";
  font-size: 1.65em;
  font-weight: 400;
  line-height: 0.75;
  transition: transform 160ms ease;
}
.product-link:hover::after,
.product-link:focus-visible::after { transform: translateX(3px); }
.card { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 16px 42px rgba(8, 20, 38, 0.08); }
.section--dark .card, .phase { color: white; background: rgba(255,255,255,0.055); border-color: rgba(255,255,255,0.13); box-shadow: none; }
.section--light .phase { color: var(--ink); background: #ffffff; border-color: var(--line); box-shadow: 0 16px 42px rgba(8,20,38,0.08); }
.card p { color: var(--muted); margin: 12px 0 0; }
.section--dark .card p, .section--dark .phase p { color: rgba(255,255,255,0.72); }
.card-media { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 6px; margin-bottom: 16px; background: #eef4fb; }
.card-action { margin-top: auto; padding-top: 18px; }
.check-list, .evidence-list { margin: 16px 0 0; padding-left: 1.1rem; color: var(--muted); }
.section--dark .check-list, .section--dark .evidence-list { color: rgba(255,255,255,0.78); }
.check-list li + li, .evidence-list li + li { margin-top: 8px; }
.meta-line { font-weight: 800; color: var(--ink) !important; }
.section--dark .meta-line { color: white !important; }
.phase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pipeline-card-grid { margin-bottom: 30px; }
.pipeline-card-grid .card h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.principle-grid { grid-template-columns: 1fr; gap: 18px; }
.principle-grid .step {
  position: relative;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  overflow: hidden;
  padding: 26px;
  border-radius: 16px;
}
.principle-grid .step > div { width: 100%; max-width: none; min-width: 0; }
.principle-grid .step h3 {
  width: 100%;
  overflow: visible;
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-weight: 400;
  letter-spacing: 0.025em;
  hyphens: none;
}
.principle-grid .step::before,
.tech-detail > div::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #176be8, #128bdc, #08a8d3, #03c6d5);
}
.principle-grid .step-index { width: 46px; height: 46px; border-radius: 12px; }
body[data-page="technology"] .principle-grid .step-index {
  color: white;
  background: linear-gradient(135deg, #b9571f 0%, #e98232 58%, #ffc36a 100%);
  box-shadow: 0 8px 22px rgba(217,112,39,0.24);
}
.pipeline-phases { grid-template-columns: 1fr; gap: 24px; }
.pipeline-phases .phase { position: relative; overflow: hidden; padding: 28px; border-radius: 18px; }
.pipeline-phases .phase::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #176be8, #03c6d5); }
.pipeline-phases .phase:first-child {
  border-color: rgba(242,155,70,0.48);
  background: linear-gradient(105deg, #13233d 0%, #13233d 46%, #0a4656 100%);
}
.pipeline-phases .phase:first-child::before { background: linear-gradient(90deg, #d8782e, #f2a34f, #ffc476); }
.pipeline-phases .phase:first-child .flow-line span {
  color: #ffffff;
  border-color: rgba(0,209,255,0.56);
  background: linear-gradient(135deg, rgba(22,139,255,0.7), rgba(0,209,255,0.52));
}
.pipeline-phases .phase:first-child .flow-line span:not(:last-child)::after { color: #8cecff; }
.pipeline-phases .phase:nth-child(2) {
  border-color: rgba(0,209,255,0.42);
  background: linear-gradient(120deg, #07313f 0%, #084654 56%, #075562 100%);
}
.pipeline-phases .phase:nth-child(2)::before { background: linear-gradient(90deg, #168bff, #00b8e6, #00d1ff); }
.pipeline-phases .flow-line { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.pipeline-phases .phase:first-child .flow-line { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pipeline-phases .flow-line span { display: flex; align-items: center; justify-content: space-between; min-height: 58px; }
.pipeline-phases .flow-line span {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-weight: 400;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.tech-detail-list { display: grid; gap: 44px; }
.tech-detail { display: grid; grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr); align-items: center; gap: 38px; }
.tech-detail:nth-child(even) .media-frame { order: 2; }
.tech-detail-list--udtat .image-preview img { height: auto; aspect-ratio: auto; object-fit: contain; }
.tech-detail > div { position: relative; padding-top: 22px; }
.tech-detail h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.tech-detail p { margin: 12px 0 0; color: var(--muted); }
.section--dark .tech-detail p { color: rgba(255,255,255,0.72); }
.phase { padding: 22px; border: 1px solid rgba(255,255,255,0.14); border-radius: 8px; }
.phase-journey { position: relative; gap: 42px; }
.phase-journey::after {
  content: "›";
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 50%;
  color: white;
  background: linear-gradient(135deg, #176be8, #03c6d5);
  box-shadow: 0 10px 30px rgba(3,198,213,0.3);
  font-size: 2rem;
  transform: translate(-50%, -50%);
}
.phase-journey .phase {
  position: relative;
  min-height: 260px;
  padding: 30px;
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(23,107,232,0.2), rgba(255,255,255,0.055));
  box-shadow: 0 22px 60px rgba(0,0,0,0.17);
}
.phase-journey .phase:nth-child(2) { background: linear-gradient(145deg, rgba(3,198,213,0.2), rgba(255,255,255,0.055)); }
.phase-journey .phase::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #176be8, #03c6d5);
}
.phase-journey .phase > .eyebrow { display: inline-flex; margin-bottom: 12px; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,0.1); }
.phase-journey .phase h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 400;
}
.phase-journey .flow-line { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.phase-journey .flow-line span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-weight: 400;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.flow-line { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.flow-line span { position: relative; padding: 8px 10px; border-radius: 8px; background: rgba(28,211,255,0.12); border: 1px solid rgba(28,211,255,0.25); font-size: 0.9rem; font-weight: 750; }
.section--light .flow-line span { color: #0b192b; background: rgba(0,209,255,0.1); border-color: rgba(0,163,198,0.28); }
.flow-line span:not(:last-child)::after { content: "→"; color: var(--cyan); margin-left: 8px; }
.steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; counter-reset: item; }
.steps.principle-grid { grid-template-columns: 1fr; }
body[data-page="software"] .software-rollout-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="software"] .software-rollout-steps .step h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.step { display: grid; gap: 12px; align-content: start; min-width: 0; padding: 18px; border-radius: 8px; border: 1px solid var(--line); background: rgba(255,255,255,0.82); }
.suite-step-flow .step h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
  text-transform: none;
}
body[data-page="suite-rt"] .suite-step-flow .step h3 { font-weight: 400; }
.section--dark .step { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.13); }
.step-index { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; color: white; background: linear-gradient(135deg, #b9571f 0%, #e98232 58%, #ffc36a 100%); box-shadow: 0 8px 22px rgba(217,112,39,0.24); font-weight: 900; }
.step p { color: var(--muted); margin: 8px 0 0; }
.section--dark .step p { color: rgba(255,255,255,0.72); }
.journey-flow {
  position: relative;
  gap: 0;
  padding: 26px 8px 10px;
}
.journey-flow::before {
  content: "";
  position: absolute;
  top: 52px;
  left: 9%;
  right: 9%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #176be8, #128bdc, #08a8d3, #03c6d5);
  box-shadow: 0 0 24px rgba(8,168,211,0.25);
}
.journey-flow .step {
  position: relative;
  z-index: 1;
  justify-items: center;
  padding: 0 14px;
  border: 0;
  background: transparent;
  text-align: center;
}
.journey-flow .step-index {
  width: 56px;
  height: 56px;
  border: 6px solid white;
  border-radius: 50%;
  background: linear-gradient(135deg, #b9571f 0%, #e98232 58%, #ffc36a 100%);
  box-shadow: 0 10px 28px rgba(217,112,39,0.26);
}
.journey-flow .step div { margin-top: 8px; }
.journey-flow .step h3 { min-height: 2.3em; }

main > .section:last-of-type {
  color: #0b192b !important;
  background: #ffffff !important;
  padding: 56px 0;
}
main > .section:last-of-type > .wrap {
  position: relative;
  overflow: hidden;
  padding: clamp(36px, 5vw, 64px);
  border: 1px solid rgba(11,25,43,.1);
  border-radius: 30px;
  color: #0b192b;
  background: #e3e8ed;
  box-shadow: 0 18px 48px rgba(8,20,38,.1);
}
main > .section:last-of-type > .wrap::after {
  display: none;
}
main > .section:last-of-type > .wrap > * { position: relative; z-index: 1; }
main > .section:last-of-type .section-head { max-width: 900px; }
main > .section:last-of-type .section-head p,
main > .section:last-of-type p { color: #52627a; }
main > .section:last-of-type .button-row { justify-content: flex-start; }
main > .section:last-of-type .button--primary {
  color: white !important;
  border: 0 !important;
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%);
  background-clip: border-box;
  box-shadow: none;
}
body[data-page="home"] main > .section:last-of-type .button--primary {
  border: 0 !important;
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%);
  background-clip: border-box;
}
body[data-page="home"] .hero .button--primary {
  border: 0 !important;
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%);
  background-clip: border-box;
  box-shadow: none;
}
main > .section:last-of-type .button--secondary:not(.button--offwhite) {
  color: #0b192b !important;
  border-color: rgba(11,25,43,.22);
  background: rgba(255,255,255,.42);
}
main > .section:last-of-type .button--secondary.button--offwhite {
  color: #0b192b !important;
  appearance: none;
  border: 0 !important;
  background: #ffc36a;
  background-clip: border-box;
  box-shadow: none;
}
body[data-page="home"] main > .section:last-of-type .button--secondary.button--offwhite {
  appearance: none;
  color: #0b192b !important;
  border: 0 !important;
  background: #ffc36a;
  background-clip: border-box;
  box-shadow: none;
}
body[data-page="home"] .section--closing > .wrap {
  color: #0b192b;
  border-color: rgba(11,25,43,.1);
  background: #e3e8ed;
  box-shadow: 0 18px 48px rgba(8,20,38,.1);
}
body[data-page="home"] .section--closing > .wrap::after { display: none; }
body[data-page="home"] .section--closing .section-head h2 { color: #0b192b; }
body[data-page="home"] .section--closing .section-head p,
body[data-page="home"] .section--closing p { color: #52627a; }
.process-flow {
  position: relative;
  gap: 0;
  padding: 28px 24px 24px;
  border: 1px solid rgba(11,120,177,0.18);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(23,107,232,0.045), rgba(3,198,213,0.075));
  overflow: hidden;
}
.process-flow::before {
  content: "";
  position: absolute;
  top: 53px;
  left: 10%;
  right: 10%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #176be8 0%, #128bdc 38%, #08a8d3 70%, #03c6d5 100%);
  box-shadow: 0 0 18px rgba(8,168,211,0.24);
}
.process-flow .step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 16px;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: center;
}
.process-flow .step-index {
  width: 52px;
  height: 52px;
  border: 5px solid #f7fbff;
  border-radius: 50%;
  background: linear-gradient(135deg, #b9571f 0%, #e98232 58%, #ffc36a 100%);
  box-shadow: 0 8px 24px rgba(217,112,39,0.24);
}
.process-flow .step div { max-width: 190px; }
.process-flow .step h3 { min-height: 2.25em; }
body[data-page="home"] .section--process .process-flow .step h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-weight: 400;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.process-flow .step p { margin-top: 10px; }
.semantic-folding-explainer { display: grid; gap: 30px; margin: 38px 0 46px; }
.semantic-explainer-actions { margin-top: -12px; }
.semantic-folding-title { font-size: clamp(1.35rem, 2vw, 1.85rem); color: #0b192b; }
.semantic-feature { display: grid; grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr); align-items: center; gap: 40px; padding: 24px 0; border-top: 1px solid rgba(11,25,43,0.12); }
.semantic-feature:nth-of-type(even) { grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr); }
.semantic-feature:nth-of-type(even) .semantic-media { order: 2; }
.semantic-feature:nth-of-type(even) .semantic-copy { order: 1; }
.semantic-media { margin: 0; }
.semantic-media figcaption { margin-top: 9px; color: var(--muted); font-size: 0.82rem; line-height: 1.4; }
.semantic-copy h3 { font-size: clamp(1.2rem, 1.8vw, 1.55rem); }
.semantic-copy { position: relative; padding-top: 18px; }
.semantic-copy::before { content: ""; position: absolute; inset: 0 0 auto; width: min(180px, 46%); height: 3px; border-radius: 999px; background: linear-gradient(90deg, #176be8 0%, #128bdc 38%, #08a8d3 70%, #03c6d5 100%); }
.semantic-copy p { margin: 12px 0 0; color: var(--muted); }
.process-flow-title { margin: 0 0 18px; font-size: clamp(1.3rem, 2vw, 1.75rem); color: #0b192b; }
.section--dark .process-flow-title { color: #ffffff; }
.video-preview { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid rgba(11,120,177,0.22); border-radius: 14px; background: #0b192b; cursor: zoom-in; box-shadow: 0 18px 46px rgba(8,20,38,0.12); }
.video-preview-shell { position: relative; overflow: hidden; border-radius: 12px; background: #07111f; }
.video-preview-shell video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.video-enlarge { position: absolute; z-index: 2; right: 10px; bottom: 10px; padding: 7px 11px; border: 1px solid rgba(255,255,255,0.2); border-radius: 999px; color: white; background: rgba(11,25,43,0.84); font-size: 0.78rem; font-weight: 600; cursor: zoom-in; backdrop-filter: blur(8px); }
.video-enlarge:hover { background: rgba(22,139,255,0.92); }
.image-preview { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: #07111f; cursor: zoom-in; }
.image-preview img { width: 100%; }
.image-preview span { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border-radius: 999px; color: white; background: rgba(11,25,43,0.82); font-size: 0.78rem; font-weight: 600; backdrop-filter: blur(8px); }
.image-modal { width: min(1180px, calc(100% - 32px)); max-width: none; padding: 44px 18px 18px; border: 1px solid rgba(255,255,255,0.2); border-radius: 18px; background: #0b192b; box-shadow: 0 34px 100px rgba(0,0,0,0.55); }
.image-modal::backdrop { background: rgba(2,8,18,0.82); backdrop-filter: blur(6px); }
.image-modal img { display: block; width: 100%; max-height: 82vh; object-fit: contain; border-radius: 10px; background: #07111f; }
.video-preview video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; pointer-events: none; }
.video-preview span { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border-radius: 999px; color: white; background: rgba(11,25,43,0.82); font-size: 0.78rem; font-weight: 600; backdrop-filter: blur(8px); }
.video-preview:hover { transform: translateY(-2px); box-shadow: 0 22px 54px rgba(8,20,38,0.18); }
.video-modal { width: min(1040px, calc(100% - 32px)); max-width: none; padding: 44px 18px 18px; border: 1px solid rgba(255,255,255,0.2); border-radius: 18px; background: #0b192b; box-shadow: 0 34px 100px rgba(0,0,0,0.55); }
.video-modal::backdrop { background: rgba(2,8,18,0.82); backdrop-filter: blur(6px); }
.video-modal video { display: block; width: 100%; max-height: 78vh; border-radius: 10px; background: #000; }
.video-modal-close { position: absolute; top: 8px; right: 10px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; color: white; background: rgba(255,255,255,0.12); font-size: 1.7rem; line-height: 1; cursor: pointer; }
.video-modal-close:hover { background: rgba(255,255,255,0.22); }
.trust-box, .notice { margin: 24px 0 0; padding: 18px 20px; border-radius: 12px; border: 1px solid rgba(28,211,255,0.28); background: rgba(28,211,255,0.09); font-weight: 750; }
body[data-page="edge-device"] .edge-function-steps + .trust-box { font-weight: 400; }
body[data-page="edge-device"] .edge-automation-note { font-weight: 400; }
body[data-page="verification-device"] .verification-role-note { font-weight: 400; }
body[data-page="verification-device"] .verification-role-note strong { font-weight: 600; }
body[data-page="suite-rt"] .suite-rt-result { font-weight: 400; }
body[data-page="suite-rt"] .suite-rt-closing-lead { font-weight: 400; }
.card, .trust-box, .notice { position: relative; overflow: hidden; }
.card::before, .trust-box::before, .notice::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #176be8 0%, #128bdc 38%, #08a8d3 70%, #03c6d5 100%);
}
.section--dark .card::before,
.section--dark .trust-box::before,
.section--dark .notice::before {
  height: 2px;
  background: linear-gradient(90deg, #176be8 0%, #128bdc 38%, #08a8d3 70%, #03c6d5 100%);
}
.section--light .trust-box, .notice { color: #0a3550; background: #eaf8ff; }
.table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: white; }
.table-scroll-hint { display: none; margin: 0 0 10px; color: #52627a; font-size: .84rem; font-weight: 600; text-align: right; }
.section--dark .table-wrap { border-color: rgba(255,255,255,0.14); background: rgba(255,255,255,0.04); }
body[data-page="edge-device"] .technical-profile-table .product-column-title,
body[data-page="edge-device"] th.product-column-title { font-weight: 400; }
body[data-page="suite-rt"] .technical-profile-table,
body[data-page="engine-rt"] .technical-profile-table,
body[data-page="hardware"] .hardware-comparison-table {
  color: var(--ink);
  border-color: rgba(44,52,61,0.16);
  background: #fbfaf7;
}
body[data-page="suite-rt"] .technical-profile-table th,
body[data-page="engine-rt"] .technical-profile-table th,
body[data-page="hardware"] .hardware-comparison-table th {
  color: var(--ink);
  background: #f4f2ed;
}
body[data-page="hardware"] .hardware-comparison-table thead th:nth-child(2) { background: #dfeeff; }
body[data-page="hardware"] .hardware-comparison-table tbody td:nth-child(2) { background: #eef6ff; }
body[data-page="hardware"] .hardware-comparison-table thead th:nth-child(3) { background: #dff4f0; }
body[data-page="hardware"] .hardware-comparison-table tbody td:nth-child(3) { background: #eefaf7; }
body[data-page="suite-rt"] .technical-profile-table th,
body[data-page="suite-rt"] .technical-profile-table td,
body[data-page="engine-rt"] .technical-profile-table th,
body[data-page="engine-rt"] .technical-profile-table td,
body[data-page="hardware"] .hardware-comparison-table th,
body[data-page="hardware"] .hardware-comparison-table td {
  border-color: rgba(44,52,61,0.14);
}
table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.45;
}
th, td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.section--dark th, .section--dark td { border-color: rgba(255,255,255,0.13); }
th { font-weight: 850; color: var(--ink); background: #f3f8fe; }
.section--dark th { color: white; background: rgba(28,211,255,0.1); }
.is-highlight { background: rgba(28,211,255,0.12) !important; }
table thead th,
table tbody th {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.section--light table thead th:not(:first-child) {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
}
body[data-page="software"] #software-vergleich table {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
}
body[data-page="software"] #software-vergleich td:has(> .matrix-status) {
  text-align: center;
  vertical-align: middle;
}
.matrix-status {
  display: inline-grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1;
}
.matrix-status--yes { color: #159455; }
.matrix-status--no { color: #e47b28; }
.media-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.media-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.media-frame { margin: 0; padding: 12px; border-radius: 8px; border: 1px solid var(--line); background: white; }
.relocated-hero-media {
  width: min(100%, 980px);
  margin: 34px 0 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  box-shadow: 0 20px 54px rgba(8,20,38,0.1);
}
.relocated-hero-media img,
.relocated-hero-media video {
  width: 100%;
  max-height: 590px;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  border: 0;
  border-radius: 12px;
  background: #07111f;
  box-shadow: none;
}
.relocated-hero-media figcaption { margin: 10px 4px 2px; color: var(--muted); font-size: 0.9rem; }
.section--dark .relocated-hero-media { border-color: rgba(255,255,255,0.14); background: rgba(255,255,255,0.055); box-shadow: none; }
.section--dark .relocated-hero-media figcaption { color: rgba(255,255,255,0.72); }
.section--dark .media-frame { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.14); }
.media-frame img, .media-frame video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; background: #07111f; }
.media-frame figcaption { margin-top: 10px; color: var(--muted); font-size: 0.9rem; }
.section--dark .media-frame figcaption { color: rgba(255,255,255,0.72); }
.gallery { border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: white; }
.gallery-slide { display: none; margin: 0; }
.gallery-slide.is-active { display: block; }
.gallery-slide img { width: 100%; max-height: 560px; object-fit: contain; background: #08111d; border-radius: 6px; }
.gallery-slide figcaption { margin-top: 10px; color: var(--muted); }
.gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.gallery-controls button { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: white; font-weight: 800; cursor: pointer; }
.gallery-dots { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.gallery-dots [data-gallery-dot] { width: 7px; height: 7px; border-radius: 50%; background: rgba(11,25,43,0.24); transition: width 180ms ease, background-color 180ms ease; }
.gallery-dots [data-gallery-dot].is-active { width: 20px; border-radius: 999px; background: #0b84ff; }
body[data-page="hardware"] .product-carousel,
body[data-page="edge-device"] .product-carousel,
body[data-page="verification-device"] .product-carousel {
  width: min(100%, 720px);
  margin: 34px auto;
  padding: 18px 22px 14px;
  border: 0;
  border-radius: 16px;
  background: #f7f9fc;
  box-shadow: 0 14px 38px rgba(8,20,38,0.07);
}
body[data-page="hardware"] .product-carousel .gallery-slide img,
body[data-page="edge-device"] .product-carousel .gallery-slide img,
body[data-page="verification-device"] .product-carousel .gallery-slide img {
  width: auto;
  max-width: 100%;
  height: 280px;
  margin: 0 auto;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body[data-page="hardware"] .product-carousel .gallery-slide figcaption,
body[data-page="edge-device"] .product-carousel .gallery-slide figcaption,
body[data-page="verification-device"] .product-carousel .gallery-slide figcaption {
  text-align: center;
}
body[data-page="hardware"] .product-carousel .gallery-controls button,
body[data-page="edge-device"] .product-carousel .gallery-controls button,
body[data-page="verification-device"] .product-carousel .gallery-controls button {
  padding: 8px 14px;
  font-weight: 600;
}
body[data-page="hardware"] .hardware-process-title { margin-top: 42px; }
body[data-page="hardware"] .hardware-product-grid .card {
  color: white;
  border: 0;
  background: linear-gradient(135deg, #0b192b 0%, #0a263a 100%);
  box-shadow: 0 18px 46px rgba(8,20,38,0.16);
}
body[data-page="hardware"] .hardware-product-grid .card:nth-child(1) {
  order: 2;
  background: linear-gradient(90deg, #345e64 0%, #3d696b 50%, #4d7e7e 100%) !important;
}
body[data-page="hardware"] .hardware-product-grid .card:nth-child(2) {
  order: 1;
  background: linear-gradient(90deg, #102f42 0%, #285a68 100%) !important;
}
body[data-page="hardware"] .hardware-product-grid .card p { color: rgba(255,255,255,0.74); }
body[data-page="hardware"] .hardware-product-grid .card .product-tagline {
  color: white;
  font-weight: 600;
}
body[data-page="hardware"] .hardware-product-grid .card .check-list { color: rgba(255,255,255,0.78); }
body[data-page="hardware"] .hardware-product-grid .card h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 400;
}
body[data-page="hardware"] .hardware-product-grid .card .eyebrow,
body[data-page="hardware"] .hardware-product-grid .product-link { color: #00d1ff; }
body[data-page="hardware"] .hardware-product-grid .product-link { font-weight: 600; }
body[data-page="hardware"] .hardware-process-steps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="hardware"] .hardware-process-steps .step { padding: 24px; }
body[data-page="hardware"] .hardware-benefit-grid .card h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
}
body[data-page="hardware"] .hardware-architecture-steps .step h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
}
body[data-page="hardware"] .hardware-architecture-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="hardware"] .hardware-option-steps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="hardware"] .hardware-architecture-steps .step,
body[data-page="hardware"] .hardware-option-steps .step { padding: 24px; }
body[data-page="edge-device"] .edge-function-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="edge-device"] .edge-function-steps .step { padding: 24px; }
body[data-page="edge-device"] .edge-function-steps .step:nth-child(2) {
  border-color: rgba(0,209,255,0.72);
  background: linear-gradient(145deg, rgba(12,105,142,0.72), rgba(7,49,73,0.94));
  box-shadow: 0 18px 42px rgba(0,174,220,0.18);
}
body[data-page="edge-device"] .edge-function-steps .step h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
body[data-page="edge-device"] .edge-rollout-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="edge-device"] .edge-rollout-steps .step { padding: 24px; }
body[data-page="edge-device"] .edge-rollout-steps .process-product-name {
  color: #00a8d3;
}
body[data-page="verification-device"] .verification-scope-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
body[data-page="verification-device"] .verification-scope-steps .step { padding: 24px; }
body[data-page="verification-device"] .verification-scope-steps .step h3 {
  font-family: "IBM Plex Sans", "Inter", sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.case-thumb { position: relative; display: block; aspect-ratio: 1200 / 470; margin: -20px -20px 18px; overflow: hidden; border-radius: 8px 8px 0 0; background: #08111d; }
.case-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
body[data-page="case-studies"] .case-card {
  color: #0b192b;
  border-color: rgba(11,25,43,0.12);
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(5,18,35,0.12);
}
body[data-page="case-studies"] .case-card h3 { color: #0b192b !important; }
body[data-page="case-studies"] .case-card p,
body[data-page="case-studies"] .case-card .check-list,
body[data-page="case-studies"] .case-card .check-list li { color: #52627a !important; }
body[data-page="case-studies"] .case-card p { color: #52627a !important; }
body[data-page="case-studies"] .case-card .eyebrow { color: #b3266e !important; }
body[data-page="case-studies"] .case-card .meta-line { color: #173c5d !important; }
body[data-page="case-studies"] .case-card strong,
body[data-page="case-studies"] .case-card em { color: inherit; }
.case-downloads { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #00d1ff; font-size: 0.9rem; font-weight: 600; }
body[data-page="case-studies"] .case-downloads { color: #0878d1; }
body[data-page="case-studies"] .case-downloads a { color: inherit !important; }
body[data-page="case-studies"] .section--light .button--yellow { color: #0b192b !important; }
.case-next-step-detail { color: #ffffff; font-weight: 400; }
body[data-page="case-studies"] .case-option--blue { color: #159fe5; }
body[data-page="case-studies"] .case-option--yellow { color: #d96f32; }
body[data-page="case-studies"] main > .section:last-child {
  padding-block: clamp(28px, 3.5vw, 44px);
}
body[data-page="case-studies"] main > .section:last-child .section-head { margin-bottom: 20px; }
.case-next-step-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1100px;
}
.case-next-step-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-right: clamp(24px, 4vw, 52px);
}
.case-next-step-option + .case-next-step-option {
  padding-right: 0;
  padding-left: clamp(24px, 4vw, 52px);
  border-left: 1px solid rgba(255,255,255,.28);
}
.case-next-step-option .case-option { font-size: 1.05rem; }
.case-next-step-option .case-next-step-detail { margin: 0 0 4px; line-height: 1.5; }
.case-next-step-option .button { margin-top: auto; }
@media (max-width: 720px) {
  .case-next-step-grid { grid-template-columns: 1fr; gap: 22px; }
  .case-next-step-option { padding-right: 0; }
  .case-next-step-option + .case-next-step-option {
    padding-top: 22px;
    padding-left: 0;
    border-top: 1px solid rgba(255,255,255,.28);
    border-left: 0;
  }
}
body[data-page="about"] .technological-core { font-weight: 400; }
body[data-page="about"] .technological-core strong { font-weight: 500; }
body[data-page="about"] .about-location-section { padding-bottom: 28px; }
body[data-page="about"] .about-final-cta { padding: 16px 0 40px; }
body[data-page="about"] .about-final-cta > .wrap { padding: clamp(18px, 2.2vw, 26px); }
body[data-page="about"] .about-final-cta .section-head { margin-bottom: 0; }
body[data-page="about"] .about-final-cta .section-head h2 { font-size: clamp(1.45rem, 2.4vw, 2.1rem); }
body[data-page="about"] .about-final-cta .button-row { margin-top: 16px; }
body[data-page="about"] .about-final-cta .button--about-cta { color: #fff; border: 1px solid rgba(255,255,255,.24); background: #006476; }
body[data-page="about"] .about-final-cta .button--about-cta:hover { background: #00788d; }

/* Compact large call-to-action sections at the end of content pages. */
body:not([data-page="about"]):not([data-page="shop"]) main > .section:last-child:has(> .wrap > .button-row) {
  padding-block: clamp(34px, 4.2vw, 54px);
}
body:not([data-page="about"]):not([data-page="shop"]) main > .section:last-child:has(> .wrap > .button-row) .section-head {
  margin-bottom: 0;
}
body:not([data-page="about"]):not([data-page="shop"]) main > .section:last-child:has(> .wrap > .button-row) .section-head h2 {
  font-size: clamp(1.55rem, 2.6vw, 2.3rem);
}
body:not([data-page="about"]):not([data-page="shop"]) main > .section:last-child:has(> .wrap > .button-row) .button-row {
  margin-top: 18px;
}
body[data-page="news"] .news-hero {
  padding-block: clamp(44px, 5.5vw, 76px);
  background: linear-gradient(105deg, #507d90 0%, #71a2b6 58%, #91bdcc 100%);
}
body[data-page="news"] .news-hero .hero-copy { max-width: 1180px; }
body[data-page="news"] .news-hero h1 { max-width: none; font-size: clamp(2.2rem, 3.6vw, 3.5rem); white-space: nowrap; }
body[data-page="news"] .news-hero .hero-lead { max-width: 1080px; }
body[data-page="about"] .hero,
body[data-page="events"] .hero { padding-block: clamp(44px, 5.5vw, 76px); }
body[data-page="about"] .hero .hero-copy,
body[data-page="events"] .hero .hero-copy { max-width: 1180px; }
body[data-page="about"] .hero h1,
body[data-page="events"] .hero h1 { max-width: none; font-size: clamp(2.2rem, 3.6vw, 3.5rem); }
body[data-page="events"] .hero h1 { white-space: nowrap; }
body[data-page="about"] .hero .hero-lead,
body[data-page="events"] .hero .hero-lead { max-width: 1080px; }
.events-featured-section .section-head { max-width: 1050px; }
.event-featured-card { display: grid; grid-template-columns: 120px minmax(0,1fr); overflow: hidden; border: 1px solid rgba(11,25,43,.12); border-radius: 15px; background: #fff; box-shadow: 0 10px 28px rgba(8,20,38,.08); }
.event-date-block { display: grid; align-content: center; justify-items: center; min-height: 145px; padding: 15px; color: #fff; background: linear-gradient(105deg, #006476 0%, #0091ad 58%, #2eb2c7 100%); text-align: center; }
.event-date-block strong { font-size: 1.35rem; line-height: 1; }
.event-date-block span { margin-top: 8px; font-weight: 600; }
.event-featured-copy { padding: clamp(15px,2vw,22px); }
.event-featured-copy h3 { margin: 4px 0 6px; font-size: clamp(1.15rem,1.8vw,1.5rem); }
.event-featured-copy > p:not(.event-location) { font-size: .9rem; line-height: 1.45; }
.event-featured-copy .button { min-height: 34px; margin-top: 9px; padding: 7px 12px; font-size: .84rem; }
.event-location { color: #507d90; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.events-upcoming-section { padding-block: clamp(20px,2.6vw,30px); }
.events-upcoming-wrap { display: block; }
.events-upcoming-wrap .section-head { margin-bottom: 0; }
.event-upcoming-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.event-upcoming-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 210px; padding: 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.05)); }
.event-upcoming-card time { color: #71d9e8; font-size: .72rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.event-upcoming-card h3 { margin: 6px 0; color: #fff; font-size: 1rem; line-height: 1.3; }
.event-upcoming-card p { margin: 0 0 7px; color: rgba(255,255,255,.78); font-size: .82rem; line-height: 1.4; }
.event-upcoming-card span { margin-bottom: 10px; color: rgba(255,255,255,.62); font-size: .76rem; line-height: 1.35; }
.event-upcoming-card a { margin-top: auto; color: #71d9e8; font-size: .8rem; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.event-archive-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.event-archive-card {
  position: relative;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 10px;
  background: linear-gradient(105deg, #507d90 0%, #638fa2 56%, #71a2b6 100%);
  box-shadow: 0 8px 22px rgba(20,47,61,.14);
}
.event-archive-card::before { content: none; display: none; }
.event-archive-card time { color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.event-archive-card h3 { margin: 5px 0; font-size: .9rem; line-height: 1.3; }
.event-archive-card p { margin: 0 0 7px; font-size: .8rem; }
.event-archive-card a { font-size: .8rem; }
.event-archive-card a { color: #fff; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .event-featured-card { grid-template-columns: 1fr; }
  .event-date-block { min-height: 130px; }
  .events-upcoming-wrap { display: grid; align-items: start; }
  .event-archive-grid { grid-template-columns: 1fr; }
  .event-upcoming-grid { grid-template-columns: 1fr; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .event-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-upcoming-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
body[data-page="news"] .section-head h2 { font-size: clamp(2rem, 3.6vw, 3.15rem); }
.news-feature { position: relative; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(190px, .55fr); overflow: hidden; margin-top: 34px; border-radius: 24px; color: white; background: #123b55; }
.news-feature::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #168bff, #00cbef); }
.news-feature-copy { padding: clamp(14px, 1.9vw, 21px); }
.news-feature h3 { max-width: 720px; margin: 8px 0; font-size: clamp(1.2rem, 1.8vw, 1.6rem); font-weight: 600; line-height: 1.18; }
.news-feature p { max-width: 760px; margin-block: 7px; color: rgba(255,255,255,.76); font-size: .88rem; font-weight: 400; line-height: 1.4; }
.news-feature-mark { display: grid; place-content: center; min-height: 130px; color: #ffffff; background: #0b263a; text-align: center; }
.news-feature-mark span { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; font-size: clamp(2.2rem, 4vw, 3.7rem); font-weight: 400; letter-spacing: -.035em; }
.news-feature-mark small { color: #00cbef; font-size: 1rem; font-weight: 600; letter-spacing: .22em; }
.news-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 14px; color: rgba(255,255,255,.62); font-size: .76rem; font-weight: 500; letter-spacing: .075em; text-transform: uppercase; }
.news-type { color: #ff9f50; }
.news-type--article { color: #48d2c2; }
.news-type--update { color: #00cbef; }
.news-category-key { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 26px; font-size: .78rem; font-weight: 550; letter-spacing: .075em; text-transform: uppercase; }
.news-category-key .is-press { color: #ff9f50; }
.news-category-key .is-article { color: #48d2c2; }
.news-category-key .is-update { color: #00cbef; }
.news-category-key > span[aria-hidden] { color: rgba(255,255,255,.3); }
.news-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-weight: 550; }
.news-feature .news-link { color: #00cbef; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.news-card { display: flex; flex-direction: column; min-height: 310px; padding: clamp(22px, 3vw, 32px); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; color: white; background: rgba(255,255,255,.055); }
.news-card h3 { margin: 16px 0 12px; font-size: clamp(1.18rem, 1.8vw, 1.5rem); font-weight: 500; line-height: 1.24; }
.news-card p { color: rgba(255,255,255,.7); font-size: .88rem; font-weight: 400; line-height: 1.4; }
.news-card .news-link { margin-top: auto; padding-top: 24px; color: #00cbef; }
.news-perspectives { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: center; gap: clamp(36px, 7vw, 90px); padding: clamp(28px, 5vw, 52px); border-radius: 22px; background: linear-gradient(105deg, #185264 0%, #185264 58%, #246574 100%); }
.news-exchange-section { background: var(--surface) !important; }
.news-exchange-section .section-head {
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.news-exchange-section .section-head h2 { color: #ffffff; }
.news-exchange-section .section-head > p:not(.eyebrow) { color: rgba(255,255,255,.76); }
.news-exchange-section .section-head .eyebrow { color: rgba(255,255,255,.7); }
.news-note { padding: 25px 25px 25px clamp(28px, 4vw, 46px); border: 0; border-left: 1px solid rgba(255,255,255,.3); border-radius: 0; color: #ffffff; background: transparent; }
.news-note-label { color: #00cbef; font-size: .76rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.news-note p { color: rgba(255,255,255,.78); font-weight: 400; }
body[data-page="software"] .software-components-section .product-link,
body[data-page="hardware"] .hardware-product-grid .product-link,
body[data-page="home"] .section--cases .product-link {
  color: #5bb8ff !important;
}
body[data-page="news"] .news-link { color: rgba(255,255,255,.82) !important; }
body[data-page="news"] .news-link:hover,
body[data-page="news"] .news-link:focus-visible { color: #ffffff !important; }
.shop-hero .hero-copy { max-width: 1080px; }
.shop-hero h1 { max-width: 1020px; }
.shop-category-nav { position: sticky; top: 71px; z-index: 20; border-bottom: 1px solid rgba(11,25,43,.13); background: #fff; }
.shop-category-nav .wrap { display: flex; align-items: center; gap: 30px; min-height: 62px; }
.shop-category-nav a { color: #0b192b; font-size: .91rem; font-weight: 600; }
.shop-category-nav a:hover { color: #076ce0; }
.shop-category-nav span { margin-left: auto; color: #687589; font-size: .78rem; }
.shop-path-section { padding: 42px 0 12px; background: #eef2f5 !important; }
.shop-intro { display: block; }
.shop-intro .eyebrow { margin-bottom: 8px; color: #0878df; font-size: 1rem; font-weight: 600; }
.shop-intro div > p:not(.eyebrow) { max-width: 850px; margin: 0; color: var(--muted); }
.shop-path { display: none; }
.shop-path li { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 24px; border: 1px solid rgba(11,25,43,.12); border-radius: 16px; background: #fff; }
.shop-path li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; color: white; background: linear-gradient(135deg, #b9571f, #ffc36a); font-size: .84rem; font-weight: 650; }
.shop-path strong { display: block; color: #0b192b; font-size: 1.06rem; font-weight: 600; }
.shop-path p { margin: 7px 0 0; color: var(--muted); font-size: .94rem; font-weight: 400; }
.shop-store-section { padding: 42px 0 24px; background: #eef2f5 !important; border-top: 0; }
.shop-store-section + .shop-store-section { padding-top: 48px; }
.shop-store-section .section-head { display: grid; grid-template-columns: 240px minmax(0,1fr); column-gap: 28px; max-width: none; padding-bottom: 14px; border-bottom: 1px solid rgba(11,25,43,.15); }
.shop-store-section .section-head .eyebrow { grid-column: 1; }
.shop-store-section .section-head h2 { grid-column: 1 / -1; margin-top: 5px; font-size: clamp(1.65rem,2.5vw,2.35rem); }
.shop-store-section .section-head > p:not(.eyebrow) { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0; }
.shop-hardware-section .section-head > p:not(.eyebrow) { grid-column: 1 / -1; grid-row: auto; margin-top: 8px; font-weight: 400; }
.shop-store-section .section-head h2 { color: #0b192b !important; }
.shop-store-section .section-head > p:not(.eyebrow) { color: var(--muted) !important; }
.shop-store-section .section-head .eyebrow { color: #0878df !important; }
.rt-license-workflow {
  display: grid;
  grid-template-columns: minmax(0,1fr) 54px minmax(0,1fr);
  align-items: stretch;
  max-width: 960px;
  margin-top: 24px;
}
.rt-workflow-step {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 13px;
  padding: 18px;
  border: 1px solid rgba(8,120,223,.18);
  border-radius: 10px;
  background: #fff;
}
.rt-workflow-index {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  background: #0878df;
  font-size: .86rem;
  font-weight: 750;
}
.rt-workflow-step h3 { margin: 0 0 4px; color: #0b192b; font-size: 1.05rem; font-weight: 700; }
.rt-workflow-step strong { color: #0878df; font-size: .82rem; }
.rt-workflow-step p { margin: 5px 0 0; color: #52627a; font-size: .84rem; line-height: 1.45; }
.rt-workflow-connector { position: relative; min-height: 2px; align-self: center; background: #8fc5df; }
.rt-workflow-connector::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #3c98c4;
  border-right: 2px solid #3c98c4;
  transform: translateY(-50%) rotate(45deg);
}
.shop-info-box {
  position: relative;
  max-width: 860px;
  margin-top: 22px;
  overflow: hidden;
  padding: 16px 18px 16px 26px;
  border: 1px solid #8fdaf1;
  border-radius: 10px;
  color: #174463;
  background: #e5f7fd;
}
.shop-info-box::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(#168bff, #18bfd1); }
.shop-info-box h3 { margin: 0; color: #123d5a; font-size: 1rem; font-weight: 700; }
.shop-info-box ul { margin: 10px 0 0; padding-left: 1.1rem; color: #365e78; font-size: .84rem; line-height: 1.48; }
.shop-info-box li + li { margin-top: 5px; }
.shop-info-box p { margin: 7px 0 0; color: #365e78; font-size: .86rem; line-height: 1.48; }
.shop-info-box--engine { margin-top: 22px; }
.rt-license-explainer-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.35fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 22px;
}
.rt-license-explainer-grid .shop-info-box { max-width: none; margin-top: 0; }
.rt-purchase-workflow {
  padding: 16px 18px;
  border: 1px solid rgba(8,120,223,.2);
  border-radius: 10px;
  background: #fff;
}
.rt-purchase-workflow h3 { margin: 0 0 13px; color: #123d5a; font-size: 1rem; font-weight: 700; }
.rt-purchase-workflow ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rt-purchase-workflow li { position: relative; min-width: 0; }
.rt-purchase-workflow li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 14px;
  right: -14px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #79bfe3;
  border-right: 2px solid #79bfe3;
  transform: rotate(45deg);
}
.rt-purchase-workflow li > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-bottom: 8px;
  border-radius: 50%;
  color: #fff;
  background: #0878df;
  font-size: .76rem;
  font-weight: 750;
}
.rt-purchase-workflow strong { display: block; color: #0b192b; font-size: .78rem; line-height: 1.35; }
.rt-purchase-workflow small { display: block; margin-top: 5px; color: #52627a; font-size: .7rem; line-height: 1.4; }
.rt-comparison-wrap {
  margin-top: 22px;
  overflow-x: auto;
  border-block: 1px solid rgba(11,25,43,.14);
  background: rgba(255,255,255,.58);
  scrollbar-width: thin;
}
.rt-comparison-table { width: 100%; min-width: 1010px; border-collapse: collapse; color: #34465c; font-size: .79rem; line-height: 1.35; }
.rt-comparison-table caption { padding: 12px 10px 9px; color: #0b192b; font-size: .93rem; font-weight: 700; text-align: left; }
.rt-comparison-table th,
.rt-comparison-table td { padding: 11px 10px; border-top: 1px solid rgba(11,25,43,.1); text-align: left; vertical-align: middle; }
.rt-comparison-table thead th { color: #22384f; background: #edf3f7; font-weight: 700; white-space: nowrap; }
.rt-comparison-table tbody th { color: #0b192b; font-weight: 700; white-space: nowrap; }
.rt-comparison-table tbody tr { transition: background-color .16s ease; }
.rt-comparison-table tbody tr:hover { background: #f4f9fc; }
.rt-comparison-table .is-price { text-align: right; white-space: nowrap; }
.shop-product-grid { display: grid; gap: 22px; margin-top: 30px; }
.shop-product-grid--two { grid-template-columns: 1fr; }
.license-catalog-status { margin: 18px 0 0; padding: 12px 14px; border: 1px solid rgba(12,29,55,.12); border-radius: 8px; color: #33465c; background: #fff; font-size: .86rem; font-weight: 650; line-height: 1.45; }
.license-catalog-status.is-ready { color: #14532d; border-color: rgba(26,163,151,.32); background: #eefbf7; }
.license-catalog-status.is-error { color: #7c2d12; border-color: rgba(217,111,50,.36); background: #fff7ed; }
.license-tier-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
.license-tier-card, .license-addon-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(11,25,43,.13);
  border-radius: 12px;
  color: #0b192b;
  background: #fff;
  box-shadow: 0 8px 22px rgba(8,20,38,.08);
}
.license-tier-card { grid-template-columns: minmax(0, 1fr) minmax(230px, 265px); gap: 10px 22px; align-items: center; }
.license-tier-card .shop-card-meta,
.license-tier-card h3,
.license-tier-card .shop-card-tagline,
.license-tier-card ul { grid-column: 1; }
.license-tier-card .license-price { grid-column: 2; grid-row: 1 / span 4; align-self: center; }
.license-tier-card > .shop-unavailable { grid-column: 2; justify-self: stretch; align-self: start; }
.license-tier-card--enterprise { grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: 16px 22px; }
.license-tier-card--enterprise .license-price { grid-column: 1; grid-row: auto; align-self: start; max-width: 265px; }
.license-tier-card h3, .license-addon-card h3 { margin: 0; color: #0b192b; font-family: "Inter", ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.18rem, 1.6vw, 1.42rem); font-weight: 650; line-height: 1.25; }
.license-tier-card .shop-card-tagline { margin: 0 !important; }
.license-tier-card ul { margin: 0; padding-left: 1.1rem; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.license-tier-card li + li { margin-top: 5px; }
.license-price { display: grid; gap: 4px; padding: 15px; border: 1px solid rgba(12,29,55,.1); border-radius: 10px; background: #f5f8fc; }
.license-price span { color: #33465c; font-size: .72rem; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.license-price strong, .license-addon-price { color: #0b192b; font-size: 1.65rem; font-weight: 700; line-height: 1.08; }
.license-price small { color: var(--muted); font-size: .79rem; line-height: 1.35; }
.license-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.license-rules-grid section { padding: 18px; border: 1px solid rgba(12,29,55,.1); border-radius: 10px; background: #fff; }
.license-rules-grid h3 { margin: 0 0 8px; color: #0b192b; font-size: 1rem; font-weight: 650; }
.license-rules-grid p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.license-addon-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
.license-addon-card { grid-template-columns: minmax(0, 1fr) minmax(210px, 250px); gap: 10px 22px; align-items: center; }
.license-addon-card h3,
.license-addon-card p:not(.license-addon-price) { grid-column: 1; }
.license-addon-card p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.license-addon-price { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #076ce0 !important; }
.license-addon-card > .shop-unavailable { grid-column: 2; justify-self: stretch; }
.license-enterprise-form { grid-column: 2; grid-row: 1 / span 6; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; padding: 16px; border: 1px solid rgba(12,29,55,.12); border-radius: 10px; background: #f5f8fc; }
.license-enterprise-form label { display: grid; gap: 5px; color: #24364c; font-size: .78rem; font-weight: 700; }
.license-enterprise-form input, .license-enterprise-form textarea { width: 100%; min-height: 42px; border: 1px solid rgba(11,25,43,.15); border-radius: 8px; padding: 9px 10px; color: #0b192b; background: #fff; font: inherit; }
.license-enterprise-form textarea { resize: vertical; }
.license-enterprise-form-wide, .license-enterprise-form .form-status { grid-column: 1 / -1; }
.license-enterprise-form .button { justify-content: center; min-height: 42px; }
.shop-hardware-section .shop-card--edge { order: 1; }
.shop-hardware-section .shop-card--verification { order: 2; }
.shop-card { display: grid; grid-template-columns: 270px minmax(0,1fr) 265px; overflow: hidden; border: 1px solid #aebbc7; border-radius: 12px; color: #0b192b; background: #fff; box-shadow: 0 8px 22px rgba(8,20,38,.09); transition: transform .2s ease, box-shadow .2s ease; }
.shop-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(8,20,38,.12); }
.section--light .shop-card { color: #0b192b; border-color: rgba(11,25,43,.12); background: #fff; }
.shop-card-media { display: grid; place-items: center; min-height: 100%; padding: 18px; border-right: 1px solid rgba(11,25,43,.08); background: #f5f7f9; }
.shop-card-media-frame { position: relative; display: block; width: 100%; }
.shop-card-media img { display: block; width: 100%; height: 205px; object-fit: cover; border-radius: 8px; }
.shop-card-media--graphic img { object-fit: contain; }
.shop-card-media--product img { object-fit: contain; mix-blend-mode: multiply; }
.shop-card-media-link { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border: 1px solid rgba(12,29,55,.16); border-radius: 8px; color: #076ce0; background: rgba(255,255,255,.92); box-shadow: 0 8px 18px rgba(8,20,38,.08); font-size: .78rem; font-weight: 650; text-decoration: none; }
.shop-card-media-link:hover { color: #034fa3; background: #fff; }
.shop-card-body { padding: 27px 30px; }
.shop-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: rgba(11,25,43,.56); font-size: .72rem; font-weight: 550; letter-spacing: .07em; text-transform: uppercase; }
.section--light .shop-card-meta { color: rgba(11,25,43,.56); }
.shop-card-meta > span:not(.shop-status) { color: #173f63; font-weight: 650; }
.shop-status { padding: 6px 9px; border-radius: 999px; }
.shop-status--available,
.section--light .shop-status--available { color: #fff; background: #1aa397; }
.shop-status--planned,
.section--light .shop-status--planned { color: #fff; background: #d96f32; }
.shop-card h3 { margin: 14px 0 0; font-family: "Inter", ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.45rem, 2.2vw, 1.85rem); font-weight: 600; }
.shop-card-tagline { margin-top: 7px !important; color: #076ce0 !important; font-size: 1rem; font-weight: 550 !important; }
.section--light .shop-card-tagline { color: #076ce0 !important; }
.shop-card-body > p:not(.shop-card-tagline) { color: var(--muted); font-size: .95rem; font-weight: 400; }
.section--light .shop-card-body > p:not(.shop-card-tagline) { color: var(--muted); }
.shop-card-body ul { margin: 18px 0 0; padding-left: 1.15rem; color: var(--muted); font-size: .91rem; }
.section--light .shop-card-body ul { color: var(--muted); }
.shop-card-body li + li { margin-top: 7px; }
.shop-card-buy { display: grid; align-content: center; gap: 4px; margin: 18px; padding: 22px; border: 1px solid rgba(12,29,55,.12); border-radius: 18px; color: #0b192b; background: linear-gradient(180deg, #ffffff 0%, #edf4fb 100%); }
.section--light .shop-card-buy { border-color: rgba(12,29,55,.12); color: #0b192b; background: linear-gradient(180deg, #ffffff 0%, #edf4fb 100%); }
.shop-card-buy > span { color: #33465c; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.section--light .shop-card-buy > span { color: #33465c; }
.shop-card-buy strong { font-size: 1.55rem; font-weight: 600; line-height: 1.05; }
.shop-card-buy small { margin-bottom: 8px; color: var(--muted); font-size: .74rem; font-weight: 650; line-height: 1.2; }
.section--light .shop-card-buy small { color: var(--muted); }
.shop-buy-note { margin: 10px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.shop-buy-note--subtle { margin-top: 14px; font-size: .72rem; }
.shop-license-note { margin: 8px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.shop-license-note a { color: #076ce0; text-decoration: underline; text-underline-offset: 2px; }
.shop-price-detail { margin: 4px 0 0; color: #52627a; font-size: .76rem; font-weight: 600; line-height: 1.35; }
.shop-price-detail + .shop-price-detail { margin-top: 1px; }
.shop-pack-selector { display: grid; gap: 6px; margin: 10px 0 4px; padding: 0; border: 0; }
.shop-pack-selector legend { margin-bottom: 6px; color: #0b192b; font-size: .82rem; font-weight: 650; }
.shop-pack-selector label { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid rgba(12,29,55,.14); border-radius: 8px; color: #24364c; background: white; font-size: .8rem; font-weight: 600; cursor: pointer; }
.shop-pack-selector label:has(input:checked) { border-color: #168bff; background: #eaf4ff; box-shadow: inset 0 0 0 1px rgba(22,139,255,.18); }
.shop-pack-selector input { width: 14px; height: 14px; margin: 0; accent-color: #168bff; }
.shop-unavailable { width: 100%; min-height: 40px; margin: 6px 0 2px; padding: 9px 14px; border: 1px solid #bdc9d4; border-radius: 9px; color: #627287; background: #d8e1e9; font: inherit; font-size: .84rem; font-weight: 650; line-height: 1.2; cursor: not-allowed; opacity: 1; }
.shop-availability-note { margin: 8px 0 0; color: var(--muted); font-size: .76rem; font-weight: 400; line-height: 1.4; }
.shop-card-buy .button { justify-self: stretch; margin: 4px 0 5px; text-align: center; }
.shop-card-buy .button--primary { color: #fff !important; border-color: transparent !important; background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%) !important; }
.shop-card-buy .product-link { color: #076ce0; font-size: .92rem; font-weight: 550; }
.section--light .shop-card-buy .product-link { color: #076ce0; }
.shop-more { grid-column: 1 / -1; margin: 0 18px 18px; border: 1px solid rgba(12,29,55,.12); border-radius: 16px; background: #f7fafd; }
.shop-more summary { position: relative; padding: 15px 46px 15px 18px; color: #076ce0; cursor: pointer; list-style: none; font-size: .92rem; font-weight: 600; }
.shop-more summary::-webkit-details-marker { display: none; }
.shop-more summary::after { content: "+"; position: absolute; right: 18px; top: 50%; color: #0b192b; font-size: 1.15rem; font-weight: 400; transform: translateY(-50%); }
.shop-more[open] summary::after { content: "−"; }
.shop-more-close { display: none; }
.shop-more[open] .shop-more-open { display: none; }
.shop-more[open] .shop-more-close { display: inline; }
.shop-more > div { padding: 4px 18px 18px; }
.shop-detail-intro { margin: 0 !important; padding: 2px 18px 16px; max-width: 900px; font-size: .9rem !important; }
.shop-more p { margin: 0 0 12px; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.shop-more a { color: #076ce0; font-size: .84rem; font-weight: 600; }
.shop-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.shop-detail-grid--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.shop-detail-grid section { position: relative; overflow: hidden; padding: 20px 18px 18px; border: 1px solid rgba(12,29,55,.1); border-radius: 14px; background: white; }
.shop-detail-grid section::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, #0878df 0%, #00cbef 100%); }
.shop-detail-grid h4 { margin: 0 0 9px; color: #0b192b; font-size: 1rem; font-weight: 600; }
.shop-detail-page-link { display: inline-flex; margin: 0 18px 18px; }
.shop-card--runtime { grid-template-columns: 270px minmax(0,1fr) 265px; align-items: stretch; }
.shop-card--runtime .shop-card-media { min-height: 100%; }
.shop-card--runtime .shop-card-buy { align-self: stretch; }
.shop-hardware-section .shop-card-media { background: #edf3f5; }
body[data-page="shop"] main > .section:last-of-type { padding: 20px 0; }
body[data-page="shop"] main > .section:last-of-type > .wrap {
  padding: clamp(18px, 2.2vw, 26px);
  color: #0b192b;
  background: #e3e8ed;
}
body[data-page="shop"] main > .section:last-of-type > .wrap::after { display: none; }
body[data-page="shop"] main > .section:last-of-type .button--primary {
  background: #0b192b;
}
body[data-page="shop"] main > .section:last-of-type .shop-se-download-button {
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%) !important;
}
body[data-page="shop"] .final-cta { color: #0b192b; }
body[data-page="shop"] .final-cta .section-head { margin-bottom: 0; }
body[data-page="shop"] .final-cta .section-head h2 { color: #0b192b; font-size: clamp(1.45rem, 2.4vw, 2.1rem); }
body[data-page="shop"] .final-cta .section-head p { color: #52627a; }
body[data-page="shop"] .final-cta .section-head > p:not(.eyebrow) { font-size: .92rem; line-height: 1.45; }
body[data-page="shop"] .final-cta .button-row { margin-top: 16px; }
body[data-page="shop"] .final-cta .button--secondary {
  color: #fff !important;
  border: 0 !important;
  background: #1aa397 !important;
}
body[data-page="shop"] .final-cta .button--secondary:hover { background: #1aa397 !important; }
body[data-page="shop"] main > .section.shop-studio-download-section:last-of-type { padding: clamp(46px, 6vw, 72px) 0 !important; color: var(--ink) !important; background: #fff !important; }
body[data-page="shop"] main > .section.shop-studio-download-section:last-of-type > .wrap { padding: 0 !important; border: 0 !important; border-radius: 0 !important; color: var(--ink) !important; background: #fff !important; background-image: none !important; box-shadow: none !important; }
body[data-page="shop"] main > .section.shop-studio-download-section:last-of-type > .wrap::after { display: none !important; content: none !important; background: none !important; }
body[data-page="shop"] .shop-studio-download-section .section-head h2 { color: var(--ink); }
body[data-page="shop"] .shop-studio-download-section .section-head p { color: var(--muted); }
body[data-page="shop"] .shop-studio-download-section .section-head .eyebrow { color: #607084; }
.se-release-head { max-width: 980px; }
.release-archive-links { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 8px 0 0; color: #52627a; font-size: .86rem; }
.release-archive-links a { color: #076ce0; text-decoration: underline; text-underline-offset: 2px; }
.se-download-form { display: grid; gap: 20px; width: 100%; margin-top: 26px; padding: 28px; border: 1px solid rgba(12,29,55,.12); border-radius: 26px; background: #fff; box-shadow: 0 18px 50px rgba(8,20,38,.1); }
.se-download-form [hidden] { display: none !important; }
.se-download-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.se-download-form > fieldset > legend { margin-bottom: 8px; color: #0b192b; font-size: 1.22rem; font-weight: 650; }
.se-field-hint { margin: 0 0 22px; color: var(--muted); font-size: .92rem; }
.se-os-group + .se-os-group { margin-top: 26px; }
.se-os-group h3 { margin: 0 0 12px; color: #0b192b; font-size: 1rem; font-weight: 650; }
.se-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.se-platform-option { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 12px; min-width: 0; min-height: 150px; padding: 16px; border: 1px solid rgba(16,34,58,.14); border-radius: 18px; color: #0b192b; background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,248,252,.94)); box-shadow: 0 12px 34px rgba(8,20,38,.06); cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.se-platform-option:hover { transform: translateY(-1px); border-color: rgba(62,78,98,.38); box-shadow: 0 18px 42px rgba(8,20,38,.09); }
.se-platform-option:has(input:checked) { border-color: #16a9d4; background: linear-gradient(135deg, #eefaff 0%, #dff6fc 100%); box-shadow: inset 0 0 0 1px rgba(22,169,212,.18), 0 16px 38px rgba(8,20,38,.12); }
.se-platform-option input { appearance: none; width: 22px; height: 22px; margin: 3px 0 0; border: 2px solid #aebbc7; border-radius: 50%; background: #fff; cursor: pointer; }
.se-platform-option input:checked { border-color: #168bff; background: #24c8e8; box-shadow: inset 0 0 0 5px #fff, 0 0 0 2px #168bff; }
.se-platform-option span { display: grid; gap: 5px; }
.se-platform-option strong { font-size: 1.02rem; font-weight: 650; line-height: 1.25; }
.se-device-badge { width: fit-content; margin: 2px 0 3px; padding: 4px 8px; border-radius: 999px; color: #076ce0; background: #d8f1f7; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.se-platform-option small { margin-top: 5px; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.se-platform-option em { margin-top: 11px; color: #52627a; font-size: .82rem; font-style: normal; font-weight: 850; }
.se-platform-option-shell { min-width: 0; overflow: hidden; border: 1px solid rgba(16,34,58,.14); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(8,20,38,.06); }
.se-platform-option-shell .se-platform-option { min-height: 150px; border: 0; border-radius: 0; box-shadow: none; }
.se-platform-option-shell:has(input:checked) { border-color: #16a9d4; box-shadow: inset 0 0 0 1px rgba(22,169,212,.18), 0 16px 38px rgba(8,20,38,.12); }
.se-platform-title-row { display: flex !important; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px 10px !important; }
.platform-verification { display: grid; gap: 8px; padding: 12px 16px 14px; border-top: 1px solid rgba(16,34,58,.1); color: #52627a; background: #f8fafc; font-size: .74rem; line-height: 1.4; }
.platform-signature-info { display: grid; gap: 2px; }
.platform-signature-info strong { color: #24364c; font-size: .76rem; }
.platform-signature-info small { font-size: .72rem; }
.platform-verification-links { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.platform-verification a { color: #076ce0; text-decoration: underline; text-underline-offset: 2px; }
.platform-verification code { font-size: .7rem; }
.se-account-session { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid rgba(12,29,55,.12); border-radius: 16px; background: #f5f8fc; }
.se-account-session > div:first-child { display: grid; gap: 2px; }
.se-account-session span, .se-account-session small { color: #52627a; font-size: .8rem; }
.se-account-session-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.se-account-session-actions .button { min-height: 38px; padding: 8px 12px; color: #24364c !important; border-color: #b8c6d4; background: #fff; }
.se-return-note { margin: 0; padding: 12px 14px; border: 1px solid #8ed8c0; border-radius: 12px; color: #14532d !important; background: #ecfdf5; }
.se-account-section { padding-top: 26px !important; border-top: 1px solid rgba(11,25,43,.12) !important; }
.se-account-mode { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px; margin: 14px 0 16px; padding: 4px; border: 1px solid rgba(12,29,55,.12); border-radius: 8px; background: rgba(232,239,247,.78); }
.se-account-mode label { min-width: 0; cursor: pointer; }
.se-account-mode input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.se-account-mode span { display: flex; min-height: 42px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid transparent; border-radius: 6px; color: var(--muted); background: transparent; font-size: .9rem; font-weight: 800; text-align: center; }
.se-account-mode input:checked + span { border-color: rgba(12,29,55,.22); color: #0b192b; background: #fff; box-shadow: 0 4px 12px rgba(15,23,42,.08); }
.se-account-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.se-account-fields > label, .se-password-field { display: grid; gap: 6px; color: #24364c; font-size: .84rem; font-weight: 600; }
.se-account-fields input { width: 100%; min-height: 48px; border: 1px solid rgba(11,25,43,.15); border-radius: 14px; padding: 11px 13px; color: #0b192b; background: rgba(255,255,255,.96); font: inherit; }
.se-account-fields input:focus { outline: 2px solid rgba(82,98,122,.2); border-color: #60758e; }
.se-password-control { position: relative; }
.se-password-field input { padding-right: 132px; }
.se-password-toggle { position: absolute; right: 8px; bottom: 7px; min-height: 34px; padding: 0 9px; border: 0; border-radius: 7px; color: #33465c; background: #e7edf3; font: inherit; font-size: .72rem; font-weight: 650; cursor: pointer; }
.se-password-toggle:hover { background: #dbe4ec; }
.se-consent { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 8px; padding: 14px 16px; border: 1px solid rgba(12,29,55,.1); border-radius: 16px; color: #52627a; background: rgba(245,248,252,.8); font-size: .92rem; font-weight: 650; line-height: 1.48; }
.se-consent input { margin-top: 3px; accent-color: #52627a; }
.se-consent-privacy { color: #718096; font-size: .8rem; font-weight: 400; }
.se-consent-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.se-consent-privacy a:hover { color: #52627a; }
.se-preview-submit { width: 100%; min-height: 48px; justify-content: center; background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%) !important; }
.se-download-form:not(:has(.se-account-mode input[value="register"]:checked)) .se-register-field,
.se-download-form:not(:has(.se-account-mode input[value="register"]:checked)) .se-registration-only { display: none; }
@media (max-width: 1100px) {
  .se-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body[data-page="shop"] .shop-hero h1 { white-space: normal; }
  body[data-page="shop"] .shop-hero .hero-lead { white-space: normal; }
  .shop-category-nav { top: 72px; }
  .shop-category-nav .wrap { gap: 16px; overflow-x: auto; }
  .shop-category-nav a { white-space: nowrap; }
  .shop-category-nav span { display: none; }
  .shop-intro { grid-template-columns: 1fr; gap: 14px; }
  .shop-store-section .section-head { display: block; }
  .license-tier-grid, .license-addon-grid, .license-rules-grid { grid-template-columns: 1fr; }
  .license-tier-card, .license-addon-card { grid-template-columns: 1fr; }
  .license-tier-card .shop-card-meta,
  .license-tier-card h3,
  .license-tier-card .shop-card-tagline,
  .license-tier-card ul,
  .license-tier-card .license-price,
  .license-tier-card > .shop-unavailable,
  .license-addon-card h3,
  .license-addon-card p:not(.license-addon-price),
  .license-addon-price,
  .license-addon-card > .shop-unavailable { grid-column: auto; grid-row: auto; }
  .license-tier-card--enterprise { grid-column: auto; grid-template-columns: 1fr; }
  .license-enterprise-form { grid-column: auto; grid-row: auto; grid-template-columns: 1fr; }
  .shop-product-grid--two, .shop-path { grid-template-columns: 1fr; }
  .shop-card, .shop-card--runtime { grid-template-columns: 1fr; }
  .shop-detail-grid { grid-template-columns: 1fr; }
  .shop-card-media { min-height: 210px; border-right: 0; border-bottom: 1px solid rgba(11,25,43,.08); }
  .shop-card-buy { border-left: 0; border-top: 1px solid rgba(11,25,43,.1); }
  .shop-card--runtime .shop-card-buy { margin-top: 0; }
}
@media (max-width: 1080px) and (min-width: 761px) {
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .table-scroll-hint { display: block; }
  .hero-pretitle--single-line { white-space: normal; }
  body[data-page="software"] .software-hero-lead-three-lines span { display: inline; white-space: normal; }
  body[data-page="hardware"] .hardware-hero-lead-three-lines span { display: inline; white-space: normal; }
  .contact-card { grid-template-columns: 1fr; gap: 26px; }
  .se-platform-grid, .se-account-fields { grid-template-columns: 1fr; }
  .se-platform-option { min-height: 0; }
  body[data-page="news"] .news-hero h1 { white-space: normal; }
  body[data-page="news"] .news-hero .hero-lead br { display: none; }
  .news-feature, .news-grid, .news-perspectives { grid-template-columns: 1fr; }
  .news-note { padding: 28px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.3); }
  .news-feature-mark { min-height: 150px; }
  .news-card { min-height: 0; }
}
.case-download-link { display: inline-flex; align-items: center; gap: 7px; }
.case-download-icon { display: inline-flex; width: 20px; height: 20px; transition: transform 160ms ease; }
.case-download-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.case-download-link:hover .case-download-icon { transform: translateY(2px); }
.case-downloads a:hover { color: #0b192b; text-decoration: underline; }
.case-downloads span { color: rgba(11,25,43,0.34); }
.challenge-form { display: grid; gap: 22px; }
.challenge-privacy-note > strong:first-child { color: #ff9f50; }
.challenge-industry-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
  color: #173f63;
  font-size: .9rem;
  font-weight: 650;
}
.challenge-industry-trust span { display: inline-flex; align-items: center; padding: 6px 9px; border: 1px solid rgba(23,63,99,.14); border-radius: 7px; background: #fff; }
.challenge-problem-section .section-head { max-width: 1000px; }
.challenge-problem-section .card-grid { gap: 18px; }
.challenge-problem-section .card {
  min-height: 210px;
  padding: 26px;
  box-shadow: 0 14px 34px rgba(8,20,38,.07);
}
.challenge-problem-section .card h3 { margin-bottom: 12px; color: #173f63; }
.challenge-context-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(320px, 4fr); gap: 18px; margin-top: 22px; align-items: stretch; }
.challenge-context-layout .challenge-context-note { max-width: none; height: 100%; margin: 0; }
.challenge-industry-panel { padding: 18px 20px; border: 1px solid rgba(23,63,99,.12); border-radius: 12px; background: #f6f9fb; }
.challenge-industry-panel .eyebrow { margin: 0; color: #607084; }
@media (max-width: 760px) {
  .challenge-context-layout { grid-template-columns: 1fr; }
}
.challenge-scope-grid .card h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.6rem);
  font-weight: 400;
}
body[data-page="edge-challenge"] .challenge-scope-grid .card {
  background: linear-gradient(105deg, #16657f 0%, #0b4259 58%, #07364b 100%);
}
.challenge-form fieldset { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px 12px; margin: 0; padding: 14px; border: 0; border-radius: 8px; }
.challenge-form fieldset::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; border: 1px solid rgba(255,255,255,0.16); border-radius: inherit; }
.challenge-form fieldset > * { position: relative; z-index: 1; }
.challenge-form legend { max-width: calc(100% - 24px); margin-left: 8px; padding: 2px 8px; color: rgba(255,255,255,0.72); background: #0a1524; box-shadow: 0 0 0 4px #0a1524; font-weight: 500; letter-spacing: 0.055em; text-transform: uppercase; white-space: nowrap; }
.challenge-form label { color: rgba(255,255,255,0.88); font-weight: 500; }
.challenge-form label:not(.check-control) { display: block; }
.challenge-form label span { color: rgba(255,255,255,0.62); font-size: 0.82rem; font-weight: 400; }
.challenge-form label .required-marker { color: #ff9f50; font-size: 1rem; font-weight: 600; }
.challenge-form .consent a { color: rgba(255,255,255,.58); font-size: .8rem; font-weight: 400; }
.challenge-form .consent a:hover { color: rgba(255,255,255,.8); }
.challenge-form input:not([type="checkbox"]):not([type="radio"]), .challenge-form textarea, .challenge-form select { display: block; width: 100%; min-height: 38px; margin-top: 5px; border: 1px solid rgba(11,25,43,0.16); border-radius: 8px; padding: 8px 10px; color: #0b192b; background: #edf1f4; }
.challenge-form input::placeholder, .challenge-form textarea::placeholder { color: #718096; opacity: 1; }
.challenge-form textarea { min-height: 68px; resize: vertical; }
.challenge-context-note { max-width: 1100px; margin: 28px 0 0; padding: 18px 20px; border-left: 3px solid #00a8d3; color: #405269; background: #eef6f8; font-size: .96rem; font-weight: 400; line-height: 1.6; }
.challenge-half-field { width: 50%; }
.challenge-half-submit { width: 50%; justify-self: start; }
.check-control { grid-template-columns: auto 1fr !important; align-items: start; }
.check-control input { width: auto; min-height: auto; margin-top: 5px; }
.sub-fieldset { grid-column: 1 / -1; }
.challenge-form .sub-fieldset { margin-top: 10px; }
.consent { color: white; }
.consent a { color: var(--cyan); text-decoration: underline; }
.form-status { margin: 0; color: var(--cyan); font-weight: 500; }
.challenge-direct-contact { margin: -6px 0 0; color: rgba(255,255,255,.62); font-size: .9rem; font-weight: 400; }
.challenge-direct-contact a { color: rgba(255,255,255,.82); text-decoration: underline; text-underline-offset: 2px; }
.challenge-direct-contact a:hover { color: #00cbef; }
.form-status.is-error { color: #ffb078; }
.form-status.is-success { color: white; }
.form-confirmation { display: grid; gap: 8px; padding: 18px; border: 1px solid rgba(35,184,115,0.44); border-radius: 10px; background: rgba(35,184,115,0.12); }
.form-confirmation > strong { color: #8be7ad; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.075em; text-transform: uppercase; }
.form-confirmation > b { color: white; font-size: 1.08rem; font-weight: 600; }
.form-confirmation > span { color: rgba(255,255,255,0.78); font-weight: 400; line-height: 1.5; }
.challenge-form button[disabled] { cursor: wait; opacity: 0.72; }
body[data-page="edge-challenge"] main {
  display: grid;
  grid-template-columns: minmax(24px, 1fr) minmax(0, 780px) minmax(320px, 420px) minmax(24px, 1fr);
  background: linear-gradient(180deg, #08111d 0%, #0b1627 100%);
}
body[data-page="edge-challenge"] main > .hero,
body[data-page="edge-challenge"] main > .section { grid-column: 1 / -1; }
body[data-page="edge-challenge"] #challenge-formular { grid-column: 2; }
body[data-page="edge-challenge"] #challenge-formular + .section { grid-column: 3; }
body[data-page="edge-challenge"] #challenge-formular,
body[data-page="edge-challenge"] #challenge-formular + .section {
  color: white !important;
  background: linear-gradient(180deg, #08111d 0%, #0b1627 100%) !important;
}
body[data-page="edge-challenge"] #challenge-formular {
  position: relative;
  isolation: isolate;
  background: #0b192b !important;
}
body[data-page="edge-challenge"] #challenge-formular::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #0b192b;
}
body[data-page="edge-challenge"] #challenge-formular > .wrap { position: relative; z-index: 1; }
body[data-page="edge-challenge"] #challenge-formular > .wrap,
body[data-page="edge-challenge"] #challenge-formular + .section > .wrap {
  width: calc(100% - 40px);
}
body[data-page="edge-challenge"] #challenge-formular + .section {
  padding: 72px 0;
}
body[data-page="edge-challenge"] #challenge-formular + .section > .wrap {
  position: sticky;
  top: 96px;
  overflow: visible;
  padding: 28px;
  border: 1px solid rgba(0,209,255,0.18);
  border-radius: 20px;
  color: white;
  background: #123b55;
  box-shadow: 0 20px 48px rgba(0,0,0,0.2);
}
body[data-page="edge-challenge"] #challenge-formular + .section > .wrap::after { display: none; }
body[data-page="edge-challenge"] #challenge-formular + .section .section-head p { color: rgba(255,255,255,0.76); }
body[data-page="edge-challenge"] #challenge-formular + .section .section-head h2 {
  font-size: clamp(1.55rem, 2.2vw, 2rem);
}
body[data-page="edge-challenge"] #challenge-formular + .section .steps { grid-template-columns: 1fr; }
body[data-page="edge-challenge"] #challenge-formular + .section .step {
  padding: 16px;
  border-color: rgba(255,255,255,0.14);
  color: white;
  background: rgba(255,255,255,0.07);
}
body[data-page="edge-challenge"] #challenge-formular + .section .step-index {
  background: linear-gradient(135deg, #147a50 0%, #23b873 62%, #8be7ad 100%);
  box-shadow: 0 8px 22px rgba(35,184,115,0.22);
}
body[data-page="edge-challenge"] #challenge-formular + .section .step p { color: rgba(255,255,255,0.74); }
body[data-page="edge-challenge"] #challenge-formular + .section .step h3 {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
}
.breadcrumb { display: flex; gap: 10px; padding: 18px 0 0; font-size: 0.92rem; color: rgba(255,255,255,0.7); }
.breadcrumb a { color: inherit; }
.breadcrumb span:not(:first-child)::before { content: "|"; margin-right: 10px; color: inherit; }
.breadcrumb [aria-current="page"],
.breadcrumb > :last-child { color: #e2e8ef; font-weight: 700; }
.hero > .breadcrumb { padding: 0 0 24px; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; }
.hero > .breadcrumb + .hero-grid .hero-copy > .eyebrow { display: none; }
.site-footer { color: white; background: #0b192b; padding: 0; border-top: 1px solid rgba(255,255,255,0.12); }
.legal-hero { min-height: 0; padding: 38px 0 42px; background: #0f1f3c !important; }
body[data-page="about"] .hero--dark,
body[data-page="kontakt"] .contact-hero,
body[data-page="rechtliches"] .legal-hero {
  background-color: #0b192b !important;
  background-image: linear-gradient(90deg, #0b192b 0%, #0b192b 50%, #0a263a 74%, #073149 100%) !important;
}
.legal-hero h1 { font-size: clamp(2.2rem, 4vw, 3.7rem); }
.legal-breadcrumb { color: #52627a; background: #f4f7fa; border-bottom: 1px solid rgba(11,25,43,.1); }
.legal-breadcrumb .wrap { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; min-height: 46px; font-size: .86rem; }
.legal-breadcrumb a { color: #076ce0; }
.legal-breadcrumb--hero {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  margin: 0 0 12px;
  color: rgba(255,255,255,.72);
  background: transparent;
  border: 0;
  font-size: .86rem;
  font-weight: 400;
}
.legal-breadcrumb--hero a { color: rgba(255,255,255,.82); }
.legal-breadcrumb--hero strong { color: #fff; font-weight: 600; }
.legal-section { padding: 52px 0 76px; background: #fff; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 42px; align-items: start; }
.legal-sidebar { position: sticky; top: 86px; padding: 20px; border: 1px solid rgba(11,25,43,.12); border-radius: 14px; background: #f5f8fc; }
.legal-sidebar .eyebrow { color: #607084; }
.legal-sidebar nav { display: grid; gap: 7px; margin-top: 14px; }
.legal-sidebar a { padding: 10px 12px; border-radius: 8px; color: #173f63; font-weight: 600; }
.legal-sidebar a:hover { background: #e7edf3; }
.legal-sidebar a.is-active { color: #fff; background: #173f63; }
.legal-panel { max-width: 900px; }
.legal-panel[hidden] { display: none; }
.legal-panel > header { margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid rgba(11,25,43,.12); }
.legal-panel > header .eyebrow { color: #076ce0; }
.legal-panel > header h2 { margin-bottom: 10px; color: #0b192b; font-size: clamp(2rem, 3.6vw, 3.1rem); }
.legal-panel > header p:last-child { margin: 0; color: #52627a; }
.legal-copy { color: #34465b; line-height: 1.7; }
.legal-copy h3 { margin: 32px 0 10px; color: #0b192b; font-size: 1.28rem; }
.legal-copy h4 { margin: 24px 0 8px; color: #173f63; font-size: 1.04rem; }
.legal-copy p { margin: 0 0 14px; color: #405269 !important; }
.legal-copy ul { margin: 8px 0 18px; padding-left: 24px; }
.legal-copy li + li { margin-top: 6px; }
.legal-copy a { color: #076ce0; text-decoration: underline; text-underline-offset: 2px; }
.withdrawal-form { margin-top: 24px; padding: 22px; border: 1px solid rgba(11,25,43,.14); border-radius: 12px; background: #f5f8fc; }
.withdrawal-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.withdrawal-form label { display: grid; gap: 6px; color: #24364c; font-size: .84rem; font-weight: 650; }
.withdrawal-form label.is-wide { grid-column: 1 / -1; }
.withdrawal-form input,
.withdrawal-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b8c5d2; border-radius: 7px; color: #0b192b; background: #fff; font: inherit; }
.withdrawal-form textarea { resize: vertical; }
.withdrawal-form :is(input,textarea):focus { outline: 3px solid rgba(8,120,223,.15); border-color: #0878df; }
.withdrawal-form .withdrawal-form-note { margin: 16px 0 0; color: #52647a !important; font-size: .8rem; line-height: 1.5; }
.withdrawal-form-actions { margin-top: 16px; }
.withdrawal-form .button { text-decoration: none; }
.withdrawal-form .button--secondary {
  background: #fff !important;
  border-color: #0878df !important;
  color: #0878df !important;
}
.withdrawal-form .button--primary {
  background: linear-gradient(100deg, #159fe5 0%, #159fe5 86%, #4bbaf0 100%) !important;
  border-color: #159fe5 !important;
  color: #fff !important;
}
.withdrawal-form .form-status { min-height: 1.3em; margin: 12px 0 0; color: #173f63 !important; }
@media (max-width: 820px) {
  .legal-layout { grid-template-columns: 1fr; gap: 28px; }
  .legal-sidebar { position: static; }
  .legal-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .legal-sidebar nav { grid-template-columns: 1fr; }
  .withdrawal-form-grid { grid-template-columns: 1fr; }
  .withdrawal-form label.is-wide { grid-column: auto; }
}
.footer-main { background: #0b192b; padding: 54px 0 34px; }
.site-footer > .footer-grid { padding-top: 54px; padding-bottom: 34px; }
.footer-grid { display: grid; grid-template-columns: minmax(260px,1.35fr) minmax(180px,.8fr) minmax(280px,1.15fr); gap: 36px; }
.footer-brand img { width: 180px; height: 64px; object-fit: contain; object-position: left center; }
.footer-brand p { max-width: 380px; color: rgba(255,255,255,0.72); }
.site-footer nav { display: grid; align-content: start; gap: 8px; }
.site-footer h2 { font-size: 0.95rem; color: white; }
.site-footer a { color: rgba(255,255,255,0.72); }
.site-footer a:hover { color: white; }
.footer-link-button { width: fit-content; margin: 0; padding: 0; border: 0; color: rgba(255,255,255,.72); background: transparent; cursor: pointer; text-align: left; }
.footer-link-button:hover, .footer-link-button:focus-visible { color: #fff; }
.footer-bottom .footer-link-button { display: inline-flex !important; flex: 0 0 auto; margin-right: .25em; font-size: inherit; white-space: nowrap; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 20px; border-top: 1px solid rgba(255,255,255,0.14); color: rgba(255,255,255,0.68); font-size: 0.9rem; }
.footer-bottom > span:first-child { flex: 0 0 auto; white-space: nowrap; }
.footer-bottom > .footer-legal-links { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; min-width: 0; row-gap: .4rem; white-space: normal; }
.footer-legal-links > a { display: inline-flex; align-items: center; margin: 0; white-space: nowrap; }
.footer-legal-links > a:not(:last-child)::after { content: "·"; margin-inline: .72rem; color: rgba(255,255,255,.42); }
@media (max-width: 1100px) {
  body[data-page="edge-challenge"] main { display: block; }
  body[data-page="edge-challenge"] #challenge-formular + .section > .wrap { position: relative; top: auto; }
  .header-grid { grid-template-columns: auto auto; justify-content: space-between; }
  .menu-toggle { display: inline-block; }
  .main-nav, .header-actions { display: none; }
  .main-nav.is-open { display: block; grid-column: 1 / -1; width: 100%; padding: 8px 0 18px; }
  .main-nav.is-open > ul { display: grid; align-items: stretch; justify-content: stretch; }
  .nav-details, .menu-panel { position: static; }
  .menu-panel { margin-top: 6px; box-shadow: none; }
  .hero-grid { grid-template-columns: 1fr; }
  body[data-page="home"] .hero-copy { max-width: 680px; }
  body[data-page="home"] .hero-visual--background-space { display: none; }
  body[data-page="home"] .hero::after {
    right: -3%;
    width: 70%;
    background-size: contain;
    opacity: .66;
  }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .media-grid { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .challenge-half-field, .challenge-half-submit { width: 100%; }
  .brand { min-width: 138px; }
  .brand img { width: 146px; height: 54px; }
  .hero { padding: 52px 0 40px; }
  body[data-page="home"] .hero-copy { max-width: none; }
  body[data-page="home"] .hero::after {
    top: 0;
    right: -2%;
    bottom: 0;
    width: 108%;
    background-position: right center;
    background-size: contain;
    opacity: .32;
    -webkit-mask-image: radial-gradient(ellipse 68% 72% at 64% 50%, #000 36%, rgba(0,0,0,.78) 58%, transparent 100%);
    mask-image: radial-gradient(ellipse 68% 72% at 64% 50%, #000 36%, rgba(0,0,0,.78) 58%, transparent 100%);
  }
  body[data-page="home"] .hero-pretitle--single-line { white-space: normal; }
  body[data-page="suite-rt"] .hero h1 { font-size: clamp(1.9rem, 8.4vw, 2.12rem); }
  .section { padding: 52px 0; }
  .card-grid.two, .card-grid.three, .card-grid.four, .phase-grid, .media-grid.two, .case-grid, .footer-grid, .challenge-form fieldset { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  body[data-page="hardware"] .hardware-process-steps { grid-template-columns: 1fr; }
  body[data-page="hardware"] .hardware-architecture-steps,
  body[data-page="hardware"] .hardware-option-steps { grid-template-columns: 1fr; }
  body[data-page="edge-device"] .edge-function-steps { grid-template-columns: 1fr; }
  body[data-page="edge-device"] .edge-rollout-steps { grid-template-columns: 1fr; }
  body[data-page="verification-device"] .verification-scope-steps { grid-template-columns: 1fr; }
  body[data-page="software"] .software-rollout-steps { grid-template-columns: 1fr; }
  .process-flow { gap: 24px; padding: 24px 20px; }
  .process-flow::before { top: 50px; bottom: 50px; left: 45px; right: auto; width: 3px; height: auto; }
  .process-flow .step { grid-template-columns: 52px 1fr; justify-items: start; align-items: start; gap: 18px; padding: 0; text-align: left; }
  .process-flow .step div { max-width: none; }
  .process-flow .step h3 { min-height: 0; }
  .phase-journey { gap: 28px; }
  .phase-journey::after { top: 50%; left: 50%; width: 40px; height: 40px; transform: translate(-50%, -50%) rotate(90deg); }
  .phase-journey .phase { min-height: 0; padding: 24px; }
  .journey-flow { gap: 26px; padding: 20px 0; }
  .journey-flow::before { top: 48px; bottom: 48px; left: 26px; right: auto; width: 4px; height: auto; }
  .journey-flow .step { grid-template-columns: 56px 1fr; justify-items: start; align-items: start; gap: 16px; padding: 0; text-align: left; }
  .journey-flow .step div { margin-top: 4px; }
  .journey-flow .step h3 { min-height: 0; }
  main > .section:last-of-type { padding: 34px 0; }
  main > .section:last-of-type > .wrap { width: min(calc(100% - 24px), var(--max)); padding: 30px 24px; border-radius: 22px; }
  .semantic-feature, .semantic-feature:nth-of-type(even) { grid-template-columns: 1fr; gap: 20px; }
  .tech-detail { grid-template-columns: 1fr; gap: 20px; }
  .tech-detail:nth-child(even) .media-frame { order: initial; }
  .pipeline-phases .flow-line,
  .pipeline-phases .phase:first-child .flow-line { grid-template-columns: 1fr; }
  .semantic-feature:nth-of-type(even) .semantic-media, .semantic-feature:nth-of-type(even) .semantic-copy { order: initial; }
  .flow-line { display: grid; }
  .flow-line span:not(:last-child)::after { content: ""; }
  .footer-bottom { display: grid; }
  .footer-bottom > .footer-legal-links { width: 100%; justify-content: flex-start; }
  .button-row { align-items: stretch; }
  .button-row .button { width: 100%; }
  .prose.wide { columns: auto; }
}

/* Closing containers reuse the hero gradient of their page; shop stays gray. */
body:not([data-page="shop"]):not([data-page="shop-studio"]):not([data-page="account"]):not([data-page="account-preview"]):not([data-page="account-reset"]):not([data-page="account-verification"]):not([data-page="account-delete"]) main > .section:last-of-type > .wrap {
  color: #fff;
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(105deg, var(--subhero-start, #0b192b) 0%, var(--subhero-start, #0b192b) 46%, var(--subhero-end, #073149) 100%);
  box-shadow: 0 20px 58px rgba(8,20,38,.16);
}
body[data-page="home"] main > .section:last-of-type > .wrap,
body[data-page="about"] main > .section:last-of-type > .wrap,
body[data-page="kontakt"] main > .section:last-of-type > .wrap,
body[data-page="rechtliches"] main > .section:last-of-type > .wrap {
  background: linear-gradient(90deg, #0b192b 0%, #0b192b 50%, #0a263a 74%, #073149 100%);
}
body[data-page="technology"] main > .section:last-of-type > .wrap {
  background: linear-gradient(90deg, #071425 0%, #0a1d3a 54%, #173b59 100%);
}
body[data-page="software"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #0b2038 0%, #123f59 50%, #28778b 100%);
}
body[data-page="hardware"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #163b4d 0%, #163b4d 30%, #1e535e 48%, #28686a 64%, #397c79 82%, #4d9184 100%);
}
body[data-page="case-studies"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #006476 0%, #0091ad 58%, #2eb2c7 100%);
}
body[data-page="edge-challenge"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #16657f 0%, #0b4259 58%, #07364b 100%);
}
body[data-page="news"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #507d90 0%, #71a2b6 58%, #91bdcc 100%);
}
body[data-page="events"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #91bdcc 0%, #71a2b6 58%, #507d90 100%);
}
body[data-page="suite-se"] main > .section:last-of-type > .wrap {
  background: linear-gradient(105deg, #143a59 0%, #143a59 44%, #0a6079 100%);
}
body:not([data-page="shop"]):not([data-page="shop-studio"]):not([data-page="checkout"]):not([data-page="account"]):not([data-page="account-preview"]):not([data-page="account-reset"]):not([data-page="account-verification"]):not([data-page="account-delete"]) main > .section:last-of-type > .wrap .section-head h2,
body:not([data-page="shop"]):not([data-page="shop-studio"]):not([data-page="checkout"]):not([data-page="account"]):not([data-page="account-preview"]):not([data-page="account-reset"]):not([data-page="account-verification"]):not([data-page="account-delete"]) main > .section:last-of-type > .wrap h3 { color: #fff !important; }
body:not([data-page="shop"]):not([data-page="shop-studio"]):not([data-page="checkout"]):not([data-page="account"]):not([data-page="account-preview"]):not([data-page="account-reset"]):not([data-page="account-verification"]):not([data-page="account-delete"]) main > .section:last-of-type > .wrap .section-head p,
body:not([data-page="shop"]):not([data-page="shop-studio"]):not([data-page="checkout"]):not([data-page="account"]):not([data-page="account-preview"]):not([data-page="account-reset"]):not([data-page="account-verification"]):not([data-page="account-delete"]) main > .section:last-of-type > .wrap p { color: rgba(255,255,255,.78) !important; }
body:not([data-page="shop"]):not([data-page="shop-studio"]):not([data-page="checkout"]):not([data-page="account"]):not([data-page="account-preview"]):not([data-page="account-reset"]):not([data-page="account-verification"]):not([data-page="account-delete"]) main > .section:last-of-type .button--secondary:not(.button--offwhite) {
  color: #fff !important;
  border-color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.08);
}
body[data-page="case-studies"] .case-next-step-option + .case-next-step-option {
  border-color: rgba(255,255,255,.3);
}

body[data-page="account-preview"] .account-preview-reset-message {
  color: #006476 !important;
}

/* Account forms stay on the light page surface and are not treated as a closing CTA. */
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type {
  background: #f5f8fc !important;
}
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type > .wrap {
  color: var(--ink) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-page="account-preview"] main > .section.account-preview-section:last-of-type > .wrap::after {
  content: none !important;
  display: none !important;
}
body[data-page="account-preview"] .account-preview-panel {
  background: #fff !important;
}

body[data-page="account-reset"] .account-reset-section {
  padding: clamp(46px, 6vw, 76px) 0;
  color: var(--ink);
  background: #f5f8fc !important;
}
body[data-page="account-reset"] .account-reset-section > .wrap {
  width: min(calc(100% - 40px), 920px);
}
body[data-page="account-reset"] .account-reset-panel {
  padding: clamp(26px, 4vw, 44px);
}
body[data-page="account-reset"] .account-reset-panel > p { color: var(--muted); }
body[data-page="account-reset"] .account-reset-back { margin: 22px 0 0; font-size: .9rem; }
body[data-page="account-reset"] .account-reset-back a { color: #0057c8; text-decoration: underline; text-underline-offset: 2px; }
body[data-page="account-reset"] main > .section:last-of-type > .wrap {
  padding: 0 !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-page="account-reset"] main > .section:last-of-type > .wrap h2 {
  color: #0b192b !important;
}
body[data-page="account-reset"] main > .section:last-of-type > .wrap p {
  color: var(--muted) !important;
}

body[data-page="account-delete"] .account-delete-section {
  padding: clamp(46px, 6vw, 76px) 0;
  color: var(--ink);
  background: #f5f8fc !important;
}
body[data-page="account-delete"] .account-delete-section > .wrap {
  width: min(calc(100% - 40px), 920px);
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-page="account-delete"] .account-delete-section :is(h2, h3) { color: #0b192b !important; }
body[data-page="account-delete"] .account-delete-section p { color: #52627a !important; }
.account-delete-keep { margin-top: 24px !important; font-size: .9rem; }
body[data-page="account-delete"] .account-reset-panel > p + p { margin-top: 16px !important; }
body[data-page="account-delete"] .account-reset-panel .account-delete-notice { margin-top: 30px !important; }
body[data-page="account-delete"] .account-reset-panel:not(:has(form)) > p:last-of-type {
  color: #0b192b !important;
  font-weight: 700;
}

body[data-page="account-verification"] .account-preview-hero-card {
  display: block;
}
body[data-page="account-verification"] .account-preview-hero-card h1 {
  max-width: none;
  font-size: clamp(2.3rem, 4.2vw, 4rem);
  white-space: normal;
}

/* Commerce checkout */
.checkout-heading { padding: 42px 0 34px; color: #fff; background: #0a1a2f; border-bottom: 1px solid rgba(255,255,255,.12); }
.checkout-heading .eyebrow { margin: 0 0 6px; color: #55c6ed; }
.checkout-heading h1 { margin: 0; font-size: 2.4rem; }
.checkout-section { padding: 44px 0 72px; background: #eef2f5 !important; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 26px; align-items: start; }
.checkout-form { display: grid; gap: 16px; }
.checkout-mode-notice { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 16px; padding: 14px 18px; border: 1px solid #d69e00; background: #fff2cc; color: #4d3500; }
.checkout-mode-notice[hidden] { display: none; }
.checkout-mode-notice strong { white-space: nowrap; }
.checkout-mode-notice span { font-size: .92rem; }
.checkout-panel, .checkout-summary, .checkout-result { border: 1px solid rgba(11,25,43,.14); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(8,20,38,.07); }
.checkout-panel { padding: 24px; }
.checkout-panel-heading { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 22px; }
.checkout-panel-heading > span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: #0878df; font-weight: 700; }
.checkout-panel-heading h2 { margin: 0; color: #0b192b; font-size: 1.18rem; }
.checkout-panel-heading p { margin: 2px 0 0; color: #66758a; font-size: .86rem; }
.checkout-product { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 16px; background: #f4f7fa; border-radius: 6px; }
.checkout-product div { display: grid; gap: 3px; }
.checkout-product small { color: #66758a; }
.checkout-product > strong { font-size: 1.25rem; white-space: nowrap; }
.checkout-customer-type { display: flex; gap: 8px; margin: 0 0 20px; padding: 0; border: 0; }
.checkout-customer-type legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.checkout-customer-type label { position: relative; cursor: pointer; }
.checkout-customer-type input { position: absolute; opacity: 0; }
.checkout-customer-type span { display: block; min-width: 130px; padding: 10px 16px; border: 1px solid #b8c5d2; border-radius: 6px; color: #34465c; text-align: center; font-weight: 650; }
.checkout-customer-type input:checked + span { color: #fff; border-color: #0878df; background: #0878df; }
.checkout-customer-type input:focus-visible + span { outline: 3px solid rgba(8,120,223,.2); outline-offset: 2px; }
.checkout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.checkout-fields label { display: grid; gap: 6px; color: #34465c; font-size: .84rem; font-weight: 650; }
.checkout-fields label.is-wide { grid-column: 1 / -1; }
.checkout-fields input, .checkout-fields select { box-sizing: border-box; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b8c5d2; border-radius: 6px; color: #0b192b; background: #fff; font: inherit; }
.checkout-fields input:focus, .checkout-fields select:focus { outline: 3px solid rgba(8,120,223,.15); border-color: #0878df; }
.checkout-fields small { color: #68788c; font-size: .76rem; font-weight: 400; }
.checkout-license-later { margin: 16px 0 0; color: #52647a; font-size: .82rem; line-height: 1.5; }
.checkout-consents { display: grid; gap: 14px; }
.checkout-consents label { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: #405168; font-size: .88rem; line-height: 1.5; }
.checkout-consents input { width: 18px; height: 18px; margin-top: 2px; accent-color: #0878df; }
.checkout-consents a { color: #076ce0; text-decoration: underline; }
body[data-page="checkout"] .checkout-privacy-note {
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px solid #dbe3ea;
  color: #52647a !important;
  font-size: .82rem;
  line-height: 1.5;
}
body[data-page="checkout"] .checkout-privacy-note a,
body[data-page="checkout"] .checkout-optional-consents a { color: #076ce0 !important; text-decoration: underline; text-underline-offset: 2px; }
.checkout-optional-consents { display: grid; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #dbe3ea; }
.checkout-optional-consents h3 { margin: 0 0 2px; color: #0b192b !important; font-size: .96rem; }
.checkout-optional-consents label { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: #405168; font-size: .88rem; line-height: 1.5; }
.checkout-optional-consents input { width: 18px; height: 18px; margin-top: 2px; accent-color: #0878df; }
body[data-page="checkout"] .checkout-optional-consents > p { margin: 2px 0 0; color: #52647a !important; font-size: .8rem; line-height: 1.5; }
.checkout-optional-consents .checkout-preferences-status { min-height: 1.2em; margin: 0; color: #52647a; }
.checkout-status { min-height: 1.4em; margin: 0; color: rgba(255,255,255,.76); }
.checkout-status[data-state="error"] { color: rgba(255,255,255,.76); }
.checkout-status[data-state="pending"] { color: rgba(255,255,255,.76); }
.checkout-submit { justify-self: start; min-width: 250px; }
.checkout-summary { position: sticky; top: 96px; padding: 24px; }
.checkout-summary h2 { margin: 0 0 18px; color: #0b192b; font-size: 1.2rem; }
.checkout-summary dl { margin: 0; }
.checkout-summary dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid #e1e7ed; }
.checkout-summary dt { color: #637287; }
.checkout-summary dd { margin: 0; color: #0b192b; font-weight: 650; text-align: right; }
.checkout-summary-total { margin-top: 5px; border-bottom: 0 !important; font-size: 1.14rem; }
.checkout-summary > p { color: #66758a; font-size: .78rem; line-height: 1.45; }
.checkout-provider { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; padding-top: 16px; border-top: 1px solid #dbe3ea; color: #66758a; font-size: .8rem; }
.checkout-provider strong { color: #0b192b; font-size: 1rem; }
.checkout-result { max-width: 760px; margin: 0 auto; padding: 46px; text-align: center; }
.checkout-result-indicator { width: 42px; height: 42px; margin: 0 auto 22px; border: 4px solid #d7e4ee; border-top-color: #0878df; border-radius: 50%; animation: checkout-spin .9s linear infinite; }
.checkout-result-indicator.is-complete, .checkout-result-indicator.is-error { position: relative; border: 0; animation: none; background: #149b84; }
.checkout-result-indicator.is-complete::after { content: "✓"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 1.45rem; font-weight: 800; }
.checkout-result-indicator.is-error { background: #bd4438; }
.checkout-result-indicator.is-error::after { content: "!"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 1.4rem; font-weight: 800; }
.checkout-result h2 { margin: 4px 0 10px; color: #0b192b; }
.checkout-result > p:not(.eyebrow) { color: #5d6d82; }
.checkout-result dl { max-width: 480px; margin: 24px auto; padding: 16px; background: #f4f7fa; }
.checkout-result dl > div { display: flex; justify-content: space-between; gap: 20px; }
.checkout-result dd { margin: 0; font-weight: 650; }
.checkout-result .button-row { justify-content: center; }
@keyframes checkout-spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-mode-notice { grid-row: 1; }
  .checkout-summary { position: static; grid-row: 2; }
  .checkout-form { grid-row: 3; }
  .rt-license-workflow { grid-template-columns: 1fr; max-width: 680px; }
  .rt-license-explainer-grid { grid-template-columns: 1fr; }
  .rt-workflow-connector { width: 2px; height: 34px; justify-self: center; }
  .rt-workflow-connector::after { top: auto; right: auto; bottom: 0; left: 50%; transform: translateX(-50%) rotate(135deg); }
}
@media (max-width: 620px) {
  .checkout-heading { padding: 30px 0 24px; }
  .checkout-heading h1 { font-size: 2rem; }
  .checkout-section { padding: 28px 0 52px; }
  .checkout-mode-notice { align-items: flex-start; flex-direction: column; gap: 4px; }
  .checkout-panel, .checkout-summary, .checkout-result { padding: 20px; }
  .checkout-fields { grid-template-columns: 1fr; }
  .checkout-fields label.is-wide { grid-column: auto; }
  .checkout-customer-type { display: grid; grid-template-columns: 1fr 1fr; }
  .checkout-customer-type span { min-width: 0; padding: 10px 8px; }
  .checkout-product { align-items: flex-start; }
  .checkout-product > strong { font-size: 1.05rem; }
  .checkout-submit { width: 100%; min-width: 0; }
  .rt-purchase-workflow ol { grid-template-columns: 1fr; gap: 14px; }
  .rt-purchase-workflow li { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 10px; }
  .rt-purchase-workflow li > span { grid-row: 1 / span 2; margin-bottom: 0; }
  .rt-purchase-workflow li:not(:last-child)::after { display: none; }
}

/* Global required-field guidance and submit-gated validation */
.required-marker,
.sf2-required-marker { color: #0098c8; font-size: 1em; font-weight: 750; }
.sf2-required-field { position: relative; }
.sf2-required-hint {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 80;
  display: none;
  width: max-content;
  max-width: min(320px, calc(100vw - 40px));
  padding: 7px 9px;
  border: 1px solid #a8c4d6;
  border-radius: 6px;
  color: #20384f;
  background: #fff;
  box-shadow: 0 9px 24px rgba(8,20,38,.16);
  font-size: .74rem;
  font-weight: 550;
  line-height: 1.35;
  pointer-events: none;
}
.sf2-required-hint::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 13px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #a8c4d6;
  border-left: 1px solid #a8c4d6;
  background: #fff;
  transform: rotate(45deg);
}
.sf2-required-hint.is-visible { display: block; }
.sf2-required-field:focus-within:not(.sf2-required-complete) > .sf2-required-hint { display: block; }
.sf2-invalid-control:not([type="checkbox"]):not([type="radio"]) {
  border-color: #d43d32 !important;
  box-shadow: 0 0 0 2px rgba(212,61,50,.12) !important;
}
.sf2-invalid-control:is([type="checkbox"], [type="radio"]) {
  outline: 2px solid #d43d32 !important;
  outline-offset: 2px !important;
}
.sf2-invalid-field.se-platform-option,
.sf2-invalid-field.account-preview-consent,
.sf2-invalid-field.se-consent { border-color: #d43d32 !important; box-shadow: 0 0 0 2px rgba(212,61,50,.12) !important; }
body[data-page="account-verification"] .account-verification-section {
  padding: clamp(46px, 6vw, 72px) 0;
  color: var(--ink);
  background: #f5f8fc !important;
}
body[data-page="account-verification"] .account-verification-section > .wrap {
  width: min(calc(100% - 40px), 920px);
  padding: 0 !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-page="account-verification"] .account-verification-section .section-head h2 { color: #0b192b !important; }
body[data-page="account-verification"] .account-verification-section :is(h2, h3) {
  color: #0b192b !important;
}
body[data-page="account-verification"] .account-verification-section p {
  color: #52627a !important;
}
.account-verification-intro {
  max-width: 920px;
  margin-bottom: clamp(36px, 5vw, 56px);
}
.account-verification-intro h2 {
  margin: 0 0 18px;
  color: #0b192b !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
  white-space: nowrap;
}
.account-verification-intro p {
  margin: 0;
  color: var(--muted) !important;
  font-size: 1rem;
  line-height: 1.55;
}
.account-verification-intro .account-verification-hint {
  margin-top: 18px;
  font-size: .92rem;
  font-style: italic;
}
.account-verification-steps-head { margin-bottom: 18px; }
.account-verification-steps-head h2 { font-size: clamp(1.2rem, 1.7vw, 1.45rem); }
.account-verification-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.account-verification-steps li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  min-height: 92px;
  padding: 15px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(18,42,74,.07);
}
.account-verification-steps li > span { color: #159fe5; font-size: 1.45rem; line-height: 1; }
.account-verification-steps h3 { margin: 0 0 4px; color: #0b192b !important; font-size: .98rem; }
.account-verification-steps p { margin: 0; color: #52627a !important; font-size: .86rem; line-height: 1.4; }
@media (max-width: 780px) {
  .account-verification-intro h2 { white-space: normal; }
  .account-verification-steps { grid-template-columns: 1fr; }
  .account-verification-steps li { min-height: 0; }
}

body[data-page="events"] .events-featured-section,
body[data-page="events"] .events-archive-section { padding-block: clamp(22px,3vw,32px); }
body[data-page="events"] .events-featured-section .section-head,
body[data-page="events"] .events-archive-section .section-head { margin-bottom: 12px; }
body[data-page="events"] :is(.events-featured-section,.events-upcoming-section,.events-archive-section) .section-head h2 {
  font-size: clamp(1.3rem,2.2vw,1.8rem);
}
body[data-page="events"] :is(.events-featured-section,.events-upcoming-section,.events-archive-section) .section-head > p:not(.eyebrow) {
  font-size: .9rem;
  line-height: 1.45;
}
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap {
  padding: clamp(15px,2vw,22px);
  border-radius: 16px;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap .section-head h2 { color: #0b192b !important; }
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap .section-head p { color: #52627a !important; }
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap .section-head .eyebrow {
  color: #507d90 !important;
  font-size: .76rem;
}
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap .section-head h2 {
  font-size: clamp(1.35rem,2.2vw,1.8rem);
  font-weight: 650;
}
body[data-page="events"] .event-archive-card time { color: #fff; }
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap .event-archive-card h3 { color: #fff !important; }
body[data-page="events"] main > .section.events-archive-section:last-of-type > .wrap .event-archive-card p { color: rgba(255,255,255,.78) !important; }
body[data-page="events"] .event-archive-card a { color: #fff; }

/* Case Studies keeps its original dark closing container instead of the hero gradient. */
body[data-page="case-studies"] main > .section:last-of-type > .wrap {
  color: #fff;
  border-color: rgba(255,255,255,.12);
  background: linear-gradient(105deg, #0b192b 0%, #0b192b 48%, #0a263a 72%, #0b3153 100%);
  box-shadow: 0 24px 70px rgba(8,20,38,.16);
}
body[data-page="case-studies"] main > .section:last-of-type > .wrap .section-head h2,
body[data-page="case-studies"] main > .section:last-of-type > .wrap h3 { color: #fff !important; }
body[data-page="case-studies"] main > .section:last-of-type > .wrap .section-head p,
body[data-page="case-studies"] main > .section:last-of-type > .wrap p { color: rgba(255,255,255,.78) !important; }
body[data-page="case-studies"] .case-next-step-option + .case-next-step-option {
  border-color: rgba(255,255,255,.3);
}
