:root {
  --navy-950: #05101f;
  --navy-900: #071426;
  --navy-850: #0a1b30;
  --navy-800: #0d233d;
  --blue-500: #3a73a8;
  --blue-100: #dfeaf4;
  --gold-500: #c9a66b;
  --gold-400: #d9ba82;
  --gold-100: #f5ecdc;
  --ink: #152233;
  --muted: #607083;
  --line: #dce3e9;
  --surface: #f4f6f8;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(7, 20, 38, 0.12);
  --radius: 2px;
  --container: 1180px;
  --header-height: 82px;
  --font-sans: Inter, "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-arabic: "IBM Plex Sans Arabic", "Noto Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --text-micro: 11px;
  --text-label: 12px;
  --text-small: 13px;
  --text-card: 14px;
  --text-body: 16px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

html.programmatic-scroll {
  scroll-behavior: auto;
}

main section[id] {
  scroll-margin-top: calc(var(--header-height) + 24px);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.nav-open {
  overflow: hidden;
}

img,
svg {
  display: block;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid rgba(201, 166, 107, 0.62);
  outline-offset: 4px;
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--navy-950);
  background: var(--gold-400);
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: var(--header-height);
  color: var(--white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(5, 16, 31, 0.76);
  backdrop-filter: blur(18px);
  transition: background 200ms ease, box-shadow 200ms ease;
}

.site-header.scrolled {
  background: rgba(5, 16, 31, 0.96);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.16);
}

.scroll-progress {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-500), var(--gold-400), #f1ddb5);
  box-shadow: 0 0 15px rgba(217, 186, 130, 0.35);
  transform: scaleX(var(--scroll-progress, 0));
  transform-origin: left center;
  will-change: transform;
}

.header-inner {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: space-between;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}

.site-logo-mark {
  display: block;
  width: auto;
  height: 44px;
  max-width: 79px;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 6px 16px rgba(217, 186, 130, 0.14));
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms ease;
}

.brand:hover .site-logo-mark {
  filter: drop-shadow(0 8px 20px rgba(217, 186, 130, 0.24));
  transform: translateY(-2px);
}

.brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.brand-copy strong {
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.brand-copy span {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.55);
  font-size: var(--text-micro);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: 27px;
}

.primary-nav a {
  position: relative;
  color: rgba(255, 255, 255, 0.73);
  font-size: var(--text-label);
  font-weight: 650;
  letter-spacing: 0.035em;
  transition:
    color 420ms ease,
    letter-spacing 520ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 420ms ease;
}

.primary-nav a:not(.nav-contact)::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 1px;
  background: var(--gold-400);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.primary-nav a:hover,
.primary-nav a.active {
  color: var(--white);
}

.primary-nav a:hover {
  letter-spacing: 0.055em;
  transform: translateY(-2px);
}

.primary-nav a:hover::after,
.primary-nav a.active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.primary-nav .nav-contact {
  padding: 9px 16px;
  color: var(--navy-950);
  background: var(--gold-400);
}

.primary-nav .nav-contact:hover {
  color: var(--navy-950);
  box-shadow: 0 10px 28px rgba(217, 186, 130, 0.22);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  width: 23px;
  height: 1px;
  margin: 6px auto;
  background: var(--white);
  transition: transform 180ms ease, opacity 180ms ease;
}

.section {
  padding: 120px 0;
}

body:not([data-page="home"]) main > section:first-child {
  padding-top: calc(var(--header-height) + 90px);
}

.section-dark {
  color: var(--white);
  background: var(--navy-950);
}

.eyebrow {
  display: flex;
  margin: 0 0 19px;
  align-items: center;
  gap: 12px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 30px;
  height: 1px;
  background: currentColor;
  content: "";
}

.eyebrow.light {
  color: var(--gold-400);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  line-height: 1.15;
}

h1,
h2 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.035em;
}

h2 {
  margin-bottom: 0;
  color: var(--navy-900);
  font-size: clamp(36px, 4.4vw, 48px);
}

.light h2,
.section-dark h2 {
  color: var(--white);
}

.hero {
  position: relative;
  min-height: 100vh;
  padding: 166px 0 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 24%, rgba(47, 98, 142, 0.29), transparent 29%),
    linear-gradient(130deg, var(--navy-950) 0%, var(--navy-900) 55%, #0a213a 100%);
}

.hero::before {
  position: absolute;
  top: 95px;
  right: -120px;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(201, 166, 107, 0.09);
  border-radius: 50%;
  content: "";
  animation: heroRing 24s ease-in-out infinite alternate;
}

.hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.28;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}

.hero-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(310px, 0.58fr);
  gap: 74px;
  align-items: center;
}

.hero-copy {
  padding-bottom: 63px;
}

.hero h1 {
  max-width: 760px;
  margin: 0 0 28px;
  font-size: clamp(48px, 6vw, 72px);
  line-height: 0.99;
}

.hero h1 span {
  color: var(--gold-400);
  background: linear-gradient(100deg, #c9a66b 10%, #f2dfb9 46%, #d9ba82 58%, #c9a66b 90%);
  background-clip: text;
  background-size: 220% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: goldFlow 14s ease-in-out infinite;
}

.hero-lead {
  max-width: 750px;
  margin-bottom: 21px;
  color: #d9e3ec;
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 420;
  line-height: 1.48;
}

.hero-intro {
  max-width: 750px;
  margin-bottom: 31px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 15px;
  line-height: 1.75;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.button {
  display: inline-flex;
  min-height: 50px;
  padding: 0 22px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 360ms ease, color 360ms ease, border-color 360ms ease, transform 420ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 420ms ease;
}

.button:hover {
  box-shadow: 0 11px 28px rgba(7, 20, 38, 0.15);
  transform: translateY(-3px);
}

.button svg,
.text-link svg,
.contact-links svg {
  transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.button:hover svg,
.text-link:hover svg,
.contact-links a:hover svg {
  transform: translate(3px, -2px);
}

.button svg,
.text-link svg,
.contact-links svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.button-gold {
  color: var(--navy-950);
  background: var(--gold-400);
}

.button-gold:hover {
  background: #e2c892;
}

.button-outline-light {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.03);
}

.button-outline-light:hover {
  border-color: rgba(255, 255, 255, 0.52);
  background: rgba(255, 255, 255, 0.08);
}

.text-link {
  display: inline-flex;
  margin-left: 11px;
  align-items: center;
  gap: 8px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.text-link.light {
  color: rgba(255, 255, 255, 0.76);
}

.hero-disciplines {
  display: flex;
  margin-top: 38px;
  flex-wrap: wrap;
  gap: 12px;
}

.hero-disciplines span {
  display: inline-flex;
  align-items: center;
  min-height: 35px;
  padding: 9px 15px 8px;
  border: 1px solid rgba(217, 186, 130, 0.26);
  border-radius: 999px;
  background: rgba(16, 40, 62, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--text-label);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.hero-disciplines span:not(:last-child)::after {
  content: none;
}

.hero-profile {
  position: relative;
  align-self: end;
}

.hero-profile-photo {
  margin: 0;
}

.portrait-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.08), rgba(201, 166, 107, 0.04));
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.27);
  transform: translate3d(0, 0, 0);
  transition:
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 520ms ease,
    border-color 520ms ease;
}

.portrait-frame::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(110deg, transparent 24%, rgba(255, 255, 255, 0.16) 46%, transparent 67%);
  background-position: 180% 0;
  background-size: 250% 100%;
  content: "";
  opacity: 0;
  pointer-events: none;
}

.portrait-frame::after {
  position: absolute;
  z-index: 3;
  inset: 15px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  content: "";
  pointer-events: none;
}

.portrait-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: 0.81;
  object-fit: cover;
  object-position: 50% 34%;
  transform: scale(1);
  transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), filter 520ms ease;
}

.portrait-corner {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 72px;
  height: 72px;
  border-right: 2px solid var(--gold-400);
  border-bottom: 2px solid var(--gold-400);
  opacity: 0.72;
  transition: opacity 520ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

@media (hover: hover) and (pointer: fine) {
  .hero-profile:hover .portrait-frame {
    border-color: rgba(217, 186, 130, 0.42);
    box-shadow: 0 36px 92px rgba(0, 0, 0, 0.34);
    transform: translate3d(0, -6px, 0);
  }

  .hero-profile:hover .portrait-frame img {
    filter: saturate(1.04) contrast(1.02);
    transform: scale(1.025);
  }

  .hero-profile:hover .portrait-frame::before {
    animation: portraitLight 1.35s ease-in-out both;
  }

  .hero-profile:hover .portrait-corner {
    opacity: 1;
    transform: translate3d(3px, 3px, 0);
  }
}

.profile-caption {
  display: flex;
  min-height: 86px;
  padding: 18px 20px;
  align-items: center;
  justify-content: space-between;
  background: var(--white);
  box-shadow: var(--shadow);
}

.profile-caption div {
  display: flex;
  flex-direction: column;
}

.profile-label {
  color: var(--muted);
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.profile-caption div strong {
  margin-top: 5px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 400;
}

.profile-number {
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 35px;
  line-height: 1;
}

.profile-number span {
  color: var(--gold-500);
  font-family: inherit;
  font-size: 20px;
}

.profile-number .counter-value {
  color: inherit;
  font-size: inherit;
}

.metric-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.metric-card {
  position: relative;
  display: flex;
  min-height: 142px;
  padding: 25px 19px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0);
  transition: background 520ms ease, box-shadow 520ms ease;
}

.metric-card::before {
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold-400), transparent);
  content: "";
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 520ms ease, transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.metric-card:hover {
  z-index: 2;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
}

.metric-card:hover::before {
  opacity: 1;
  transform: scaleX(1);
}

.metric-card:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.metric-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.45;
  text-transform: uppercase;
}

.metric-card.featured {
  background: var(--gold-400);
}

.metric-card.featured:hover {
  background: #e1c58f;
}

.metric-value {
  display: flex;
  align-items: baseline;
  gap: 3px;
  color: var(--gold-400);
  font-family: var(--font-display);
  font-size: 39px;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1;
  transition: color 420ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.metric-card:hover .metric-value {
  transform: translateY(-5px);
}

.metric-value .counter-value {
  font-size: inherit;
}

.metric-prefix {
  color: rgba(217, 186, 130, 0.72);
  font-family: var(--font-sans);
  font-size: var(--text-micro);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.metric-suffix {
  font-size: 19px;
  letter-spacing: 0;
}

.metric-value-currency {
  gap: 4px;
  font-size: 36px;
}

.metric-card.featured .metric-value,
.metric-card.featured .metric-prefix {
  color: var(--navy-950);
}

.metric-card.featured p {
  color: rgba(5, 16, 31, 0.72);
}

.section-split {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 100px;
}

.section-heading h1,
.section-heading h2 {
  max-width: 680px;
}

.section-heading h1 {
  margin-bottom: 0;
  color: var(--navy-900);
  font-size: clamp(36px, 4.4vw, 48px);
}

.section-heading-row {
  display: flex;
  margin-bottom: 58px;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
}

.section-heading-row > p {
  width: min(100%, 420px);
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 15px;
}

.section-heading-row.light > p {
  color: rgba(255, 255, 255, 0.58);
}

.large-copy {
  margin-bottom: 28px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 31px);
  line-height: 1.45;
}

.about-copy > p:not(.large-copy) {
  color: var(--muted);
}

.about-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 42px;
  border-top: 1px solid var(--line);
}

.about-principles div {
  display: flex;
  min-height: 100px;
  padding: 22px 15px 8px 0;
  flex-direction: column;
  gap: 10px;
}

.about-principles span,
.expertise-card > span,
.achievement-card > span {
  color: var(--gold-500);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.about-principles strong {
  color: var(--navy-900);
  font-size: 13px;
  line-height: 1.4;
}

.about-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(58, 115, 168, 0.3), transparent 32%),
    linear-gradient(125deg, var(--navy-950), var(--navy-800));
}

.about-hero::after {
  position: absolute;
  top: 28%;
  right: -140px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(217, 186, 130, 0.16);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.about-hero-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 72px;
  align-items: center;
}

.about-hero-content {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.about-hero h1 {
  max-width: 850px;
  margin: 0;
  color: var(--white);
  font-size: clamp(48px, 6vw, 72px);
}

.about-hero-intro {
  max-width: 860px;
  margin: 34px 0 0;
  color: rgba(255, 255, 255, 0.73);
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.55;
}

.about-hero-support {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 15px;
  line-height: 1.78;
}

.about-hero-signature {
  display: inline-flex;
  margin: 31px 0 0;
  padding-top: 16px;
  color: var(--gold-400);
  border-top: 1px solid rgba(217, 186, 130, 0.4);
  font-family: var(--font-display);
  font-size: 18px;
}

.about-hero-media {
  position: relative;
  z-index: 1;
  width: min(100%, 320px);
  margin: 0;
  justify-self: end;
}

.about-hero-image-frame {
  position: relative;
  padding: 9px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 0 30px 75px rgba(0, 0, 0, 0.3);
}

.about-hero-image-frame::before {
  position: absolute;
  z-index: 2;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  content: "";
  pointer-events: none;
}

.about-hero-image-frame::after {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 72px;
  height: 72px;
  border-right: 2px solid var(--gold-400);
  border-bottom: 2px solid var(--gold-400);
  content: "";
  pointer-events: none;
}

.about-hero-image-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: 0.64;
  object-fit: cover;
  object-position: 50% 28%;
}

.about-profile-section {
  background: var(--white);
}

.impact-snapshot-section {
  background: linear-gradient(180deg, var(--white) 0%, var(--surface) 100%);
}

.impact-group {
  margin-bottom: 18px;
}

.impact-group-heading,
.timeline-group-heading {
  display: flex;
  margin-bottom: 18px;
  align-items: baseline;
  gap: 14px;
}

.impact-group-heading span,
.timeline-group-heading span {
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.impact-group-heading h3,
.timeline-group-heading h3 {
  margin: 0;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 29px);
  font-weight: 400;
}

.impact-dashboard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #cad3db;
  border-left: 1px solid #cad3db;
}

.impact-scale-card {
  min-height: 178px;
  padding: 29px 24px;
  border-right: 1px solid #cad3db;
  border-bottom: 1px solid #cad3db;
  background: rgba(255, 255, 255, 0.72);
  transition: background 420ms ease, box-shadow 420ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.impact-scale-card:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(10, 32, 55, 0.08);
  transform: translateY(-3px);
}

.impact-scale-card strong {
  display: block;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 400;
  line-height: 1.05;
}

.impact-scale-card span {
  display: block;
  max-width: 220px;
  margin-top: 21px;
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: 650;
  line-height: 1.55;
}

.performance-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr);
  margin-top: 0;
  gap: 28px;
  padding: 30px;
  border-top: 3px solid var(--gold-400);
  background: var(--navy-800);
  box-shadow: 0 18px 46px rgba(7, 20, 38, 0.12);
}

.performance-panel h3 {
  max-width: 360px;
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 400;
  line-height: 1.3;
}

.performance-caption {
  max-width: 360px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
  line-height: 1.65;
}

.impact-dashboard-note {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.performance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.performance-card {
  min-height: 142px;
  padding: 19px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
}

.performance-card:last-child {
  grid-column: span 2;
}

.performance-card-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}

.performance-card-heading span {
  color: rgba(255, 255, 255, 0.67);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.performance-card-heading strong {
  color: var(--gold-400);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
  white-space: nowrap;
}

.kpi-transition {
  display: inline-block;
  direction: ltr;
  unicode-bidi: isolate;
}

.comparison-bars {
  display: grid;
  margin-top: 21px;
  gap: 10px;
}

.comparison-bars span,
.delta-track {
  position: relative;
  display: block;
  height: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
}

.comparison-bars span::before,
.delta-track span {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--bar-value);
  background: rgba(255, 255, 255, 0.3);
  content: "";
}

.comparison-bars .after::before,
.delta-track.positive span {
  background: linear-gradient(90deg, var(--gold-500), var(--gold-400));
}

.comparison-bars em {
  position: relative;
  z-index: 1;
  display: block;
  padding: 0 8px;
  direction: ltr;
  unicode-bidi: isolate;
  color: var(--white);
  font-size: var(--text-micro);
  font-style: normal;
  font-weight: 800;
  line-height: 16px;
}

.delta-track {
  margin-top: 28px;
}

.delta-track span {
  background: linear-gradient(90deg, rgba(201, 166, 107, 0.42), var(--gold-400));
}

.reduction-indicator {
  display: flex;
  margin-top: 25px;
  align-items: center;
  gap: 11px;
}

.reduction-indicator span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: var(--gold-400);
  border: 1px solid rgba(201, 166, 107, 0.46);
  font-size: 18px;
  line-height: 1;
}

.reduction-indicator em {
  color: rgba(255, 255, 255, 0.66);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.about-value-section {
  background: var(--surface);
}

.about-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #cad3db;
  border-left: 1px solid #cad3db;
}

.about-value-card {
  min-height: 245px;
  padding: 31px;
  border-right: 1px solid #cad3db;
  border-bottom: 1px solid #cad3db;
  background: rgba(255, 255, 255, 0.64);
  transition: background 420ms ease, box-shadow 420ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.about-value-card:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(10, 32, 55, 0.09);
  transform: translateY(-3px);
}

.about-value-card > span {
  color: var(--gold-500);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.about-value-card h3 {
  max-width: 290px;
  margin: 34px 0 13px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
}

.about-value-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.about-value-grid-expanded .about-value-card:last-child {
  min-height: 190px;
  grid-column: span 3;
}

.expertise-section,
.credentials-section {
  background: var(--surface);
}

.expertise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #cad3db;
  border-left: 1px solid #cad3db;
}

