:root {
  --red: #e2231a;
  --black: #1a1a1a;
  --dark: #222222;
  --footer-bg: #1c1c1c;
  --text: #1f2430;
  --muted: #6b7280;
  --muted-light: #9ca3af;
  --border: #e8e9ec;
  --bg-light: #f7f7f8;
  --linkedin: #0a66c2;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Segoe UI', system-ui, -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--text);
  line-height: 1.65;
  background: #fff;
}
a { color: inherit; }
.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.accent-line {
  width: 60px;
  height: 3px;
  background: var(--red);
  margin: 14px 0 18px;
}
.accent-line.center { margin-left: auto; margin-right: auto; }

/* ---------- Top bar ---------- */
.topbar {
  background: #fafafa;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
.topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 42px;
}
.topbar .social { display: flex; gap: 14px; }
.topbar .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--muted);
  transition: color 0.15s, transform 0.15s;
}
.topbar .social a:hover { color: var(--red); transform: translateY(-1px); }
.topbar .social svg { width: 15px; height: 15px; fill: currentColor; }
.topbar-right { display: flex; align-items: center; gap: 18px; color: var(--muted); }
.topbar-right a { text-decoration: none; }
.topbar-right .phone { color: var(--red); font-weight: 600; }
.topbar-right .lang { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.topbar-right .lang svg { width: 15px; height: 15px; }

/* ---------- Navbar ---------- */
.navbar {
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 20;
}
.navbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
}
.logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 800;
  font-size: 21px;
  letter-spacing: 0.02em;
  color: var(--black);
}
.logo .mark {
  width: 36px;
  height: 26px;
  border-radius: 50%/45%;
  background: var(--black);
  position: relative;
  flex-shrink: 0;
}
.logo .mark::before,
.logo .mark::after {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  width: 4px;
  background: #fff;
}
.logo .mark::before { left: 12px; }
.logo .mark::after { left: 19px; }
.logo .accent { color: var(--red); }
.nav-links {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  font-weight: 500;
}
.nav-links a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: var(--text);
  padding: 6px 0;
  position: relative;
  transition: color 0.15s;
}
.nav-links a svg { width: 10px; height: 10px; fill: var(--muted-light); }
.nav-links a:hover,
.nav-links a.active { color: var(--red); }
.nav-links a.active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: var(--red);
}
.search-btn {
  border: none;
  background: none;
  cursor: pointer;
  color: var(--text);
  display: inline-flex;
  padding: 4px;
  transition: color 0.15s, transform 0.15s;
}
.search-btn:hover { color: var(--red); transform: scale(1.08); }
.search-btn svg { width: 17px; height: 17px; fill: currentColor; }

/* ---------- Breadcrumb ---------- */
.breadcrumb-bar {
  background: var(--bg-light);
  border-bottom: 1px solid var(--border);
  font-size: 13.5px;
}
.breadcrumb-bar .container {
  display: flex;
  justify-content: flex-end;
  padding-top: 14px;
  padding-bottom: 14px;
  color: var(--muted);
}
.breadcrumb-bar a { text-decoration: none; color: var(--muted); }
.breadcrumb-bar a:hover { color: var(--red); }
.breadcrumb-bar .current { color: var(--red); font-weight: 600; }

/* ---------- Sub navigation tabs ---------- */
.subnav {
  background: #fff;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 76px;
  z-index: 15;
}
.subnav .container { display: flex; gap: 4px; overflow-x: auto; }
.subnav a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--muted);
  font-weight: 600;
  font-size: 14px;
  padding: 16px 18px;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}
