:root {
  /* Rackspace exact palette */
  --red:      #E50049;
  --red-dark: #B0003A;
  --red-soft: #FF1A66;
  --black:    #000000;
  --ink:      #1D1D1D;
  --ink-2:    #2D2D2D;
  --gray-1:   #4A4A4A;
  --gray-2:   #6E6E6E;
  --gray-3:   #9A9A9A;
  --gray-4:   #C8C8C8;
  --gray-5:   #E8E8E8;
  --gray-6:   #F2F2F2;
  --gray-7:   #F8F8F8;
  --white:    #FFFFFF;
  /* Aliases for legacy class names (so we don't break sub-pages) */
  --ink-3:    #2D2D2D;
  --cyan:      #E50049;
  --cyan-deep: #B0003A;
  --gold:      #E50049;
  --gold-soft: #B0003A;
  --gold-deep: #B0003A;
  --cream:     #FFFFFF;
  --cream-2:   #F8F8F8;
  --cream-line:#E8E8E8;
  --text:      #1D1D1D;
  --text-soft: #6E6E6E;
  --line:      #E8E8E8;

  --shadow-lg: 0 20px 60px -15px rgba(0,0,0,0.18);
  --shadow-md: 0 10px 30px -8px rgba(0,0,0,0.12);
  --shadow-sm: 0 4px 14px -4px rgba(0,0,0,0.08);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Inter','Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--white); color:var(--ink); line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
::selection { background:var(--red); color:var(--white); }
h1,h2,h3,h4,h5,h6 {
  font-family:'Inter','Manrope',-apple-system,sans-serif;
  font-weight:700; letter-spacing:-0.02em; line-height:1.1;
  color:var(--black);
}
img { max-width:100%; display:block; }
a { color:inherit; }

.eyebrow {
  font-family:'Inter',monospace; font-size:11px; letter-spacing:0.18em;
  text-transform:uppercase; color:#D60044; font-weight:600;
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before { content:""; width:24px; height:1px; background:var(--red); }
.eyebrow.light { color:var(--red-soft); }
.eyebrow.light::before { background:var(--red-soft); }
.container { max-width:1320px; margin:0 auto; padding:0 32px; }
section { padding:96px 0; position:relative; }

/* ============ TOPBAR (dark like Rackspace) ============ */
.topbar { background:var(--black); color:var(--white); padding:10px 0; font-size:12px; }
.topbar-inner { max-width:1320px; margin:0 auto; padding:0 32px; display:flex; justify-content:flex-end; align-items:center; gap:32px; }
.topbar a { color:rgba(255,255,255,0.85); text-decoration:none; font-weight:500; letter-spacing:0.04em; transition:color 0.2s; text-transform:uppercase; font-size:11px; }
.topbar a:hover { color:var(--white); }
.topbar .lang { display:flex; align-items:center; gap:6px; color:rgba(255,255,255,0.85); }
.topbar .lang::before { content:"🌐"; font-size:11px; }

/* ============ NAV (white, bold, Rackspace style) ============ */
.nav { background:var(--white); border-bottom:1px solid var(--gray-5); position:sticky; top:0; z-index:200; transition:box-shadow 0.3s; }
.nav.scrolled { box-shadow:0 2px 12px rgba(0,0,0,0.06); }
.nav-inner { max-width:1480px; margin:0 auto; padding:18px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; }
.logo { font-family:'Inter',sans-serif; font-weight:800; font-size:24px; color:var(--black); letter-spacing:-0.03em; display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; font-style:italic; }
.logo-mark { width:34px; height:34px; background:var(--red); border-radius:6px; position:relative; display:grid; place-items:center; transform:skewX(-8deg); }
.logo-mark::before { content:""; width:14px; height:14px; border:2px solid var(--white); border-radius:50%; border-right-color:transparent; border-bottom-color:transparent; transform:rotate(-45deg) skewX(8deg); }
.logo-mark::after { content:""; position:absolute; width:4px; height:4px; background:var(--white); border-radius:50%; top:8px; right:8px; transform:skewX(8deg); }
.logo span { color:var(--red); font-weight:400; font-style:italic; font-size:13px; margin-left:4px; letter-spacing:0; text-transform:uppercase; align-self:flex-end; padding-bottom:4px; }

.nav-menu { display:flex; align-items:center; gap:2px; list-style:none; flex:1; justify-content:center; }
.nav-menu > li { position:static; }
.nav-link { display:flex; align-items:center; gap:6px; padding:14px 13px; color:var(--black); text-decoration:none; font-size:14px; font-weight:700; letter-spacing:0.03em; transition:color 0.2s; cursor:pointer; background:none; border:none; font-family:inherit; text-transform:uppercase; }
.nav-link::after { content:"▾"; font-size:9px; opacity:0.6; transition:transform 0.2s; }
.nav-menu > li:hover .nav-link { color:var(--red); }
.nav-menu > li:hover .nav-link::after { transform:rotate(180deg); }
.nav-link.no-arrow::after { display:none; }
.nav-link.active { color:var(--red); }

.mega { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); width:min(1180px, calc(100vw - 48px)); max-width:none; background:var(--white); border:1px solid var(--gray-5); border-radius:8px; box-shadow:var(--shadow-lg); padding:32px; opacity:0; pointer-events:none; transition:opacity 0.25s ease, transform 0.25s ease; z-index:300; }
.nav-menu > li:hover .mega { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.mega-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:24px 28px; align-items:start; }
.mega-feature { grid-column:1 / -1; }
.mega-grid.cols-3 { grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); }
.mega-col h6 { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:var(--red); margin-bottom:14px; font-weight:700; }
.mega-col ul { list-style:none; display:grid; gap:1px; }
.mega-col a { display:block; padding:9px 12px; border-radius:6px; color:var(--ink); text-decoration:none; transition:all 0.2s; }
.mega-col a:hover { background:var(--gray-7); }
.mega-col a strong { display:block; font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:var(--black); }
.mega-col a span { display:block; font-size:12px; color:var(--gray-2); margin-top:2px; line-height:1.4; }

.mega-feature { background:var(--black); color:var(--white); border-radius:8px; padding:18px 24px; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 14px; text-decoration:none; min-height:0; }
.mega-feature .feat-tag { flex:0 0 auto; }
.mega-feature h5 { flex:0 0 auto; margin:0; font-size:16px; }
.mega-feature p { flex:1 1 280px; min-width:0; margin:0; font-size:13px; opacity:0.85; }
.mega-feature .arrow { flex:0 0 auto; margin-left:auto; white-space:nowrap; }
.mega-feature .feat-tag { font-family:'Inter',sans-serif; font-size:10px; letter-spacing:0.12em; color:var(--red-soft); text-transform:uppercase; margin-bottom:10px; font-weight:700; }
.mega-feature h5 { font-family:'Inter',sans-serif; color:var(--white); font-size:18px; line-height:1.2; margin-bottom:8px; font-weight:700; }
.mega-feature p { font-size:12px; color:rgba(255,255,255,0.72); line-height:1.55; flex:1; }
.mega-feature .arrow { color:var(--red-soft); font-weight:700; font-size:13px; margin-top:14px; display:inline-flex; align-items:center; gap:6px; text-transform:uppercase; letter-spacing:0.05em; }
.mega-feature .arrow::after { content:"→"; transition:transform 0.3s; }
.mega-feature:hover .arrow::after { transform:translateX(4px); }
.mega-industries { display:grid; grid-template-columns:repeat(4, 1fr); gap:4px; }
.mega-industries a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:6px; color:var(--ink); text-decoration:none; font-size:13px; font-weight:600; transition:all 0.2s; }
.mega-industries a:hover { background:var(--gray-7); color:var(--red); }
.mega-industries a::before { content:"›"; color:var(--red); font-weight:700; }

.nav-actions { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.nav-search { width:38px; height:38px; border-radius:50%; border:none; background:transparent; display:grid; place-items:center; cursor:pointer; transition:all 0.2s; color:var(--black); }
.nav-search:hover { background:var(--gray-7); }
.nav-cta { background:var(--red); color:var(--white); padding:12px 24px; border-radius:4px; font-weight:700; font-size:14px; letter-spacing:0.03em; transition:all 0.3s ease; display:inline-flex; align-items:center; gap:8px; text-decoration:none; text-transform:uppercase; }
.nav-cta:hover { background:var(--red-dark); }
.menu-toggle { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:8px; }
.menu-toggle span { width:22px; height:2px; background:var(--black); transition:0.3s; }

/* ============ BUTTONS ============ */
.btn { display:inline-flex; align-items:center; gap:10px; padding:14px 28px; border-radius:4px; font-family:'Inter',sans-serif; font-weight:700; font-size:14px; text-decoration:none; transition:all 0.3s ease; border:2px solid transparent; cursor:pointer; text-transform:uppercase; letter-spacing:0.04em; }
.btn-primary { background:var(--red); color:var(--white); border-color:var(--red); }
.btn-primary:hover { background:var(--red-dark); border-color:var(--red-dark); }
.btn-gold { background:var(--red); color:var(--white); border-color:var(--red); }
.btn-gold:hover { background:var(--red-dark); border-color:var(--red-dark); }
.btn-ghost { background:transparent; color:var(--white); border-color:rgba(255,255,255,0.4); }
.btn-ghost:hover { background:var(--white); color:var(--black); border-color:var(--white); }
.btn-dark { background:var(--black); color:var(--white); border-color:var(--black); }
.btn-dark:hover { background:var(--red); border-color:var(--red); }
.btn-outline-dark { background:transparent; color:var(--black); border-color:var(--black); }
.btn-outline-dark:hover { background:var(--black); color:var(--white); }
.btn-outline-red { background:transparent; color:var(--red); border-color:var(--red); }
.btn-outline-red:hover { background:var(--red); color:var(--white); }
.btn::after { content:"→"; transition:transform 0.3s; font-weight:400; }
.btn:hover::after { transform:translateX(4px); }

/* ============ INTERIOR PAGE HERO ============ */
.page-hero { background:var(--black); color:var(--white); position:relative; overflow:hidden; padding:90px 0 110px; }
.page-hero .hero-bg::before, .page-hero .hero-bg::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.page-hero .hero-bg::before { width:800px; height:800px; background:radial-gradient(circle, rgba(229,0,73,0.18) 0%, transparent 60%); top:-300px; right:-200px; filter:blur(80px); }
.page-hero .hero-bg::after { width:600px; height:600px; background:radial-gradient(circle, rgba(229,0,73,0.10) 0%, transparent 60%); bottom:-200px; left:-100px; filter:blur(80px); }
.page-hero .hero-grid-bg { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size:80px 80px; mask-image:radial-gradient(ellipse at center, black 30%, transparent 80%); pointer-events:none; }
.breadcrumb { display:flex; gap:8px; align-items:center; font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-bottom:24px; position:relative; z-index:2; font-weight:600; }
.breadcrumb a { color:rgba(255,255,255,0.85); text-decoration:none; transition:color 0.2s; }
.breadcrumb a:hover { color:var(--red-soft); }
.breadcrumb .sep { color:var(--red); }
.breadcrumb .current { color:var(--red-soft); }
.page-hero h1, .page-hero h2 { color:var(--white); font-size:clamp(40px, 5.6vw, 70px); font-weight:800; max-width:1000px; margin-bottom:24px; letter-spacing:-0.025em; line-height:1.05; position:relative; z-index:2; }
.page-hero h1 em, .page-hero h2 em { color:var(--red-soft); font-style:normal; font-weight:300; }
.page-hero h1 strong { color:var(--red); font-weight:300; font-style:italic; }
.page-hero .lede { font-size:18px; line-height:1.6; color:rgba(255,255,255,0.78); max-width:720px; margin-bottom:36px; position:relative; z-index:2; }
.page-hero .ctas { display:flex; gap:14px; flex-wrap:wrap; position:relative; z-index:2; }
.hero-tag { display:inline-flex; align-items:center; gap:10px; background:rgba(229,0,73,0.15); border:1px solid rgba(229,0,73,0.4); padding:8px 16px; border-radius:4px; font-family:'Inter',sans-serif; font-size:11px; color:var(--red-soft); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:24px; font-weight:700; }

/* ============ COMMON BLOCKS ============ */
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-bottom:64px; align-items:end; }
.section-head h2 { font-size:clamp(36px, 4.5vw, 56px); font-weight:800; line-height:1.05; }
.section-head h2 em { color:var(--red); font-style:normal; }
.section-head .lede { font-size:16px; color:var(--gray-1); line-height:1.7; max-width:520px; }
.section-head-center { text-align:center; max-width:820px; margin:0 auto 60px; }
.section-head-center h2 { font-size:clamp(34px, 4.5vw, 52px); font-weight:800; margin:14px 0 18px; }
.section-head-center h2 em { color:var(--red); font-style:normal; }
.section-head-center p { font-size:17px; color:var(--gray-1); line-height:1.7; }
.section-head-center .eyebrow { justify-content:center; }

