/* ==========================================================================
   CMPROM — Enterprise stylesheet
   Design language: charcoal + signature CMPROM red + brushed-chrome accents,
   Barlow Condensed display / Inter body / JetBrains Mono labels.
   ========================================================================== */

:root {
  /* Palette — brand red + chrome on charcoal */
  --navy-900: #0b0c0e;   /* darkest charcoal (hero / footer base)   */
  --navy-800: #141518;   /* dark sections                          */
  --navy-700: #1f2127;   /* raised dark surfaces                    */
  --royal-700: #8e1219;  /* deep red                               */
  --royal-600: #b01620;  /* red hover                              */
  --blue-500: #d81f2a;   /* PRIMARY brand red (accent)             */
  --blue-400: #e8323d;   /* bright red                             */
  --electric: #ff3b46;   /* red glint / focus                      */
  --electric-soft: #cdd4dd; /* chrome glint                        */
  --chrome-1: #f4f6f8;   /* brushed-chrome light stop              */
  --chrome-2: #c5cbd3;   /* chrome mid                             */
  --chrome-3: #9aa1ab;   /* chrome dark stop                       */
  --white: #ffffff;
  --gray-50: #f6f7f9;
  --gray-100: #eef0f3;
  --gray-200: #dfe3e8;
  --gray-300: #c3c9d2;
  --gray-500: #6c7480;
  --gray-700: #2a2e35;
  --ink: #15171b;
  --ink-soft: #444a54;

  /* Roles */
  --bg: var(--white);
  --bg-alt: var(--gray-50);
  --text: var(--ink);
  --text-soft: var(--ink-soft);
  --accent: var(--blue-500);
  --accent-hover: var(--royal-600);
  --chrome: linear-gradient(135deg, var(--chrome-1) 0%, var(--chrome-2) 45%, var(--chrome-3) 100%);

  /* Type */
  --font-display: "Barlow Condensed", "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;


  /* Spacing / radius */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --shadow-sm: 0 2px 10px rgba(10,12,16,.08);
  --shadow-md: 0 14px 40px rgba(10,12,16,.14);
  --shadow-lg: 0 30px 70px rgba(8,9,12,.30);
  --ring: 0 0 0 3px rgba(216,31,42,.28);

  --container: 1200px;
  --section-y: clamp(3.5rem, 7vw, 6.5rem);
}

/* ----------  RESET / BASE  ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
h1,h2,h3,h4,h5 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.01em; line-height: 1.04; color: var(--text); text-transform: none; }
a { color: var(--accent); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--accent-hover); }
img, svg { max-width: 100%; }
.container { max-width: var(--container); }

::selection { background: var(--blue-500); color: #fff; }

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 2000;
  background: var(--navy-800); color: #fff; padding: .7rem 1.1rem; border-radius: 0 0 var(--r-sm) 0;
}
.skip-link:focus { left: 0; color:#fff; }

:focus-visible { outline: none; box-shadow: var(--ring); border-radius: 6px; }

/* ----------  TYPE HELPERS  ---------- */
.eyebrow {
  font-family: var(--font-mono);
  font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--accent); display: inline-flex; align-items: center; gap: .55rem;
  margin-bottom: 1rem; font-weight: 500;
  padding: .34rem .8rem .34rem .66rem; border-radius: 100px;
  background: rgba(216,31,42,.07); border: 1px solid rgba(216,31,42,.16);
}
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px rgba(216,31,42,.16); }
.page-hero--dark .eyebrow,
.site-footer .eyebrow,
.hero .eyebrow,
section.invert .eyebrow { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); }
.page-hero .eyebrow::before,
.hero .eyebrow::before,
section.invert .eyebrow::before { background: var(--electric); box-shadow: 0 0 0 3px rgba(255,59,70,.22); }

.section-head { max-width: 720px; margin: 0 auto clamp(2.2rem,4vw,3.4rem); }
.section-title { font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
.section-sub { color: var(--text-soft); font-size: 1.08rem; margin-top: .9rem; }
.nav-link { transition: color .25s ease, opacity .25s ease; }
.feature-card::after { content:""; position:absolute; left:1.6rem; right:1.6rem; top:0; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--accent),transparent); opacity:0; transition:opacity .25s ease; }
.feature-card:hover::after { opacity:.9; }

