/* Partner section refinement: remove the scrolling slider while keeping the static partner grid visible. */
.partners-marquee {
  display: none !important;
}

.partners-grid {
  margin-top: 0;
}

.partner-pill {
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: inherit;
  transition: transform var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth), background var(--transition-smooth);
}

.partner-pill::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  box-shadow: 0 0 0 1px hsl(var(--secondary) / .55), 0 0 28px hsl(var(--secondary) / .20);
  transition: opacity var(--transition-fast);
}

.partner-pill:hover,
.partner-pill:focus,
.partner-pill:focus-visible {
  transform: translateY(-3px);
  border-color: hsl(var(--secondary) / .7);
  background: hsl(var(--secondary) / .10);
  box-shadow: 0 12px 34px hsl(var(--secondary) / .18);
  outline: none;
}

.partner-pill:hover::after,
.partner-pill:focus::after,
.partner-pill:focus-visible::after {
  opacity: 1;
}

.partner-modal .detail-grid section {
  min-width: 0;
}

.partner-focus {
  display: inline-block;
  margin-top: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  color: hsl(var(--primary));
  background: hsl(var(--primary) / .10);
  font-weight: 900;
}

.partner-modal h4 {
  margin: 0 0 10px;
  color: hsl(var(--secondary));
  font-family: Orbitron, sans-serif;
}

.partner-modal .close {
  display: grid;
  place-items: center;
  line-height: 1;
}

/* Ensure mapping legend/domain colors are visually distinct: Core = cyan, Enabling = blue. */
:root,
.dark {
  --primary: 191 100% 50%;
  --secondary: 210 100% 40%;
  --border: 191 100% 50%;
}

body.light-theme {
  --primary: 191 100% 42%;
  --secondary: 210 100% 36%;
  --border: 191 100% 42%;
}

/* Keep in-page nav jumps clear of the fixed navbar so target content remains hoverable. */
.section {
  scroll-margin-top: 92px;
}

/* Rebuilt navbar: stable desktop layout, compact mobile drawer, and clean presentation controls. */
.nav-shell {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  overflow: visible;
}

.brand {
  order: 1;
  white-space: nowrap;
  min-width: max-content;
  padding: 8px 10px;
  border-radius: 999px;
}

.brand:focus-visible,
.brand:hover {
  outline: none;
  background: hsl(var(--primary) / .08);
}

.nav-links {
  order: 2;
  min-width: 0;
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px;
  border: 1px solid hsl(var(--border) / .16);
  border-radius: 999px;
  background: hsl(var(--background) / .22);
}

.nav-links button {
  position: relative;
  isolation: isolate;
  white-space: nowrap;
  padding: 9px 10px;
  line-height: 1;
  min-height: 34px;
  overflow: hidden;
  color: hsl(var(--foreground) / .76);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  box-shadow: none;
  transform: translateZ(0);
  transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.nav-links button::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(135deg, hsl(var(--primary) / .18), hsl(var(--secondary) / .14));
  opacity: 0;
  transform: scale(.88);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.nav-links button:hover,
.nav-links button:focus-visible,
.nav-links button.active {
  color: hsl(var(--primary));
  border-color: hsl(var(--primary) / .38);
  background: hsl(var(--primary) / .08);
  box-shadow: 0 0 0 1px hsl(var(--primary) / .10), 0 0 18px hsl(var(--primary) / .22);
  transform: translateY(-1px);
}

.nav-links button:hover::before,
.nav-links button:focus-visible::before,
.nav-links button.active::before {
  opacity: 1;
  transform: scale(1);
}

.nav-links button.active {
  color: #fff;
  background: linear-gradient(135deg, hsl(var(--primary) / .34), hsl(var(--secondary) / .24));
  border-color: hsl(var(--primary) / .58);
}

.nav-links button:active {
  transform: translateY(0) scale(.98);
}

.nav-links button:focus-visible,
.menu-btn:focus-visible,
.present-toggle:focus-visible,
.theme-toggle:focus-visible,
.ppt-download-btn:focus-visible {
  outline: 2px solid hsl(var(--primary) / .75);
  outline-offset: 2px;
}

.theme-toggle {
  order: 3;
  justify-self: end;
  white-space: nowrap;
}

.present-toggle {
  order: 4;
  white-space: nowrap;
  border: 1px solid hsl(var(--secondary) / .25);
}

.menu-btn {
  order: 5;
  display: none;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
}

.ppt-download-btn {
  margin-left: 10px;
  border-color: hsl(var(--primary) / .45) !important;
  color: hsl(var(--primary)) !important;
  background: hsl(var(--card) / .55) !important;
}

.ppt-download-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 22px hsl(var(--primary) / .28);
}