.modes-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; }
.mode-card { background:var(--white); border:1px solid var(--gray-5); border-radius:8px; padding:40px; transition:all 0.4s ease; position:relative; overflow:hidden; }
.mode-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--red); }
.mode-card.dark { background:var(--black); color:var(--white); border-color:var(--black); }
.mode-card.dark h3 { color:var(--white); }
.mode-card.dark > p { color:rgba(255,255,255,0.78); }
.mode-card.dark .mode-num { color:var(--red-soft); }
.mode-num { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.15em; color:var(--red); text-transform:uppercase; margin-bottom:14px; font-weight:700; }
.mode-card h3 { font-size:28px; font-weight:800; margin-bottom:14px; line-height:1.15; }
.mode-card h3 em { color:var(--red); font-style:normal; }
.mode-card.dark h3 em { color:var(--red-soft); }
.mode-card > p { font-size:15px; line-height:1.65; color:var(--gray-1); margin-bottom:20px; }
.mode-card .mode-link { font-family:'Inter',sans-serif; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:var(--red); text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.mode-card.dark .mode-link { color:var(--red-soft); }
.mode-card .mode-link::after { content:"→"; transition:transform 0.3s; }
.mode-card:hover .mode-link::after { transform:translateX(4px); }

.mode-list { list-style:none; display:grid; gap:0; }
.mode-list li { padding:14px 0; font-size:14px; color:var(--ink); border-bottom:1px solid var(--gray-5); display:flex; align-items:flex-start; gap:12px; line-height:1.55; }
.mode-list li::before { content:"›"; color:var(--red); font-weight:700; flex-shrink:0; font-size:18px; line-height:1.3; }
.mode-list li:last-child { border-bottom:none; }
.mode-list li strong { color:var(--black); font-weight:700; }
.mode-card.dark .mode-list li { border-color:rgba(255,255,255,0.1); color:rgba(255,255,255,0.85); }
.mode-card.dark .mode-list li::before { color:var(--red-soft); }
.mode-card.dark .mode-list li strong { color:var(--white); }

.stats-band { background:var(--black); color:var(--white); padding:80px 0; }
.stats-band-head { text-align:center; margin-bottom:50px; }
.stats-band-head h3 { color:var(--white); font-size:32px; font-weight:800; margin:14px 0 14px; }
.stats-band-head h3 em { color:var(--red-soft); font-style:normal; }
.stats-band-head p { color:rgba(255,255,255,0.7); font-size:16px; max-width:680px; margin:0 auto; line-height:1.65; }
.stats-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:32px; }
.stat { text-align:center; padding:0 20px; border-right:1px solid rgba(255,255,255,0.12); }
.stat:last-child { border-right:none; }
.stat-num { font-family:'Inter',sans-serif; font-size:60px; font-weight:800; color:var(--red-soft); line-height:1; margin-bottom:12px; letter-spacing:-0.03em; }
.stat-num span { color:var(--white); font-size:32px; }
.stat-label { font-size:13px; color:rgba(255,255,255,0.7); letter-spacing:0.04em; line-height:1.5; }

.content-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; }
.content-grid h2 { font-size:clamp(34px, 4.2vw, 50px); font-weight:800; margin-bottom:20px; line-height:1.1; }
.content-grid h2 em { color:var(--red); font-style:normal; }
.content-grid > div p { font-size:17px; color:var(--gray-1); line-height:1.75; margin-bottom:16px; max-width:560px; }
.content-grid > div p strong { color:var(--black); font-weight:700; }
.content-visual { background:var(--black); color:var(--white); border-radius:12px; padding:40px; position:relative; overflow:hidden; }
.content-visual::before { content:""; position:absolute; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle, rgba(229,0,73,0.18) 0%, transparent 60%); top:-200px; right:-150px; pointer-events:none; }
.content-visual h4 { color:var(--white); font-family:'Inter',sans-serif; font-size:22px; margin-bottom:12px; font-weight:800; position:relative; z-index:2; }
.content-visual h4 em { color:var(--red-soft); font-style:normal; }
.content-visual p { color:rgba(255,255,255,0.78); font-size:14px; line-height:1.65; position:relative; z-index:2; margin-bottom:20px; }
.content-visual ul { list-style:none; display:grid; gap:10px; position:relative; z-index:2; }
.content-visual ul li { display:flex; gap:12px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,0.85); }
.content-visual ul li::before { content:"✓"; color:var(--red-soft); font-weight:700; flex-shrink:0; }

.capability-row { display:grid; grid-template-columns:280px 1fr; gap:60px; padding:40px 0; border-bottom:1px solid var(--gray-5); align-items:start; }
.capability-row:last-child { border-bottom:none; }
.capability-row .cap-num { font-family:'Inter',sans-serif; font-size:36px; color:var(--red); font-weight:800; line-height:1; margin-bottom:12px; }
.capability-row h3 { font-size:26px; font-weight:800; margin-bottom:12px; line-height:1.15; }
.capability-row h3 em { color:var(--red); font-style:normal; }
.capability-row .cap-tag { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.12em; color:var(--red); text-transform:uppercase; margin-bottom:12px; font-weight:700; }
.capability-row p { font-size:15px; color:var(--gray-1); line-height:1.7; max-width:680px; margin-bottom:18px; }
.capability-row .cap-tags { display:flex; flex-wrap:wrap; gap:6px; }
.capability-row .cap-tags span { font-size:11px; padding:5px 10px; border-radius:4px; background:var(--gray-7); color:var(--ink); border:1px solid var(--gray-5); font-family:'Inter',sans-serif; letter-spacing:0.04em; font-weight:500; }

.related { background:var(--gray-7); padding:80px 0; }
.related-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.related-card { background:var(--white); border:1px solid var(--gray-5); border-radius:8px; padding:28px; text-decoration:none; color:inherit; transition:all 0.3s ease; display:flex; flex-direction:column; }
.related-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--red); }
.related-card .r-tag { font-family:'Inter',sans-serif; font-size:10px; letter-spacing:0.12em; color:var(--red); text-transform:uppercase; margin-bottom:12px; font-weight:700; }
.related-card h4 { font-size:20px; font-weight:800; margin-bottom:10px; line-height:1.2; }
.related-card p { font-size:14px; color:var(--gray-1); line-height:1.6; margin-bottom:16px; flex:1; }
.related-card .r-link { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.1em; color:var(--red); text-transform:uppercase; font-weight:700; }
.related-card .r-link::after { content:" →"; transition:padding 0.3s; }
.related-card:hover .r-link::after { padding-left:4px; }

.cta-section { background:var(--white); padding:120px 0; }
.cta-card { background:var(--black); border-radius:12px; padding:72px; color:var(--white); position:relative; overflow:hidden; text-align:center; }
.cta-card::before { content:""; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(229,0,73,0.18) 0%, transparent 60%); top:-300px; left:-200px; pointer-events:none; }
.cta-card::after { content:""; position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle, rgba(229,0,73,0.10) 0%, transparent 60%); bottom:-250px; right:-150px; pointer-events:none; }
.cta-card > * { position:relative; z-index:2; }
.cta-card h2 { color:var(--white); font-size:clamp(36px, 4.8vw, 56px); font-weight:800; margin:24px 0 20px; line-height:1.1; }
.cta-card h2 em { color:var(--red-soft); font-style:normal; }
.cta-card p { font-size:18px; color:rgba(255,255,255,0.8); max-width:680px; margin:0 auto 32px; line-height:1.6; }
.cta-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* FOOTER */
footer { background:var(--black); color:var(--white); padding:72px 0 36px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.footer-brand .logo { color:var(--white); margin-bottom:18px; }
.footer-brand .logo span { color:var(--red-soft); }
.footer-brand p { font-size:13px; color:rgba(255,255,255,0.7); line-height:1.7; max-width:320px; margin-bottom:24px; }
.footer-contact { font-size:13px; color:rgba(255,255,255,0.78); line-height:1.8; }
.footer-contact strong { color:var(--red-soft); display:block; font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:4px; font-weight:700; }
.footer-col h2 { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:var(--red-soft); margin-bottom:18px; font-weight:700; }
.footer-col ul { list-style:none; display:grid; gap:10px; }
.footer-col a { color:rgba(255,255,255,0.72); text-decoration:none; font-size:13px; transition:color 0.2s; }
.footer-col a:hover { color:var(--white); }
.footer-bottom { padding-top:28px; border-top:1px solid rgba(255,255,255,0.1); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:12px; color:rgba(255,255,255,0.55); }
.footer-bottom a { color:rgba(255,255,255,0.65); text-decoration:none; margin-left:24px; }
.footer-bottom a:hover { color:var(--red-soft); }

/* REVEAL */
.reveal { opacity:1; transform:none; }
html.js-reveal .reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease, transform 0.7s ease; }
html.js-reveal .reveal.visible { opacity:1; transform:translateY(0); }

/* ====== LANDING-SPECIFIC ====== */
.rs-hero { background:var(--black); color:var(--white); position:relative; overflow:hidden; min-height:580px; display:flex; align-items:center; padding:100px 0 120px; }
.rs-hero-bg::before { content:""; position:absolute; inset:0; background: radial-gradient(ellipse 900px 600px at 20% 30%, rgba(229,0,73,0.20) 0%, transparent 60%), radial-gradient(ellipse 700px 500px at 80% 70%, rgba(229,0,73,0.12) 0%, transparent 60%); pointer-events:none; animation:rsHeroDrift 30s ease-in-out infinite; }
@keyframes rsHeroDrift { 0%,100% { transform:translate(0,0); } 33% { transform:translate(-30px, 20px); } 66% { transform:translate(20px, -20px); } }
.rs-hero-grid { position:absolute; inset:0; pointer-events:none; background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size:80px 80px; mask-image:radial-gradient(ellipse at center, black 30%, transparent 80%); }
.rs-hero-track { position:relative; z-index:2; width:100%; }
.rs-hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 0.6s ease; pointer-events:none; }
.rs-hero-slide.active { position:relative; opacity:1; pointer-events:auto; }
.rs-hero-tag { display:inline-flex; align-items:center; gap:10px; background:rgba(229,0,73,0.15); border:1px solid rgba(229,0,73,0.4); padding:8px 16px; border-radius:4px; font-family:'Inter',sans-serif; font-size:11px; color:var(--red-soft); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:28px; font-weight:700; }
.rs-hero-tag::before { content:""; width:6px; height:6px; background:var(--red); border-radius:50%; box-shadow:0 0 0 4px rgba(229,0,73,0.2); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:0.6; transform:scale(1.2);} }
.rs-hero-slide h1, .rs-hero-slide h2 { color:var(--white); font-size:clamp(40px, 5.6vw, 72px); font-weight:800; max-width:1100px; margin-bottom:24px; letter-spacing:-0.025em; line-height:1.05; }
.rs-hero-slide h1 em, .rs-hero-slide h2 em { color:var(--red-soft); font-style:normal; font-weight:300; }
.rs-hero-sub { font-size:19px; line-height:1.6; color:rgba(255,255,255,0.78); max-width:780px; margin-bottom:32px; }
.rs-hero-controls { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; z-index:5; background:rgba(0,0,0,0.5); backdrop-filter:blur(10px); padding:2px 12px; border-radius:999px; border:1px solid rgba(255,255,255,0.1); }
.rs-hero-arrow { width:38px; height:38px; border-radius:50%; background:transparent; border:none; color:rgba(255,255,255,0.7); display:grid; place-items:center; cursor:pointer; transition:all 0.2s; }
.rs-hero-arrow:hover { background:var(--red); color:var(--white); }
.rs-hero-dots { display:flex; gap:8px; }
.rs-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.3); border:none; cursor:pointer; transition:all 0.3s; box-sizing:content-box; padding:8px; background-clip:content-box; }
.rs-dot:focus-visible { outline:2px solid var(--red-soft); outline-offset:2px; }
.rs-dot.active { background:var(--red-soft); width:24px; border-radius:4px; }
.rs-dot:hover { background:rgba(255,255,255,0.6); }

.rs-promise { background:var(--white); padding:110px 0 70px; text-align:center; }
.rs-promise h2 { font-size:clamp(36px, 5vw, 60px); font-weight:800; line-height:1.1; max-width:1100px; margin:0 auto 28px; }
.rs-promise h2 em { color:var(--red); font-style:normal; }
.rs-promise p { font-size:18px; color:var(--gray-1); line-height:1.7; max-width:920px; margin:0 auto; }