/* ----------  BUTTONS  ---------- */
.btn { font-family: var(--font-body); font-weight: 600; border-radius: 10px; padding: .72rem 1.4rem; transition: all .22s ease; border: 1.5px solid transparent; }
.btn-lg { padding: .95rem 1.9rem; font-size: 1.02rem; }
.btn-sm { padding: .5rem 1rem; font-size: .9rem; }
.btn-accent { background: var(--accent); color: #fff; box-shadow: 0 8px 22px rgba(216,31,42,.30); }
.btn-accent:hover { background: var(--accent-hover); color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(216,31,42,.40); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--gray-200); }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); background: rgba(216,31,42,.05); }
.btn-light-outline { background: transparent; color:#fff; border-color: rgba(255,255,255,.4); }
.btn-light-outline:hover { background:#fff; color: var(--navy-800); }

/* ==========================================================================
   NAVBAR
   ========================================================================== */
.site-header { position: sticky; top: 0; z-index: 1030; transition: background .3s ease, box-shadow .3s ease, border-color .3s ease; }
.navbar {
  background: rgba(8,12,22,.88);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding: .45rem 0;
  transition: background .3s ease, border-color .3s ease;
}
.nav-shell { min-height: 62px; }
.site-header.is-scrolled .navbar { background: rgba(6,10,18,.42); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); box-shadow: 0 14px 40px rgba(0,0,0,.16); }

/* Home: transparent glass over the dark hero, solidifies on scroll */
body.is-home .site-header { position: fixed; left: 0; right: 0; top: 0; }
body.is-home .site-header .navbar { background: rgba(6,10,18,.30); border-bottom-color: rgba(255,255,255,.08); }
body.is-home .site-header:not(.is-scrolled) .navbar-brand,
body.is-home .site-header:not(.is-scrolled) .navbar-nav .nav-link { color: #eef4ff; }
body.is-home .site-header:not(.is-scrolled) .navbar-nav .nav-link:hover,
body.is-home .site-header:not(.is-scrolled) .navbar-nav .nav-link.active { color: #fff; opacity: 1; }
body.is-home .site-header:not(.is-scrolled) .navbar-toggler { border-color: rgba(255,255,255,.4); }
body.is-home .site-header:not(.is-scrolled) .navbar-toggler-icon { filter: invert(1) brightness(2); }
body.is-home .site-header:not(.is-scrolled) .lang-switch { background: rgba(255,255,255,.14); }
body.is-home .site-header:not(.is-scrolled) .lang-link { color: rgba(255,255,255,.7); }
body.is-home .site-header:not(.is-scrolled) .lang-link.is-current { background: rgba(255,255,255,.92); color: var(--accent); }
body.is-home .site-header.is-scrolled .navbar { background: rgba(6,10,18,.34); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); border-bottom-color: rgba(255,255,255,.10); box-shadow: 0 14px 40px rgba(0,0,0,.14); }
body.is-home .hero { padding-top: calc(clamp(4rem, 9vw, 7.5rem) + 4.6rem); }
@media (max-width: 1199px){ body.is-home .site-header .navbar { background: rgba(11,12,14,.92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); } body.is-home .site-header:not(.is-scrolled) .navbar { background: rgba(11,12,14,.72); } }
.navbar-brand { display: flex; align-items: center; gap: .6rem; font-family: var(--font-display); font-weight: 800; font-size: 1.4rem; color: #fff; transition: color .25s ease; flex: 0 0 auto; }
.navbar-brand:hover { color: #fff; }
.brand-mark { color: var(--accent); display: inline-flex; }
.brand-logo { height: 38px; width: auto; max-width: 190px; display: block; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.32)); }
.navbar-nav { gap: .15rem; }
.navbar-nav .nav-link { font-weight: 650; color: #dbe5f7; padding: .52rem .68rem; border-radius: 8px; font-size: .92rem; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: #fff; background: rgba(255,255,255,.08); }
.navbar-nav .dropdown-toggle::after { margin-left: .4rem; opacity: .7; }
.nav-actions { display:flex; align-items:center; gap:.7rem; margin-left: 1rem; flex: 0 0 auto; }
.dropdown-menu { border: 1px solid rgba(255,255,255,.12); border-radius: 10px; box-shadow: 0 24px 70px rgba(0,0,0,.42); padding: 0; margin-top: .55rem; background: #0d1424; color: #fff; }
.mega-dropdown { position: relative; }
.mega-menu {
  left: 0; transform: none; width: min(460px, calc(100vw - 2rem));
  padding: .85rem; margin-top:.45rem; max-height: calc(100vh - 105px); overflow:auto;
  background:
    linear-gradient(180deg, rgba(18,29,52,.98), rgba(8,13,24,.98)),
    radial-gradient(120% 90% at 20% 0%, rgba(216,31,42,.18), transparent 55%);
}
.mega-menu--wide { width: min(760px, calc(100vw - 2rem)); }
.mega-menu--small { width: min(440px, calc(100vw - 2rem)); }
.mega-menu__intro { background: linear-gradient(145deg, rgba(216,31,42,.18), rgba(31,84,170,.16)); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: .9rem; margin-bottom: .65rem; }
.mega-menu__intro strong { display:block; color:#fff; font-size:1rem; margin:.18rem 0 .12rem; }
.mega-menu__intro p { display:block; color:#aebcda; margin:0; font-size:.84rem; line-height:1.35; }
.mega-menu__eyebrow { display:block; font-family: var(--font-mono); font-size:.7rem; text-transform: uppercase; color:#ffb3ba; letter-spacing:.14em; }
.mega-menu__grid { display:grid; grid-template-columns: 1fr; gap:.3rem; }
.mega-menu__grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-link { display:block; padding:.68rem .75rem; border-radius:9px; color:#d9e4f8; border:1px solid transparent; position:relative; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.mega-link span { display:block; color:#fff; font-weight:700; font-size:.9rem; }
.mega-link small { display:block; color:#8fa1c5; margin-top:.12rem; line-height:1.25; font-size:.82rem; }
.mega-link:hover { background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.14); color:#fff; transform: translateX(3px); }
.mega-link:hover small { color:#c3d1ec; }

@media (min-width: 1200px) {
  .mega-dropdown:hover > .dropdown-menu,
  .mega-dropdown:focus-within > .dropdown-menu {
    display:block;
    opacity:1;
    visibility:visible;
    transform: translateY(0);
    pointer-events:auto;
  }
  .mega-dropdown > .dropdown-menu {
    display:block;
    opacity:0;
    visibility:hidden;
    transform: translateY(8px);
    pointer-events:none;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  }
  .mega-dropdown:nth-last-child(-n+2) > .dropdown-menu { left:auto; right:0; }
}

.lang-switch { display: inline-flex; gap: 2px; padding: 3px; background: rgba(255,255,255,.10); border-radius: 8px; border:1px solid rgba(255,255,255,.10); }
.lang-link { font-family: var(--font-mono); font-size: .72rem; font-weight: 600; padding: .28rem .55rem; border-radius: 6px; color: #b7c5df; }
.lang-link.is-current { background: #fff; color: var(--accent); box-shadow: var(--shadow-sm); }

@media (max-width: 1199px) {
  .nav-shell { min-height: 58px; }
  .brand-logo { height: 38px; max-width: 190px; }
  .navbar-collapse { padding: .9rem 0 1rem; }
  .navbar-nav { align-items: stretch !important; }
  .navbar-nav .nav-link { padding:.75rem .25rem; }
  .mega-menu, .mega-menu--wide, .mega-menu--small { position: static !important; transform:none; width:100%; margin:.2rem 0 .8rem; box-shadow:none; }
  .mega-menu__grid, .mega-menu__grid--compact { grid-template-columns: 1fr; }
  .nav-actions { margin: .8rem 0 0; justify-content:space-between; }
}
@media (max-width: 575px){
  .brand-logo { height: 34px; max-width: 150px; }
  .nav-actions { align-items:flex-start; flex-direction:column; }
}

/* ==========================================================================
   HERO (home)
   ========================================================================== */
.hero {
  position: relative;
  background: radial-gradient(120% 130% at 80% -10%, #14336e 0%, var(--navy-800) 42%, var(--navy-900) 100%);
  color: #fff; overflow: hidden;
  padding: clamp(4rem, 9vw, 7.5rem) 0 clamp(4rem, 8vw, 6.5rem);
}
.hero-grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(120,160,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,160,255,.07) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 78%);
  pointer-events: none;
}
.hero-arc {
  position: absolute; right: -140px; top: 50%; transform: translateY(-50%);
  width: 640px; height: 640px; pointer-events: none; opacity: .22;
}
.hero-emblem { position:absolute; right:clamp(2rem,8vw,8rem); top:50%; transform:translateY(-50%); width:min(34vw,430px); aspect-ratio:1; pointer-events:none; }
.hero-emblem__ring { position:absolute; inset:0; border-radius:50%; border:1px solid rgba(255,255,255,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 30px 90px rgba(0,0,0,.34); background: radial-gradient(circle at 42% 38%, rgba(255,255,255,.10), transparent 30%), radial-gradient(circle at 70% 70%, rgba(216,31,42,.30), transparent 34%); }
.hero-emblem__ring::before,.hero-emblem__ring::after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.hero-emblem__ring::after{inset:22%;border-color:rgba(255,59,70,.24)}
.hero-emblem__card { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(58%,240px); aspect-ratio:1; border-radius:50%; display:grid; place-items:center; align-content:center; gap:.75rem; background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(206,214,225,.82)); border:1px solid rgba(255,255,255,.55); box-shadow:0 24px 80px rgba(0,0,0,.35); color:#15171b; text-align:center; padding:2rem; }
.hero-emblem__card img { width:min(44%,96px); height:auto; filter:drop-shadow(0 12px 18px rgba(0,0,0,.20)); }
.hero-emblem__card span { font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#4a5260; }
.hero .container { position: relative; z-index: 2; }
.hero__eyebrow { color: var(--electric-soft); }
.hero__title { font-size: clamp(2.1rem, 4.25vw, 3.45rem); color: #fff; max-width: 18ch; letter-spacing:0; line-height:1.02; }
.hero__title .grad { background: linear-gradient(100deg, var(--electric-soft), var(--electric)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__sub { color: #c0cce4; font-size: clamp(1.05rem, 2vw, 1.28rem); max-width: 58ch; margin: 1.4rem 0 2.2rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .9rem; }
.hero__meta { margin-top: 2.6rem; display: flex; flex-wrap: wrap; gap: 1.6rem 2.4rem; }
.hero__meta-item { display: flex; align-items: center; gap: .6rem; color: #aeb9d4; font-size: .92rem; }
.hero__meta-item i { color: var(--electric); }

/* trust / capabilities strip */
.trust-strip { border-top: 1px solid rgba(255,255,255,.08); margin-top: 3rem; padding-top: 1.6rem; }
.trust-strip__label { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #8ea0c6; margin-bottom: 1rem; }
.trust-tags { display: flex; flex-wrap: wrap; gap: .6rem; }
.trust-tag { font-size: .85rem; color: #d4ddf0; border: 1px solid rgba(255,255,255,.14); padding: .4rem .9rem; border-radius: 100px; }

/* ==========================================================================
   SECTIONS / GENERIC
   ========================================================================== */
.section { padding: var(--section-y) 0; }
.section--alt { background: var(--bg-alt); }
.section.invert { background: var(--navy-800); color: #fff; }
.section.invert h1,.section.invert h2,.section.invert h3 { color:#fff; }
.section.invert .section-sub { color:#b9c5e0; }

/* page hero band (interior pages) */
.page-hero { position: relative; background: linear-gradient(160deg, var(--navy-800), var(--navy-900)); color:#fff; padding: clamp(3rem,6vw,5rem) 0 clamp(2.6rem,5vw,4rem); overflow:hidden; }
.page-hero .hero-grid-bg { mask-image: radial-gradient(120% 120% at 30% 0%, #000 30%, transparent 80%); }
.page-hero .container { position: relative; z-index:2; }
.page-hero__title { font-size: clamp(1.9rem, 4vw, 3rem); color:#fff; }
.page-hero__sub { color:#c0cce4; max-width: 62ch; margin-top: 1rem; font-size: 1.1rem; }

/* breadcrumb */
.cmprom-breadcrumb { background: var(--bg-alt); border-bottom: 1px solid var(--gray-200); padding: .7rem 0; }
.cmprom-breadcrumb .breadcrumb { font-size: .85rem; }
.cmprom-breadcrumb a { color: var(--gray-500); }
.cmprom-breadcrumb .breadcrumb-item.active { color: var(--text); }

/* ----------  CARDS  ---------- */
.card-grid { display: grid; gap: 1.4rem; }
.cols-2 { grid-template-columns: repeat(2,1fr); }
.cols-3 { grid-template-columns: repeat(3,1fr); }
.cols-4 { grid-template-columns: repeat(4,1fr); }
@media (max-width: 991px){ .cols-3,.cols-4 { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 640px){ .cols-2,.cols-3,.cols-4 { grid-template-columns: 1fr;} }

.feature-card {
  background: #fff; border: 1px solid var(--gray-200); border-radius: var(--r-md);
  padding: 1.7rem 1.6rem; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative; height: 100%;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--gray-300); }
.feature-card__icon {
  width: 50px; height: 50px; border-radius: 12px; display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(216,31,42,.14), rgba(154,161,171,.14)); color: var(--accent);
  font-size: 1.4rem; margin-bottom: 1.1rem;
}
.feature-card h3 { font-size: 1.18rem; margin-bottom: .55rem; }
.feature-card p { color: var(--text-soft); font-size: .96rem; margin: 0; }
.feature-card .card-link { display:inline-flex; align-items:center; gap:.35rem; margin-top: 1rem; font-weight:600; font-size:.9rem; }
.feature-card .card-link i { transition: transform .2s ease; }
.feature-card:hover .card-link i { transform: translateX(3px); }

/* numbered process */
.process-list { counter-reset: step; display: grid; gap: 1.1rem; }
.process-step { display: grid; grid-template-columns: auto 1fr; gap: 1.3rem; align-items: start; background:#fff; border:1px solid var(--gray-200); border-radius: var(--r-md); padding: 1.5rem 1.6rem; }
.process-step__num { font-family: var(--font-mono); font-weight:500; font-size: 1rem; color:#fff; background: var(--navy-800); width: 42px; height:42px; border-radius:10px; display:grid; place-items:center; }
.process-step h3 { font-size:1.15rem; margin-bottom:.3rem; }
.process-step p { margin:0; color: var(--text-soft); font-size:.96rem; }
.section.invert .process-step { background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.12); }
.section.invert .process-step h3 { color:#fff; }
.section.invert .process-step p { color:#b9c5e0; }
.service-premium-intro { max-width:920px; margin:0 auto 3rem; padding:clamp(1.6rem,3vw,2.5rem); border:1px solid var(--gray-200); border-radius:var(--r-lg); background:linear-gradient(145deg,#fff,#f7f8fb); box-shadow:var(--shadow-md); }
.service-premium-intro h2 { font-size:clamp(1.8rem,3vw,2.6rem); margin:.2rem 0 .8rem; }
.service-premium-intro p { color:var(--ink-soft); font-size:1.06rem; max-width:78ch; }
.service-premium-intro__meta { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.3rem; }
.service-premium-intro__meta span { display:inline-flex; align-items:center; gap:.45rem; padding:.55rem .8rem; border:1px solid var(--gray-200); border-radius:999px; background:#fff; color:var(--gray-700); font-weight:700; font-size:.88rem; }
.service-premium-intro__meta i { color:var(--accent); }
.service-process { max-width:920px; margin:0 auto; }
.service-depth {
  max-width: none;
  margin: 0;
  padding: clamp(1.4rem,3vw,2.2rem);
  border: 1px solid var(--gray-200);
  border-radius: var(--r-lg);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.service-depth h2 { font-size: clamp(1.6rem,2.6vw,2.2rem); }
.service-proof-card {
  position: sticky;
  top: 100px;
  padding: clamp(1.4rem,3vw,2rem);
  border-radius: var(--r-lg);
  color: #fff;
  background:
    radial-gradient(90% 90% at 100% 0%, rgba(226,29,47,.34), transparent 42%),
    linear-gradient(145deg, #101827, #080d18);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow-lg);
}
.service-proof-card h3 { color:#fff; font-size:1.5rem; }
.service-proof-card p,
.service-proof-card .check-list li { color:#c5d1e8; }
.service-proof-card .check-list li i { color:#ff5a64; }

/* check list */
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem; }
.check-list li { display:flex; gap:.7rem; align-items:flex-start; color: var(--text-soft); }
.check-list li i { color: var(--accent); margin-top: .2rem; flex-shrink:0; }
.section.invert .check-list li { color:#c6d2ec; }
.section.invert .check-list li i { color: var(--electric-soft); }

/* stat / capability band */
.cap-band { display:grid; grid-template-columns: repeat(4,1fr); gap:1.2rem; }
@media (max-width:991px){ .cap-band{ grid-template-columns: repeat(2,1fr);} }
@media (max-width:560px){ .cap-band{ grid-template-columns: 1fr;} }
.cap { padding:1.4rem 1.3rem; border:1px solid rgba(255,255,255,.12); border-radius: var(--r-md); background: rgba(255,255,255,.03); }
.cap__k { font-family: var(--font-display); font-size:1.5rem; color: var(--electric-soft); }
.cap__v { color:#b9c5e0; font-size:.92rem; margin-top:.3rem; }

/* tech chips */
.tech-grid { display:flex; flex-wrap:wrap; gap:.7rem; }
.tech-chip { font-family: var(--font-mono); font-size:.84rem; padding:.6rem .95rem; border-radius:10px; background:#fff; border:1px solid var(--gray-200); color: var(--gray-700); }
.section.invert .tech-chip { background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035)); border-color: rgba(255,255,255,.14); color:#d4ddf0; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }

/* two-column feature row */
.split { display:grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem,5vw,4rem); align-items:center; }
@media (max-width: 900px){ .split { grid-template-columns: 1fr; } }
.split__visual { background: linear-gradient(150deg, var(--navy-800), var(--royal-700)); border-radius: var(--r-lg); aspect-ratio: 4/3; position:relative; overflow:hidden; box-shadow: var(--shadow-lg); }
.split__visual .hero-grid-bg { opacity:.6; mask-image:none; }
.split__visual-mark { position:absolute; inset:0; display:grid; place-items:center; color: rgba(255,255,255,.9); }
.global-visual { position:absolute; inset:0; display:grid; place-items:center; background: radial-gradient(circle at 50% 44%,rgba(255,255,255,.13),transparent 18%), radial-gradient(circle at 72% 78%,rgba(255,59,70,.25),transparent 28%); }
.global-visual__globe { width:150px; height:150px; border-radius:50%; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.38); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.02)); box-shadow:0 24px 80px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.10); }
.global-visual__globe i { font-size:4.9rem; opacity:.92; }
.global-visual__panel { position:absolute; min-width:138px; border:1px solid rgba(255,255,255,.16); background:rgba(9,14,24,.76); backdrop-filter:blur(14px); border-radius:12px; padding:.8rem .9rem; box-shadow:0 18px 50px rgba(0,0,0,.25); }
.global-visual__panel span { display:block; font-family:var(--font-mono); color:#ffb7bd; font-size:.72rem; letter-spacing:.14em; }
.global-visual__panel strong { display:block; color:#fff; font-size:.88rem; margin-top:.12rem; }
.global-visual__panel.panel-a { left:8%; top:13%; }
.global-visual__panel.panel-b { right:8%; top:18%; }
.global-visual__panel.panel-c { left:50%; bottom:11%; transform:translateX(-50%); }

/* ==========================================================================
   FORMS
   ========================================================================== */
.form-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--r-lg); padding: clamp(1.6rem,3vw,2.6rem); box-shadow: var(--shadow-md); }
.form-label { font-weight:600; font-size:.88rem; color: var(--gray-700); margin-bottom:.35rem; }
.form-control, .form-select { border:1.5px solid var(--gray-200); border-radius:10px; padding:.7rem .9rem; font-size:.96rem; }
.form-control:focus, .form-select:focus { border-color: var(--accent); box-shadow: var(--ring); }
.req { color:#d63b3b; }
.form-note { font-size:.82rem; color: var(--gray-500); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer { background: var(--navy-900); color:#c6d2ec; padding-top: clamp(3rem,6vw,5rem); margin-top: 0; }
.footer-cta { display:flex; flex-wrap:wrap; gap:1.4rem; align-items:center; justify-content:space-between;
  background: linear-gradient(135deg, var(--royal-700), var(--blue-500)); border-radius: var(--r-lg);
  padding: clamp(1.8rem,3vw,2.6rem); margin-bottom: 3.4rem; box-shadow: var(--shadow-lg); }
.footer-cta__eyebrow { display:block; font-family:var(--font-mono); letter-spacing:.16em; text-transform:uppercase; color:#ffced2; font-size:.72rem; margin-bottom:.45rem; }
.footer-cta__title { color:#fff; font-size: clamp(1.4rem,2.6vw,2rem); margin:0; }
.footer-cta__sub { color: rgba(255,255,255,.85); margin:.4rem 0 0; }
.footer-cta__actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.footer-main { display:grid; grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(135px, .78fr)) minmax(260px, 1fr); gap: clamp(1.4rem,2.4vw,2.2rem); align-items:start; }
@media (max-width:1280px){ .footer-main{ grid-template-columns: minmax(250px,1.2fr) repeat(2,minmax(165px,1fr)); } .footer-newsletter{ grid-column: span 2; } }
@media (max-width:900px){ .footer-main{ grid-template-columns: repeat(2,minmax(0,1fr)); } .footer-newsletter{ grid-column:auto; } }
@media (max-width:680px){ .footer-main{ grid-template-columns: 1fr; } }
.footer-company { min-width:0; }
.footer-brand { display:inline-block; }
.footer-brand img { height:56px; width:auto; max-width:250px; display:block; filter: drop-shadow(0 12px 22px rgba(0,0,0,.45)); }
.footer-about { margin-top: .9rem; font-size:.92rem; color:#9fb0d4; max-width: 34ch; }
.footer-contact { display:grid; gap:.45rem; margin-top:1rem; }
.footer-contact a,.footer-contact span { color:#b9c7e4; font-size:.9rem; display:flex; gap:.55rem; align-items:flex-start; }
.footer-contact i { color:#ff5a64; margin-top:.12rem; }
.footer-social { display:flex; gap:.7rem; margin-top:1.1rem; }
.footer-social a { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background: rgba(255,255,255,.06); color:#cdd8f0; }
.footer-social a:hover { background: var(--accent); color:#fff; }
.footer-heading { font-size:.82rem; text-transform:uppercase; letter-spacing:.14em; color:#fff; font-family: var(--font-mono); font-weight:500; margin-bottom:1rem; }
.footer-links { list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }
.footer-links a { color:#9fb0d4; font-size:.92rem; }
.footer-links a:hover { color:#fff; }
.footer-newsletter { min-width:0; }
.footer-news-sub { font-size:.9rem; color:#9fb0d4; margin-bottom:.9rem; }
.footer-news-form .input-group { display:grid; grid-template-columns:minmax(190px,1fr) auto; gap:.65rem; align-items:stretch; }
.footer-news-form .form-control { min-width:0; width:100%; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.12); color:#fff; border-radius:10px!important; }
.footer-news-form .btn { white-space:nowrap; border-radius:10px!important; min-width:124px; }
.footer-news-form .form-control::placeholder { color:#8294bb; }
@media (max-width:520px){ .footer-news-form .input-group{ grid-template-columns:1fr; } .footer-news-form .btn{ width:100%; } }
.footer-bottom { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:flex-start; border-top:1px solid rgba(255,255,255,.08); margin-top:3rem; padding: 1.6rem 0 2.4rem; }
.footer-copy { margin:0; font-size:.85rem; color:#8294bb; }
.footer-legal-wrap { color:#9fb0d4; max-width:760px; }
.footer-legal-wrap summary { cursor:pointer; font-weight:700; color:#dbe5f8; margin-bottom:.8rem; }
.footer-legal { list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; padding:0; margin:0; }
.footer-legal a { color:#8294bb; font-size:.82rem; }
.footer-legal a:hover { color:#fff; }
.site-footer--client { padding:1.5rem 0; }
.client-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid rgba(255,255,255,.08); padding-top:1rem; }
.client-footer .footer-brand img { height:38px; max-width:180px; }
.client-footer__links { display:flex; flex-wrap:wrap; gap:.75rem 1.1rem; }
.client-footer__links a { color:#9fb0d4; font-size:.88rem; }
.client-footer__links a:hover { color:#fff; }
.client-footer p { margin:0; color:#8294bb; font-size:.84rem; }

/* client portal */
.client-topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:1.2rem; margin-bottom:1.4rem; }
@media (max-width:760px){ .client-topbar{ flex-direction:column; } }
.client-stat-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:1rem; margin:1.4rem 0; }
@media (max-width:900px){ .client-stat-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .client-stat-grid{ grid-template-columns:1fr; } }
.client-stat { background:#fff; border:1px solid var(--gray-200); border-radius:8px; padding:1.1rem 1.2rem; box-shadow:var(--shadow-sm); }
.client-stat strong { display:block; font-size:1.8rem; color:var(--navy-800); line-height:1; }
.client-stat span { display:block; color:var(--text-soft); margin-top:.4rem; font-size:.9rem; }
.client-list-row { display:flex; justify-content:space-between; gap:1rem; padding:.9rem 0; border-top:1px solid var(--gray-200); }
.client-list-row:first-of-type { border-top:0; }
.client-list-row strong { display:block; color:var(--text); }
.client-list-row span { display:block; color:var(--text-soft); font-size:.88rem; margin-top:.15rem; }
.client-list-row em { color:var(--accent); font-style:normal; font-weight:700; white-space:nowrap; font-size:.88rem; }
.portal-nav { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1.3rem; }
.portal-nav a { text-decoration:none; color:var(--text); background:#fff; border:1px solid var(--gray-200); border-radius:8px; padding:.62rem .9rem; font-weight:800; font-size:.9rem; box-shadow:var(--shadow-sm); }
.portal-nav a:hover,.portal-nav a.active { color:#fff; background:var(--navy-800); border-color:var(--navy-800); }
.portal-card-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.portal-card-head a { font-weight:800; text-decoration:none; }
.portal-row-link { text-decoration:none; color:inherit; }
.portal-row-link:hover strong { color:var(--accent); }
.portal-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.28rem .65rem; font-size:.78rem; font-weight:900; white-space:nowrap; border:1px solid transparent; }
.portal-badge.ok { color:#075b35; background:#dbf7e9; border-color:#b9eccf; }
.portal-badge.warn { color:#7a4a00; background:#fff0c9; border-color:#f3d98a; }
.portal-badge.muted { color:#4a5568; background:#edf2f7; border-color:#d8e1ea; }
.portal-message { border-top:1px solid var(--gray-200); padding:1rem 0; }
.portal-message:first-of-type { border-top:0; }
.portal-message strong { display:block; color:var(--text); }
.portal-message span { color:var(--text-soft); font-size:.86rem; }
.portal-message p { margin:.55rem 0 0; white-space:pre-wrap; }
.portal-total { display:flex; flex-direction:column; align-items:flex-end; gap:.25rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--gray-200); }

/* ==========================================================================
   COOKIE BANNER / BACK TO TOP
   ========================================================================== */
.cookie-banner { position: fixed; left:1rem; right:1rem; bottom:1rem; z-index:1080;
  background: var(--navy-800); color:#dbe3f5; border:1px solid rgba(255,255,255,.12);
  border-radius: var(--r-md); padding: 1rem 1.2rem; display:flex; flex-wrap:wrap; gap:1rem;
  align-items:center; justify-content:space-between; box-shadow: var(--shadow-lg); max-width: 940px; margin:0 auto; }
.cookie-banner__text { margin:0; font-size:.9rem; }
.cookie-banner__text a { color: var(--electric-soft); }
.cookie-banner__actions { display:flex; gap:.6rem; }

.back-to-top { position: fixed; right:1.2rem; bottom:1.2rem; z-index:1040; width:46px; height:46px;
  border-radius:12px; border:none; background: var(--accent); color:#fff; display:grid; place-items:center;
  box-shadow: var(--shadow-md); opacity:0; pointer-events:none; transform: translateY(10px); transition: all .3s ease; }
.back-to-top.show { opacity:1; pointer-events:auto; transform: translateY(0); }
.back-to-top:hover { background: var(--accent-hover); }

/* ==========================================================================
   BLOG
   ========================================================================== */
.post-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--r-md); overflow:hidden; height:100%; display:flex; flex-direction:column; transition: box-shadow .25s ease, transform .25s ease; }
.post-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.post-card__media { aspect-ratio: 16/9; background: linear-gradient(135deg, var(--navy-800), var(--royal-700)); position:relative; }
.post-card__body { padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.post-card__cat { font-family: var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color: var(--accent); }
.post-card__title { font-size:1.15rem; margin:.5rem 0 .5rem; }
.post-card__title a { color: var(--text); }
.post-card__title a:hover { color: var(--accent); }
.post-card__excerpt { color: var(--text-soft); font-size:.92rem; flex:1; }
.post-card__meta { font-size:.8rem; color: var(--gray-500); margin-top:1rem; }
.post-body { max-width: 760px; margin:0 auto; font-size:1.06rem; color: var(--text); }
.post-body h2 { margin: 2rem 0 .8rem; font-size: 1.5rem; }
.post-body h3 { margin: 1.6rem 0 .6rem; font-size: 1.2rem; }
.post-body p { margin-bottom: 1.1rem; color: var(--ink-soft); }
.post-body ul { margin-bottom: 1.1rem; }
.post-body li { margin-bottom:.4rem; color:var(--ink-soft); }
@media (max-width:1100px){ .hero-emblem{ opacity:.35; right:-90px; width:420px; } }
@media (max-width:760px){ .hero-emblem{ display:none; } .hero__title{ max-width:100%; } .global-visual__panel{ position:static; transform:none!important; margin:.35rem; } .global-visual{ display:flex; flex-wrap:wrap; justify-content:center; align-content:center; padding:1rem; gap:.5rem; } }

/* ==========================================================================
   FAQ / accordion
   ========================================================================== */
.faq-item { border:1px solid var(--gray-200); border-radius: var(--r-md); margin-bottom:.8rem; overflow:hidden; background:#fff; }
.faq-q { width:100%; text-align:left; background:none; border:none; padding:1.1rem 1.3rem; font-weight:600; font-family: var(--font-display); display:flex; justify-content:space-between; gap:1rem; align-items:center; color: var(--text); cursor:pointer; }
.faq-q i { transition: transform .25s ease; color: var(--accent); }
.faq-item.open .faq-q i { transform: rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition: max-height .3s ease; }
.faq-a__inner { padding: 0 1.3rem 1.2rem; color: var(--text-soft); }

/* ==========================================================================
   MISC
   ========================================================================== */
.badge-soft { font-family: var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; background: rgba(216,31,42,.1); color: var(--accent); padding:.3rem .7rem; border-radius:6px; }
.lead-soft { color: var(--text-soft); font-size:1.12rem; }
.divider-dot { color: var(--gray-300); }

/* reveal on scroll */
.reveal { opacity:0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal { opacity:1; transform:none; }
}

/* ==========================================================================
   PARTNERS & PROJECTS
   ========================================================================== */
.partner-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.6rem;background:var(--bg);border:1px solid var(--gray-200);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;color:var(--text);}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent);color:var(--text);}
.partner-card__logo{width:100%;height:84px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:.4rem;}
.partner-card__logo img{max-height:72px;max-width:160px;width:auto;object-fit:contain;}
.partner-card__mono{font-family:var(--font-display);font-weight:800;font-size:1.8rem;color:#fff;background:var(--chrome);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.partner-card__name{font-size:1.15rem;margin:0;}
.partner-card__sum{color:var(--text-soft);font-size:.92rem;margin:0;}

.project-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--gray-200);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.project-card__media{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy-800),var(--navy-900));overflow:hidden;}
.project-card__media img{width:100%;height:100%;object-fit:cover;}
.project-card__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:2.4rem;}
.project-card__body{padding:1.3rem;display:flex;flex-direction:column;gap:.55rem;}
.project-card__title{font-size:1.15rem;margin:.1rem 0;}
.project-card__title a{color:var(--text);}
.project-card__title a:hover{color:var(--accent);}
.project-card__sum{color:var(--text-soft);font-size:.92rem;margin:0;}
.project-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem;}
.project-card__foot .ext{font-size:1rem;}

.project-cover{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--gray-200);box-shadow:var(--shadow-md);}
.project-cover img{width:100%;display:block;object-fit:cover;max-height:460px;}

.detail-aside{position:sticky;top:96px;background:var(--bg-alt);border:1px solid var(--gray-200);border-radius:var(--r-md);padding:1.4rem;}
.detail-aside__logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-sm);padding:1.2rem;margin-bottom:.4rem;}
.detail-aside__logo img{max-height:120px;max-width:100%;object-fit:contain;}
.meta-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--gray-200);font-size:.9rem;}
.meta-row:last-of-type{border-bottom:none;}
.meta-row__k{color:var(--text-soft);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;}
.meta-row__v{color:var(--text);font-weight:600;text-align:right;}

/* Partner logos strip on the homepage */
.partner-strip{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;align-items:center;justify-content:center;}
.partner-strip a{display:flex;align-items:center;justify-content:center;height:64px;filter:saturate(.2);opacity:.8;transition:filter .25s,opacity .25s,transform .25s;}
.partner-strip a:hover{filter:none;opacity:1;transform:translateY(-2px);}
.partner-strip img{max-height:54px;max-width:150px;width:auto;object-fit:contain;}
.partner-strip .partner-strip__name{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--navy-700);}

/* Enterprise module surfaces */
.module-hero{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(135deg,#07152f 0%,#113f8c 58%,#1286ff 100%);color:#fff;position:relative;overflow:hidden}
.module-hero h1,.module-hero p{color:#fff}
.module-hero .eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#c9e6ff}
.module-band{padding:var(--section-y) 0;background:#fff}
.module-band.alt{background:#f6f8fb}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.module-card{border:1px solid var(--gray-200);border-radius:8px;padding:1.2rem;background:#fff;box-shadow:var(--shadow-sm);height:auto}
.module-card h3{font-size:1.25rem}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#e9f4ff;color:#0b4d91;font-weight:700;font-size:.8rem;padding:.35rem .65rem}
.portal-shell{min-height:100vh;background:#eef3f9}
.portal-panel{background:#fff;border:1px solid #dfe6ef;border-radius:8px;box-shadow:0 10px 30px rgba(8,24,52,.08)}
.studio-workbench { overflow:hidden; }
.studio-builder { overflow:hidden; }
.studio-preview-stack { display:grid; gap:1rem; align-content:start; }
.studio-preview-stack .module-card { height:auto; margin-top:0 !important; }
.client-auth-page .site-header { position:sticky; }
.client-auth-hero { position:relative; overflow:hidden; color:#fff; background:radial-gradient(900px 520px at 14% 18%, rgba(226,29,47,.24), transparent 62%),radial-gradient(760px 520px at 88% 8%, rgba(37,103,204,.34), transparent 58%),linear-gradient(135deg,#050911 0%,#091327 48%,#0a1830 100%); padding:clamp(3.6rem,7vw,6rem) 0; min-height:calc(100vh - 72px); display:flex; align-items:center; }
.client-auth-bg { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.052) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.052) 1px, transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg,rgba(0,0,0,.50),#000 36%,rgba(0,0,0,.76)); }
.client-auth-hero::after { content:""; position:absolute; right:-12vw; bottom:-24vw; width:54vw; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.13); box-shadow:inset 0 0 0 34px rgba(255,255,255,.018),0 0 140px rgba(226,29,47,.18); pointer-events:none; }
.client-auth-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,470px); gap:clamp(2rem,5vw,5rem); align-items:center; }
.client-auth-layout--wide { grid-template-columns:minmax(0,1fr) minmax(540px,690px); }
.client-auth-mark { display:block; width:min(260px,58vw); height:auto; margin:0 0 2rem; filter:drop-shadow(0 16px 28px rgba(0,0,0,.36)); }
.client-auth-copy h1 { color:#fff; font-size:clamp(2.25rem,4.6vw,4.35rem); line-height:.98; max-width:11ch; margin:.85rem 0 1rem; letter-spacing:0; }
.client-auth-copy p { color:#d3ddf2; font-size:1.08rem; line-height:1.7; max-width:52ch; margin:0; }
.client-auth-points { display:grid; gap:.7rem; margin-top:1.65rem; max-width:420px; }
.client-auth-points span { display:flex; align-items:center; gap:.65rem; color:#edf3ff; font-weight:800; font-size:.95rem; }
.client-auth-points i { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#e21d2f,#7a1019); box-shadow:0 12px 24px rgba(226,29,47,.24); }
.client-auth-card { position:relative; background:linear-gradient(180deg,#ffffff,#f7f9fd); color:var(--text); border:1px solid rgba(255,255,255,.72); border-radius:18px; padding:clamp(1.55rem,3vw,2.35rem); box-shadow:0 34px 100px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.78); overflow:hidden; }
.client-auth-card::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,#e21d2f,#ffffff,#245db4); }
.client-auth-card--wide { max-width:690px; }
.client-auth-card__badge { display:inline-flex; align-items:center; gap:.42rem; border-radius:999px; padding:.42rem .68rem; background:#ecf3ff; color:#0c3c78; font-weight:900; font-size:.78rem; border:1px solid #d8e4f5; }
.client-auth-card__intro { color:#5d6a7f; line-height:1.6; margin:.35rem 0 1.2rem; }
.client-auth-card .h3 { color:#101827; font-size:clamp(1.65rem,3vw,2.05rem); line-height:1.08; margin-top:.9rem; }
.client-auth-card .form-label { color:#263246; font-weight:800; font-size:.88rem; margin-bottom:.42rem; }
.client-auth-card .form-control { min-height:48px; border-radius:12px; border:1px solid #d7e0ee; background:#fff; color:#111827; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
.client-auth-card .form-control:focus { border-color:#225db4; box-shadow:0 0 0 .22rem rgba(34,93,180,.14); }
.client-auth-card .btn-accent { min-height:50px; border-radius:12px; font-weight:900; box-shadow:0 18px 34px rgba(226,29,47,.25); }
.client-type-card { border-radius:14px; }
.client-consent-box { border-radius:14px; }
@media (max-width:991px){ .client-auth-layout,.client-auth-layout--wide{ grid-template-columns:1fr; } .client-auth-copy h1{ max-width:14ch; } .client-auth-card--wide{ max-width:none; } }
@media (max-width:575px){ .client-auth-hero{ padding:2.6rem 0; align-items:flex-start; } .client-auth-card{ padding:1.2rem; border-radius:16px; } .client-auth-copy h1{ font-size:clamp(2rem,10vw,2.75rem); } .client-auth-mark{ width:min(220px,62vw); margin-bottom:1.2rem; } }
@media (max-width: 991px){.module-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.module-grid{grid-template-columns:1fr}.module-hero{padding-top:6rem}}

/* ==========================================================================
   ENTERPRISE HEADER / MEGA MENU OVERRIDES
   ========================================================================== */
.nav-shell { position: relative; }
.brand-logo { height: 34px; max-width: 170px; }
.navbar { background: rgba(7,12,23,.72); }
.site-header.is-scrolled .navbar,
body.is-home .site-header.is-scrolled .navbar { background: rgba(7,12,23,.34); }
.navbar-nav .nav-link { font-size: .91rem; padding: .55rem .7rem; }
.mega-dropdown { position: static; }
.mega-menu {
  left: 50%;
  right: auto;
  transform: translate(-50%, 10px);
  width: min(1080px, calc(100vw - 2rem));
  padding: 1rem;
  overflow: visible;
  max-height: none;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(80% 100% at 92% 0%, rgba(226,29,47,.24), transparent 44%),
    linear-gradient(145deg, rgba(15,23,42,.98), rgba(5,10,19,.98));
  box-shadow: 0 34px 110px rgba(0,0,0,.52);
}
.mega-menu--wide { width: min(1160px, calc(100vw - 2rem)); }
.mega-menu--company { width: min(960px, calc(100vw - 2rem)); }
.mega-menu__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1rem; }
.mega-menu__content { min-width: 0; }
.mega-menu__intro {
  padding: 1rem 1.05rem;
  margin-bottom: .85rem;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(226,29,47,.18), rgba(25,91,194,.13));
}
.mega-menu__intro strong { font-size: 1.08rem; }
.mega-menu__intro p { font-size: .88rem; max-width: 72ch; }
.mega-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.mega-menu__grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-link {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: .75rem;
  min-height: 78px;
  padding: .82rem;
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.07);
}
.mega-link__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, rgba(226,29,47,.95), rgba(24,75,160,.9));
  box-shadow: 0 10px 28px rgba(226,29,47,.18);
}
.mega-link .mega-link__icon { display:inline-flex; color:#fff; font-weight:700; font-size:1rem; }
.mega-link__copy { min-width: 0; }
.mega-link .mega-link__copy { display:block; }
.mega-link__copy strong { display:block; color:#fff; font-weight:800; font-size:.93rem; line-height:1.2; }
.mega-link__copy small { display:block; color:#9fb0cc; margin-top:.22rem; line-height:1.35; font-size:.82rem; }
.mega-link:hover { transform: translateY(-2px); background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.16); }
.mega-link:hover .mega-link__copy small { color:#d3ddf1; }
.mega-menu__promo {
  border-radius: 14px;
  padding: 1.15rem;
  background:
    linear-gradient(180deg, rgba(226,29,47,.20), rgba(10,31,70,.24)),
    rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.12);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
}
.mega-menu__promo h3 { color:#fff; font-size:1.25rem; line-height:1.1; margin:.65rem 0 .5rem; }
.mega-menu__promo p { color:#c1cce2; margin:0 0 1rem; line-height:1.5; }
.mega-menu__promo a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  background:#e21d2f;
  border-radius:10px;
  padding:.8rem 1rem;
  box-shadow:0 18px 42px rgba(226,29,47,.25);
}
.mega-menu__trust {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.85rem;
}
.mega-menu__trust span {
  color:#bdcbe5;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.76rem;
}
.account-menu__button {
  display:flex;
  align-items:center;
  gap:.55rem;
  max-width:240px;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  padding:.38rem .62rem;
  font-weight:750;
}
.account-menu__avatar {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#e21d2f;
  color:#fff;
}
.account-menu__name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-menu__dropdown {
  min-width:260px;
  padding:.65rem;
  background:#0b1220;
}
.account-menu__dropdown strong { display:block; color:#fff; padding:.35rem .55rem .55rem; }
.account-menu__dropdown .dropdown-item {
  color:#cbd7ee;
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.58rem .65rem;
}
.account-menu__dropdown .dropdown-item:hover { color:#fff; background:rgba(255,255,255,.08); }
.account-menu__logout { color:#ffb4bc !important; }

@media (min-width: 1200px) {
  .mega-dropdown > .dropdown-menu {
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform: translate(-50%, 12px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .mega-dropdown:hover > .dropdown-menu,
  .mega-dropdown:focus-within > .dropdown-menu {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform: translate(-50%, 0);
  }
}

@media (max-width: 1199px) {
  .brand-logo { height:32px; max-width:155px; }
  .mega-menu,
  .mega-menu--wide,
  .mega-menu--company {
    position: static !important;
    width:100%;
    transform:none !important;
    max-height:65vh;
    overflow:auto;
    margin:.2rem 0 .9rem;
    box-shadow:none;
  }
  .mega-menu__layout { grid-template-columns: 1fr; }
  .mega-menu__grid { grid-template-columns: 1fr; }
  .mega-menu__promo { min-height:auto; }
  .nav-actions { flex-wrap:wrap; justify-content:flex-start; }
}

/* ==========================================================================
   CLIENT PORTAL PREMIUM LAYER
   ========================================================================== */
.portal-shell {
  background:
    radial-gradient(80% 80% at 90% 0%, rgba(20,99,200,.20), transparent 48%),
    linear-gradient(180deg, #07111f 0%, #0c1628 38%, #eef3f9 38%, #eef3f9 100%);
  padding-top: clamp(2rem,4vw,3rem);
}
.client-topbar {
  color:#fff;
  background:linear-gradient(135deg, rgba(13,22,39,.92), rgba(15,50,105,.88));
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:1.15rem;
  box-shadow:0 28px 80px rgba(3,8,18,.24);
}
.client-topbar h1 { color:#fff; }
.client-topbar .text-muted { color:#aebcda !important; }
.portal-nav {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1rem 0 1.45rem;
  padding:.6rem;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  border:1px solid #dce5f1;
  box-shadow:0 14px 40px rgba(8,24,52,.08);
}
.portal-nav a {
  color:#31415d;
  font-weight:750;
  padding:.58rem .78rem;
  border-radius:10px;
}
.portal-nav a:hover,
.portal-nav a.active { color:#fff; background:#e21d2f; }
.client-stat-grid { gap:.85rem; }
.client-stat-grid--six { grid-template-columns: repeat(6,minmax(0,1fr)); }
@media (max-width:1200px){ .client-stat-grid--six { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width:680px){ .client-stat-grid--six { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.client-stat {
  color:#fff;
  background:linear-gradient(145deg, #101b31, #0d3472);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  box-shadow:0 20px 50px rgba(8,24,52,.12);
}
.client-stat strong { color:#fff; }
.client-stat span { color:#c4d3ee; }
.portal-panel { border-radius:14px; box-shadow:0 18px 48px rgba(8,24,52,.10); }
.portal-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:.7rem; }
.portal-row-link { color:inherit; text-decoration:none; }
.portal-row-link:hover { background:#f5f8fc; margin-left:-.7rem; margin-right:-.7rem; padding-left:.7rem; padding-right:.7rem; border-radius:10px; }
.portal-badge { display:inline-flex; align-items:center; border-radius:999px; font-weight:800; font-size:.75rem; padding:.32rem .58rem; }
.portal-badge.ok { color:#086044; background:#dff8ec; }
.portal-badge.warn { color:#8a4d00; background:#fff0cf; }
.portal-badge.muted { color:#42526e; background:#e7edf6; }
.portal-total { display:flex; flex-direction:column; align-items:flex-end; gap:.25rem; border-top:1px solid #e5ebf4; margin-top:1rem; padding-top:1rem; }
.portal-payment-box { display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid #e5ebf4; border-radius:8px; padding:1rem; background:#f8fafc; }
.portal-payment-box > div { display:flex; flex-direction:column; gap:.2rem; }
.portal-payment-box span { color:var(--text-soft); font-size:.92rem; }
@media (max-width:575px){ .portal-payment-box { align-items:flex-start; flex-direction:column; } .portal-payment-box .btn { width:100%; } }

/* Hotfix 2026-07-03: keep client portal and mega menus inside the viewport. */
body.is-client-area .site-header { position: sticky; top: 0; z-index: 1060; }
body.is-client-area .portal-shell {
  padding-top: calc(clamp(2.2rem,4vw,3.2rem) + 1.2rem);
}
body.is-client-area .client-topbar {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

@media (min-width: 1200px) {
  .mega-menu,
  .mega-menu--wide,
  .mega-menu--company {
    position: fixed !important;
    top: 76px !important;
    left: 50vw !important;
    right: auto !important;
    width: min(1040px, calc(100vw - 48px)) !important;
    max-height: calc(100vh - 96px);
    overflow: auto;
    overscroll-behavior: contain;
    transform: translate(-50%, 12px) !important;
  }
  .mega-menu--wide { width: min(1120px, calc(100vw - 48px)) !important; }
  .mega-menu--company { width: min(940px, calc(100vw - 48px)) !important; }
  .mega-dropdown:hover > .dropdown-menu,
  .mega-dropdown:focus-within > .dropdown-menu {
    transform: translate(-50%, 0) !important;
  }
}

@media (max-width: 1320px) and (min-width: 1200px) {
  .mega-menu__layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .mega-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mega-link { min-height: 72px; }
  .mega-menu__promo { padding: 1rem; }
}

@media (max-width: 1199px) {
  body.is-client-area .portal-shell { padding-top: 1.4rem; }
}

/* Client onboarding/account UX */
.account-menu__name {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.05;
  gap: .12rem;
}

.account-menu__name small {
  color: rgba(255,255,255,.62);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.client-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.client-type-card {
  display: flex;
  gap: .75rem;
  min-height: 78px;
  align-items: flex-start;
  padding: 1rem;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.client-type-card:hover,
.client-type-card.is-active {
  border-color: rgba(226,29,47,.58);
  box-shadow: 0 18px 36px rgba(226,29,47,.12);
  transform: translateY(-1px);
}

.client-type-card input {
  margin-top: .15rem;
  accent-color: #e21d2f;
}

.client-type-card span {
  display: grid;
  gap: .25rem;
}

.client-type-card small {
  color: #64748b;
  line-height: 1.35;
}

.client-register-group {
  grid-column: 1 / -1;
  padding: 1rem;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 14px;
  background: #f8fafc;
}

.client-consent-box {
  display: grid;
  gap: .55rem;
  padding: 1rem;
  border-radius: 14px;
  background: #0b1220;
  color: #e5edf8;
}

.client-consent-box label {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: 0;
}

.client-consent-box input {
  margin-top: .22rem;
  accent-color: #e21d2f;
}

@media (max-width: 640px) {
  .client-type-grid {
    grid-template-columns: 1fr;
  }
}

/* Global localization and premium language switcher */
.language-menu {
  position: relative;
}
.language-menu__button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem .65rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  background: rgba(255,255,255,.08);
  font-weight: 900;
}
.language-menu__dropdown {
  width: min(360px, calc(100vw - 2rem));
  max-height: min(620px, calc(100vh - 120px));
  overflow: hidden;
  padding: .7rem;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 28px 80px rgba(2,8,23,.24);
}
.language-menu__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  padding: .35rem .35rem .65rem;
  color: #111827;
}
.language-menu__head small {
  color: #667085;
  font-weight: 800;
}
.language-menu__search {
  position: relative;
  display: block;
  margin-bottom: .55rem;
}
.language-menu__search i {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #667085;
}
.language-menu__search input {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid #d9e3f1;
  background: #f8fafc;
  padding: .55rem .8rem .55rem 2.2rem;
  color: #111827;
  outline: 0;
}
.language-menu__list {
  display: grid;
  gap: .35rem;
  max-height: 430px;
  overflow: auto;
}
.language-menu__item {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) 18px;
  align-items: center;
  gap: .72rem;
  padding: .62rem;
  border-radius: 13px;
  color: #111827;
  text-decoration: none;
  border: 1px solid transparent;
}
.language-menu__item:hover,
.language-menu__item.is-current {
  color: #111827;
  background: #eef4ff;
  border-color: #d8e5fb;
}
.language-menu__code {
  display: grid;
  place-items: center;
  min-height: 34px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg,#e21d2f,#0f4ea2);
  font-size: .78rem;
  font-weight: 900;
}
.language-menu__item strong,
.language-menu__item small {
  display: block;
  overflow-wrap: anywhere;
}
.language-menu__item small {
  color: #667085;
  font-size: .78rem;
}
html[dir="rtl"] body,
.is-rtl {
  direction: ltr;
  text-align: initial;
}
.is-rtl .post-body,
.is-rtl .rich-content,
.is-rtl .legal-content-section,
.is-rtl textarea,
.is-rtl input {
  direction: rtl;
}
.is-rtl .language-menu__search i {
  left: auto;
  right: .75rem;
}
.is-rtl .language-menu__search input {
  padding-left: .8rem;
  padding-right: 2.2rem;
}

/* Mobile enterprise navigation polish */
@media (max-width: 1199px) {
  .site-header { z-index: 1080; }
  .site-header .navbar {
    background: rgba(6, 10, 18, .88) !important;
    -webkit-backdrop-filter: saturate(170%) blur(18px);
    backdrop-filter: saturate(170%) blur(18px);
  }
  .navbar-toggler {
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 12px;
    padding: .48rem .62rem;
    box-shadow: none;
  }
  .navbar-toggler-icon { filter: invert(1) brightness(1.8); }
  .navbar-collapse {
    margin-top: .75rem;
    padding: .85rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(80% 80% at 100% 0%, rgba(226,29,47,.18), transparent 38%),
      linear-gradient(145deg, rgba(9,14,26,.98), rgba(12,28,58,.98));
    box-shadow: 0 28px 80px rgba(0,0,0,.38);
    max-height: calc(100vh - 88px);
    overflow: auto;
  }
  .navbar-nav {
    gap: .5rem;
    align-items: stretch !important;
  }
  .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: .85rem .95rem;
    border-radius: 14px;
    color: #eef4ff !important;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    font-weight: 800;
  }
  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.show,
  .navbar-nav .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(226,29,47,.24), rgba(35,92,180,.16));
    border-color: rgba(255,255,255,.18);
  }
  .mega-menu,
  .mega-menu--wide,
  .mega-menu--company {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    margin: .45rem 0 .8rem !important;
    padding: .7rem !important;
    border-radius: 18px !important;
    background: rgba(5, 9, 18, .82) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  }
  .mega-menu__layout {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: .7rem;
  }
  .mega-menu__intro {
    padding: .9rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(226,29,47,.18), rgba(24,78,161,.14));
  }
  .mega-menu__intro strong {
    color: #fff;
    font-size: 1rem;
  }
  .mega-menu__intro p {
    color: #bac8e2;
    font-size: .86rem;
  }
  .mega-menu__grid {
    grid-template-columns: 1fr !important;
    gap: .48rem;
  }
  .mega-link {
    display: grid !important;
    grid-template-columns: 36px minmax(0,1fr);
    align-items: center;
    gap: .72rem;
    padding: .78rem;
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
    transform: none !important;
  }
  .mega-link__icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
  }
  .mega-link__copy strong {
    color: #fff;
    font-size: .94rem;
  }
  .mega-link__copy small {
    color: #aebdda;
    font-size: .8rem;
  }
  .mega-menu__promo {
    min-height: auto;
    border-radius: 16px;
    padding: 1rem;
  }
  .mega-menu__promo h3 { font-size: 1.05rem; }
  .mega-menu__promo p { font-size: .88rem; }
  .mega-menu__promo a {
    width: 100%;
    justify-content: center;
  }
  .mega-menu__trust {
    gap: .35rem;
  }
  .mega-menu__trust span {
    font-size: .72rem;
    padding: .32rem .48rem;
  }
  .nav-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    width: 100%;
    margin: .9rem 0 0;
    padding-top: .8rem;
    border-top: 1px solid rgba(255,255,255,.10);
  }
  .nav-actions .btn {
    width: 100%;
    min-height: 42px;
    justify-content: center;
  }
  .lang-switch {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .account-menu {
    grid-column: 1 / -1;
    width: 100%;
  }
  .account-menu__button {
    width: 100%;
    justify-content: space-between;
  }
  .account-menu__dropdown {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .nav-actions {
    grid-template-columns: 1fr;
  }
  .navbar-collapse {
    border-radius: 16px;
    padding: .7rem;
  }
}

.studio-result-card {
  border-color: rgba(226,29,47,.20);
  box-shadow: 0 24px 70px rgba(15,23,42,.12);
}
.studio-next-steps {
  display: grid;
  gap: .5rem;
  padding-left: 1.2rem;
  color: #475569;
}
.license-verification-result {
  border: 1px solid #dce5f1;
  border-radius: 16px;
  padding: 1.25rem;
  background: #fff;
}
.license-verification-result.is-active {
  border-color: rgba(34,197,94,.28);
  box-shadow: 0 20px 60px rgba(34,197,94,.10);
}
.license-verification-result.is-warning {
  border-color: rgba(226,29,47,.24);
  box-shadow: 0 20px 60px rgba(226,29,47,.10);
}

/* Solution Studio generated preview */
.studio-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.studio-demo-link {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  color: #e21d2f;
  font-weight: 900;
  text-decoration: none;
}
.studio-demo-link:hover { color: #b80f20; }
.studio-live-preview {
  margin-top: 1rem;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.12);
  background: #071225;
  box-shadow: 0 24px 60px rgba(15,23,42,.18);
}
.studio-live-preview__bar {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .7rem .9rem;
  background: rgba(255,255,255,.06);
  color: #dce8fb;
  font-size: .78rem;
}
.studio-live-preview__bar span {
  width: .58rem;
  height: .58rem;
  border-radius: 999px;
  background: #e21d2f;
}
.studio-live-preview__bar span:nth-child(2) { background: #f59e0b; }
.studio-live-preview__bar span:nth-child(3) { background: #22c55e; }
.studio-live-preview__bar strong {
  margin-left: .25rem;
  color: #fff;
}
.studio-live-preview__body {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  min-height: 300px;
}
.studio-live-preview aside {
  display: grid;
  align-content: start;
  gap: .55rem;
  padding: .9rem;
  background: rgba(0,0,0,.22);
}
.studio-live-preview aside strong {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, #e21d2f, #0a4da3);
  color: #fff;
  font-size: .78rem;
}
.studio-live-preview aside span {
  display: block;
  padding: .5rem .45rem;
  border-radius: 10px;
  color: #9fb0ce;
  font-size: .74rem;
  font-weight: 800;
}
.studio-live-preview aside span.is-active {
  color: #fff;
  background: rgba(226,29,47,.24);
}
.studio-live-preview main {
  min-width: 0;
  padding: 1rem;
  background:
    radial-gradient(circle at 90% 0%, rgba(226,29,47,.16), transparent 30%),
    linear-gradient(145deg, #0b1b38, #071225);
}
.studio-live-preview__top {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  color: #c7d4eb;
}
.studio-live-preview__top strong {
  color: #fff;
  min-width: 0;
  overflow-wrap: anywhere;
}
.studio-result-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  margin: 1rem 0;
}
.studio-result-metrics article {
  min-width: 0;
  border-radius: 14px;
  padding: .85rem;
  background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.10);
}
.studio-result-metrics span {
  display: block;
  color: #aab8d4;
  font-size: .76rem;
}
.studio-result-metrics strong {
  display: block;
  margin-top: .25rem;
  color: #fff;
  font-size: clamp(.95rem, 1.7vw, 1.35rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.studio-preview-modules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .62rem;
}
.studio-preview-modules article {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  padding: .7rem;
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
  color: #eef5ff;
}
.studio-preview-modules i {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  height: 30px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(226,29,47,.92), rgba(26,83,175,.92));
}
.studio-preview-modules span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 800;
  font-size: .82rem;
}

/* Public demo preview */
.demo-preview-page {
  padding: 8.5rem 0 5rem;
  background:
    radial-gradient(circle at 86% 10%, rgba(226,29,47,.24), transparent 28%),
    linear-gradient(145deg, #061024, #0a3676 56%, #111827);
  color: #eef5ff;
}
.demo-empty {
  max-width: 720px;
  padding: 2rem;
  border-radius: 22px;
  background: rgba(7,18,37,.82);
  border: 1px solid rgba(255,255,255,.14);
}
.demo-preview-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.5rem;
}
.demo-preview-hero h1 {
  max-width: 900px;
  margin: .75rem 0 .75rem;
  color: #fff;
  font-size: clamp(2.35rem, 5vw, 5.4rem);
  line-height: .98;
}
.demo-preview-hero p {
  max-width: 760px;
  color: #c8d5ed;
  font-size: 1.08rem;
}
.demo-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #ffb3ba;
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.demo-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.3rem;
}
.demo-preview-meta {
  padding: 1.2rem;
  border-radius: 18px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 70px rgba(0,0,0,.22);
}
.demo-preview-meta span,
.demo-preview-meta small {
  display: block;
  color: #aab8d4;
}
.demo-preview-meta strong {
  display: block;
  margin: .35rem 0;
  color: #fff;
  font-size: 1.35rem;
  overflow-wrap: anywhere;
}
.demo-browser {
  overflow: hidden;
  border-radius: 24px;
  background: #071225;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 36px 100px rgba(0,0,0,.36);
}
.demo-browser__bar {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1rem;
  background: rgba(255,255,255,.07);
}
.demo-browser__bar span {
  width: .72rem;
  height: .72rem;
  border-radius: 999px;
  background: #e21d2f;
}
.demo-browser__bar span:nth-child(2) { background: #f59e0b; }
.demo-browser__bar span:nth-child(3) { background: #22c55e; }
.demo-browser__bar strong {
  margin-left: .35rem;
  color: #fff;
}
.demo-browser__bar em {
  margin-left: auto;
  color: #91a3c5;
  font-style: normal;
  font-size: .82rem;
}
.demo-browser__body {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 700px;
}
.demo-browser__sidebar {
  display: grid;
  align-content: start;
  gap: .55rem;
  padding: 1.1rem;
  background: rgba(0,0,0,.25);
  border-right: 1px solid rgba(255,255,255,.08);
}
.demo-brand-mark {
  display: grid;
  place-items: center;
  width: 62px;
  height: 44px;
  margin-bottom: .7rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #e21d2f, #0b57b5);
  color: #fff;
  font-weight: 1000;
}
.demo-browser__sidebar a,
.demo-browser__sidebar button {
  padding: .78rem .85rem;
  border-radius: 14px;
  color: #b8c7e3;
  text-decoration: none;
  font-weight: 800;
  border: 0;
  background: transparent;
  text-align: left;
}
.demo-browser__sidebar a:hover,
.demo-browser__sidebar a.is-active,
.demo-browser__sidebar button:hover,
.demo-browser__sidebar button.is-active {
  color: #fff;
  background: rgba(226,29,47,.20);
}
.demo-browser__main {
  min-width: 0;
  padding: 1.25rem;
  background: #eef3f9;
  color: #172033;
}
.demo-app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
}
.demo-app-header h2 {
  margin: .25rem 0 0;
  color: #0b1b38;
  overflow-wrap: anywhere;
}
.demo-status-badge {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: .55rem .8rem;
  background: #dcfce7;
  color: #15803d;
  font-weight: 900;
}
.demo-metrics,
.demo-widget-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1rem;
}
.demo-metrics article,
.demo-widget-grid article,
.demo-panel {
  min-width: 0;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 20px 50px rgba(15,23,42,.08);
}
.demo-metrics article,
.demo-widget-grid article {
  padding: 1rem;
}
.demo-metrics span,
.demo-widget-grid small {
  display: block;
  color: #64748b;
  font-weight: 800;
}
.demo-metrics strong,
.demo-widget-grid strong {
  display: block;
  margin-top: .3rem;
  color: #0b1b38;
  font-size: clamp(1.1rem, 2vw, 1.65rem);
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.demo-widget-grid article {
  background: linear-gradient(150deg, #0b1b38, #0c3f86);
}
.demo-widget-grid span {
  display: inline-flex;
  margin-bottom: .6rem;
  border-radius: 999px;
  padding: .28rem .55rem;
  background: rgba(255,255,255,.12);
  color: #dce8fb;
  font-size: .72rem;
  font-weight: 900;
}
.demo-widget-grid strong { color: #fff; }
.demo-widget-grid small { color: #c7d4eb; }
.demo-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 1rem;
  margin-top: 1rem;
}
.demo-panel {
  padding: 1rem;
}
.demo-panel h3 {
  margin: 0 0 .85rem;
  color: #0b1b38;
}
.demo-module-list,
.demo-timeline {
  display: grid;
  gap: .7rem;
}
.demo-module-list article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: .85rem;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.07);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.demo-module-list article:hover,
.demo-module-list article.is-active {
  transform: translateY(-1px);
  border-color: rgba(226,29,47,.28);
  box-shadow: 0 18px 44px rgba(226,29,47,.10);
}
.demo-module-list i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #e21d2f, #0b57b5);
}
.demo-module-list strong,
.demo-timeline strong {
  color: #0b1b38;
}
.demo-module-list p,
.demo-timeline p {
  margin: .2rem 0 0;
  color: #64748b;
  line-height: 1.45;
}
.demo-timeline article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: .7rem;
}
.demo-timeline span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #e21d2f;
  color: #fff;
  font-weight: 900;
}
.demo-next-panel {
  margin-top: 1rem;
  border-radius: 16px;
  padding: 1rem;
  background: #0b1b38;
  color: #fff;
}
.demo-next-panel span {
  display: block;
  color: #9fb0ce;
  font-size: .82rem;
}
.demo-next-panel strong {
  display: block;
  margin-top: .3rem;
  overflow-wrap: anywhere;
}
.demo-preview-note {
  margin: 1rem 0 0;
  color: #aebdda;
  font-size: .95rem;
}
.demo-module-detail {
  padding: 1rem;
  border-radius: 16px;
  background: linear-gradient(145deg, #0b1b38, #0c3f86);
  color: #fff;
}
.demo-module-detail h3 {
  color: #fff;
  margin: .65rem 0 .45rem;
}
.demo-module-detail p {
  color: #c7d4eb;
}
.demo-module-detail strong {
  display: block;
  margin-bottom: .55rem;
}
.demo-feature-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.demo-feature-pills span {
  border-radius: 999px;
  padding: .36rem .62rem;
  background: rgba(255,255,255,.12);
  color: #eef5ff;
  font-size: .78rem;
  font-weight: 800;
}
.demo-conversion-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.2rem;
}
.demo-conversion-card {
  padding: 1.25rem;
  border-radius: 22px;
  background: rgba(7,18,37,.88);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 80px rgba(0,0,0,.24);
}
.demo-conversion-card h2 {
  color: #fff;
  margin: .65rem 0 .5rem;
}
.demo-conversion-card p,
.demo-login-required {
  color: #c7d4eb;
}
.demo-conversion-card .form-label {
  color: #eef5ff;
}

.client-demo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.client-demo-card {
  min-width: 0;
  padding: 1.25rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 22px 60px rgba(15,23,42,.08);
}
.client-demo-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .85rem;
}
.client-demo-card h3 {
  color: #0b1b38;
  overflow-wrap: anywhere;
}
.client-demo-card p {
  color: #64748b;
}
.client-demo-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: .9rem 0;
}
.client-demo-metrics span {
  min-width: 0;
  border-radius: 14px;
  padding: .65rem;
  background: #f1f5f9;
  color: #64748b;
  font-size: .78rem;
}
.client-demo-metrics strong {
  display: block;
  color: #0b1b38;
  overflow-wrap: anywhere;
}
.client-demo-modules {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1rem;
}
.client-demo-modules span {
  border-radius: 999px;
  padding: .35rem .6rem;
  background: #eaf2ff;
  color: #0b57b5;
  font-size: .78rem;
  font-weight: 800;
}
.client-demo-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}
.client-demo-actions form {
  margin: 0;
}

@media (max-width: 991px) {
  .demo-preview-hero,
  .demo-browser__body,
  .demo-section-grid {
    grid-template-columns: 1fr;
  }
  .demo-browser__sidebar {
    display: flex;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .demo-browser__sidebar a,
  .demo-browser__sidebar button {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .demo-metrics,
  .demo-widget-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .studio-live-preview__body,
  .studio-result-metrics,
  .studio-preview-modules,
  .demo-metrics,
  .demo-widget-grid {
    grid-template-columns: 1fr;
  }
  .studio-live-preview aside {
    display: none;
  }
  .demo-preview-page {
    padding-top: 7rem;
  }
  .demo-preview-actions .btn {
    width: 100%;
  }
  .demo-app-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .demo-conversion-grid,
  .client-demo-grid,
  .client-demo-metrics {
    grid-template-columns: 1fr;
  }
  .client-demo-actions .btn,
  .client-demo-actions form {
    width: 100%;
  }
  .client-demo-actions .btn {
    justify-content: center;
  }
}

/* Final public mobile hardening - keep CMPROM premium and readable on phones */
.hero-emblem__card img { width:min(76%,190px); max-height:78px; object-fit:contain; }
.hero-emblem__card span { max-width:18ch; line-height:1.45; }

@media (max-width: 1199px) {
  .navbar-collapse.show,
  .navbar-collapse.collapsing {
    position: fixed;
    left: 1rem;
    right: 1rem;
    top: 76px;
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .dropdown-menu.show { display:block !important; }
  .mega-menu,
  .mega-menu--wide,
  .mega-menu--company,
  .dropdown-menu.mega-menu {
    color:#eaf1ff !important;
    background:linear-gradient(180deg,rgba(8,13,24,.98),rgba(9,15,28,.98)) !important;
  }
  .mega-menu__intro,
  .mega-menu__promo {
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    color:#eaf1ff !important;
  }
  .mega-menu__intro strong,
  .mega-menu__promo h3 {
    display:block !important;
    color:#fff !important;
    line-height:1.15 !important;
    margin:.25rem 0 .4rem !important;
    overflow-wrap:anywhere;
  }
  .mega-menu__intro p,
  .mega-menu__promo p {
    color:#b7c6e2 !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere;
  }
  .mega-link {
    display:flex !important;
    align-items:flex-start !important;
    gap:.72rem !important;
    min-height:0 !important;
    padding:.78rem !important;
    width:100% !important;
    color:#fff !important;
  }
  .mega-link__icon {
    flex:0 0 34px !important;
    width:34px !important;
    height:34px !important;
    margin-top:.1rem !important;
  }
  .mega-link__copy {
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:.18rem !important;
  }
  .mega-link__copy strong {
    display:block !important;
    font-size:.96rem !important;
    line-height:1.22 !important;
    letter-spacing:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .mega-link__copy small {
    display:block !important;
    font-size:.82rem !important;
    line-height:1.38 !important;
    color:#aebdda !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .mega-menu__trust {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.4rem !important;
  }
  .mega-menu__trust span {
    display:block !important;
    text-align:center !important;
    white-space:normal !important;
  }
}

@media (max-width: 760px) {
  body.is-home .hero {
    padding-top:8.75rem !important;
    padding-bottom:3.2rem !important;
    min-height:auto !important;
  }
  .hero-arc,
  .hero-emblem {
    display:none !important;
  }
  .hero .row,
  .hero .col-lg-9 {
    width:100% !important;
    max-width:100% !important;
  }
  .hero__eyebrow {
    max-width:100%;
    font-size:.62rem;
    letter-spacing:.12em;
    padding:.32rem .62rem;
    margin-bottom:1rem;
    white-space:normal;
  }
  .hero__title {
    font-size:clamp(2rem, 13vw, 3.05rem) !important;
    line-height:.98 !important;
    max-width:10.5ch !important;
    overflow-wrap:normal !important;
  }
  .hero__sub {
    font-size:1rem !important;
    line-height:1.58 !important;
    max-width:32ch !important;
    margin:1.1rem 0 1.4rem !important;
  }
  .hero__actions {
    display:grid !important;
    grid-template-columns:1fr !important;
    max-width:280px;
  }
  .hero__actions .btn {
    width:100%;
    justify-content:center;
  }
  .hero__meta {
    margin-top:1.5rem !important;
    display:grid !important;
    gap:.65rem !important;
  }
  .hero__meta-item { font-size:.88rem !important; }
  .trust-strip { margin-top:1.8rem !important; }
  .section { padding:3rem 0 !important; }
  .service-premium-intro {
    border-radius:16px !important;
    padding:1.1rem !important;
    margin-bottom:1.5rem !important;
  }
  .service-premium-intro h2 {
    font-size:1.65rem !important;
    line-height:1.08 !important;
  }
  .service-premium-intro p {
    font-size:.98rem !important;
    line-height:1.55 !important;
  }
  .service-premium-intro__meta {
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .service-proof-card {
    position: static !important;
    padding:1.1rem !important;
    border-radius:16px !important;
  }
  .service-depth {
    padding:1.1rem !important;
    border-radius:16px !important;
  }
  .feature-card,
  .module-card,
  .process-step {
    border-radius:14px !important;
    padding:1rem !important;
  }
  .module-hero { padding:7.5rem 0 3rem !important; }
  .module-hero .display-4,
  .page-hero__title {
    font-size:2.05rem !important;
    line-height:1.02 !important;
  }
  .module-grid,
  .card-grid { gap:.85rem !important; }
}

/* URGENT FINAL PASS: public readability + premium pages */
.public-readable-section,
.legal-content-section,
.about-mission-section,
.about-enterprise-section,
.contact-premium-section,
.resources-premium-section {
  background: #fff !important;
  color: #15171b !important;
}
.public-readable-section h1,
.public-readable-section h2,
.public-readable-section h3,
.legal-content-section h1,
.legal-content-section h2,
.legal-content-section h3,
.about-mission-section h1,
.about-mission-section h2,
.about-mission-section h3,
.about-enterprise-section h1,
.about-enterprise-section h2,
.about-enterprise-section h3,
.contact-premium-section h1,
.contact-premium-section h2,
.contact-premium-section h3,
.resources-premium-section h1,
.resources-premium-section h2,
.resources-premium-section h3 {
  color: #101317 !important;
  opacity: 1 !important;
}
.public-readable-section p,
.public-readable-section li,
.public-readable-section .lead-soft,
.legal-content-section p,
.legal-content-section li,
.legal-content-section .post-body,
.legal-content-section .post-body p,
.legal-content-section .post-body li,
.about-mission-section p,
.about-mission-section .lead-soft,
.about-enterprise-section p,
.about-enterprise-section .lead-soft,
.contact-premium-section p,
.contact-premium-section li,
.resources-premium-section p,
.resources-premium-section li {
  color: #3f4856 !important;
  opacity: 1 !important;
}
.legal-content-section .form-note {
  background: #f2f6fb !important;
  color: #273244 !important;
  border: 1px solid #dce5f1 !important;
  border-radius: 12px;
  padding: 1rem 1.1rem;
}
.legal-content-section .post-body {
  max-width: 900px;
  background: #fff;
  border: 1px solid #e0e7f1;
  border-radius: 16px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 18px 46px rgba(8,24,52,.08);
}
.legal-content-section .post-body h2 {
  color: #111827 !important;
  border-top: 1px solid #e8eef6;
  padding-top: 1.1rem;
}
.legal-content-section .post-body h2:first-child {
  border-top: 0;
  padding-top: 0;
}
.about-capability-grid,
.trust-control-grid,
.resource-category-strip,
.support-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.about-capability-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.trust-control-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}
.about-capability-card,
.resource-category-card,
.resource-card-premium {
  background: #fff;
  border: 1px solid #e0e7f1;
  border-radius: 16px;
  box-shadow: 0 18px 46px rgba(8,24,52,.08);
}
.about-capability-card,
.resource-category-card {
  padding: 1.25rem;
}
.about-capability-card i,
.resource-category-card i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #e21d2f, #781018);
  margin-bottom: .9rem;
}
.about-capability-card h3,
.resource-category-card strong,
.resource-card-premium h3 {
  color: #111827 !important;
}
.resource-category-card span,
.resource-card-premium__meta {
  display: block;
  color: #536072 !important;
  font-size: .92rem;
}
.resources-grid {
  margin-top: 1.25rem;
}
.resources-delivery-band,
.contact-premium-shell,
.support-portal-hero {
  color: #fff;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 70px rgba(8,24,52,.18);
}
.contact-premium-shell,
.support-portal-hero {
  padding: clamp(1.4rem, 4vw, 2.2rem);
  margin-bottom: 2rem;
  background: radial-gradient(620px 280px at 84% 0%, rgba(226,29,47,.30), transparent 62%), linear-gradient(135deg,#071020,#0d2448);
}
.resources-delivery-band {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.4rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: linear-gradient(135deg, #0b0f18, #17233a);
}
.contact-premium-intro h2,
.contact-premium-intro p,
.resources-delivery-band h2,
.resources-delivery-band p,
.support-portal-hero h2,
.support-portal-hero p {
  color: #fff !important;
}
.contact-premium-intro p,
.resources-delivery-band p,
.support-portal-hero p {
  color: #d7e3f7 !important;
  max-width: 76ch;
}
.contact-trust-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.2rem;
}
.contact-trust-grid span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .6rem .8rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.07);
  font-weight: 800;
  font-size: .9rem;
}
.contact-info-panel {
  position: sticky;
  top: 96px;
  padding: 1.25rem;
  border: 1px solid #e0e7f1;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(8,24,52,.08);
}
.contact-info-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: .85rem;
  padding: 1rem 0;
  border-top: 1px solid #e9eef6;
}
.contact-info-item:first-of-type {
  border-top: 0;
}
.contact-info-item i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: #111827;
}
.contact-info-item span {
  display: block;
  color: #667085;
  font-weight: 800;
  font-size: .82rem;
}
.contact-info-item p,
.contact-info-item a {
  margin: .12rem 0 0;
  color: #111827 !important;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.support-portal-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
}
.support-portal-hero__meta {
  display: grid;
  gap: .55rem;
  min-width: 190px;
}
.support-portal-hero__meta span {
  color: #fff;
  font-weight: 800;
}
.support-metric {
  padding: 1rem;
  display: grid;
  gap: .15rem;
}
.support-metric i {
  color: #e21d2f;
  font-size: 1.35rem;
}
.support-metric strong {
  color: #111827;
  font-size: 1.7rem;
  line-height: 1;
}
.support-metric span,
.support-empty span {
  color: #536072;
}
.support-empty {
  display: grid;
  gap: .4rem;
  place-items: center;
  padding: 2rem;
  text-align: center;
  color: #111827;
}
.support-empty i {
  font-size: 2rem;
  color: #e21d2f;
}
.support-ticket-row {
  border-radius: 12px;
  padding: 1rem;
}
.support-ticket-row:hover {
  background: #f5f8fc;
}
@media (max-width: 991px) {
  .resource-category-strip,
  .trust-control-grid,
  .support-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .resources-delivery-band,
  .support-portal-hero {
    align-items: flex-start;
    flex-direction: column;
  }
  .contact-info-panel {
    position: static;
  }
}
@media (max-width: 640px) {
  .about-capability-grid,
  .resource-category-strip,
  .trust-control-grid,
  .support-metrics-grid {
    grid-template-columns: 1fr;
  }
  .legal-content-section .post-body,
  .contact-info-panel,
  .about-capability-card,
  .resource-category-card,
  .resource-card-premium {
    border-radius: 14px;
  }
  .page-hero__title,
  .module-hero .display-4 {
    font-size: clamp(2rem, 10vw, 2.7rem) !important;
    line-height: 1.05 !important;
  }
  .page-hero__sub,
  .module-hero .lead {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }
}

/* Billing, licensing and Solution Studio enterprise finish */
.client-billing-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background:
    radial-gradient(circle at 100% 0%, rgba(226,29,47,.10), transparent 32%),
    #ffffff;
}
.client-license-center .license-row {
  align-items: flex-start;
}
.client-license-center code {
  color: #0f172a;
  background: #eef3fb;
  border: 1px solid #d9e3f1;
  border-radius: 8px;
  padding: .15rem .4rem;
  font-weight: 900;
}
.solution-studio-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%, rgba(226,29,47,.22), transparent 24%),
    linear-gradient(135deg, #06142f 0%, #102f72 58%, #147feb 100%);
}
.solution-studio-hero::after {
  content: "";
  position: absolute;
  right: 7vw;
  top: 20%;
  width: min(30vw, 420px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    inset 0 0 0 34px rgba(255,255,255,.025),
    0 0 0 70px rgba(255,255,255,.035);
  pointer-events: none;
}
.solution-studio-hero .container {
  position: relative;
  z-index: 1;
}
.studio-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.4rem;
}
.studio-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 38px;
  padding: .5rem .72rem;
  border-radius: 999px;
  color: #eef5ff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 900;
  font-size: .9rem;
}
.studio-executive-card {
  position: relative;
  padding: 1.5rem;
  border-radius: 18px;
  color: #eaf2ff;
  background:
    linear-gradient(145deg, rgba(4,12,28,.88), rgba(12,31,67,.76)),
    rgba(7,18,37,.92);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 28px 90px rgba(0,0,0,.22);
}
.studio-executive-card p {
  color: #dce8fb !important;
  line-height: 1.7;
}
.studio-executive-meter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin-top: 1.25rem;
}
.studio-executive-meter span {
  min-width: 0;
  padding: .62rem .5rem;
  border-radius: 12px;
  text-align: center;
  color: #fff;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 900;
  font-size: .78rem;
}
.solution-studio-premium {
  background: #f5f8fc;
}
.studio-section-head {
  max-width: 820px;
  margin-bottom: 1.6rem;
}
.studio-section-head h2 {
  margin: .85rem 0 .65rem;
  color: #0d1320;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
}
.studio-section-head p {
  color: #475569;
  font-size: 1.08rem;
  line-height: 1.65;
}
.studio-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.studio-value-grid article {
  min-width: 0;
  padding: 1.25rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #dde6f2;
  box-shadow: 0 18px 48px rgba(15,23,42,.08);
}
.studio-value-grid i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: .9rem;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #e21d2f, #0f4ea2);
}
.studio-value-grid h3 {
  color: #111827;
  font-size: 1.05rem;
  line-height: 1.2;
}
.studio-value-grid p {
  margin: 0;
  color: #536174;
  line-height: 1.58;
}
.studio-process-panel {
  display: grid;
  grid-template-columns: .95fr 1.2fr 1fr;
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
  padding: 1.25rem;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(226,29,47,.10), transparent 26%),
    #0b1323;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 26px 80px rgba(15,23,42,.16);
}
.studio-process-panel h2 {
  margin: .85rem 0 0;
  color: #fff;
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  line-height: 1.08;
}
.studio-process-panel ol,
.studio-process-panel ul {
  display: grid;
  gap: .55rem;
  margin: 0;
  color: #dbe7fb;
}
.studio-process-panel ol {
  padding-left: 1.25rem;
}
.studio-process-panel ul {
  padding: 0;
  list-style: none;
}
.studio-process-panel li {
  line-height: 1.5;
}
.studio-process-panel ul li {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
}
.studio-process-panel ul i {
  color: #ff4053;
  margin-top: .12rem;
}
.solution-studio-workbench {
  background:
    linear-gradient(180deg, #edf2f8, #ffffff);
}
.solution-studio-workbench .studio-builder {
  border-radius: 20px;
  border-color: #d7e1ee;
  box-shadow: 0 24px 80px rgba(15,23,42,.12);
}

@media (min-width: 1200px) {
  .navbar .mega-dropdown:hover > .dropdown-menu,
  .navbar .mega-dropdown:focus-within > .dropdown-menu,
  .navbar .mega-dropdown.is-open > .dropdown-menu {
    display: block;
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .navbar .mega-dropdown:hover > .nav-link,
  .navbar .mega-dropdown:focus-within > .nav-link,
  .navbar .mega-dropdown.is-open > .nav-link,
  .navbar .mega-dropdown > .nav-link.show {
    color: #fff;
    background: rgba(255,255,255,.08);
  }
  .navbar .mega-dropdown > .nav-link {
    transition: color .18s ease, background-color .18s ease;
  }
}

@media (max-width: 991px) {
  .studio-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .studio-process-panel {
    grid-template-columns: 1fr;
  }
  .client-billing-intro {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .solution-studio-hero::after {
    display: none;
  }
  .studio-hero-points,
  .studio-executive-meter {
    grid-template-columns: 1fr;
  }
  .studio-hero-points {
    display: grid;
  }
  .studio-value-grid {
    grid-template-columns: 1fr;
  }
  .studio-process-panel,
  .studio-value-grid article,
  .studio-executive-card {
    border-radius: 14px;
  }
  .solution-studio-workbench .studio-builder {
    padding: 1rem !important;
  }
  .client-list-row.license-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: .9rem;
  }
  .client-list-row.license-row .text-end {
    text-align: left !important;
  }
}

.contact-enterprise {
  background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%);
}
.contact-experience-grid {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1.35fr);
  gap: 1.25rem;
  align-items: start;
}
.contact-command-panel,
.contact-workflow-panel,
.contact-service-grid article {
  border: 1px solid #dbe5f0;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 22px 70px rgba(15,23,42,.08);
}
.contact-command-panel {
  padding: clamp(1.25rem, 2.4vw, 2rem);
  position: sticky;
  top: 96px;
}
.contact-command-panel h2,
.contact-workflow-panel h2 {
  color: #0f172a;
  line-height: 1.08;
}
.contact-command-panel p,
.contact-workflow-panel p {
  color: #536174;
  line-height: 1.65;
}
.contact-process-list {
  display: grid;
  gap: .85rem;
  margin: 1.35rem 0;
}
.contact-process-list div {
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: .8rem;
  padding: .95rem;
  border-radius: 14px;
  background: #f7fafe;
  border: 1px solid #e1e9f4;
}
.contact-process-list i,
.contact-service-grid i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #e21d2f, #0f4ea2);
}
.contact-process-list strong {
  color: #111827;
}
.contact-process-list span {
  grid-column: 2;
  color: #64748b;
  font-size: .92rem;
}
.contact-response-box {
  padding: 1rem;
  border-radius: 14px;
  color: #eaf2ff;
  background: #0b1323;
}
.contact-response-box span,
.contact-response-box p {
  color: #cbd5e1;
}
.contact-response-box strong {
  display: block;
  margin: .25rem 0;
  color: #ffffff;
  font-size: 1.15rem;
}
.contact-workflow-panel {
  padding: clamp(1.25rem, 2.6vw, 2.25rem);
}
.contact-form-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.draft-state {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .4rem .65rem;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f4ea2;
  border: 1px solid #cfe2ff;
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}
.contact-dynamic-block {
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid #e1e9f4;
  background: #f8fbff;
}
.contact-dynamic-block h3 {
  margin: 0 0 .8rem;
  color: #0f172a;
  font-size: 1rem;
}
.contact-dynamic-block[hidden] {
  display: none !important;
}
.contact-enterprise-form .btn i {
  margin-right: .4rem;
}
.contact-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}
.contact-service-grid article {
  padding: 1.15rem;
}
.contact-service-grid h3 {
  margin: .85rem 0 .45rem;
  color: #111827;
  font-size: 1.04rem;
}
.contact-service-grid p {
  margin: 0;
  color: #536174;
  line-height: 1.55;
}

@media (max-width: 991px) {
  .contact-experience-grid,
  .contact-service-grid {
    grid-template-columns: 1fr;
  }
  .contact-command-panel {
    position: static;
  }
  .contact-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .contact-form-head {
    display: grid;
  }
.contact-service-grid {
  grid-template-columns: 1fr;
  }
}

/* CMPROM production visual fixes - mega menu, global delivery and partners */
.mega-menu {
  padding: 1.15rem !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98)),
    #fff !important;
  box-shadow: 0 28px 90px rgba(15,23,42,.18), 0 1px 0 rgba(255,255,255,.8) inset !important;
}
.mega-menu__intro {
  background:
    linear-gradient(135deg, rgba(226,29,47,.075), rgba(15,78,162,.055)),
    #fff !important;
  border: 1px solid #e7edf5 !important;
}
.mega-menu__intro strong,
.mega-menu__promo h3,
.mega-link__copy strong {
  color: #0f172a !important;
}
.mega-menu__intro p,
.mega-menu__promo p,
.mega-link__copy small {
  color: #64748b !important;
}
.mega-menu__eyebrow {
  color: #e21d2f !important;
}
.mega-link {
  min-height: 92px !important;
  align-items: center !important;
  background: linear-gradient(180deg, #ffffff, #fbfcff) !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 12px 34px rgba(15,23,42,.055) !important;
}
.mega-link:hover {
  border-color: rgba(226,29,47,.35) !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.105) !important;
}
.mega-link__icon {
  color: #e21d2f !important;
  background: linear-gradient(135deg, #fff5f6, #ffffff) !important;
  border: 1px solid #fde2e5 !important;
  box-shadow: 0 14px 30px rgba(226,29,47,.09) !important;
}
.mega-menu__promo {
  color: #0f172a !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(226,29,47,.14), transparent 35%),
    linear-gradient(180deg, #ffffff, #f8fafc) !important;
  border: 1px solid #e2e8f0 !important;
}
.mega-menu__promo a {
  background: #e21d2f !important;
  color: #fff !important;
}
.mega-menu__trust {
  border-top: 1px solid #e2e8f0;
  padding-top: .85rem;
}
.mega-menu__trust span {
  color: #64748b !important;
  border-color: #e2e8f0 !important;
  background: #f8fafc !important;
}
.split__visual {
  background:
    radial-gradient(circle at 64% 46%, rgba(255,255,255,.12), transparent 24%),
    linear-gradient(135deg, #170b12 0%, #66121c 52%, #a1121d 100%) !important;
  border: 1px solid rgba(255,255,255,.16);
}
.global-visual {
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.16), transparent 20%),
    radial-gradient(circle at 68% 70%, rgba(255,255,255,.13), transparent 28%) !important;
}
.global-visual__globe {
  width: 158px !important;
  height: 158px !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.36) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.12) !important;
  z-index: 2;
}
.global-visual__panel {
  min-width: 168px !important;
  padding: 1rem 1.05rem !important;
  background: rgba(15,23,42,.82) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  color: #fff !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.34) !important;
  z-index: 3;
}
.global-visual__panel span {
  color: #ffb8bf !important;
  font-weight: 800;
}
.global-visual__panel strong {
  color: #ffffff !important;
  font-size: .98rem !important;
}
.global-visual__panel.panel-a { left: 46%; top: 17%; transform: translateX(-50%); }
.global-visual__panel.panel-b { left: 20%; top: 54%; }
.global-visual__panel.panel-c { right: 8%; left: auto; bottom: 12%; transform: none; }
.partner-strip {
  gap: 1.15rem !important;
}
.partner-strip a {
  min-width: 150px;
  height: 82px !important;
  padding: .8rem 1rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  filter: none !important;
  opacity: 1 !important;
  box-shadow: 0 14px 36px rgba(15,23,42,.055);
}
.partner-strip a:hover {
  filter: none !important;
  opacity: 1 !important;
  border-color: rgba(226,29,47,.26);
}
.partner-strip img {
  max-height: 58px !important;
  max-width: 170px !important;
  filter: none !important;
}
.partner-card__logo {
  min-height: 96px;
  justify-content: center !important;
  padding: .8rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e8eef6;
}
.partner-card__logo img {
  max-height: 78px !important;
  max-width: 200px !important;
  filter: none !important;
}

@media (max-width: 1199px) {
  .mega-menu {
    background: linear-gradient(180deg, rgba(8,13,24,.98), rgba(9,15,28,.98)) !important;
  }
  .mega-menu__intro,
  .mega-menu__promo {
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }
  .mega-menu__intro strong,
  .mega-menu__promo h3,
  .mega-link__copy strong {
    color: #fff !important;
  }
  .mega-menu__intro p,
  .mega-menu__promo p,
  .mega-link__copy small {
    color: #b7c6e2 !important;
  }
  .mega-link {
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
    min-height: 0 !important;
  }
  .mega-link__icon {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(226,29,47,.95), rgba(24,75,160,.9)) !important;
    border-color: rgba(255,255,255,.10) !important;
  }
}

/* CMPROM client-facing premium pages - support, knowledge, technologies, careers */
.module-hero-card,
.support-public-summary {
  background:
    radial-gradient(circle at 100% 0%, rgba(226,29,47,.10), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fbff) !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.14) !important;
  color: #0f172a !important;
}
.module-hero-card p,
.support-public-summary p,
.module-hero .portal-panel p {
  color: #334155 !important;
  font-weight: 650;
  line-height: 1.65;
}
.premium-section-head {
  max-width: 860px;
  margin: 0 auto 2.2rem;
  text-align: center;
}
.premium-section-head h2 {
  margin: .8rem 0 .85rem;
  color: #0b1220;
  font-size: clamp(2rem, 4vw, 3.45rem);
  line-height: .98;
  letter-spacing: 0;
}
.premium-section-head p {
  margin: 0 auto;
  max-width: 760px;
  color: #536174;
  font-size: 1.08rem;
  line-height: 1.72;
}
.premium-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.premium-process-card,
.premium-split-panel,
.premium-check-panel,
.premium-feature-strip article {
  border: 1px solid #e2e8f0;
  background:
    radial-gradient(circle at 100% 0%, rgba(226,29,47,.055), transparent 34%),
    linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow: 0 18px 54px rgba(15,23,42,.07);
}
.premium-process-card {
  min-height: 240px;
  padding: 1.35rem;
  border-radius: 18px;
}
.premium-process-card i {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: #e21d2f;
  background: #fff5f6;
  border: 1px solid #fde2e5;
  font-size: 1.25rem;
}
.premium-process-card h3 {
  margin: 1.1rem 0 .55rem;
  color: #111827;
  font-size: 1.12rem;
}
.premium-process-card p {
  margin: 0;
  color: #536174;
  line-height: 1.62;
}
.premium-split-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border-radius: 22px;
}
.premium-split-panel h3 {
  margin: .9rem 0 .7rem;
  color: #0f172a;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.08;
}
.premium-split-panel p {
  color: #536174;
  line-height: 1.72;
}
.premium-table,
.premium-feature-list {
  display: grid;
  gap: .8rem;
}
.premium-table-row,
.premium-feature-list article {
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
}
.premium-table-row strong,
.premium-feature-list strong {
  display: block;
  color: #0f172a;
  margin-bottom: .35rem;
}
.premium-table-row span,
.premium-table-row em,
.premium-feature-list span {
  display: block;
  color: #5f6b7c;
  line-height: 1.55;
  font-style: normal;
}
.premium-table-row em {
  margin-top: .35rem;
  color: #0f4ea2;
  font-weight: 750;
}
.premium-feature-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.premium-feature-strip article {
  padding: 1.05rem;
  border-radius: 16px;
}
.premium-feature-strip strong {
  display: block;
  color: #0f172a;
  margin-bottom: .45rem;
}
.premium-feature-strip span {
  display: block;
  color: #536174;
  line-height: 1.58;
}
.premium-check-panel {
  margin-top: 1rem;
  padding: 1.35rem;
  border-radius: 18px;
}
.premium-check-panel h3 {
  color: #0f172a;
  margin-bottom: 1rem;
}
.premium-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.premium-check-grid span {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  padding: .9rem;
  border-radius: 14px;
  color: #334155;
  background: #fff;
  border: 1px solid #e2e8f0;
  line-height: 1.5;
}
.premium-check-grid i {
  color: #16a34a;
  margin-top: .2rem;
}
.support-premium-deep,
.knowledge-premium-deep,
.tech-premium-deep,
.careers-premium-deep {
  background:
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}
.support-intake-stack {
  display: grid;
  gap: 1rem;
  height: 100%;
}
.support-intake-card {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 1rem;
  align-items: flex-start;
  padding: 1.2rem;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  background:
    radial-gradient(circle at 100% 0%, rgba(226,29,47,.07), transparent 32%),
    linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow: 0 18px 54px rgba(15,23,42,.07);
}
.support-intake-card i {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  color: #e21d2f;
  background: #fff5f6;
  border: 1px solid #fde2e5;
  font-size: 1.25rem;
}
.support-intake-card h3 {
  margin: 0 0 .35rem;
  color: #111827;
  font-size: 1.08rem;
  line-height: 1.25;
}
.support-intake-card p {
  color: #536174;
  line-height: 1.6;
}
.support-ticket-form {
  min-height: 100%;
}
.knowledge-manual-shell {
  margin-top: clamp(2rem, 5vw, 4rem);
}
.knowledge-manual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.knowledge-manual-card {
  position: relative;
  padding: 1.35rem;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 18px 54px rgba(15,23,42,.065);
}
.knowledge-manual-card > span {
  display: inline-flex;
  min-width: 42px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-weight: 850;
  margin-bottom: .9rem;
}
.knowledge-manual-card h3 {
  color: #0f172a;
  margin-bottom: .55rem;
  font-size: 1.18rem;
}
.knowledge-manual-card p,
.knowledge-manual-card li {
  color: #536174;
  line-height: 1.62;
}
.knowledge-manual-card ul {
  margin: .9rem 0 0;
  padding-left: 1.1rem;
}
.security-layer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.legal-content-section .legal-page header {
  padding-bottom: 1.2rem;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 1.4rem;
}
.legal-content-section .legal-page footer {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

@media (max-width: 991px) {
  .premium-process-grid,
  .premium-feature-strip,
  .security-layer-grid,
  .knowledge-manual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .premium-split-panel {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .premium-process-grid,
  .premium-feature-strip,
  .premium-check-grid,
  .security-layer-grid,
  .knowledge-manual-grid {
    grid-template-columns: 1fr;
  }
  .premium-process-card {
    min-height: 0;
  }
}