@media (max-width: 1180px) {
  .nav-shell { grid-template-columns: auto auto auto auto; width: min(760px, calc(100% - 22px)); }
  .nav-links { display: none; position: absolute; top: calc(100% + 10px); left: 0; right: 0; z-index: 70; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-self: stretch; gap: 8px; padding: 12px; border-radius: 20px; background: hsl(var(--card) / .96); border: 1px solid hsl(var(--border) / .28); box-shadow: var(--shadow-md); backdrop-filter: blur(18px); }
  .nav-links.show { display: grid !important; }
  .nav-links button { width: 100%; justify-content: flex-start; text-align: left; padding: 12px 13px; font-size: 12px; border-radius: 14px; }
  .menu-btn { display: inline-flex !important; }
}

@media (max-width: 820px) { .nav-shell { grid-template-columns: 1fr auto auto auto; border-radius: 22px; } .brand span { display: none; } }
@media (max-width: 520px) { .nav-shell { top: 10px; width: calc(100% - 18px); grid-template-columns: 1fr auto auto; gap: 5px; padding: 8px; } .theme-toggle { display: none; } .present-toggle { font-size: 11px; padding: 8px 9px; } .nav-links { grid-template-columns: 1fr; max-height: min(70vh, 520px); overflow: auto; } .hero-content .ppt-download-btn { display: block; width: max-content; max-width: 100%; margin: 10px auto 0; } }

.quick-jump { position: fixed; right: 18px; top: 50%; transform: translateY(-50%); z-index: 95; display: flex; flex-direction: column; gap: 4px; padding: 9px 5px; border: 1px solid hsl(var(--border) / .22); border-radius: 999px; background: hsl(var(--card) / .62); backdrop-filter: blur(14px); box-shadow: var(--shadow-sm); pointer-events: auto; isolation: isolate; }
.quick-jump button { position: relative; display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; touch-action: manipulation; appearance: none; -webkit-appearance: none; }
.quick-jump button::before { content: ''; width: 10px; height: 10px; border: 1px solid hsl(var(--primary) / .68); border-radius: 50%; background: hsl(var(--background) / .86); box-shadow: 0 0 0 0 hsl(var(--primary) / 0); transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); }
.quick-jump button.active::before, .quick-jump button:hover::before, .quick-jump button:focus-visible::before, .quick-jump button.is-hovered::before { transform: scale(1.38); border-color: hsl(var(--primary)); background: hsl(var(--primary)); box-shadow: 0 0 18px hsl(var(--primary) / .8); }
.quick-jump button:focus-visible { outline: 2px solid hsl(var(--primary) / .75); outline-offset: 2px; }
.quick-jump button span { position: absolute; right: 36px; top: 50%; z-index: 2; transform: translate(6px, -50%); opacity: 0; visibility: hidden; pointer-events: none; white-space: nowrap; padding: 7px 10px; border: 1px solid hsl(var(--border) / .28); border-radius: 999px; color: hsl(var(--foreground)); background: hsl(var(--card) / .96); box-shadow: var(--shadow-sm); font-size: 12px; font-weight: 800; transition: opacity var(--transition-fast), visibility var(--transition-fast), transform var(--transition-fast); }
.quick-jump button:hover span, .quick-jump button:focus-visible span, .quick-jump button:active span, .quick-jump button.is-hovered span { transform: translate(0, -50%); opacity: 1; visibility: visible; }
body.presentation-mode .quick-jump { opacity: .45; transform: translateY(-50%) scale(.86); }
body.presentation-mode .quick-jump:hover, body.presentation-mode .quick-jump:focus-within { opacity: 1; }