/* THREE-TRACK PILLARS */
.rs-tracks { background:var(--white); padding:0 0 110px; }
.rs-tracks-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.rs-track { background:var(--white); border:1px solid var(--gray-5); border-radius:8px; padding:40px 32px; text-decoration:none; color:inherit; transition:all 0.4s ease; display:flex; flex-direction:column; position:relative; overflow:hidden; min-height:380px; }
.rs-track::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform 0.4s ease; }
.rs-track:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--black); }
.rs-track:hover::before { transform:scaleX(1); }
.rs-track-tag { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.12em; color:var(--red); text-transform:uppercase; font-weight:700; margin-bottom:16px; }
.rs-track h3 { font-family:'Inter',sans-serif; font-size:30px; font-weight:800; margin-bottom:16px; color:var(--black); line-height:1.1; }
.rs-track > p { font-size:15px; color:var(--gray-1); line-height:1.65; margin-bottom:24px; }
.rs-track-list { list-style:none; display:grid; gap:0; margin-bottom:24px; flex:1; }
.rs-track-list li { padding:10px 0; font-size:13px; color:var(--ink); border-bottom:1px solid var(--gray-5); display:flex; align-items:flex-start; gap:10px; line-height:1.4; }
.rs-track-list li:last-child { border-bottom:none; }
.rs-track-list li::before { content:""; width:5px; height:5px; background:var(--red); border-radius:50%; margin-top:7px; flex-shrink:0; }
.rs-track-link { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.1em; color:var(--red); text-transform:uppercase; font-weight:700; display:inline-flex; align-items:center; gap:6px; margin-top:auto; }
.rs-track-link::after { content:"→"; transition:transform 0.3s; }
.rs-track:hover .rs-track-link::after { transform:translateX(4px); }

/* SOLUTIONS GRID — 5 sub-pillars */
.rs-pillars { background:var(--gray-7); padding:110px 0; }
.rs-pillars-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; }
.rs-pillar-card { background:var(--white); border:1px solid var(--gray-5); border-radius:8px; padding:30px 24px; text-decoration:none; color:inherit; transition:all 0.3s ease; display:flex; flex-direction:column; min-height:240px; }
.rs-pillar-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--red); }
.rs-pillar-card h4 { font-family:'Inter',sans-serif; font-size:20px; font-weight:800; margin-bottom:12px; color:var(--black); }
.rs-pillar-card p { font-size:13px; color:var(--gray-1); line-height:1.55; margin-bottom:18px; flex:1; }
.rs-pillar-link { font-family:'Inter',sans-serif; font-size:10px; letter-spacing:0.1em; color:var(--red); text-transform:uppercase; font-weight:700; display:inline-flex; align-items:center; gap:6px; margin-top:auto; }
.rs-pillar-link::after { content:"→"; transition:transform 0.3s; }
.rs-pillar-card:hover .rs-pillar-link::after { transform:translateX(4px); }

/* STATS */
.rs-stats { background:var(--white); padding:110px 0; }
.rs-customer-logo { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:50px; }
.rs-customer-mark { width:42px; height:42px; border-radius:50%; background:var(--black); color:var(--red-soft); display:grid; place-items:center; font-family:'Inter',sans-serif; font-size:18px; font-weight:800; }
.rs-customer-text { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gray-2); font-weight:600; }
.rs-stats-headline { text-align:center; max-width:900px; margin:0 auto 56px; }
.rs-stats-headline h2 { font-size:clamp(34px, 4.5vw, 48px); font-weight:800; line-height:1.1; margin-bottom:16px; }
.rs-stats-headline h2 em { color:var(--red); font-style:normal; }
.rs-stats-headline p { font-size:17px; color:var(--gray-1); line-height:1.7; max-width:680px; margin:0 auto; }
.rs-stats-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
.rs-stat { background:var(--gray-7); border:1px solid var(--gray-5); border-radius:8px; padding:40px 28px; text-align:center; transition:all 0.3s ease; }
.rs-stat:hover { transform:translateY(-3px); border-color:var(--red); background:var(--white); box-shadow:var(--shadow-sm); }
.rs-stat-num { font-family:'Inter',sans-serif; font-size:56px; font-weight:800; color:var(--black); line-height:1; margin-bottom:14px; letter-spacing:-0.03em; }
.rs-stat-num span { color:var(--red); }
.rs-stat-label { font-size:13px; color:var(--gray-1); line-height:1.5; }

/* PARTNERS */
.rs-partners { background:var(--gray-7); padding:110px 0; }
.rs-partners-head { text-align:center; max-width:820px; margin:0 auto 50px; }
.rs-partners-head h2 { font-size:clamp(32px, 4vw, 44px); font-weight:800; margin-bottom:16px; }
.rs-partners-head p { font-size:16px; color:var(--gray-1); line-height:1.65; }
.rs-partners-table { display:grid; grid-template-columns:repeat(6, 1fr); border:1px solid var(--gray-5); border-radius:8px; overflow:hidden; background:var(--white); }
.rs-partner-cell { padding:30px 14px; display:grid; place-items:center; border-right:1px solid var(--gray-5); border-bottom:1px solid var(--gray-5); transition:all 0.3s ease; }
.rs-partner-cell:nth-child(6n) { border-right:none; }
.rs-partner-cell:nth-last-child(-n+6) { border-bottom:none; }
.rs-partner-cell:hover { background:var(--black); }
.rs-partner-cell:hover span { color:var(--red-soft); }
.rs-partner-cell span { font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:var(--gray-1); transition:color 0.3s; text-align:center; line-height:1.2; letter-spacing:-0.01em; }

/* RECOGNITION */
.rs-recognition { background:var(--white); padding:110px 0; }
.rs-rec-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:64px; align-items:start; }
.rs-rec-image { background:var(--black); border-radius:12px; padding:64px 40px; position:relative; overflow:hidden; min-height:480px; }
.rs-rec-image::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 30% 30%, rgba(229,0,73,0.30), transparent 50%), radial-gradient(circle at 70% 70%, rgba(229,0,73,0.18), transparent 50%); }
.rs-rec-image-inner { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:18px; height:100%; align-content:center; }
.rs-rec-image .rs-rec-badge { background:rgba(255,255,255,0.06); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.15); border-radius:12px; aspect-ratio:1; display:grid; place-items:center; font-family:'Inter',sans-serif; font-size:42px; color:var(--red-soft); font-weight:800; }
.rs-rec-content h2 { font-size:clamp(32px, 4vw, 44px); font-weight:800; margin-bottom:16px; }
.rs-rec-content > p { font-size:17px; color:var(--gray-1); line-height:1.7; margin-bottom:24px; }
.rs-rec-list { list-style:none; display:grid; gap:8px; }
.rs-rec-list li { padding:11px 0 11px 24px; font-size:14px; color:var(--ink); border-bottom:1px solid var(--gray-5); position:relative; line-height:1.5; }
.rs-rec-list li:last-child { border-bottom:none; }
.rs-rec-list li::before { content:""; position:absolute; left:0; top:18px; width:8px; height:8px; border-radius:50%; background:var(--red); }

/* INSIGHTS */
.rs-insights { background:var(--gray-7); padding:110px 0; }
.rs-insights-head { text-align:center; max-width:780px; margin:0 auto 50px; }
.rs-insights-head h2 { font-size:clamp(32px, 4vw, 44px); font-weight:800; margin-bottom:16px; }
.rs-insights-head p { font-size:16px; color:var(--gray-1); line-height:1.65; }
.rs-insights-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.rs-insight { background:var(--white); border:1px solid var(--gray-5); border-radius:8px; overflow:hidden; text-decoration:none; color:inherit; transition:all 0.4s ease; display:flex; flex-direction:column; }
.rs-insight:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--red); }
.rs-insight-img { aspect-ratio:4/3; background:var(--black); position:relative; overflow:hidden; }
.rs-insight-img::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 30% 30%, rgba(229,0,73,0.32), transparent 50%), radial-gradient(circle at 80% 80%, rgba(229,0,73,0.18), transparent 50%); }
.rs-insight-img::after { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px); background-size:24px 24px; opacity:0.6; }
.rs-insight-pill { position:absolute; bottom:14px; left:14px; background:var(--red); color:var(--white); padding:5px 12px; border-radius:4px; font-family:'Inter',sans-serif; font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; z-index:2; }
.rs-insight-body { padding:22px; flex:1; display:flex; flex-direction:column; }
.rs-insight-body h4 { font-family:'Inter',sans-serif; font-size:17px; font-weight:800; line-height:1.3; margin-bottom:16px; color:var(--black); }
.rs-insight-link { font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.1em; color:var(--red); text-transform:uppercase; font-weight:700; display:inline-flex; align-items:center; gap:6px; margin-top:auto; }
.rs-insight-link::after { content:"→"; transition:transform 0.3s; }
.rs-insight:hover .rs-insight-link::after { transform:translateX(4px); }

/* CTA */
.rs-cta { background:var(--white); padding:110px 0; text-align:center; }
.rs-cta h2 { font-size:clamp(40px, 5vw, 56px); font-weight:800; line-height:1.1; margin-bottom:20px; }
.rs-cta h2 em { color:var(--red); font-style:normal; }
.rs-cta p { font-size:18px; color:var(--gray-1); line-height:1.6; max-width:680px; margin:0 auto 32px; }