.subnav a svg { width: 16px; height: 16px; fill: currentColor; }
.subnav a:hover { color: var(--red); }
.subnav a.active { color: var(--red); border-bottom-color: var(--red); }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  overflow: hidden;
  background: var(--bg-light);
  padding: 56px 0 64px;
}
.hero-pattern {
  position: absolute;
  right: -60px;
  top: -40px;
  width: 420px;
  height: 420px;
  background-image: radial-gradient(circle, #d8d9dc 1.6px, transparent 1.6px);
  background-size: 16px 16px;
  opacity: 0.7;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(circle, #000 40%, transparent 75%);
          mask-image: radial-gradient(circle, #000 40%, transparent 75%);
}
.hero .container { position: relative; }
.hero .eyebrow {
  display: inline-block;
  color: var(--red);
  font-weight: 800;
  font-size: 12.5px;
  letter-spacing: 0.12em;
  margin-bottom: 8px;
}
.hero h1 {
  font-size: 42px;
  margin: 0;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -0.01em;
}
.hero .role { color: var(--red); font-weight: 700; font-size: 18px; margin: 0 0 2px; }
.hero .company { font-weight: 700; font-size: 16px; margin: 0 0 18px; }
.hero .tagline { max-width: 600px; color: var(--muted); font-size: 15.5px; margin: 0 0 26px; }

/* ---------- Profile hero ---------- */
section.hero.profile-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #172554 !important;
  background-image:
    radial-gradient(circle at 79% 17%, rgba(96, 165, 250, .38), transparent 25%),
    radial-gradient(circle at 94% 88%, rgba(244, 63, 94, .36), transparent 31%),
    linear-gradient(124deg, #07152f 0%, #172554 40%, #4338ca 71%, #881337 100%) !important;
}
section.hero.profile-hero > .elementor-background-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.profile-hero::before,
.profile-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.profile-hero::before {
  width: 350px;
  height: 350px;
  right: 8%;
  top: -130px;
  border: 1px solid rgba(191, 219, 254, .25);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(96, 165, 250, .055), 0 0 0 96px rgba(255,255,255,.025);
}
.profile-hero::after {
  width: 255px;
  height: 185px;
  right: -70px;
  bottom: -85px;
  border-radius: 44% 56% 62% 38%;
  background: rgba(244, 63, 94, .18);
  box-shadow: 0 0 90px 25px rgba(244, 63, 94, .16);
  transform: rotate(-20deg);
}
.profile-hero .hero-pattern {
  background-image: radial-gradient(circle, rgba(219, 234, 254, .62) 1.5px, transparent 1.5px);
  opacity: .55;
}
.profile-hero .eyebrow { color: #93c5fd !important; }
.profile-hero h1 { color: #fff !important; text-shadow: 0 3px 24px rgba(0,0,0,.28) !important; }
.profile-hero .accent-line { background: linear-gradient(90deg, #fb7185, #60a5fa) !important; width: 74px !important; }
.profile-hero .role { color: #fda4af !important; }
.profile-hero .company { color: #fff !important; }
.profile-hero .tagline { color: #dbeafe !important; }
.profile-hero .btn-linkedin {
  border-color: #93c5fd !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(8px);
}
.profile-hero .btn-linkedin .icon-box { background: #fff !important; }
.profile-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.profile-hero .btn-linkedin:hover {
  background: #fff !important;
  color: #1e3a8a !important;
  border-color: #fff !important;
}
section.hero.profile-hero .btn-linkedin:hover .icon-box { background: #1e3a8a !important; }
section.hero.profile-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }

/* ---------- AI vision hero ---------- */
section.hero.ai-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #172554 !important;
  background-image:
    radial-gradient(circle at 78% 22%, rgba(66, 211, 255, 0.28), transparent 25%),
    radial-gradient(circle at 92% 88%, rgba(226, 35, 26, 0.34), transparent 32%),
    linear-gradient(125deg, #08142f 0%, #172554 43%, #3730a3 74%, #6d1f69 100%) !important;
}
section.hero.ai-hero > .elementor-background-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.ai-hero::before,
.ai-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
}
.ai-hero::before {
  width: 260px;
  height: 260px;
  right: 12%;
  top: -150px;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 0 0 42px rgba(255,255,255,.035), 0 0 0 84px rgba(66,211,255,.035);
}
.ai-hero::after {
  width: 180px;
  height: 180px;
  right: -45px;
  bottom: -90px;
  background: rgba(226,35,26,.18);
  box-shadow: 0 0 80px 20px rgba(226,35,26,.18);
}
.ai-hero .hero-pattern {
  background-image: radial-gradient(circle, rgba(255,255,255,.52) 1.5px, transparent 1.5px);
  opacity: .68;
}
.ai-hero .eyebrow { color: #7dd3fc !important; }
.ai-hero h1 { color: #fff !important; text-shadow: 0 3px 24px rgba(0,0,0,.24) !important; }
.ai-hero .accent-line { background: linear-gradient(90deg, #fb4b43, #fda4af); width: 74px !important; }
.ai-hero .role { color: #fda4af !important; }
.ai-hero .company { color: #fff !important; }
.ai-hero .tagline { color: #dbeafe !important; }
.ai-hero .btn-linkedin { border-color: #7dd3fc; color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(8px) !important; }
.ai-hero .btn-linkedin .icon-box { background: #fff !important; }
.ai-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.ai-hero .btn-linkedin:hover {
  background: #fff !important;
  color: #172554 !important;
  border-color: #fff !important;
  box-shadow: 0 12px 26px -12px rgba(0,0,0,.55) !important;
}
section.hero.ai-hero .btn-linkedin:hover .icon-box { background: #172554 !important; }
section.hero.ai-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }

/* ---------- Cyber resilience hero ---------- */
section.hero.resilience-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #071d2c !important;
  background-image:
    radial-gradient(circle at 82% 22%, rgba(34, 211, 238, .30), transparent 24%),
    radial-gradient(circle at 96% 88%, rgba(226, 35, 26, .30), transparent 30%),
    linear-gradient(122deg, #061725 0%, #0b3040 42%, #075985 72%, #164e63 100%) !important;
}
section.hero.resilience-hero > .elementor-background-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.resilience-hero::before,
.resilience-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.resilience-hero::before {
  width: 360px;
  height: 360px;
  right: 7%;
  top: -135px;
  border: 1px solid rgba(165, 243, 252, .23);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(34, 211, 238, .045), 0 0 0 96px rgba(255,255,255,.025);
}
.resilience-hero::after {
  width: 230px;
  height: 230px;
  right: -80px;
  bottom: -130px;
  border-radius: 42% 58% 65% 35%;
  background: rgba(226,35,26,.18);
  box-shadow: 0 0 85px 24px rgba(226,35,26,.16);
  transform: rotate(28deg);
}
.resilience-hero .hero-pattern {
  background-image: radial-gradient(circle, rgba(207,250,254,.55) 1.5px, transparent 1.5px);
  opacity: .62;
}
.resilience-hero .eyebrow { color: #67e8f9 !important; }
.resilience-hero h1 { color: #fff !important; text-shadow: 0 3px 24px rgba(0,0,0,.26) !important; }
.resilience-hero .accent-line { background: linear-gradient(90deg, #fb4b43, #fda4af) !important; width: 74px !important; }
.resilience-hero .role { color: #a5f3fc !important; }
.resilience-hero .company { color: #fff !important; }
.resilience-hero .tagline { color: #cffafe !important; }
.resilience-hero .btn-linkedin { border-color: #67e8f9 !important; color: #fff !important; background: rgba(255,255,255,.08) !important; backdrop-filter: blur(8px); }
.resilience-hero .btn-linkedin .icon-box { background: #fff !important; }
.resilience-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.resilience-hero .btn-linkedin:hover {
  background: #fff !important;
  color: #083344 !important;
  border-color: #fff !important;
}
section.hero.resilience-hero .btn-linkedin:hover .icon-box { background: #083344 !important; }
section.hero.resilience-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }

/* ---------- Managed security hero ---------- */
section.hero.managed-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #11152d !important;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(129, 140, 248, .34), transparent 25%),
    radial-gradient(circle at 96% 90%, rgba(226, 35, 26, .32), transparent 30%),
    linear-gradient(124deg, #090d22 0%, #1e1b4b 43%, #312e81 72%, #4c1d5f 100%) !important;
}
section.hero.managed-hero > .elementor-background-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.managed-hero::before,
.managed-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.managed-hero::before {
  width: 330px;
  height: 330px;
  right: 8%;
  top: -120px;
  border: 1px solid rgba(199, 210, 254, .24);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(129,140,248,.05), 0 0 0 92px rgba(255,255,255,.025);
}
.managed-hero::after {
  width: 260px;
  height: 150px;
  right: -55px;
  bottom: -52px;
  border-radius: 50%;
  background: rgba(226,35,26,.20);
  box-shadow: 0 0 90px 28px rgba(226,35,26,.17);
  transform: rotate(-16deg);
}
.managed-hero .hero-pattern {
  background-image: radial-gradient(circle, rgba(224,231,255,.56) 1.5px, transparent 1.5px);
  opacity: .62;
}
.managed-hero .eyebrow { color: #a5b4fc !important; }
.managed-hero h1 { color: #fff !important; text-shadow: 0 3px 24px rgba(0,0,0,.28) !important; }
.managed-hero .accent-line { background: linear-gradient(90deg, #fb4b43, #fda4af) !important; width: 74px !important; }
.managed-hero .role { color: #c4b5fd !important; }
.managed-hero .company { color: #fff !important; }
.managed-hero .tagline { color: #e0e7ff !important; }
.managed-hero .btn-linkedin { border-color: #a5b4fc !important; color: #fff !important; background: rgba(255,255,255,.08) !important; backdrop-filter: blur(8px); }
.managed-hero .btn-linkedin .icon-box { background: #fff !important; }
.managed-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.managed-hero .btn-linkedin:hover {
  background: #fff !important;
  color: #1e1b4b !important;
  border-color: #fff !important;
}
section.hero.managed-hero .btn-linkedin:hover .icon-box { background: #1e1b4b !important; }
section.hero.managed-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }

/* ---------- Data protection hero ---------- */
section.hero.data-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #06251f !important;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(45, 212, 191, .34), transparent 25%),
    radial-gradient(circle at 96% 90%, rgba(226, 35, 26, .28), transparent 30%),
    linear-gradient(123deg, #051c1d 0%, #064e3b 43%, #0f766e 72%, #155e75 100%) !important;
}
section.hero.data-hero > .elementor-background-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.data-hero::before,
.data-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.data-hero::before {
  width: 340px;
  height: 340px;
  right: 8%;
  top: -120px;
  border: 1px solid rgba(153, 246, 228, .25);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(45,212,191,.05), 0 0 0 92px rgba(255,255,255,.025);
}
.data-hero::after {
  width: 240px;
  height: 190px;
  right: -70px;
  bottom: -95px;
  border-radius: 58% 42% 38% 62%;
  background: rgba(226,35,26,.18);
  box-shadow: 0 0 88px 25px rgba(226,35,26,.15);
  transform: rotate(18deg);
}
.data-hero .hero-pattern {
  background-image: radial-gradient(circle, rgba(204,251,241,.58) 1.5px, transparent 1.5px);
  opacity: .62;
}
.data-hero .eyebrow { color: #5eead4 !important; }
.data-hero h1 { color: #fff !important; text-shadow: 0 3px 24px rgba(0,0,0,.28) !important; }
.data-hero .accent-line { background: linear-gradient(90deg, #fb4b43, #fda4af) !important; width: 74px !important; }
.data-hero .role { color: #99f6e4 !important; }
.data-hero .company { color: #fff !important; }
.data-hero .tagline { color: #ccfbf1 !important; }
.data-hero .btn-linkedin { border-color: #5eead4 !important; color: #fff !important; background: rgba(255,255,255,.08) !important; backdrop-filter: blur(8px); }
.data-hero .btn-linkedin .icon-box { background: #fff !important; }
.data-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.data-hero .btn-linkedin:hover {
  background: #fff !important;
  color: #064e3b !important;
  border-color: #fff !important;
}
section.hero.data-hero .btn-linkedin:hover .icon-box { background: #064e3b !important; }
section.hero.data-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }

/* ---------- Channel partner growth hero ---------- */
section.hero.partner-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #241509 !important;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(251, 191, 36, .34), transparent 25%),
    radial-gradient(circle at 96% 90%, rgba(226, 35, 26, .34), transparent 31%),
    linear-gradient(123deg, #17120b 0%, #422006 43%, #92400e 72%, #7c2d12 100%) !important;
}
section.hero.partner-hero > .elementor-background-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.partner-hero::before,
.partner-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.partner-hero::before {
  width: 345px;
  height: 345px;
  right: 8%;
  top: -125px;
  border: 1px solid rgba(254, 243, 199, .25);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(251,191,36,.05), 0 0 0 92px rgba(255,255,255,.025);
}
.partner-hero::after {
  width: 250px;
  height: 180px;
  right: -68px;
  bottom: -82px;
  border-radius: 44% 56% 62% 38%;
  background: rgba(226,35,26,.20);
  box-shadow: 0 0 90px 26px rgba(226,35,26,.17);
  transform: rotate(-20deg);
}
.partner-hero .hero-pattern {
  background-image: radial-gradient(circle, rgba(254,243,199,.58) 1.5px, transparent 1.5px);
  opacity: .62;
}
.partner-hero .eyebrow { color: #fbbf24 !important; }
.partner-hero h1 { color: #fff !important; text-shadow: 0 3px 24px rgba(0,0,0,.30) !important; }
.partner-hero .accent-line { background: linear-gradient(90deg, #fb4b43, #fdba74) !important; width: 74px !important; }
.partner-hero .role { color: #fde68a !important; }
.partner-hero .company { color: #fff !important; }
.partner-hero .tagline { color: #fef3c7 !important; }
.partner-hero .btn-linkedin { border-color: #fbbf24 !important; color: #fff !important; background: rgba(255,255,255,.08) !important; backdrop-filter: blur(8px); }
.partner-hero .btn-linkedin .icon-box { background: #fff !important; }
.partner-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.partner-hero .btn-linkedin:hover {
  background: #fff !important;
  color: #78350f !important;
  border-color: #fff !important;
}
section.hero.partner-hero .btn-linkedin:hover .icon-box { background: #78350f !important; }
section.hero.partner-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }

/* ---------- New strategy-page heroes ---------- */
section.hero.transformation-hero,
section.hero.cloud-hero,
section.hero.identity-hero,
section.hero.awareness-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}
section.hero.transformation-hero {
  background-color: #101747 !important;
  background-image: radial-gradient(circle at 82% 15%, rgba(56,189,248,.38), transparent 25%), radial-gradient(circle at 93% 88%, rgba(225,29,72,.36), transparent 30%), linear-gradient(125deg,#081333 0%,#25358b 46%,#6d28d9 74%,#9f1239 100%) !important;
}
section.hero.cloud-hero {
  background-color: #082f49 !important;
  background-image: radial-gradient(circle at 78% 10%, rgba(125,211,252,.44), transparent 27%), radial-gradient(circle at 96% 88%, rgba(45,212,191,.34), transparent 31%), linear-gradient(125deg,#082f49 0%,#075985 40%,#1d4ed8 72%,#3730a3 100%) !important;
}
section.hero.identity-hero {
  background-color: #2e1065 !important;
  background-image: radial-gradient(circle at 80% 17%, rgba(244,114,182,.36), transparent 25%), radial-gradient(circle at 95% 90%, rgba(59,130,246,.38), transparent 31%), linear-gradient(125deg,#1e123d 0%,#581c87 45%,#9d174d 74%,#1e3a8a 100%) !important;
}
section.hero.awareness-hero {
  background-color: #052e2b !important;
  background-image: radial-gradient(circle at 80% 15%, rgba(163,230,53,.32), transparent 25%), radial-gradient(circle at 96% 90%, rgba(6,182,212,.38), transparent 31%), linear-gradient(125deg,#042f2e 0%,#065f46 43%,#0f766e 70%,#155e75 100%) !important;
}
section.hero.transformation-hero > .elementor-background-overlay,
section.hero.cloud-hero > .elementor-background-overlay,
section.hero.identity-hero > .elementor-background-overlay,
section.hero.awareness-hero > .elementor-background-overlay { background: transparent !important; opacity: 0 !important; }
.transformation-hero::before, .transformation-hero::after,
.cloud-hero::before, .cloud-hero::after,
.identity-hero::before, .identity-hero::after,
.awareness-hero::before, .awareness-hero::after { content:""; position:absolute; z-index:-1; pointer-events:none; }
.transformation-hero::before, .cloud-hero::before, .identity-hero::before, .awareness-hero::before {
  width: 340px; height: 340px; right: 8%; top: -125px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.045), 0 0 0 96px rgba(255,255,255,.02);
}
.transformation-hero::after, .cloud-hero::after, .identity-hero::after, .awareness-hero::after {
  width: 255px; height: 185px; right: -70px; bottom: -85px; border-radius: 44% 56% 62% 38%; background: rgba(255,255,255,.12); box-shadow: 0 0 90px 25px rgba(255,255,255,.09); transform: rotate(-20deg);
}
.transformation-hero .hero-pattern, .cloud-hero .hero-pattern, .identity-hero .hero-pattern, .awareness-hero .hero-pattern { background-image: radial-gradient(circle,rgba(255,255,255,.58) 1.5px,transparent 1.5px); opacity:.52; }
.transformation-hero h1, .cloud-hero h1, .identity-hero h1, .awareness-hero h1 { color:#fff !important; text-shadow:0 3px 24px rgba(0,0,0,.28) !important; }
.transformation-hero .company, .cloud-hero .company, .identity-hero .company, .awareness-hero .company { color:#fff !important; }
.transformation-hero .btn-linkedin, .cloud-hero .btn-linkedin, .identity-hero .btn-linkedin, .awareness-hero .btn-linkedin { color:#fff !important; background:rgba(255,255,255,.08) !important; backdrop-filter:blur(8px); }
.transformation-hero .btn-linkedin .icon-box, .cloud-hero .btn-linkedin .icon-box, .identity-hero .btn-linkedin .icon-box, .awareness-hero .btn-linkedin .icon-box { background:#fff !important; }
.transformation-hero .btn-linkedin .icon-box svg, .cloud-hero .btn-linkedin .icon-box svg, .identity-hero .btn-linkedin .icon-box svg, .awareness-hero .btn-linkedin .icon-box svg { fill:var(--linkedin) !important; }
.transformation-hero .eyebrow { color:#7dd3fc !important; } .transformation-hero .role { color:#fda4af !important; } .transformation-hero .tagline { color:#e0e7ff !important; } .transformation-hero .accent-line { background:linear-gradient(90deg,#fb7185,#38bdf8) !important; width:74px !important; } .transformation-hero .btn-linkedin { border-color:#7dd3fc !important; }
.cloud-hero .eyebrow { color:#67e8f9 !important; } .cloud-hero .role { color:#bae6fd !important; } .cloud-hero .tagline { color:#e0f2fe !important; } .cloud-hero .accent-line { background:linear-gradient(90deg,#2dd4bf,#7dd3fc) !important; width:74px !important; } .cloud-hero .btn-linkedin { border-color:#67e8f9 !important; }
.identity-hero .eyebrow { color:#f9a8d4 !important; } .identity-hero .role { color:#f5d0fe !important; } .identity-hero .tagline { color:#ede9fe !important; } .identity-hero .accent-line { background:linear-gradient(90deg,#f472b6,#818cf8) !important; width:74px !important; } .identity-hero .btn-linkedin { border-color:#f9a8d4 !important; }
.awareness-hero .eyebrow { color:#bef264 !important; } .awareness-hero .role { color:#99f6e4 !important; } .awareness-hero .tagline { color:#ccfbf1 !important; } .awareness-hero .accent-line { background:linear-gradient(90deg,#a3e635,#22d3ee) !important; width:74px !important; } .awareness-hero .btn-linkedin { border-color:#bef264 !important; }
section.hero.transformation-hero .btn-linkedin:hover, section.hero.cloud-hero .btn-linkedin:hover, section.hero.identity-hero .btn-linkedin:hover, section.hero.awareness-hero .btn-linkedin:hover { background:#fff !important; border-color:#fff !important; }
section.hero.transformation-hero .btn-linkedin:hover { color:#3730a3 !important; } section.hero.transformation-hero .btn-linkedin:hover .icon-box { background:#3730a3 !important; }
section.hero.cloud-hero .btn-linkedin:hover { color:#075985 !important; } section.hero.cloud-hero .btn-linkedin:hover .icon-box { background:#075985 !important; }
section.hero.identity-hero .btn-linkedin:hover { color:#701a75 !important; } section.hero.identity-hero .btn-linkedin:hover .icon-box { background:#701a75 !important; }
section.hero.awareness-hero .btn-linkedin:hover { color:#065f46 !important; } section.hero.awareness-hero .btn-linkedin:hover .icon-box { background:#065f46 !important; }
section.hero.transformation-hero .btn-linkedin:hover .icon-box svg, section.hero.cloud-hero .btn-linkedin:hover .icon-box svg, section.hero.identity-hero .btn-linkedin:hover .icon-box svg, section.hero.awareness-hero .btn-linkedin:hover .icon-box svg { fill:#fff !important; }
.btn-linkedin {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  border: 1.5px solid var(--linkedin);
  color: var(--linkedin);
  font-weight: 600;
  font-size: 14.5px;
  padding: 10px 20px;
  border-radius: 6px;
  transition: background 0.18s, color 0.18s, transform 0.18s, box-shadow 0.18s;
}
.btn-linkedin .icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: var(--linkedin);
  border-radius: 4px;
  transition: background 0.18s;
}
.btn-linkedin .icon-box svg { width: 13px; height: 13px; fill: #fff; }
.btn-linkedin:hover {
  background: var(--linkedin);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -8px rgba(10,102,194,0.55);
}
.btn-linkedin:hover .icon-box { background: #fff; }
.btn-linkedin:hover .icon-box svg { fill: var(--linkedin); }

/* ---------- At a glance / stat row (reused on Profile + Company) ---------- */
.glance { padding: 52px 0; text-align: center; border-bottom: 1px solid var(--border); }
.glance h2 { font-size: 15px; letter-spacing: 0.12em; font-weight: 800; margin: 0; }
.glance-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 30px; }
.glance-item { padding: 0 20px; border-right: 1px solid var(--border); transition: transform 0.2s; }
.glance-item:last-child { border-right: none; }
.glance-item:hover { transform: translateY(-4px); }
.glance-icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: 1.5px solid #f0c9c6;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  color: var(--red);
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.glance-item:hover .glance-icon {
  background: var(--red);
  color: #fff;
  box-shadow: 0 10px 22px -10px rgba(226,35,26,0.6);
}
.glance-icon svg { width: 28px; height: 28px; fill: currentColor; }
.glance-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; color: var(--muted-light); margin-bottom: 8px; }
.glance-value { font-weight: 700; font-size: 16px; color: var(--black); }
.glance-sub { font-size: 14px; color: var(--muted); margin-top: 2px; }

/* ---------- Section heading helper ---------- */
.section-head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.section-head h2 { font-size: 26px; font-weight: 800; margin: 0; }
.section-head .accent-line { margin-left: auto; margin-right: auto; }
.section-head p { color: var(--muted); font-size: 15px; margin: 0; }

/* ---------- Leadership profile (Profile page) ---------- */
.profile-section { padding: 64px 0; }
.profile-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; }
.profile-bio h2 { font-size: 22px; font-weight: 800; margin: 0; letter-spacing: 0.04em; }
.profile-bio p { margin: 0 0 16px; color: var(--text); font-size: 15px; }
.profile-features { display: flex; flex-direction: column; border-top: 1px solid var(--border); }
.feature-row {
  display: flex;
  gap: 18px;
  padding: 22px 4px;
  border-bottom: 1px solid var(--border);
  border-radius: 8px;
  transition: background 0.18s, padding-left 0.18s;
}
.feature-row:hover { background: var(--bg-light); padding-left: 12px; }
.feature-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #fdeceb;
  color: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.feature-icon svg { width: 22px; height: 22px; fill: currentColor; }
.feature-row h3 { margin: 4px 0 6px; font-size: 15.5px; letter-spacing: 0.03em; font-weight: 800; }
.feature-row p { margin: 0; font-size: 14px; color: var(--muted); }

/* ---------- Timeline (Career page) ---------- */
.timeline-section { padding: 64px 0; }
.timeline { position: relative; max-width: 820px; margin: 0 auto; padding-left: 40px; }
.timeline::before {
  content: "";
  position: absolute;
  left: 9px; top: 6px; bottom: 6px;
  width: 2px;
  background: var(--border);
}
.timeline-item { position: relative; padding-bottom: 40px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-dot {
  position: absolute;
  left: -40px; top: 2px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--red);
  transition: transform 0.2s, box-shadow 0.2s;
}
.timeline-item:hover .timeline-dot {
  transform: scale(1.15);
  box-shadow: 0 0 0 6px rgba(226,35,26,0.15);
}
.timeline-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 20px 24px;
  transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.timeline-item:hover .timeline-card {
  box-shadow: 0 14px 30px -18px rgba(0,0,0,0.25);
  transform: translateX(4px);
  border-color: #f0c9c6;
}
.timeline-year {
  display: inline-block;
  color: var(--red);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
}
.timeline-card h3 { margin: 0 0 6px; font-size: 16.5px; font-weight: 800; }
.timeline-card p { margin: 0; color: var(--muted); font-size: 14.5px; }

.expertise-section { padding: 0 0 64px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.tag-pill {
  background: var(--bg-light);
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 999px;
  transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.18s;
}
.tag-pill:hover {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
  transform: translateY(-2px);
}

/* ---------- Project cards (Projects page) ---------- */
.projects-section { padding: 64px 0; }
.project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.project-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px 24px;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px -22px rgba(0,0,0,0.28);
  border-color: #f0c9c6;
}
.project-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #fdeceb;
  color: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  transition: background 0.2s, color 0.2s;
}
.project-card:hover .project-icon { background: var(--red); color: #fff; }
.project-icon svg { width: 24px; height: 24px; fill: currentColor; }
.project-tag {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--red);
  background: #fdeceb;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.project-card h3 { margin: 0 0 10px; font-size: 17px; font-weight: 800; }
.project-card p { margin: 0; color: var(--muted); font-size: 14.5px; }

/* ---------- Company page ---------- */
.company-section { padding: 64px 0; }
.company-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.container.company-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  width: 100% !important;
}
.container.company-grid > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
.company-copy p { margin: 0 0 16px; color: var(--text); font-size: 15px; }
.company-stats-mini {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.mini-stat {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  transition: border-color 0.2s, transform 0.2s;
}
.mini-stat:hover { border-color: #f0c9c6; transform: translateY(-3px); }
.mini-stat .num { font-size: 26px; font-weight: 800; color: var(--red); }
.mini-stat .lbl { font-size: 12.5px; color: var(--muted); margin-top: 4px; }

.values-section { padding: 0 0 64px; background: var(--bg-light); padding-top: 64px; }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.value-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 26px 22px;
  text-align: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.value-card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px -20px rgba(0,0,0,0.25); }
.value-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fdeceb;
  color: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.value-icon svg { width: 24px; height: 24px; fill: currentColor; }
.value-card h3 { margin: 0 0 8px; font-size: 15.5px; font-weight: 800; }
.value-card p { margin: 0; font-size: 13.5px; color: var(--muted); }

/* ---------- Extended executive pages ---------- */
.content-section { padding: 64px 0; }
.content-section.alt { background: var(--bg-light); padding:25px; }
.content-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.content-grid.three { grid-template-columns: repeat(3, 1fr); }
.content-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.content-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px -22px rgba(0,0,0,.28); border-color: #f0c9c6; }
.content-card .card-number { color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.content-card h3 { margin: 8px 0 10px; font-size: 18px; }
.content-card p { margin: 0; color: var(--muted); font-size: 14.5px; }

/* ---------- Tech Titan owner page ---------- */
.owner-page { background: #fff; }
.owner-hero {
  position: relative;
  isolation: isolate;
  padding: 82px 0 86px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 15%, rgba(239,68,68,.38), transparent 24%),
    radial-gradient(circle at 93% 86%, rgba(14,165,233,.26), transparent 28%),
    linear-gradient(125deg, #101114 0%, #1c1f26 45%, #3f1417 72%, #0b3b52 100%);
  overflow: hidden;
}
.owner-hero::before {
  content: "OWNER";
  position: absolute;
  right: -22px;
  bottom: -72px;
  z-index: -1;
  font-size: clamp(140px, 20vw, 280px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.07em;
  color: rgba(255,255,255,.035);
  pointer-events: none;
}
.owner-grid-lines {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: linear-gradient(90deg, transparent 18%, #000 80%);
  mask-image: linear-gradient(90deg, transparent 18%, #000 80%);
}
.owner-hero-grid { display: grid; grid-template-columns: minmax(0,1.32fr) minmax(300px,.68fr); gap: 78px; align-items: center; }
.owner-hero .eyebrow { color: #fca5a5; letter-spacing: .16em; }
.owner-hero h1 { color: #fff; font-size: clamp(50px, 6.6vw, 82px); line-height: .98; letter-spacing: -.045em; }
.owner-display { max-width: 720px; margin: 16px 0 22px; color: #f8d7d5; font-size: clamp(24px, 3.1vw, 39px); font-weight: 700; line-height: 1.13; letter-spacing: -.025em; }
.owner-hero .accent-line { width: 92px; margin-bottom: 18px; background: linear-gradient(90deg,#ef4444,#38bdf8); }
.owner-hero .company { color: #fff; font-size: 16px; }
.owner-hero .tagline { max-width: 670px; color: #d6dbe3; font-size: 16px; line-height: 1.75; }
.owner-actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.owner-hero .btn-linkedin { color: #fff; border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.07); }
.owner-hero .btn-linkedin:hover { color: #15171b; background: #fff; border-color: #fff; }
.owner-card { padding: 31px; border: 1px solid rgba(255,255,255,.22); border-top: 4px solid #ef4444; background: rgba(14,16,20,.65); box-shadow: 0 28px 60px rgba(0,0,0,.26); backdrop-filter: blur(12px); }
.owner-card-label { display: block; color: #fca5a5; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.owner-monogram { display: grid; place-items: center; width: 82px; height: 82px; margin: 24px 0 20px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; background: linear-gradient(135deg,#dc2626,#1d4ed8); font-size: 22px; font-weight: 900; letter-spacing: .06em; box-shadow: 0 14px 32px rgba(0,0,0,.28); }
.owner-card h2 { margin: 0; color: #fff; font-size: 27px; }
.owner-card > p { margin: 3px 0 23px; color: #cbd5e1; }
.owner-card dl { margin: 0; border-top: 1px solid rgba(255,255,255,.14); }
.owner-card dl div { display: grid; grid-template-columns: 98px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.owner-card dt { color: #9ca3af; font-size: 12px; }
.owner-card dd { margin: 0; color: #fff; font-size: 13px; font-weight: 700; }
.owner-story { padding: 88px 0; }
.owner-story-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 90px; }
.owner-kicker, .owner-section-heading > span { display: block; margin-bottom: 14px; color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.owner-story h2, .owner-section-heading h2 { margin: 0; color: #111827; font-size: clamp(31px,4vw,49px); line-height: 1.08; letter-spacing: -.035em; }
.owner-story-copy { padding-left: 30px; border-left: 3px solid #e5e7eb; }
.owner-story-copy p { color: #5f6876; line-height: 1.8; }
.owner-story-copy .lead { margin-top: 0; color: #172033; font-size: 19px; font-weight: 650; line-height: 1.55; }
.owner-principles { padding: 86px 0 94px; background: #f4f5f7; }
.owner-section-heading { max-width: 700px; margin-bottom: 42px; }
.owner-section-heading > p { color: #6b7280; }
.owner-principle-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.owner-principle-grid article { position: relative; min-height: 295px; padding: 30px 27px; background: #fff; border: 1px solid #e2e4e8; border-top: 3px solid transparent; transition: transform .2s, box-shadow .2s, border-color .2s; }
.owner-principle-grid article:hover { transform: translateY(-6px); border-top-color: var(--red); box-shadow: 0 20px 42px -26px rgba(0,0,0,.34); }
.owner-principle-grid b { position: absolute; right: 21px; top: 14px; color: #edf0f3; font-size: 48px; line-height: 1; }
.owner-principle-grid span { position: relative; color: var(--red); font-size: 10.5px; font-weight: 800; letter-spacing: .14em; }
.owner-principle-grid h3 { position: relative; margin: 58px 0 14px; color: #111827; font-size: 21px; line-height: 1.28; }
.owner-principle-grid p { margin: 0; color: #697281; font-size: 14.5px; line-height: 1.7; }
.owner-quote { position: relative; padding: 82px 0; overflow: hidden; color: #fff; background: linear-gradient(120deg,#17191f,#2b1113 62%,#102e3d); }
.owner-quote .container { position: relative; max-width: 900px; }
.owner-quote-mark { position: absolute; left: 12px; top: -45px; color: rgba(239,68,68,.22); font-family: Georgia,serif; font-size: 210px; line-height: 1; }
.owner-quote blockquote { position: relative; margin: 0; font-family: Georgia,serif; font-size: clamp(25px,3.3vw,38px); line-height: 1.48; }
.owner-quote p { display: flex; flex-direction: column; margin: 31px 0 0; padding-left: 18px; border-left: 3px solid #ef4444; }
.owner-quote strong { color: #fff; }
.owner-quote span { color: #aeb6c2; font-size: 13px; }

@media (max-width: 980px) {
  .owner-hero-grid, .owner-story-grid { grid-template-columns: 1fr; gap: 46px; }
  .owner-card { max-width: 570px; }
  .owner-principle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .owner-hero { padding: 60px 0 64px; }
  .owner-story, .owner-principles, .owner-quote { padding: 64px 0; }
  .owner-story-copy { padding-left: 21px; }
  .owner-principle-grid { grid-template-columns: 1fr; }
  .owner-principle-grid article { min-height: 0; }
  .owner-card { padding: 25px; }
  .owner-actions { align-items: stretch; flex-direction: column; }
  .owner-actions a { justify-content: center; }
}
.process-list { max-width: 900px; margin: 0 auto; display: grid; gap: 18px; }
.process-item { display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; }
.process-num { width: 54px; height: 54px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-weight: 800; }
.process-copy { border-bottom: 1px solid var(--border); padding: 3px 0 20px; }
.process-copy h3 { margin: 0 0 5px; font-size: 17px; }
.process-copy p { margin: 0; color: var(--muted); font-size: 14.5px; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; }
.contact-list { display: grid; gap: 18px; }
.contact-method { border-left: 3px solid var(--red); padding: 2px 0 2px 18px; }
.contact-method strong { display: block; margin-bottom: 3px; }
.contact-method a, .contact-method span { color: var(--muted); text-decoration: none; font-size: 14.5px; }
.contact-method a:hover { color: var(--red); }
.contact-form { background: var(--bg-light); border: 1px solid var(--border); border-radius: 12px; padding: 28px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field { margin-bottom: 16px; }
.form-field label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.form-field input, .form-field select, .form-field textarea { width: 100%; border: 1px solid #d8dadd; border-radius: 6px; background: #fff; padding: 11px 12px; font: inherit; font-size: 14px; color: var(--text); }
.form-field textarea { min-height: 130px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: 2px solid rgba(226,35,26,.15); border-color: var(--red); }
.contact-form button { border: 0; cursor: pointer; }

/* ---------- Quote ---------- */
.quote-section { background: var(--bg-light); padding: 56px 0; text-align: center; }
.quote-inner { max-width: 760px; margin: 0 auto; position: relative; }
.quote-mark { font-size: 60px; font-family: Georgia, serif; color: var(--red); line-height: 1; opacity: 0.85; }
.quote-mark.end { display: block; text-align: right; }
.quote-text { font-size: 19px; font-style: italic; color: var(--black); margin: 0 auto; line-height: 1.6; }
.quote-author { margin: 22px 0 0; font-weight: 800; }
.quote-role { margin: 2px 0 0; color: var(--muted); font-size: 14px; }

/* ---------- CTA ---------- */
.cta { padding: 40px 0; border-bottom: 1px solid var(--border); }
.cta .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cta-left { display: flex; align-items: center; gap: 18px; }
.cta-icon {
  width: 52px; height: 52px;
  border-radius: 50%;
  border: 1.5px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  color: var(--black);
  flex-shrink: 0;
}
.cta-icon svg { width: 24px; height: 24px; fill: currentColor; }
.cta-left h3 { margin: 0 0 4px; font-size: 18px; }
.cta-left p { margin: 0; color: var(--muted); font-size: 14.5px; }
.btn-red {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  background: var(--red);
  color: #fff;
  font-weight: 700;
  font-size: 14.5px;
  padding: 13px 28px;
  border-radius: 4px;
  transition: background 0.18s, transform 0.18s, box-shadow 0.18s;
  white-space: nowrap;
}
.btn-red:hover,
.btn-red:focus,
.btn-red:active {
  background: #c81c14 !important;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 22px -10px rgba(226,35,26,0.55);
}

/* ---------- Footer ---------- */
footer { background: var(--footer-bg); color: #cfcfcf; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 0.8fr 1.1fr 1fr; gap: 36px; padding: 56px 0 40px; }
.footer-brand .logo { color: #fff; margin-bottom: 16px; }
.footer-brand .logo .mark { background: #fff; }
.footer-brand .logo .mark::before,
.footer-brand .logo .mark::after { background: var(--footer-bg); }
.footer-brand p { font-size: 13.5px; color: #a9a9a9; margin: 0 0 12px; }
.footer-social { display: flex; gap: 12px; margin-top: 16px; }
.footer-social a {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: #2c2c2c;
  display: flex; align-items: center; justify-content: center;
  color: #cfcfcf;
  text-decoration: none;
  transition: background 0.18s, color 0.18s, transform 0.18s;
}
.footer-social a:hover { background: var(--red); color: #fff; transform: translateY(-3px); }
.footer-social svg { width: 15px; height: 15px; fill: currentColor; }
footer h4 { color: #fff; font-size: 13px; letter-spacing: 0.08em; margin: 0 0 18px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.footer-col ul a { text-decoration: none; color: #a9a9a9; font-size: 13.5px; transition: color 0.15s; }
.footer-col ul a:hover { color: var(--red); }
.footer-col p { font-size: 13.5px; color: #a9a9a9; margin: 0 0 14px; }
.footer-col a.link-inline { color: #cfcfcf; text-decoration: none; }
.footer-col a.link-inline:hover { color: var(--red); }
.offices-map {
  position: relative;
  height: 130px;
  border-radius: 8px;
  background: #262626;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.offices-map svg { width: 100%; height: 100%; opacity: 0.5; }
.offices-map .pin { position: absolute; left: 34%; top: 32%; display: flex; flex-direction: column; align-items: center; text-align: center; }
.offices-map .pin .dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 5px rgba(226,35,26,0.25);
  margin-bottom: 6px;
}
.offices-map .pin .flag { font-size: 20px; line-height: 1; }
.offices-map .label { position: absolute; left: 12px; bottom: 10px; font-size: 11px; color: #cfcfcf; line-height: 1.4; }
.offices-map .label strong { color: #fff; display: block; font-size: 12px; }
.footer-bottom { border-top: 1px solid #2e2e2e; padding: 20px 0; text-align: center; font-size: 12.5px; color: #8a8a8a; }

/* ---------- Malaysia cybersecurity outlook ---------- */
section.hero.outlook-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: 76px 0 80px !important;
  background-color: #071a24 !important;
  background-image:
    linear-gradient(90deg, rgba(7,26,36,.98) 0%, rgba(7,26,36,.88) 47%, rgba(7,26,36,.22) 100%),
    radial-gradient(circle at 82% 18%, rgba(34,211,238,.52), transparent 24%),
    radial-gradient(circle at 92% 84%, rgba(239,68,68,.44), transparent 28%),
    linear-gradient(135deg, #071a24 0%, #0f766e 58%, #991b1b 100%) !important;
}
section.hero.outlook-hero > .elementor-background-overlay { background: transparent !important; opacity: 0 !important; }
.outlook-hero::before {
  content: "MY";
  position: absolute;
  right: 3%;
  bottom: -65px;
  z-index: -1;
  color: rgba(255,255,255,.055);
  font-size: 260px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}
.outlook-hero .hero-pattern {
  left: 51%;
  right: auto;
  top: -80px;
  width: 560px;
  height: 560px;
  opacity: .34;
  background-image: linear-gradient(rgba(103,232,249,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(103,232,249,.22) 1px, transparent 1px);
  background-size: 34px 34px;
  transform: rotate(9deg);
}
.outlook-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr) !important;
  align-items: center !important;
  gap: 72px !important;
}
/* Keep WordPress themes from overriding the generic .container class. */
section.hero.outlook-hero > .container.outlook-hero-grid {
  width: 100% !important;
  max-width: 1164px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px !important;
  padding-left: 32px !important;
  box-sizing: border-box !important;
}
.outlook-page > section > .container {
  width: 100% !important;
  max-width: 1164px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px !important;
  padding-left: 32px !important;
  box-sizing: border-box !important;
}
.outlook-hero-grid > * { min-width: 0 !important; }
.outlook-hero .eyebrow { color: #67e8f9 !important; }
.outlook-hero h1 { color: #fff !important; font-size: clamp(46px,6vw,76px) !important; line-height: .98 !important; }
.outlook-hero .outlook-display { max-width: 670px; margin: 13px 0 18px; color: #fca5a5 !important; font-size: clamp(23px,3vw,37px); font-weight: 750; line-height: 1.12; letter-spacing: -.025em; }
.outlook-hero .accent-line { margin: 0 0 17px; width: 92px !important; background: linear-gradient(90deg,#22d3ee,#f87171) !important; }
.outlook-hero .company { color: #fff !important; }
.outlook-hero .tagline { max-width: 660px; color: #d8f4f6 !important; font-size: 16px; line-height: 1.75; }
.outlook-hero .btn-linkedin { color: #fff !important; border-color: #67e8f9 !important; background: rgba(255,255,255,.08) !important; backdrop-filter: blur(8px); }
.outlook-hero .btn-linkedin .icon-box { background: #fff !important; }
.outlook-hero .btn-linkedin .icon-box svg { fill: var(--linkedin) !important; }
section.hero.outlook-hero .btn-linkedin:hover { color: #0f4c5c !important; background: #fff !important; border-color: #fff !important; }
section.hero.outlook-hero .btn-linkedin:hover .icon-box { background: #0f4c5c !important; }
section.hero.outlook-hero .btn-linkedin:hover .icon-box svg { fill: #fff !important; }
.outlook-signal {
  position: relative;
  padding: 31px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  border-top: 4px solid #22d3ee;
  background: rgba(5,25,35,.58);
  box-shadow: 0 28px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
}
.outlook-signal .signal-label { display:block; margin-bottom:14px; color:#67e8f9; font-size:11px; font-weight:800; letter-spacing:.17em; }
.outlook-signal strong { display:block; font-size:25px; line-height:1.2; }
.outlook-signal p { margin:20px 0 0; color:#cdebed; font-size:13.5px; line-height:1.6; }
.signal-topics { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.signal-topics span { padding:6px 9px; border:1px solid rgba(255,255,255,.2); color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.outlook-page { background:#fff; }
.outlook-intro-section { padding:82px 0; }
.outlook-intro { display:grid !important; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important; gap:90px !important; align-items:start !important; }
.outlook-intro > * { min-width:0 !important; }
.outlook-kicker { display:block; margin-bottom:13px; color:var(--red); font-size:11px; font-weight:800; letter-spacing:.16em; }
.outlook-intro h2, .outlook-action-copy h2 { margin:0; color:#101828; font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.035em; }
.outlook-prose { padding-left:30px; border-left:3px solid #e6e8ec; }
.outlook-prose p { color:#586174; line-height:1.78; }
.outlook-prose .lead { margin-top:0; color:#182230; font-size:19px; font-weight:650; line-height:1.55; }
.outlook-priority-section { padding:82px 0 90px; background:#f3f6f7; }
.outlook-section-title { display:flex; align-items:flex-start; gap:18px; margin-bottom:38px; }
.outlook-section-title > span { display:grid; place-items:center; width:43px; height:43px; flex:0 0 43px; color:#fff; background:#e2231a; font-size:12px; font-weight:800; }
.outlook-section-title p { margin:0 0 4px; color:#0f766e; font-size:11px; font-weight:800; letter-spacing:.16em; }
.outlook-section-title h2 { margin:0; color:#111827; font-size:clamp(27px,3vw,39px); letter-spacing:-.025em; }
.outlook-priority-list { border-top:1px solid #cfd7da; }
.outlook-priority-list article { display:grid !important; grid-template-columns:52px minmax(230px,.72fr) minmax(0,1.28fr) !important; gap:28px !important; align-items:center !important; padding:28px 0; border-bottom:1px solid #cfd7da; transition:padding .18s,background .18s; }
.outlook-priority-list article:hover { padding-left:14px; padding-right:14px; background:#fff; }
.outlook-priority-list article > b { color:#a5afb8; font-size:17px; }
.outlook-priority-list article span { color:#e2231a; font-size:10.5px; font-weight:800; letter-spacing:.13em; }
.outlook-priority-list article h3 { margin:4px 0 0; color:#111827; font-size:20px; }
.outlook-priority-list article p { margin:0; color:#5d6875; line-height:1.65; }
.outlook-lens-section { position:relative; overflow:hidden; padding:86px 0 94px; background:linear-gradient(130deg,#061b25,#073642 58%,#0f766e); }
.outlook-lens-section::after { content:""; position:absolute; width:400px; height:400px; right:-170px; bottom:-210px; border:1px solid rgba(103,232,249,.2); border-radius:50%; box-shadow:0 0 0 65px rgba(103,232,249,.035),0 0 0 130px rgba(103,232,249,.02); }
.outlook-section-title.light > span { background:#22d3ee; color:#083344; }
.outlook-section-title.light p { color:#67e8f9; }
.outlook-section-title.light h2 { color:#fff; }
.outlook-lenses { position:relative; z-index:1; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:1px !important; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.15); }
.outlook-lenses article { min-width:0 !important; padding:34px; background:rgba(6,27,37,.82); }
.outlook-lenses span { color:#67e8f9; font-size:10.5px; font-weight:800; letter-spacing:.16em; }
.outlook-lenses h3 { margin:14px 0 14px; color:#fff; font-size:22px; line-height:1.3; }
.outlook-lenses p { margin:0; color:#cce8ea; line-height:1.7; }
.outlook-action-section { padding:88px 0; }
.outlook-actions { display:grid !important; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important; gap:86px !important; align-items:start !important; }
.outlook-actions > * { min-width:0 !important; }
.outlook-action-copy > p { margin:22px 0 29px; color:#616b78; line-height:1.75; }
.outlook-checklist { margin:0; padding:0; list-style:none; border-top:1px solid #d9dee3; }
.outlook-checklist li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:18px; padding:21px 0; border-bottom:1px solid #d9dee3; }
.outlook-checklist li > span { display:grid; place-items:center; width:36px; height:36px; color:#fff; background:#0f766e; font-size:11px; font-weight:800; }
.outlook-checklist strong { color:#16202b; font-size:16px; }
.outlook-checklist p { margin:5px 0 0; color:#697481; font-size:14px; line-height:1.55; }

/* Topic-series colour systems and layout variations */
section.hero.topic-hero.theme-app { background-image:linear-gradient(90deg,rgba(15,18,38,.98),rgba(15,18,38,.82) 48%,rgba(15,18,38,.12)),radial-gradient(circle at 82% 20%,rgba(168,85,247,.55),transparent 25%),radial-gradient(circle at 94% 85%,rgba(34,211,238,.40),transparent 28%),linear-gradient(135deg,#111827,#6b21a8 58%,#0e7490) !important; }
section.hero.topic-hero.theme-zero { background-image:linear-gradient(90deg,rgba(8,30,29,.98),rgba(8,30,29,.83) 48%,rgba(8,30,29,.14)),radial-gradient(circle at 80% 18%,rgba(52,211,153,.55),transparent 25%),radial-gradient(circle at 94% 84%,rgba(250,204,21,.34),transparent 28%),linear-gradient(135deg,#052e2b,#047857 58%,#854d0e) !important; }
section.hero.topic-hero.theme-ransom { background-image:linear-gradient(90deg,rgba(35,8,18,.98),rgba(35,8,18,.84) 48%,rgba(35,8,18,.12)),radial-gradient(circle at 81% 18%,rgba(248,113,113,.58),transparent 25%),radial-gradient(circle at 95% 86%,rgba(249,115,22,.40),transparent 29%),linear-gradient(135deg,#260713,#991b1b 58%,#9a3412) !important; }
section.hero.topic-hero.theme-risk { background-image:linear-gradient(90deg,rgba(20,24,34,.98),rgba(20,24,34,.84) 48%,rgba(20,24,34,.12)),radial-gradient(circle at 80% 18%,rgba(251,191,36,.50),transparent 25%),radial-gradient(circle at 95% 86%,rgba(148,163,184,.38),transparent 29%),linear-gradient(135deg,#111827,#92400e 58%,#334155) !important; }
section.hero.topic-hero.theme-ai2 { background-image:linear-gradient(90deg,rgba(17,12,48,.98),rgba(17,12,48,.83) 48%,rgba(17,12,48,.12)),radial-gradient(circle at 81% 18%,rgba(129,140,248,.58),transparent 25%),radial-gradient(circle at 95% 86%,rgba(236,72,153,.42),transparent 29%),linear-gradient(135deg,#17103d,#4338ca 55%,#9d174d) !important; }
section.hero.topic-hero.theme-endpoint { background-image:linear-gradient(90deg,rgba(3,24,36,.98),rgba(3,24,36,.84) 48%,rgba(3,24,36,.12)),radial-gradient(circle at 81% 18%,rgba(14,165,233,.58),transparent 25%),radial-gradient(circle at 95% 86%,rgba(45,212,191,.42),transparent 29%),linear-gradient(135deg,#082f49,#0369a1 55%,#0f766e) !important; }
section.hero.topic-hero.theme-future { background-image:linear-gradient(90deg,rgba(29,18,9,.98),rgba(29,18,9,.83) 48%,rgba(29,18,9,.12)),radial-gradient(circle at 81% 18%,rgba(251,146,60,.58),transparent 25%),radial-gradient(circle at 95% 86%,rgba(244,63,94,.38),transparent 29%),linear-gradient(135deg,#271307,#c2410c 56%,#9f1239) !important; }
.topic-hero.theme-app .eyebrow,.topic-hero.theme-app .outlook-display{color:#d8b4fe !important}.topic-hero.theme-app .accent-line{background:linear-gradient(90deg,#c084fc,#22d3ee)!important}.topic-hero.theme-app .btn-linkedin{border-color:#c084fc!important}
.topic-hero.theme-zero .eyebrow,.topic-hero.theme-zero .outlook-display{color:#a7f3d0 !important}.topic-hero.theme-zero .accent-line{background:linear-gradient(90deg,#34d399,#facc15)!important}.topic-hero.theme-zero .btn-linkedin{border-color:#6ee7b7!important}
.topic-hero.theme-ransom .eyebrow,.topic-hero.theme-ransom .outlook-display{color:#fecaca !important}.topic-hero.theme-ransom .accent-line{background:linear-gradient(90deg,#ef4444,#fb923c)!important}.topic-hero.theme-ransom .btn-linkedin{border-color:#fca5a5!important}
.topic-hero.theme-risk .eyebrow,.topic-hero.theme-risk .outlook-display{color:#fde68a !important}.topic-hero.theme-risk .accent-line{background:linear-gradient(90deg,#f59e0b,#cbd5e1)!important}.topic-hero.theme-risk .btn-linkedin{border-color:#fbbf24!important}
.topic-hero.theme-ai2 .eyebrow,.topic-hero.theme-ai2 .outlook-display{color:#c7d2fe !important}.topic-hero.theme-ai2 .accent-line{background:linear-gradient(90deg,#818cf8,#f472b6)!important}.topic-hero.theme-ai2 .btn-linkedin{border-color:#a5b4fc!important}
.topic-hero.theme-endpoint .eyebrow,.topic-hero.theme-endpoint .outlook-display{color:#bae6fd !important}.topic-hero.theme-endpoint .accent-line{background:linear-gradient(90deg,#38bdf8,#2dd4bf)!important}.topic-hero.theme-endpoint .btn-linkedin{border-color:#7dd3fc!important}
.topic-hero.theme-future .eyebrow,.topic-hero.theme-future .outlook-display{color:#fed7aa !important}.topic-hero.theme-future .accent-line{background:linear-gradient(90deg,#fb923c,#fb7185)!important}.topic-hero.theme-future .btn-linkedin{border-color:#fdba74!important}
.topic-page.theme-app{--topic:#7e22ce;--topic-dark:#24103d}.topic-page.theme-zero{--topic:#047857;--topic-dark:#052e2b}.topic-page.theme-ransom{--topic:#b91c1c;--topic-dark:#310914}.topic-page.theme-risk{--topic:#b45309;--topic-dark:#282011}.topic-page.theme-ai2{--topic:#4f46e5;--topic-dark:#1e1749}.topic-page.theme-endpoint{--topic:#0284c7;--topic-dark:#082f49}.topic-page.theme-future{--topic:#c2410c;--topic-dark:#3a1707}
.topic-page .outlook-kicker,.topic-page .outlook-section-title p,.topic-page .outlook-priority-list article span{color:var(--topic)}
.topic-page .outlook-section-title>span,.topic-page .outlook-checklist li>span{background:var(--topic)}
.topic-page .outlook-lens-section{background:linear-gradient(130deg,var(--topic-dark),color-mix(in srgb,var(--topic-dark) 72%,var(--topic)),var(--topic))}
.topic-page.theme-app .outlook-priority-list article{border-left:4px solid transparent;padding-left:18px}.topic-page.theme-app .outlook-priority-list article:hover{border-left-color:var(--topic)}
.topic-page.theme-zero .outlook-lenses{gap:18px!important;background:transparent;border:0}.topic-page.theme-zero .outlook-lenses article{border:1px solid rgba(167,243,208,.28);border-radius:18px}
.topic-page.theme-ransom .outlook-priority-list{counter-reset:ransom;border-top:0}.topic-page.theme-ransom .outlook-priority-list article{position:relative;margin-left:24px;padding-left:36px;border-left:2px solid #fecaca}.topic-page.theme-ransom .outlook-priority-list article::before{content:"";position:absolute;left:-8px;width:14px;height:14px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 6px #fee2e2}
.topic-page.theme-risk .outlook-priority-section{background:#f7f3e9}.topic-page.theme-risk .outlook-lenses article{background:rgba(35,28,14,.88)}
.topic-page.theme-ai2 .outlook-lenses article:nth-child(2){transform:translateY(-14px);background:#312e81}.topic-page.theme-ai2 .outlook-lenses{margin-top:52px}
.topic-page.theme-endpoint .outlook-priority-list{padding:18px;background:#071f2d;border:0;box-shadow:0 20px 50px rgba(2,40,60,.13)}.topic-page.theme-endpoint .outlook-priority-list article{padding:24px 18px;border-color:#234253}.topic-page.theme-endpoint .outlook-priority-list article h3{color:#fff}.topic-page.theme-endpoint .outlook-priority-list article p{color:#bad9e7}.topic-page.theme-endpoint .outlook-priority-list article>b{color:#4cc9f0}
.topic-page.theme-future .outlook-priority-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px;border:0}.topic-page.theme-future .outlook-priority-list article{display:block!important;padding:30px!important;border:1px solid #ead5c8;background:#fff}.topic-page.theme-future .outlook-priority-list article>b{display:block;margin-bottom:25px}.topic-page.theme-future .outlook-priority-list article p{margin-top:15px}

@media (max-width: 860px) {
  .outlook-hero-grid, .outlook-intro, .outlook-actions { grid-template-columns:1fr !important; gap:42px !important; }
  section.hero.outlook-hero > .container.outlook-hero-grid { padding-right:24px !important; padding-left:24px !important; }
  .outlook-page > section > .container { padding-right:24px !important; padding-left:24px !important; }
  .outlook-signal { max-width:560px; }
  .outlook-lenses { grid-template-columns:1fr !important; }
  .outlook-priority-list article { grid-template-columns:42px minmax(0,1fr) !important; gap:18px !important; }
  .outlook-priority-list article > p { grid-column:2; }
  .outlook-prose { padding-left:22px; }
  .topic-page.theme-ai2 .outlook-lenses article:nth-child(2){transform:none}
  .topic-page.theme-ai2 .outlook-lenses{margin-top:0}
  .topic-page.theme-future .outlook-priority-list{grid-template-columns:1fr!important}
}
@media (max-width: 560px) {
  section.hero.outlook-hero { padding:56px 0 62px !important; }
  .outlook-hero::before { font-size:150px; bottom:-32px; }
  .outlook-hero .hero-pattern { left:42%; }
  .outlook-hero-grid { gap:32px !important; }
  section.hero.outlook-hero > .container.outlook-hero-grid { padding-right:20px !important; padding-left:20px !important; }
  .outlook-page > section > .container { padding-right:20px !important; padding-left:20px !important; }
  .outlook-signal { padding:24px; }
  .outlook-intro-section, .outlook-priority-section, .outlook-lens-section, .outlook-action-section { padding:62px 0; }
  .outlook-priority-list article { padding:23px 0; }
  .outlook-priority-list article > p { font-size:14px; }
  .outlook-lenses article { padding:27px; }
}

@media (max-width: 980px) {
  .nav-links { display: none; }
  .glance-grid { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
  .glance-item:nth-child(2) { border-right: none; }
  .profile-grid, .company-grid { grid-template-columns: 1fr; }
  .container.company-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .content-grid.three { grid-template-columns: repeat(2, 1fr); }
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hero h1 { font-size: 32px; }
  .glance-grid { grid-template-columns: 1fr; }
  .glance-item { border-right: none; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
  .footer-grid { grid-template-columns: 1fr; }
  .cta .container { flex-direction: column; align-items: flex-start; }
  .project-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .company-stats-mini { grid-template-columns: 1fr; }
  .timeline { padding-left: 32px; }
  .content-grid, .content-grid.three, .form-row { grid-template-columns: 1fr; }
}

/* ---------- PDF library ---------- */
.library-brandbar { background:#fff; border-bottom:1px solid #e8e8e8; }
.library-brandbar .container { display:flex; align-items:center; min-height:92px; }
.library-brandbar img { display:block; width:auto; height:48px; max-width:220px; object-fit:contain; }

.library-page { background: #fff; }
.library-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(59,130,246,.32), transparent 25%),
    radial-gradient(circle at 96% 88%, rgba(226,35,26,.36), transparent 29%),
    linear-gradient(125deg,#0a1224 0%,#172554 48%,#312e81 72%,#701a35 100%);
}
.library-hero::after { content:"PDF"; position:absolute; right:-22px; bottom:-66px; color:rgba(255,255,255,.045); font-size:250px; font-weight:900; line-height:1; letter-spacing:-.08em; }
.library-hero-grid { position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:44px 44px; -webkit-mask-image:linear-gradient(90deg,transparent 20%,#000); mask-image:linear-gradient(90deg,transparent 20%,#000); }
.library-hero > .container { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:72px; align-items:center; padding-top:84px; padding-bottom:88px; }
.library-eyebrow { display:block; margin-bottom:16px; color:#93c5fd; font-size:11px; font-weight:800; letter-spacing:.18em; }
.library-hero h1 { margin:0; color:#fff; font-size:clamp(48px,6vw,76px); line-height:1.01; letter-spacing:-.045em; }
.library-hero-copy > p { max-width:650px; margin:24px 0 30px; color:#dbeafe; font-size:17px; line-height:1.72; }
.library-summary { display:flex; gap:36px; }
.library-summary div { display:flex; flex-direction:column; padding-left:15px; border-left:2px solid rgba(147,197,253,.45); }
.library-summary strong { color:#fff; font-size:22px; line-height:1.1; }
.library-summary span { margin-top:5px; color:#aebbd0; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.library-featured { padding:34px; border:1px solid rgba(255,255,255,.21); border-top:4px solid #60a5fa; background:rgba(7,18,45,.58); backdrop-filter:blur(12px); box-shadow:0 28px 60px rgba(0,0,0,.25); }
.featured-label { color:#93c5fd; font-size:10.5px; font-weight:800; letter-spacing:.16em; }
.featured-icon { display:grid; place-items:center; width:62px; height:62px; margin:23px 0 18px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#ef4444,#4f46e5); }
.featured-icon svg { width:27px; height:27px; fill:currentColor; }
.library-featured h2 { margin:0; color:#fff; font-size:28px; }
.library-featured p { margin:5px 0 24px; color:#c7d2fe; }
.library-featured a { display:flex; justify-content:space-between; align-items:center; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); color:#fff; text-decoration:none; font-weight:700; font-size:13px; }
.library-featured a span { color:#93c5fd; font-size:20px; transition:transform .18s; }
.library-featured a:hover span { transform:translateX(5px); }
.profile-intro-section { padding:82px 0; border-bottom:1px solid #e8eaee; background:#fff; }
.profile-intro-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:76px; align-items:start; }
.profile-intro-label { color:var(--red); font-size:11px; font-weight:800; letter-spacing:.16em; }
.profile-intro-copy h2 { max-width:760px; margin:9px 0 23px; color:#111827; font-size:clamp(30px,4vw,46px); line-height:1.12; letter-spacing:-.035em; }
.profile-intro-copy p { max-width:790px; margin:0 0 16px; color:#606a79; font-size:15px; line-height:1.8; }
.profile-intro-copy .profile-intro-lead { color:#303947; font-size:17px; line-height:1.75; }
.profile-related { padding:29px; border-top:4px solid var(--red); background:#f6f7f9; }
.profile-related > span { display:block; margin-bottom:16px; color:#7a8492; font-size:10px; font-weight:800; letter-spacing:.14em; }
.profile-related a { display:flex; justify-content:space-between; gap:18px; padding:15px 0; border-top:1px solid #dfe3e8; color:#182131; text-decoration:none; font-size:13px; font-weight:700; }
.profile-related a:hover { color:var(--red); }
.profile-related b { color:var(--red); font-size:17px; transition:transform .18s; }
.profile-related a:hover b { transform:translateX(4px); }
.library-section { padding:88px 0 98px; }
.library-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:42px; }
.library-heading span { color:var(--red); font-size:11px; font-weight:800; letter-spacing:.16em; }
.library-heading h2 { margin:7px 0 0; color:#111827; font-size:clamp(30px,4vw,46px); letter-spacing:-.035em; }
.library-heading > p { max-width:420px; margin:0; color:#6b7280; line-height:1.7; }
.pdf-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pdf-card { --card-accent:#e2231a; position:relative; display:flex; flex-direction:column; min-height:430px; padding:28px; overflow:hidden; border:1px solid #e3e5e9; border-top:4px solid var(--card-accent); background:#fff; transition:transform .2s,box-shadow .2s,border-color .2s; }
.pdf-card::after { content:""; position:absolute; right:-44px; top:-54px; width:140px; height:140px; border-radius:50%; background:color-mix(in srgb,var(--card-accent) 9%,transparent); }
.pdf-card:hover { transform:translateY(-7px); border-color:color-mix(in srgb,var(--card-accent) 35%,#e3e5e9); box-shadow:0 24px 48px -30px rgba(0,0,0,.38); }
.pdf-card-profile { --card-accent:#e2231a; }
.pdf-card-future { --card-accent:#c2410c; }
.pdf-card-malaysia { --card-accent:#0f766e; }
.pdf-card-ai { --card-accent:#4f46e5; }
.pdf-card-ransomware { --card-accent:#b91c1c; }
.pdf-card-zero { --card-accent:#047857; }
.pdf-card-top { position:relative; z-index:1; display:flex; justify-content:space-between; gap:15px; color:#8892a2; font-size:9.5px; font-weight:800; letter-spacing:.12em; }
.pdf-type { color:var(--card-accent); }
.pdf-card-icon { position:relative; z-index:1; display:grid; place-items:center; width:58px; height:58px; margin:28px 0 22px; border-radius:14px; color:var(--card-accent); background:color-mix(in srgb,var(--card-accent) 10%,white); }
.pdf-card-icon svg { width:27px; height:27px; fill:currentColor; }
.pdf-card h3 { margin:0 0 13px; color:#111827; font-size:22px; line-height:1.25; letter-spacing:-.02em; }
.pdf-card > p { margin:0; color:#667080; font-size:14px; line-height:1.68; }
.pdf-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:25px; }
.pdf-meta span { padding:5px 8px; color:#788291; background:#f4f5f7; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.pdf-actions { display:grid; grid-template-columns:1fr 46px; gap:8px; margin-top:17px; }
.pdf-open,.pdf-download { display:flex; align-items:center; justify-content:center; height:44px; text-decoration:none; font-size:13px; font-weight:800; transition:background .18s,color .18s,transform .18s; }
.pdf-open { color:#fff; background:var(--card-accent); }
.pdf-open:hover { color:#fff; filter:brightness(.92); }
.pdf-download { color:var(--card-accent); border:1px solid color-mix(in srgb,var(--card-accent) 35%,#d9dde3); background:#fff; }
.pdf-download:hover { color:#fff; background:var(--card-accent); transform:translateY(-1px); }
.pdf-download svg { width:19px; height:19px; fill:currentColor; }
.article-section { padding:82px 0 90px; background:#f6f7f9; }
.article-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:36px; }
.article-heading-profiles { margin-top:72px; }
.article-heading span { color:var(--red); font-size:11px; font-weight:800; letter-spacing:.16em; }
.article-heading h2 { margin:7px 0 0; color:#111827; font-size:clamp(30px,4vw,44px); letter-spacing:-.035em; }
.article-heading > p { max-width:460px; margin:0; color:#6b7280; line-height:1.7; }
.article-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.article-card { position:relative; display:flex; flex-direction:column; min-height:285px; padding:32px; overflow:hidden; border:1px solid #e0e3e8; border-top:4px solid var(--red); color:inherit; background:#fff; text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }
.article-card::after { content:attr(data-mark); position:absolute; right:18px; top:5px; color:#f1f2f4; font-size:100px; font-weight:900; line-height:1; }
.article-card:hover { color:inherit; transform:translateY(-6px); border-color:#f0aaa7; box-shadow:0 24px 48px -32px rgba(0,0,0,.42); }
.article-card-substack { border-top-color:#ff6719; }
.article-card-substack .article-source,.article-card-substack strong { color:#d94e00; }
.article-card-substack:hover { border-color:#f3b08e; }
.article-card-google { border-top-color:#4285f4; }
.article-card-google .article-source,.article-card-google strong { color:#1a73e8; }
.article-card-google:hover { border-color:#9bbcf4; }
.article-card-linktree { border-top-color:#43e660; }
.article-card-linktree .article-source,.article-card-linktree strong { color:#168b2b; }
.article-card-linktree:hover { border-color:#9be9aa; }
.article-card-youtube { border-top-color:#ff0000; }
.article-card-youtube .article-source,.article-card-youtube strong { color:#cc0000; }
.article-card-youtube:hover { border-color:#f5a3a3; }
.article-card-pinterest { border-top-color:#e60023; }
.article-card-pinterest .article-source,.article-card-pinterest strong { color:#bd081c; }
.article-card-pinterest:hover { border-color:#ed9ca8; }
.article-card-about { border-top-color:#00a98f; }
.article-card-about .article-source,.article-card-about strong { color:#087f6d; }
.article-card-about:hover { border-color:#8bd4c8; }
.article-card-github { border-top-color:#24292f; }
.article-card-github .article-source,.article-card-github strong { color:#24292f; }
.article-card-github:hover { border-color:#9ca3af; }
.article-card-issuu { border-top-color:#f36d5d; }
.article-card-issuu .article-source,.article-card-issuu strong { color:#d94f3f; }
.article-card-issuu:hover { border-color:#f2afa7; }
.article-source { position:relative; z-index:1; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.14em; }
.article-card h3 { position:relative; z-index:1; max-width:530px; margin:22px 0 13px; color:#111827; font-size:24px; line-height:1.3; letter-spacing:-.02em; }
.article-card p { position:relative; z-index:1; margin:0 0 25px; color:#667080; font-size:14px; line-height:1.7; }
.article-card strong { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:17px; border-top:1px solid #eceef1; color:var(--red); font-size:13px; }
.article-card strong span { font-size:20px; transition:transform .18s; }
.article-card:hover strong span { transform:translateX(5px); }
.library-cta { color:#fff; background:linear-gradient(120deg,#15171c,#281214 60%,#102c3b); }
.library-cta .container { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-top:54px; padding-bottom:54px; }
.library-cta span { color:#fca5a5; font-size:10.5px; font-weight:800; letter-spacing:.16em; }
.library-cta h2 { margin:5px 0 4px; color:#fff; font-size:32px; }
.library-cta p { margin:0; color:#b8c0cc; }

@media (max-width: 980px) {
  .library-hero > .container { grid-template-columns:1fr; gap:42px; }
  .library-featured { max-width:570px; }
  .profile-intro-grid { grid-template-columns:1fr; gap:40px; }
  .profile-related { max-width:620px; }
  .pdf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-heading { display:block; }
  .article-heading > p { margin-top:18px; }
}
@media (max-width: 680px) {
  .library-brandbar .container { min-height:74px; }
  .library-brandbar img { height:38px; max-width:180px; }
  .library-hero > .container { padding-top:62px; padding-bottom:66px; }
  .library-summary { gap:18px; flex-wrap:wrap; }
  .library-heading { display:block; }
  .library-heading > p { margin-top:18px; }
  .pdf-grid { grid-template-columns:1fr; }
  .pdf-card { min-height:0; }
  .article-grid { grid-template-columns:1fr; }
  .article-heading-profiles { margin-top:56px; }
  .article-card { min-height:0; }
  .library-cta .container { align-items:flex-start; flex-direction:column; }
}
