:root {
  --exec-bg: #000;
  --exec-bg-soft: rgba(24, 24, 27, 0.3);
  --exec-surface: #18181b;
  --exec-surface-2: rgba(39, 39, 42, 0.5);
  --exec-line: rgba(255, 255, 255, 0.05);
  --exec-line-strong: rgba(255, 255, 255, 0.12);
  --exec-text: #fff;
  --exec-muted: #9ca3af;
  --exec-accent: #fff;
  --exec-accent-strong: #fff;
  --exec-accent-ink: #000;
  --exec-radius: 1.5rem;
  --exec-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}

html { scroll-behavior: smooth; }

.executive-page {
  margin: 0;
  background: var(--exec-bg);
  color: var(--exec-text);
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-font-smoothing: antialiased;
}

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

.executive-page a:focus-visible,
.executive-page button:focus-visible,
.executive-page summary:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.executive-page .nav { background: transparent; }

.executive-page .nav-link { color: var(--exec-muted); }
.executive-page .nav-link:hover { color: var(--exec-text); }

.executive-page .nav-spacer { height: 5rem; background: var(--exec-bg); }
.executive-page .mm { background: var(--exec-bg); }
.executive-page .mm-link { color: var(--exec-text); }
.executive-page .mm-close { color: var(--exec-text); }
.executive-page .mm-close span { font-size: 1.5rem; font-weight: 300; line-height: 1; }

.exec-nav-phone,
.exec-mobile-phone {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--exec-text);
  font-size: 0.78rem;
  font-weight: 620;
  white-space: nowrap;
}

.exec-nav-phone svg,
.exec-mobile-phone svg {
  width: 30px;
  height: 30px;
  padding: 7px;
  border: 1px solid var(--exec-line-strong);
  border-radius: 999px;
}

.exec-mobile-phone { margin-left: auto; }

.executive-page .nav-burger {
  width: 44px;
  height: 44px;
  padding: 11px;
  border: 0;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.1);
  flex-direction: column;
  gap: 5px;
}

.executive-page .nav-burger span {
  display: block;
  width: 18px;
  height: 1px;
  margin: 0;
  background: var(--exec-text);
}

.exec-shell {
  width: min(100% - 2rem, 1360px);
  margin-inline: auto;
}

.exec-primary,
.exec-button-primary {
  color: #000 !important;
  background: #fff !important;
  border-color: #fff !important;
}

.exec-primary:hover,
.exec-button-primary:hover {
  color: #000 !important;
  background: #e5e7eb !important;
  border-color: #e5e7eb !important;
}

.exec-primary:active,
.exec-button:active { transform: translateY(1px); }

.exec-hero {
  min-height: calc(100dvh - 80px);
  display: grid;
  align-items: center;
  padding: clamp(2.5rem, 4.5vw, 4rem) 0;
  overflow: hidden;
}

.exec-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr);
  gap: clamp(2.5rem, 4.5vw, 5rem);
  align-items: center;
}

.exec-eyebrow {
  display: inline-block;
  margin: 0 0 1.5rem;
  padding: 0.375rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 9999px;
  color: var(--exec-muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.exec-hero h1 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.7rem, 4vw, 4.35rem);
  font-weight: 300;
  letter-spacing: -0.04em;
  line-height: 1.04;
  text-wrap: balance;
}

.exec-hero-lede {
  max-width: 61ch;
  margin: 1.5rem 0 0;
  color: var(--exec-muted);
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.7;
}

.exec-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.75rem;
}

.exec-action-note {
  max-width: 52ch;
  margin: 0.85rem 0 0;
  color: var(--exec-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}

.exec-proof-card {
  max-width: 560px;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-top: 1.75rem;
  padding: 1.1rem 1.35rem;
  border: 1px solid var(--exec-line-strong);
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
}

.exec-proof-icn {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--exec-line-strong);
  border-radius: 50%;
  color: var(--exec-text);
  background: rgba(255, 255, 255, 0.04);
}