/* RESPONSIVE */
@media (max-width:1100px) {
  .rs-tracks-grid, .rs-pillars-grid { grid-template-columns:repeat(2, 1fr); }
  .rs-pillars-grid > :nth-child(5) { grid-column:span 2; }
  .rs-stats-grid, .rs-insights-grid { grid-template-columns:repeat(2, 1fr); }
  .rs-partners-table { grid-template-columns:repeat(4, 1fr); }
  .rs-partner-cell:nth-child(6n) { border-right:1px solid var(--gray-5); }
  .rs-partner-cell:nth-child(4n) { border-right:none; }
  .rs-partner-cell:nth-last-child(-n+6) { border-bottom:1px solid var(--gray-5); }
  .rs-partner-cell:nth-last-child(-n+4) { border-bottom:none; }
  .rs-rec-grid { grid-template-columns:1fr; gap:40px; }
  .rs-rec-image { min-height:280px; padding:40px; }
  .nav-menu { gap:0; }
  .nav-link { padding:12px 12px; font-size:13px; }
}
@media (max-width:1366px){
  .nav-menu { display:none; }
  .menu-toggle { display:flex; }
  .nav-cta { display:none; }
}
@media (max-width:1024px) {
  .modes-grid { grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
  .stats-grid { grid-template-columns:repeat(2, 1fr); gap:50px 20px; }
  .stat { border-right:none; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .section-head { grid-template-columns:1fr; gap:20px; }
  .content-grid { grid-template-columns:1fr; gap:40px; }
  .capability-row { grid-template-columns:1fr; gap:18px; }
  .related-grid { grid-template-columns:1fr; }
  .topbar-inner { gap:14px; }
}
@media (max-width:720px) {
  section { padding:64px 0; }
  .container { padding:0 20px; }
  .nav-inner { padding:14px 20px; }
  .topbar-inner { padding:0 20px; flex-wrap:wrap; }
  .rs-hero, .page-hero { padding:60px 0 80px; min-height:auto; }
  .rs-hero-slide h1, .rs-hero-slide h2 { font-size:34px; }
  .rs-tracks-grid, .rs-pillars-grid, .rs-stats-grid, .rs-insights-grid, .footer-grid { grid-template-columns:1fr; }
  .rs-pillars-grid > :nth-child(5) { grid-column:span 1; }
  .rs-partners-table { grid-template-columns:repeat(3, 1fr); }
  .rs-partner-cell:nth-child(4n) { border-right:1px solid var(--gray-5); }
  .rs-partner-cell:nth-child(3n) { border-right:none; }
  .stats-grid { grid-template-columns:1fr; }
  .cta-card { padding:48px 28px; }
  .mode-card, .content-visual, .rs-rec-image { padding:32px; }
  .footer-bottom { justify-content:center; text-align:center; }
  .footer-bottom > div:last-child a { margin:0 12px; }
  .rs-hero-controls { bottom:18px; }
}


:root {
  --hero-cloud:        url("/assets/heroes/sol-cloud.webp");
  --hero-ai:           url("/assets/heroes/sol-ai.webp");
  --hero-data:         url("/assets/heroes/sol-data.webp");
  --hero-applications: url("/assets/heroes/sol-applications.webp");
  --hero-security:     url("/assets/heroes/sol-security.webp");
  --hero-workforce:    url("/assets/heroes/sol-workforce.webp");
}

/* === Workforce / 6-pillar landing additions === */
.rs-pillars-grid.cols-6 {
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.rs-pillars-grid.cols-6 .rs-pillar-card {
  min-height:260px;
  padding:36px 32px;
  height:100%;
}
/* Nullify the legacy 5-pillar override that forces child #5 to span 2 cols */
.rs-pillars-grid.cols-6 > :nth-child(5) {
  grid-column:auto !important;
}
@media (max-width:1100px) {
  .rs-pillars-grid.cols-6 { grid-template-columns:repeat(3, 1fr) !important; }
  .rs-pillars-grid.cols-6 > :nth-child(5) { grid-column:auto !important; }
}
@media (max-width:900px) {
  .rs-pillars-grid.cols-6 { grid-template-columns:repeat(2, 1fr) !important; }
  .rs-pillars-grid.cols-6 > :nth-child(5) { grid-column:auto !important; }
}
@media (max-width:560px) {
  .rs-pillars-grid.cols-6 { grid-template-columns:1fr !important; }
}

/* === IMAGE-HEADER pillar cards (homepage Solutions section) === */
.rs-pillars-grid.cols-6 {
  align-items:stretch;  /* ensure all cards stretch to row height */
}
.rs-pillars-grid.cols-6 .rs-pillar-card.has-image {
  padding:0 !important;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
}
.rs-pillar-img {
  aspect-ratio:16/9;
  background-size:cover;
  background-position:center;
  background-color:var(--ink);
  flex-shrink:0;
  position:relative;
  transition:transform 0.6s ease;
}
.rs-pillar-img::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.35) 100%);
  pointer-events:none;
}
.rs-pillar-img-cloud        { background-image:var(--hero-cloud); }
.rs-pillar-img-ai           { background-image:var(--hero-ai); }
.rs-pillar-img-data         { background-image:var(--hero-data); }
.rs-pillar-img-applications { background-image:var(--hero-applications); }
.rs-pillar-img-security     { background-image:var(--hero-security); }
.rs-pillar-img-workforce    { background-image:var(--hero-workforce); }
.rs-pillar-body {
  padding:24px 24px 26px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.rs-pillar-body h3 {
  font-family:'Inter',sans-serif;
  font-size:20px;
  font-weight:800;
  margin-bottom:10px;
  color:var(--black);
  line-height:1.2;
  /* Reserve consistent height for ~1 line so wrap doesn't break alignment */
  min-height:24px;
}
.rs-pillar-body p {
  font-size:13.5px;
  color:var(--gray-1);
  line-height:1.55;
  margin-bottom:16px;
  flex:1;
  /* Reserve consistent paragraph block (clamps to 4 lines max) */
  min-height:64px;
}
.rs-pillar-card.has-image:hover .rs-pillar-img {
  transform:scale(1.04);
}

.faq-item summary::-webkit-details-marker { display:none; }
.faq-item[open] summary span { transform:rotate(45deg); transition:transform 0.3s; }
.faq-item summary span { transition:transform 0.3s; display:inline-block; }

/* === STRATEGIC PARTNERSHIPS — branded logo tiles === */
.rs-partners-table { background:var(--white); }
.rs-partner-cell { padding:36px 16px; min-height:120px; }
.rs-partner-cell.rs-empty { background:var(--white); pointer-events:none; }
.rs-partner-cell.rs-empty:hover { background:var(--white); }
.rs-partner-cell:hover { background:var(--gray-7); }
.rs-partner-cell:hover span { color:inherit; }
.rs-logo {
  display:flex; align-items:center; justify-content:center; gap:6px;
  font-family:'Inter',-apple-system,sans-serif;
  height:100%; width:100%; transition:transform 0.3s;
}
.rs-partner-cell:hover .rs-logo { transform:scale(1.05); }

/* AWS */
.rs-logo-aws { flex-direction:column; gap:2px; }
.rs-logo-aws .lg-aws-text { font-family:'Inter',sans-serif; font-weight:700; font-size:28px; color:#232F3E; letter-spacing:-0.04em; }
.rs-logo-aws .lg-aws-smile { width:48px; height:10px; margin-top:-4px; }

/* BT */
.rs-logo-bt .lg-bt-circle { width:48px; height:48px; border-radius:50%; background:#5514B4; color:#fff; display:grid; place-items:center; font-family:'Inter',sans-serif; font-weight:800; font-size:18px; letter-spacing:-0.02em; }

/* Carahsoft */
.rs-logo-carahsoft span { font-family:'Inter',sans-serif; font-weight:700; font-size:22px; color:#1F4E89; letter-spacing:-0.02em; }
.rs-logo-carahsoft em { color:#E94B3C; font-style:normal; }

/* Cloudflare */
.rs-logo-cloudflare { gap:8px; }
.rs-logo-cloudflare .lg-cf-mark { width:40px; height:20px; }
.rs-logo-cloudflare span { font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:#000; letter-spacing:0.02em; }

/* CloudHealth */
.rs-logo-cloudhealth { flex-direction:column; gap:0; }
.rs-logo-cloudhealth .lg-ch-main { font-family:'Inter',sans-serif; font-weight:600; font-size:18px; color:#3CC6B5; letter-spacing:-0.01em; }
.rs-logo-cloudhealth .lg-ch-sub { font-family:'Inter',sans-serif; font-size:9px; color:#6E6E6E; letter-spacing:0.05em; margin-top:1px; }
.rs-logo-cloudhealth .lg-ch-sub em { color:#0091DA; font-weight:700; font-style:normal; }

/* CrowdStrike */
.rs-logo-crowdstrike { gap:8px; }
.rs-logo-crowdstrike .lg-cs-bird { width:36px; height:24px; }
.rs-logo-crowdstrike span { font-family:'Inter',sans-serif; font-weight:800; font-size:13px; color:#000; letter-spacing:0.04em; }

/* Databricks */
.rs-logo-databricks { gap:6px; }
.rs-logo-databricks .lg-db-mark { width:28px; height:28px; }
.rs-logo-databricks span { font-family:'Inter',sans-serif; font-weight:600; font-size:18px; color:#000; letter-spacing:-0.01em; }

/* Datadog */
.rs-logo-datadog { gap:6px; }
.rs-logo-datadog .lg-dd-mark { width:30px; height:30px; }
.rs-logo-datadog span { font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:#632CA6; letter-spacing:0.05em; }

/* Dell */
.rs-logo-dell { gap:6px; }
.rs-logo-dell .lg-dell-circle { width:46px; height:46px; border-radius:50%; border:1.5px solid #007DB8; color:#007DB8; display:grid; place-items:center; font-family:'Inter',sans-serif; font-weight:700; font-size:13px; letter-spacing:-0.02em; }
.rs-logo-dell span { font-family:'Inter',sans-serif; font-weight:300; font-size:14px; color:#000; letter-spacing:-0.01em; }

/* Digital Realty */
.rs-logo-digital-realty { gap:6px; }
.rs-logo-digital-realty .lg-dr-bracket { width:24px; height:24px; }
.rs-logo-digital-realty .lg-dr-text { font-family:'Inter',sans-serif; font-weight:700; font-size:11px; color:#000; line-height:1.1; display:flex; flex-direction:column; align-items:flex-start; }
.rs-logo-digital-realty .lg-dr-text em { font-style:normal; font-weight:400; font-size:10px; }

/* Dr Migrate */
.rs-logo-drmigrate { gap:6px; }
.rs-logo-drmigrate .lg-drm-mark { width:24px; height:24px; }
.rs-logo-drmigrate span { font-family:'Inter',sans-serif; font-weight:700; font-size:16px; color:#3B5BFE; letter-spacing:-0.01em; }

/* Fivetran */
.rs-logo-fivetran { gap:6px; }
.rs-logo-fivetran .lg-ft-mark { width:24px; height:24px; }
.rs-logo-fivetran span { font-family:'Inter',sans-serif; font-weight:700; font-size:18px; color:#3B5BFE; letter-spacing:-0.02em; }

/* Google Cloud */
.rs-logo-google-cloud { gap:6px; }
.rs-logo-google-cloud .lg-gc-mark { width:24px; height:24px; }
.rs-logo-google-cloud .lg-gc-text { font-family:'Inter',sans-serif; font-weight:400; font-size:16px; color:#5F6368; }
.rs-logo-google-cloud .lg-gc-text em { font-style:normal; color:#5F6368; }

/* Imperva */
.rs-logo-imperva { flex-direction:column; gap:0; }
.rs-logo-imperva .lg-imperva-main { font-family:'Inter',sans-serif; font-weight:300; font-size:22px; color:#000; letter-spacing:-0.01em; }
.rs-logo-imperva .lg-imperva-sub { font-family:'Inter',sans-serif; font-size:9px; color:#6E6E6E; letter-spacing:0.06em; margin-top:1px; }

/* Microsoft */
.rs-logo-microsoft { gap:8px; }
.rs-logo-microsoft .lg-ms-tiles { width:22px; height:22px; }
.rs-logo-microsoft span { font-family:'Inter',sans-serif; font-weight:400; font-size:18px; color:#5E5E5E; letter-spacing:-0.01em; }

/* MontyCloud */
.rs-logo-montycloud .lg-mc-main { font-family:'Inter',sans-serif; font-weight:700; font-size:18px; color:#0F4FB1; letter-spacing:-0.01em; }
.rs-logo-montycloud .lg-mc-main em { font-style:normal; color:#F4A100; font-weight:700; }

/* New Relic */
.rs-logo-newrelic { gap:6px; }
.rs-logo-newrelic .lg-nr-mark { width:22px; height:22px; }
.rs-logo-newrelic span { font-family:'Inter',sans-serif; font-weight:600; font-size:16px; color:#000; letter-spacing:-0.01em; }
.rs-logo-newrelic em { font-style:normal; }

/* NVIDIA */
.rs-logo-nvidia { gap:8px; }
.rs-logo-nvidia .lg-nv-eye { width:38px; height:24px; }
.rs-logo-nvidia span { font-family:'Inter',sans-serif; font-weight:800; font-size:14px; color:#76B900; letter-spacing:0.06em; }
.rs-logo-nvidia em { font-style:normal; color:#76B900; }

/* OpenInfra */
.rs-logo-openinfra { gap:6px; }
.rs-logo-openinfra .lg-oi-bars { width:30px; height:24px; }
.rs-logo-openinfra .lg-oi-text { font-family:'Inter',sans-serif; font-weight:700; font-size:13px; color:#000; line-height:1.1; display:flex; flex-direction:column; align-items:flex-start; }
.rs-logo-openinfra .lg-oi-text em { font-style:normal; font-weight:400; font-size:9px; color:#5E5E5E; letter-spacing:0.08em; margin-top:2px; }

/* Palo Alto */
.rs-logo-paloalto { gap:6px; }
.rs-logo-paloalto .lg-pa-mark { width:32px; height:20px; }
.rs-logo-paloalto span { font-family:'Inter',sans-serif; font-weight:700; font-size:13px; color:#000; line-height:1.1; display:flex; flex-direction:column; align-items:flex-start; letter-spacing:-0.01em; }
.rs-logo-paloalto em { font-style:normal; font-weight:400; font-size:8px; color:#000; letter-spacing:0.1em; margin-top:2px; }

/* Palantir */
.rs-logo-palantir { gap:6px; }
.rs-logo-palantir .lg-pl-mark { width:24px; height:24px; }
.rs-logo-palantir span { font-family:'Inter',sans-serif; font-weight:300; font-size:18px; color:#000; letter-spacing:-0.01em; }

/* Qualys */
.rs-logo-qualys { gap:6px; }
.rs-logo-qualys .lg-qs-mark { width:26px; height:26px; }
.rs-logo-qualys span { font-family:'Inter',sans-serif; font-weight:700; font-size:18px; color:#000; }
.rs-logo-qualys em { font-style:normal; color:#ED2E26; }

/* RiverMeadow */
.rs-logo-rivermeadow { flex-direction:column; gap:0; align-items:center; }
.rs-logo-rivermeadow .lg-rm-cloud { width:36px; height:20px; margin-bottom:-2px; }
.rs-logo-rivermeadow .lg-rm-text { font-family:'Inter',sans-serif; font-weight:300; font-size:14px; color:#9CA3AF; letter-spacing:-0.01em; }
.rs-logo-rivermeadow .lg-rm-text em { font-style:normal; font-weight:600; color:#5A6470; }

/* Rubrik */
.rs-logo-rubrik { gap:6px; }
.rs-logo-rubrik .lg-ru-mark { width:24px; height:24px; }
.rs-logo-rubrik span { font-family:'Inter',sans-serif; font-weight:300; font-size:18px; color:#1A1A1A; letter-spacing:-0.01em; }

/* Rectrix Technologies — real logo */
.rs-logo-rectrix img { height:32px; width:auto; display:block; }
@media (max-width:720px) { .rs-logo-rectrix img { height:28px; } }

/* Sema4.ai */
.rs-logo-sema4 span { font-family:'Inter',sans-serif; font-weight:600; font-size:20px; color:#1A2F4E; letter-spacing:-0.01em; }
.rs-logo-sema4 em { font-style:normal; font-weight:400; }

/* Snowflake */
.rs-logo-snowflake { gap:8px; }
.rs-logo-snowflake .lg-sf-mark { width:24px; height:24px; }
.rs-logo-snowflake span { font-family:'Inter',sans-serif; font-weight:300; font-size:20px; color:#29B5E8; letter-spacing:-0.01em; }

/* VMware */
.rs-logo-vmware { flex-direction:column; gap:0; }
.rs-logo-vmware .lg-vm-main { font-family:'Inter',sans-serif; font-weight:700; font-size:22px; color:#000; letter-spacing:-0.02em; }
.rs-logo-vmware .lg-vm-main em { font-style:normal; font-weight:400; font-size:10px; vertical-align:super; }
.rs-logo-vmware .lg-vm-sub { font-family:'Inter',sans-serif; font-size:9px; color:#6E6E6E; letter-spacing:0.06em; margin-top:1px; }

/* Hover effects — slight darken on hover */
.rs-partner-cell:hover { background:var(--gray-7) !important; }
.rs-partner-cell:hover .rs-logo { filter:none; }

/* Remove the box around Strategic Partnerships section */
.rs-partners {
  padding:64px 0 !important;  /* was 110px */
}
.rs-partners-head {
  margin-bottom:32px !important;  /* was 50px */
}
.rs-partners-head h2 {
  margin-bottom:10px !important;  /* tighter title→subtitle gap */
}
.rs-partners-table {
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  gap:12px 12px !important;  /* was 24px 16px */
}
.rs-partner-cell {
  border:none !important;
  background:transparent !important;
  padding:14px 10px !important;  /* was 24px 12px */
  min-height:0 !important;       /* was 120px — let logo size dictate */
}
.rs-partner-cell:hover {
  background:transparent !important;
}
.rs-partners { background:var(--white); }

/* === REAL PEXIVA LOGO === */
/* Global logo styles */
.logo {
  display:inline-flex !important;
  align-items:center;
  text-decoration:none;
  font-family:'Inter',sans-serif;
  flex-shrink:0;
  gap:0 !important;
}
/* Hide the old logo-mark span and old PEXIVA text spans */
.logo > span.logo-mark,
.logo > span:not(.pexiva-logo-img) {
  display:none !important;
}
/* Show the real logo image */
.pexiva-logo-img {
  display:block !important;
  height:60px;
  width:auto;
  content:none;
}
.pexiva-logo-img.light { content: url("/assets/brand/logo-light.svg"); }
.pexiva-logo-img.dark  { content: url("/assets/brand/logo-dark.svg"); }
/* Slightly larger logo in the footer */
footer .pexiva-logo-img { height:54px; }
@media (max-width:720px) {
  .pexiva-logo-img { height:44px; }
  footer .pexiva-logo-img { height:46px; }
}

/* === RACKSPACE-STYLE GRADIENT STRIPE — section segregator under nav === */
.nav {
  border-bottom:none !important;
  position:relative;
}
.nav::after {
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:6px;
  background:linear-gradient(
    90deg,
    #1E3A8A 0%,
    #4C1D95 18%,
    #831843 36%,
    #BE185D 54%,
    #DC2626 72%,
    #E50049 84%,
    #FECACA 100%
  );
  z-index:1;
}
.nav { margin-bottom:6px; }

/* === COVERAGE / LANGUAGE SELECTOR === */

/* Bump topbar font size for readability — was 11px in v3, now 13px */
.topbar {
  font-size:13px !important;
  padding:12px 0 !important;
}
.topbar a {
  font-size:13px !important;
  letter-spacing:0.06em !important;
  font-weight:600 !important;
}
.topbar-inner {
  gap:36px !important;
}
.coverage-trigger {
  background:transparent;
  border:none;
  color:rgba(255,255,255,0.85);
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  cursor:pointer;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:4px;
  transition:all 0.2s;
}
.coverage-trigger:hover {
  background:rgba(255,255,255,0.1);
  color:var(--white);
}
.coverage-trigger .cov-globe {
  font-size:14px;
  filter:grayscale(0.2);
}
.coverage-trigger .cov-caret {
  font-size:11px;
  margin-left:2px;
}

/* MODAL */
.coverage-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:60px 20px 20px;
  overflow-y:auto;
}
.coverage-modal.open { display:flex; }
.coverage-overlay {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.65);
  backdrop-filter:blur(4px);
  cursor:pointer;
}
.coverage-panel {
  position:relative;
  background:var(--white);
  border-radius:12px;
  width:100%;
  max-width:1080px;
  box-shadow:0 30px 80px rgba(0,0,0,0.4);
  overflow:hidden;
  animation:coverageSlide 0.25s ease-out;
}
@keyframes coverageSlide {
  from { transform:translateY(-20px); opacity:0; }
  to   { transform:translateY(0);     opacity:1; }
}
.coverage-head {
  padding:28px 36px 20px;
  border-bottom:1px solid var(--gray-5);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.coverage-head h6 {
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:8px;
}
.coverage-sub {
  font-size:14px;
  color:var(--gray-1);
  line-height:1.6;
  max-width:760px;
  margin:0;
}
.coverage-close {
  background:transparent;
  border:none;
  font-size:32px;
  line-height:1;
  color:var(--gray-2);
  cursor:pointer;
  padding:0;
  width:32px;
  height:32px;
  border-radius:50%;
  flex-shrink:0;
  transition:all 0.2s;
}
.coverage-close:hover {
  background:var(--gray-7);
  color:var(--black);
}
.coverage-grid {
  padding:32px 36px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
}
.coverage-region h5 {
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--gray-2);
  padding-bottom:10px;
  margin-bottom:14px;
  border-bottom:2px solid var(--gray-5);
}
.coverage-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 8px;
  border-radius:6px;
  transition:all 0.2s;
  margin-bottom:4px;
}
.coverage-item.active {
  background:rgba(229,0,73,0.05);
  border:1px solid rgba(229,0,73,0.2);
}
.coverage-item.disabled {
  opacity:0.55;
}
.coverage-item .cov-flag {
  font-size:24px;
  line-height:1;
  flex-shrink:0;
}
.coverage-item .cov-text {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.coverage-item .cov-text strong {
  font-family:'Inter',sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--black);
}
.coverage-item .cov-text .cov-lang {
  font-size:12px;
  color:var(--gray-1);
}
.coverage-item .cov-text .cov-lang em {
  color:var(--red);
  font-style:normal;
  font-weight:600;
}
.coverage-foot {
  background:var(--gray-7);
  padding:24px 36px 28px;
  border-top:1px solid var(--gray-5);
}
.coverage-foot p {
  font-size:13px;
  color:var(--gray-1);
  line-height:1.65;
  margin:0 0 12px;
  max-width:880px;
}
.coverage-foot p strong {
  color:var(--black);
}
.coverage-cta {
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:700;
  color:var(--red);
  text-decoration:none;
  letter-spacing:0.02em;
}
.coverage-cta:hover { text-decoration:underline; }

@media (max-width:900px) {
  .coverage-grid { grid-template-columns:1fr; gap:24px; padding:24px; }
  .coverage-head { padding:20px 24px 16px; }
  .coverage-foot { padding:20px 24px 24px; }
  .coverage-modal { padding:40px 12px 12px; }
}

/* === SOLUTION-PAGE HERO IMAGES === */
/* When a page-hero has .has-hero-image, layer the image with a dark
   gradient overlay for guaranteed text readability across all 6 photos. */
.page-hero.has-hero-image {
  background-color:var(--black);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:560px;
  display:flex;
  align-items:center;
}
.page-hero.has-hero-image::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to right,
      rgba(0,0,0,0.85) 0%,
      rgba(0,0,0,0.65) 40%,
      rgba(0,0,0,0.35) 70%,
      rgba(0,0,0,0.10) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(0,0,0,0.20) 0%,
      rgba(0,0,0,0.50) 100%
    );
  pointer-events:none;
  z-index:1;
}
.page-hero.has-hero-image .hero-bg,
.page-hero.has-hero-image .hero-grid-bg {
  display:none;  /* drop the abstract gradient blobs since we have a real photo */
}
.page-hero.has-hero-image .container {
  position:relative;
  z-index:2;
}
/* === Hero images for industry/case-study/engagement === */
.page-hero.has-hero-image.hero-industries-financial-services { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-financial-services.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-healthcare { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-healthcare.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-manufacturing { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-manufacturing.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-defense-aerospace { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-defense-aerospace.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-government { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-government.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-retail-ecommerce { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-retail-ecommerce.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-saas-isv { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-saas-isv.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-logistics-supply-chain { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-logistics-supply-chain.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-professional-services { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-professional-services.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-telecom-oss-bss { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-telecom-oss-bss.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-energy-utilities { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-energy-utilities.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-education { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-education.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-hospitality { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-hospitality.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-media-entertainment { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-media-entertainment.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-automotive { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-automotive.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-private-equity { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-private-equity.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-real-estate-proptech { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-real-estate-proptech.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-insurance { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-insurance.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-industries-cpg-consumer { background-image:linear-gradient(90deg, rgba(10,14,26,0.94) 0%, rgba(10,14,26,0.80) 30%, rgba(10,14,26,0.45) 60%, rgba(10,14,26,0.34) 100%), url("/assets/heroes/ind-cpg-consumer.webp"); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.page-hero.has-hero-image.hero-case-studies-digital-transformation { background-image:none; }
.page-hero.has-hero-image.hero-case-studies-cloud-migration { background-image:none; }
.page-hero.has-hero-image.hero-case-studies-ai-automation-day-to-day { background-image:none; }
.page-hero.has-hero-image.hero-engagement-consulting { background-image:none; }
.page-hero.has-hero-image.hero-engagement-professional-services { background-image:none; }
.page-hero.has-hero-image.hero-engagement-managed-services { background-image:none; }
.page-hero.has-hero-image.hero-engagement-staffing { background-image:none; }

/* Bind each solution page's hero to its specific image (via CSS vars) */
.page-hero.has-hero-image.hero-cloud        { background-image:var(--hero-cloud); }
.page-hero.has-hero-image.hero-ai           { background-image:var(--hero-ai); }
.page-hero.has-hero-image.hero-data         { background-image:var(--hero-data); }
.page-hero.has-hero-image.hero-applications { background-image:var(--hero-applications); }
.page-hero.has-hero-image.hero-security     { background-image:var(--hero-security); }
.page-hero.has-hero-image.hero-workforce    { background-image:var(--hero-workforce); }
@media (max-width:720px) {
  .page-hero.has-hero-image { min-height:auto; padding:60px 0 80px; }
  .page-hero.has-hero-image::before {
    background:linear-gradient(to bottom, rgba(0,0,0,0.55), rgba(0,0,0,0.85));
  }
}


/* ===== Technology Ecosystem (partner showcase) ===== */
.eco { background:var(--white); padding:120px 0; }
.eco-head { text-align:center; max-width:840px; margin:0 auto 56px; }
.eco-head .eyebrow { display:inline-flex; }
.eco-head h2 { font-size:clamp(32px,4vw,44px); font-weight:800; line-height:1.12; margin:16px 0 16px; }
.eco-head p { font-size:16px; color:var(--gray-1); line-height:1.65; }
.eco-cat { margin-top:52px; }
.eco-cat:first-of-type { margin-top:0; }
.eco-cat-head { display:flex; align-items:baseline; gap:16px; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid var(--gray-5); }
.eco-cat-idx { font-family:'Inter',sans-serif; font-size:13px; font-weight:800; color:var(--red); letter-spacing:0.04em; flex-shrink:0; }
.eco-cat-name { font-family:'Inter',sans-serif; font-size:15px; font-weight:800; letter-spacing:0.02em; color:var(--ink); margin:0; }
.eco-cat-desc { font-family:'Inter',sans-serif; font-size:13.5px; color:var(--gray-2); margin:3px 0 0; line-height:1.5; }
.eco-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(168px, 1fr)); gap:14px; }
.eco-tile { background:var(--white); border:1px solid var(--gray-5); border-radius:10px; min-height:104px; padding:26px 18px; display:grid; place-items:center; transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.eco-tile:hover { border-color:var(--gray-4); box-shadow:0 8px 24px rgba(0,0,0,0.06); transform:translateY(-2px); }
.eco-tile span { font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:var(--gray-1); letter-spacing:-0.01em; line-height:1.2; text-align:center; transition:color .3s; }
.eco-tile:hover span { color:var(--ink); }
.eco-tile img { max-height:36px; max-width:150px; width:auto; height:auto; object-fit:contain; }
.eco-note { margin:46px auto 0; max-width:740px; text-align:center; font-size:12.5px; line-height:1.6; color:var(--gray-3); }
@media (max-width:600px){
  .eco { padding:80px 0; }
  .eco-grid { grid-template-columns:repeat(2, 1fr); gap:10px; }
  .eco-tile { min-height:92px; padding:20px 12px; }
}

/* ===== v13.1 accessibility pass ===== */
/* Respect reduced-motion: disable reveals/drift and keep all content visible */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
/* Visible keyboard focus ring (offset sits in surrounding space so it shows on red CTAs too) */
:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
  border-radius: 3px;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) { outline: none; }
/* Skip-to-content link: visually hidden until keyboard-focused */
.skip-link {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 9999;
  background: var(--red);
  color: #fff;
  padding: 10px 18px;
  border-radius: 6px;
  font-weight: 700;
  text-decoration: none;
  transition: top .18s ease;
}
.skip-link:focus { top: 12px; }
/* page-root receives programmatic focus on route change; suppress the box */
#page-root:focus { outline: none; }
/* visually-hidden utility for the route announcer */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* >>> ECOBAR-CSS (v14 ecosystem banner) >>> */
.ecobar-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 30px; flex-wrap:wrap; }
.ecobar-eyebrow{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--red); font-weight:700; }
.ecobar-title{ font-size:clamp(24px,3vw,36px); line-height:1.1; margin:9px 0 9px; font-weight:700; letter-spacing:-.01em; }
.ecobar-sub{ color:var(--muted,#6f6f76); font-size:15px; line-height:1.62; margin:0; max-width:660px; }
.ecobar-toggle{ flex:0 0 auto; display:inline-flex; align-items:center; gap:9px; cursor:pointer; font:600 12.5px/1 'Inter',sans-serif; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:999px; padding:10px 16px 10px 13px; box-shadow:0 1px 2px rgba(20,20,30,.04); transition:border-color .2s, box-shadow .2s, transform .08s, background .2s; }
.ecobar-toggle:hover{ border-color:#d2d2d8; box-shadow:0 3px 10px rgba(20,20,30,.07); background:#fbfbfc; }
.ecobar-toggle:active{ transform:translateY(1px); }
.ecobar-toggle:focus-visible{ outline:2px solid var(--red); outline-offset:3px; }
.ecobar-toggle .ico{ display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--ink); color:var(--white); }
.ecobar-toggle .ico svg{ width:10px; height:10px; }
.ecobar-toggle .ico-play{ display:none; }
.ecobar{ position:relative; width:100%; overflow:hidden; background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:34px 0; -webkit-mask:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%); mask:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%); }
.ecobar-track{ display:flex; width:max-content; animation:ecobar-scroll var(--ecobar-speed,60s) linear infinite; will-change:transform; }
.ecobar:hover .ecobar-track{ animation-play-state:paused; }
.ecobar.is-paused .ecobar-track{ animation-play-state:paused; }
@keyframes ecobar-scroll{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }
.ecobar-group{ display:flex; align-items:center; flex:0 0 auto; }
.ecobar-item{ display:flex; align-items:center; justify-content:center; padding:0 40px; height:44px; }
.ecobar-logo{ max-height:30px; max-width:138px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.7; transition:filter .3s ease, opacity .3s ease; }
.ecobar-logo.is-mark{ max-height:36px; max-width:90px; }
.ecobar-logo.is-wide{ max-width:164px; }
.ecobar-item:hover .ecobar-logo{ filter:grayscale(0); opacity:1; }
.ecobar-name{ display:none; align-items:center; white-space:nowrap; font-size:16px; font-weight:600; letter-spacing:.005em; color:#37373d; opacity:.7; transition:color .3s ease, opacity .3s ease; }
.ecobar-item:hover .ecobar-name{ color:var(--ink); opacity:1; }
.ecobar-item.eco-missing .ecobar-logo{ display:none; }
.ecobar-item.eco-missing .ecobar-name{ display:inline-flex; }
.ecobar-legal{ margin:18px 0 0; font-size:12px; color:var(--muted,#6f6f76); line-height:1.6; }
@media (max-width:680px){ .ecobar-item{ padding:0 26px; height:38px; } .ecobar-logo{ max-height:24px; max-width:116px; } .ecobar-logo.is-mark{ max-height:30px; max-width:74px; } .ecobar-logo.is-wide{ max-width:136px; } .ecobar-name{ font-size:14px; } .ecobar{ --ecobar-speed:45s; } }
@media (prefers-reduced-motion: reduce){ .ecobar-track{ animation:none; flex-wrap:wrap; justify-content:center; width:100%; row-gap:18px; } .ecobar-group[aria-hidden="true"]{ display:none; } .ecobar{ -webkit-mask:none; mask:none; } .ecobar-toggle{ display:none; } }
/* <<< ECOBAR-CSS <<< */

/* >>> PEXIVA-ASSISTANT CSS >>> */

/* Scoped color tokens for the assistant (brand-aligned). */
.pa-panel, .pa-launcher{
  --pa-ink:#161617;        /* header / dark surfaces  */
  --pa-ink-2:#242427;      /* hover on dark           */
  --pa-accent:#E50049;     /* Pexiva magenta          */
  --pa-accent-tint:rgba(229,0,73,.10);
  --pa-body:#F4F4F6;       /* soft neutral chat body  */
  --pa-surface:#FFFFFF;    /* cards / bot bubbles     */
  --pa-foot:#ECECEF;       /* differentiated footer   */
  --pa-line:#E0E0E4;       /* clean soft divider      */
  --pa-line-strong:#D2D2D8;
  --pa-text:#1D1D1F;       /* primary text            */
  --pa-muted:#6B6B72;      /* secondary text          */
}

.pa-launcher{ position:fixed; right:24px; bottom:24px; z-index:9000; display:inline-flex; align-items:center; gap:10px;
  background:var(--pa-ink); color:#fff; border:none; border-radius:999px; padding:13px 18px 13px 15px; cursor:pointer;
  font:600 14px/1 'Inter',sans-serif; box-shadow:0 10px 30px rgba(20,20,30,.22); transition:transform .12s ease, box-shadow .2s ease; }
.pa-launcher:hover{ transform:translateY(-1px); box-shadow:0 14px 38px rgba(20,20,30,.28); }
.pa-launcher:focus-visible{ outline:2px solid var(--pa-accent); outline-offset:3px; }
.pa-launcher .pa-dot{ width:9px; height:9px; border-radius:50%; background:var(--pa-accent); box-shadow:0 0 0 3px rgba(229,0,73,.30); }
.pa-launcher.pa-hidden{ display:none; }

.pa-panel{ position:fixed; right:24px; bottom:24px; z-index:9001; width:380px; max-width:calc(100vw - 32px);
  height:600px; max-height:calc(100vh - 48px); background:var(--pa-surface); border:1px solid var(--pa-line); border-radius:18px;
  box-shadow:0 24px 70px rgba(20,20,30,.30); display:none; flex-direction:column; overflow:hidden; font-family:'Inter',sans-serif; padding:0; }
.pa-panel.pa-open{ display:flex; animation:pa-rise .22s ease; }
@keyframes pa-rise{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:translateY(0); } }

.pa-header{ background:var(--pa-ink); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:12px;
  border-bottom:1px solid rgba(255,255,255,.06); }
.pa-avatar{ width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--pa-accent),#ff5c8a); display:grid; place-items:center; color:#fff; font-weight:700; font-size:15px; flex:0 0 auto; }
.pa-htext{ line-height:1.2; flex:1 1 auto; min-width:0; }
.pa-htext b{ font-size:14.5px; display:block; }
.pa-htext span{ font-size:11.5px; opacity:.78; display:inline-flex; align-items:center; gap:5px; }
.pa-htext span::before{ content:""; width:7px; height:7px; border-radius:50%; background:#3fd07f; box-shadow:0 0 0 3px rgba(63,208,127,.22); }
.pa-close{ background:transparent; border:none; color:#fff; cursor:pointer; opacity:.7; padding:4px; border-radius:6px; line-height:0; }
.pa-close:hover{ opacity:1; } .pa-close:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

.pa-body{ flex:1 1 auto; overflow-y:auto; padding:18px 16px 12px; background:var(--pa-body); display:flex; flex-direction:column; gap:12px;
  scrollbar-width:thin; scrollbar-color:var(--pa-line-strong) transparent; }
.pa-body::-webkit-scrollbar{ width:8px; }
.pa-body::-webkit-scrollbar-thumb{ background:var(--pa-line-strong); border-radius:8px; border:2px solid var(--pa-body); }
.pa-body::-webkit-scrollbar-track{ background:transparent; }
.pa-msg{ max-width:84%; font-size:13.5px; line-height:1.55; padding:11px 13px; border-radius:14px; }
.pa-msg.bot{ background:var(--pa-surface); border:1px solid var(--pa-line); color:var(--pa-text); align-self:flex-start; border-bottom-left-radius:5px; box-shadow:0 1px 2px rgba(20,20,30,.04); }
.pa-msg.user{ background:var(--pa-ink); color:#fff; align-self:flex-end; border-bottom-right-radius:5px; }
.pa-msg.note{ background:var(--pa-accent-tint); border:1px solid rgba(229,0,73,.22); color:#8a1342; font-size:11.5px; align-self:stretch; max-width:100%; }
.pa-msg.note a{ color:var(--pa-accent); }
.pa-msg a{ color:var(--pa-accent); font-weight:600; text-decoration:none; }
.pa-msg a:hover{ text-decoration:underline; }

.pa-chips{ display:flex; flex-wrap:wrap; gap:7px; padding:2px 2px 6px; }
.pa-chip{ font:600 12px/1 'Inter',sans-serif; color:var(--pa-text); background:var(--pa-surface); border:1px solid var(--pa-line-strong); border-radius:999px;
  padding:8px 13px; cursor:pointer; transition:border-color .15s, background .15s, color .15s, box-shadow .15s; }
.pa-chip:hover{ border-color:var(--pa-accent); color:var(--pa-accent); background:var(--pa-accent-tint); }
.pa-chip:active{ transform:translateY(1px); }
.pa-chip:focus-visible{ outline:2px solid var(--pa-accent); outline-offset:2px; }
.pa-chip.alt{ background:var(--pa-ink); color:#fff; border-color:var(--pa-ink); }
.pa-chip.alt:hover{ background:var(--pa-ink-2); border-color:var(--pa-ink-2); color:#fff; }

.pa-form{ display:flex; flex-direction:column; gap:9px; background:var(--pa-surface); border:1px solid var(--pa-line); border-radius:14px; padding:14px; box-shadow:0 1px 2px rgba(20,20,30,.04); }
.pa-form label{ font-size:11px; font-weight:600; color:var(--pa-muted); letter-spacing:.02em; }
.pa-form input,.pa-form textarea{ font:14px 'Inter',sans-serif; color:var(--pa-text); border:1px solid var(--pa-line-strong); border-radius:9px; padding:10px 11px; width:100%; background:var(--pa-surface); }
.pa-form input:focus,.pa-form textarea:focus{ outline:none; border-color:var(--pa-accent); box-shadow:0 0 0 3px var(--pa-accent-tint); }
.pa-form .pa-row2{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.pa-consent{ display:flex; gap:8px; align-items:flex-start; font-size:11.5px; color:var(--pa-muted); line-height:1.5; }
.pa-consent input{ width:auto; margin-top:2px; accent-color:var(--pa-accent); }
.pa-consent a{ color:var(--pa-accent); }
.pa-submit{ background:var(--pa-accent); color:#fff; border:none; border-radius:9px; padding:11px; font:600 13.5px 'Inter',sans-serif; cursor:pointer; transition:filter .15s; }
.pa-submit:hover{ filter:brightness(1.06); } .pa-submit:disabled{ opacity:.45; cursor:not-allowed; }
.pa-err{ font-size:11px; color:var(--pa-accent); font-weight:600; }

.pa-foot{ flex:0 0 auto; padding:11px 14px; border-top:1px solid var(--pa-line-strong); background:var(--pa-foot); text-align:center; }
.pa-foot small{ font-size:10.5px; color:var(--pa-muted); }
.pa-foot a{ color:var(--pa-muted); text-decoration:underline; }

@media (max-width:520px){
  .pa-panel{ right:0; bottom:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; border:none; }
  .pa-launcher{ right:16px; bottom:16px; }
}
@media (prefers-reduced-motion: reduce){ .pa-panel.pa-open{ animation:none; } .pa-launcher{ transition:none; } .pa-chip:active{ transform:none; } }

/* <<< PEXIVA-ASSISTANT CSS <<< */

/* >>> CONTACT-SPLIT CSS >>> */
.csplit{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; } .csplit.tabbed{ grid-template-columns:1fr; max-width:1040px; margin:0 auto; } .cpane.is-hidden{ display:none; }
.eselect{ max-width:1040px; margin:0 auto; }
.etabs{ display:flex; gap:6px; justify-content:center; flex-wrap:wrap; border-bottom:1px solid var(--gray-5); max-width:1040px; margin:0 auto 30px; }
.etab{ appearance:none; background:none; border:0; font:700 16px/1 'Inter'; color:var(--gray-1); padding:14px 26px 17px; cursor:pointer; position:relative; }
.etab:hover{ color:var(--ink); }
.etab.active{ color:var(--ink); }
.etab.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--red); border-radius:3px 3px 0 0; }
.eopts{ max-width:820px; margin:0 auto; }
.eopt.is-hidden{ display:none; } .ctabs{ display:flex; gap:6px; justify-content:center; flex-wrap:wrap; border-bottom:1px solid var(--gray-5); max-width:1040px; margin:0 auto 30px; } .ctab{ appearance:none; background:none; border:0; font:700 16px/1 'Inter',sans-serif; color:var(--gray-1); padding:14px 26px 17px; cursor:pointer; position:relative; letter-spacing:.01em; transition:color .15s ease; } .ctab:hover{ color:var(--ink); } .ctab.active{ color:var(--ink); } .ctab.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--red); border-radius:3px 3px 0 0; }
.ctab:focus-visible{ outline:2px solid var(--red); outline-offset:-3px; border-radius:4px; }
.cpane{ background:var(--white); border:1px solid var(--gray-5); border-radius:16px; padding:34px 32px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.cpane::before{ content:""; position:absolute; left:0; top:0; height:4px; width:100%; }
.cpane.assessment::before{ background:var(--red); }
.cpane.sales::before{ background:var(--red); }
.cpane.support::before{ background:var(--red); }
.cpane.staffing::before{ background:var(--red); }
.cpane.partnership::before{ background:var(--red); }
.cpane-kicker{ display:inline-flex; align-items:center; gap:9px; font:700 11px/1 'Inter',sans-serif; letter-spacing:.16em; text-transform:uppercase; margin-bottom:14px; }
.cpane.assessment .cpane-kicker{ color:var(--red); }
.cpane.sales .cpane-kicker{ color:var(--red); }
.cpane.support .cpane-kicker{ color:var(--red); }
.cpane.staffing .cpane-kicker{ color:var(--red); }
.cpane.partnership .cpane-kicker{ color:var(--red); }
.cpane h3{ font-size:23px; line-height:1.15; margin:0 0 10px; }
.cpane-lead{ color:var(--gray-1); font-size:14.5px; line-height:1.62; margin:0 0 16px; }
.cmicro{ font-size:12px; color:var(--gray-1); display:inline-flex; align-items:center; gap:7px; margin:0 0 18px; }
.cmicro::before{ content:""; width:7px; height:7px; border-radius:50%; background:#3fd07f; flex:0 0 auto; }
.cpane-meta{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:0 0 22px; font-size:13px; color:var(--gray-1); line-height:1.5; }
.cpane-meta a{ color:var(--red); font-weight:600; text-decoration:none; }
.cpane-meta a:hover{ text-decoration:underline; }
.cform{ display:flex; flex-direction:column; gap:13px; margin-top:auto; }
.cform .frow{ display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.cfield{ display:flex; flex-direction:column; gap:5px; }
.cfield label{ font:600 11px/1.3 'Inter',sans-serif; letter-spacing:.03em; color:var(--gray-1); text-transform:uppercase; }
.cfield input,.cfield select,.cfield textarea{ font:14px 'Inter',sans-serif; color:var(--ink); border:1px solid var(--gray-5); border-radius:8px; padding:11px 12px; background:var(--white); width:100%; }
.cfield textarea{ resize:vertical; min-height:86px; }
.cfield input:focus,.cfield select:focus,.cfield textarea:focus{ outline:none; border-color:var(--ink); box-shadow:0 0 0 3px rgba(29,29,29,.06); }
.cconsent{ display:flex; gap:9px; align-items:flex-start; font-size:12px; color:var(--gray-1); line-height:1.5; }
.cconsent input{ margin-top:3px; flex:0 0 auto; }
.cconsent a{ color:var(--red); }
.cform .btn{ justify-content:center; cursor:pointer; border:1px solid transparent; width:100%; }
.btn-ink{ background:var(--ink); color:var(--white); border-color:var(--ink); }
.btn-ink:hover{ filter:brightness(1.12); }
.cform-err{ font-size:12px; color:var(--red); }
.cform-note{ font-size:14px; line-height:1.55; margin:0; }
.cassist{ background:var(--ink); border-radius:16px; padding:40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.cassist h3{ color:#fff; font-size:22px; margin:0 0 6px; }
.cassist p{ color:rgba(255,255,255,.72); font-size:14px; margin:0; max-width:520px; }
.cassist .btn{ cursor:pointer; }
.cfaq details{ border-bottom:1px solid var(--gray-5); padding:18px 2px; }
.cfaq summary{ cursor:pointer; font-weight:600; font-size:15.5px; color:var(--ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.cfaq summary::-webkit-details-marker{ display:none; }
.cfaq summary::after{ content:"+"; color:var(--red); font-size:22px; line-height:1; flex:0 0 auto; }
.cfaq details[open] summary::after{ content:"\2013"; }
.cfaq p{ margin:12px 0 0; color:var(--gray-1); font-size:14px; line-height:1.62; }
@media (max-width:820px){ .csplit{ grid-template-columns:1fr; } .cform .frow{ grid-template-columns:1fr; } .cassist{ padding:30px; } }
/* <<< CONTACT-SPLIT CSS <<< */

/* >>> BRIEFS CSS >>> */
.why-band{ background:var(--gray-7); padding:84px 0; }
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px; }
.why-card{ background:var(--white); border:1px solid var(--gray-5); border-radius:14px; padding:26px 24px; }
.why-card .why-k{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red); margin-bottom:10px; }
.why-card h3{ font-size:17px; margin:0 0 8px; line-height:1.25; }
.why-card p{ font-size:14px; color:var(--gray-1); line-height:1.6; margin:0; }
.why-proof{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:28px; }
.why-proof .pf{ text-align:center; padding:18px 10px; border:1px solid var(--gray-5); border-radius:12px; background:var(--white); }
.why-proof .pf b{ display:block; font-size:26px; font-weight:800; color:var(--ink); line-height:1; }
.why-proof .pf span{ display:block; font-size:11.5px; color:var(--gray-1); margin-top:8px; letter-spacing:.02em; }
.briefs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:36px; }
.brief-card{ background:var(--white); border:1px solid var(--gray-5); border-radius:16px; padding:30px 28px; display:flex; flex-direction:column; }
.brief-card .bc-tag{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.brief-card h3{ font-size:21px; margin:0 0 10px; line-height:1.2; }
.brief-card p{ font-size:14.5px; color:var(--gray-1); line-height:1.62; margin:0 0 16px; }
.brief-card ul{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:9px; }
.brief-card li{ font-size:13.5px; color:var(--gray-1); padding-left:20px; position:relative; line-height:1.5; }
.brief-card li::before{ content:"\2713"; position:absolute; left:0; color:var(--red); font-weight:800; }
.brief-card .bc-actions{ margin-top:auto; display:flex; gap:10px; flex-wrap:wrap; }
.brief-meta{ font-size:11.5px; color:var(--gray-1); opacity:.8; margin-top:14px; }
@media (max-width:820px){ .why-grid{ grid-template-columns:1fr; } .why-proof{ grid-template-columns:1fr 1fr; } .briefs-grid{ grid-template-columns:1fr; } }
/* <<< BRIEFS CSS <<< */

/* >>> CAPMAP CSS >>> */
/* One unified light card family. Category is signalled by a slim left
   accent + eyebrow label, so Platforms / Offerings / Readiness read as one
   system instead of competing light vs dark modules. */
.capmap{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:34px; align-items:stretch; }
.capcol{ position:relative; background:var(--white); border:1px solid var(--gray-5); border-left:3px solid var(--gray-5);
  border-radius:12px; padding:24px 24px 26px; display:flex; flex-direction:column; height:100%; }
.capcol h4{ display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:13.5px; letter-spacing:.01em; text-transform:none;
  color:var(--ink); font-weight:700; margin:0 0 14px; padding-bottom:13px; border-bottom:1px solid var(--gray-5); }
.capcol .cm-k{ font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--gray-1);
  background:var(--gray-7); border-radius:5px; padding:3px 7px; }
.captags{ display:flex; flex-wrap:wrap; gap:8px; align-content:flex-start; }
.captag{ font-size:12.5px; font-weight:500; color:var(--gray-1); background:var(--gray-7); border:1px solid var(--gray-5);
  border-radius:8px; padding:7px 12px; white-space:nowrap; }
/* category accents — same card, different cue */
.capcol.cat-platform{ border-left-color:var(--gray-5); }
.capcol.cat-offering{ border-left-color:var(--red); }
.capcol.cat-offering .cm-k{ color:var(--red); background:rgba(229,0,73,.08); }
.capnote{ font-size:12px; color:var(--gray-1); margin-top:14px; opacity:.85; line-height:1.55; }

/* Readiness band: a calm closing row that fits the grid rhythm instead of a
   full-width exception. Header sits left, items flow as a 3-up tag grid. */
.capready{ margin-top:18px; background:var(--white); border:1px solid var(--gray-5); border-left:3px solid var(--ink);
  border-radius:12px; padding:24px 24px 22px; }
.capready h4{ display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:13.5px; color:var(--ink); font-weight:700;
  margin:0 0 14px; padding-bottom:13px; border-bottom:1px solid var(--gray-5); }
.capready .cm-k{ font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--ink);
  background:var(--gray-7); border-radius:5px; padding:3px 7px; }
.capready .captags{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.capready .captag{ white-space:normal; text-align:left; }
@media (max-width:980px){ .capmap{ grid-template-columns:1fr; } .capcol{ height:auto; } .capready .captags{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .capready .captags{ grid-template-columns:1fr; } }

/* government readiness strips */
.gov-lanes{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
.gov-lane{ background:var(--white); border:1px solid var(--gray-5); border-radius:14px; padding:24px 22px; }
.gov-lane .gl-k{ font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-bottom:8px; }
.gov-lane h4{ font-size:17px; margin:0 0 8px; }
.gov-lane p{ font-size:13.5px; color:var(--gray-1); line-height:1.6; margin:0; }
.gov-strip{ display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.gov-strip .gs{ font-size:12.5px; font-weight:600; color:var(--ink); background:var(--white); border:1px solid var(--gray-5); border-radius:8px; padding:9px 14px; }
.gov-strip .gs span{ color:var(--red); font-weight:700; }
.gov-cred{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px 30px; margin-top:24px; max-width:760px; }
.gov-cred div{ font-size:13.5px; color:var(--gray-1); border-bottom:1px dashed var(--gray-5); padding-bottom:10px; }
.gov-cred strong{ color:var(--ink); }
@media (max-width:820px){ .gov-lanes{ grid-template-columns:1fr; } .gov-cred{ grid-template-columns:1fr; } }
/* <<< CAPMAP CSS <<< */

/* >>> AIGOV CSS >>> */
.aigov{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px; }
.aigov-card{ background:var(--white); border:1px solid var(--gray-5); border-radius:13px; padding:24px 22px; }
.aigov-card .ag-ico{ width:34px; height:34px; border-radius:9px; background:var(--gray-7); display:grid; place-items:center; margin-bottom:13px; }
.aigov-card .ag-ico svg{ width:18px; height:18px; stroke:var(--red); }
.aigov-card h4{ font-size:15.5px; margin:0 0 7px; line-height:1.25; }
.aigov-card p{ font-size:13.5px; color:var(--gray-1); line-height:1.58; margin:0; }
@media (max-width:820px){ .aigov{ grid-template-columns:1fr; } }
/* <<< AIGOV CSS <<< */

/* Keep main-nav labels on a single line (prevents Case Studies wrapping) */
.nav-menu > li { white-space: nowrap; }
.nav-menu .nav-link { white-space: nowrap; }

/* SME Market Pulse responsive */
@media (max-width: 900px){ .smp-band .modes-grid{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)) !important; } }
@media (max-width: 560px){ .smp-band .modes-grid{ grid-template-columns:1fr !important; } }

/* Mega-menu containment hardening */
.mega-col { min-width:0; }
.mega-col span, .mega-col a { overflow-wrap:anywhere; }
.mega-feature p { margin:0; }
@media (max-width: 1024px){ .mega { width:min(960px, calc(100vw - 32px)); } }

/* Mega-menu column containment: force links/desc to wrap within their grid track */
.mega-grid > .mega-col { min-width:0; max-width:100%; }
.mega-col ul, .mega-col li, .mega-col a { min-width:0; max-width:100%; }
.mega-col a { width:100%; box-sizing:border-box; }
.mega-col a strong, .mega-col a span { display:block; white-space:normal; overflow-wrap:anywhere; max-width:100%; }

/* Industries dropdown feature band: span all 4 columns, sit below links, keep feature styling */
.mega-industries .mega-feature { grid-column:1 / -1; margin-top:14px; }
.mega-industries a.mega-feature { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 14px; padding:18px 24px; color:var(--white); font-size:inherit; font-weight:inherit; }
.mega-industries a.mega-feature::before { content:none; }
.mega-industries a.mega-feature:hover { background:var(--black); color:var(--white); }

/* Contain long links/text inside cards (e.g. email mode-link) */
.mode-card { min-width:0; }
.mode-card .mode-link, .mode-card a { overflow-wrap:anywhere; word-break:break-word; max-width:100%; }

/* Tiny-screen hero CTA containment */
@media (max-width:360px){
  .page-hero .ctas { flex-direction:column; align-items:stretch; }
  .page-hero .ctas .btn { width:100%; text-align:center; box-sizing:border-box; }
  .hero-ctas .btn, .rs-hero .btn { max-width:100%; box-sizing:border-box; }
}
.btn { max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; }

/* Final card box-sizing safety so inner width:100% + padding never exceeds the card */
.mode-card, .mode-card * { box-sizing:border-box; }
.mode-card ul, .mode-card li, .mode-card p { min-width:0; max-width:100%; overflow-wrap:anywhere; }

/* === v51: definitive mega-feature promo-band layout (fixes text overflow under CTA) === */
.mega-feature{ align-items:center; column-gap:14px; row-gap:6px; overflow:hidden; }
.mega-feature .feat-tag{ flex:0 0 auto; margin-bottom:0; }
.mega-feature h5{ flex:0 0 auto; margin-bottom:0; }
/* paragraph: must be able to take a full row and wrap, never get crushed to a sliver */
.mega-feature p{ flex:1 1 100%; min-width:0; margin:0; overflow-wrap:anywhere; }
/* CTA: drop to its own line, right-aligned, clear of the paragraph */
.mega-feature .arrow{ flex:0 0 auto; margin-left:auto; margin-top:4px; white-space:nowrap; }

/* === footer-bottom legal block: clean stacked layout === */
.footer-bottom{ flex-direction:column; gap:10px; }
.footer-legal{ display:flex; flex-direction:column; align-items:center; gap:6px; max-width:760px; margin:0 auto; }
.footer-legal-links{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0; }
.footer-legal-links a{ white-space:nowrap; margin:0 !important; padding:0 14px; position:relative; }
.footer-legal-links a:not(:first-child)::before{ content:"\00b7"; position:absolute; left:-3px; opacity:.5; }
.footer-legal-note{ opacity:.8; line-height:1.6; text-align:center; white-space:nowrap; max-width:100%; overflow-x:auto; }

/* === Contact: three request panes (Sales | Support | Careers) === */
.cpanes-3{ grid-template-columns:repeat(3, 1fr); gap:20px; }
.cpane.careers::before{ background:var(--gold, #C9A84C); }
.cpane.careers .cpane-kicker{ color:var(--gold, #C9A84C); }
@media (max-width:1100px){ .cpanes-3{ grid-template-columns:1fr 1fr; } }
@media (max-width:720px){ .cpanes-3{ grid-template-columns:1fr; } }

/* === About "What We Stand For" — 3 cards per row === */
.modes-grid.values-3up{ grid-template-columns:repeat(3, 1fr) !important; }
@media (max-width:1000px){ .modes-grid.values-3up{ grid-template-columns:repeat(2, 1fr) !important; } }
@media (max-width:640px){ .modes-grid.values-3up{ grid-template-columns:1fr !important; } }

/* === Reference architecture diagrams (native, responsive) === */
.refdiagram{ max-width:1100px; margin:0 auto; }
.refdiagram-flow{ display:grid; grid-template-columns:repeat(6, 1fr); gap:0; align-items:stretch; }
.refzone{ position:relative; padding:0 10px; }
.refzone:not(:last-child)::after{ display:none; }
.refzone-head{ font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--red); margin-bottom:4px; min-height:30px; display:flex; align-items:flex-end; }
.refzone-sub{ font-size:11px; color:var(--gray-1); opacity:.7; margin-bottom:12px; }
.refcard{ background:var(--white); border:1px solid var(--red-soft); border-radius:8px; padding:8px 10px; font-size:12.5px; line-height:1.3; color:var(--ink); margin-bottom:7px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.refcard.accent{ border-color:var(--red); font-weight:600; }
.refnotes{ display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:center; margin-top:26px; padding-top:20px; border-top:1px solid var(--gray-4); }
.refnote{ font-size:12.5px; color:var(--gray-1); display:flex; align-items:center; gap:7px; }
.refnote::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--red); flex:none; }
.refflow-arrow{ text-align:center; color:var(--gray-4); font-size:13px; margin:2px 0 14px; letter-spacing:.3em; }
@media (max-width:880px){
  .refdiagram-flow{ grid-template-columns:1fr 1fr; gap:18px 14px; }
  .refzone:not(:last-child)::after{ display:none; }
  .refzone{ padding:0; }
}
@media (max-width:520px){ .refdiagram-flow{ grid-template-columns:1fr; } }

.cpane-email{ display:block; margin-top:0; font-size:13px; color:var(--gray-1); }
.cpane-email a{ color:var(--red); font-weight:600; }

/* === footer: copyright + legal links on one line === */
.footer-oneline{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 14px; white-space:nowrap; }
.footer-copy{ white-space:nowrap; }
.footer-oneline .footer-legal-links{ display:inline-flex; align-items:center; }
.footer-oneline .footer-legal-links::before{ content:"\00b7"; opacity:.5; margin-right:8px; }

/* ============================================================
   NAV INTERACTION + SEARCH  (v52)
   ============================================================ */

/* --- Fix #1: robust mega-menu open state (JS-driven .is-open mirrors :hover) --- */
.nav-menu > li.is-open > .nav-link { color:var(--red); }
.nav-menu > li.is-open > .nav-link::after { transform:rotate(180deg); }
.nav-menu > li.is-open > .mega {
  opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
/* Hover bridge: an invisible band that covers the 8px gap between the
   trigger and the panel, so diagonal pointer movement never lands in dead
   space and collapses the menu. */
.nav-menu > li > .mega::before {
  content:""; position:absolute; left:0; right:0; top:-16px; height:20px; background:transparent;
}

/* --- Mobile drawer (<=1366px) — the hamburger now actually works --- */
@media (max-width:1366px){
  .nav-inner { flex-wrap:wrap; }
  .nav.mobile-open .nav-menu {
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:absolute; left:0; right:0; top:100%;
    background:var(--white); border-top:1px solid var(--gray-5);
    box-shadow:var(--shadow-lg); padding:6px 0;
    max-height:calc(100vh - 78px); overflow-y:auto; z-index:350;
  }
  .nav.mobile-open .nav-menu > li { position:static; border-bottom:1px solid #eee; }
  .nav.mobile-open .nav-menu > li:last-child { border-bottom:none; }
  .nav.mobile-open .nav-link { justify-content:space-between; padding:16px 24px; width:100%; }
  .nav.mobile-open .mega {
    position:static; transform:none; width:100%; max-width:none;
    opacity:0; pointer-events:none; box-shadow:none; border:none; border-radius:0;
    padding:0; display:none; background:var(--gray-7); z-index:auto;
  }
  .nav.mobile-open .mega::before { display:none; }
  .nav.mobile-open .nav-menu > li.is-open > .mega {
    display:block; opacity:1; pointer-events:auto; transform:none; padding:6px 24px 18px;
  }
  .nav.mobile-open .mega-grid,
  .nav.mobile-open .mega-grid.cols-3,
  .nav.mobile-open .mega-industries { display:block; }
  .nav.mobile-open .mega-col { margin-bottom:14px; }
  .nav.mobile-open .mega-feature { margin-top:12px; }
  .menu-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .menu-toggle.is-active span:nth-child(2){ opacity:0; }
  .menu-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* --- Fix #3: header search (command palette) --- */
.pexsearch-overlay{ position:fixed; inset:0; z-index:1000; display:none; align-items:flex-start; justify-content:center; background:rgba(20,12,30,0.55); backdrop-filter:blur(4px); padding:12vh 16px 16px; }
.pexsearch-overlay.open{ display:flex; }
.pexsearch-modal{ width:100%; max-width:640px; background:var(--white); border-radius:14px; box-shadow:0 24px 60px rgba(0,0,0,0.35); overflow:hidden; display:flex; flex-direction:column; max-height:76vh; }
.pexsearch-head{ display:flex; align-items:center; gap:12px; padding:15px 18px; border-bottom:1px solid var(--gray-5); }
.pexsearch-head > svg{ flex:0 0 auto; color:var(--gray-2); }
.pexsearch-input{ flex:1; border:none; outline:none; font-family:'Inter',sans-serif; font-size:17px; color:var(--black); background:transparent; }
.pexsearch-input::placeholder{ color:var(--gray-2); }
.pexsearch-esc{ flex:0 0 auto; font-size:11px; font-weight:700; letter-spacing:0.04em; color:var(--gray-2); border:1px solid var(--gray-5); border-radius:6px; padding:4px 8px; text-transform:uppercase; }
.pexsearch-results{ overflow-y:auto; padding:8px; }
.pexsearch-group-label{ font-family:'Inter',sans-serif; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--red); font-weight:700; padding:12px 12px 6px; }
.pexsearch-item{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:8px; cursor:pointer; text-decoration:none; }
.pexsearch-item.active, .pexsearch-item:hover{ background:var(--gray-7); }
.pexsearch-item .pi-title{ font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:var(--black); }
.pexsearch-item .pi-cat{ font-weight:400; color:var(--gray-2); font-size:12px; }
.pexsearch-item .pi-desc{ font-size:12px; color:var(--gray-1); line-height:1.4; }
.pexsearch-empty{ padding:28px 16px; text-align:center; color:var(--gray-2); font-size:14px; line-height:1.6; }
.pexsearch-hint{ padding:10px 16px; border-top:1px solid var(--gray-5); font-size:11px; color:var(--gray-2); display:flex; gap:16px; flex-wrap:wrap; }
.pexsearch-hint b{ color:var(--gray-1); font-family:'Inter',sans-serif; }
@media (max-width:560px){ .pexsearch-overlay{ padding:6vh 10px 10px; } .pexsearch-modal{ max-height:88vh; } .pexsearch-hint{ display:none; } }

/* --- FAQ accordion (baked FAQ sections) --- */
.faq-section .faq-item{background:var(--white);border:1px solid var(--gray-5);border-radius:10px;margin-bottom:14px;overflow:hidden;}
.faq-section .faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:600;font-size:17px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-section .faq-item summary::-webkit-details-marker{display:none;}
.faq-section .faq-item summary::after{content:"+";color:var(--red);font-size:26px;font-weight:400;line-height:1;flex:none;}
.faq-section .faq-item[open] summary::after{content:"\2212";}
.faq-section .faq-item .faq-a{padding:0 24px 22px;color:var(--gray-1);font-size:15.5px;line-height:1.7;}
.faq-section .faq-item summary:focus-visible{outline:2px solid var(--red);outline-offset:-2px;}

/* --- Mega menu: also open on click / keyboard focus (desktop), not hover-only --- */
.nav-menu > li.is-open .mega { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }

.footer-quick{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0; width:100%; padding-bottom:20px; margin-bottom:4px; border-bottom:1px solid rgba(255,255,255,0.1); }
.footer-quick a{ color:rgba(255,255,255,0.78); text-decoration:none; font-weight:600; font-size:13px; letter-spacing:.04em; white-space:nowrap; padding:0 16px; position:relative; margin:0 !important; }
.footer-quick a:not(:first-child)::before{ content:"\00b7"; position:absolute; left:-2px; opacity:.5; }
.footer-quick a:hover{ color:var(--red-soft); }

.topbar-inner{ justify-content:flex-end; gap:28px; }
.topbar-links{ display:flex; align-items:center; flex-wrap:wrap; gap:0; }
.topbar-links a{ padding:0 13px; position:relative; }
.topbar-links a:first-child{ padding-left:0; }
.topbar-links a:not(:first-child)::before{ content:"\00b7"; position:absolute; left:-2px; opacity:.45; }
@media (max-width:560px){ .topbar-links a{ padding:0 9px; } .topbar-links a:first-child{ padding-left:0; } }

/* pwa-mobile-overflow-fix */
@media (max-width:640px){
  .footer-oneline, .footer-copy, .footer-legal-note{ white-space:normal; }
  .footer-legal-note{ overflow-x:visible; }
  .footer-legal{ max-width:100%; }
  .footer-quick{ row-gap:6px; }
}

/* tap-targets-fix */
@media (max-width:760px){
  .topbar-links a{ padding-top:8px; padding-bottom:8px; }
  .footer-quick a{ padding-top:9px; padding-bottom:9px; }
  .footer-legal-links a{ display:inline-block; padding:7px 14px; }
  .footer-bottom a{ display:inline-block; padding:6px 0; }
  .footer-col a{ display:inline-block; padding:4px 0; }
}

.pa-chips .pa-sep { flex-basis:100%; width:100%; margin:8px 2px 2px; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:#8a8a8a; font-weight:700; }