.roadmap-section { width: min(1180px, 100%); margin: 0 auto; }
.roadmap-builder { display: grid; gap: 20px; align-items: start; }
.roadmap-priorities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.roadmap-priority { position: relative; min-height: 78px; padding: 14px; border: 1px solid hsl(var(--border) / .22); border-radius: 16px; color: hsl(var(--foreground)); background: hsl(var(--card) / .55); text-align: left; cursor: pointer; transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast); }
.roadmap-priority b { display: block; color: hsl(var(--primary)); font-family: Orbitron, sans-serif; font-size: 13px; margin-bottom: 6px; }
.roadmap-priority span { color: hsl(var(--foreground) / .68); font-size: 12px; line-height: 1.35; }
.roadmap-priority:hover, .roadmap-priority:focus-visible, .roadmap-priority.active { transform: translateY(-3px); border-color: hsl(var(--primary) / .68); background: linear-gradient(135deg, hsl(var(--primary) / .16), hsl(var(--secondary) / .09)); box-shadow: 0 16px 44px hsl(var(--primary) / .18); outline: none; }
.roadmap-output { position: sticky; top: 110px; }
.roadmap-output h3 { color: hsl(var(--secondary)); margin-bottom: 10px; }
.roadmap-empty { color: hsl(var(--foreground) / .72); line-height: 1.6; }
.roadmap-bundle { display: grid; gap: 12px; margin-top: 16px; }
.roadmap-bundle article { padding: 14px; border: 1px solid hsl(var(--border) / .18); border-radius: 14px; background: hsl(var(--muted) / .20); }
.roadmap-bundle b { display: block; color: hsl(var(--primary)); margin-bottom: 5px; font-family: Orbitron, sans-serif; font-size: 13px; }
.roadmap-bundle p { margin: 0; color: hsl(var(--foreground) / .72); line-height: 1.45; font-size: 14px; }
.roadmap-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.roadmap-actions button { cursor: pointer; border: 1px solid hsl(var(--primary) / .34); border-radius: 999px; padding: 9px 12px; color: hsl(var(--primary)); background: hsl(var(--primary) / .08); font-weight: 900; }
.roadmap-phases { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
.roadmap-phases div { padding: 12px; border-left: 3px solid hsl(var(--primary)); background: hsl(var(--card) / .36); border-radius: 12px; }
.roadmap-phases b { color: hsl(var(--secondary)); }
.roadmap-phases span { display: block; margin-top: 4px; color: hsl(var(--foreground) / .7); font-size: 13px; }
@media (min-width: 860px) { .roadmap-builder { grid-template-columns: 1.05fr .95fr; } .roadmap-priorities { grid-template-columns: repeat(2, minmax(0, 1fr)); } .roadmap-phases { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) { .roadmap-priorities { grid-template-columns: 1fr; } .roadmap-output { position: static; } }

.print-profile-shell { display: none; }
.pdf-document { display: grid; gap: 18px; }
.pdf-section { margin: 0 0 24px; padding: 24px; border: 1px solid hsl(var(--border) / .20); border-radius: 18px; background: linear-gradient(145deg, hsl(var(--card) / .58), hsl(var(--muted) / .20)); }
.pdf-cover { min-height: 420px; display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 20% 10%, hsl(var(--primary) / .20), transparent 35%), hsl(var(--muted) / .22); }
.pdf-brand-row { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.pdf-brand-row > span { padding: 8px 11px; border-radius: 999px; color: hsl(var(--primary)); background: hsl(var(--primary) / .10); font-weight: 900; white-space: nowrap; }
.pdf-brand, .pdf-cover h1, .pdf-section h2, .pdf-section h3 { font-family: Orbitron, sans-serif; }
.pdf-brand { color: hsl(var(--primary)); font-weight: 900; letter-spacing: .14em; }
.pdf-arabic { margin: 10px 0; color: hsl(var(--foreground) / .68); }
.pdf-cover h1 { margin: 18px 0 12px; font-size: clamp(34px, 7vw, 70px); color: hsl(var(--foreground)); }
.pdf-cover p { max-width: 660px; color: hsl(var(--foreground) / .75); font-size: 20px; }
.pdf-cover-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.pdf-cover-meta span, .pdf-tags span { padding: 8px 11px; border: 1px solid hsl(var(--primary) / .28); border-radius: 999px; color: hsl(var(--primary)); background: hsl(var(--primary) / .08); font-weight: 800; }
.pdf-section h2 { margin: 0 0 14px; color: hsl(var(--secondary)); }
.pdf-section h3 { margin: 14px 0 8px; color: hsl(var(--primary)); font-size: 16px; }
.pdf-fact-grid, .pdf-four { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 18px 0; }
.pdf-fact-grid div, .pdf-four div { padding: 14px; border: 1px solid hsl(var(--border) / .22); border-radius: 14px; }
.pdf-fact-grid strong, .pdf-four b { display: block; color: hsl(var(--primary)); font-family: Orbitron, sans-serif; font-size: 20px; }
.pdf-four span { display: block; margin-top: 6px; color: hsl(var(--foreground) / .72); }
.pdf-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pdf-columns { columns: 2; line-height: 1.8; }
.pdf-tags { display: flex; flex-wrap: wrap; gap: 9px; }

/* Expanded portfolio details injected into View Details modals. */
.portfolio-extra { margin-top: 22px; display: grid; gap: 18px; }
.portfolio-extra .portfolio-value { position: relative; overflow: hidden; padding: 18px; border: 1px solid hsl(var(--primary) / .28); border-radius: var(--radius-md); background: linear-gradient(135deg, hsl(var(--primary) / .13), hsl(var(--secondary) / .08)); }
.portfolio-extra .portfolio-value::before { content: ''; position: absolute; inset: -40% auto auto -10%; width: 220px; height: 220px; border-radius: 50%; background: hsl(var(--primary) / .12); filter: blur(8px); }
.portfolio-extra h3, .portfolio-extra h4 { position: relative; color: hsl(var(--secondary)); margin: 0 0 10px; }
.portfolio-extra p, .portfolio-extra li { position: relative; color: hsl(var(--foreground) / .78); line-height: 1.65; }
.portfolio-extra .portfolio-detail-grid { display: grid; gap: 14px; }
.portfolio-extra .portfolio-detail-card { padding: 16px; border: 1px solid hsl(var(--border) / .22); border-radius: var(--radius-md); background: hsl(var(--muted) / .18); }
.portfolio-extra ul, .portfolio-extra ol { margin: 0; padding-left: 20px; }
.portfolio-extra .maturity-path { display: grid; gap: 10px; counter-reset: maturity; }
.portfolio-extra .maturity-path li { list-style: none; padding: 11px 12px 11px 46px; border: 1px solid hsl(var(--border) / .18); border-radius: 14px; background: hsl(var(--card) / .42); }
.portfolio-extra .maturity-path li::before { counter-increment: maturity; content: counter(maturity); position: absolute; margin-left: -34px; width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--secondary))); font: 800 12px Orbitron, sans-serif; }
.portfolio-extra .portfolio-questions li { margin-bottom: 8px; }
@media (min-width: 720px) { .portfolio-extra .portfolio-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@keyframes pulse { 0%, 100% { box-shadow: 0 0 28px hsl(var(--primary)); transform: translate(-50%, -50%) scale(1); } 50% { box-shadow: 0 0 70px hsl(var(--secondary)); transform: translate(-50%, -50%) scale(1.04); } }
.orbit-map .node-info { opacity: 0; pointer-events: none; transition: opacity var(--transition-fast), top var(--transition-smooth), left var(--transition-smooth), right var(--transition-smooth), bottom var(--transition-smooth), transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth), background var(--transition-smooth); }
.orbit-map .node.selected span { transform: none; color: hsl(var(--foreground)); box-shadow: 0 0 20px hsl(var(--primary) / .18); }
.orbit-map .node.outer.selected span { box-shadow: 0 0 20px hsl(var(--secondary) / .18); }
.orbit-map .node:hover ~ .node-info, .orbit-map .node:focus-visible ~ .node-info, .orbit-map .node:focus ~ .node-info, .orbit-map:has(.node:hover) .node-info, .orbit-map:has(.node:focus) .node-info { opacity: 1; pointer-events: auto; background: hsl(var(--card) / .9); }
.orbit-map:hover .node.selected span, .orbit-map:focus-within .node.selected span { transform: scale(1.12); color: hsl(var(--secondary)); box-shadow: 0 0 35px hsl(var(--secondary) / .58); }
.orbit-map .node:hover span, .orbit-map .node:focus span, .orbit-map .node:focus-visible span { transform: scale(1.12) !important; color: hsl(var(--secondary)) !important; box-shadow: 0 0 35px hsl(var(--secondary) / .58) !important; }
.node.inner span, .node.inner:hover span, .node.inner:focus-visible span, .orbit-map:hover .node.inner.selected span, .orbit-map:focus-within .node.inner.selected span { border-color: hsl(var(--primary) / .72); }
.node.outer span, .node.outer:hover span, .node.outer:focus-visible span, .orbit-map:hover .node.outer.selected span, .orbit-map:focus-within .node.outer.selected span { border-color: hsl(var(--secondary) / .78); }
@media (min-width: 621px) { .orbit-map .node-info { right: auto; bottom: auto; width: min(340px, 38vw); border-color: hsl(var(--secondary) / .62); box-shadow: 0 18px 70px hsl(var(--secondary) / .30); } .orbit-map .node:nth-of-type(1):hover ~ .node-info, .orbit-map .node:nth-of-type(1):focus ~ .node-info { left: 80%; top: 50%; transform: translate(-8%, -50%); } .orbit-map .node:nth-of-type(2):hover ~ .node-info, .orbit-map .node:nth-of-type(2):focus ~ .node-info { left: 71%; top: 71%; transform: translate(-50%, -112%); } .orbit-map .node:nth-of-type(3):hover ~ .node-info, .orbit-map .node:nth-of-type(3):focus ~ .node-info { left: 50%; top: 80%; transform: translate(-50%, -112%); } .orbit-map .node:nth-of-type(4):hover ~ .node-info, .orbit-map .node:nth-of-type(4):focus ~ .node-info { left: 29%; top: 71%; transform: translate(-12%, -112%); } .orbit-map .node:nth-of-type(5):hover ~ .node-info, .orbit-map .node:nth-of-type(5):focus ~ .node-info { left: 20%; top: 50%; transform: translate(10%, -50%); } .orbit-map .node:nth-of-type(6):hover ~ .node-info, .orbit-map .node:nth-of-type(6):focus ~ .node-info { left: 29%; top: 29%; transform: translate(8%, -50%); } .orbit-map .node:nth-of-type(7):hover ~ .node-info, .orbit-map .node:nth-of-type(7):focus ~ .node-info { left: 50%; top: 20%; transform: translate(-50%, 12%); } .orbit-map .node:nth-of-type(8):hover ~ .node-info, .orbit-map .node:nth-of-type(8):focus ~ .node-info { left: 71%; top: 29%; transform: translate(-108%, -50%); } .orbit-map .node:nth-of-type(9):hover ~ .node-info, .orbit-map .node:nth-of-type(9):focus ~ .node-info { left: 88%; top: 72%; transform: translate(-100%, -106%); } .orbit-map .node:nth-of-type(10):hover ~ .node-info, .orbit-map .node:nth-of-type(10):focus ~ .node-info { left: 35%; top: 91%; transform: translate(-10%, -112%); } .orbit-map .node:nth-of-type(11):hover ~ .node-info, .orbit-map .node:nth-of-type(11):focus ~ .node-info { left: 7%; top: 42%; transform: translate(5%, -50%); } .orbit-map .node:nth-of-type(12):hover ~ .node-info, .orbit-map .node:nth-of-type(12):focus ~ .node-info { left: 50%; top: 6%; transform: translate(-50%, 14%); } .orbit-map .node:nth-of-type(13):hover ~ .node-info, .orbit-map .node:nth-of-type(13):focus ~ .node-info { left: 90%; top: 31%; transform: translate(-106%, -50%); } }