.exec-proof-copy { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }

.exec-proof-copy strong {
  color: var(--exec-text);
  font-size: 1.15rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}

.exec-proof-copy span {
  color: var(--exec-muted);
  font-size: 0.95rem;
  line-height: 1.55;
}

.exec-button {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border: 1px solid transparent;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 120ms ease;
}

.exec-button-secondary {
  color: var(--exec-text);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}

.exec-button-primary { font-weight: 600; }

.exec-button-secondary:hover { background: var(--exec-surface); border-color: rgba(255, 255, 255, 0.4); }

.exec-command-map {
  position: relative;
  min-height: 0;
  margin: 0;
  padding: 0;
  isolation: isolate;
}

.exec-map-header {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: max-content minmax(28px, 1fr) max-content;
  align-items: center;
  gap: 0.75rem;
  padding: 0 0.35rem;
}

.exec-map-endpoint {
  display: grid;
  gap: 0.14rem;
}

.exec-map-endpoint-right { text-align: right; }

.exec-map-endpoint strong {
  font-size: 0.74rem;
  font-weight: 650;
  letter-spacing: -0.01em;
}

.exec-map-endpoint small {
  color: var(--exec-muted);
  font-size: 0.59rem;
  line-height: 1.25;
}

.exec-map-route {
  position: relative;
  height: 1px;
  overflow: hidden;
  background: linear-gradient(90deg, var(--exec-line), rgba(255, 255, 255, 0.34), var(--exec-line));
}

.exec-map-route::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -36%;
  width: 36%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.95), transparent);
  animation: exec-route 3.4s cubic-bezier(.16, 1, .3, 1) infinite;
}

.exec-command-art {
  position: relative;
  z-index: 1;
  width: min(100%, 448px);
  margin: -0.1rem auto -0.8rem;
}

.exec-command-art img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 92% 94% at 50% 49%, #000 72%, rgba(0, 0, 0, 0.96) 82%, transparent 100%);
  mask-image: radial-gradient(ellipse 92% 94% at 50% 49%, #000 72%, rgba(0, 0, 0, 0.96) 82%, transparent 100%);
}

.exec-work-rail {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 0.38rem;
  margin-top: -0.2rem;
  padding-inline: 0.65rem;
}

.exec-work-rail span {
  min-width: 0;
  padding: 0;
  color: #858b95;
  font-size: 0.59rem;
  font-weight: 550;
  line-height: 1.2;
  text-align: center;
}