.expertise-card {
  position: relative;
  min-height: 248px;
  padding: 33px 31px;
  border-right: 1px solid #cad3db;
  border-bottom: 1px solid #cad3db;
  background: rgba(255, 255, 255, 0.38);
  transition: background 420ms ease, box-shadow 420ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.expertise-card::after {
  position: absolute;
  right: 30px;
  bottom: 26px;
  width: 27px;
  height: 1px;
  background: var(--gold-500);
  content: "";
  transition: width 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.expertise-card:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(10, 32, 55, 0.09);
  transform: translateY(-3px);
}

.expertise-card:hover::after {
  width: 48px;
}

.expertise-card h3 {
  max-width: 280px;
  margin: 28px 0 13px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 400;
}

.expertise-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.expertise-card.digital {
  color: var(--white);
  background: var(--navy-800);
}

.expertise-card.digital h3,
.expertise-card.digital p {
  color: var(--white);
}

.expertise-card.digital p {
  opacity: 0.6;
}

.experience-section {
  background:
    radial-gradient(circle at 100% 0, rgba(35, 78, 116, 0.29), transparent 30%),
    var(--navy-950);
}

.timeline {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.timeline-group {
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.timeline-group + .timeline-group {
  padding-top: 34px;
}

.timeline-group-heading {
  margin: 0;
  padding: 30px 0 18px 70px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.timeline-group-heading h3 {
  color: var(--white);
}

.timeline-group-heading span {
  color: var(--gold-400);
}

.timeline-item {
  display: grid;
  grid-template-columns: 70px 1fr 1.15fr;
  padding: 34px 0;
  gap: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  transition: background 180ms ease;
}

.timeline-item:hover {
  background: rgba(255, 255, 255, 0.025);
}

.timeline-marker {
  position: relative;
  display: flex;
  justify-content: center;
}

.timeline-marker::before {
  position: absolute;
  top: 8px;
  right: -2px;
  width: 1px;
  height: calc(100% + 60px);
  background: rgba(201, 166, 107, 0.19);
  content: "";
}

.timeline-item:last-child .timeline-marker::before {
  display: none;
}

.timeline-group .timeline-item:last-child {
  border-bottom: 0;
}

.timeline-group .timeline-item:last-child .timeline-marker::before {
  display: none;
}

.timeline-marker span {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  color: var(--gold-400);
  border: 1px solid rgba(201, 166, 107, 0.48);
  font-size: var(--text-micro);
  font-weight: 800;
}

.timeline-role p {
  margin: 0 0 8px;
  color: var(--gold-400);
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.timeline-role h3 {
  margin: 0 0 10px;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 400;
}

.timeline-role small {
  display: block;
  margin: -4px 0 10px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 12px;
  line-height: 1.4;
  unicode-bidi: isolate;
}

.timeline-role > span {
  color: rgba(255, 255, 255, 0.44);
  font-size: 12px;
}

.timeline-focus {
  margin: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

.timeline-detail {
  min-width: 0;
}

.timeline-tags {
  display: flex;
  margin-top: 20px;
  flex-wrap: wrap;
  gap: 8px;
}

.timeline-tags span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 10px;
  color: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(201, 166, 107, 0.25);
  background: rgba(255, 255, 255, 0.045);
  font-size: var(--text-label);
  font-weight: 650;
  line-height: 1.3;
}

.timeline-case-link {
  display: inline-flex;
  margin-top: 18px;
  align-items: center;
  color: var(--gold-400);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.03em;
}

.timeline-case-link:hover {
  color: var(--gold-100);
}

.sectors-section {
  background: var(--surface);
}

.sectors-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 48px;
  padding-top: 34px;
  border-top: 1px solid #cad3db;
}

.sectors-panel > p {
  margin: 0;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 29px);
  line-height: 1.45;
}

.sector-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-content: start;
}

.sector-tags span {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 13px;
  color: var(--navy-900);
  border: 1px solid #cad3db;
  background: rgba(255, 255, 255, 0.66);
  box-shadow: 0 8px 22px rgba(12, 33, 56, 0.035);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.tools-section {
  background: var(--white);
}

.tools-grid,
.tool-group-grid,
.theme-group-grid {
  display: grid;
  border-top: 1px solid #cad3db;
  border-left: 1px solid #cad3db;
}

.tools-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tool-group-grid,
.theme-group-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tools-grid span {
  display: flex;
  min-height: 86px;
  padding: 20px;
  align-items: center;
  justify-content: center;
  color: var(--navy-900);
  border-right: 1px solid #cad3db;
  border-bottom: 1px solid #cad3db;
  background: rgba(244, 246, 248, 0.72);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition: background 420ms ease, box-shadow 420ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tools-grid span:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 18px 42px rgba(10, 32, 55, 0.075);
  transform: translateY(-2px);
}

.tool-group-card {
  min-height: 190px;
}

.theme-group-card {
  min-height: 238px;
}

.tool-group-card,
.theme-group-card {
  padding: 25px;
  border-right: 1px solid #cad3db;
  border-bottom: 1px solid #cad3db;
  background: rgba(255, 255, 255, 0.64);
  transition: background 420ms ease, box-shadow 420ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tool-group-card:hover,
.theme-group-card:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 18px 42px rgba(10, 32, 55, 0.075);
  transform: translateY(-2px);
}

.tool-group-card h3,
.theme-group-card h3 {
  margin: 0 0 22px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.3;
}

.tool-group-card div,
.theme-group-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.tool-group-card span,
.theme-group-card span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 8px 12px;
  color: var(--navy-900);
  border: 1px solid #cad3db;
  background: rgba(244, 246, 248, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.tool-group-card {
  padding: 22px;
}

.tool-group-card h3 {
  margin-bottom: 17px;
  font-size: 20px;
}

.tool-group-card div {
  gap: 8px;
}

.tool-group-card span {
  min-height: 32px;
  padding: 7px 10px;
  font-size: 13px;
}

.delivery-themes-section {
  background:
    radial-gradient(circle at 100% 0, rgba(58, 115, 168, 0.11), transparent 28%),
    var(--surface);
}

.theme-tags {
  display: flex;
  padding-top: 32px;
  flex-wrap: wrap;
  gap: 11px;
  border-top: 1px solid #cad3db;
}

.theme-tags span {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  padding: 9px 14px;
  color: var(--navy-900);
  border: 1px solid #cad3db;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 22px rgba(12, 33, 56, 0.035);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.case-studies-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 6%, rgba(58, 115, 168, 0.1), transparent 25%),
    var(--surface);
}

.case-studies-section::before {
  position: absolute;
  top: 80px;
  right: -160px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(201, 166, 107, 0.18);
  border-radius: 50%;
  content: "";
}

.case-impact-strip {
  position: relative;
  display: grid;
  margin-bottom: 24px;
  grid-template-columns: repeat(4, 1fr);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--navy-800);
  box-shadow: 0 18px 50px rgba(7, 20, 38, 0.11);
}

.case-impact-strip > div {
  display: flex;
  min-height: 105px;
  padding: 22px 25px;
  justify-content: center;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.case-impact-strip > div:last-child {
  border-right: 0;
}

.case-impact-strip strong {
  color: var(--gold-400);
  font-family: var(--font-display);
  font-size: 29px;
  font-weight: 400;
  line-height: 1;
}

.case-impact-strip span {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.56);
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.case-study-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.case-study-card {
  position: relative;
  display: flex;
  min-height: 640px;
  padding: 30px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #ced7df;
  background: rgba(255, 255, 255, 0.87);
  box-shadow: 0 12px 34px rgba(7, 20, 38, 0.045);
  transition:
    border-color 420ms ease,
    box-shadow 520ms ease,
    transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.case-study-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-500), var(--gold-400), transparent 85%);
  content: "";
  transform: scaleX(0.28);
  transform-origin: left;
  transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.case-study-card:hover {
  z-index: 1;
  border-color: rgba(201, 166, 107, 0.65);
  box-shadow: 0 26px 65px rgba(7, 20, 38, 0.12);
  transform: translateY(-6px);
}

.case-study-card:hover::before {
  transform: scaleX(1);
}

.case-study-header {
  display: flex;
  min-height: 31px;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  color: var(--muted);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.11em;
  line-height: 1.45;
  text-transform: uppercase;
}

.case-study-header span:first-child {
  color: var(--gold-500);
}

.case-study-header span:last-child {
  max-width: 165px;
  text-align: right;
}

.case-study-number {
  margin: 24px 0 15px;
  color: rgba(13, 35, 61, 0.12);
  font-family: var(--font-display);
  font-size: 59px;
  line-height: 1;
}

.case-study-card h3 {
  margin: 0 0 28px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.26;
}

.case-study-summary {
  margin: -7px 0 25px;
  padding-bottom: 24px;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  font-size: var(--text-small);
  line-height: 1.68;
}

.case-study-details {
  border-top: 1px solid var(--line);
}

.case-study-details > div {
  display: grid;
  padding: 17px 0;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  border-bottom: 1px solid var(--line);
}

.case-study-details h4 {
  margin: 2px 0 0;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.case-study-details p {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.62;
}

.case-study-tags {
  display: flex;
  margin-top: auto;
  padding-top: 25px;
  flex-wrap: wrap;
  gap: 9px;
}

.case-study-tags span {
  padding: 8px 11px;
  color: #52687b;
  border: 1px solid #d5dde4;
  background: #f7f9fa;
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.case-study-action {
  display: flex;
  margin-top: 21px;
  padding-top: 18px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--line);
}

.case-study-action > span {
  color: var(--muted);
  font-size: var(--text-label);
  line-height: 1.4;
  text-transform: uppercase;
}

.case-study-action > span strong {
  color: var(--navy-800);
}

.case-study-action button {
  display: inline-flex;
  min-height: 40px;
  padding: 4px 0;
  align-items: center;
  color: var(--blue-500);
  border: 0;
  background: transparent;
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.07em;
  text-align: right;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.case-study-action button:hover {
  color: var(--navy-800);
  transform: translateX(3px);
}

.case-study-note {
  display: grid;
  margin-top: 24px;
  padding: 22px 25px;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  color: var(--muted);
  border-left: 2px solid var(--gold-500);
  background: rgba(255, 255, 255, 0.66);
}

.case-study-note > span {
  color: var(--navy-800);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.case-study-note p {
  margin: 0;
  font-size: var(--text-small);
}

.case-study-note a {
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.modal-open {
  overflow: hidden;
}

.case-modal {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  padding: 28px;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 420ms ease, visibility 420ms ease;
}

.case-modal[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.case-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 11, 21, 0.82);
  backdrop-filter: blur(11px);
}

.case-modal-panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(820px, calc(100vh - 56px));
  padding: 52px;
  overflow-y: auto;
  border-top: 3px solid var(--gold-400);
  outline: 0;
  background: var(--white);
  box-shadow: 0 38px 110px rgba(0, 0, 0, 0.38);
  transform: translateY(28px) scale(0.98);
  transition: transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.case-modal[aria-hidden="false"] .case-modal-panel {
  transform: translateY(0) scale(1);
}

.case-modal-panel > h2 {
  max-width: 700px;
  font-size: clamp(34px, 4.4vw, 48px);
}

.case-modal-close {
  position: absolute;
  top: 25px;
  right: 25px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  background: var(--white);
  cursor: pointer;
  transition: border-color 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.case-modal-close:hover {
  border-color: var(--gold-500);
  transform: rotate(4deg);
}

.case-modal-close span {
  position: absolute;
  top: 21px;
  left: 12px;
  width: 18px;
  height: 1px;
  background: var(--navy-900);
  transform: rotate(45deg);
}

.case-modal-close span:last-child {
  transform: rotate(-45deg);
}

.case-modal-meta {
  display: flex;
  margin: 24px 0 13px;
  flex-wrap: wrap;
  gap: 8px;
}

.case-modal-meta span {
  padding: 8px 11px;
  color: var(--navy-800);
  border: 1px solid var(--line);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.case-modal-lead {
  max-width: 760px;
  margin-bottom: 32px;
  color: var(--muted);
  font-size: 16px;
}

.case-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.case-modal-grid section {
  min-height: 178px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.case-modal-grid h3 {
  margin: 0 0 12px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.case-modal-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.case-modal-grid .case-modal-outcome {
  min-height: 130px;
  grid-column: 1 / -1;
  background: var(--gold-100);
}

.case-modal-outcome p {
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 24px;
}

.case-modal-longform {
  border-top: 1px solid var(--line);
}

.case-modal-longform > section {
  padding: 34px 0;
  border-bottom: 1px solid var(--line);
}

.case-modal-longform > section:last-child {
  border-bottom: 0;
}

.case-modal-longform h3 {
  margin: 0 0 20px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 400;
  line-height: 1.3;
}

.case-modal-longform h4 {
  margin: 29px 0 14px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.case-modal-longform p {
  max-width: 790px;
  margin: 0 0 17px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.case-modal-longform p:last-child {
  margin-bottom: 0;
}

.case-modal-longform ul {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  list-style: none;
}

.case-modal-longform li {
  position: relative;
  padding: 17px 18px 17px 34px;
  color: var(--muted);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: var(--text-small);
  line-height: 1.6;
}

.case-modal-longform li::before {
  position: absolute;
  top: 25px;
  left: 18px;
  width: 5px;
  height: 5px;
  background: var(--gold-500);
  content: "";
}

.case-modal-snapshot dl {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.case-modal-snapshot dl > div {
  min-height: 92px;
  padding: 19px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.case-modal-snapshot dl > div:nth-child(4) {
  grid-row: span 2;
}

.case-modal-snapshot dt {
  margin-bottom: 7px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.case-modal-snapshot dd {
  margin: 0;
  color: var(--navy-900);
  font-size: 13px;
  line-height: 1.55;
}

.case-modal-longform .case-modal-value-created {
  margin-inline: -24px;
  padding: 34px 24px;
  border-bottom: 0;
  background: var(--gold-100);
}

.case-modal-longform .case-modal-value-created p {
  color: #445264;
}

.case-modal-longform .case-modal-confidentiality {
  margin-top: 34px;
  padding: 25px 28px;
  border-left: 2px solid var(--gold-500);
  background: var(--surface);
}

.case-modal-longform .case-modal-confidentiality h3 {
  font-family: var(--font-sans);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.achievement-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.achievement-card {
  min-height: 265px;
  padding: 35px 31px;
  border: 1px solid var(--line);
  background: var(--white);
  transition: border-color 420ms ease, box-shadow 520ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.achievement-card:hover {
  border-color: transparent;
  box-shadow: var(--shadow);
  transform: translateY(-4px);
}

.achievement-card h3 {
  margin: 40px 0 13px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 400;
}

.achievement-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.value-section {
  padding: 0;
  background: linear-gradient(120deg, var(--navy-800), #102b49);
}

.value-layout {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
}

.value-intro {
  padding: 89px 75px 89px 0;
}

.value-intro h2 {
  color: var(--white);
}

.value-intro > p:not(.eyebrow) {
  margin: 27px 0 33px;
  color: rgba(255, 255, 255, 0.61);
  font-size: 14px;
}

.value-links {
  display: flex;
  margin-top: 28px;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.value-links a {
  position: relative;
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  transition: color 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.value-links a::after {
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  height: 1px;
  background: var(--gold-400);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.value-links a:hover {
  color: var(--white);
  transform: translateY(-2px);
}

.value-links a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.value-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-right: 1px solid rgba(255, 255, 255, 0.11);
  border-left: 1px solid rgba(255, 255, 255, 0.11);
}

.value-list > div {
  display: grid;
  min-height: 168px;
  padding: 27px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 17px;
  align-items: start;
  border-right: 1px solid rgba(255, 255, 255, 0.11);
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.value-list span {
  color: var(--gold-400);
  padding-top: 3px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.value-list-copy h3 {
  margin: 0 0 10px;
  color: var(--white);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.38;
}

.value-list-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: var(--text-small);
  font-weight: 450;
  line-height: 1.62;
}

.value-list-focused > div {
  align-items: start;
}

.section-heading-aside {
  width: min(100%, 430px);
}

.section-heading-aside p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 15px;
}

.section-heading-aside span {
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.services-section {
  background: var(--white);
}

.services-overview {
  display: grid;
  margin: -5px 0 42px;
  padding: 38px 0;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
  gap: 70px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.services-overview > div {
  padding-left: 20px;
  border-left: 2px solid var(--gold-500);
}

.services-overview span {
  display: block;
  margin-bottom: 17px;
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.services-overview h3 {
  max-width: 330px;
  margin: 0;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 400;
  line-height: 1.25;
}

.services-overview > p {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.58;
}

.services-cloud {
  display: flex;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
}

.service-chip {
  position: relative;
  display: flex;
  min-height: 68px;
  padding: 0 23px;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  border: 1px solid #d8e0e6;
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(7, 20, 38, 0.04);
  transition: border-color 420ms ease, box-shadow 520ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.service-chip::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, var(--navy-800), #143557);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.service-chip:hover {
  z-index: 1;
  border-color: var(--navy-800);
  box-shadow: 0 20px 45px rgba(7, 20, 38, 0.15);
  transform: translateY(-5px);
}

.service-chip:hover::before {
  transform: scaleX(1);
}

.service-chip span,
.service-chip strong {
  position: relative;
  z-index: 1;
  transition: color 420ms ease;
}

.service-chip span {
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.service-chip strong {
  color: var(--navy-900);
  font-size: clamp(15px, 1.5vw, 19px);
  font-weight: 650;
  line-height: 1.25;
}

.service-chip:hover span {
  color: var(--gold-400);
}

.service-chip:hover strong {
  color: var(--white);
}

.services-hero {
  position: relative;
  padding: calc(var(--header-height) + 98px) 0 112px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(58, 115, 168, 0.27), transparent 31%),
    linear-gradient(132deg, var(--navy-950) 0%, var(--navy-900) 58%, #0a213a 100%);
}

.services-hero::after {
  position: absolute;
  top: 108px;
  right: -150px;
  width: 540px;
  height: 540px;
  border: 1px solid rgba(201, 166, 107, 0.09);
  border-radius: 50%;
  content: "";
}

.services-hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.25;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 92%);
}

.services-hero-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 450px);
  gap: 56px;
  align-items: center;
}

.services-hero-content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.services-hero h1 {
  max-width: 720px;
  margin: 0 0 31px;
  font-size: clamp(48px, 5.8vw, 72px);
  line-height: 1.04;
}

.services-hero-lead {
  max-width: 720px;
  margin-bottom: 35px;
  color: #d9e3ec;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.62;
}

.services-hero-media {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 7px;
  overflow: hidden;
  border: 1px solid rgba(217, 186, 130, 0.34);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
}

.services-hero-media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center center;
  border-radius: 22px;
}

.services-hero-actions,
.services-final-cta-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.services-track-section,
.engagement-formats-section {
  background: var(--white);
}

.services-track-section .section-heading,
.services-process-section .section-heading,
.engagement-formats-section .section-heading {
  margin-bottom: 50px;
}

.services-track-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.services-track-card {
  position: relative;
  display: flex;
  min-height: 330px;
  padding: 42px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #ccd6df;
  background: var(--surface);
  box-shadow: 0 15px 42px rgba(7, 20, 38, 0.06);
  transition: border-color 420ms ease, box-shadow 520ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.services-track-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-500), var(--gold-400), transparent 80%);
  content: "";
  transform: scaleX(0.34);
  transform-origin: left;
  transition: transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.services-track-card:hover {
  border-color: rgba(201, 166, 107, 0.62);
  box-shadow: 0 26px 65px rgba(7, 20, 38, 0.12);
  transform: translateY(-5px);
}

.services-track-card:hover::before {
  transform: scaleX(1);
}

.services-track-card.organization-track {
  color: var(--white);
  border-color: rgba(201, 166, 107, 0.35);
  background:
    radial-gradient(circle at 90% 10%, rgba(58, 115, 168, 0.29), transparent 35%),
    var(--navy-900);
}

.services-track-number {
  color: var(--gold-500);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.organization-track .services-track-number {
  color: var(--gold-400);
}

.services-track-card h3 {
  margin: 42px 0 17px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(31px, 4vw, 43px);
  font-weight: 400;
}

.organization-track h3 {
  color: var(--white);
}

.services-track-card p {
  max-width: 500px;
  margin-bottom: 36px;
  color: var(--muted);
  font-size: 15px;
}

.organization-track p {
  color: rgba(255, 255, 255, 0.66);
}

.services-track-card a {
  display: inline-flex;
  width: max-content;
  margin-top: auto;
  align-items: center;
  gap: 10px;
  color: var(--blue-500);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.organization-track a {
  color: var(--gold-400);
}

.services-track-card a svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  transition: transform 360ms ease;
}

.services-track-card a:hover svg {
  transform: translateX(4px);
}

.organization-services-section {
  background:
    radial-gradient(circle at 92% 8%, rgba(58, 115, 168, 0.21), transparent 26%),
    var(--navy-950);
}

.professional-services-section {
  background: var(--surface);
}

.service-card-list {
  display: grid;
  gap: 14px;
}

.service-card {
  border: 1px solid #ced8e0;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 30px rgba(7, 20, 38, 0.045);
  transition: border-color 420ms ease, box-shadow 520ms ease;
}

.service-card:hover,
.service-card.is-expanded {
  border-color: rgba(201, 166, 107, 0.7);
  box-shadow: 0 22px 55px rgba(7, 20, 38, 0.1);
}

.service-card-dark {
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: none;
}

.service-card-dark:hover,
.service-card-dark.is-expanded {
  border-color: rgba(217, 186, 130, 0.47);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}

.service-card-summary {
  display: grid;
  min-height: 152px;
  padding: 30px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.service-card-number {
  align-self: start;
  padding-top: 5px;
  color: var(--gold-500);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.service-card-dark .service-card-number {
  color: var(--gold-400);
}

.service-card-heading h3 {
  margin: 0 0 10px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(24px, 2.8vw, 32px);
  font-weight: 400;
  line-height: 1.25;
}

.service-card-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.service-card-dark .service-card-heading h3 {
  color: var(--white);
}

.service-card-dark .service-card-heading p {
  color: rgba(255, 255, 255, 0.58);
}

.service-card-toggle {
  display: inline-flex;
  min-height: 44px;
  padding: 0;
  align-items: center;
  gap: 13px;
  color: var(--blue-500);
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.service-card-dark .service-card-toggle {
  color: var(--gold-400);
}

.service-card-icon {
  position: relative;
  width: 32px;
  height: 32px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: 0.8;
}

.service-card-icon::before,
.service-card-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.service-card-toggle[aria-expanded="true"] .service-card-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.service-card-panel {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition:
    grid-template-rows 560ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 560ms;
}

.service-card.is-expanded .service-card-panel {
  grid-template-rows: 1fr;
  visibility: visible;
  transition:
    grid-template-rows 560ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s;
}

.service-card-panel-inner {
  min-height: 0;
  overflow: hidden;
}

.service-detail-grid {
  display: grid;
  margin: 0 30px;
  padding: 31px 0 25px;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap: 18px;
  border-top: 1px solid var(--line);
}

.service-card-dark .service-detail-grid {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.service-detail-block {
  padding: 22px 24px;
  border: 1px solid #dce3e9;
  background: rgba(244, 246, 248, 0.72);
}

.service-card-dark .service-detail-block {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.035);
}

.service-detail-block h4 {
  margin: 0 0 13px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.45;
  text-transform: uppercase;
}

.service-card-dark .service-detail-block h4 {
  color: var(--gold-400);
}

.service-detail-block p,
.service-detail-block li {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.service-card-dark .service-detail-block p,
.service-card-dark .service-detail-block li {
  color: rgba(255, 255, 255, 0.65);
}

.service-detail-block p {
  margin: 0;
}

.service-detail-block ul {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: 1fr;
  gap: 8px;
  list-style: none;
}

.service-detail-block li {
  position: relative;
  padding-left: 13px;
}

.service-detail-block li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 4px;
  height: 4px;
  background: var(--gold-500);
  content: "";
}

.service-card-cta {
  display: inline-flex;
  width: max-content;
  margin: 0 30px 30px;
  align-items: center;
  gap: 8px;
  color: var(--blue-500);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.service-card-dark .service-card-cta {
  color: var(--gold-400);
}

.service-card-cta span {
  transition: transform 360ms ease;
}

.service-card-cta:hover span {
  transform: translate(3px, -2px);
}

.services-process-section {
  background: var(--surface);
}

.services-process-photo {
  position: relative;
  width: min(100%, 980px);
  margin: -4px auto 48px;
  padding: 9px;
  overflow: hidden;
  border: 1px solid rgba(13, 35, 61, 0.18);
  border-radius: 26px;
  background: var(--navy-800);
  box-shadow: 0 24px 60px rgba(7, 20, 38, 0.15);
}

.services-process-photo::after {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  content: "";
  pointer-events: none;
}

.services-process-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  object-position: 50% 48%;
  border-radius: 18px;
}

.services-process-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #cbd5dd;
}

.services-process-step {
  position: relative;
  min-height: 290px;
  padding: 42px 27px 26px 0;
}

.services-process-step:not(:last-child) {
  border-right: 1px solid #d5dde4;
}

.services-process-step + .services-process-step {
  padding-left: 27px;
}

.services-process-step > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--navy-900);
  border: 1px solid var(--gold-500);
  border-radius: 50%;
  background: var(--gold-100);
  font-size: 12px;
  font-weight: 800;
}

.services-process-step h3 {
  margin: 35px 0 13px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.3;
}

.services-process-step p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.engagement-format-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.engagement-format-card {
  position: relative;
  min-height: 260px;
  padding: 27px 23px;
  border: 1px solid #d2dbe2;
  background: var(--surface);
  transition: border-color 420ms ease, box-shadow 520ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.engagement-format-card:hover {
  border-color: rgba(201, 166, 107, 0.7);
  box-shadow: 0 20px 50px rgba(7, 20, 38, 0.1);
  transform: translateY(-5px);
}

.engagement-format-card > span {
  color: var(--gold-500);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.engagement-format-card h3 {
  margin: 47px 0 15px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
}

.engagement-format-card p {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.65;
}

.engagement-format-card.leadership-format {
  border-color: rgba(201, 166, 107, 0.68);
  background:
    linear-gradient(145deg, rgba(245, 236, 220, 0.72), rgba(244, 246, 248, 0.94));
  box-shadow: inset 0 3px 0 var(--gold-500);
}

.leadership-format h3 {
  margin-top: 39px;
  color: var(--navy-900);
}

.leadership-format p {
  color: var(--muted);
}

.engagement-format-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.engagement-format-card-meta span {
  color: var(--gold-500);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.engagement-format-card-meta strong {
  padding: 7px 10px;
  color: var(--navy-800);
  border: 1px solid rgba(13, 35, 61, 0.23);
  background: rgba(255, 255, 255, 0.5);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.services-guidance-strip {
  display: grid;
  margin-top: 28px;
  padding: 30px 32px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: center;
  border: 1px solid #d4dde4;
  border-left: 3px solid var(--gold-500);
  background: var(--surface);
}

.services-guidance-strip h3 {
  margin: 0 0 8px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 400;
}

.services-guidance-strip p {
  max-width: 690px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.services-guidance-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.services-guidance-actions .button {
  min-height: 46px;
  padding-inline: 19px;
  font-size: 12px;
}

.services-button-outline {
  color: var(--navy-900);
  border-color: rgba(13, 35, 61, 0.35);
  background: var(--white);
}

.services-button-outline:hover {
  border-color: var(--navy-800);
  background: var(--blue-100);
}

.services-final-cta {
  background:
    radial-gradient(circle at 90% 20%, rgba(58, 115, 168, 0.25), transparent 30%),
    var(--navy-950);
}

.services-final-cta-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 70px;
  align-items: end;
}

.services-final-cta h2 {
  max-width: 820px;
  color: var(--white);
  font-size: clamp(36px, 4.4vw, 48px);
}

.services-final-cta p:not(.eyebrow) {
  margin: 25px 0 0;
  color: rgba(255, 255, 255, 0.63);
  font-size: 17px;
}

.credentials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.credential-card {
  min-height: 205px;
  padding: 30px;
  border-top: 3px solid var(--blue-500);
  background: var(--white);
  box-shadow: 0 8px 26px rgba(12, 33, 56, 0.045);
}

.credential-card.primary {
  color: var(--white);
  border-top-color: var(--gold-400);
  background: var(--navy-800);
}

.credential-type {
  display: block;
  margin-bottom: 42px;
  color: var(--blue-500);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.primary .credential-type {
  color: rgba(255, 255, 255, 0.7);
}

.credential-card strong {
  display: block;
  color: var(--gold-400);
  font-family: var(--font-display);
  font-size: 37px;
  font-weight: 400;
  line-height: 1.15;
}

.credential-card h3 {
  margin: 0;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 400;
}

.credential-card p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.primary p {
  color: rgba(255, 255, 255, 0.6);
}

.about-credentials-section {
  background: var(--white);
}

.credential-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.credential-group {
  padding: 35px;
  border-top: 3px solid var(--blue-500);
  background: var(--surface);
  box-shadow: 0 8px 26px rgba(12, 33, 56, 0.045);
}

.credential-group-accent {
  border-top-color: var(--gold-400);
  background: var(--navy-800);
}

.credential-group .credential-type {
  margin-bottom: 13px;
}

.credential-group-accent .credential-type {
  color: var(--gold-400);
}

.credential-group h3 {
  margin: 0 0 23px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 400;
}

.credential-group-accent h3 {
  color: var(--white);
}

.credential-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.credential-group li {
  display: grid;
  padding: 15px 0;
  grid-template-columns: minmax(150px, 0.75fr) 1.25fr;
  gap: 22px;
  border-top: 1px solid var(--line);
}

.credential-group-accent li {
  padding-block: 13px;
  border-top-color: rgba(255, 255, 255, 0.13);
}

.credential-group li strong {
  color: var(--navy-900);
  font-size: 13px;
}

.credential-group li strong:only-child {
  grid-column: 1 / -1;
}

.credential-group li span {
  color: var(--muted);
  font-size: 12px;
}

.education-credential-group {
  background: linear-gradient(145deg, #f8fafb 0%, var(--surface) 100%);
}

.education-list .education-item {
  min-height: 88px;
  padding: 16px 0;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.institution-logo {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 6px 18px rgba(7, 20, 38, 0.07);
}

.institution-logo img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: saturate(0.82);
  transition: filter 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.education-item:hover .institution-logo img {
  filter: saturate(1);
  transform: scale(1.04);
}

.education-list .education-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.education-list .education-copy strong {
  color: var(--navy-900);
  font-size: 14px;
  line-height: 1.35;
}

.education-list .education-copy > span {
  color: var(--muted);
  font-size: var(--text-label);
  line-height: 1.45;
}

.education-list .education-copy small {
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.credential-group-accent li strong {
  color: var(--gold-400);
}

.credential-group-accent li span {
  color: rgba(255, 255, 255, 0.58);
}

.about-philosophy-section {
  background:
    radial-gradient(circle at 10% 90%, rgba(58, 115, 168, 0.22), transparent 30%),
    var(--navy-950);
}

.about-philosophy-layout {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 100px;
  align-items: start;
}

.about-philosophy-copy > p:first-child {
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.67);
  font-size: 17px;
  line-height: 1.8;
}

.about-philosophy-principles {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: work-principle;
  border-top: 1px solid rgba(217, 186, 130, 0.3);
}

.about-philosophy-principles li {
  position: relative;
  min-height: 72px;
  padding: 18px 0 18px 54px;
  color: rgba(255, 255, 255, 0.78);
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  font-size: 15px;
  line-height: 1.55;
  counter-increment: work-principle;
}

.about-philosophy-principles li::before {
  position: absolute;
  top: 18px;
  left: 0;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: var(--gold-400);
  border: 1px solid rgba(201, 166, 107, 0.46);
  content: counter(work-principle, decimal-leading-zero);
  font-size: var(--text-micro);
  font-weight: 800;
}

.about-philosophy-emphasis {
  margin: 0;
  padding: 22px 0 0;
  color: var(--gold-400);
  border-top: 1px solid rgba(217, 186, 130, 0.34);
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.4;
}

.about-final-cta {
  background:
    radial-gradient(circle at 90% 20%, rgba(58, 115, 168, 0.25), transparent 30%),
    var(--navy-800);
}

.about-final-cta-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 70px;
  align-items: end;
}

.about-final-cta h2 {
  max-width: 800px;
  color: var(--white);
  font-size: clamp(36px, 4.4vw, 48px);
}

.about-final-cta p:not(.eyebrow) {
  max-width: 700px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.63);
  font-size: 16px;
}

.about-final-cta-actions {
  display: flex;
  max-width: 250px;
  flex-direction: column;
  gap: 10px;
}

.about-final-cta-actions .button {
  width: 100%;
}

.testimonials-section {
  background:
    radial-gradient(circle at 86% 12%, rgba(58, 115, 168, 0.22), transparent 30%),
    var(--navy-950);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.testimonial-card {
  position: relative;
  display: flex;
  min-height: 325px;
  padding: 34px;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.025);
  transition: border-color 480ms ease, background 480ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.testimonial-card.featured {
  border-color: rgba(217, 186, 130, 0.42);
  background: rgba(217, 186, 130, 0.07);
}

.testimonial-card:hover {
  border-color: rgba(217, 186, 130, 0.58);
  background: rgba(255, 255, 255, 0.055);
  transform: translateY(-5px);
}

.quote-mark {
  color: var(--gold-400);
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 0.7;
}

.testimonial-card blockquote {
  margin: 38px 0 45px;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.42;
}

.testimonial-card footer {
  display: flex;
  margin-top: auto;
  flex-direction: column;
  gap: 6px;
}

.testimonial-card footer strong {
  color: var(--white);
  font-size: 12px;
}

.testimonial-card footer span {
  color: rgba(255, 255, 255, 0.43);
  font-size: var(--text-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.insights-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(58, 115, 168, 0.34), transparent 31%),
    linear-gradient(125deg, var(--navy-950), var(--navy-800));
}

.insights-hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  mask-image: linear-gradient(to bottom, black, transparent 92%);
  pointer-events: none;
}

.insights-hero::after {
  position: absolute;
  top: 19%;
  right: -130px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(217, 186, 130, 0.17);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.insights-hero-content {
  position: relative;
  z-index: 1;
  max-width: 1050px;
}

.insights-hero h1 {
  max-width: 1000px;
  margin: 0;
  color: var(--white);
  font-size: clamp(48px, 5.8vw, 72px);
  line-height: 1.04;
}

.insights-hero-lead {
  max-width: 850px;
  margin: 34px 0 0;
  color: #d9e3ec;
  font-size: clamp(19px, 2.1vw, 23px);
  line-height: 1.55;
}

.insights-hero-support {
  max-width: 860px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 14px;
  line-height: 1.75;
}

.insights-focus-section {
  background: var(--white);
}

.insights-focus-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #cad3db;
  border-left: 1px solid #cad3db;
}

.insights-focus-card {
  position: relative;
  min-height: 270px;
  padding: 32px 27px;
  border-right: 1px solid #cad3db;
  border-bottom: 1px solid #cad3db;
  background: rgba(244, 246, 248, 0.55);
  transition: background 420ms ease, box-shadow 480ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.insights-focus-card::after {
  position: absolute;
  right: 27px;
  bottom: 25px;
  width: 28px;
  height: 1px;
  background: var(--gold-500);
  content: "";
  transition: width 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.insights-focus-card:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(10, 32, 55, 0.09);
  transform: translateY(-3px);
}

.insights-focus-card:hover::after {
  width: 48px;
}

.insights-focus-card > span,
.insight-topic-meta {
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.insights-focus-card h3 {
  margin: 37px 0 14px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 400;
}

.insights-focus-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.insights-topics-section {
  background: var(--surface);
}

.insights-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.insight-topic-card {
  position: relative;
  display: flex;
  min-height: 335px;
  padding: 31px;
  flex-direction: column;
  border: 1px solid #d3dce3;
  background: var(--white);
  box-shadow: 0 12px 35px rgba(7, 20, 38, 0.045);
  transition: border-color 480ms ease, box-shadow 520ms ease, transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.insight-topic-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-500), var(--gold-400), transparent 86%);
  content: "";
  transform: scaleX(0.25);
  transform-origin: left;
  transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.insight-topic-card:hover {
  border-color: rgba(201, 166, 107, 0.68);
  box-shadow: 0 26px 65px rgba(7, 20, 38, 0.11);
  transform: translateY(-5px);
}

.insight-topic-card:hover::before {
  transform: scaleX(1);
}

.insight-topic-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.insight-topic-meta span:last-child {
  color: var(--blue-500);
}

.insight-topic-card h3 {
  margin: 57px 0 18px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.3;
}

.insight-topic-card > p {
  margin: auto 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.insights-themes-section {
  background:
    radial-gradient(circle at 92% 16%, rgba(58, 115, 168, 0.23), transparent 28%),
    var(--navy-950);
}

.insights-theme-list {
  display: flex;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}

.insights-theme-list li {
  display: flex;
  min-height: 48px;
  padding: 12px 18px;
  align-items: center;
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.025);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  transition: color 360ms ease, background 420ms ease;
}

.insights-theme-list li:hover {
  color: var(--gold-400);
  background: rgba(255, 255, 255, 0.04);
}

.insights-final-cta {
  background:
    radial-gradient(circle at 8% 90%, rgba(58, 115, 168, 0.22), transparent 31%),
    var(--navy-800);
}

.insights-final-cta-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 70px;
  align-items: end;
}

.insights-final-cta h2 {
  max-width: 780px;
  color: var(--white);
  font-size: clamp(36px, 4.4vw, 48px);
}

.insights-final-cta p:not(.eyebrow) {
  max-width: 700px;
  margin: 25px 0 0;
  color: rgba(255, 255, 255, 0.63);
  font-size: 16px;
}

.insights-final-cta-actions {
  display: flex;
  width: 245px;
  flex-direction: column;
  gap: 10px;
}

.insights-final-cta-actions .button {
  width: 100%;
}

.contact-section {
  position: relative;
  padding: 115px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 13% 94%, rgba(52, 102, 145, 0.26), transparent 33%),
    var(--navy-950);
}

.contact-section::after {
  position: absolute;
  right: -170px;
  bottom: -260px;
  width: 600px;
  height: 600px;
  border: 1px solid rgba(201, 166, 107, 0.09);
  border-radius: 50%;
  content: "";
}

.contact-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 85px;
  align-items: start;
}

.contact-copy h1,
.contact-copy h2 {
  max-width: 520px;
  font-size: clamp(40px, 4.8vw, 56px);
}

.contact-copy h1 {
  margin-bottom: 0;
}

.contact-lead {
  max-width: 530px;
  margin: 25px 0 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
}

.contact-support {
  max-width: 530px;
  margin: 0 0 25px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
}

.contact-path-panel {
  max-width: 560px;
  margin-bottom: 24px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 2px solid rgba(217, 186, 130, 0.7);
  background: rgba(255, 255, 255, 0.035);
}

.contact-path-panel h2 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
}

.contact-path-panel p {
  margin: 6px 0 15px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  line-height: 1.55;
}

.contact-path-options {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-path-options button {
  min-height: 44px;
  padding: 10px 12px;
  color: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.035);
  letter-spacing: 0;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.contact-path-options button:hover,
.contact-path-options button.is-active {
  color: var(--white);
  border-color: rgba(217, 186, 130, 0.72);
  background: rgba(217, 186, 130, 0.12);
}

.contact-path-options button:focus-visible {
  outline: 3px solid rgba(217, 186, 130, 0.5);
  outline-offset: 3px;
}

.contact-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.contact-links a {
  display: flex;
  padding: 23px 18px 23px 0;
  flex-direction: column;
  gap: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.contact-links a + a {
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.contact-links [data-cv-link] {
  padding-left: 0;
  grid-column: 1 / -1;
  border-left: 0;
}

.contact-links span {
  color: rgba(255, 255, 255, 0.42);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-links strong {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--white);
  font-size: 13px;
}

.contact-form {
  padding: 40px;
  background: var(--white);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.25);
}

.contact-topic-note {
  margin: 0 0 22px;
  padding: 12px 14px;
  color: var(--navy-800);
  border-left: 2px solid var(--gold-500);
  background: var(--gold-100);
  font-size: 12px;
  line-height: 1.55;
}

.contact-topic-note strong {
  color: var(--navy-950);
}

.form-heading {
  margin-bottom: 27px;
}

.form-heading span {
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 25px;
}

.form-heading p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.contact-form label {
  display: block;
  margin-bottom: 20px;
}

.contact-form label > span {
  display: block;
  margin-bottom: 7px;
  color: var(--navy-900);
  font-size: var(--text-label);
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.contact-form .form-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 11px 0;
  color: var(--ink);
  border: 0;
  border-bottom: 1px solid #cfd8e0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  font-size: 14px;
  transition: border-color 160ms ease;
}

.contact-form textarea {
  min-height: 110px;
  resize: vertical;
}

.contact-form select {
  cursor: pointer;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--blue-500);
}

.contact-form input:focus-visible,
.contact-form select:focus-visible,
.contact-form textarea:focus-visible {
  outline: 3px solid rgba(201, 166, 107, 0.45);
  outline-offset: 4px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #9aa7b4;
}

.button-full {
  width: 100%;
  margin-top: 3px;
}

.button-full svg {
  width: 18px;
  height: 18px;
}

.button:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.button[aria-busy="true"] svg {
  animation: sendingPulse 1.2s ease-in-out infinite;
}

.form-status {
  min-height: 20px;
  margin: 13px 0 -7px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

.form-status.error {
  color: #9f342a;
}

.form-status.success {
  color: #2c7454;
}

@keyframes sendingPulse {
  0%, 100% { opacity: 0.45; transform: translateX(0); }
  50% { opacity: 1; transform: translateX(4px); }
}

.site-footer {
  padding: 29px 0;
  color: rgba(255, 255, 255, 0.52);
  background: #030b15;
}

.footer-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
}

.footer-directory {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 34px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 19px;
}

.footer-links a {
  position: relative;
  color: rgba(255, 255, 255, 0.52);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  transition: color 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-links a:hover {
  color: var(--gold-400);
  transform: translateY(-2px);
}

.footer-directory > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: var(--text-micro);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: right;
  text-transform: uppercase;
}

.footer-inner > p {
  margin: 0;
  font-size: var(--text-micro);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.footer-inner > p:last-child {
  text-align: right;
}

.footer-brand {
  gap: 12px;
}

.footer-brand .site-logo-mark {
  height: 36px;
  max-width: 64px;
}

.footer-brand .brand-copy strong {
  font-size: 12px;
}

.footer-brand .brand-copy span {
  font-size: var(--text-micro);
}

.reveal {
  --reveal-delay: 0ms;
}

.reveal-delay {
  --reveal-delay: 220ms;
}

.motion-ready .reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(0.995);
  transition:
    opacity 1100ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay);
}

.motion-ready .reveal-left {
  transform: translate3d(-30px, 0, 0);
}

.motion-ready .reveal-right {
  transform: translate3d(30px, 0, 0);
}

.motion-ready .reveal.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.motion-ready .metric-grid .metric-card {
  opacity: 0;
  transform: translateY(22px);
}

.motion-ready .metric-grid.visible .metric-card {
  animation: metricRise 1050ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(240ms + var(--item-index, 0) * 140ms);
}

.motion-ready .about-copy.visible .about-principles div {
  animation: contentRise 950ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.motion-ready .about-copy.visible .about-principles div:nth-child(2) {
  animation-delay: 160ms;
}

.motion-ready .about-copy.visible .about-principles div:nth-child(3) {
  animation-delay: 320ms;
}

.motion-ready .timeline-item.visible .timeline-marker span {
  animation: markerIn 1000ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: var(--reveal-delay);
}

.motion-ready .expertise-card.reveal.visible:hover,
.motion-ready .achievement-card.reveal.visible:hover,
.motion-ready .case-study-card.reveal.visible:hover,
.motion-ready .service-chip.reveal.visible:hover,
.motion-ready .testimonial-card.reveal.visible:hover,
.motion-ready .insights-focus-card.reveal.visible:hover,
.motion-ready .insight-topic-card.reveal.visible:hover {
  transform: translateY(-5px);
}

.motion-ready .section-heading.visible .eyebrow::before {
  animation: lineReveal 1050ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes heroRing {
  from { opacity: 0.55; transform: translate3d(0, 0, 0) scale(0.96); }
  to { opacity: 1; transform: translate3d(-24px, 18px, 0) scale(1.08); }
}

@keyframes goldFlow {
  0%, 25% { background-position: 100% 50%; }
  70%, 100% { background-position: 0 50%; }
}

@keyframes portraitLight {
  0%, 62% { background-position: 180% 0; opacity: 0; }
  72% { opacity: 0.7; }
  88%, 100% { background-position: -120% 0; opacity: 0; }
}

@keyframes cornerPulse {
  0%, 100% { opacity: 0.68; transform: translate3d(0, 0, 0); }
  50% { opacity: 1; transform: translate3d(3px, 3px, 0); }
}

@keyframes metricRise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes contentRise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes markerIn {
  from { opacity: 0; transform: scale(0.8) rotate(-3deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes lineReveal {
  from { opacity: 0; transform: scaleX(0); transform-origin: left; }
  to { opacity: 1; transform: scaleX(1); transform-origin: left; }
}

@media (max-width: 1100px) {
  .primary-nav {
    gap: 16px;
  }

  .primary-nav a {
    font-size: var(--text-label);
  }

  .case-study-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-study-card:first-child {
    min-height: auto;
    grid-column: 1 / -1;
  }

  .insights-focus-grid,
  .insights-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-layout {
    grid-template-columns: 1.35fr 0.65fr;
    gap: 44px;
  }

  .metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .metric-card:nth-child(n + 4) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .section-split,
  .contact-layout {
    gap: 65px;
  }

  .value-intro {
    padding-right: 45px;
  }
}

@media (max-width: 900px) {
  :root {
    --header-height: 72px;
  }

  .container {
    width: min(calc(100% - 36px), var(--container));
  }

  .nav-toggle {
    display: block;
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .primary-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: flex;
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height));
    padding: 32px 24px;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    overflow-y: auto;
    background: rgba(5, 16, 31, 0.99);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
  }

  .primary-nav.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .primary-nav a {
    padding: 16px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 14px;
  }

  .primary-nav .nav-contact {
    margin-top: 18px;
    padding: 14px 17px;
    text-align: center;
  }

  .hero {
    padding-top: 135px;
  }

  .hero-layout {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    padding-bottom: 0;
  }

  .hero-profile {
    width: min(100%, 470px);
    justify-self: center;
  }

  .metric-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 65px;
  }

  .metric-card:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .section {
    padding: 90px 0;
  }

  body:not([data-page="home"]) main > section:first-child {
    padding-top: calc(var(--header-height) + 68px);
  }

  .section-split,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .section-split {
    gap: 46px;
  }

  .about-hero-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .about-hero-media {
    width: min(100%, 340px);
    justify-self: start;
  }

  .about-hero-image-frame img {
    aspect-ratio: 4 / 5;
    object-position: 50% 24%;
  }

  .services-process-photo img {
    aspect-ratio: 16 / 9;
  }

  .section-heading-row {
    align-items: start;
    flex-direction: column;
    gap: 24px;
  }

  .services-overview {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .expertise-grid,
  .achievement-grid,
  .credentials-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .impact-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .performance-panel {
    grid-template-columns: 1fr;
  }

  .tools-grid,
  .tool-group-grid,
  .theme-group-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .about-value-grid-expanded .about-value-card:last-child {
    grid-column: span 2;
  }

  .sectors-panel {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-philosophy-layout,
  .about-final-cta-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .about-final-cta-actions {
    max-width: none;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .case-study-grid {
    grid-template-columns: 1fr;
  }

  .case-study-card,
  .case-study-card:first-child {
    min-height: auto;
    grid-column: auto;
  }

  .case-impact-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .case-impact-strip > div:nth-child(2) {
    border-right: 0;
  }

  .case-impact-strip > div:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .testimonial-grid,
  .insights-topic-grid {
    grid-template-columns: 1fr;
  }

  .insights-final-cta-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .insights-final-cta-actions {
    width: auto;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .timeline-item {
    grid-template-columns: 58px 1fr;
  }

  .timeline-group-heading {
    padding-left: 58px;
  }

  .timeline-focus,
  .timeline-detail {
    grid-column: 2;
  }

  .value-layout {
    grid-template-columns: 1fr;
  }

  .value-intro {
    padding: 80px 0;
  }

  .contact-section {
    padding: 90px 0;
  }

  .contact-layout {
    gap: 52px;
  }

  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .footer-directory {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .footer-directory > p {
    text-align: left;
  }

  .footer-inner > p:nth-child(2) {
    display: none;
  }
}

@media (max-width: 620px) {
  .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .brand-copy strong {
    font-size: 12px;
  }

  .brand-copy span {
    font-size: var(--text-micro);
  }

  .brand {
    gap: 11px;
  }

  .site-logo-mark {
    height: 40px;
    max-width: 72px;
  }

  .hero {
    padding-top: 120px;
  }

  .hero h1 {
    font-size: clamp(38px, 11.5vw, 46px);
  }

  .hero-lead {
    font-size: 18px;
  }

  .hero-intro {
    font-size: 14px;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-actions .text-link {
    margin: 10px auto 0;
  }

  .metric-grid {
    grid-template-columns: 1fr;
  }

  .metric-card,
  .metric-card:last-child {
    min-height: 98px;
    grid-column: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }

  .section {
    padding: 76px 0;
  }

  body:not([data-page="home"]) main > section:first-child {
    padding-top: calc(var(--header-height) + 54px);
  }

  h2 {
    font-size: 36px;
  }

  .section-heading h1 {
    font-size: 36px;
  }

  .insights-hero h1 {
    font-size: 40px;
  }

  .insights-hero-lead {
    font-size: 17px;
  }

  .insights-focus-grid {
    grid-template-columns: 1fr;
  }

  .insights-focus-card {
    min-height: 230px;
  }

  .insight-topic-card {
    min-height: 310px;
    padding: 28px 24px;
  }

  .insight-topic-card h3 {
    margin-top: 45px;
    font-size: 23px;
  }

  .insights-final-cta-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .about-principles {
    grid-template-columns: 1fr;
  }

  .about-principles div {
    min-height: 75px;
    border-bottom: 1px solid var(--line);
  }

  .expertise-grid,
  .achievement-grid,
  .credentials-grid {
    grid-template-columns: 1fr;
  }

  .about-hero h1 {
    font-size: 40px;
  }

  .about-hero-intro {
    font-size: 17px;
  }

  .about-hero-support {
    font-size: 14px;
  }

  .about-hero-layout {
    gap: 36px;
  }

  .about-hero-media {
    width: min(100%, 310px);
  }

  .about-hero-image-frame {
    padding: 7px;
  }

  .services-process-photo {
    margin-bottom: 34px;
    padding: 6px;
  }

  .services-process-photo::after {
    inset: 13px;
  }

  .services-process-photo img {
    aspect-ratio: 4 / 3;
    object-position: 50% 48%;
  }

  .about-value-grid,
  .credential-groups {
    grid-template-columns: 1fr;
  }

  .impact-dashboard,
  .performance-grid,
  .tools-grid,
  .tool-group-grid,
  .theme-group-grid {
    grid-template-columns: 1fr;
  }

  .performance-panel {
    padding: 25px 20px;
  }

  .performance-card:last-child {
    grid-column: auto;
  }

  .performance-card-heading {
    align-items: start;
    flex-direction: column;
    gap: 6px;
  }

  .tools-grid span {
    min-height: 68px;
    font-size: 14px;
  }

  .tool-group-card,
  .theme-group-card {
    min-height: auto;
    padding: 23px;
  }

  .theme-tags span {
    width: 100%;
  }

  .about-value-grid-expanded .about-value-card:last-child {
    grid-column: auto;
  }

  .about-value-card {
    min-height: 220px;
  }

  .credential-group {
    padding: 29px 23px;
  }

  .credential-group li {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .education-list .education-item {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
  }

  .sectors-panel {
    gap: 24px;
  }

  .sector-tags span {
    width: 100%;
  }

  .timeline-tags span {
    max-width: 100%;
  }

  .about-philosophy-principles li {
    padding-left: 45px;
  }

  .about-final-cta-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .case-study-card {
    padding: 26px 22px;
  }

  .service-chip {
    width: 100%;
  }

  .services-overview {
    margin-bottom: 30px;
    padding: 30px 0;
  }

  .case-impact-strip {
    grid-template-columns: 1fr;
  }

  .case-impact-strip > div,
  .case-impact-strip > div:nth-child(2) {
    border-right: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .case-impact-strip > div:first-child {
    border-top: 0;
  }

  .case-study-details > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .case-study-note {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .case-study-action {
    align-items: flex-start;
    flex-direction: column;
  }

  .case-study-action button {
    text-align: left;
  }

  .case-modal {
    padding: 10px;
  }

  .case-modal-panel {
    max-height: calc(100vh - 20px);
    padding: 45px 21px 28px;
  }

  .case-modal-close {
    top: 14px;
    right: 14px;
  }

  .case-modal-grid {
    grid-template-columns: 1fr;
  }

  .case-modal-grid .case-modal-outcome {
    grid-column: auto;
  }

  .case-modal-longform > section {
    padding: 29px 0;
  }

  .case-modal-longform h3 {
    font-size: 24px;
  }

  .case-modal-longform p {
    font-size: 13px;
    line-height: 1.7;
  }

  .case-modal-longform ul,
  .case-modal-snapshot dl {
    grid-template-columns: 1fr;
  }

  .case-modal-snapshot dl > div:nth-child(4) {
    grid-row: auto;
  }

  .case-modal-longform .case-modal-value-created {
    margin-inline: 0;
    padding: 29px 22px;
  }

  .case-modal-longform .case-modal-confidentiality {
    padding: 23px 21px;
  }

  .expertise-card {
    min-height: 220px;
  }

  .timeline-item {
    grid-template-columns: 42px 1fr;
    gap: 18px;
  }

  .timeline-marker {
    justify-content: start;
  }

  .timeline-marker::before {
    right: auto;
    left: 19px;
  }

  .timeline-role h3 {
    font-size: 21px;
  }

  .value-list {
    grid-template-columns: 1fr;
  }

  .value-list > div {
    min-height: 0;
    padding: 24px 22px;
  }

  .contact-links {
    grid-template-columns: 1fr;
  }

  .contact-path-options {
    grid-template-columns: 1fr;
  }

  .contact-links a + a {
    padding-left: 0;
    border-left: 0;
  }

  .contact-links [data-cv-link] {
    grid-column: auto;
  }

  .contact-form {
    padding: 28px 22px;
  }

  .footer-inner {
    grid-template-columns: 1fr;
  }

  .footer-inner > p:last-child {
    text-align: left;
  }
}

@media (max-width: 1100px) {
  .services-hero-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
    gap: 36px;
  }

  .services-hero h1 {
    font-size: clamp(44px, 5.4vw, 60px);
  }

  .services-process-grid,
  .engagement-format-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    border-top: 0;
  }

  .services-process-step,
  .services-process-step + .services-process-step {
    min-height: 250px;
    padding: 28px;
    border: 1px solid #d5dde4;
  }

  .engagement-format-card {
    min-height: 235px;
  }

  .service-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-detail-block:last-child {
    grid-column: 1 / -1;
  }

  .services-guidance-strip {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .services-guidance-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 900px) {
  body[data-page="services"] main > .services-hero {
    padding-top: calc(var(--header-height) + 72px);
    padding-bottom: 90px;
  }

  .services-hero-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .services-hero-media {
    width: min(100%, 680px);
    justify-self: start;
  }

  .services-track-grid,
  .services-final-cta-layout {
    grid-template-columns: 1fr;
  }

  .service-detail-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .service-detail-block:last-child {
    grid-column: auto;
  }

  .services-final-cta-layout {
    align-items: start;
    gap: 38px;
  }
}

@media (max-width: 620px) {
  body[data-page="services"] main > .services-hero {
    padding-top: calc(var(--header-height) + 52px);
    padding-bottom: 76px;
  }

  .services-hero h1 {
    font-size: clamp(38px, 11.5vw, 46px);
  }

  .services-hero-lead {
    font-size: 17px;
  }

  .services-hero-layout {
    gap: 34px;
  }

  .services-hero-media {
    width: 100%;
    padding: 5px;
    border-radius: 24px;
  }

  .services-hero-media img {
    border-radius: 19px;
  }

  .services-hero-actions,
  .services-final-cta-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .services-hero-actions .button,
  .services-final-cta-actions .button {
    width: 100%;
  }

  .services-hero-actions .text-link {
    margin: 10px auto 0;
  }

  .services-track-card {
    min-height: 300px;
    padding: 30px 26px;
  }

  .services-track-card h3 {
    margin-top: 34px;
  }

  .service-card-summary {
    min-height: 0;
    padding: 25px 22px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 18px 12px;
  }

  .service-card-toggle {
    width: 100%;
    padding-top: 18px;
    grid-column: 1 / -1;
    justify-content: space-between;
    border-top: 1px solid var(--line);
  }

  .service-card-dark .service-card-toggle {
    border-top-color: rgba(255, 255, 255, 0.12);
  }

  .service-detail-grid {
    margin: 0 22px;
  }

  .service-detail-block {
    padding: 20px;
  }

  .service-detail-block ul {
    grid-template-columns: 1fr;
  }

  .service-card-cta {
    margin: 0 22px 25px;
  }

  .services-process-grid,
  .engagement-format-grid {
    grid-template-columns: 1fr;
  }

  .services-process-step,
  .services-process-step + .services-process-step {
    min-height: 0;
  }

  .engagement-format-card {
    min-height: 220px;
  }

  .services-guidance-strip {
    padding: 25px 22px;
  }

  .services-guidance-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .services-guidance-actions .button {
    width: 100%;
  }

  .services-final-cta h2 {
    font-size: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .motion-ready .reveal,
  .motion-ready .metric-grid .metric-card {
    opacity: 1;
    transform: none;
  }

  .hero-profile:hover .portrait-frame,
  .hero-profile:hover .portrait-frame img,
  .hero-profile:hover .portrait-corner {
    transform: none !important;
  }

  .hero-profile:hover .portrait-frame::before {
    animation: none !important;
  }

}


/* Language switcher */
.primary-nav .language-switcher,
.footer-links .language-switcher {
  padding: 7px 12px;
  border: 1px solid rgba(217, 186, 130, 0.45);
  color: var(--gold-100);
}

.primary-nav .language-switcher::after {
  display: none;
}

.footer-links .language-switcher {
  color: rgba(255, 255, 255, 0.82);
}

/* Arabic RTL localization */
html[dir="rtl"] {
  direction: rtl;
}

html[dir="rtl"] body {
  font-family: var(--font-arabic);
  line-height: 1.75;
  letter-spacing: 0;
}

html[dir="rtl"] body * {
  font-family: var(--font-arabic);
}

html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3 {
  letter-spacing: 0;
}

html[dir="rtl"] .brand-copy span,
html[dir="rtl"] .primary-nav a,
html[dir="rtl"] .eyebrow,
html[dir="rtl"] .button,
html[dir="rtl"] .text-link,
html[dir="rtl"] .hero-disciplines span,
html[dir="rtl"] .metric-card p,
html[dir="rtl"] .metric-prefix,
html[dir="rtl"] .impact-group-heading span,
html[dir="rtl"] .timeline-group-heading span,
html[dir="rtl"] .timeline-role p,
html[dir="rtl"] .timeline-tags span,
html[dir="rtl"] .about-value-card > span,
html[dir="rtl"] .achievement-card > span,
html[dir="rtl"] .credential-type,
html[dir="rtl"] .profile-label,
html[dir="rtl"] .case-impact-strip span,
html[dir="rtl"] .case-study-header,
html[dir="rtl"] .case-study-details h4,
html[dir="rtl"] .case-study-tags span,
html[dir="rtl"] .case-study-action > span,
html[dir="rtl"] .case-study-action button,
html[dir="rtl"] .case-study-note > span,
html[dir="rtl"] .case-study-note a,
html[dir="rtl"] .case-modal-grid h3,
html[dir="rtl"] .case-modal-longform h4,
html[dir="rtl"] .case-modal-longform .case-modal-confidentiality h3,
html[dir="rtl"] .value-links a,
html[dir="rtl"] .section-heading-aside span,
html[dir="rtl"] .services-overview span,
html[dir="rtl"] .service-chip span,
html[dir="rtl"] .service-detail-block h4,
html[dir="rtl"] .service-card-cta,
html[dir="rtl"] .engagement-format-card > span,
html[dir="rtl"] .engagement-format-card-meta span,
html[dir="rtl"] .engagement-format-card-meta strong,
html[dir="rtl"] .education-list .education-copy small,
html[dir="rtl"] .testimonial-card footer span,
html[dir="rtl"] .insights-focus-card > span,
html[dir="rtl"] .insight-topic-meta,
html[dir="rtl"] .insights-theme-list li,
html[dir="rtl"] .contact-links span,
html[dir="rtl"] .contact-form label > span,
html[dir="rtl"] .footer-links a,
html[dir="rtl"] .footer-directory > p,
html[dir="rtl"] .footer-inner > p {
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .scroll-progress {
  transform-origin: right center;
}

html[dir="rtl"] .primary-nav a:not(.nav-contact)::after {
  transform-origin: left;
}

html[dir="rtl"] .primary-nav a:hover::after,
html[dir="rtl"] .primary-nav a.active::after {
  transform-origin: right;
}

html[dir="rtl"] .hero-actions,
html[dir="rtl"] .services-hero-actions,
html[dir="rtl"] .about-final-cta-actions,
html[dir="rtl"] .services-final-cta-actions,
html[dir="rtl"] .insights-final-cta-actions,
html[dir="rtl"] .services-guidance-actions {
  justify-content: flex-start;
}

html[dir="rtl"] .button svg,
html[dir="rtl"] .text-link svg,
html[dir="rtl"] .services-track-card a svg,
html[dir="rtl"] .contact-links svg {
  transform: scaleX(-1);
}

html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select {
  text-align: right;
  direction: rtl;
}

html[dir="rtl"] input[dir="ltr"] {
  text-align: left;
  direction: ltr;
}

html[dir="rtl"] .form-honeypot {
  right: auto;
  left: -9999px;
}

html[dir="rtl"] .contact-path-panel {
  border-right: 2px solid rgba(217, 186, 130, 0.7);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

html[dir="rtl"] .contact-path-options button {
  text-align: right;
}

html[dir="rtl"] .case-modal-panel,
html[dir="rtl"] .case-modal-body,
html[dir="rtl"] .case-study-card,
html[dir="rtl"] .contact-form,
html[dir="rtl"] .planned-insight-card,
html[dir="rtl"] .insight-topic-card,
html[dir="rtl"] .insight-focus-card,
html[dir="rtl"] .insights-focus-card,
html[dir="rtl"] .service-card,
html[dir="rtl"] .about-value-card,
html[dir="rtl"] .expertise-card,
html[dir="rtl"] .metric-card,
html[dir="rtl"] .timeline-item {
  text-align: right;
}

html[dir="rtl"] .case-modal-close {
  right: auto;
  left: 25px;
}

html[dir="rtl"] .case-modal-snapshot dt,
html[dir="rtl"] .case-modal-meta span {
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .case-modal-longform li {
  padding-right: 34px;
  padding-left: 18px;
}

html[dir="rtl"] .case-modal-longform li::before {
  right: 18px;
  left: auto;
}

html[dir="rtl"] .insights-theme-list li {
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .about-philosophy-principles li {
  padding-right: 54px;
  padding-left: 0;
}

html[dir="rtl"] .about-philosophy-principles li::before {
  right: 0;
  left: auto;
}

html[dir="rtl"] .comparison-bars span::before,
html[dir="rtl"] .delta-track span {
  right: 0;
  left: auto;
}

html[dir="rtl"] .kpi-comparison {
  direction: ltr;
  unicode-bidi: isolate;
}

html[dir="rtl"] .kpi-comparison span::before {
  right: auto;
  left: 0;
}

html[dir="rtl"] .timeline-item {
  grid-template-columns: 70px 1fr 1.15fr;
}

html[dir="rtl"] .timeline-group-heading {
  padding-right: 70px;
  padding-left: 0;
}

html[dir="rtl"] .service-card-cta span,
html[dir="rtl"] .case-study-action button,
html[dir="rtl"] .contact-links strong svg {
  display: inline-block;
}

@media (max-width: 980px) {
  html[dir="rtl"] .timeline-item {
    grid-template-columns: 58px 1fr;
  }

  html[dir="rtl"] .timeline-group-heading {
    padding-right: 58px;
  }

  html[dir="rtl"] .timeline-focus,
  html[dir="rtl"] .timeline-detail {
    grid-column: 2;
  }
}

@media (max-width: 620px) {
  html[dir="rtl"] .about-philosophy-principles li {
    padding-right: 45px;
  }
}

@media (max-width: 900px) {
  html[dir="rtl"] .primary-nav a {
    text-align: right;
  }

  html[dir="rtl"] .primary-nav .nav-contact,
  html[dir="rtl"] .primary-nav .language-switcher {
    text-align: center;
  }
}


/* PM Hub */
.pm-hero,
.resource-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 22%, rgba(58, 115, 168, 0.28), transparent 31%),
    linear-gradient(130deg, var(--navy-950) 0%, var(--navy-900) 58%, #0a213a 100%);
}

.pm-hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
}

.pm-hero-layout,
.resource-hero-layout {
  position: relative;
  z-index: 1;
  min-height: 560px;
  display: grid;
  align-items: center;
}

.resource-hero-layout {
  min-height: 500px;
}

.pm-hero-content,
.resource-hero-content {
  max-width: 860px;
}

.pm-hero h1,
.resource-hero h1 {
  max-width: 890px;
  margin-bottom: 24px;
  color: var(--white);
  font-size: clamp(48px, 7vw, 76px);
}

.resource-hero h1 {
  font-size: clamp(44px, 6vw, 68px);
}

.pm-hero-lead {
  max-width: 760px;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(19px, 2.2vw, 24px);
  line-height: 1.55;
}

.pm-hero-support {
  max-width: 700px;
  margin-bottom: 31px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 15px;
  line-height: 1.75;
}

.pm-hero-actions,
.pm-cta-actions,
.tool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
}

.pm-need-section,
.pm-library-section,
.pm-home-preview-section {
  background: var(--surface);
}

.pm-need-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.pm-need-card {
  min-height: 340px;
  padding: 28px 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 420ms ease, background 420ms ease;
}

.pm-need-card:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(10, 32, 55, 0.09);
  transform: translateY(-3px);
}

.pm-card-number,
.pm-resource-card > span,
.result-label,
.resource-sidebar-card > span,
.score-scale span,
.pm-home-preview-links span {
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pm-need-card h3,
.pm-resource-card h3,
.pm-library-card h3,
.resource-content h3,
.template-section-grid h3 {
  margin: 22px 0 12px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
}

.pm-need-card p,
.pm-resource-card p,
.pm-library-card p,
.resource-content p,
.resource-content li,
.tool-intro p,
.tool-form small,
.assessment-question span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.resource-chip-list {
  display: flex;
  margin-top: 21px;
  flex-direction: column;
  gap: 8px;
}

.resource-chip {
  display: flex;
  padding: 10px 11px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--navy-900);
  border: 1px solid #d5dde4;
  background: rgba(255, 255, 255, 0.74);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
  transition: border-color 360ms ease, transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.resource-chip:hover {
  border-color: var(--gold-500);
  transform: translateX(3px);
}

.resource-chip span {
  flex: 0 0 auto;
  color: var(--blue-500);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-chip.is-coming {
  color: #6c7a88;
  background: rgba(244, 246, 248, 0.84);
}

.resource-chip.is-coming span {
  color: #91a0ae;
}

.pm-featured-section {
  background:
    radial-gradient(circle at 0 0, rgba(58, 115, 168, 0.22), transparent 31%),
    var(--navy-950);
}

.pm-resource-grid,
.pm-library-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.pm-resource-card,
.pm-library-card {
  min-height: 260px;
  padding: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 420ms ease;
}

.pm-resource-card:hover,
.pm-library-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.pm-featured-section .pm-resource-card {
  background: rgba(255, 255, 255, 0.96);
}

.pm-resource-card .text-link {
  margin-top: 22px;
}

.pm-spotlight-card,
.pm-cta-card,
.pm-home-preview-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  padding: 48px;
  border-left: 3px solid var(--gold-500);
  background: var(--white);
  box-shadow: var(--shadow);
}

.pm-spotlight-card p,
.pm-cta-card p,
.pm-home-preview-card p {
  max-width: 760px;
  margin-bottom: 0;
  color: var(--muted);
}

.pm-library-card ul,
.resource-content ul,
.resource-content ol,
.recommendation-box ul {
  margin: 20px 0 0;
  padding-left: 20px;
}

.pm-library-card li + li,
.resource-content li + li,
.recommendation-box li + li {
  margin-top: 8px;
}

.pm-two-column {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 70px;
  align-items: start;
}

.light-copy p {
  color: rgba(255, 255, 255, 0.68);
}

.button.button-outline {
  color: var(--navy-900);
  border: 1px solid #cad3db;
  background: transparent;
}

.button.button-outline:hover {
  border-color: var(--gold-500);
}

.resource-section {
  background: var(--surface);
}

.resource-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 42px;
  align-items: start;
}

.resource-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 26px);
}

.resource-sidebar-card {
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 18px 40px rgba(7, 20, 38, 0.06);
}

.resource-sidebar-card a {
  display: block;
  padding: 12px 0;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 750;
}

.resource-sidebar-card a:last-child {
  border-bottom: 0;
}

.resource-content {
  padding: 46px;
  background: var(--white);
  border: 1px solid var(--line);
}

.resource-content.single-column {
  max-width: 980px;
  margin-inline: auto;
}

.resource-content section + section {
  margin-top: 54px;
  padding-top: 42px;
  border-top: 1px solid var(--line);
}

.resource-content h2 {
  margin-bottom: 20px;
  font-size: clamp(30px, 3.8vw, 42px);
}

.resource-note {
  margin: 28px 0;
  padding: 22px 25px;
  color: var(--navy-900);
  border-left: 3px solid var(--gold-500);
  background: var(--gold-100);
  font-size: 14px;
  line-height: 1.7;
}

.resource-principle-grid,
.template-section-grid,
.related-grid,
.checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.resource-principle-grid.compact,
.template-section-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resource-principle-grid > div,
.template-section-grid > div,
.related-grid > a,
.checklist-grid > span {
  min-height: 140px;
  padding: 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fbfcfd;
}

.checklist-grid > span {
  min-height: auto;
  color: var(--navy-900);
  font-size: 13px;
  font-weight: 750;
}

.resource-principle-grid span {
  color: var(--gold-500);
  font-size: var(--text-label);
  font-weight: 800;
}

.resource-principle-grid h3,
.template-section-grid h3 {
  margin-top: 12px;
  font-size: 21px;
}

.resource-table-wrap {
  overflow-x: auto;
}

.resource-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--line);
  font-size: 13px;
}

.resource-table th,
.resource-table td {
  padding: 16px;
  text-align: left;
  vertical-align: top;
  border: 1px solid var(--line);
}

.resource-table th {
  color: var(--navy-900);
  background: var(--gold-100);
  font-weight: 800;
}

.related-grid > a {
  color: var(--navy-900);
  font-weight: 750;
  transition: background 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.related-grid > a:hover {
  background: var(--gold-100);
  transform: translateY(-3px);
}

.related-grid span {
  display: block;
  margin-top: 8px;
  color: var(--blue-500);
  font-size: var(--text-label);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tool-section {
  background: var(--surface);
}

.tool-layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.1fr);
  gap: 36px;
  align-items: start;
}

.tool-intro,
.tool-form,
.tool-result {
  min-width: 0;
  padding: 34px;
  border: 1px solid var(--line);
  background: var(--white);
}

.tool-form {
  display: grid;
  gap: 18px;
}

.tool-form label,
.assessment-question {
  display: grid;
  gap: 8px;
}

.tool-form label > span,
.assessment-area legend,
.recommendation-box h3 {
  color: var(--navy-900);
  font-weight: 800;
}

.tool-form input,
.tool-form select {
  width: 100%;
  padding: 13px 14px;
  color: var(--navy-900);
  border: 1px solid #cad3db;
  background: var(--white);
}

.tool-form input:focus,
.tool-form select:focus {
  border-color: var(--gold-500);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(201, 166, 107, 0.14);
}

.assessment-form {
  grid-template-columns: 1fr;
}

.assessment-area {
  margin: 0;
  padding: 22px;
  border: 1px solid var(--line);
}

.assessment-area legend {
  padding: 0 8px;
}

.assessment-question + .assessment-question {
  margin-top: 16px;
}

.score-scale {
  display: grid;
  margin-top: 24px;
  gap: 8px;
}

.tool-result {
  grid-column: 2;
  border-top: 3px solid var(--gold-500);
}

.tool-result strong[data-health-rating],
.tool-result strong[data-pert-expected],
.tool-result strong[data-evm-status] {
  display: block;
  margin: 10px 0 12px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 46px);
  font-weight: 400;
  line-height: 1.1;
}

.result-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 24px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.result-metrics.evm-metrics {
  grid-template-columns: repeat(4, 1fr);
}

.result-metrics.pert-metrics {
  grid-template-columns: repeat(2, 1fr);
}

.result-metrics > div {
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.result-metrics span {
  display: block;
  margin-bottom: 8px;
  color: var(--blue-500);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.result-metrics strong {
  color: var(--navy-900);
  font-size: 16px;
}

.result-metrics p {
  margin: 10px 0 0;
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.6;
}

.recommendation-box {
  margin-top: 24px;
  padding: 22px;
  background: var(--gold-100);
}

.compact-section {
  padding-top: 0;
}

.pm-home-preview-card {
  grid-template-columns: 0.9fr 1.1fr;
}

.pm-home-preview-copy .button {
  margin-top: 25px;
}

.pm-home-preview-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.pm-home-preview-links a {
  min-height: 130px;
  padding: 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  transition: background 360ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-home-preview-links a:hover {
  background: var(--gold-100);
  transform: translateY(-3px);
}

.pm-home-preview-links strong {
  display: block;
  margin-top: 12px;
  color: var(--navy-900);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.25;
}

@media (max-width: 1100px) {
  .pm-need-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-resource-grid,
  .pm-library-grid,
  .resource-principle-grid.compact,
  .template-section-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .pm-hero-layout,
  .resource-hero-layout { min-height: 480px; }
  .pm-spotlight-card,
  .pm-cta-card,
  .pm-home-preview-card,
  .pm-two-column,
  .resource-layout,
  .tool-layout { grid-template-columns: 1fr; }
  .resource-sidebar { position: static; }
  .tool-result { grid-column: auto; }
  .result-metrics,
  .result-metrics.evm-metrics { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  .pm-need-grid,
  .pm-resource-grid,
  .pm-library-grid,
  .resource-principle-grid,
  .resource-principle-grid.compact,
  .template-section-grid,
  .template-section-grid.compact,
  .related-grid,
  .checklist-grid,
  .pm-home-preview-links,
  .result-metrics,
  .result-metrics.evm-metrics { grid-template-columns: 1fr; }
  .pm-spotlight-card,
  .pm-cta-card,
  .pm-home-preview-card,
  .resource-content,
  .tool-intro,
  .tool-form,
  .tool-result { padding: 28px; }
}



/* Project Health Check breakdown chart */
.health-chart-card {
  max-width: 100%;
  min-width: 0;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--surface);
  overflow-x: auto;
}

.health-chart-card h3 {
  margin: 0 0 14px;
  color: var(--navy-900);
  font-size: 18px;
}

.health-chart-card svg {
  display: block;
  width: 100%;
  min-width: 700px;
  height: auto;
  background: var(--white);
}

.health-grid-line {
  stroke: #d5dde4;
  stroke-width: 1;
  stroke-dasharray: 4 5;
}

.health-axis-main {
  stroke: var(--navy-900);
  stroke-width: 1.8;
}

.health-area-label {
  fill: var(--navy-900);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 800;
}

.health-bar-bg {
  fill: #eef3f7;
}

.health-bar-neutral {
  fill: #64748b;
}

.health-bar-strong {
  fill: var(--gold-500);
}

.health-bar-weak {
  fill: #be123c;
}

/* PERT estimate range chart */
.pert-chart-card {
  max-width: 100%;
  min-width: 0;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--surface);
  overflow-x: auto;
}

.pert-chart-card svg {
  display: block;
  width: 100%;
  min-width: 680px;
  height: auto;
  background: var(--white);
}

.chart-note {
  margin: 14px 0 0;
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.6;
}

.pert-axis-main {
  stroke: var(--navy-900);
  stroke-width: 1.8;
}

.pert-grid-line {
  stroke: #d5dde4;
  stroke-width: 1;
  stroke-dasharray: 4 5;
}

.pert-planning-band {
  fill: rgba(201, 166, 107, 0.2);
  stroke: rgba(201, 166, 107, 0.55);
  stroke-width: 1;
}

.pert-range-line {
  stroke: #708193;
  stroke-width: 4;
  stroke-linecap: round;
}

.pert-marker-line {
  stroke: #aab7c4;
  stroke-width: 1.2;
  stroke-dasharray: 3 4;
}

.pert-point-neutral {
  fill: #64748b;
  stroke: var(--white);
  stroke-width: 2;
}

.pert-point-expected {
  fill: var(--gold-500);
  stroke: var(--navy-900);
  stroke-width: 2.2;
}

.pert-label-expected {
  fill: var(--navy-900);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 900;
}

/* EVM S-curve chart */
.wide-tool-layout {
  min-width: 0;
  grid-template-columns: minmax(260px, 0.75fr) minmax(520px, 1.35fr);
}

.evm-curve-section {
  background: var(--white);
}

.evm-curve-form {
  overflow: hidden;
}

.curve-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--surface);
}

.evm-curve-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.evm-curve-table th,
.evm-curve-table td {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.evm-curve-table th {
  color: var(--navy-900);
  background: var(--gold-100);
  font-size: var(--text-label);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.evm-curve-table tr:last-child td {
  border-bottom: 0;
}

.evm-curve-table input {
  min-width: 130px;
  padding: 11px 12px;
}

.curve-actions {
  flex-wrap: wrap;
}

.evm-curve-result {
  grid-column: 1 / -1;
}

.evm-chart-card {
  max-width: 100%;
  min-width: 0;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--surface);
  overflow-x: auto;
}

.evm-chart-card svg {
  display: block;
  width: 100%;
  min-width: 720px;
  height: auto;
  background: var(--white);
}

.evm-axis,
.evm-grid-line {
  stroke: #cad3db;
  stroke-width: 1;
}

.evm-axis-main {
  stroke: var(--navy-900);
  stroke-width: 1.8;
}

.evm-grid-line {
  stroke-dasharray: 4 5;
  opacity: 0.8;
}

.evm-chart-text {
  fill: var(--text-muted);
  font-family: var(--font-body);
  font-size: 12px;
}

.evm-chart-label {
  fill: var(--navy-900);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 800;
}

.evm-line {
  fill: none;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.evm-line-pv { stroke: #1d4ed8; }
.evm-line-ev { stroke: #be123c; }
.evm-line-ac { stroke: #15803d; }

.evm-point-pv { fill: #1d4ed8; }
.evm-point-ev { fill: #be123c; }
.evm-point-ac { fill: #15803d; }

.evm-latest-line {
  stroke: var(--gold-500);
  stroke-width: 1.5;
  stroke-dasharray: 5 5;
}

@media (max-width: 900px) {
  .wide-tool-layout { grid-template-columns: 1fr; }
}

/* PM Hub resource pages: keep long article content visible even when opened directly with anchor links. */
.motion-ready .resource-content.reveal,
.resource-content.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.resource-content section {
  scroll-margin-top: calc(var(--header-height) + 28px);
}


/* PM Hub robustness: prevent anchor-linked resource pages from appearing blank if animation timing is interrupted. */
.motion-ready .resource-sidebar.reveal,
.motion-ready .resource-content.reveal,
.resource-sidebar.reveal,
.resource-content.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.resource-section [id],
.tool-section [id] {
  scroll-margin-top: calc(var(--header-height) + 28px);
}

/* Project Charter Builder */
.privacy-note{margin-top:1rem;max-width:760px;color:rgba(255,255,255,.82);font-size:.95rem}
.charter-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.charter-topic-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(7,20,38,.05)}
.help-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:800;flex:0 0 auto}
.charter-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.charter-mode-grid article{padding:1.6rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(7,20,38,.06)}
.charter-builder-section{background:#f5f7fa}
.charter-builder-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2rem;align-items:start}
.charter-progress-panel{position:sticky;top:110px;padding:1.4rem;border-radius:18px;background:var(--navy-900);color:#fff}
.charter-progress-track{height:8px;background:rgba(255,255,255,.16);border-radius:999px;overflow:hidden;margin:.7rem 0}
.charter-progress-track span{display:block;height:100%;width:14.28%;background:var(--gold);transition:width .25s ease}
.charter-step-nav{display:grid;gap:.35rem;margin:1rem 0}
.charter-step-nav button{padding:.7rem .8rem;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.72);font:inherit;text-align:left;cursor:pointer}
.charter-step-nav button.active{background:rgba(255,255,255,.12);color:#fff;font-weight:700}
.charter-readiness{padding-top:1rem;border-top:1px solid rgba(255,255,255,.14)}
.charter-readiness h3{font-size:1rem;margin-bottom:.6rem}.charter-readiness p{margin:.35rem 0;color:rgba(255,255,255,.76);font-size:.9rem}
.charter-form{padding:2rem;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(7,20,38,.08)}
.charter-step>p{max-width:820px}.charter-step label{display:grid;gap:.45rem;margin:1rem 0;font-weight:700;color:var(--ink)}
.charter-step input,.charter-step select,.charter-step textarea{width:100%;padding:.85rem 1rem;border:1px solid #cbd3dc;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.charter-step textarea{resize:vertical}.form-grid{display:grid;gap:0 1rem}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}
.guidance-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;margin:1rem 0 1.5rem;border-left:4px solid var(--gold);border-radius:12px;background:#f7f2e8}.guidance-banner p{margin:.25rem 0 0}
.text-button{border:0;background:transparent;color:#8a6421;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.text-button.danger{color:#9b2f2f}
.dynamic-section{padding:1.2rem 0;border-top:1px solid var(--line)}.dynamic-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dynamic-header button{border:1px solid var(--navy);border-radius:999px;padding:.55rem .85rem;background:#fff;color:var(--navy);font:inherit;font-weight:700;cursor:pointer}
.dynamic-row{display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr)) auto;gap:.75rem;align-items:end;padding:1rem;margin-top:.8rem;border:1px solid var(--line);border-radius:14px;background:#fafbfc}.dynamic-row label{margin:0}.remove-row{width:38px;height:38px;border:0;border-radius:50%;background:#f4e7e7;color:#8f2525;font-size:1.25rem;cursor:pointer}
.charter-form-actions{display:flex;align-items:center;gap:.8rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.charter-preview{background:#e9edf2;padding:2rem;border-radius:16px}.charter-document{max-width:820px;margin:auto;background:#fff;padding:3rem;box-shadow:0 10px 35px rgba(7,20,38,.12);color:#1d2733}.charter-document h1{text-align:center}.charter-document h2{margin-top:2rem;padding-bottom:.4rem;border-bottom:2px solid #b8944d;font-size:1.35rem}.charter-document table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}.charter-document th,.charter-document td{border:1px solid #cfd5dc;padding:.55rem;text-align:left;vertical-align:top}.charter-document th{background:#eef1f4}.charter-cover{text-align:center;padding:3rem 1rem 4rem}.charter-cover .cover-kicker{letter-spacing:.18em;text-transform:uppercase;color:#916d28;font-weight:800}.review-actions{display:flex;justify-content:flex-end;gap:.8rem;margin-top:1rem}
.help-dialog{width:min(680px,calc(100% - 2rem));max-height:82vh;padding:2rem;border:0;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.help-dialog::backdrop{background:rgba(4,12,24,.68)}.dialog-close{position:absolute;right:1rem;top:1rem;width:36px;height:36px;border:0;border-radius:50%;background:#edf0f3;font-size:1.5rem;cursor:pointer}.help-dialog h2{padding-right:2rem}.help-dialog h3{margin-top:1.4rem}.help-dialog ul{padding-left:1.2rem}.guide-dialog{width:min(850px,calc(100% - 2rem))}
@media(max-width:900px){.charter-builder-shell{grid-template-columns:1fr}.charter-progress-panel{position:static}.charter-step-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.charter-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.charter-topic-grid,.charter-mode-grid,.two-column,.three-column{grid-template-columns:1fr}.charter-form{padding:1.2rem}.dynamic-row{grid-template-columns:1fr}.charter-step-nav{grid-template-columns:1fr}.guidance-banner{align-items:flex-start;flex-direction:column}.charter-document{padding:1.2rem}.review-actions,.charter-form-actions{flex-wrap:wrap}}

/* Project Charter Builder visibility and contrast fixes */
.charter-form-actions [hidden]{display:none!important}
.charter-progress-panel{background:var(--navy-900);box-shadow:0 18px 45px rgba(5,16,31,.22)}
.charter-progress-panel .eyebrow,.charter-progress-panel strong,.charter-progress-panel h3{color:#fff}
.charter-step-nav button{color:rgba(255,255,255,.78)}
.charter-step-nav button:hover,.charter-step-nav button:focus-visible{background:rgba(255,255,255,.08);color:#fff}
.charter-step-nav button.active{background:var(--gold);color:var(--navy-950)}
.charter-readiness p{color:rgba(255,255,255,.82)}

/* RAID Log Builder */
.raid-hero .pm-hero-content{max-width:980px}
.raid-intro-section{background:var(--white)}
.raid-type-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}
.raid-type-card{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(7,20,38,.05)}
.raid-type-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font-weight:900;flex:0 0 auto}
.raid-type-card h3{margin:0 0 .3rem;font-size:1.05rem}.raid-type-card p{margin:0;color:var(--text-muted);font-size:.92rem}
.raid-type-card.risk>span,.raid-type-dot.risk,.composition-legend i.risk,.composition-bar .risk{background:#be123c}
.raid-type-card.action>span,.raid-type-dot.action,.composition-legend i.action,.composition-bar .action{background:#1d4ed8}
.raid-type-card.issue>span,.raid-type-dot.issue,.composition-legend i.issue,.composition-bar .issue{background:#b45309}
.raid-type-card.dependency>span,.raid-type-dot.dependency,.composition-legend i.dependency,.composition-bar .dependency{background:#15803d}
.raid-builder-section{background:#f4f6f8;padding-top:2.5rem}
.raid-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.5rem;align-items:start}
.raid-sidebar{position:sticky;top:105px;max-height:calc(100vh - 125px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:20px;background:var(--navy-900);box-shadow:0 18px 48px rgba(7,20,38,.18)}
.raid-project-card{padding:1.4rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.raid-project-card h2{font-size:1.25rem;margin:.25rem 0;color:#fff;overflow-wrap:anywhere}.raid-project-card>p:not(.eyebrow){color:rgba(255,255,255,.7);margin:.15rem 0 1rem}
.raid-project-meta{display:grid;gap:.55rem;margin:1rem 0 0}.raid-project-meta div{display:flex;justify-content:space-between;gap:.8rem;font-size:.82rem}.raid-project-meta dt{color:rgba(255,255,255,.58)}.raid-project-meta dd{margin:0;color:#fff;text-align:right;font-weight:700}
.raid-tab-nav{display:grid;padding:.7rem}.raid-tab-nav button{display:flex;justify-content:space-between;align-items:center;gap:.7rem;width:100%;padding:.75rem .85rem;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.76);font:inherit;font-weight:700;text-align:left;cursor:pointer}.raid-tab-nav button:hover,.raid-tab-nav button:focus-visible{background:rgba(255,255,255,.08);color:#fff}.raid-tab-nav button.active{background:var(--gold);color:var(--navy-950)}.raid-tab-nav button span{min-width:24px;padding:.1rem .35rem;border-radius:999px;background:rgba(255,255,255,.14);font-size:.75rem;text-align:center}.raid-tab-nav button.active span{background:rgba(7,20,38,.12)}
.raid-filter-notice{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #d8b864;border-radius:10px;background:#fff8e8;color:var(--navy-900);font-size:.86rem;font-weight:700}.raid-filter-notice[hidden]{display:none!important}.raid-filter-notice .text-button{flex:0 0 auto}.heatmap-cell:disabled{cursor:default;opacity:.58}.heatmap-cell:disabled:hover{transform:none;box-shadow:none}

.raid-reset-button{display:block;margin:0 auto 1rem;color:#f5b8b8}
.raid-workspace{min-width:0}
.raid-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(7,20,38,.05)}.raid-toolbar h2{margin:.2rem 0 0;font-size:1.55rem}.raid-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.raid-toolbar-actions .button{padding:.72rem .9rem;font-size:.86rem}
.raid-project-setup{margin-bottom:1rem;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff}.raid-project-setup h3{margin:0}.raid-project-setup p{margin:.3rem 0 0;color:var(--text-muted)}.raid-project-fields label,.raid-filters label,.raid-form-grid label{display:grid;gap:.4rem;color:var(--navy-900);font-weight:700;font-size:.88rem}.raid-project-fields input,.raid-project-fields select,.raid-filters input,.raid-filters select,.raid-form-grid input,.raid-form-grid select,.raid-form-grid textarea{width:100%;padding:.75rem .85rem;border:1px solid #c8d1da;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-weight:400}.raid-project-fields input:focus,.raid-project-fields select:focus,.raid-filters input:focus,.raid-filters select:focus,.raid-form-grid input:focus,.raid-form-grid select:focus,.raid-form-grid textarea:focus{outline:3px solid rgba(198,164,92,.22);border-color:var(--gold)}
.raid-panel{padding:1.35rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(7,20,38,.05)}.raid-panel[hidden]{display:none!important}.raid-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.raid-panel-heading h3{margin:.15rem 0 0;font-size:1.35rem}.raid-add-group{display:flex;flex-wrap:wrap;gap:.45rem}.raid-add-group .button{padding:.65rem .8rem}
.raid-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.raid-kpi-card{padding:1rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafc)}.raid-kpi-card span{display:block;color:var(--text-muted);font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.raid-kpi-card strong{display:block;margin:.35rem 0;font-size:1.9rem;color:var(--navy-900)}.raid-kpi-card small{color:var(--text-muted)}
.raid-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.raid-dashboard-card{min-width:0;padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:#fff}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.card-heading h3{margin:.2rem 0 1rem}.info-badge{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:800}
.risk-heatmap{display:grid;grid-template-columns:34px repeat(5,minmax(45px,1fr));grid-template-rows:24px repeat(5,54px);gap:5px;position:relative;padding:0 0 24px 26px}.heatmap-corner,.heatmap-header{display:grid;place-items:center;color:var(--text-muted);font-size:.75rem;font-weight:800}.heatmap-axis-title{position:absolute;color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.heatmap-axis-title.impact{left:50%;bottom:0;transform:translateX(-50%)}.heatmap-axis-title.probability{left:-24px;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top}.heatmap-cell{display:grid;place-items:center;border:0;border-radius:8px;color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.heatmap-cell:hover,.heatmap-cell:focus-visible{transform:translateY(-2px);box-shadow:0 7px 16px rgba(7,20,38,.16)}.heatmap-cell span{font-size:1.05rem;font-weight:900}.heatmap-cell small{font-size:.65rem;opacity:.78}.heatmap-cell.low{background:#2e7d32}.heatmap-cell.medium{background:#d09a16}.heatmap-cell.high{background:#e16c14}.heatmap-cell.critical{background:#b91c1c}
.composition-bar{display:flex;height:18px;overflow:hidden;border-radius:999px;background:#eef2f6;margin:1rem 0 1.25rem}.composition-bar span{display:block;min-width:0}.composition-legend{display:grid;gap:.75rem}.composition-legend div{display:grid;grid-template-columns:12px 1fr auto;gap:.65rem;align-items:center}.composition-legend i{display:block;width:10px;height:10px;border-radius:50%}.composition-legend span{color:var(--text-muted)}.composition-legend strong{color:var(--navy-900)}
.raid-status-bars{display:grid;gap:.9rem}.status-bar-row>div:first-child{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.status-bar-row span{color:var(--text-muted)}.status-bar-track{height:9px;overflow:hidden;border-radius:999px;background:#edf1f5}.status-bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#9d7330)}
.raid-due-list{display:grid;gap:.55rem}.raid-due-list button{display:grid;grid-template-columns:34px 1fr;gap:.75rem;align-items:center;width:100%;padding:.65rem;border:0;border-radius:10px;background:#f8fafc;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.raid-due-list button:hover{background:#eef2f6}.raid-due-list strong,.raid-due-list small{display:block}.raid-due-list small{margin-top:.15rem;color:var(--text-muted)}.raid-type-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;font-size:.78rem;font-weight:900}.raid-empty-inline{color:var(--text-muted);font-style:italic}
.raid-filters{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(6,minmax(120px,1fr));gap:.7rem;align-items:end;margin:0 0 1rem;padding:1rem;border-radius:14px;background:#f6f8fa}.raid-filters .button{align-self:end;height:45px;padding:.65rem .8rem}
.raid-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}.raid-table{width:100%;min-width:920px;border-collapse:collapse;font-size:.82rem}.raid-table.compact{min-width:720px}.raid-table th,.raid-table td{padding:.72rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.raid-table th{position:sticky;top:0;z-index:1;background:var(--navy-900);color:#fff;font-size:.72rem;letter-spacing:.045em;text-transform:uppercase}.raid-table tbody tr:nth-child(even){background:#f8fafc}.raid-table tbody tr:hover{background:#fff8e8}.raid-table tbody tr:last-child td{border-bottom:0}.raid-table td.is-overdue{color:#b91c1c;font-weight:800}.table-title-button{max-width:360px;border:0;background:transparent;color:var(--navy-900);font:inherit;font-weight:700;text-align:left;cursor:pointer}.table-title-button:hover{text-decoration:underline}.table-actions{display:flex;gap:.35rem;white-space:nowrap}.table-actions button{padding:.32rem .48rem;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy-900);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.table-actions button:last-child{color:#a52727}.raid-badge{display:inline-flex;align-items:center;min-height:24px;padding:.18rem .48rem;border-radius:999px;background:#e9eef3;color:#344255;font-size:.7rem;font-weight:800;white-space:nowrap}.raid-badge.risk{background:#fce7ee;color:#9f1239}.raid-badge.action{background:#dbeafe;color:#1e40af}.raid-badge.issue{background:#ffedd5;color:#9a3412}.raid-badge.dependency{background:#dcfce7;color:#166534}.raid-badge.critical,.raid-badge.overdue,.raid-badge.delayed{background:#fee2e2;color:#991b1b}.raid-badge.high,.raid-badge.at-risk,.raid-badge.blocked{background:#ffedd5;color:#9a3412}.raid-badge.medium,.raid-badge.in-progress,.raid-badge.under-investigation{background:#fef3c7;color:#854d0e}.raid-badge.low,.raid-badge.completed,.raid-badge.closed,.raid-badge.delivered,.raid-badge.resolved{background:#dcfce7;color:#166534}.quality-flag{display:inline-flex;padding:.2rem .45rem;border-radius:999px;background:#fff1f2;color:#9f1239;font-size:.7rem;font-weight:800}.quality-ok{color:#166534;font-size:.72rem;font-weight:800}.raid-empty{padding:2rem;text-align:center;color:var(--text-muted)}
.raid-executive-summary{padding:1.2rem;border-radius:14px;background:#e9edf2}.executive-summary-document{max-width:980px;margin:auto;padding:2rem;background:#fff;box-shadow:0 10px 30px rgba(7,20,38,.1)}.executive-summary-document header{padding-bottom:1rem;border-bottom:3px solid var(--gold)}.executive-summary-document header h2{margin:.25rem 0}.executive-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.2rem 0}.executive-snapshot div{padding:1rem;border:1px solid var(--line);background:#f8fafc}.executive-snapshot span{display:block;color:var(--text-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.executive-snapshot strong{display:block;margin-top:.3rem;font-size:1.55rem;color:var(--navy-900)}.executive-summary-document section{margin-top:1.5rem}.executive-summary-document h4{margin:0 0 .65rem;color:var(--navy-900)}
.raid-item-dialog{width:min(980px,calc(100% - 2rem));max-height:90vh;padding:0;border:0;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.raid-item-dialog::backdrop{background:rgba(3,11,22,.72)}.raid-item-dialog form{padding:1.5rem 1.7rem 1.7rem}.raid-dialog-header{position:sticky;top:-1.5rem;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;margin:-1.5rem -1.7rem 1.25rem;padding:1.35rem 1.7rem 1rem;background:#fff;border-bottom:1px solid var(--line)}.raid-dialog-header h2{margin:.15rem 0 0}.raid-item-dialog .dialog-close{position:static;flex:0 0 auto}.raid-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.raid-form-grid .full-width{grid-column:1/-1}.raid-form-grid textarea{resize:vertical}.raid-guide-note{margin:1rem 0;padding:.9rem 1rem;border-left:4px solid var(--gold);background:#f7f2e8;color:#4a3c24}.risk-score-preview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.risk-score-preview strong{font-size:1.45rem;color:var(--navy-900)}.risk-score-preview span:last-child{font-weight:800;color:#8a6421}.raid-common-fields{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.raid-dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}
.resource-link-list{display:grid;gap:.65rem}.resource-link-list a{display:grid;gap:.2rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.05);color:#fff}.resource-link-list a span{color:rgba(255,255,255,.7);font-size:.88rem}
@media(max-width:1180px){.raid-shell{grid-template-columns:220px minmax(0,1fr)}.raid-filters{grid-template-columns:repeat(4,minmax(130px,1fr))}.raid-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.raid-toolbar{align-items:stretch;flex-direction:column}.raid-toolbar-actions{justify-content:flex-start}}
@media(max-width:900px){.raid-type-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.raid-shell{grid-template-columns:1fr}.raid-sidebar{position:static;max-height:none;overflow:visible;scrollbar-gutter:auto}.raid-tab-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.raid-dashboard-grid{grid-template-columns:1fr}.raid-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.raid-type-overview,.raid-kpi-grid,.raid-filters,.raid-form-grid{grid-template-columns:1fr}.raid-tab-nav{grid-template-columns:1fr}.raid-toolbar-actions,.raid-add-group,.raid-dialog-actions{display:grid;grid-template-columns:1fr;width:100%}.raid-toolbar-actions .button,.raid-add-group .button,.raid-dialog-actions .button{width:100%}.raid-panel{padding:1rem}.raid-project-setup{padding:1rem}.raid-item-dialog form{padding:1.15rem}.raid-dialog-header{margin:-1.15rem -1.15rem 1rem;padding:1.1rem}.executive-snapshot{grid-template-columns:1fr}.risk-heatmap{grid-template-columns:28px repeat(5,minmax(34px,1fr));grid-template-rows:22px repeat(5,46px);padding-left:20px}.raid-table{font-size:.76rem}}
.raid-project-fields[hidden], [data-type-fields][hidden]{display:none!important}
.due-trend{display:grid;gap:.55rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.due-trend>div{display:grid;grid-template-columns:82px 1fr 24px;gap:.55rem;align-items:center;font-size:.75rem}.due-trend span{color:var(--text-muted)}.due-trend>div>div{height:8px;overflow:hidden;border-radius:999px;background:#edf1f5}.due-trend i{display:block;height:100%;border-radius:inherit;background:var(--gold)}.due-trend strong{text-align:right;color:var(--navy-900)}
.due-item-list{display:grid;gap:.55rem}

/* PM Hub Campaign 1 charter QA fixes */
.charter-builder-shell > *,
.charter-form,
.charter-step,
.charter-preview,
.charter-document {
  min-width: 0;
}
.charter-progress-track[role="progressbar"] {
  position: relative;
}
.charter-step-nav button[aria-current="step"] {
  outline: 2px solid rgba(198, 164, 92, .75);
  outline-offset: 2px;
}
.charter-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.charter-table-scroll:focus-visible {
  outline: 3px solid rgba(13, 35, 61, .35);
  outline-offset: 3px;
}
.charter-document th,
.charter-document td {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 640px) {
  .charter-builder-section .container,
  .charter-builder-shell,
  .charter-form,
  .charter-step,
  .charter-preview,
  .charter-document {
    width: 100%;
    max-width: 100%;
  }
  .charter-preview {
    padding: .75rem;
    overflow: hidden;
  }
  .charter-document {
    margin: 0;
    padding: 1rem;
    box-shadow: none;
  }
  .charter-document table {
    min-width: 560px;
  }
  .charter-form-actions,
  .review-actions {
    align-items: stretch;
  }
  .charter-form-actions .button,
  .review-actions .button {
    flex: 1 1 100%;
  }
}


/* Campaign 2 responsive chart containment */
@media (max-width: 900px) {
  .tool-layout,
  .wide-tool-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .tool-layout > *,
  .wide-tool-layout > * {
    min-width: 0;
    max-width: 100%;
  }
  .health-chart-card svg,
  .pert-chart-card svg,
  .evm-chart-card svg {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  .curve-table-wrap {
    overflow-x: auto;
    contain: inline-size;
  }
}

@media (max-width: 620px) {
  .health-chart-card,
  .pert-chart-card,
  .evm-chart-card {
    padding: 10px;
    overflow-x: hidden;
  }
  .evm-curve-table {
    min-width: 680px;
  }
}

/* Stakeholder Management Suite — pmhub-20 */
.stakeholder-suite-section{background:#f4f7fb}.stakeholder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;margin-bottom:1rem;background:#fff;border:1px solid rgba(7,20,38,.12);border-radius:16px;box-shadow:0 12px 30px rgba(7,20,38,.06)}.connected-project-label{display:block;color:#64748b;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.stakeholder-toolbar-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.stakeholder-project-panel{background:#fff;border:1px solid rgba(7,20,38,.12);border-radius:16px;margin-bottom:1rem;overflow:hidden}.stakeholder-project-panel summary{padding:1rem 1.25rem;font-weight:700;cursor:pointer}.stakeholder-project-panel .project-grid{padding:0 1.25rem 1.25rem}.stakeholder-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1rem;align-items:start}.stakeholder-sidebar{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow:auto;background:#071426;border-radius:18px;padding:.8rem}.stakeholder-sidebar [role=tablist]{display:grid;gap:.25rem}.stakeholder-sidebar [role=tab]{border:0;background:transparent;color:#d9e2ef;text-align:left;padding:.8rem .9rem;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.stakeholder-sidebar [role=tab][aria-selected=true]{background:#c9a96a;color:#071426}.stakeholder-sidebar .danger{width:100%;margin-top:1rem;color:#ffc3c3}.stakeholder-panels{min-width:0}.stakeholder-panel{background:#fff;border:1px solid rgba(7,20,38,.12);border-radius:18px;padding:1.25rem;min-height:580px}.stakeholder-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.stakeholder-panel-heading h2{margin:.1rem 0 0}.stakeholder-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.stakeholder-kpis article{background:#f7f9fc;border:1px solid rgba(7,20,38,.1);padding:1rem;border-radius:14px}.stakeholder-kpis span,.stakeholder-kpis small{display:block;color:#64748b;font-size:.78rem}.stakeholder-kpis strong{display:block;font-size:1.65rem;color:#071426;margin:.15rem 0}.stakeholder-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.stakeholder-card{border:1px solid rgba(7,20,38,.1);border-radius:14px;padding:1rem;min-width:0}.stakeholder-card h3{margin-top:0;font-size:1.05rem}.mini-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.mini-matrix button{border:1px solid rgba(7,20,38,.12);background:#f7f9fc;border-radius:10px;padding:.85rem;cursor:pointer;text-align:left}.mini-matrix strong,.mini-matrix span{display:block}.mini-matrix strong{font-size:1.35rem}.mini-matrix span{font-size:.78rem;color:#526174}.stakeholder-bars{display:grid;gap:.45rem}.stakeholder-bars>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e6ebf2;padding:.35rem 0}.attention-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.attention-list button{width:100%;border:0;background:#fff7ed;border-left:4px solid #c97522;text-align:left;padding:.7rem;border-radius:8px;cursor:pointer}.attention-list strong,.attention-list span{display:block}.attention-list span{font-size:.8rem;color:#75430f;margin-top:.2rem}.stakeholder-filters{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;background:#f7f9fc;border-radius:12px;padding:.8rem}.stakeholder-filters label{min-width:135px;flex:1;font-size:.78rem;font-weight:700;color:#42526a}.stakeholder-filters input,.stakeholder-filters select{width:100%;margin-top:.25rem;padding:.55rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.stakeholder-table-wrap{overflow:auto;max-width:100%;border:1px solid #e2e8f0;border-radius:12px}.stakeholder-table{width:100%;border-collapse:collapse;min-width:1000px;font-size:.82rem}.stakeholder-table th{background:#071426;color:#fff;text-align:left;padding:.7rem;white-space:nowrap}.stakeholder-table td{padding:.7rem;border-bottom:1px solid #e8edf3;vertical-align:top}.stakeholder-table td strong,.stakeholder-table td small{display:block}.stakeholder-table td small{color:#64748b;margin-top:.2rem}.row-actions{white-space:nowrap}.row-actions button,.stakeholder-table td>button{border:0;background:transparent;color:#164e8d;text-decoration:underline;cursor:pointer;margin-right:.5rem}.stakeholder-badge{display:inline-block;padding:.22rem .5rem;border-radius:999px;background:#e8edf5;font-size:.72rem;font-weight:700;white-space:nowrap}.priority-critical{background:#fee2e2;color:#991b1b}.priority-high{background:#ffedd5;color:#9a3412}.priority-medium{background:#fef3c7;color:#854d0e}.priority-low{background:#dcfce7;color:#166534}.quality-complete{background:#dcfce7;color:#166534}.quality-attention{background:#ffedd5;color:#9a3412}.quality-partial{background:#fef3c7;color:#854d0e}.quality-incomplete{background:#fee2e2;color:#991b1b}.stakeholder-empty,.stakeholder-empty-state{color:#64748b;padding:1rem;text-align:center}.matrix-legend{display:flex;gap:1rem;color:#64748b;font-size:.82rem;margin-bottom:.75rem}.stakeholder-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stakeholder-matrix article{min-height:220px;border:1px solid #ccd6e4;border-radius:14px;background:#f8fafc;padding:.9rem}.stakeholder-matrix article header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4ee;margin-bottom:.75rem;padding-bottom:.55rem}.stakeholder-matrix h3{font-size:1rem;margin:0}.stakeholder-matrix header span{background:#071426;color:#fff;border-radius:999px;padding:.18rem .5rem;font-size:.75rem}.stakeholder-chip{display:inline-flex;gap:.4rem;align-items:center;border:1px solid #c9d4e3;background:#fff;padding:.45rem .6rem;margin:.2rem;border-radius:999px;cursor:pointer}.stakeholder-chip small{color:#64748b}.stakeholder-unassessed{margin-top:1rem;color:#64748b}.stakeholder-dialog{width:min(980px,94vw);max-height:90vh;border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.3)}.stakeholder-dialog::backdrop{background:rgba(2,10,22,.72)}.stakeholder-dialog form{padding:1.25rem;max-height:90vh;overflow:auto}.stakeholder-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:-1.25rem;background:#fff;z-index:2;padding:1.25rem 0 1rem;border-bottom:1px solid #e2e8f0}.stakeholder-dialog-header h2{margin:.1rem 0}.stakeholder-dialog fieldset{border:1px solid #d9e2ec;border-radius:14px;margin:1rem 0;padding:1rem}.stakeholder-dialog legend{font-weight:700;padding:0 .5rem}.stakeholder-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.stakeholder-form-grid label{font-size:.8rem;font-weight:700;color:#34445a}.stakeholder-form-grid input,.stakeholder-form-grid select,.stakeholder-form-grid textarea{width:100%;margin-top:.3rem;padding:.65rem;border:1px solid #bdc9d8;border-radius:8px;font:inherit;background:#fff}.stakeholder-form-grid select[multiple]{min-height:130px}.stakeholder-form-grid .full-width{grid-column:1/-1}.stakeholder-score-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;background:#071426;color:#fff;padding:.8rem;border-radius:12px}.stakeholder-score-preview span,.stakeholder-score-preview strong{display:block}.stakeholder-score-preview span{font-size:.72rem}.stakeholder-score-preview strong{margin-top:.2rem;font-size:.84rem;color:#f4d9a2}.stakeholder-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;position:sticky;bottom:-1.25rem;background:#fff;padding:1rem 0 1.25rem;border-top:1px solid #e2e8f0}.stakeholder-report-preview{display:grid;gap:1rem}.stakeholder-report-preview article{border:1px solid #dce4ee;border-radius:12px;padding:1rem}.stakeholder-report-preview h3{margin-top:0}.quality-list{display:grid;gap:.75rem}.quality-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:1rem;border:1px solid #dce4ee;border-radius:12px}.quality-list article span{display:block;color:#64748b;font-size:.8rem}.quality-list article ul{grid-column:1/-1;margin:.25rem 0 0}.pm-tool-hero-card ul{padding-left:1.2rem}.pm-tool-hero-card p{font-size:.85rem;color:#c4cedd}
@media(max-width:1100px){.stakeholder-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stakeholder-workspace{grid-template-columns:190px minmax(0,1fr)}.stakeholder-score-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.stakeholder-toolbar{align-items:flex-start;flex-direction:column}.stakeholder-toolbar-actions{justify-content:flex-start}.stakeholder-workspace{display:block}.stakeholder-sidebar{position:static;max-height:none;margin-bottom:1rem}.stakeholder-sidebar [role=tablist]{display:flex;overflow:auto}.stakeholder-sidebar [role=tab]{white-space:nowrap}.stakeholder-dashboard-grid,.stakeholder-matrix{grid-template-columns:1fr}.stakeholder-panel{padding:.9rem}.stakeholder-panel-heading{flex-direction:column}.stakeholder-form-grid{grid-template-columns:1fr}.stakeholder-form-grid .full-width{grid-column:auto}.stakeholder-score-preview{grid-column:auto;grid-template-columns:1fr 1fr}.stakeholder-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.stakeholder-kpis{grid-template-columns:1fr}.stakeholder-score-preview{grid-template-columns:1fr}.stakeholder-toolbar-actions .button{width:100%}.stakeholder-toolbar-actions{width:100%}.stakeholder-dialog{width:100vw;max-height:100vh;border-radius:0}.stakeholder-dialog form{max-height:100vh}.quality-list article{grid-template-columns:1fr}.stakeholder-sidebar{margin-left:-.2rem;margin-right:-.2rem}}

/* PM Hub workspace refinement — Stakeholder Management Suite pmhub-20 */
.pm-tool-privacy-note{margin-top:1rem;color:#cbd5e1;font-size:.9rem;max-width:720px}
.stakeholder-suite-section{padding-top:2rem}
.stakeholder-toolbar{position:sticky;top:78px;z-index:8;padding:.85rem 1rem;border-radius:14px}
.stakeholder-toolbar-actions .button{min-height:44px;padding:.72rem .9rem}
.stakeholder-project-panel{border-radius:14px}
.stakeholder-project-panel summary{display:flex;align-items:center;gap:.5rem}
.stakeholder-workspace{grid-template-columns:172px minmax(0,1fr);gap:1.1rem}
.stakeholder-sidebar{top:158px;border-radius:14px;padding:.55rem;box-shadow:0 16px 35px rgba(7,20,38,.12)}
.stakeholder-sidebar [role=tablist]{gap:.15rem}
.stakeholder-sidebar [role=tab]{padding:.68rem .72rem;border-radius:8px;font-size:.9rem;line-height:1.25}
.stakeholder-sidebar [role=tab][aria-selected=true]{box-shadow:inset 0 0 0 2px rgba(7,20,38,.2)}
.stakeholder-panel{border-radius:14px;padding:1.35rem;min-height:560px;box-shadow:0 12px 30px rgba(7,20,38,.035)}
.stakeholder-panel-heading{padding-bottom:.85rem;border-bottom:1px solid #e7ecf2;margin-bottom:1rem}
.stakeholder-panel-heading h2{font-size:clamp(1.9rem,3vw,3rem)}
.stakeholder-kpis{grid-template-columns:repeat(4,minmax(145px,1fr));gap:.8rem}
.stakeholder-kpis article{background:#fff;border-left:4px solid #c9a96a;box-shadow:0 8px 20px rgba(7,20,38,.045)}
.stakeholder-filters{padding:.75rem;border:1px solid #e5eaf1;background:#f8fafc}
.stakeholder-table{min-width:1370px;font-size:.8rem}
.stakeholder-table th{position:sticky;top:0;z-index:1;padding:.72rem .62rem;font-size:.75rem;letter-spacing:.02em}
.stakeholder-table td{padding:.75rem .62rem}
.stakeholder-table tbody tr:hover{background:#f8fafc}
.stakeholder-name-link{display:block;border:0;background:transparent;text-align:left;padding:0;color:#071426;cursor:pointer;font:inherit}
.stakeholder-name-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.stakeholder-name-link strong,.stakeholder-name-link small{display:block}
.stakeholder-name-link small{margin-top:.2rem;color:#64748b;font-size:.72rem;font-weight:400}
.rating-cell{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:#edf2f7;color:#071426;font-weight:800}
.stakeholder-empty{margin:1rem;border:1px dashed #cbd5e1;border-radius:12px;padding:2rem}
.stakeholder-dialog{width:min(920px,94vw);border-radius:16px}
.stakeholder-dialog fieldset{background:#fbfcfe}
.stakeholder-dialog legend{color:#071426}
.stakeholder-dialog-actions{box-shadow:0 -8px 20px rgba(7,20,38,.04)}
@media(max-width:1100px){.stakeholder-workspace{grid-template-columns:156px minmax(0,1fr)}.stakeholder-sidebar [role=tab]{font-size:.84rem}.stakeholder-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.stakeholder-toolbar{position:static}.stakeholder-sidebar{position:static}.stakeholder-sidebar [role=tablist]{padding-bottom:.25rem}.stakeholder-sidebar [role=tab]{padding:.7rem .8rem}.stakeholder-panel-heading h2{font-size:2rem}}
/* Stakeholder Suite dashboard refinement — pmhub-22 */
.panel-intro{margin:.35rem 0 0;color:#64748b;max-width:720px}.stakeholder-kpis .stakeholder-kpi{appearance:none;width:100%;text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid rgba(7,20,38,.1);border-left:4px solid #c9a96a;padding:1rem;border-radius:14px;box-shadow:0 8px 20px rgba(7,20,38,.045);transition:transform .15s ease,box-shadow .15s ease}.stakeholder-kpis .stakeholder-kpi:hover,.stakeholder-kpis .stakeholder-kpi:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,20,38,.1)}.stakeholder-kpis .stakeholder-kpi span,.stakeholder-kpis .stakeholder-kpi small{display:block;color:#64748b;font-size:.78rem}.stakeholder-kpis .stakeholder-kpi strong{display:block;font-size:1.65rem;color:#071426;margin:.15rem 0}.stakeholder-dashboard-grid-priority{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.stakeholder-card-wide{grid-column:span 2}.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.dashboard-card-heading h3{margin:0}.dashboard-text-action{border:0;background:transparent;color:#164e8d;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;padding:.15rem}.dashboard-action-list,.dashboard-person-list{display:grid;gap:.45rem}.dashboard-action-list>button,.dashboard-person-row{width:100%;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:.7rem;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font:inherit;cursor:pointer}.dashboard-action-list>button:hover,.dashboard-person-row:hover{background:#f8fafc;border-color:#b8c6d8}.dashboard-action-list span:first-child,.dashboard-person-row>span:first-child{min-width:0}.dashboard-action-list strong,.dashboard-action-list small,.dashboard-person-row strong,.dashboard-person-row small{display:block}.dashboard-action-list small,.dashboard-person-row small{margin-top:.18rem;color:#64748b;font-size:.74rem;white-space:normal}.dashboard-score{font-weight:800!important;color:#071426!important;text-align:right}.dashboard-date{text-align:right;font-weight:700;font-size:.78rem;white-space:nowrap;color:#334155}.dashboard-date small{font-weight:500}.dashboard-date.is-overdue,.dashboard-date.is-overdue small{color:#b42318}.dashboard-distribution{display:grid;gap:.55rem}.dashboard-distribution>div{display:grid;grid-template-columns:minmax(105px,1fr) minmax(80px,2fr) 26px;gap:.55rem;align-items:center;font-size:.78rem}.dashboard-distribution>div>div{height:7px;border-radius:999px;background:#e8edf3;overflow:hidden}.dashboard-distribution i{display:block;height:100%;background:#c9a96a;border-radius:inherit}.dashboard-distribution strong{text-align:right}.dashboard-summary-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.dashboard-summary-tiles button{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.8rem;text-align:left;cursor:pointer}.dashboard-summary-tiles strong,.dashboard-summary-tiles span{display:block}.dashboard-summary-tiles strong{font-size:1.35rem;color:#071426}.dashboard-summary-tiles span{font-size:.74rem;color:#64748b;margin-top:.15rem}
@media(max-width:1150px){.stakeholder-dashboard-grid-priority{grid-template-columns:repeat(2,minmax(0,1fr))}.stakeholder-card-wide{grid-column:1/-1}}
@media(max-width:820px){.stakeholder-dashboard-grid-priority{grid-template-columns:1fr}.stakeholder-card-wide{grid-column:auto}.dashboard-card-heading{align-items:center}}

/* PM Hub 24: progressive stakeholder form and PM Coach */
.stakeholder-dialog{width:min(1180px,96vw);max-height:94vh;padding:0;overflow:hidden}
.stakeholder-dialog form{display:flex;flex-direction:column;max-height:94vh}
.stakeholder-wizard{display:grid;grid-template-columns:190px minmax(0,1fr) 260px;min-height:560px;overflow:hidden}
.stakeholder-wizard-nav{padding:1rem;background:#f5f7f8;border-right:1px solid #dde3e7;display:flex;flex-direction:column;gap:.4rem}
.stakeholder-wizard-nav button{display:grid;grid-template-columns:30px 1fr;column-gap:.65rem;text-align:left;border:0;background:transparent;padding:.7rem;border-radius:10px;color:#46545c;cursor:pointer}
.stakeholder-wizard-nav button span{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e2e7ea;font-weight:700;font-size:.78rem}
.stakeholder-wizard-nav button strong{font-size:.88rem}.stakeholder-wizard-nav button small{font-size:.72rem;color:#718089}
.stakeholder-wizard-nav button.is-active{background:#fff;box-shadow:0 1px 8px rgba(19,44,55,.08);color:#173541}.stakeholder-wizard-nav button.is-active span{background:#b79349;color:#fff}
.stakeholder-wizard-nav button.is-complete span{background:#2f765c;color:#fff}
.stakeholder-wizard-content{overflow:auto;padding:1.25rem 1.4rem}.stakeholder-form-sections fieldset[hidden]{display:none}
.stakeholder-coach{border-left:1px solid #dde3e7;background:#fbfaf7;padding:1rem;overflow:auto}
.stakeholder-coach-heading{display:flex;align-items:center;gap:.65rem;padding-bottom:.9rem;border-bottom:1px solid #e4ded2}.stakeholder-coach-heading .coach-icon{width:36px;height:36px;border-radius:9px;background:#173541;color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:800}.stakeholder-coach-heading div{display:flex;flex-direction:column}.stakeholder-coach-heading small{color:#737b7e}
.coach-summary{display:grid;gap:.65rem;margin:1rem 0}.coach-metric{padding:.72rem;border:1px solid #e3dfd5;border-radius:9px;background:#fff}.coach-metric span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#737b7e}.coach-metric strong{font-size:.92rem;color:#173541}
.coach-advice{margin-top:1rem}.coach-advice h4{font-size:.8rem;margin:0 0 .55rem}.coach-advice ul{margin:0;padding-left:1.05rem;display:grid;gap:.5rem;font-size:.78rem;line-height:1.4}.coach-advice li.warning{color:#9b4a2d}.coach-advice li.positive{color:#2f765c}
.wizard-action-group{display:flex;align-items:center;gap:.65rem}.wizard-action-group [data-wizard-progress]{font-size:.78rem;color:#6c777d;min-width:74px;text-align:center}
.stakeholder-dialog-actions [data-wizard-back][hidden],.stakeholder-dialog-actions [data-wizard-next][hidden],.stakeholder-dialog-actions [data-wizard-save][hidden]{display:none}
@media(max-width:900px){.stakeholder-wizard{grid-template-columns:1fr}.stakeholder-wizard-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #dde3e7}.stakeholder-wizard-nav button{min-width:145px}.stakeholder-coach{border-left:0;border-top:1px solid #dde3e7}.stakeholder-dialog{width:98vw}.stakeholder-wizard-content{padding:1rem}}
@media(max-width:560px){.stakeholder-wizard-nav button small{display:none}.stakeholder-wizard-nav button{min-width:105px}.stakeholder-dialog-actions{align-items:stretch;flex-direction:column}.wizard-action-group{justify-content:space-between}.wizard-action-group .button{padding-inline:.75rem}}

/* PM Hub document control and branding */
.document-profile-dialog{max-width:820px;width:min(92vw,820px)}
.document-profile-dialog .stakeholder-dialog-header p{max-width:620px;margin:.35rem 0 0;color:var(--text-muted,#5f6b76)}
.document-profile-dialog input[type=color]{min-height:44px;padding:.25rem;width:100%}


/* PM Hub 28: reusable PM Coach decision-support panel */
.pm-coach-dashboard{margin:1rem 0 1.25rem;border:1px solid #d9e1e8;border-radius:16px;background:linear-gradient(135deg,#f8fafc 0%,#fff 65%);padding:1rem 1.1rem;box-shadow:0 10px 26px rgba(7,20,38,.05)}
.pm-coach-dashboard-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.pm-coach-dashboard-header h3{margin:.1rem 0;font-size:1.35rem}.pm-coach-dashboard-header p{margin:.25rem 0 0;color:#64748b;font-size:.86rem}
.pm-coach-counts{display:flex;flex-wrap:wrap;gap:.45rem}.pm-coach-counts span{border:1px solid #dbe3ea;background:#fff;border-radius:999px;padding:.35rem .6rem;font-size:.72rem;color:#475569}.pm-coach-counts strong{color:#071426}
.pm-coach-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin:.9rem 0}.pm-coach-filter button{border:1px solid #d8e0e8;background:#fff;border-radius:999px;padding:.38rem .72rem;font:inherit;font-size:.75rem;cursor:pointer}.pm-coach-filter button.is-active{background:#173541;border-color:#173541;color:#fff}
.pm-coach-findings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.pm-coach-finding{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;border:1px solid #e2e8f0;border-left:4px solid #64748b;border-radius:11px;background:#fff;padding:.75rem}.pm-coach-finding.severity-critical{border-left-color:#b42318}.pm-coach-finding.severity-warning{border-left-color:#b7791f}.pm-coach-finding.severity-opportunity{border-left-color:#2f765c}.pm-coach-finding.severity-information{border-left-color:#3b6ea8}.pm-coach-severity{text-transform:uppercase;font-size:.62rem;font-weight:800;letter-spacing:.05em;color:#64748b;padding-top:.1rem}.pm-coach-finding h4{margin:0 0 .22rem;font-size:.9rem;color:#071426}.pm-coach-finding p{margin:.15rem 0;font-size:.77rem;line-height:1.42;color:#536170}.pm-coach-finding>div>strong{display:block;margin-top:.42rem;font-size:.7rem;color:#173541}.pm-coach-finding>button{border:0;background:transparent;color:#164e8d;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer;padding:.2rem}
@media(max-width:900px){.pm-coach-dashboard-header{display:block}.pm-coach-counts{margin-top:.7rem}.pm-coach-findings{grid-template-columns:1fr}}
/* Risk Management Workspace */
.risk-heatmap{position:relative;max-width:920px;margin:1rem auto 2rem;padding:2rem 1rem 1rem 3rem}.risk-grid{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:.5rem}.risk-cell{min-height:110px;border:1px solid rgba(7,20,38,.15);border-radius:12px;padding:.65rem;text-align:left;display:flex;flex-direction:column;gap:.25rem;justify-content:space-between;cursor:pointer}.risk-cell strong{font-size:1.5rem}.risk-cell small{font-size:.72rem}.risk-cell.low{background:#e8f4ea}.risk-cell.medium{background:#fff4cc}.risk-cell.high{background:#ffe2bf}.risk-cell.critical{background:#f9c7c7}.risk-axis-label{text-align:center;font-weight:700;margin-bottom:.5rem}.risk-y-label{position:absolute;left:.2rem;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;font-weight:700}.summary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.completion-meter strong{font-size:2.2rem}.completion-meter>div{height:10px;background:#e9eef4;border-radius:999px;overflow:hidden}.completion-meter>div span{display:block;height:100%;background:#caa35d}.coach-guidance{border-left:4px solid #caa35d;padding:.75rem 1rem;margin:.6rem 0;background:#fff}.coach-guidance.critical{border-color:#9e2f2f;background:#fff6f6}.coach-guidance button,.dashboard-list-item,.stakeholder-card li button{background:none;border:0;padding:0;color:inherit;text-align:left;cursor:pointer;width:100%}.score-preview{margin-top:1rem;padding:1rem;border-radius:12px;background:#f5f7fa;display:flex;justify-content:space-between;gap:1rem}.checkbox-label{display:flex;gap:.6rem;align-items:center;margin:.75rem 0}.checkbox-label input{width:auto}.advanced-risk-fields{display:block}@media(max-width:760px){.risk-grid{grid-template-columns:repeat(5,minmax(58px,1fr));gap:.25rem}.risk-cell{min-height:82px;padding:.35rem}.risk-cell small{display:none}.summary-metrics{grid-template-columns:1fr}.risk-heatmap{padding-left:1.5rem}}

/* PM Hub 30 — Risk Management Workspace UX refactor */
.risk-workspace-page .stakeholder-suite-section{background:linear-gradient(180deg,#f4f6f9 0,#f8fafc 100%)}
.risk-workspace-page .stakeholder-toolbar{border:1px solid #dfe5ec;box-shadow:0 12px 30px rgba(7,20,38,.06);border-radius:16px}
.risk-workspace-page .stakeholder-project-panel{border-color:#dfe5ec;box-shadow:0 8px 22px rgba(7,20,38,.035)}
.risk-workspace-shell{grid-template-columns:180px minmax(0,1fr);gap:1.15rem;align-items:start}
.risk-sidebar{background:#071426;border:0;border-radius:16px;padding:.8rem;box-shadow:0 18px 40px rgba(7,20,38,.18);overflow:hidden}
.risk-sidebar-label{margin:.2rem .55rem .75rem;color:#aeb9c9;font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.risk-sidebar [role=tablist]{display:grid;gap:.2rem}
.risk-sidebar [role=tab]{position:relative;border:0!important;background:transparent!important;color:#d7dfeb!important;text-align:left;padding:.72rem .72rem .72rem 1rem!important;border-radius:9px!important;font-size:.84rem!important;font-weight:650;line-height:1.25;box-shadow:none!important}
.risk-sidebar [role=tab]::before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:999px;background:#d2ae68;transform:translateY(-50%);transition:height .16s ease}
.risk-sidebar [role=tab]:hover{background:rgba(255,255,255,.065)!important;color:#fff!important}
.risk-sidebar [role=tab][aria-selected=true]{background:rgba(210,174,104,.13)!important;color:#fff!important}
.risk-sidebar [role=tab][aria-selected=true]::before{height:62%}
.risk-sidebar-footer{border-top:1px solid rgba(255,255,255,.12);margin-top:.7rem;padding:.7rem .55rem .15rem}
.risk-sidebar-footer .text-button{font-size:.75rem;color:#efb8b8;text-decoration:none}
.risk-workspace-page .stakeholder-panel{border:1px solid #dfe5ec;border-radius:16px;box-shadow:0 14px 35px rgba(7,20,38,.045);padding:1.25rem}
.risk-workspace-page .stakeholder-panel-heading{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #edf1f5}
.risk-workspace-page .stakeholder-panel-heading h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.035em}
.risk-kpis{grid-template-columns:repeat(4,minmax(145px,1fr));margin-bottom:1rem}
.risk-kpis .stakeholder-kpi{position:relative;min-height:110px;border:1px solid #e0e6ed;border-left:0;background:#fff;padding:1rem 1rem .9rem;border-radius:13px;box-shadow:0 8px 20px rgba(7,20,38,.04)}
.risk-kpis .stakeholder-kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:13px 13px 0 0;background:#c9a96a}
.risk-kpis .stakeholder-kpi strong{font-size:1.7rem;letter-spacing:-.025em}
.risk-dashboard-primary{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:1rem;margin:1rem 0}
.risk-dashboard-primary .stakeholder-card,.risk-dashboard-secondary .stakeholder-card,.risk-coach-card{border:1px solid #dfe5ec;border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(7,20,38,.04);padding:1rem}
.risk-heatmap-card{min-width:0}
.risk-heatmap-compact{max-width:none;margin:.35rem 0 0;padding:1.55rem .2rem .15rem 2.35rem}
.risk-heatmap-compact .risk-grid{gap:.3rem}
.risk-heatmap-compact .risk-cell{min-height:76px;border-radius:8px;padding:.42rem}
.risk-heatmap-compact .risk-cell strong{font-size:1.35rem}
.risk-heatmap-compact .risk-cell small{display:none}
.risk-coach-card{margin:0;background:linear-gradient(180deg,#0b213d 0,#071426 100%);color:#fff;border-color:#0d2e53}
.risk-coach-card .eyebrow,.risk-coach-card h3{color:#f1d49b}
.risk-coach-card p{color:#c7d1de}
.risk-coach-card .coach-guidance{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-left:3px solid #d2ae68;color:#fff;border-radius:9px;padding:.72rem .78rem}
.risk-coach-card .coach-guidance.critical{background:rgba(152,30,30,.22);border-left-color:#ff8f8f}
.risk-coach-card .coach-guidance p{margin:.25rem 0 .35rem;font-size:.76rem}
.risk-coach-card .coach-guidance button{color:#f1d49b;font-size:.72rem;font-weight:800}
.risk-dashboard-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.risk-attention-card{grid-column:span 2}
.risk-top-card{grid-row:span 2}
.risk-attention-list,.risk-top-card>div:last-child{display:grid;gap:.5rem}
.risk-attention-list>button,.risk-top-row{display:grid;width:100%;border:1px solid #e4e9ef;background:#fff;border-radius:10px;padding:.72rem;text-align:left;cursor:pointer;align-items:center;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.risk-attention-list>button{grid-template-columns:8px minmax(0,1fr) auto;gap:.7rem}
.risk-attention-list>button:hover,.risk-top-row:hover{border-color:#bdc9d7;background:#f8fafc;transform:translateY(-1px)}
.risk-alert-marker{width:8px;height:34px;border-radius:999px;background:#d6a000}
.risk-alert-marker.critical{background:#b42318}
.risk-attention-list strong,.risk-attention-list small,.risk-top-copy strong,.risk-top-copy small{display:block}
.risk-attention-list small,.risk-top-copy small{margin-top:.18rem;color:#657286;font-size:.73rem;line-height:1.35}
.risk-open-arrow{color:#718096;font-weight:800}
.risk-top-row{grid-template-columns:42px minmax(0,1fr) auto;gap:.7rem}
.risk-rank-score{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#edf2f7;color:#071426;font-weight:850}
.risk-rank-score.critical{background:#fee4e2;color:#b42318}.risk-rank-score.high{background:#fff0d5;color:#9a5b00}.risk-rank-score.medium{background:#fff7cc;color:#776300}.risk-rank-score.low{background:#e5f4ea;color:#217a42}
.risk-empty-compact{padding:1rem;border:1px dashed #cfd8e3;border-radius:10px;text-align:center;color:#64748b}.risk-empty-compact strong,.risk-empty-compact span{display:block}.risk-empty-compact span{margin-top:.2rem;font-size:.75rem}
.risk-workspace-page .summary-metrics{gap:.55rem}
.risk-workspace-page .summary-metrics .stakeholder-kpi{border:1px solid #e5eaf0;border-radius:9px;background:#f8fafc;padding:.7rem;box-shadow:none}
.risk-workspace-page .summary-metrics .stakeholder-kpi strong{font-size:1.02rem}
.risk-workspace-page .distribution-row{display:flex;justify-content:space-between;align-items:center;padding:.58rem 0;border-bottom:1px solid #edf1f5}
.risk-workspace-page .dashboard-list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem 0;border-bottom:1px solid #edf1f5}
.risk-workspace-page .completion-meter p{color:#66758a;font-size:.76rem}
.risk-workspace-page .stakeholder-table thead th{background:#0b2748;color:#fff;border-color:#27435f}
.risk-workspace-page .stakeholder-table tbody tr:hover{background:#f7f9fc}
.risk-workspace-page .stakeholder-filter-bar{border:1px solid #e2e7ed;background:#f7f9fc;border-radius:12px}
@media(max-width:1180px){.risk-dashboard-primary{grid-template-columns:1fr}.risk-dashboard-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-top-card{grid-row:auto}.risk-attention-card{grid-column:1/-1}.risk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.risk-workspace-shell{display:block}.risk-sidebar{position:static;margin-bottom:1rem}.risk-sidebar-label{display:none}.risk-sidebar [role=tablist]{display:flex;overflow:auto;padding-bottom:.15rem}.risk-sidebar [role=tab]{white-space:nowrap;padding:.68rem .8rem!important}.risk-sidebar [role=tab]::before{left:12%;right:12%;top:auto;bottom:0;width:auto;height:3px!important;transform:none;opacity:0}.risk-sidebar [role=tab][aria-selected=true]::before{opacity:1}.risk-sidebar-footer{display:none}.risk-dashboard-secondary{grid-template-columns:1fr}.risk-attention-card{grid-column:auto}.risk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.risk-kpis{grid-template-columns:1fr}.risk-top-row{grid-template-columns:38px minmax(0,1fr)}.risk-top-row .stakeholder-badge{grid-column:2}.risk-heatmap-compact{padding-left:1.4rem}.risk-heatmap-compact .risk-cell{min-height:58px}.risk-heatmap-compact .risk-cell span{font-size:.65rem}}

/* PM Hub WBS Builder — pmhub-30 */
.wbs-builder-section{background:#f4f7fb}.wbs-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;background:#fff;border:1px solid #dce5ef;border-radius:14px;margin-bottom:1rem;box-shadow:0 10px 28px rgba(7,20,38,.06)}.wbs-toolbar-actions,.wbs-panel-heading .button-row{display:flex;flex-wrap:wrap;gap:.55rem}.wbs-project-panel{background:#fff;border:1px solid #dce5ef;border-radius:14px;margin-bottom:1rem}.wbs-project-panel summary{cursor:pointer;padding:1rem 1.1rem;font-weight:800;color:#0d2a47}.wbs-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;padding:0 1.1rem 1.1rem}.wbs-project-grid label,.wbs-form-grid label,.wbs-search-row label,.wbs-diagram-controls label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700;color:#334155}.wbs-project-grid input,.wbs-project-grid select,.wbs-form-grid input,.wbs-form-grid select,.wbs-form-grid textarea,.wbs-search-row input,.wbs-search-row select,.wbs-table-controls input,.wbs-table-controls select{width:100%;border:1px solid #cbd6e2;border-radius:9px;padding:.72rem .78rem;background:#fff;color:#0f172a;font:inherit}.wbs-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;align-items:start}.wbs-sidebar{position:sticky;top:110px;max-height:calc(100vh - 130px);overflow-y:auto;background:#0d2a47;border-radius:14px;padding:.75rem;box-shadow:0 14px 34px rgba(7,20,38,.16)}.wbs-sidebar [role=tablist]{display:grid;gap:.35rem}.wbs-sidebar [role=tab]{border:0;background:transparent;color:#dce7f2;padding:.78rem .85rem;text-align:left;border-radius:8px;font-weight:700;cursor:pointer}.wbs-sidebar [role=tab]:hover,.wbs-sidebar [role=tab].is-active,.wbs-sidebar [role=tab][aria-selected=true]{background:#fff;color:#0d2a47}.wbs-sidebar .text-button{width:100%;margin-top:.8rem;color:#ffb7b7}.wbs-panels{min-width:0}.wbs-panel{background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:1.15rem;min-width:0}.wbs-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.wbs-panel-heading h2{margin:.05rem 0 .25rem}.wbs-panel-heading p{margin:0;color:#5d6b7c}.wbs-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.wbs-kpis article,.wbs-quality-summary article{border:1px solid #dce5ef;border-radius:11px;padding:.85rem;background:#f9fbfd}.wbs-kpis span,.wbs-quality-summary span{display:block;color:#64748b;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.wbs-kpis strong,.wbs-quality-summary strong{display:block;color:#0d2a47;font-size:1.35rem;margin-top:.25rem}.wbs-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.wbs-card{border:1px solid #dce5ef;border-radius:12px;padding:1rem;min-width:0}.wbs-card h3{margin-top:0}.wbs-card-wide{grid-column:1/-1}.wbs-attention-list,.wbs-validation-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.wbs-attention-list li,.wbs-validation-list li{display:flex;gap:.8rem;align-items:flex-start;border-left:4px solid #94a3b8;background:#f8fafc;border-radius:8px;padding:.72rem}.wbs-attention-list li.critical,.wbs-validation-list li.critical{border-color:#b42318;background:#fff3f2}.wbs-attention-list li.warning,.wbs-validation-list li.warning{border-color:#b7791f;background:#fffaf0}.wbs-attention-list li.information,.wbs-validation-list li.information{border-color:#2b6cb0;background:#f0f7ff}.wbs-attention-list strong,.wbs-validation-list strong{display:block}.wbs-attention-list span,.wbs-validation-list span{display:block;color:#5d6b7c;font-size:.88rem}.wbs-attention-list button,.wbs-validation-list button,.wbs-dictionary-heading button{margin-left:auto;border:0;background:transparent;color:#0d5a8c;font-weight:800;cursor:pointer}.wbs-bars{display:grid;gap:.7rem}.wbs-bars>div{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,2fr) auto;align-items:center;gap:.55rem;font-size:.82rem}.wbs-bars>div>div{height:9px;background:#e8edf3;border-radius:99px;overflow:hidden}.wbs-bars i{display:block;height:100%;background:#c9a227;border-radius:99px}.wbs-search-row,.wbs-table-controls{display:grid;grid-template-columns:2fr 1fr;gap:.75rem;margin-bottom:.85rem}.wbs-tree{display:grid;gap:.35rem;min-width:0}.wbs-tree-node{min-width:0}.wbs-tree-row{display:grid;grid-template-columns:30px 70px minmax(180px,1fr) auto auto auto;align-items:center;gap:.5rem;padding:.5rem .55rem .5rem calc(.55rem + (var(--wbs-level) - 1)*22px);border:1px solid #e1e8f0;border-radius:9px;background:#fff}.wbs-tree-node.is-drop-target>.wbs-tree-row{outline:3px solid rgba(201,162,39,.35);border-color:#c9a227}.wbs-tree-node.is-dragging{opacity:.45}.wbs-tree-toggle{border:0;background:transparent;font-size:1rem;cursor:pointer}.wbs-tree-toggle:disabled{cursor:default;color:#aab5c1}.wbs-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;color:#0d5a8c}.wbs-tree-title{border:0;background:transparent;text-align:left;min-width:0;cursor:pointer;color:#0f172a}.wbs-tree-title strong,.wbs-tree-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbs-tree-title small{font-size:.75rem;color:#64748b;margin-top:.15rem}.wbs-status{font-size:.7rem;font-weight:800;border-radius:99px;padding:.28rem .55rem;white-space:nowrap;background:#e8edf3}.wbs-status.status-complete{background:#dcfce7;color:#166534}.wbs-status.status-in-progress{background:#dbeafe;color:#1d4ed8}.wbs-status.status-on-hold{background:#fee2e2;color:#991b1b}.wbs-warning-count{width:24px;height:24px;display:grid;place-items:center;background:#fff4cc;color:#8a5800;border-radius:50%;font-size:.72rem;font-weight:900}.wbs-node-actions{display:flex;gap:.35rem}.wbs-node-actions button,.wbs-more-menu button,.table-action{border:1px solid #d4dde7;background:#fff;border-radius:7px;padding:.36rem .52rem;font-size:.75rem;font-weight:700;cursor:pointer}.wbs-more-menu{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 .35rem calc(110px + (var(--wbs-level,1) - 1)*22px);padding:.5rem;background:#f7f9fc;border-radius:8px}.wbs-more-menu button.danger{color:#b42318}.wbs-empty{padding:2.5rem 1rem;text-align:center;border:1px dashed #b9c7d6;border-radius:12px;background:#f9fbfd}.wbs-table-wrap{overflow:auto;max-width:100%;border:1px solid #dce5ef;border-radius:10px}.wbs-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.78rem}.wbs-table th,.wbs-table td{padding:.65rem;border-bottom:1px solid #e5ebf2;text-align:left;vertical-align:top;max-width:240px}.wbs-table th{position:sticky;top:0;background:#0d2a47;color:#fff;z-index:1}.wbs-table td small{display:block;color:#64748b;margin-top:.2rem}.wbs-dictionary-entry{border:1px solid #dce5ef;border-radius:12px;margin-bottom:.8rem;overflow:hidden}.wbs-dictionary-heading{display:flex;align-items:center;gap:.65rem;background:#0d2a47;color:#fff;padding:.75rem .85rem}.wbs-dictionary-heading span{font-family:ui-monospace,monospace;color:#e8c865}.wbs-dictionary-heading h3{margin:0;flex:1}.wbs-dictionary-heading button{color:#fff}.wbs-dictionary-entry dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.wbs-dictionary-entry dl>div{padding:.75rem;border-bottom:1px solid #e5ebf2}.wbs-dictionary-entry dt{font-size:.72rem;text-transform:uppercase;color:#64748b;font-weight:800}.wbs-dictionary-entry dd{margin:.25rem 0 0;color:#1e293b;white-space:pre-wrap}.wbs-diagram-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:.8rem;padding:.75rem;background:#f7f9fc;border-radius:9px}.wbs-diagram-controls label:first-child{grid-template-columns:auto minmax(140px,280px) auto;align-items:center}.wbs-diagram-wrap{overflow:auto;border:1px solid #dce5ef;border-radius:11px;background:#f8fafc;min-height:300px}.wbs-diagram-wrap svg{display:block;max-width:none}.wbs-quality-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.wbs-quality-summary small{display:block;color:#64748b}.wbs-quality-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:.9rem}.wbs-quality-grid form{display:grid;gap:.65rem}.wbs-quality-grid form label{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;color:#334155}.wbs-quality-pass{padding:1rem;border-radius:9px;background:#edf9f0;color:#166534}.wbs-dialog{width:min(860px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;border:0;border-radius:15px;padding:0;box-shadow:0 30px 80px rgba(7,20,38,.28)}.wbs-dialog::backdrop{background:rgba(7,20,38,.66)}.wbs-dialog-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #dce5ef}.wbs-dialog-header h2{margin:.05rem 0}.wbs-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem 1.15rem}.wbs-form-grid .full-width{grid-column:1/-1}.wbs-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.15rem;border-top:1px solid #dce5ef}.wbs-export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1.2rem}.muted{color:#64748b}
@media(max-width:1050px){.wbs-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wbs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wbs-tree-row{grid-template-columns:28px 62px minmax(160px,1fr) auto}.wbs-status,.wbs-warning-count{display:none}.wbs-node-actions{grid-column:3/-1;justify-content:flex-end}.wbs-quality-grid{grid-template-columns:1fr}}
@media(max-width:820px){.wbs-toolbar,.wbs-panel-heading{align-items:stretch;flex-direction:column}.wbs-workspace{grid-template-columns:1fr}.wbs-sidebar{position:static;max-height:none;overflow:visible}.wbs-sidebar [role=tablist]{display:flex;overflow-x:auto}.wbs-sidebar [role=tab]{white-space:nowrap}.wbs-dashboard-grid{grid-template-columns:1fr}.wbs-card-wide{grid-column:auto}.wbs-dictionary-entry dl{grid-template-columns:1fr}.wbs-quality-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.wbs-project-grid,.wbs-form-grid,.wbs-kpis,.wbs-quality-summary,.wbs-search-row,.wbs-table-controls,.wbs-export-grid{grid-template-columns:1fr}.wbs-form-grid .full-width{grid-column:auto}.wbs-toolbar-actions .button{width:100%}.wbs-tree-row{grid-template-columns:26px 52px minmax(0,1fr);padding-left:.35rem}.wbs-node-actions{grid-column:1/-1;justify-content:flex-start;padding-left:78px}.wbs-tree-title strong,.wbs-tree-title small{white-space:normal}.wbs-more-menu{margin-left:0}.wbs-bars>div{grid-template-columns:1fr}.wbs-bars>div>div{width:100%}.wbs-panel{padding:.8rem}.wbs-dialog{width:calc(100% - 1rem);max-height:calc(100vh - 1rem)}}

/* PM Hub 31 — RACI Matrix Builder */
.raci-builder-section{background:linear-gradient(180deg,#f4f6f9,#fff)}.raci-toolbar,.raci-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.raci-toolbar{position:sticky;top:78px;z-index:6;background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem;box-shadow:0 10px 26px rgba(7,20,38,.06)}.raci-toolbar-actions{display:flex;flex-wrap:wrap;gap:.45rem}.raci-project-panel{border:1px solid #dce5ef;border-radius:12px;background:#fff;margin-bottom:1rem;padding:.3rem 1rem 1rem}.raci-project-panel summary{cursor:pointer;font-weight:800;padding:.75rem 0}.raci-project-grid,.raci-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.raci-project-grid label,.raci-form-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:700}.raci-project-grid input,.raci-form-grid input,.raci-form-grid select,.raci-form-grid textarea,.raci-filter-row input,.raci-filter-row select{width:100%;border:1px solid #cfd9e4;border-radius:8px;padding:.65rem;font:inherit;background:#fff}.raci-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1rem;align-items:start}.raci-sidebar{position:sticky;top:155px;background:#071426;border-radius:15px;padding:.75rem;max-height:calc(100vh - 175px);overflow:auto}.raci-sidebar [role=tablist]{display:grid;gap:.2rem}.raci-sidebar [role=tab]{border:0;background:transparent;color:#d7dfeb;text-align:left;padding:.72rem .8rem;border-radius:8px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.raci-sidebar [role=tab][aria-selected=true]{background:rgba(201,162,39,.16);color:#fff;box-shadow:inset 3px 0 #c9a227}.raci-sidebar .danger{display:block;margin:.8rem .7rem .2rem;color:#f2b7b7}.raci-panel{min-width:0;background:#fff;border:1px solid #dce5ef;border-radius:15px;padding:1.15rem;box-shadow:0 12px 30px rgba(7,20,38,.05)}.raci-panel-heading{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #edf1f5}.raci-panel-heading h2{margin:.1rem 0;font-size:clamp(2rem,3vw,3rem)}.raci-panel-heading p{margin:.25rem 0;color:#64748b}.raci-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}.raci-legend span{border:1px solid #dce5ef;border-radius:999px;padding:.35rem .6rem;font-size:.73rem;background:#f8fafc}.raci-legend strong{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0d2a47;color:#fff;margin-right:.25rem}.raci-filter-row{display:grid;grid-template-columns:minmax(240px,1fr) 250px;gap:.65rem;margin-bottom:.8rem}.raci-matrix-wrap,.raci-table-wrap{overflow:auto;max-width:100%;border:1px solid #dce5ef;border-radius:10px}.raci-matrix,.raci-register{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.76rem}.raci-matrix th,.raci-matrix td,.raci-register th,.raci-register td{border-bottom:1px solid #e5ebf2;border-right:1px solid #eef2f6;padding:.58rem;text-align:left;vertical-align:middle}.raci-matrix thead th,.raci-register thead th{position:sticky;top:0;z-index:2;background:#0d2a47;color:#fff}.raci-matrix thead th small,.raci-matrix .sticky-col small,.raci-register td small{display:block;font-weight:400;opacity:.8;margin-top:.15rem}.raci-matrix .sticky-col{position:sticky;left:0;z-index:3;min-width:230px;max-width:300px;background:#f8fafc}.raci-matrix thead .sticky-col{z-index:4;background:#0d2a47}.raci-matrix .sticky-col button{display:block;border:0;background:none;text-align:left;font:inherit;font-weight:800;color:#0f172a;cursor:pointer}.raci-code{font-family:ui-monospace,monospace;color:#0d5a8c;font-weight:800}.raci-matrix select{width:52px;height:38px;border:1px solid #cfd9e4;border-radius:8px;text-align:center;font-weight:900;background:#fff}.raci-issue-badge{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fee2e2;color:#991b1b;font-weight:900}.raci-ok{color:#166534;font-weight:900}.raci-empty{padding:2.5rem;text-align:center;background:#f8fafc}.raci-kpis,.raci-quality-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:.65rem;margin-bottom:1rem}.raci-kpi{border:1px solid #dde6ef;border-radius:11px;padding:.85rem;background:#fff}.raci-kpi span,.raci-kpi small{display:block;color:#64748b;font-size:.72rem}.raci-kpi strong{display:block;font-size:1.55rem;color:#0d2a47;margin:.2rem 0}.raci-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.raci-card{border:1px solid #dde6ef;border-radius:11px;padding:1rem;min-width:0}.raci-card-wide{grid-column:1/-1}.raci-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.raci-attention-list button{border:1px solid #e2e8f0;border-left:4px solid #b42318;background:#fff;border-radius:9px;padding:.7rem;text-align:left;cursor:pointer}.raci-attention-list span{display:block;color:#64748b;font-size:.75rem;margin-top:.2rem}.raci-bars{display:grid;gap:.55rem}.raci-bars>div{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 35px;gap:.5rem;align-items:center;font-size:.74rem}.raci-bars>div>div{height:9px;background:#edf1f5;border-radius:999px;overflow:hidden}.raci-bars i{display:block;height:100%;background:#c9a227}.raci-findings{display:grid;gap:.55rem}.raci-findings article{border:1px solid #e2e8f0;border-left:4px solid #b7791f;border-radius:9px;padding:.75rem}.raci-findings article.critical{border-left-color:#b42318}.raci-findings p{margin:.25rem 0;color:#64748b}.raci-findings button{border:0;background:none;color:#0d5a8c;font-weight:800;cursor:pointer}.raci-pass{padding:1rem;border-radius:9px;background:#edf9f0;color:#166534}.raci-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.raci-review-grid article{border:1px solid #dde6ef;border-radius:10px;padding:.85rem}.raci-review-grid span{display:block;color:#64748b;font-size:.72rem}.raci-review-grid strong{font-size:1.15rem;color:#0d2a47}.raci-release-warning{margin-top:1rem;padding:1rem;border-left:4px solid #b7791f;background:#fff8e8}.raci-export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.raci-dialog{width:min(820px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;border:0;border-radius:15px;padding:0;box-shadow:0 30px 80px rgba(7,20,38,.28)}.raci-dialog::backdrop{background:rgba(7,20,38,.66)}.raci-dialog-header{display:flex;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid #dce5ef}.raci-dialog-header h2{margin:.1rem 0}.raci-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem 1.15rem}.raci-form-grid .full-width{grid-column:1/-1}.raci-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.15rem;border-top:1px solid #dce5ef}.table-action.danger{color:#b42318}
@media(max-width:1100px){.raci-kpis,.raci-quality-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.raci-dashboard-grid{grid-template-columns:1fr 1fr}.raci-card-wide{grid-column:1/-1}}
@media(max-width:820px){.raci-toolbar,.raci-panel-heading{flex-direction:column;align-items:stretch}.raci-workspace{grid-template-columns:1fr}.raci-sidebar{position:static;max-height:none}.raci-sidebar [role=tablist]{display:flex;overflow-x:auto}.raci-sidebar [role=tab]{white-space:nowrap}.raci-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.raci-attention-list{grid-template-columns:1fr}.raci-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.raci-toolbar-actions .button{width:100%}.raci-project-grid,.raci-form-grid,.raci-filter-row,.raci-kpis,.raci-quality-summary,.raci-dashboard-grid,.raci-review-grid,.raci-export-grid{grid-template-columns:1fr}.raci-form-grid .full-width{grid-column:auto}.raci-panel{padding:.8rem}.raci-dialog{width:calc(100% - 1rem)}.raci-matrix .sticky-col{min-width:180px}}

/* Milestone Roadmap Builder */
.milestone-builder-section{background:#f5f7fa}.ms-toolbar,.ms-project-grid,.ms-workspace,.ms-panel-heading,.ms-filter-row,.ms-dialog-header,.ms-dialog-actions{display:flex;gap:1rem}.ms-toolbar{justify-content:space-between;align-items:center;background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:1rem 1.2rem;margin-bottom:1rem;flex-wrap:wrap}.connected-project-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.ms-toolbar-actions{display:flex;gap:.6rem;flex-wrap:wrap}.ms-project-panel{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:1rem;margin-bottom:1rem}.ms-project-panel summary{font-weight:700;color:#0d2a47;cursor:pointer}.ms-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.ms-project-grid label,.ms-form-grid label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#334155}.ms-project-grid input,.ms-form-grid input,.ms-form-grid select,.ms-form-grid textarea,.ms-filter-row input,.ms-filter-row select,.ms-panel-heading select{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:.68rem;background:#fff;color:#0f172a}.ms-workspace{align-items:flex-start}.ms-sidebar{position:sticky;top:92px;width:220px;flex:0 0 220px;background:#0d2a47;border-radius:14px;padding:.7rem;max-height:calc(100vh - 115px);overflow:auto}.ms-sidebar [role=tablist]{display:grid;gap:.3rem}.ms-sidebar [role=tab]{border:0;background:transparent;color:#d9e3ec;text-align:left;padding:.78rem;border-radius:8px;cursor:pointer}.ms-sidebar [role=tab][aria-selected=true]{background:#c9a227;color:#071426;font-weight:700}.ms-sidebar .danger{color:#fecaca;margin-top:1rem}.ms-panels{min-width:0;flex:1}.ms-panel{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:1.25rem}.ms-panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}.ms-panel-heading h2{margin:.1rem 0}.ms-filter-row{margin-bottom:1rem;flex-wrap:wrap}.ms-filter-row input{flex:2 1 260px}.ms-filter-row select{flex:1 1 170px}.ms-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.ms-register{width:100%;border-collapse:collapse;min-width:1050px}.ms-register th{position:sticky;top:0;background:#0d2a47;color:#fff;text-align:left;padding:.72rem;font-size:.82rem}.ms-register td{padding:.7rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.ms-register td small{display:block;color:#64748b;margin-top:.25rem}.ms-badge{display:inline-block;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;background:#e2e8f0;color:#334155}.ms-achieved{background:#dcfce7;color:#166534}.ms-on-track{background:#dbeafe;color:#1d4ed8}.ms-at-risk{background:#fef3c7;color:#92400e}.ms-delayed{background:#fee2e2;color:#991b1b}.ms-on-hold{background:#ede9fe;color:#5b21b6}.ms-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.ms-kpis article,.ms-quality-summary article{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#f8fafc}.ms-kpis span,.ms-quality-summary span{display:block;color:#64748b;font-size:.8rem}.ms-kpis strong,.ms-quality-summary strong{display:block;color:#0d2a47;font-size:1.7rem;margin-top:.2rem}.ms-dashboard-grid,.ms-exec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ms-card{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fff}.ms-card-wide{grid-column:1/-1}.ms-attention-item{display:grid;grid-template-columns:1.5fr auto;gap:.3rem .8rem;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.ms-attention-item small{grid-column:1/-1;color:#64748b}.ms-bars{display:grid;gap:.7rem}.ms-bars>div{display:grid;grid-template-columns:minmax(90px,1fr) 3fr auto;gap:.6rem;align-items:center;font-size:.82rem}.ms-bars i{height:10px;border-radius:999px;background:linear-gradient(90deg,#0d2a47 var(--bar),#e2e8f0 var(--bar))}.ms-roadmap-group{border-left:4px solid #c9a227;padding-left:1rem;margin-bottom:1.5rem}.ms-roadmap-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(260px,2fr) auto;gap:1rem;align-items:center;border-bottom:1px solid #e2e8f0;padding:.75rem 0}.ms-roadmap-row small{display:block;color:#64748b}.ms-roadmap-dates{display:flex;gap:.5rem;flex-wrap:wrap}.ms-roadmap-dates span{background:#f1f5f9;border-radius:6px;padding:.3rem .5rem;font-size:.78rem}.ms-dependency-card{margin-bottom:.8rem}.ms-quality-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.ms-finding{border-left:4px solid #94a3b8;padding:.75rem 1rem;margin:.5rem 0;background:#f8fafc}.ms-finding.ms-critical{border-color:#dc2626}.ms-finding.ms-warning{border-color:#d97706}.ms-finding.ms-info{border-color:#2563eb}.ms-finding span{display:block;color:#475569}.ms-finding p{margin:.25rem 0 0}.ms-readiness{border-radius:12px;padding:1.2rem;margin-bottom:1rem}.ms-readiness.ready{background:#ecfdf5;border:1px solid #86efac}.ms-readiness.not-ready{background:#fff7ed;border:1px solid #fdba74}.ms-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.ms-dialog{width:min(900px,94vw);border:0;border-radius:16px;padding:0}.ms-dialog::backdrop{background:rgba(2,6,23,.68)}.ms-dialog form{padding:1.3rem}.ms-dialog-header{justify-content:space-between}.ms-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1rem 0}.ms-span-2{grid-column:1/-1}.ms-check{flex-direction:row!important;align-items:center;margin-top:1.55rem}.ms-check input{width:auto}.ms-dialog-actions{justify-content:flex-end}.empty-state{text-align:center;color:#64748b;padding:2rem!important}
@media(max-width:900px){.ms-project-grid,.ms-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-workspace{display:block}.ms-sidebar{position:static;width:auto;max-height:none;margin-bottom:1rem}.ms-sidebar [role=tablist]{display:flex;overflow:auto}.ms-sidebar [role=tab]{white-space:nowrap}.ms-dashboard-grid,.ms-exec-grid{grid-template-columns:1fr}.ms-roadmap-row{grid-template-columns:1fr}.ms-card-wide{grid-column:auto}}
@media(max-width:600px){.ms-project-grid,.ms-kpis,.ms-quality-summary,.ms-export-grid,.ms-form-grid{grid-template-columns:1fr}.ms-span-2{grid-column:auto}.ms-panel{padding:.85rem}.ms-toolbar-actions .button{flex:1 1 140px}}


/* Article publishing system */
.featured-article-section{background:#f5f7fa}.featured-article-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);background:#fff;border:1px solid rgba(7,20,38,.1);border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(7,20,38,.08)}.featured-article-image{min-height:360px;display:block;background:#071426}.featured-article-image img{width:100%;height:100%;object-fit:cover;display:block}.featured-article-content{padding:clamp(28px,4vw,54px);display:flex;flex-direction:column;justify-content:center}.featured-article-content h3{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.25;margin:16px 0}.featured-article-content h3 a{color:#071426;text-decoration:none}.featured-article-content p{font-size:1.08rem;line-height:1.9;color:#415064}.text-link{font-weight:700;color:#a97916;text-decoration:none;margin-top:10px}.article-hero{padding:clamp(90px,12vw,150px) 0 110px}.article-hero-inner{max-width:1040px}.article-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:28px;color:#b9c6d6;font-size:.92rem}.article-breadcrumb a{color:#f1c86b;text-decoration:none}.article-hero h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.12;max-width:1050px;margin:14px 0 24px}.article-deck{font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.65;color:#d6e0eb;max-width:850px}.article-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;color:#c3cfda}.article-meta span+span:before{content:'•';margin-left:18px;color:#d6ad4b}.article-hero-media{margin-top:-72px;position:relative;z-index:2}.article-hero-media img{width:100%;border-radius:24px;display:block;box-shadow:0 30px 80px rgba(7,20,38,.24)}.article-layout{display:grid;grid-template-columns:260px minmax(0,780px);gap:clamp(40px,6vw,90px);justify-content:center;padding-top:80px;padding-bottom:100px}.article-sidebar{position:relative}.article-toc{position:sticky;top:110px;border-right:3px solid #d6ad4b;padding:22px 22px 22px 0}.article-toc strong{display:block;margin-bottom:16px;color:#071426}.article-toc ol{margin:0;padding:0 18px 0 0}.article-toc li{margin:0 0 10px;color:#718096}.article-toc a{color:#536174;text-decoration:none;line-height:1.6}.article-toc a:hover{color:#a97916}.article-body{font-family:'Noto Sans Arabic','IBM Plex Sans Arabic',sans-serif}.article-body section{scroll-margin-top:110px;margin-bottom:70px}.article-body h2{font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.35;margin:0 0 24px;color:#071426}.article-body h3{font-size:1.4rem}.article-body p,.article-body li{font-size:1.12rem;line-height:2.05;color:#27384b}.article-lead{font-size:1.38rem!important;font-weight:600;color:#071426!important}.article-summary{background:#eef3f8;border:1px solid #dbe4ed;border-radius:22px;padding:34px}.article-summary h2{font-size:1.7rem}.executive-insight{background:#071426;color:#fff;border-radius:18px;padding:28px 30px;margin:36px 0;border-right:5px solid #d6ad4b}.executive-insight span{display:block;color:#f1c86b;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.executive-insight p{color:#fff!important;margin:0;font-size:1.18rem}.article-question,.article-final-question{padding:30px;border:1px solid #d6ad4b;background:#fffaf0;border-radius:18px;margin:34px 0}.article-question p,.article-final-question p{margin-top:0;color:#6c521f}.article-question strong,.article-final-question strong{font-size:1.25rem;line-height:1.8;color:#071426}.value-chain{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;background:#071426;border-radius:20px;padding:28px;margin:34px 0}.value-chain span{background:#fff;color:#071426;border-radius:999px;padding:10px 16px;font-weight:700}.value-chain b{color:#d6ad4b}.article-framework-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}.article-framework-grid div{padding:22px;background:#f3f6f9;border-radius:14px;border-top:3px solid #d6ad4b}.article-framework-grid strong,.article-framework-grid span{display:block}.article-framework-grid strong{color:#071426}.article-framework-grid span{color:#657386;margin-top:5px}.responsibility-table{border:1px solid #dde4eb;border-radius:16px;overflow:hidden;margin:30px 0}.responsibility-table>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:18px 22px}.responsibility-table>div:nth-child(even){background:#f5f7fa}.responsibility-table strong{color:#071426}.responsibility-table span{color:#46566a;line-height:1.8}.decision-questions{display:grid;gap:12px;margin:28px 0}.decision-questions p{margin:0;padding:18px 22px;background:#f5f7fa;border-right:4px solid #d6ad4b;border-radius:10px}.steering-questions{background:#071426;border-radius:20px;padding:30px 34px;margin:34px 0}.steering-questions h3,.steering-questions li{color:#fff}.steering-questions li{margin-bottom:10px}.article-conclusion{background:#f5f7fa;border-radius:24px;padding:clamp(28px,5vw,52px)}.article-references{border-top:1px solid #dfe5eb;padding-top:32px}.article-footer-nav{display:flex;gap:14px;flex-wrap:wrap;margin-top:50px}.article-final-question span{display:block;color:#6d7a8c}.article-final-question p{font-weight:700;font-size:1.3rem;margin-bottom:8px}.longform-article .eyebrow{letter-spacing:.06em}
@media(max-width:960px){.featured-article-card{grid-template-columns:1fr}.featured-article-image{min-height:260px}.article-layout{grid-template-columns:1fr}.article-sidebar{display:none}.article-hero-media{margin-top:-48px}.article-framework-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.article-hero{padding-bottom:75px}.article-hero-media{margin-top:-34px}.article-hero-media img{border-radius:14px}.article-layout{padding-top:50px}.article-body p,.article-body li{font-size:1.04rem}.article-summary,.article-conclusion{padding:24px}.article-framework-grid{grid-template-columns:1fr}.responsibility-table>div{grid-template-columns:1fr;gap:6px}.value-chain{align-items:stretch;flex-direction:column}.value-chain b{transform:rotate(-90deg);text-align:center}.article-meta span+span:before{display:none}.article-meta{gap:8px 16px}}