body.presentation-mode .nav-shell { top: 10px; width: min(720px, calc(100% - 28px)); grid-template-columns: 1fr auto auto auto; padding: 8px 10px; gap: 7px; }
body.presentation-mode .brand { font-size: 13px; }
body.presentation-mode .nav-links { display: none !important; }
body.presentation-mode .nav-links.show { display: grid !important; position: absolute; top: calc(100% + 10px); left: 0; right: 0; width: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: min(62vh, 460px); overflow: auto; padding: 12px; border-radius: 20px; background: hsl(var(--card) / .97); border: 1px solid hsl(var(--border) / .28); box-shadow: var(--shadow-md); }
body.presentation-mode .nav-links.show button { justify-content: flex-start; text-align: left; padding: 10px 12px; }
body.presentation-mode .menu-btn { display: inline-flex !important; align-items: center; justify-content: center; }
body.presentation-mode .section { height: 100svh; min-height: 100svh; max-height: 100svh; overflow: hidden; scroll-margin-top: 0; padding-top: clamp(66px, 8.5vh, 86px); padding-bottom: clamp(64px, 9vh, 82px); display: grid; align-items: center; }
body.presentation-mode .section > .reveal { width: min(1180px, 100%); max-height: calc(100svh - clamp(130px, 17vh, 168px)); overflow: clip; margin: 0 auto; }
body.presentation-mode .section-title { margin-bottom: clamp(10px, 2vh, 18px); }
body.presentation-mode .section-title p { margin: 0 0 6px; font-size: 11px; letter-spacing: .22em; }
body.presentation-mode .section-title h2 { font-size: clamp(23px, 3.6vw, 40px); line-height: 1.08; }
body.presentation-mode .section-title span { margin-top: 6px; font-size: clamp(12px, 1.45vw, 14px); line-height: 1.35; }
body.presentation-mode .slide-no { font-size: clamp(18px, 3vh, 26px); margin-bottom: 4px; }
body.presentation-mode h1 { font-size: clamp(42px, 8.8vw, 98px); }
body.presentation-mode .hero-sub { margin: clamp(12px, 2vh, 22px) auto; font-size: clamp(16px, 2.4vw, 25px); }
body.presentation-mode .arabic { margin-bottom: 10px; font-size: clamp(15px, 2vw, 19px); }
body.presentation-mode .glass-card { padding: clamp(10px, 1.55vw, 15px); }
body.presentation-mode .card-grid, body.presentation-mode .stats-grid, body.presentation-mode .two-grid, body.presentation-mode .hero-cards, body.presentation-mode .partner-categories, body.presentation-mode .operating-model-grid, body.presentation-mode .roadmap-builder { gap: clamp(8px, 1.4vw, 12px); }
body.presentation-mode .hero-cards { margin-top: clamp(14px, 2.5vh, 22px); }
body.presentation-mode .mini strong, body.presentation-mode .stat strong { font-size: clamp(23px, 3.2vw, 28px); }
body.presentation-mode .feature p, body.presentation-mode .service p, body.presentation-mode .why p { font-size: clamp(12px, 1.3vw, 14px); line-height: 1.38; }
body.presentation-mode .service h3, body.presentation-mode .why h3, body.presentation-mode .value h3, body.presentation-mode .partner-category h3, body.presentation-mode .operating-card h3 { font-size: clamp(13px, 1.45vw, 16px); margin-bottom: 6px; }
body.presentation-mode .service p, body.presentation-mode .why p, body.presentation-mode .partner-pill span, body.presentation-mode .operating-card span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.presentation-mode .orbit-map { width: min(70vh, 720px); height: min(70vh, 720px); max-height: calc(100svh - 220px); }
body.presentation-mode .node span { width: clamp(82px, 10vw, 102px); min-height: 42px; font-size: clamp(9px, 1vw, 11px); padding: 6px; }
body.presentation-mode .node.inner { --radius: min(23vh, 220px); }
body.presentation-mode .node.outer { --radius: min(34vh, 330px); }
body.presentation-mode .radial { --len: min(23vh, 220px); }
body.presentation-mode .radial.outer { --len: min(34vh, 330px); }
body.presentation-mode .hub { width: clamp(98px, 14vh, 124px); height: clamp(98px, 14vh, 124px); font-size: clamp(10px, 1.35vh, 12px); }
body.presentation-mode .legend { margin-top: -4px; font-size: 12px; }
body.presentation-mode .partner-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.presentation-mode .partner-category { padding: 12px; }
body.presentation-mode .partner-list { grid-template-columns: 1fr; gap: 6px; }
body.presentation-mode .partner-pill { padding: 7px 9px; }
body.presentation-mode .partner-pill b { font-size: 11px; margin-bottom: 2px; }
body.presentation-mode .roadmap-priority { min-height: 54px; padding: 9px; }
body.presentation-mode .roadmap-priority b, body.presentation-mode .roadmap-bundle b { font-size: 11px; }
body.presentation-mode .roadmap-priority span, body.presentation-mode .roadmap-bundle p, body.presentation-mode .roadmap-phases span { display: none; }
body.presentation-mode .roadmap-bundle { grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 8px; }
body.presentation-mode .roadmap-bundle article, body.presentation-mode .roadmap-phases div { padding: 9px; }
body.presentation-mode .roadmap-phases { grid-template-columns: repeat(3, 1fr); margin-top: 10px; gap: 8px; }
body.presentation-mode .roadmap-actions { margin-top: 10px; }
body.presentation-mode .roadmap-output { position: static; }
body.presentation-mode .closing-panel { padding: clamp(20px, 3.2vw, 38px); }
body.presentation-mode .closing-lead, body.presentation-mode .footer p { font-size: clamp(14px, 1.8vw, 18px); line-height: 1.45; }
body.presentation-mode .contact-card { min-height: 72px; padding: 12px; }
body.presentation-mode .contact-card span { margin-bottom: 5px; }
body.presentation-mode .contact-card b { font-size: clamp(13px, 1.7vw, 18px); }
body.presentation-mode .closing-bottom { margin-top: 14px; padding-top: 14px; }
body.presentation-mode .slide-controls { bottom: 10px; padding: 7px; }
body.presentation-mode .keyboard-hint { bottom: 18px; }
body.presentation-mode .presentation-status { top: 62px; }