.exec-work-rail span:nth-child(-n + 4) { color: #a1a6af; }

@keyframes exec-route {
  from { transform: translateX(0); opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  to { transform: translateX(380%); opacity: 0; }
}

.exec-section {
  padding: clamp(6rem, 11vw, 10rem) 0;
  border-top: 1px solid var(--exec-line);
}

.exec-section h2,
.exec-close h2 {
  margin: 0;
  font-size: clamp(2.35rem, 4.2vw, 4.6rem);
  font-weight: 300;
  letter-spacing: -0.04em;
  line-height: 1.05;
  text-wrap: balance;
}

.exec-section h3 { letter-spacing: -0.025em; }

.exec-problem-intro { max-width: 1050px; }
.exec-problem-intro h2 { max-width: 22ch; }
.exec-problem-intro > p {
  max-width: 56ch;
  margin: 1.7rem 0 0;
  color: var(--exec-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.exec-drag-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 0.85rem;
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.exec-drag {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.3rem, 2.4vw, 2rem);
  border: 1px solid var(--exec-line);
  border-radius: var(--exec-radius);
  background: var(--exec-surface);
}

.exec-drag-wide { grid-column: span 2; min-height: 150px; }
.exec-drag-tint { background: var(--exec-surface-2); }
.exec-drag-deep { background: #0a0a0a; border-color: var(--exec-line-strong); }
.exec-drag-final { background: #fff; color: #000; border-color: #fff; }

.exec-drag-mark {
  color: #737c89;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.exec-drag-final .exec-drag-mark { color: #4b5563; }
.exec-drag p { max-width: 34ch; margin: 2rem 0 0; font-size: clamp(1.12rem, 1.8vw, 1.48rem); line-height: 1.32; letter-spacing: -0.022em; }
.exec-drag-wide p { max-width: 48ch; }

.exec-model { background: var(--exec-bg-soft); }

.exec-model-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.exec-model-heading { position: sticky; top: 120px; }
.exec-model-heading h2 { max-width: 10ch; }
.exec-model-heading > p:last-child { max-width: 48ch; margin: 1.7rem 0 0; color: var(--exec-muted); line-height: 1.7; }

.exec-operating-sequence { counter-reset: sequence; }

.exec-sequence-item {
  min-height: 190px;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 1.25rem;
  padding: 2rem 0;
  border-bottom: 1px solid var(--exec-line);
}

.exec-sequence-item:first-child { padding-top: 0; }
.exec-sequence-result { border-bottom: 0; }

.exec-sequence-index {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid var(--exec-line-strong);
  border-radius: 9999px;
  color: var(--exec-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
}

.exec-sequence-item h3 { margin: 0; font-size: clamp(1.45rem, 2.2vw, 2rem); font-weight: 570; }
.exec-sequence-item p { max-width: 52ch; margin: 0.85rem 0 0; color: var(--exec-muted); line-height: 1.65; }

.exec-decision-frame {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.exec-decision-media {
  overflow: hidden;
  border: 1px solid var(--exec-line-strong);
  border-radius: var(--exec-radius);
  background: #e9e9e5;
  box-shadow: var(--exec-shadow);
}

.exec-decision-media img { width: 100%; height: auto; display: block; }
.exec-decision-copy h2 { max-width: 9ch; }
.exec-decision-copy > p { max-width: 38ch; margin: 1.5rem 0 0; color: var(--exec-muted); line-height: 1.65; }

.exec-return-list { margin: 2.2rem 0 0; }
.exec-return-list div { padding: 1rem 0; border-bottom: 1px solid var(--exec-line); }
.exec-return-list div:last-child { border-bottom: 0; }
.exec-return-list dt { color: var(--exec-text); font-size: 0.9rem; font-weight: 650; }
.exec-return-list dd { margin: 0.3rem 0 0; color: var(--exec-muted); font-size: 0.9rem; line-height: 1.5; }

.exec-difference { background: var(--exec-bg-soft); }
.exec-difference-lead { max-width: 1040px; }
.exec-difference-lead h2 { max-width: 18ch; }
.exec-difference-lead p { max-width: 62ch; margin: 1.6rem 0 0; color: var(--exec-muted); font-size: 1.05rem; line-height: 1.7; }

.exec-capability-field {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 0.85rem;
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.exec-capability {
  min-height: 280px;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--exec-line);
  border-radius: var(--exec-radius);
  background: var(--exec-surface);
}

.exec-capability-main { grid-row: span 2; min-height: 574px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(145deg, #27272a, #111113 68%); }
.exec-capability-accent { background: #0a0a0a; border-color: var(--exec-line-strong); }
.exec-capability > span { display: block; color: var(--exec-muted); font-size: 0.76rem; font-weight: 600; }
.exec-capability h3 { max-width: 19ch; margin: 1rem 0 0; font-size: clamp(1.45rem, 2.4vw, 2.2rem); font-weight: 560; line-height: 1.08; }
.exec-capability p { max-width: 48ch; margin: 1rem 0 0; color: var(--exec-muted); line-height: 1.6; }

.exec-handoff-heading h2 { max-width: 15ch; }
.exec-handoff-heading p { margin: 1.4rem 0 0; color: var(--exec-muted); font-size: 1.05rem; }

.exec-handoff-map { margin-top: 4rem; }

.exec-handoff-path {
  display: grid;
  grid-template-columns: minmax(150px, 1.2fr) repeat(4, minmax(76px, 1fr) 20px) minmax(76px, 1fr);
  align-items: center;
  min-height: 112px;
  padding: 1.3rem 1.5rem;
  border: 1px solid var(--exec-line);
  border-radius: var(--exec-radius);
}

.exec-handoff-path + .exec-handoff-path { margin-top: 0.85rem; }
.exec-handoff-path strong { font-size: 0.9rem; }
.exec-handoff-path span { color: var(--exec-muted); font-size: 0.82rem; text-align: center; }
.exec-handoff-path i { height: 1px; display: block; background: var(--exec-line-strong); }
.exec-handoff-old { opacity: 0.65; }
.exec-handoff-new { background: var(--exec-surface); border-color: var(--exec-line-strong); }
.exec-handoff-new strong, .exec-handoff-new span { color: var(--exec-text); }
.exec-handoff-new { grid-template-columns: minmax(150px, 1.2fr) repeat(3, minmax(84px, 1fr) 24px) minmax(84px, 1fr); }

.exec-fit { background: var(--exec-bg-soft); }
.exec-fit-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.exec-fit-copy h2 { max-width: 15ch; }
.exec-fit-copy > p { max-width: 52ch; margin: 1.6rem 0 0; color: var(--exec-muted); line-height: 1.7; }

.exec-text-link {
  display: inline-block;
  margin-top: 2rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--exec-accent);
  color: var(--exec-text);
  font-size: 0.92rem;
  font-weight: 650;
  text-decoration: none;
}

.exec-text-link:hover { color: var(--exec-muted); }

.exec-fit-signals { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
.exec-fit-signals p { min-height: 150px; margin: 0; padding: 1.35rem; display: flex; align-items: flex-end; border: 1px solid var(--exec-line); border-radius: var(--exec-radius); background: var(--exec-surface); color: #e5e7eb; line-height: 1.48; }
.exec-fit-signals p:nth-child(2), .exec-fit-signals p:nth-child(3) { background: var(--exec-surface-2); }

.exec-faq-grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: clamp(3rem, 8vw, 8rem); }
.exec-faq-intro h2 { max-width: 10ch; }
.exec-faq-intro p { max-width: 34ch; margin: 1.5rem 0 0; color: var(--exec-muted); line-height: 1.65; }
.exec-faq-item { border-bottom: 1px solid var(--exec-line); }
.exec-faq-item:first-child { border-top: 1px solid var(--exec-line); }
.exec-faq-item summary { position: relative; padding: 1.55rem 2.6rem 1.55rem 0; cursor: pointer; color: var(--exec-text); font-size: 1.08rem; font-weight: 600; list-style: none; }
.exec-faq-item summary::-webkit-details-marker { display: none; }
.exec-faq-item summary::after { content: "+"; position: absolute; right: 0.25rem; top: 1.4rem; color: var(--exec-muted); font-size: 1.4rem; font-weight: 400; }
.exec-faq-item[open] summary::after { content: "-"; }
.exec-faq-item p { max-width: 62ch; margin: -0.3rem 0 0; padding: 0 2.6rem 1.7rem 0; color: var(--exec-muted); line-height: 1.65; }

.exec-close {
  padding: clamp(7rem, 13vw, 12rem) 0;
  border-top: 1px solid var(--exec-line);
  background: var(--exec-bg-soft);
  text-align: center;
}

.exec-close-inner { display: flex; flex-direction: column; align-items: center; }
.exec-close h2 { max-width: 15ch; }
.exec-close p { margin: 1.5rem 0 2rem; color: var(--exec-muted); font-size: 1.05rem; }
.exec-footer { border-top: 1px solid var(--exec-line); background: var(--exec-bg); }

.exec-motion .exec-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 650ms cubic-bezier(.16,1,.3,1), transform 650ms cubic-bezier(.16,1,.3,1);
}

.exec-motion .exec-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1023px) {
  .exec-hero { min-height: auto; }
  .exec-hero-grid { grid-template-columns: 1fr; }
  .exec-hero h1 { max-width: 20ch; }
  .exec-command-map { width: min(100%, 540px); }
  .exec-model-grid, .exec-faq-grid { grid-template-columns: 1fr; }
  .exec-model-heading { position: static; }
  .exec-model-heading h2, .exec-faq-intro h2 { max-width: 15ch; }
  .exec-operating-sequence { margin-top: 1rem; }
  .exec-decision-frame { grid-template-columns: 1fr; }
  .exec-decision-copy { max-width: 700px; }
  .exec-decision-copy h2 { max-width: 14ch; }
  .exec-handoff-path { overflow-x: auto; grid-template-columns: 160px repeat(4, 90px 24px) 90px; }
  .exec-handoff-new { grid-template-columns: 160px repeat(3, 94px 24px) 94px; }
}

@media (max-width: 767px) {
  .exec-shell { width: min(100% - 2rem, 1360px); }
  .exec-hero { padding: 3.2rem 0 4.5rem; }
  .exec-hero-grid { gap: 3.5rem; }
  .exec-hero h1 { max-width: none; font-size: clamp(2.55rem, 12vw, 3.6rem); line-height: 1.01; }
  .exec-hero-lede { font-size: 1rem; line-height: 1.62; }
  .exec-actions { flex-direction: column; align-items: stretch; }
  .exec-button { width: 100%; }
  .exec-proof-card { padding: 1rem 1.1rem; gap: 0.9rem; }
  .exec-command-map { width: min(100%, 370px); margin-inline: auto; }
  .exec-map-header { gap: 0.5rem; padding-inline: 0.15rem; }
  .exec-map-endpoint strong { font-size: 0.66rem; }
  .exec-map-endpoint small { font-size: 0.54rem; }
  .exec-command-art { width: min(100%, 342px); margin-top: -0.05rem; margin-bottom: -0.65rem; }
  .exec-work-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .exec-work-rail span { font-size: 0.53rem; }
  .exec-section { padding: 5.5rem 0; }
  .exec-section h2, .exec-close h2 { font-size: clamp(2.35rem, 11vw, 3.35rem); }
  .exec-drag-grid, .exec-capability-field, .exec-fit-grid, .exec-fit-signals { grid-template-columns: 1fr; }
  .exec-drag-wide { grid-column: auto; }
  .exec-drag { min-height: 170px; }
  .exec-model-grid { gap: 3.5rem; }
  .exec-sequence-item { min-height: 0; grid-template-columns: 42px 1fr; gap: 0.9rem; }
  .exec-capability-main { grid-row: auto; min-height: 360px; }
  .exec-capability { min-height: 250px; }
  .exec-handoff-map { overflow-x: auto; padding-bottom: 0.5rem; }
  .exec-handoff-path { width: max-content; min-width: 760px; }
  .exec-fit-grid { gap: 3.5rem; }
  .exec-fit-signals p { min-height: 130px; }
  .exec-faq-grid { gap: 3.5rem; }
  .exec-close { padding: 7rem 0; }
}

@media (min-width: 768px) {
  .exec-mobile-phone { display: none; }
}

@media (max-width: 359px) {
  .exec-map-header { grid-template-columns: max-content minmax(18px, 1fr) max-content; gap: 0.38rem; }
  .exec-map-endpoint strong { font-size: 0.61rem; }
  .exec-map-endpoint small { font-size: 0.5rem; }
  .exec-command-art { width: min(100%, 292px); margin-bottom: -0.5rem; }
  .exec-work-rail { row-gap: 0.32rem; padding-inline: 0; }
  .exec-work-rail span { font-size: 0.49rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .exec-map-route::after { animation: none; display: none; }
  .exec-motion .exec-reveal { opacity: 1; transform: none; transition: none; }
  .exec-button { transition: none; }
}