.executive-story-panel { position: fixed; left: 50%; bottom: 76px; z-index: 62; width: min(780px, calc(100% - 36px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid hsl(var(--border) / .30); border-radius: 18px; background: hsl(var(--card) / .80); backdrop-filter: blur(18px); box-shadow: var(--shadow-md); transform: translateX(-50%); }
.executive-story-panel .story-copy { min-width: 0; }
.executive-story-panel strong { display: block; margin-bottom: 3px; color: hsl(var(--primary)); font-family: Orbitron, sans-serif; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.executive-story-panel p { margin: 0; color: hsl(var(--foreground) / .80); font-size: 13px; line-height: 1.45; }
.story-toggle { cursor: pointer; white-space: nowrap; padding: 8px 11px; border: 1px solid hsl(var(--primary) / .34); border-radius: 999px; color: hsl(var(--primary)); background: hsl(var(--primary) / .08); font-weight: 900; font-size: 12px; }
.story-toggle:hover, .story-toggle:focus-visible { outline: none; color: #fff; background: hsl(var(--primary) / .24); box-shadow: 0 0 18px hsl(var(--primary) / .22); }
body.story-notes-hidden .executive-story-panel { width: auto; padding: 8px; border-radius: 999px; }
body.story-notes-hidden .executive-story-panel .story-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (min-width: 720px) { body.presentation-mode .card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-height: 760px) and (min-width: 721px) { body.presentation-mode .executive-story-panel { bottom: 58px; padding: 8px 11px; } body.presentation-mode .executive-story-panel p { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } body.presentation-mode .slide-controls { transform: translateX(-50%) scale(.92); transform-origin: bottom center; } }
@media (max-height: 680px) and (min-width: 721px) { body.presentation-mode .executive-story-panel { display: none; } body.presentation-mode .section { padding-top: 62px; padding-bottom: 58px; } body.presentation-mode .section > .reveal { max-height: calc(100svh - 120px); } body.presentation-mode .section-title span { display: none; } body.presentation-mode .slide-no { display: none; } body.presentation-mode .orbit-map { width: min(64vh, 660px); height: min(64vh, 660px); } }
@media (max-width: 620px) { body.presentation-mode .section { height: auto; min-height: 100svh; max-height: none; overflow: visible; padding-top: 100px; padding-bottom: 76px; } body.presentation-mode .section > .reveal { max-height: none; overflow: visible; } body.presentation-mode .nav-links.show { grid-template-columns: 1fr; } body.presentation-mode .orbit-map { width: min(96vw, 720px); height: min(132vw, 640px); max-height: none; } body.presentation-mode .node.inner { --radius: 148px; } body.presentation-mode .node.outer { --radius: 238px; } body.presentation-mode .radial { --len: 148px; } body.presentation-mode .radial.outer { --len: 238px; } body.presentation-mode .partner-categories { grid-template-columns: 1fr; } body.presentation-mode .roadmap-phases, body.presentation-mode .roadmap-bundle { grid-template-columns: 1fr; } .executive-story-panel { display: none; } }
@media (max-width: 720px) { .quick-jump { left: 50%; right: auto; top: auto; bottom: 12px; transform: translateX(-50%); flex-direction: row; max-width: calc(100% - 24px); padding: 7px 10px; gap: 3px; } .quick-jump button { width: 28px; height: 28px; } .quick-jump button span { right: auto; left: 50%; top: auto; bottom: 34px; transform: translate(-50%, 6px); } .quick-jump button:hover span, .quick-jump button:focus-visible span, .quick-jump button:active span, .quick-jump button.is-hovered span, .quick-jump button.active:focus-visible span { transform: translate(-50%, 0); opacity: 1; visibility: visible; } body.presentation-mode .quick-jump { display: none; } }

/* Final navbar hover fix: avoid the hidden negative-z glow layer intercepting/vanishing in some browsers. */
.nav-links button::before {
  display: none;
}

.nav-links button:hover,
.nav-links button:focus-visible {
  color: #fff;
  border-color: hsl(var(--primary) / .7);
  background: linear-gradient(135deg, hsl(var(--primary) / .28), hsl(var(--secondary) / .22));
  box-shadow: 0 0 0 1px hsl(var(--primary) / .18), 0 0 24px hsl(var(--primary) / .32), inset 0 0 18px hsl(var(--primary) / .10);
  transform: translateY(-2px);
}

.nav-links button.active:hover,
.nav-links button.active:focus-visible {
  border-color: hsl(var(--primary) / .85);
  background: linear-gradient(135deg, hsl(var(--primary) / .42), hsl(var(--secondary) / .30));
  box-shadow: 0 0 0 1px hsl(var(--primary) / .24), 0 0 28px hsl(var(--primary) / .38), inset 0 0 18px hsl(var(--primary) / .12);
}

@media print {
  @page { size: A4; margin: 12mm; }
  body { background: #fff !important; }
  body.printing-company-profile > :not(.print-profile-shell) { display: none !important; }
  body.printing-company-profile #root, body.printing-company-profile .nav-shell, body.printing-company-profile header.nav-shell, body.printing-company-profile nav, body.printing-company-profile .quick-jump, body.printing-company-profile .scroll-progress, body.printing-company-profile .slide-controls, body.printing-company-profile .presentation-status, body.printing-company-profile .keyboard-hint, body.printing-company-profile .executive-story-panel, body.printing-company-profile .partner-modal-backdrop { display: none !important; }
  body.printing-company-profile .print-profile-shell { display: block !important; position: static !important; inset: auto !important; width: auto !important; height: auto !important; overflow: visible !important; }
  .print-profile-shell { display: block !important; }
  .print-profile { color: #172033 !important; font-family: Inter, Arial, sans-serif; }
  .pdf-document { display: block; }
  .pdf-section { break-inside: avoid; page-break-inside: avoid; margin: 0 0 6mm; padding: 0; border: 0; border-radius: 0; background: white !important; box-shadow: none !important; }
  .pdf-cover { min-height: auto; padding: 0 0 8mm; margin-bottom: 7mm; border-bottom: 2px solid #0f6cb6; }
  .pdf-brand-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12mm; }
  .pdf-brand-row > span { color: #0f6cb6 !important; background: #eef7ff !important; border: 1px solid #cfe7f7; font-size: 9pt; }
  .pdf-brand { color: #0f6cb6 !important; font-size: 15pt; letter-spacing: .12em; }
  .pdf-arabic { color: #64748b !important; font-size: 10pt; }
  .pdf-cover h1 { color: #0b3b66 !important; font-size: 28pt; line-height: 1.08; margin: 9mm 0 3mm; }
  .pdf-cover p, .pdf-section p, .pdf-section li, .pdf-four span { color: #334155 !important; font-size: 9.5pt; line-height: 1.42; }
  .pdf-cover-meta { gap: 5px; margin-top: 5mm; }
  .pdf-cover-meta span, .pdf-tags span { display: inline-block; color: #172033 !important; background: #f8fafc !important; border: 1px solid #d6dee8 !important; padding: 4px 7px; font-size: 8.5pt; }
  .pdf-section h2 { color: #0f6cb6 !important; font-size: 14pt; margin: 0 0 3mm; border-bottom: 1px solid #e2e8f0; padding-bottom: 1.5mm; }
  .pdf-fact-grid, .pdf-four { grid-template-columns: repeat(4, 1fr); gap: 3mm; margin: 3mm 0; }
  .pdf-fact-grid div, .pdf-four div { padding: 3mm; border: 1px solid #d6dee8 !important; border-radius: 4px; background: #f8fafc !important; }
  .pdf-fact-grid strong, .pdf-four b { color: #0891b2 !important; font-size: 12pt; }
  .pdf-two { grid-template-columns: repeat(2, 1fr); gap: 7mm; }
  .pdf-columns { columns: 2; margin: 0; padding-left: 5mm; }
  .pdf-tags { gap: 4px; }
}
